恭喜,你发布的帖子
发布于 2021-09-14 10:55:53
11楼
你这程序太简洁了,有逻辑漏洞,不大好分析。
步骤不等于1000、5000、10000时,其他的分支会不会修改步骤?会的化这程序绝对要造反;如果不会?是用什么来限制下一步?
其实,状态字编程不应该添加一个M5.0的条件的。想要在HMI上跳转步骤,直接在HMI上修改步骤的状态值就可以了,毕竟HMI通讯都是在一个扫描周期后交换数据,你这个程序逻辑也是在一个扫描周期内完成的。
1、比如 步骤=0 步骤=5000 步骤=10000这3个关节点没有任何的分支不执行任何的MOVE。同时步骤=4999 =9999的分支不要做任何的跳转到下5000?10000?操作。
2、当需要开始时,在HMI上写入1000给步骤,然后PLC程序会在一个扫描周期内按步骤的逻辑一直执行到4999,然后PLC每个周期一直都是执行4999的分支(因为步骤=5000删掉分支靠HMI修改)。
3、在循环执行4999这步时,当HMI输入5000,那么PLC又从5000一直执行到9999(因为步骤=10000删掉分支靠HMI修改),一直循环执行9999。
4、跟着HMI又输入5000,又一次开始5000~9999执行。
反正大概逻辑就像上面的一样了。除了 =5000,=10000 ,其他每个分支都是用 == 来进入。
请填写推广理由:
分享
只看
楼主