详情

宇电MODBUS通讯协议说明

来源:厦门宇电自动化科技有限公司2022/7/27 15:23:064700
导读:

一、仪表参数代号表

AI仪表可读/写的参数代号表(V8.2  516/516P/526/526P/719/719P)

参数代号

Modbus-RTU寄存器地址

AI-719/719P

说明

00H

40001

给定值

单位同测量值

01H

40002

HIAL上限报警

单位同测量值

02H

40003

LoAL下限报警

单位同测量值

03H

40004

dHAL正偏差报警

单位同测量值

04H

40005

dLAL负偏差报警

单位同测量值

05H

40006

AHYS报警回差

单位同测量值

06H

40007

CtrL控制方式

0,ONOFF;1,APID;2,nPID;3,PoP;4,SoP

07H

40008

P比例带

单位同测量值

08H

40009

I 积分时间

09H

40010

d 微分时间

0.1秒

0AH

40011

CtI控制周期

0.1秒

0BH

40012

InP输入规格

见使用说明书

0CH

40013

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

40014

ScL刻度下限值

单位同测量值

0EH

40015

ScH刻度上限值

单位同测量值

0FH

40016

ALP报警输出选择

含义见说明书

10H

40017

Sc测量平移修正

单位同测量值

11H

40018

oP1主输出方式

0,SSR;1,rELy;2,0-20;3,4-20

12H

40019

OPL输出下限

%

13H

40020

OPH输出上限

%

14H

40021

CF功能选择

含义见说明书

15H

40022

仪表型号特征字

5180(AI-518)或5187(AI-518P)

16H

40023

Addr 通讯地址

 

17H

40024

FILt数字滤波

 

18H

40025

AMAn手动/自动选择

0,MAN;1,Auto;2,FMAn;3,FAut

19H

40026

Loc参数封锁

 

1AH

40027

MV手动输出值

 

1BH

40028

Srun 运行/停止选择

0,run;1,StoP;2,HoLd

1CH

40029

CHYS 控制回差

单位同测量值

1DH

40030

At 自整定选择

0,OFF;1,on;2;FoFF

1EH

40031

SPL 给定值下限

单位同测量值

1FH

40032

SPH 给定值上限

单位同测量值

20H

40033

Fru单位及电源频率

0,50C;1,50F;2,60C;3,60F

21H

40034

OHEF OPH有效范围

单位同测量值

22H

40035

Act 正/反作用

0,rE;1,dr;2,rEbA;3,drbA

23H

40036

AdIS 报警选择

0,OFF;1,on

24H

40037

Aut 冷输出规格

0,SSR;1,rELy;2,0-20;3,4-20

25H

40038

P2 冷输出比例带

单位同测量值

26H

40039

I2 冷输出积分时间

27H

40040

d2 冷输出微分时间

0.1秒

28H

40041

CtI2 冷输出周期

0.1秒

29H

40042

Et 事件输入类型

0,nonE;1,ruSt;2,SP1.2;3,PId2

2AH

40043

SPr 升温速率限制

测量值单位/(分钟)(需等同测量值进行单位处理)

2BH

40044

Pno 程序段数

整数

2CH

40045

PonP 上电选择

0,Cont;1,StoP;2,run1;3,dASt;4,HoLd

2DH

40046

PAF 程序参数

功能见说明书

2EH

40047

STEP 程序段号

整数

2FH

40048

已运行时间

0.1分或0.1小时,由PAF参数决定

30H

40049

事件输出状态

0,无事件输出;1,事件1(AL1)动作;2,AL2动作;3,AL1及AL2动作

31H

40050

OPrt软启动时间

 

32H

40051

Strt阀门转动时间

定义阀门转动需要的时间

33H

40052

SPSL外给定下限

当外给定输入口用于测量阀门反馈信号时,设定阀门定位值1

34H

40053

SPSH外给定上限

当外给定输入口用于测量阀门反馈信号时,设定阀门定位值2

35H

40054

Er*输出值

定义传感器输入故障或超量程时,仪表的调节输出值

36H

40055

AF2

功能参数2

37H~3FH

40056~40064

备用

 

40H~47H

40065~40072

EP1~EP8

 

48H

40073

阀门位置(只读)

数值0~25600对应0~100%,读取数除以256方为百分比数

49H~4FH

40074~40080

备用

 

50H~51H

40081~40082

SP 1、t 1

SP1为给定值1,t1为首段程序值

52H~

40083~

SP2 ~  程序段数据,数量由Pno参数定义

 

说明:

1、带一个星号的参数仅为AI-516P/526P/719P可用,若对AI-516/526/719读写则视为无效参数代号,带的参数是AI-719等仪表方可使用,带的参数是AI-516P/526P/719P等型号方可使用。

2、如果向仪表读取参数代号在表格中以外的参数(无效参数代号或备用参数代号),则仪表返回的参数值,高位值为127(若读成整数就是32512~32767,由于AI系列仪表参数大设置范围是32000,所以32512以上参数可以作为读错参数代号的标志),在上位机程序中予以处理;若读取参数代号大于有效程序段的后一个数值(0B4H),则下位机视同传输出错,不回应。

3、带手动调节功能的仪表处于手动状态时,可通过写1AH参数来调节手动输出值。

 

AI仪表可读/写的参数代号表(AI- 5201 )

参数代号

Modbus-RTU寄存器地址

AI-5201

00H

40001

(空)

01H

40002

HIAL上限报警

02H

40003

LoAL下限报警

03H

40004

HdAL第二上限报警

04H

40005

LdAL第二下限报警

05H

40006

AHYS报警回差

06H

40007

(空)

07H

40008

(空)

08H

40009

(空)

09H

40010

(空)

0AH

40011

(空)

0BH

40012

InP输入规格

0CH

40013

dPt小数点位置

0DH

40014

SCL信号刻度下限

0EH

40015

SCH信号刻度上限

0FH

40016

AOP报警输出定义

10H

40017

Scb输入平移修正

11H

40018

OPt主输出类型

12H

40019

(空)

13H

40020

(空)

14H

40021

(空)

15H

40022

仪表特征码(与SV的值一样,且可修改)

16H

40023

仪表地址(读/写)

17H

40024

FILt输入数字滤波

18H

40025

(空)

19H

40026

Loc参数封锁

 

二、编程方法

系统采用主从式多机通讯结构,每向仪表发一个指令,仪表返回一个数据。编写上位机软件时,注意每条有效指令仪表应在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(写单个参数)这两条指令。

对于516/516P/526/526P/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协议的本身的限制,使用写指令无法返回测量值等信息,会导致写入时测量值无法刷新,因此应尽量减少写指令的使用,以免影响系统性能。

五、仪表返回值说明

仪表返回的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

参数值

表示要读或写的参数的值

 

状态字节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,则表示外部开关闭合或有信号输入。

 

六、MODBUS通讯实例

 

对于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;

版权与免责声明:凡本网注明“来源:全球工厂网”的所有作品,均为浙江兴旺宝明通网络有限公司-全球工厂网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:全球工厂网”。违反上述声明者,本网将追究其相关法律责任。 本网转载并注明自其它来源(非全球工厂网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

展开全部