恭喜,你发布的帖子
发布于 2016-01-28 16:07:35
3楼
CTRL指令的EN端不要断开。文章说,只要Mode端断开,就恢复自由口通讯。但不代表初始化自由口,可能理解成让出资源。你应该知道,子程序不执行的话里面是保持的,那么,你把Mode断开了,里面也得不到任何变化。你必须断开Mode下然后至少执行一次CTRL好让里面动作让出资源。
最好是按照先后顺序切换。初始化1,工作1,清场1,初始化2,工作2,清场2,初始化1,工作1,清场1,……因为大家都不知道modbus里面做了些什么。
我不肯定我上面说的是不是真的,只是目前没发现你有什么确凿的错误。
我试了一下你说的方法,不知道是使用错误还是怎么的,485自由通讯只有第一次成功通讯上,modbus通讯不成功,初始化成功了,但是链接报错误超时,而且完成标志位一直为1,无法继续执行循环。是不是没有把自由口清场?我是直接赋予0给smb30。不知道是不是这样。
请填写推广理由:
分享
只看
楼主