一、摘要
NHR系列智能显示控制仪表是经过多年开发制造经验而设计生产,集诸多全新功能于一身的新一代智能显示控制仪表。针对现场温度、压力、液位、速度、流量等各种信号进行采集、显示、控制、远传、通讯、打印等处理,构成数字采集系统及控制系统,广泛运用于电力、石化、冶金、轻工、制药、航空等诸多领域。产品的EMC设计符合GB/T17626.2-11相关规定,同时产品取得了CE认证。
二、产品的市场背景
在自动化控制领域,随着分布式控制系统的发展,在产业上的分布式控制系统中,经常需要采用串行通讯来达到远程信息交换的目的。目前,用于串行通讯的接口标准包括:rs-232、rs-422、rs-423和rs-485。rs-232是最早的串行接口标准,广泛应用在短间隔、较低波特率串行通讯中。其后发展起来的rs-422、rs-485是平衡传送的电气标准,比起rs-232非平衡的传送方式在电气指标上有了大幅度的进步。rs-485串行接口的电气标准实际上是rs-422的变型,它属于七层osi(open system interconnection,开放系统互连)模型物理层的协议标准。由于性能优异、结构简单、组网轻易,rs-485总线标准得到了越来越广泛的应用。下面是关于虹润NHR 系列智能显示控制仪表在RS-485通信中的应用。
三、产品的技术原理
1、系统技术方案
工业场合中,经常要用一些仪表去控制如温度、液位、流量等。在某些场合,需要1台控制器灵活地控制多台仪表,以达到设计控制目的。
本文利用标准的MODBUS RTU通讯协议与 RS-485通信指令,方便的实现与多台虹润NHR系列仪表的串行通信.成功的实现了用单台控制器对多台仪表的灵活控制。可编程控制器允许在一个RS-485通信接口上连接多达100台虹润仪表,仪表大于60台时,需加一个RS-485中继器,RS-485通信口通信距离长达1KM以上。
2、RS-485总线的硬件设计
考虑到此控制系统中网络节点数较多,整个网络超过100个节点,为保证通讯的可靠性和通讯效率按照仪表在系统中实现的不同功能、数据流量、实时性要求把各仪表分布到两条总线上,而且所选器件中的rs-485芯片驱动能力均达到255点,通讯速率选9.6Kbps,离主站最远的节点不超过50m。
3、网络协议
为了能使具体的命令、数据在网络上正确地传输,在数据链路层必须提供一定的网络协议,保证在物理层的比特流出现错误时进行检测和校正,同时实现数据帧和命令帧的功能。然而,为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字,而常用的数据包格式由引导码、长度码、地址码、命令码、数据、校验码、尾码组成,每个数据包长度达20~30字节,在rs-485系统中这显得又有些繁杂。由于modbus协议是公然的通讯协议,而且被很多的工控产品生产厂家支持,该协议已广泛应用于水利、水文、电力等行业设备及系统的国际标准中,因此,本系统采用modbus协议作为此控制系统的网络协议。
在此控制中由于对plc和变频器的通讯数据量小而且实时性要求不高,因此采用modbus ascii方式,而对单片机的数据通讯量较大且实时性要求高,因此采用modbus rtu方式。
四、产品的应用
考虑到100台仪表在RS485总线上的实时性、有效性、正确性,现将100台虹润NHR系列智能控制仪表通讯组网分为两条总线,分别由PLC的串口扩展口分别定义为A1、B1和A2、B2 ;下面是虹润NHR系列智能控制仪表与PLC主机连接图,见图1、图2:
1、 虹润NHR系列智能显示控制仪表通信参数配置
(1)、通信方式为RS-485, (1个起始位,1个或2个停止位,8位数据,无奇偶校验)
(2)、通信传输数据的波特率(1.2K 2.4K 4.8K 9.6K 19.2K )可在仪表叁数baud中设定
(3)、通信协议为标准Modbus Rtu 模式
这里重点突出可编程控制器与虹润NHR仪表RS-485接口部分。在工业现场,RS-485通信是应用较多的一种通信方式,图中可编程控制器通过RS-485通信接口与多个NHR仪表相连接,最多可达到100台,每台仪表被赋予各自的地址码,用以识别身份,( 地址码可在仪表叁数Addr中设定),子单元和主单元采用地址轮询方式。这样可编程控制器的RS-485通信口便能通过RS485总线对挂在下面的所有仪表进行控制操作。
2、 虹润NHR系列智能数字显示控制仪通信数据流解析
本通信协议采用标准ModBus协议,采用RTU(十六进制数)传输模式。ModBus协议是一种主---从式协议。任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有主站能发起。主站会依次对从站进行轮流查询。只有当从站地址与轮询地址相匹配,从站才能回复消息。从站之间不能进行直接通信。协议桢中不包含任何消息报头及消息结束符,消息的开始和结束依靠间隔时间来识别,当间隔时间长于或等于3.5个字符时,即作为检测到桢结束。如果网络内没有与查询地址相一致的从站或从站接收时CRC校验出错,主站将不会接收到返回桢,这时主站根据超时设定判断是否超时,如超时,作出重发或弹出异常错误窗口动作。
协议桢定义如下:
从站地址:地址必须在1---247之间。
在同个主站网络中每个从站地址必须。
0为广播地址,从站接收消息并作相应处理,但不能回复消息。
功能代码:包含读、写寄存器。
数据: 以二进制代码传输。
CRC16: 循环冗余校验,校验从从站地址到数据区最后一个字节,计算多项式码为A001(hex)。
(1)、通讯口设置
通讯方式 异步串行通讯接口,如RS-485,RS-232等
波特率 2400~9600bps(可由设定仪表二级参数自由更改,设定仪表二级参数BT,默认4800)
(2)、字节数据格式 HEX
一位起始位、八位数据位、一位停止位、无校验
起始位 数据位(从低到高) 停止位
(3)、消息桢格式 (读、写功能是从主站角度定义的)
读寄存器桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数N | CRC16 |
1字节 | 1字节 | 2字节 | 2字节 | 2字节 |
0---247 | 03H | AddrH, AddrL | NH, NL (1---24) | CrcL, CrcH |
读寄存器返回桢
从站地址 | 功能代码 | 字节数 | 寄存器数据 | CRC16 |
1字节 | 1字节 | 1字节 | N*2字节 | 2字节 |
1---247 | 03H | N*2 | DataH, DataL | CrcL, CrcH |
写寄存器桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数N | 字节数 | 寄存器数据 | CRC16 |
1字节 | 1字节 | 2字节 | 2字节 | 1字节 | N*2字节 | 2字节 |
0---247 | 10H | AddrH, AddrL | NH, NL 1---24 | N*2 | DataH, DataL | CrcL, CrcH |
写寄存器返回桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数N | CRC16 |
1字节 | 1字节 | 2字节 | 2字节 | 2字节 |
1---247 | 10H | AddrH, AddrL | NH, NL 1---24 | CrcL, CrcH |
错误返回桢
从站地址 | 功能代码 | 错误代码 | CRC16 |
1字节 | 1字节 | 1字节 | 2字节 |
1---247 | 查询功能代码+80H | 见表2 | CrcL, CrcH |
功能代码表:1
功能代码 | ModBus名 | 功能名 | 广播 | 一次连续的N的最大值 |
03H | Read Holding Registers | 读N个寄存器值 | No | 24 |
10H | Write Multiple Registers | 写N个寄存器值 | No | 24 |
错误代码表:2
错误代码 | 说明 |
1 | 寄存器长度超限 |
2 | 寄存器地址超限 |
3 | 从站密码保护 |
4 | 读或写不允许 比如有的寄存器只读,就不可以发写命令 |
3 、产品图片
五、结论
本文利用标准的MODBUS协议和虹润NHR系列智能显示控制仪表进行RS-485通信,实现了单台控制器控制多台NHR仪表的任务,并能实时检测各仪表的运行状态,整个系统控制灵活方便, 方案结构简单,开发成本低,周期短,既使在恶劣的工业环境下也能稳定工作。