nssdch
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 100 点
下载积分: 2479 分
在线时间: 18(小时)
注册时间: 2014-10-05
最后登录: 2024-10-08
查看nssdch的 主题 / 回贴
楼主  发表于: 2014-11-06 22:19
本人一直在自学PLC,自学果然够累,对于没有"明师"指导的我们,很多指令只会生搬硬套,运用起来也没有技巧可言。
这不,关于FOR,NEXT这套强大的指令就化成拦路虎了。
经过反复设计梯形图,发现了一个现象,我在用FOR用做运算时,FOR尚且能起作用,但如果用来做顺序控制的循环,做出来的动作,完全就不依FOR那一套了。
首先是循环的形成,顺序控制要让他动作起来,就必须从FOR内部或FOR外部给一个逻辑开关信号。然后,这个信号收到以后,FOR内的动作才启动。问题就出现在这里了,!
收到这个信号后,下面的动作就依次开运行,碰到NEXT。然后呢,怎么循环?为了这个循环,我从用了三种方法,但是统统不行。
  第一种:不给任何信号:结果,运不起来!!!想想也对,做的是顺序控制,要求有信号,如今信号都没有,怎么动嘛。
  第二种:重新从外部给一个信号:结果,循环次数不可控!!!!! 想想也对,从外面给信号,那么第二次给信号算是重新计算循环次数,每一次都重新计算次数,当然会不停的动作了。
  第三种:从FOR内部给一个信号:结果,循环次浸透不可控!!!!想想还是很对!!!从内部给信号,让他重头把要重复的动作运行,那么对于FOR内部来说,是个本来就没有完成的一个周期,也就是说!!在FOR看来,你连一次都没完成,你怎么让我去动作第二次呢。
第四种!!!!
说过了!!我实在是想不出来,还有什么第四种方式了,不知道各位大神是用什么方法,用FOR做动作循环的。难道一定要用计数器加跳转才能完成?或者有什么别的技巧,请赐教。谢谢各位了,对于自学者来说,一个问题搞不明白 ,真的很打击信心。
mythic
mythic
级别: 略有小成
精华主题: 0
发帖数量: 299 个
工控威望: 485 点
下载积分: 29480 分
在线时间: 275(小时)
注册时间: 2013-05-14
最后登录: 2024-02-07
查看mythic的 主题 / 回贴
1楼  发表于: 2014-11-06 22:23
子程序调用,Pxx,子程序由节点控制,