恭喜,你发布的帖子
发布于 2021-10-23 19:14:53
2楼
LD10可以这么用。这就叫做先赋值了。但是LD6就不可以这么用了。它没有先赋值。你能理解其中的区别吗?LD6就要用in/out。BT不执行是没有值给到LD6的。LD6会有别的子程序使用,值会被改变的。这个LD6极大机会就是那个LD6。
不信你可以试试。在主程序里调用两个子程序。一个子程序向LD56mov进去一个12345。另一个子程序把LD56的值mov出来到MD0。你看看会怎样?两个子程序什么参数都不带。
你的程序中P触点没有接通LD6自然没有写进去有用的值。后面的比较触点不接通,线圈就会off。这个off是必然的。而前面的LD6是不确定的。两个情况都是触点不通,但是一个是确定的,一个是不确定的 。
你把ld6改成in/out,把边缘指令用触点逻辑写。
LD I0.0
LPS
AN M0.0
= M0.1
LPP
= M0.0
上面的m0.1就是I0.0的上升缘。(下降缘自己想)你把M0.0也做成IN/out就可以了。
请填写推广理由:
分享
只看
楼主