找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: jiangssli

数控车高级宏程序逻辑运用的题目

 火... [复制链接]
发表于 2013-8-27 07:59:55 | 显示全部楼层
很不错的帖子!!!
发表于 2013-8-27 08:03:35 | 显示全部楼层
感谢分享
发表于 2013-8-27 08:04:18 | 显示全部楼层
主要是学思路、。。其实宏做到最后都差不多
发表于 2013-8-27 10:48:30 | 显示全部楼层
#10是代表什么?  g4 \6 c9 @# ?6 N$ r
4 d, a; g7 D, J- S9 G  z
发表于 2013-8-27 13:06:06 | 显示全部楼层
本帖最后由 mcsino 于 2013-8-27 14:00 编辑
) e2 r1 Z  ~* b4 b+ Y6 Z, S; G( L2 |+ r: ?. E  ^' _/ E
不用这么复杂吧,既然有人挖,我写点简单的 1~9个槽应该随便切(如果需要切10个以上的槽,适当增加变量即可),也不需要逻辑运算,位运算,也许有错,没深究& D" h$ \2 q$ D& H0 L) f% o! e7 {
#20=#200
While 1>0 do1
#20=#20/10
#33= FIX[#20]
#32=#20-FIX[#20]*10
IF[ #33==0 and #32<1] goto 1
#30=#1-(#32-1)*10-#3
g0 z#30
g1 x40 f#7
g0 x52
end1
n1  m99
#1 z向第一个槽起点, #3槽刀宽

点评

呵呵,学习用的嘛,再加几段就可以避免出错了,大侠(不叫大师了)帮我看一下这样行不行  发表于 2013-8-28 18:23
擦.....不要叫什么大师 我出这个题目的意义在于锻炼思路和算法,不是真的做这样的产品..但是实际中也许会遇到类似的问题....加工中心上就有像这样加工的产品...你的程序没有容错性......  发表于 2013-8-27 19:58
大师的本意不是要切1和5?  发表于 2013-8-27 17:20
这种不按规矩出牌的,会做一些无用功,还是切1和5  发表于 2013-8-27 16:53
#200=15151的时候,你打算切哪几个槽??  发表于 2013-8-27 16:47
你觉得他是什么意思呢?  发表于 2013-8-27 15:26
你没看懂LZ的意思  发表于 2013-8-27 15:24
发表于 2013-8-27 14:42:46 | 显示全部楼层
呵呵!用子程序不快一些吗!?
发表于 2013-8-27 19:47:35 | 显示全部楼层
看不懂,但是学习了
发表于 2013-8-28 18:44:50 | 显示全部楼层
本帖最后由 mcsino 于 2013-8-28 18:53 编辑
8 T9 `6 p: s" i, V7 ?5 u0 F  L8 h: m
4 K( Y1 U9 ~0 B$ f! C#17=0) g+ V) o8 {5 @7 C
#19=1
#20=#200
While 1>0 do1
#20=#20/10
#33= FIX[#20]
#32=#20-FIX[#20]*10
IF[ #33==0 and #32<1] goto 1
#18=#32
WHILE #18>0 do2
#19=#19*2
#18=#18-1
end2
if #17 and #19 goto2;判断当前槽是否已经加工,已加工则跳转
#17=#17+#19 ;对当前槽状态做记录,标记为已加工
#30=#1-(#32-1)*10-#3
g0 z#30
g1 x40 f#7
g0 x52
n2 end1
n1  m99' a/ K3 R) w6 S# R$ X# G( H5 U& `
红色字体为避免重复切削增加的代码

点评

大师,你太牛叉了,是不是开辟一组缓存,把已加工的槽号存进去,加工之前再取出来逐一对比?  发表于 2013-8-29 18:50
他第一个程序的思路和你毛利老师发的程序思路一样,按照这样的思路也可以做到重复数据不加工的方法,完全可以不用到AND.....  发表于 2013-8-29 15:30
还是用了位运算  发表于 2013-8-29 14:37
发表于 2013-8-28 19:59:57 | 显示全部楼层
哪里哦,那个程序的算法的确不是我目前所能掌握的!只是刚入门!正在学习中,不过进步很慢!!请你有空多多指点啦!!
 楼主| 发表于 2013-8-28 21:16:28 | 显示全部楼层
本帖最后由 jiangssli 于 2013-8-29 12:02 编辑 ; f; X! b  T8 `) ?2 f6 T
mcsino 发表于 2013-8-28 18:44 , m8 D) E0 M: u$ O6 X) F
#17=0
/ i6 ~9 j& s7 e# a#19=1#20=#200While 1>0 do1#20=#20/10#33= FIX[#20]#32=#20-FIX[#20]*10IF[ #33==0 and #320 do2#1 ...
) r3 R+ O& z* T/ Y* y# K2 E+ l9 x+ a
+ [% g0 Q1 A( c* W
哇咔咔......用你这个思路还有更简单更完美的......可以很容易就判断出数据是否重复...
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-14 03:35 , Processed in 0.073472 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表