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个字节。不同型号仪表返回各数据含义如下: 仪表型号 PV SV MV 状态字节 参数值 调节器 温控器 测量值PV AI-708M巡检仪 测量值 AI-708H/808H 流量通道 AI-808H 温度/压力通道 AI-301M频率调节器/IO模块 测量值PV 瞬时流量测量值 当前给定通道号 累积流量低位 值SV (1-6) 或批量控制测量值 输出值MV 状态字节B 累积流量高位 状态字节A 状态字节A 或批量控制给定值 表示要读或写的参数的值 温度测量值,单位为0.1℃ 压力测量值,单位当前给定值SV 为0.001MPa 补偿前流量或频调节输出值MV 率值,单位0.1Hz 状态字节A 返回校验码:为PV+SV+(报警状态*256+MV)+参数值+ADDR按整数加法相加后得到的余数。计算校验码时,每2个8位字节组成1个16位二进制整数进行加法运算,溢出数忽略,余数作为校验码。
状态字节A表示仪表部分状态,其含义如下(位7固定为0): 位0 位1 位2 位3 位4 位5 位6 调节器及单显表(V7.0) 上限报警(HIAL) 下限报警(LoAL) 正偏差报警(dHAL) 负偏差报警(dLAL) 输入超量程报警(orAL) AL1状态,0为动作 AL2状态,0为动作 AI-702M/704M/706M 上限报警(HIAL) 下限报警(LoAL) 0 0 超量程报警(orAL) 0 0 调节器、温控器及单显表(V7.5) HIAL LoAL HdAL LdAL Oral 备用(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)
参数代号 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH Modbus-RTU寄存器地址 40001 40002 40003 40004 40005 40006 40007 40008 40009 40010 40011 40012 40013 AI-518/518P 给定值 HIAL上限报警 LoAL下限报警 dHAL正偏差报警 dLAL负偏差报警 AHYS报警回差 CtrL控制方式 P比例带 I 积分时间 d 微分时间 CtI控制周期 InP输入规格 dPt小数点位置 说明 单位同测量值 单位同测量值 单位同测量值 单位同测量值 单位同测量值 单位同测量值 0,ONOFF;1,APID;2,nPID;3,PoP;4,SoP 单位同测量值 秒 0.1秒 0.1秒 见使用说明书 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。 单位同测量值 单位同测量值 含义见说明书 单位同测量值 0,SSR;1,rELy;2,0-20;3,4-20 % % 含义见说明书 5180(AI-518)或5187(AI-518P) 0,MAN;1,Auto;2,FMAn;3,FAut 0,run;1,StoP;2,HoLd 单位同测量值 0,OFF;1,on;2;FoFF 单位同测量值 单位同测量值 0,50C;1,50F;2,60C;3,60F 单位同测量值 0,rE;1,dr;2,rEbA;3,drbA 0,OFF;1,on 0,SSR;1,rELy;2,0-20;3,4-20 单位同测量值 秒 0.1秒 0.1秒 0,nonE;1,ruSt;2,SP1.2;3,PId2 测量值单位/(分钟)(需等同测量值进行单位处理) 整数 0,Cont;1,StoP;2,run1;3,dASt;4,HoLd 功能见说明书 整数 0.1分或0.1小时,由PAF参数决定 0,无事件输出;1,事件1(AL1)动作;2,AL2动作;3,AL1及AL2动作 定义阀门转动需要的时间 0DH 0EH 0FH 10H 11H 12H 13H 14H 15H 16H 17H 18H** 19H 1AH** 1BH 1CH 1DH 1EH 1FH 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 2AH*** 2BH* 2CH* 2DH* 2EH* 2FH* 30H* 31H** 32H** 40014 40015 40016 40017 40018 40019 40020 40021 40022 40023 40024 40025 40026 40027 40028 40029 40030 40031 40032 40033 40034 40035 40036 40037 40038 40039 40040 40041 40042 40043 40044 40045 40046 40047 40048 40049 40050 40051 ScL刻度下限值 ScH刻度上限值 ALP报警输出选择 Sc测量平移修正 oP1主输出方式 OPL输出下限 OPH输出上限 CF功能选择 仪表型号特征字 Addr 通讯地址 FILt数字滤波 AMAn手动/自动选择 Loc参数封锁 MV手动输出值 Srun 运行/停止选择 CHYS 控制回差 At 自整定选择 SPL 给定值下限 SPH 给定值上限 Fru单位及电源频率 OHEF OPH有效范围 Act 正/反作用 AdIS 报警选择 Aut 冷输出规格 P2 冷输出比例带 I2 冷输出积分时间 d2 冷输出微分时间 CtI2 冷输出周期 Et 事件输入类型 SPr 升温速率 Pno 程序段数 PonP 上电选择 PAF 程序参数 STEP 程序段号 已运行时间 事件输出状态 OPrt软启动时间 Strt阀门转动时间 33H** 34H** 35H** 36H** 37H~3FH 40H~47H 48H** 49H~4FH 50H~51H 52H~ 40052 40053 40054 40055 40056~400 40065~40072 40073 40074~40080 40081~40082 40083~ SPSL外给定下限 SPSH外给定上限 Ero故障输出值 AF2 备用 EP1~EP8 阀门位置(只读) 备用 SP 1、t 1 SP2 ~ 程序段数据,数量由Pno参数定义 当外给定输入口用于测量阀门反馈信号时,设定阀门定位值1 当外给定输入口用于测量阀门反馈信号时,设定阀门定位值2 定义传感器输入故障或超量程时,仪表的调节输出值 功能参数2 数值0~25600对应0~100%,读取数除以256方为百分比数 SP1为给定值1,t1为首段程序值 说明:
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)智能温控器 AI-518P(V8.0)程序型智能温控器 AI-708(V8.0)高精度智能温控器 AI-708P(V8.0)高精度程序型智能温控器 AI-719(V8.0)高精度智能温控器/调节器 AI-719P(V8.0)高精度程序型智能温控器/调节器 AI-702M/704M/706M AI-708H/808H(流量通道) AI-808H(温度及压力通道) AI-301M AI-7048四路PID控制器 型号特征字 5180 5187 7080 7087 7190 7197 768 256(普通累积模式);257(批量控制模式) 258 512 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位二进制补码下传数据。
通讯的技术指标如下:
仪表型号 最迟返回时间(4800bit/S条件下) 最快返回时间(19200 bit/S条件下) 平均读写周期(19200bit/S条件下) 参数允许改写次数 存储单元损坏。
四、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协议的本身的,使用写指令无法返回测量值等信息,会导致写入时测量值无法刷新,因此应尽量减少写指令的使用,以免影响系统性能。
AI-301、AI-7/8系列仪表(V7.X) 100mS 5mS 20mS 10亿次 AI-5XX系列仪表 150mS 5mS 50mS 100万次 注:对于AI-5XX系列仪表,写入参数周期不易低于2分钟,否则可能导致仪表在5年保修期内损坏
厦门宇电自动化科技有限公司
2010年10月
补充说明:
对于518/708/708P/719/719P等型号仪表的03指令,要求一次性读取4个数据,指令如下:
ADDR+03H+0+要读的参数代号+0+4+CRC校验码
返回数据为:ADDR+03H+08H+测量值PV高位+测量值PV低位+给定值SV高位+SV低位+报警状
态+输出值MV+所读参数值高位+所读参数值低位+CRC校验码低位+CRC校验码高位
例如:需读SV给定值,给定值的MODBUS寄存器的地址为40001(保持型寄存器),为宇电MODBUS兼容协议规定需每次读取的长度为4个字,相当于40001,40002,40003, 40004;发送的指令为01 03 00 00 00 04 CRC:其中01代表仪表的地址号,03为功能码读保持型寄存器,00 00为参数代号也就是MODBUS寄存器起始地址0000代表40001,00 04代表读取的长度为4个字,宇电仪表只支持4个字长度,不支持更多或低于4个。最后为CRC校验。 返回数据:
不论读的起始地址何值,返回数据都是:ADDR+03H+08H+测量值PV高位+测量值PV低位+
给定值SV高位+SV低位+报警状态+输出值MV+所读参数值高位+所读参数值低位+CRC校验码低位+CRC校验码高位这个格式。如读40001开始的4个字的长度,那么返回值PV保存在40001、SV在40002,报警状态和MV在40003,所读的参数值在40004中。
举例读取上限报警值:
01 03 00 01 00 04 CRC (起始地址为40002)
返回值的存放地址,40002为PV,40003为SV,40004为MV和报警状态、40005为上限报警值; 读取下限警报
01 03 00 02 00 04 CRC (起始地址为40003)
返回值的存放地址,40003为PV,40004为SV,40005为MV和报警状态、40006为下限报警值;
宇电的兼容型MODBUS协议只支持写单个参数指令,不支持多个。指令如下; ADDR+06H+0+要写的参数代号+要写入的数据高位+要写入数据低位+CRC校验码
由于MODBUS协议的本身的,使用写指令无法返回测量值等信息,会导致写入时测量值无法刷新,因此应尽量减少写指令的使用,以免影响系统性能。
如果需写SV值,也就是寄存器地址为40001写入值为100.0 发送的指令为:01 06 00 00 03 E8 CRC
写指令不支持返回测量值等信息,只返回本身写入的参数值,也就是返回在40001中的数据为100.0;
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务