恭喜,你发布的帖子
发布于 2021-12-07 10:13:14
37楼
这个帖子在开帖的时候我就看到了,但我没有回复,因为我觉得回复起来没意思,楼主贴出的程序是可以正确运行的,只是楼主不懂PLC的扫描过程罢了。楼主贴出的程序我是经常用的,非常灵活的,可靠的。说它灵活是因为可以实现有安全条件的启动和外部条件停止。
这里我要评价一下18楼的程序,这个程序并没有考虑到极端情况,如:M区设置为断电保持了,这时PLC上电,由于用了S,外部执行器会立即动作。当然了,这是特定条件下情况。但楼主的程序不存在这种问题、18楼的程序谈不上我所说的灵活。
在我眼里,凡是用置位和复位实现逻辑功能的程序都不是好程序,因为会存在问题。
当然了,也会有小伙伴说用沿指令的都不是好程序,这里贴一个我标准化里的单按钮启停程序,在程序框架里可重复调用噢。
我同样能想到有小伙伴说这个程序浪费程序字节,弱弱的说一句,如果你的PLC被填满了,除了程序的原因,另一个原因是选型出错了。
你的逻辑思路我基本是同意的。
但有2点的问题:
1)输入信号的自保逻辑,其作用是为了滤波,但实际没有起到作用,如果按钮信号在极短的时间内有翻转,而PLC的扫描周期又足够的快,照样可以被识别为2次按钮信号,滤波不是这么做的,因此你的程序达到的效果甚至还不及我给出的例程,实际测试的结果就是如此,你可以去试试。
2)估计你较少使用SMART,跨周期的变量都应使用全局变量或静态变量,你的程序能用,但不能多次调用,SMART的临时变量同级嵌套层次下是不清零的,因此用实变量编程与用形参编程还是又区别的。
测试结果如下,子程序完全COPY你的例程
请填写推广理由:
分享
只看
楼主