讨饭吃ss 发表于 2013-3-7 23:15:37

fanuc18i数控铣宏程序计算问题,求指导

请各位大虾帮忙,知道的解释一下,先谢谢了。
示例如下:我截取一段程序说明。
O100;
#1=10.2;
#2=1.;
#3=0.2;
......;
N1;
;
;
(中间省略);
#1=#1—#2;
IF[#1GE#3]GOTO1;
;
;
M30;
      床子是发那科18 i 的沈阳龙门铣,经常就是#1算到1.2循环就结束了,我很奇怪找不到原因,还有就是#2改成0.2也是这样算到0.4就结束。但是如果把#1改成小数点后是0.5或者0,比如#1=10.5,#2=1,#3=0.5他就可以循环到设定的#3。
       求大虾指导,如果没有表达清楚的我随后补充。谢谢

伤情于剑 发表于 2013-3-8 03:18:28

我也遇到过这种情况,我把#3重新输一遍就好了,也不知道怎么回事

风随意 发表于 2013-3-8 07:23:29

不懂,帮顶。

jiangssli 发表于 2013-3-8 08:28:48

系统计算的时候把十进制转换成二进制,计算完以后又把二进制转换成十进制,反复几次以后你看见的结果和实际计算的记过会有一些误差......眼见的不一定是真的...所以你的判断条件会有问题

jiangssli 发表于 2013-3-8 08:35:56

O100;
#1=10.2;
#2=1.;
#3=0.2;
......;
N1;
;
(中间省略);
IF[#1EQ#3]GOTO3
#1=#1—#2;
IF[#1GT#3]GOTO1;
IF[#1LT#3]GOTO2
N2
#1=#3
GOTO1;
;
N3
M30;
楼主试试这样加几句判断的,也许能解决你的问题

讨饭吃ss 发表于 2013-3-8 12:38:38

jiangssli 发表于 2013-3-8 08:28 static/image/common/back.gif
系统计算的时候把十进制转换成二进制,计算完以后又把二进制转换成十进制,反复几次以后你看见的结果和实际计 ...

系统计算实际值跟显示的值不一样?我做完后都会检查,它确实差了

讨饭吃ss 发表于 2013-3-8 12:41:33

jiangssli 发表于 2013-3-8 08:35 static/image/common/back.gif
O100;
#1=10.2;
#2=1.;


恩,我这样搞过,就是麻烦多写几句。

jiangssli 发表于 2013-3-8 13:10:50

讨饭吃ss 发表于 2013-3-8 12:41 static/image/common/back.gif
恩,我这样搞过,就是麻烦多写几句。

很多时候我们害怕麻烦,就会有更多的麻烦....

虚缈 发表于 2013-3-8 16:58:30

这个问题其实有个很好的解决方法,我也有个切身体会,我有一国产机床它的机床回零到位是:一小圆台刚好插到主轴电机后面的一小凹槽里时,接触开关灯亮,而这个圆的直径刚好和凹槽的宽相等,由于用了多年有了误差,这两装置老是对不上插不好,报警换不了刀,尤其是如果主轴刚好在零点附近那是绝对的报警(顺便说一句我这换刀X轴原点是-0.18Y是-90),老烦人了,因此我就用了一宏程序先让Z轴回零然后X轴再Y轴,这就要判断当前主轴的位置是不是在附近,如果是就让远离点再按顺序走,开始系统老是判断不出是大于还是小于-0.18,最后我就用主轴X轴的当前位置减去这个-0.18来判断它是大于还是小于0问题就解决了,换刀也就正常了。
有了这切身体会我建义你改下判断语句IF【【#1-#3】GE0]GOTO1;试试

朱华剑 发表于 2013-3-8 21:54:55

楼主不好意思 我真心不会 我只是想要威望下载我需要的东西 谢谢了
页: [1] 2
查看完整版本: fanuc18i数控铣宏程序计算问题,求指导