宇电AIBUS及MODBUS通讯协议说明(V8.0)
AIBUS 是厦门宇电自动化科技有限公司为 AI 系列显示控制仪表开发的通讯协议,能用简单的指令实
现全面的功能,其特点是写参数的同时亦可完成读功能,因此写参数时不破坏读的循环周期时间,加上指
令长度较少,因此具有比MODBUS更快的速率(尤其是有写入指令时,MODBUS的写入指令不能同时完
成读下位机数据的功能,会破坏读指令的周期,延长了读的循环周期) ,AIBUS 协议具有组建大规模过程
控制系统能力。AIBUS 采用了 16 位的求和校正码,下位机运算快速且通讯可靠,支持 9600 和 19200 等
不同波特率,在19200波特率下,上位机访问一台AI-7/8系列高性能仪表的平均时间仅20mS,访问AI-5
系列仪表的平均时间为40mS。仪表允许在一个RS485通讯接口上连接多达80台仪表(为保证通讯可靠,
仪表数量大于 60 台时需要加一个 RS485 中继器)。AI 系列仪表可以用 PC、触摸屏及 PLC 作为上位机,
其软件资源丰富,发展速度极快。基与PC 的上位机软件广泛采用WINDOWS作为操作环境,不仅操作直
观方便,而且功能强大。最新的工业平板触摸屏式 PC 的应用,更为工业自动化带来新的界面。这使得采
用仪表+上位机结构的测控系统价格大大低于传统 DCS 系统,而性能及可靠性也具备比传统 DCS 系统更
优越的潜力。宇电 AI-5 系列仪表写入寿命可达 100 万次,而 AI-7/8 系列仪表则允许连续写参数,如写给
定值或输出值,写入寿命高达10亿次,可利用上位机将仪表组成复杂调节系统。
一、接口规格
AI系列仪表使用异步串行通讯接口,接口电平符合RS232C 或RS485 标准中的规定。数据格式为1
个起始位,8 位数据,无校验位,1 个或 2 个停止位。通讯传输数据的波特率可调为 4800~19200 bit/S,
通常用9600 bit/S,单一通讯口所连接仪表数量大于40台或需要更快刷新率时,推荐用19200bit/S,当通
讯距离很长或通讯不可靠常中断时,可选4800bit/S。AI 仪表采用多机通讯协议,采用RS485通讯接口,
则可将1~80台的仪表同时连接在一个通讯接口上。
RS485通讯接口通讯距离长达1KM以上(部分实际应用已达3-4KM),只需两根线就能使多台AI仪
表与计算机进行通讯,优于RS232通讯接口。为使用普通个人计算机PC能作上位机,可使用RS232/RS485
或USB/RS485型通讯接口转换器,将计算机上的RS232通讯口或USB口转为RS485通讯口。宇电为此
专门开发了新型 RS232/RS485 及 USB/RS485 转换器,具备体积小、无需初始化而可适应任何软件、无
需外接电源、有一定抗雷击能力等优点。
按 RS485 接口的规定,RS485 通讯接口可在一条通讯线路上连接最多 32 台仪表或计算机。需要联
接更多的仪表时,需要中继器,也可选择采用1/2 或1/4 负载等芯片的通讯接口来增加可连接仪表的数量。
目前生产的 AI 仪表通讯接口采用低负载芯片并且一定的防雷击和防静电功能,无需中继器即可连接约 60
台仪表。
AI仪表的RS232 及RS485 通讯接口采用光电隔离技术将通讯接口与仪表的其他部分线路隔离,当通
讯线路上的某台仪表损坏或故障时,并不会对其它仪表产生影响。同样当仪表的通讯部分损坏或主机发生
故障时,仪表仍能正常进行测量及控制,并可通过仪表键盘对仪表进行操作,工作可靠性很高。16位校验
码的正确性是简单奇偶校验的30000倍,基本能保证数据可靠性。并且同一网络上有其他公司也采用主从
方式通讯的产品时,如PLC、变频器等,多数情况下AI系列仪表都不会受其它公司产品通讯干扰,不会产
生采集数据混乱或无法通讯的问题。但是AI仪表协议并不能保证其它公司产品能否正常工作,所以除非万
不得已,不应将AI仪表与其它产品混在一个RS485通讯总线上,而应分别使用不同的总线。
二、通讯指令
AI仪表采用16 进制数据格式来表示各种指令代码及数据。AI仪表软件通讯指令经过优化设计,标准
的通讯指令只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写容易,但能 100%完
整地对仪表进行操作;标准读和写指令分别如下:
读: 地址代号+52H(82)+要读的参数代号+0+0+校验码
写: 地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码 地址代号:为了在一个通讯接口上连接多台AI仪表,需要给每台AI仪表编一个互不相同的通讯地址。
有效的地址为 0~80(部分型号为 0~100),所以一条通讯线路上最多可连接 81 台 AI 仪表,仪表的通讯地
址由参数 Addr 决定。仪表内部采用两个重复的 128~208(16 进制为 80H~D0H)之间数值来表示地址代
号,由于大于128的数较少用到(如ASC方式的协议通常只用0-127之间的数),因此可降低因数据与地
址重复造成冲突的可能性。AI仪表通讯协议规定,地址代号为两个相同的字节,数值为(仪表地址+80H)。
例如:仪表参数Addr=10(16进制数为 0AH,0A+80H=8AH),则该仪表的地址代号为:
8AH 8AH
参数代号:仪表的参数用 1 个 8 位二进制数(一个字节,写为 16 进制数)的参数代号来表示。它在
指令中表示要读/写的参数名。
校验码:校验码采用16位求和校验方式,其中读指令的校验码计算方法为:
要读参数的代号×256+82+ADDR
写指令的校验码计算方法为以下公式做16 位二进制加法计算得出的余数(溢出部分不处理):
要写的参数代号×256+67+要写的参数值+ADDR
公式中 ADDR 为仪表地址参数值,范围是 0~80(注意不要加上 80H)。校验码为以上公式做二进制
16 位整数加法后得到的余数,余数为 2 个字节,其低字节在前,高字节在后。要写的参数值用 16 位二进
制整数表示。
返回数据:无论是读还是写,仪表都返回以下10个字节数据:
测量值PV+给定值SV+输出值MV及报警状态+所读/写参数值+校验码
其中PV、SV 及所读参数值均各占2个字节,代表一个16位二进制有符号补码整数,低位字节在前,
高位字节在后,整数无法表示小数点,要求用户在上位机处理;MV 占一个字节,按 8 位有符号二进制数
格式,数值范围-110~+110,状态位占一个字节,校验码占 2 个字节,共 10 个字节。不同型号仪表返回
各数据含义如下:
仪表型号 调节器
温控器
AI-708M
巡检仪
AI-708H/808H
流量通道
AI-808H
温度/压力通道
AI-301M频率调
节器/IO模块
PV 测量值PV 测量值 瞬时流量测量值
温度测量值,单位
为0.1℃
测量值PV
SV 当前给定
值SV
通道号
(1-6)
累积流量低位
或批量控制测量值
压力测量值,单位
为0.001MPa
当前给定值SV
MV 输出值MV 状态字节B 调节输出值MV
状态字节 状态字节A 状态字节A
累积流量高位
或批量控制给定值
补偿前流量或频
率值,单位0.1Hz 状态字节A
参数值 表示要读或写的参数的值
返回校验码:为 PV+SV+(报警状态*256+MV)+参数值+ADDR 按整数加法相加后得到的余数。计
算校验码时,每2 个 8位字节组成1 个16 位二进制整数进行加法运算,溢出数忽略,余数作为校验码。
状态字节A表示仪表部分状态,其含义如下(位7固定为0):
调节器及单显表(V7.0) AI-702M/704M/706M 调节器、温控器及单显表(V7.5)
位0 上限报警(HIAL) 上限报警(HIAL) HIAL
位1 下限报警(LoAL) 下限报警(LoAL) LoAL
位2 正偏差报警(dHAL) 0 HdAL
位3 负偏差报警(dLAL) 0 LdAL
位4 输入超量程报警(orAL) 超量程报警(orAL) Oral
位5 AL1状态,0 为动作 0 备用(0)
位6 AL2状态,0 为动作 0 0表示MV为输出值,1为状态字B
巡检仪具备状态字节B。状态字节B的位 0~6分别表示 OP1、OP2、AL1、AL2、AU1、AU2 及MIO
口的输入状态,0表示为未接通或未输出,1 表示外部开关接通或有输出,OUTP或AUX做调节输出时则
对应位固定为0。利用功能可将对应端口作为上位机开关量的输出或输出,应用ALP 参数设置没有用到的
报警端口均可作为I/O端口,利用修改NONC(常开/常闭)参数即可实现对开关量的输出,作为开关量输
入时,应将nonc对应位设置为常开,若读入信号为1,则表示外部开关闭合或有信号输入。
AI仪表可读/写的参数代号表(V8.0 518/518P/708/708P/719/719P)
参数代号 AI-518/518P 说明
00H 给定值 单位同测量值
01H HIAL 上限报警 单位同测量值
02H LoAL下限报警 单位同测量值
03H dHAL 正偏差报警 单位同测量值
04H dLAL负偏差报警 单位同测量值
05H AHYS报警回差 单位同测量值
06H CtrL控制方式 0,ONOFF;1,APID;2,nPID;3,PoP;4,SoP
07H P比例带 单位同测量值
08H I 积分时间 秒
09H d 微分时间 0.1秒
0AH CtI 控制周期 0.1秒
0BH InP输入规格 见使用说明书
0CH dPt 小数点位置 0,0;1,0.0;2,0.00,3,0.000;如读入的以上数据+128,则表示所有测量值
及与测量值使用相同单位的参数(无论是温度或线性信号),均需要除10后 4舍 5
入后再进行显示处理。例如,dPt 数值为 128+1=129,读入的测量值或相关参数值
16位整数值为 1000,则实际显示应为 10.0,若 dPt数值为 1,则实际显示的数据
为 100.0;该参数亦可以写入,但写入时不得加 128,写数据范围是 0~3。
0DH ScL 刻度下限值 单位同测量值
0EH ScH刻度上限值 单位同测量值
0FH ALP报警输出选择 含义见说明书
10H Sc 测量平移修正 单位同测量值
11H oP1 主输出方式 0,SSR;1,rELy;2,0-20;3,4-20
12H OPL 输出下限 %
13H OPH输出上限 %
14H CF功能选择 含义见说明书
15H 仪表型号特征字 5180(AI-518)或5187(AI-518P)
16H Addr 通讯地址
17H FILt数字滤波
18H** AMAn 手动/自动选择 0,MAN;1,Auto;2,FMAn;3,FAut
19H Loc参数封锁
1AH** MV手动输出值
1BH Srun 运行/停止选择 0,run;1,StoP;2,HoLd
1CH CHYS 控制回差 单位同测量值
1DH At 自整定选择 0,OFF;1,on;2;FoFF
1EH SPL 给定值下限 单位同测量值
1FH SPH 给定值上限 单位同测量值
20H Fru 单位及电源频率 0,50C;1,50F;2,60C;3,60F
21H OHEF OPH有效范围 单位同测量值
22H Act 正/反作用 0,rE;1,dr;2,rEbA;3,drbA
23H AdIS 报警选择 0,OFF;1,on
24H Aut 冷输出规格 0,SSR;1,rELy;2,0-20;3,4-20
25H P2 冷输出比例带 单位同测量值
26H I2 冷输出积分时间 秒
27H d2 冷输出微分时间 0.1秒
28H CtI2 冷输出周期 0.1秒
29H Et 事件输入类型 0,nonE;1,ruSt;2,SP1.2;3,PId2
2AH*** SPr 升温速率限制 测量值单位/(分钟)(需等同测量值进行单位处理)
2BH* Pno 程序段数 整数
2CH* PonP 上电选择 0,Cont;1,StoP;2,run1;3,dASt;4,HoLd
2DH* PAF 程序参数 功能见说明书
2EH* STEP 程序段号 整数
2FH* 已运行时间 0.1分或 0.1小时,由 PAF参数决定
30H* 事件输出状态 0,无事件输出;1,事件 1(AL1)动作;2,AL2动作;3,AL1及 AL2 动作
31H** OPrt软启动时间
32H** Strt 阀门转动时间 定义阀门转动需要的时间
33H** SPSL 外给定下限 当外给定输入口用于测量阀门反馈信号时,设定阀门定位值 1
34H** SPSH外给定上限 当外给定输入口用于测量阀门反馈信号时,设定阀门定位值 2
35H** Ero 故障输出值 定义传感器输入故障或超量程时,仪表的调节输出值
36H** AF2 功能参数 2
37H~3FH 备用
40H~47H EP1~EP8
48H** 阀门位置(只读) 数值 0~25600对应 0~100%,读取数除以 256方为百分比数
49H~4FH 备用
50H~51H SP 1、t 1 SP1 为给定值1,t1为首段程序值
52H~ SP2 ~ 程序段数据, 数量由 Pno参数定义
说明:
1、带一个*星号的参数仅为 AI-518P/708P/719P 可用,若对 AI-518/708/719 读写则视为无效参数代
号,带**的参数是AI-719等仪表方可使用,带***的参数是AI-518P/708P/719/719P等型号方可使用。
2、如果向仪表读取参数代号在表格中以外的参数(无效参数代号或备用参数代号),则仪表返回的参
数值,高位值为 127(若读成整数就是 32512~32767,由于 AI 系列仪表参数最大设置范围是 32000,所
以 32512 以上参数可以作为读错参数代号的标志),在上位机程序中予以处理;若读取参数代号大于有效
程序段的最后一个数值(0B4H),则下位机视同传输出错,不回应。
3、带手动调节功能的仪表处于手动状态时,可通过写1AH参数来调节手动输出值。
4、15H为仪表的型号特征字,不同型号仪表其数字不同,上位机可用于区分仪表型号:
型号特征字
AI-518(V8.0)智能温控器 5180
AI-518P(V8.0)程序型智能温控器 5187
AI-708(V8.0)高精度智能温控器 7080
AI-708P(V8.0)高精度程序型智能温控器 7087
AI-719(V8.0)高精度智能温控器/调节器 7190
AI-719P(V8.0)高精度程序型智能温控器/调节器 7197
AI-702M/704M/706M 768
AI-708H/808H(流量通道) 256(普通累积模式);257(批量控制模式)
AI-808H(温度及压力通道) 258
AI-301M 512
AI-7048四路PID控制器 7048
针对不同型号仪表,上位机应对其传输数据做不同模式处理。
5、累积流量清零:AI-708H/808H 的流量累积参数 FLJH 及 FLJL 只能清零,不能改写,清零方法是
向FLJH写入30808(占 2个地址时,必须是用第一个地址),即可清零累积流量FLJH、FLJL及补偿前流
量累积 EJH 及 EJL,同时 CLn 值加 1,CLn 为只读,不可改写。向参数代号 2AH 写入 31808,则可清除
批量控制累积值,同时复位批量控制输出继电器。
三、编程方法
系统采用主从式多机通讯结构,每向仪表发一个指令,仪表返回一个数据。编写上位机软件时,注意
每条有效指令仪表应在 0~150mS 内作出应答,而上位机也必须等仪表返回数据后,才能发新的指令,否
则将引起错误。如果仪表超过最大响应时间(150mS)仍没有应答,则原因可能无效指令、通讯线路故障,
仪表没有开机,通讯地址不合等,此时上位机应重发指令或跳过改地址仪表。例如,将地址(参数ADDR)
为1的仪表的给定值(参数代号0)写为 100.0℃(整数为 1000),用VB 的编程方法如下:
1、初始化通讯口,包括与仪表相同的波特率,数据位 8,停止位 2,无校验。注意某些厂家的
RS232/RS485 通讯转换器对RTS、 DTR等控制线有一定的要求,上位机软件必须对这些控制线进型编程。
用本公司生产的RS232/RS485转换器则可免去对这些线进行编程。
2、VB编程指令(写SP1 为 1000)为:COMM1.OUTPUT=
CHR$(129)+CHR$(129)+CHR$(67)+CHR$(0)+CHR$(232)+CHR$(3)+CHR$(44)+CHR$(4)
3、小数点处理(仅V8.0 版本以上):为提升效率,仪表传送的所有数值均为16位二进制补码整数,
因此上位及必须将整数按一定规则转换为带小数点的实际数据,方法是在上位机程序启动后,应优先读取
参数 dPt(0CH)获得测量信号的小数点位置。注意:如果 dPt 的数值大于或等于 128,则表示所传输的
测量值,以及与测量值相同单位的参数应该除以10后进行显示,当对下位机写这类参数值时,则应将显示
的数取消小数点成为整数,再乘以10,按 16位二进制补码下传数据。
通讯的技术指标如下:
仪表型号 AI-301、AI-7/8系列仪表(V7.X) AI-5XX系列仪表
最迟返回时间(4800bit/S条件下) 100mS 150mS
最快返回时间(19200 bit/S 条件下) 5mS 5mS
平均读写周期(19200bit/S 条件下) 20mS 50mS 参数允许改写次数 10亿次 100万次
注:对于 AI-5XX 系列仪表,写入参数周期不易低于 2 分钟,否则可能导致仪表在 5 年保修期内损坏
存储单元损坏。
四、MODBUS兼容通信协议
从V8.2版本开始,AI系列仪表可选择使用MODBUS通信协议,AI仪表能支持MODBUS协议下的 2
条子指令,以更广泛地与其它MODBUS 设备相互通信,为保证速率,AI仪表采用 RTU(二进制)模式,
波特率必须设置为9600bit/S,无奇偶校验位,支持03H(读参数及数据)及06H(写单个参数)这两条指
令。
对于518/708/708P/719/719P 等型号仪表的03指令,要求一次性读取4个数据,指令如下:
ADDR+03H+0+要读的参数代号+0+4+CRC 校验码
返回数据为:ADDR+03H+08H+测量值PV 高位+测量值PV低位+给定值 SV高位+SV低位+报警状
态+输出值MV+所读参数值高位+所读参数值低位+CRC校验码低位+CRC校验码高位
写单个参数指令为:
ADDR+06H+0+要写的参数代号+要写入的数据高位+要写入数据低位+CRC校验码
由于 MODBUS 协议的本身的限制,使用写指令无法返回测量值等信息,会导致写入时测量值无法刷
新,因此应尽量减少写指令的使用,以免影响系统性能。
|