签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
一条485总线上挂了4个仪表,如果其中一个仪表发生通讯故障,会导致其他三个仪表出现通讯故障吗?在没有加装信号隔离器以及终端电阻的前提下。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1682988&b_id=66&s_id=0&num=6
有可能,看你如何编辑这个通讯轮询程序的。
一般习惯上,通讯轮询是使用上一个通讯读、写指令的完成位done,作为下一个通讯读、写指令的开始。
你可以考虑当通讯错误时,的那个error状态值为非0时,也作为往下轮询的条件,同时根据这个状态信息发出那个从站丢失的报警信息。
硬件上电气非隔离的话绝对会有影响,轻则全部通讯中断、重则全部通讯节点通讯芯片全部烧毁。
程序上可以做到很小的影响,就看你写的通讯逻辑是否足够灵活了。
485通讯首先要保证信号传输质量。
总线形式的两端安装终端电阻(包括上拉下拉电阻)是保证信号质量长期稳定的基础。
在轮询上,从站发生故障(无应答)是不可避免地。这要从主站的轮询机制上仔细考虑。
程序没有问题啊,我是按时间轮询的,不管读没读到,我都会在下一个时刻点读下一个表。
引用1楼详细内容:
这是异步通讯!轮询没有那么写的。不能定时主站发送!
只能是等待、两次重发后,再跳转到下一个。等待时间要根据波特率计算后设置。
引用4楼详细内容:
我改程序之后还是有这种现象,把那个有故障的仪表通讯线拔了其他的仪表就正常了
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录