技术文章
宇电AI系列单回路测量控制仪表通讯协议说明
发布时间:2023-11-21 13:28:37
宇电AI系列单回路测量控制仪表通讯协议说明
(V9.2版)
宇电V9.X版本以上单回路测量控制仪表可支持AIBUS及MODBUS两种通信协议,其中AIBUS由厦门宇电自动化科技有限公司自主开发,能用简单的指令实现全面的功能,其特点是写参数的同时亦可完成读功能,因此写参数时不破坏读的循环周期时间,且允许在一个RS485通讯接口上*多连接80台仪表。而通用的MODBUS协议则具有更广泛的兼容性,V9.X以上版本MODBUS协议读指令一次*多可读20个字的数据,其通信效率较本公司以往版本大为提升。V9.X版的新一代AI系列仪表在9600波特率下上位机访问一台V9.X版仪表的平均时间仅20mS左右,不考虑数据传输时间时,仪表在接收上位机指令后*大延迟时间仅10mS,平均延迟时间仅2~3mS,远快于本公司以往版本,可轻松组建大型过程控制系统。所有V9.X版本的新一代AI仪表允许上位机写入次数均达20亿次以上,确保仪表内部存储器不会因为上位机频繁写入而损坏,并可利用上位机将仪表组成复杂调节系统。AI系列仪表可以用PC、触摸屏及PLC作为上位机,市面各种组态软件资源丰富。基与PC的上位机软件广泛采用WINDOWS作为操作环境,不仅操作直观方便,而且功能强大。*新的工业平板触摸屏的应用,更为工业自动化带来使用简单且功能丰富价格便宜的选择。这使得采用仪表+上位机结构的测控系统价格大大低于传统DCS系统,其分布式结构也具有很高的可靠性。除部分新推出型号外,V9.XX版本通信协议在提升性能和功能的同时与本公司V8.XX通信协议完全保持兼容,客户原有上位机软件无需修改可直接使用。
一、接口规格
AI系列仪表使用异步串行通讯接口,接口电平符合RS232C或RS485标准中的规定。数据格式为1个起始位,8位数据,无校验位或偶校验位,1个或2个停止位。通讯传输数据的波特率可调为4800~28800 bps,通常用9600 bps,需要更快刷新率时,也可尝试用19200或28800bps,当通讯距离很长或通讯不可靠常中断时,可选4800bps。RS485通讯接口通讯距离长达1KM以上(部分实际应用已达3-4KM),只需两根线就能使多台AI仪表与计算机进行通讯。普通计算机可使用RS232/RS485或USB/RS485型通讯接口转换器,将计算机上的RS232通讯口或USB口转为RS485通讯口。宇电RS232/RS485及USB/RS485转换器具备体积小、无需初始化而可适应任何软件、无需外接电源、有一定抗雷击能力等优点。按RS485接口的规定,RS485通讯接口可在一条通讯线路上连接*多32台仪表或计算机。需要联接更多的仪表时,需要中继器,也可选择采用1/2或1/4负载等芯片的通讯接口来增加可连接仪表的数量。目前生产的AI仪表通讯接口采用低负载芯片并且一定的防雷击和防静电功能,无需中继器即可连接约60台仪表。
AI仪表的RS232及RS485通讯接口采用光电隔离技术将通讯接口与仪表的其他部分线路隔离,当通讯线路上的某台仪表损坏或故障时,并不会对其它仪表产生影响。同样当仪表的通讯部分损坏或主机发生故障时,仪表仍能正常进行测量及控制,并可通过仪表键盘对仪表进行操作,工作可靠性很高。当同一网络上有其他公司也采用主从方式通讯的产品时,如PLC、变频器等,需注意AIBUS协议并不能保证其它公司产品能否正常工作,通常不应将AI仪表与其它产品混在一个RS485通讯总线上,而应分别使用不同的通信线路,或采用MODBUS协议。
宇电V9.x版本智能仪表采用AFC参数选择协议类型,AFC=AFC.A+AFC.D*8。功能如下表
AFC 参数值 |
功能说明 | AFC 参数值 |
功能说明 |
0 | 标准MODBUS-RTU协议、无校验 | 8 | 标准MODBUS-RTU协议、偶校验 |
1 | AIBUS协议、无校验 | 9 | AIBUS协议、偶校验 |
2 | 兼容型MODBUS-RTU协议、无校验 | 10 | 兼容型MODBUS-RTU协议、偶校验 |
4 | 标准MODBUS-RTU协议S6/S7地址兼容模式、无校验,注意使用的模块还是S、S1、S4。 | 12 | 标准MODBUS-RTU协议S6/S7地址兼容模式、偶校验,注意使用的模块还是S、S1、S4。 |
二、AIBUS协议通讯指令说明
本文采用16进制数据格式来表示各种指令代码及数据。AIBUS的通讯指令只有两条,一条为读指令,一条为写指令,指令的发送字节长度均为8个字节,而接收字节长度均为10个字节,这使得上位机软件编写容易,但仍能完整地对仪表进行各种操作,指令须连续发送,若字节长度不对则仪表不会响应。仪表地址:AIBUS协议地址范围为0~80,一条通讯线路上*多可连接81台AI仪表,仪表的通讯地址由参数Addr决定。仪表内部采用两个重复的128~208(16进制为80H~D0H)之间数值来表示地址代号,由于在AI仪表内部连续两个128~208的数通常不会出现,因此数据与地址不会重复造成冲突。AI仪表通讯协议规定,地址指令为两个相同的字节,数值为(仪表地址+80H)。例如:仪表参数Addr=10(16进制数为0AH,0A+80H=8AH),则该仪表的地址指令为:
8AH 8AH
参数地址:仪表的参数用1个8位二进制数(一个字节)的参数地址代号来表示。它在指令中表示要读/写的参数名,各种参数含义见后文表格。
校验码:校验码采用16位求和校验方式,其中读指令的校验码计算方法为:
要读参数的代号×256+82(52H)+Addr
写指令的校验码计算方法为以下公式做16位二进制加法计算得出的余数(溢出部分不处理):
要写的参数代号×256+67(43H)+要写的参数值+Addr
返回数据:无论是读还是写,仪表都返回10个字节数据,其中PV、SV及所读参数值均各占2个字节,代表一个16位二进制有符号补码整数,低位字节在前,高位字节在后,整数无法表示小数点,要求用户在上位机处理;MV占一个字节,按8位有符号二进制数格式,数值范围-110~+110,状态位占一个字节,校验码占2个字节,共10个字节。校验码为PV+SV+(报警状态*256+MV)+参数值+Addr按16位整数加法相加后得到的余数,溢出数忽略。
具体交互命令如下:
读参数指令:
地址代号 低字节 |
地址代号 高字节 |
读功能命令 | 读参数代号 | 低字节 | 高字节 | 校验和 低字节 |
校验和 高字节 |
80H+ 仪表地址 |
80H+ 仪表地址 |
52H | 参见参数代号表 | 00H (固定值) |
00H (固定值) |
参见注1 |
如读仪表地址1的上限报警值的命令如下:
地址代号 低字节 |
地址代号 高字节 |
读功能命令 | 读参数代号 | 低字节 | 高字节 | 校验和 低字节 |
校验和 高字节 |
|
81H | 81H | 52H | 01H | 00H | 00H | 53H | 01H |
写参数指令
地址代号 低字节 |
地址代号 高字节 |
写功能命令 | 写参数代号 | 写入值 低字节 |
写入值 高字节 |
校验和 低字节 |
校验和 高字节 |
80H+ 仪表地址 |
80H+ 仪表地址 |
43H | 参见参数代号表 | 参见注1 | 参见注2 |
注2:校验和=(写参数代号*256(100H)+67(43H)+仪表地址+写入值)&FFFFH 得到的余数
如写仪表地址1的给定值为100.0的命令如下:
地址代号 低字节 |
地址代号 高字节 |
写功能命令 | 写参数代号 | 写入值 低字节 |
写入值 高字节 |
校验和 低字节 |
校验和 高字节 |
|
81H | 81H | 43H | 00H | E8H | 03H |
2CH | 04H |
返回数据:无论是读命令还是写命令,仪表都返回10个字节的数据
测量值 低字节 |
测量值 高字节 |
设定值 低字节 |
设定值 高字节 |
输出值 MV |
状态字节 | 读或写的参数值低字节 | 读或写的参数值高字节 | 校验和 低字节 |
校验和 低字节 |
注1 | 注2 |
设定值及读或写的参数值解析方法相同
注2、校验和=(测量值+设定值+状态字节*256+输出值MV+读或写的参数值+仪表地址)&FFFFH 得到的余数,当通信数据受干扰时,采集时可将返回值中的校验和与计算的校验和比对,两者相同则数据则数据正常,反之有可能因干扰导致异常。
假设仪表地址1的表上此时测量值显示100.0,设定值显示0.0,无报警发生,无输出,读或写设定值为0.0返回的命令如下:
测量值 低字节 |
测量值 高字节 |
设定值 低字节 |
设定值 高字节 |
输出值 MV |
状态字节 | 读或写的参数值低字节 | 读或写的参数值高字节 | 校验和 低字节 |
校验和 低字节 |
||
E8H | 03H | 00H | 00H | 00H | 60H | 00H | 00H | E9H | 63H |
状态字节 | 含义 |
位0 |