发布于 2015-01-19 12:17:36
6楼
估计你的模拟量程序里面是连续执行的。连续执行的话等于一直都在重新赋值。文字比较难解释。
LD I0.0
= Q0.1
LD Q0.1
= Q0.0
LD I0.1
= Q0.1
你说这个小段程序出现了双线圈,但是毫不影响正常的输出。你说这程序是谁在控制谁?(最终结果)
你的模拟量程序就是这个道理。程序一直在给被重复使用的地址写如新值,所以你没有发现有问题。仍然是I0.0控制Q0.0,I0.1控制Q0.1。
你试试把上面的=指令换成set指令。一按下I0.0,两个都亮了。这是因为后面一个set指令off状态无法控制输出,任由输出的on和off,结果后面执行的那个出错了。
这样吧,你逐一逐一指令在子程序里面单独使用,然后子程序多次调用,从中看看指令的反应。你在使用指令的时候跳过了很多你认为对的其实是不对的部分。