老芳同志:你好,
昨天搞了一天,终于今天有了点眉目,首先说明,我FIRST用了上升沿,并且是用DONE位的上升沿来复位本条MBUS_MSG的EN和FIRST,同时也用它来使能下条MBUS_MSG(本身我是初学
modbus,所以也就是先照着西门子帮助来试验下看速度快不快)。
最后,发现问题了,我是在第2条网络:MBUS_CTRL初始化指令,第3条网络:写了一个上升沿触发指令(M0.0上升沿置位M0.1,1)
MBUS_CTRL的DONE位是M0.0,
现在是找到问题啦,但我不明白的是为什么这两条指令次序颠倒就会造成错误6呢,反过来就会造成错误3,错误3是正常的,因为我试验没有接从站。
上面说的这些问题是在从站检测不正常或者错误的时候,如果是初始化指令在前,置位指令在后,那么就会报错误6,如果初始化指令在后,那么就会报错误3.(正常)。
我想的是反正指令倒是先读到输入映像里,最后才统一写输出,顺序无所谓,呵呵。
希望高手给予解释。