1、数据高字节数据低字节CRC低字节CRC高字节8位字节 Modbus通讯协议规定了2种通讯方式。RTU(REMOTETERMINALUNIT)方式通讯采用8位字节的二进制数据通讯,数据校验采用CRC循环冗余校验,通讯速度较快;ASCII方式采用7位ASCII码进行通讯,数据校验采用LRC逻辑冗余校验,通讯速率较慢。目前,我公司的Modbus通讯只是采用的RTU模式。针对MODBUS在电磁流量转换器上的应用,在MODBUS的功能码中,我公司只用了3个功能码:03、04、06。04号功能码主要用来读取流量信息,包括瞬时流量、流速、流量百分比、电极电阻、正向累计、反向累计、仪表口径、报警状态等;03号
2、功能码用来读取键盘参数,06号功能码用来设置键盘参数。现场仪表的流量信息,由瞬时流量、流速、百分比、报警状态等参数进行反映,参数存放地址定义如下: 参数存放首址 参数定义 参数取值范围 01 瞬时流量 数据长度 04 流速 07 百分比 10 空管电阻 13 正向累计 16 反向累计 19 仪表口径 22 报警状态读取流量信息时,主机发出功能编码04:读取输入寄存器值。参数存放首址对应输入寄存器首址的低字节。主机发送命令格式如下:从机地址(1Byte) + 功能编码(1Byte) + 输入寄存器首址 (2Byte) + 输入寄存器个数(2Byte) + CRC校验值(2Byte)从机地址值范围
3、在1-99输入寄存器高字节全部是0,低字节范围在0109,对应上面表格中参数存放首址。输入寄存器个数高字节是0,低字节是3从机回应格式如下:从机地址(1Byte) + 功能编码(1Byte) + 读出的字节个数(1Byte) + 字节内容(6Byte) + CRC校验值(2Byte)返回的参数占6个字节,故字节个数是6。注:读取流量信息时,瞬时流量、流速、百分比、报警状态等参数是分别读取的,即一次只能读取一个参数。但是可以根据用户需要对程序进行修改,一次性读取所有的8个参数或一次读取其中的几个参数。读出的流量信息有两种表示方法:整形数表示法和浮点数表示法。浮点数格式采用IEEE标准方式表示如下
4、: Bit31。Bit24 ,Bit23。Bit0 8位价码 23位尾数+数符在23位尾数中,不存放最高位的1,最高位为1表示负数,为0表示正数,这样23位尾数还需要加上隐含的最高位的1,构成24位的小数尾数,即尾数为大于等于0.5,小于1的小数。最高8位为价码,采用偏移码方式,价码等于实际值减去127。接收时先接收价码(Bit31。Bit24),然后是第二字节(Bit7。Bit0),第三字节(Bit15。Bit8),最后是第四字节(Bit23。Bit16)。比如接收的4个字节是:87H D7H E3H 40H,则浮点算法如下:87H是价码,换算成10进制是135,减去127,故价码值是8。浮
5、点数的整数部分为28=256。第二字节是D7H,换算成10进制是215,215/256=0.8398第三字节是E3H,换算成10进制是227,227+0.8398=227.8398,227.8398/256=0.89第四字节是40H,换算成10进制是64:第四字节如果大于128,则浮点数为负;如果小于128,则浮点数为正,因为隐含了最高位的1故第四字节值还应加上128。64+128=192,192+0.89=192.89,192.89/256=0.7535,这是浮点数的小数部分。故浮点数值为浮点数的整数部分乘上浮点数的小数部分,即256*0.7535=192.89。详细信息结构定义如下:1)、
6、瞬时流量信息定义 主机发送: 01H 04H 00H 03H E1H CBH从机响应:01H04H06HD0D1D2D3D4D5CRC16低CRC16高如果数据以整形数格式进行传输,则D0、D1代表瞬时流量整数部分的高4位(16进制),D2、D3代表瞬时流量整数部分的低4位(16进制),D4、D5代表瞬时流量小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是瞬时流量浮点数值。D4代表流向和流量单位,定义如下:D4=Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0Bit7=0:流向正 Bit7=1:流向负流量单位定义如下:B3B2B1B
7、01234567单位m3/sm3/minm3/hm3/dL/sL/minL/hL/d89101112131415t/st/mint/ht/dkg/skg/minkg/hkg/dD5保留。2)、流速信息定义 F1H CAH如果数据以整形数格式进行传输,则D0、D1代表流速整数部分的高4位(16进制),D2、D3代表流速整数部分的低4位(16进制),D4、D5代表流速小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是流速浮点数值。D4、D5:保留。3)、流量百分比信息定义 07H如果数据以整形数格式进行传输,则D0、D1代表百分比值整数部分的高4位(16进制),D2、
8、D3代表百分比值整数部分的低4位(16进制),D4、D5代表百分比值小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是百分比的浮点数值。4)、电极电阻信息定义 0AH 90H 09H如果数据以整形数格式进行传输,则D0、D1代表电极电阻整数部分的高4位(16进制),D2、D3代表电极电阻整数部分的低4位(16进制),D4、D5代表电极电阻小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是电极电阻浮点数值。5)、正向总量信息定义 0DH 21H C8H如果数据以整形数格式进行传输,则D0、D1代表正向总量整数部分的高4位(16进制),D
9、2、D3代正向总量整数部分的低4位(16进制),D4、D5代表正向总量小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是正向总量浮点数值。D5:D4:正向总量单位,定义如下:0.001L0.01L0.1L1L0.001m30.01m30.1m31m30.001USgal0.01USgal0.1USgal1USgal0.001igal0.01igal0.1igal1igal16171819202122230.001kg0.01kg0.1kg1kg0.001t0.01t0.1t1t6)、反向总量信息定义 10H B1H CEH如果数据以整形数格式进行传输,则D0、D1
10、代表反向总量整数部分的高4位(16进制),D2、D3代表反向总量整数部分的低4位(16进制),D4、D5代表反向总量小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是反向总量浮点数值。反向总量单位,定义如下:7)、仪表口径信息定义 13H 41H如果数据以整形数格式进行传输,则D0、D1代表仪表口径整数部分的高4位(16进制),D2、D3代表仪表口径整数部分的低4位(16进制),D4、D5代表仪表口径小数部分值(16进制)。如果数据以浮点数格式进行传输,则D0、D1、D2、D3是仪表口径浮点数值。定义如下:浮点值代表管径2003014002503116003003
11、218003503320004003422004503524002550036260060037280040700383000502480065900802610001002711001252812001502913008)、报警状态信息定义 16H 51H CFH如果数据以整形数格式进行传输,则D2、D3代表报警状态整数值(十六进制),D0、D1、D4、D5保留。如果数据以浮点数格式进行传输,则D0-D3:报警状态的4字节浮点数,D4、D5:报警状态的值范围不会超过1024,用二进制位表示为:Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 BIT3 bit2 Bit1 Bit0,
12、分别定义如下: 位定义:Bitx = 0 无警状态;Bitx = 1 报警状态;ALAM位Bit1Bit2Bit3Bit4报警定义保留励磁报警电极报警空管报警上限报警Bit5Bit6Bit7Bit8Bit9下限报警现场仪表的各个参数, 参数编号定义如下:读写参数时,各个参数的定义如下:参数编号显示文字设置方式默认值 语言选择选择 中文测量管道口径 1003 流量量程单位 m3/h流量量程倍率-2流量量程设定设置 28274量程自动切换 禁止测量阻尼时间 4.0S流量方向选择 正向流量零点修正 +0.000小信号切除点 0.5%切除允许选择 允许变化率限制值 00%不敏感时间值 00S流量积算单
13、位 1.0m3脉冲输出方式 频率脉冲当量选择脉冲当量单位频率输出满度 2000空管报警允许电极报警阀值 200.0K上限报警允许上限报警阀值 90.0%下限报警允许下限报警阀值 15.0%反向测量允许传感器系数值 1.0000励磁方式选择 方式一仪表标定系数电流零点修正电流满度修正出厂标定系数1)、语言选择 参数值=0 :中文 参数值=1 :英文 2)、测量管道口径选择 参数值32)、流量量程单位选择USg/mUSg/hig/mig/ht/m33)、流量量程冥指数选择-1 参数值=2 :-2 参数值=201 : 参数值=202 : 参数值=203 : 参数值=204 : 参数值=205 :5)
14、、流量量程设置:065535。34)、量程自动切换选择禁止1: 参数值=3 :7)、测量阻尼时间选择阻尼时间0.2s0.5s0.8s1.0s2.0s3.0s4.0s5.0s6.0s8.0s10.0s20.0s30.0s50.0s100.0s8)、流量方向选择正向反向9)、流量零点设置:0.0009.999。 设置正数时,按照设置值进行输出。 设置负数时,输出值为设置值的绝对值加上32.768。10)、小信号切除点设置: 099.9%。11)、小信号切除允许选择允许12)、变化率限制值设置: 029%。13)、不敏感时间值设置: 019S。14)、流量积算单位选择1 USgal0.001 igal0.01 igal0.1 igal1 igal15)、脉冲输出方式选择频率脉冲16)、脉冲当量单位选择0.01L/P0.1L/P1L/P2L/P 参数值=4 :5L/P 参数值=5 :10L/P 参数值=6 :100L/P 参数值=7 :1m3/P 参数值=8 :10m3/P 参数值=9 :100m3/P18)、频率输出满度设置: 15999Hz。19)、空管报警允许选择20)、电极报警阀值设置: 0999.9K。21)、上限报警允许选择22)、上限报警阀值设置: 0199.9%。23)、下限报警允许选择
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1