RS-485总线通讯技术在多机监控系统中的应用
扫描二维码
随时随地手机看文章
引言
一个监控系统中如果要同时检测到控制系统中的各种分散的数据往往是比较困难的,而采用RS-485总线通讯与单片机组成分布式监控系统是一种最佳可行的方案。而多机通讯技术是组成分布式监控系统的关键技术之一。作者对设备监控系统进行大量查阅资料并进行了详细分析,对通讯网进行了较深入的研究,最后通过舞台灯的软、硬件联调和抗干扰试验,投入现场使用,运行都很良好,因此,试验验证了该方法的可行性。
1 系统结构
我们采用PC机或51单片机为主机(双系统),用AT89C52作为从机模块,选用MAX487数据通讯接口器件作为通讯接口,构成一个以RS-485接口为通讯总线的分布式网络,与主机连接的各个从机分别进行相应的舞台设备的开关量控制,上升、下降等状态切换,限位信号的处理等工作。各种数据及信号的传输都是通过数据通讯总线实现。
2 理论分析
网络的正常运行与多机联网的通讯方式、通讯接口标准及多机通讯的总线竞争等都是在研发中必需考虑得的关键技术问题。
2.1 通讯方式的选择
本系统的多机通讯采用的是串行方式。串行通讯分异步和同步。由于异步通讯允许间歇通讯,对于低速通讯(如工业监控系统)来说是理想的。众所周知,主机上的串行工作方式有4种,方式3是9位波特率可变的异步通讯方式。此方式的第9个数据位和标志位SM2联合使用时具有识别地址的功能,特别实用于多机通讯。因此,本系统选用了串行通讯方式3。
2.2 通讯接口标准的选择
目前广泛使用的串行通讯接口为RS-232C。但RS-232C在分布式监控系统中作为多机通讯使用有以下几点不足:
1) 数据传输率局限于20Kbit/秒,传输距离局限于15米。
2)不能避免共模信号在通讯中的干扰。
3)只适用于点对点的通讯,无法用最少的信号线实现多点对多点的通讯。
RS-422(全双工)和RS-485(半双工)串行接口总线正是为了克服上述缺点而设计的标准接口。RS-422需要两对平衡差分信号线,而RS-485只需其中一对,对于多机连接更为便利,因此,选用了RS-485作为联网的通讯是最佳选择方案。
2.3 总线竞争的解决方案
在各种分布式集中监控系统中,总线型网络的通信方式主要是采用主从方式,即系统的通信由主机(上位机)控制通信的主动权,选择呼叫某一个从机(下位机)进行通信。这种通信方式不会产生总线的竞争,通信协议简单可靠。主从方式的工作机制确定了它主要适用于从机有经常性的数据需要传送的场合。在本系统中,有突发性数据需要传输(如开关变位,限位信号到达),而系统又要求对从机的这种突发性数据进行快速响应,这种情况下简单的主从方式在实现时数据通信可能会丢失。尤其是本系统从机数量比较多,有时会发生两个或多个从机同时想占用总线的情况。例如,可能在某一时刻有两个单片机监控的限位信号同时到达,都向主机发送数据,从而产生了总线竞争。不同的总线形式采用了不同的解决方法。作者研发的监控系统主要采用上位机为PC机或51单片机,下位机为51单片机的形式,这也是监控系统中应用最为广泛的形式,并且降低了成本。以下主要就这种形式的总线,分析两种解决多机通信中总线竞争问题的方法。
图1 解决总线竞争的方案1
在图1中,当从机J有信息主动发送时,将自身的主动发送标志位Fj置1。主机接收到数据后,若校验正确,则表示无总线竞争情况,发送数据成功;若校验错误,表明可能发生总线竞争,主机查询从机1。从机1接收到主机查询命令后,检验自身主动发送标志位Fj,若为0,则从机1没有主动发送数据,主机依次查询下一从机;若Fj为1,表明从机曾主动发送,要将已发数据再发送一次。主机再次接收到信号,校验正确后,依次查询下一从机,直到将从机查询完毕。
图2 解决总线竞争方案2
方案二前面步骤同方案一,不同之处是主机校验从机主动所发的数据,如果数据校验正确,主机回复从机,表明已正确接收;若校验错误,主机广播发送信号,请求从机重发数据。因为主机是广播发送,所以各从机几乎同时接收到请求信号。没有主动发送数据的从机不返回信号;而曾主动发送的从机以接收到请求信号为标志,延时j*T后(j为从机的序列号),重发数据,如图2所示。在重发数据时,不同的从机延时不同,使得占用总线的时间不重叠,所以不会造成总线竞争。作者在现场调试中,通过调整延时T,即便是在序列号相邻的从机都重发数据的情况下,也不会发生冲突。而且延时T只有数十ms,整个通讯,从第一次因总线竞争而造成的发送失败,到主机接收完毕正确的重发信号,不到0.1s。从而既解决了总线竞争问题,也确保了数据的实时传送,兼顾了系统的实时性和可靠性。
当通讯出现总线竞争时,在方案1中,主机遍查从机,流程简明,但主机使用查询方式,被占用了较多资源;方案2采用了从机分时上报的方式,解放了主机的查询工作,但因为加入延时,需要现场调试找出延时的合理值。本系统为减轻主机的工作负担,应用了方案2,但方案1在主机资源开销不大的系统中,可以作为首选。
以上方案通讯结构简单,软件易实现,能避免总线竞争引发的数据丢失,特别适用于有突发性数据需要传输的多机控制系统中。
3 结束语
通过本项目的研究,作者研制了将RS-485通讯技术构成总线通讯网,并运用于多机监控系统的方法;实现选择通讯方式、通讯接口的关键技术;给出了总线竞争问题的解决方案。本系统投入现场运行时,通讯网络可靠,达到了预期的效果。