莆田AIBUS和MODBUS通信协议说明(V8.0)
AIBUS是厦门莆田自动化技术有限公司为AI系列显示控制仪表开发的通信协议,其特点是可以用简单的命令实现综合功能,在写入参数的同时可以完成读取功能,因此在写入参数时不会损害读取的周期时间,命令长度小,因此比MODBUS的速度更快(尤其是有写入命令的情况下,不能同时读取MODBUS的写入命令),AIBUS使用16位求和校正代码在19200传输速率下,上层计算机访问AI-7/8系列高性能仪表的平均时间仅为20毫秒,访问AI-5系列仪表的平均时间为40毫秒。仪表允许在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到19200bit/S之间,通常使用9600 bit/S,如果连接到单个通信端口的仪表数超过40个,或者需要更快的刷新率,建议使用19200 bit/S。如果通信距离较长或通信不稳定,则可以选择4800 bit/S。AI米使用多机通信协议,使用RS485通信接口,可以同时将1至80米连接到一个通信接口。
RS485通信接口的通信距离最长可达1公里以上(有些实际应用达到3-4公里),与RS232通信接口相比,多条AI米可以与计算机通信,只需要两行。如果要将普通个人计算机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位奇偶校验代码的准确性是简单奇偶校验的30,000倍,基本上可以确保数据可靠性。此外,如果同一网络上的其他公司也采用主从通信产品(如PLC、逆变器等),大多数情况下,AI系列仪表不会受到其他公司产品通信的干扰,也不会出现收集数据混乱或无法通信的问题。但是,AI仪表协议不能保证其他公司产品正常工作,因此不得不将AI仪表和其他产品与RS485通信总线混淆,必须分别使用不同的总线。
二、来文准则
AI计以十六进制数据格式表示各种命令代码和数据。AI仪表软件通信命令是优化设计,标准通信命令有两个,一个是读取命令,一个是写入命令,两个指令可以轻松编写上层机械软件,但可以100%完全操作仪表。标准的读写命令如下:
读取:地址代码52H(82)要读取的参数代码0检查代码
写:地址代码43H(67)要写的参数代码数低字节写数高字节检查代码
地址代码:要将多个AI计连接到一个通信接口,必须为每个AI计创建不同的通信地址。有效地址为0~80(有些型号为0~100),因此一条通信线路最多可以连接81个AI米,仪表的通信地址由Addr参数确定。仪表内部使用两个重复的128~208(十六进制数为80H~D0H)之间的数值来表示地址代码。由于小于128的数字(例如,ASC式协议通常仅使用0-127之间的数字)较少,因此可以减少数据和地址重复引起冲突的可能性。AI米通信协议规定地址代码为两个相同的字节,数值为(米地址80H)。例如:如果米参数Addr=10(十六进制数为0AH,0A 80H=8AH),则米地址代码为:
8AH 8AH
参数代码:仪器的参数用一个8位二进制数(1字节,以十六进制数编写)的参数代码表示。指示要在命令中读取和写入的参数的名称。
检查代码:检查代码使用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 | 累积流量高位 或批量控制给定值 | 补偿前流量或频率值,单位0.1Hz | 调节输出值MV |
状态字节 | 状态字节A | 状态字节A | 状态字节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)智能温控器 | 5180 |
AI-518P)程序型智能温控器 | 5187 |
AI-708)高精度智能温控器 | 7080 |
AI-708P)高精度程序型智能温控器 | 7087 |
AI-719)高精度智能温控器/调节器 | 7190 |
AI-719P)高精度程序型智能温控器/调节器 | 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协议的本身的限制,使用写指令无法返回测量值等信息,会导致写入时测量值无法刷新,因此应尽量减少写指令的使用,以免影响系统性能。
1.《【电源50c是什么意思】莆田AIBUS和MODBUS通信协议说明(版本V8。x)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【电源50c是什么意思】莆田AIBUS和MODBUS通信协议说明(版本V8。x)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3057092.html