基于Modbus通讯协议的RS-485总线在配电自动化控制系统中的应用
引言
随着输配电自动化程度越来越高,传统的输配电操作和控制方式已不再适应当今的发展要求,自动化控制系统得到越来越多的运用。RS-485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制等领域。因此针对当前输配电行业的设备现状和发展需要,本文将介绍一种基于Modbus通讯协议的RS-485总线技术进行通信的智能断路器控制系统。
控制系统整体结构
基于RS-485总线的配电自动化控制系统由智能断路器、监控计算机和RS-485控制网络3部分构成。
智能断路器是直接面向运行现场的智能节点,其核心控制器件智能控制器主要功能是采集现场电流、电压、频率及功率因素等数值,按照一定的控算方法对配电控制回路的断路器进行控制操作;将现场检测到的电流、电压、断路器分合闸状态等信息通过RS-485总线通信网络传送至监控机,并实时处理监控机下传的遥控分/合闸等各种命令。
监控计算机的主要功能是对现场智能节点的运行参数进行实时检测,获得现场运行数据,监测系统状态异常,并根据故障信息发出相应的报警信号;以友好的图形界面直观指示当前各智能断路器的运行状况及参数信息;实现故障记录管理,并实现远程控制智能断路器分/合闸功能。
RS-485控制网络部分主要由RS-485通信接口、通信介质、接口电路、Modbus通讯协议及相应的通信软件组成。RS-485通信接口实现智能节点与监控计算机之间的串行连接;Modbus通讯协议制定了消息域格局和内容的公共格式,为智能节点与监控计算机之间提供通信规约;通信介质为双绞线,负载连接在A、B线之间。
为了深入说明RS-485总线接口在输配电自动化系统中的应用,本文以浙江正泰电器股份公司生产的NST1-H智能控制器为例,简要介绍该智能控制器的总体设计,并给出实现RS-485通信的硬件电路和软件。
图1 智能控制器结构框图
图2 智能控制器RS-485通信接口电路
现场智能节点
智能控制器在自动控制系统中需完成现场数据采集和处理、控制器各执行器件的控制及与远程监控计算机之间的通信等主要工作,因此智能控制器的设计是整个系统的关键部分。其结构框图如图1所示。
考虑到可靠性、性价比等因素,智能控制器CPU采用三菱系列单片机M30201。智能控制器设计采用结构化设计方法,包括四大部分:RS-485通信接口电路部分、电源管理部分、信号输出执行部分、I/O接口部分。其中I/O接口部分包括现场数据采集、键盘输入与显示和执行器的控制信号输出等工作。
在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就无法正常工作,严重时甚至会烧毁芯片和仪器设备。为消除此问题,增强智能控制器在通信中的抗干扰能力,本设计采用二次集成芯片MAX1480进行信号隔离,接口电路如图2所示。
本设计的异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手。为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,在RO引脚外接3k缴侠缱瑁籔3.4与DE引脚之间通过74HC86实现反相控制,以防止MCU上电时对总线的干扰。
图3 CRC校验码生成流程图
Modbus通讯协议及编程
本设计采用Modbus通信协议的RTU通讯模式,消息发送至少要以3.5个字符时间的停顿间隔开始。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。一个典型的消息帧为:起始位 设备地址 功能代码 数据 CRC校验 结束符。监控计算机通过将要联络的智能控制器的地址放入消息中的地址域来选通智能控制器。当智能控制器发送回应消息时,它把自己的地址放入回应的地址域中,以便监控计算机知道是哪一个设备做出回应。地址0是用作广播地址,以使所有的智能控制器都能认识。当消息从监控计算机发往智能控制器时,功能代码域将告之智能控制器需要执行哪些行为。在这里主要使用到2种功能码,03H:读寄存器数据;06H:写寄存器数据。读寄存器的内容包括开关分/合闸状态、当前电流值、电压值、故障记录值等。智能控制器回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应)。对正常回应,智能控制器仅回应相应的功能代码。对异议回应,智能控制器返回一等同于正常代码的代码,并将功能代码首位置为逻辑1。例如:一从监控计算机发往智能控制器的消息要求读一组保持寄存器,将产生如下功能代码:0 0 0 0 0 0 1 1对正常回应,智能控制器仅回应同样的功能代码。对异议回应,它返回: 1 0 0 0 0 0 1 1除功能代码因异议错误作了修改外,智能控制器将一独特的代码放到回应消息的数据域中,监控计算机应用程序得到异议的回应后重发信息,直到智能控制器能够正确响应;通过写寄存器可实现开关遥控分/合闸控制及更改智能控制器系统参数等功能。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束,一个新的消息可在此停顿后开始,如果停顿时间小于3.5个字符时就会引起CRC校验错误。在程序中设置一个帧计时器,当线路上有数据时就刷新该计时器,线路空闲时则停止刷新,计时时间达到3.5帧时计时器被软件清除,而下一帧则为地址帧。
由于Modbus编程主要需处理好CRC校验码的生成及数据包开始标志的测试,图3给出CRC校验码的生成流程。
结语
Modbus协议是目前得到广泛应用的通信协议,而其构筑的硬件平台RS-485总线具有硬件设计简单、控制方便、成本低廉等优点,在工控自动化系统中将得到越来越多的应用。
评论