登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:咨询一下,如何防止通讯中断,如何更改

点击:1934 回复:22

附件:通信不中断带屏蔽,台达PLC测试通讯用 首尾相接三台电源两台变频器.zip
[本地下载]
本人写的小程序,通讯这方面不太懂,现在的问题就是通讯之后,如果出现通讯中断,我该怎么恢复通讯,程序里我加了屏蔽按钮,但是在线监控的时候通讯还是会中断,哪位大神知道通讯里怎么写,能避免通讯中断,或是通讯中断后自动恢复通讯。
19-05-06 11:15
你只用了M1127置位下一步的轮询,一旦一台变频器通讯超时或者错误,就没法进行了。
把M1129和M1140加入置位下一步轮询的条件里就能解决。
19-05-06 15:19
能帮我改一个,我看看吗?
19-05-06 16:09
不对的,你这个是使用Inc加计数来实现通讯的轮询,我使用的是收尾相接的方式,上一位的完成位是下一位的起始位,加计数的轮训方式不存在通讯中断,只会出现其中有通讯中断的从机读写数据会都没有,我的这个程序就像你先前说的,目前是只要前面的从机通讯断了,后面的就都断了,所以我才想问问大神怎么解决这个问题,程序上应该怎么改??????
19-05-06 16:34
附件的程序是为了减少停机时的延时。
直接用图片里的程序就可以。
注意下加计数器的使能条件,只有在M1127通讯正常、M1129通讯超时、M1140通讯错误三种情况下进行加计数。任意情况出现自动跳出当前通讯,进入下一个变频器的通讯。通讯台数少的情况下扫描周期2ms以内。
19-05-06 17:00
使用加计数器的方式我会,我想使用收尾相接的方式,所以才问问大神有什么办法解决的,
19-05-06 17:07
没明白你的意思,你说的首尾相接不就是,第一条指令执行完成后,接着执行第二条指令,等全部通讯完成后,返回第一条指令继续循环。
你写的程序用的M1127做的标志位,任意通讯指令超时或者错误的时候就会造成轮询中断。我说的把M1129、M1140加入触发条件,其实可以简单理解为在M1127下面并联M1129、M1140。
你可以好好看看我贴的程序,这是经过验证了的。
计数器只是为了构成轮询,方便处理回传的数据。轮询触发的条件不是计时器也不是计数器本身。
完全可以去掉计数器,每个通讯指令后面接触发条件,但是那样很啰嗦。
我说的扫描周期2ms以下,是整个PLC程序执行一次的时间,这个时间在小型机上不算长。
最后修改:2019/5/7 8:19:19
19-05-07 08:08
你说的我基本懂了,但是M1129和M1140并联在M1127下面我没懂,应该是串联才对啊,任何一个报警通讯都中断,中断之后启动延时定时器,时间到跳转到下一个从站,你说的并联我没理解?
19-05-07 19:24
台达的梯形图 看起来好累。。。MODBUS rtu吗?
19-05-07 19:40

上一页下一页

工控新闻

更多新闻资讯