发布于 2015-04-30 13:10:35
8楼
我还是不太明白你说什么。
第一。msg指令有出错位。本次通讯发生出错,这个位是最先知道的。我不知道你为什么跑去看ctrl指令的ERR。
第二。end指令只会冻结余下扫描的输出。不会令输出off。要off,你需要的是stop。但是指令里面执行一个复位的话又有何问题呢?你好像对end指令的作用很模糊啊?正常扫描着的程序你突然在程序开头来个end,那么你将失去了所有对输出点控制的能力。唯有使用断电源的方法,才可以关闭正在on的输出。这个是一个极度危险的操作。
第三。如果不明原因读到的数值(可能)你所说的静止的。那么你可以每次使用完了读数之后把这个地址写成0,下一次通讯正常读取到数据的时候,通讯会自行写成正常值。如果仍然异常,那么这个值将一直是0。至于这个0你可以写其他值,反正,不正常的话就是这个值。或者32767。或者写成目标值。一旦异常就会变成目标值,使得供料马上结束。