200smart 485通讯问题;断线不报错

刚接触485通讯 ,目前连接了3个仪表;发现数据都可以读出来,但是把其中某个站点的通信线拔掉后,监控PLC发现对应的Error一直是0;请问是什么原因;另外这程序有没有问题;刚接触485通讯这块不大熟悉,谢谢大家了

问题补充:
1、首先这个设备对数据采集的周期要求不高。
2、把掉通讯线不报错的原因是什么?
3、程序这种方式是否可行?

图片说明:

200smart 485通讯问题;断线不报错    200smart 485通讯问题;断线不报错    200smart 485通讯问题;断线不报错   

最佳答案

你需要了解一下MSG指令的完成位done,和错误位error。
程序方面建议用done位触发,即上一个done位触发下一个MSG,并复位本MSG指令。这样的好处是可以利用done和error,强调MSG指令错误时的触发方式。
用定时器的不合理之处是没有有效缩短各指令的刷新机制,当MSG出现问题时,无法做出相应的举措。
补充问题回复:
1)如果这样可以按你用定时器的周期来做,但是,这样的做法,如果通讯出现问题,我只是一种假设,假设在200mS内无法完成通讯任务,则丢弃通讯转到下一个任务。
虽然,这个可能性非常小,一般读取一个字的数据时间在9600通讯频率下几十mS的时间是足够了的,我这里说的是如果的那种情况。所以,无论是否对通讯实时性要求如何,都不推荐。
2)掉线是一定会报错误的。不报错什么没有错误出现。
所以,判断通讯是否正常,就是利用done和error这2个状态位来分析通讯情况的。
3)你的程序在通讯正常情况下没有问题,在通讯异常时,会出现通讯错误,且需要在线查找具体那个MSG的错误。

提问者对于答案的评价:
感谢解答

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc279725.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午6:12
下一篇 2020年10月30日 下午6:13

相关推荐

发表回复

登录后才能评论