计算机485通讯原理,软件实现 - 基于Modbus协议的RS485总线通讯机设计原理及应用...

2.2.9从站提交数据到上位机

主站扫描子站时,子站将数据包发送到主站,主站转发到上位机,上位机收到后发送数据收到确认包到主站,主站收到确认包后转发到从站。从站未收到确认包,不会进行其他数据的上传。在规定时间内未收到确认包认为数据传送失败。

主站-->从站扫描码

从站-->主站数据

主站-->PCFLASH存储器中数据

PC-->主站确认码(放入FLASH存储器)

主站-->从站确认码

从站-->主站应答码

3软件实现

主站主要完成2个功能:对各节点进行扫描以获取并保存各节点的通信状态;对上位机与各从站之间的报文进行可靠转发。软件流程如图2所示,系统上电后,首先进行初始化操作,主要包括设置串口、定时器,开启开门狗,配置芯片引脚等内容。

系统初始化成功后,主站向上位机请求从站配置信息,主要包括从站数量、各从站的地址、各从站配置情况即从站为启用还是闲置状态。

从站配置信息请求成功后,主站开始对各从站进行扫描,并对扫描中产生的从站报文进行处理。每扫描完一个从站,主站都会去查看有无来自上位机的报文,并对报文进行适当处理。当经过一定时间间隔后主站再去扫描下一个从站。

其中,在来自上位机的报文中,有的报文是需要转发给某个从站的,在扫描期间来自从站的报文中,有的也是需要转发给上位机的。只有合理设计转发协议,才能既保证报文的可靠传输,又不致于使系统实时性明显变差或产生网络堵塞。本系统将来自上位机的报文分为3类:第1类是上位机直接传给主站的,主站收到这类报文,进行简单回复,这次通信完成;第2类是上位机发给某个从站并且需要得到从站回复信息的,这时候需要主站将报文转发给此从站,并将此从站的回复信息再转发给上位机;第3类是上位机发给某从站但不需要回复的,这时主站将报文传给此从站,但不需要等待从站的回复信息,这次通信完成。同理,在扫描过程中,对从站产生的报文的处理也分为类似3种,具体处理过程如图2所示。

467036c4bd54db063451a0be50857b01.png

图2主程序流程图

本控制系统的设计中,由于主站的使用,一方面,上位机不再承担对众多从站的轮询工作,使其拥有了更多的CPU资源进行快速响应、处理人机交互与日志存储等事件,顺畅完成众多动画的播放,提高了系统的事件处理与响应能力;另一方面,在传统的主从式RS485通信网络中,当某根通信线由于意外或者人为原因造成短接或断路后,可能导致整个通信网络瘫痪,主站的使用,使得原本连接在同一网络上的上百个从站分成几个相对独立的网络,当某一网络发生故障时,将不会对其他网络的通信造成影响。同时,由于主站可以脱离上位机单独对各从站进行扫描并实时获取各从站的当前状态,如果上位机需要从某种故障中恢复并进行重新启动,它可以直接从主站中快速获取整个系统中所有从站的当前状态,主站还可以根据扫描从站数的多少,自动调整扫描时间间隔,在保证系统响应的前提下降低通信故障率,提高系统可靠性与安全性。

4结语

本文详细论述了基于Modbus协议的RS485总线通讯机设计原理。虽然此主站的增加会使系统成本稍有上升,但它不仅可以使上位机从繁忙的通信工作中解放出来,更好地完成人机交互、数据处理、动画播放等任务,而且还能够提高系统独立性,加快系统从故障中恢复的速度,有效地提高系统的可靠性、安全性。本设计已成功应用于某监狱门禁控制系统,实践证明该系统运行稳定、故障率低、操作方便、安全可靠

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值