LMAGH电磁热表转换器_第1页
LMAGH电磁热表转换器_第2页
LMAGH电磁热表转换器_第3页
LMAGH电磁热表转换器_第4页
LMAGH电磁热表转换器_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、L-MAG-H电磁热表转换器通讯协议版本号: LMAG-HMODRTUV77L-MAG-H V1.22013.3.25一、概述 - 2 -二、L-mag-H网络结构及接线 -2 -三、Modbus协议RTU帧格式 -2 -四、Modbus协议命令编码定义 -4 -五、L-MAG-H电磁热表 MODBUS寄存器定义 -5 -1. L-MAG-H电磁热表MODBUS寄存器地址定义表-2-5 -2. PLC地址设置说明 -6 -3数据含义说明 - 6 -六、通讯数据解析 - 6 -1 读瞬时流量 - 7 -2.读瞬时流速: - 7 -3读累积流量 - 8 -4. 读总量流量单位 - 9 -5. 读报

2、警状态 - 9 -6. 读瞬时热量单位 -10-7. 读累积热量单位 -10-7.读压力范围 -11 -8. 读热量流量(同读瞬时流量) -11-9. 读热量累积(同读累积流量) -11-10. 读入口温度 -11 -10.读出口温度(同读入口温度) -11 -七、应用举例 -12 -1. C语言MODBUS示例程序 -12 -2. modbus调试软件 modbus poll通讯实例 -14 -3. modbus调试软件 modscan32通讯实例 -16 -4. 组态王 6.53通讯实例 -18 -5. 力控 6.1 通讯实例 -22 -6. MCGS通讯实例 -25 -注: 本协议应用举

3、例中例程只提供参考,例程中部分参数与MODBUS 寄存器地址定义不符,请以 MODBUS 寄存器地址定义为准。、概述L-MAG-H电磁热表具有标准的 MODBUS通讯接口,支持波特率1200,2400, 4800, 9600,19200。通过MODBUS通讯网络,主站可以采集瞬时流量,瞬时 流速,累积流量等参数。L-MAG-H电磁热表采用的串口参数:1位起始位8位数据位1位停止位,无校验。L-MAG-H电磁热表的MODBUS通讯接口在物理结构上采用电气隔离方式, 隔离电压1500伏,并具有ESD保护,能够克服工业现场的各种干扰,保证通讯 网络的可靠运行。二、L-mag-H网络结构及接线L-MA

4、G-H电磁热表标准MODBUS通讯网络是总线型网络结构,支持 1到 99个电磁流量计组网,在网络最远的电磁流量计通常要在通讯线两端并联一个 120欧姆的终端匹配电阻,标准通讯连接介质为屏蔽双绞线。图-1电磁流量计网络结构L-MAG-H电磁热表通讯接线详见电磁流量计使用说明书三、Modbus协议RTU帧格式MODBUS、议是主从通讯方式,每次通讯由主站发起,从站响应主站命令回传 数据。L-MAG-H电磁热表采用MODBUS RTU式 (十六进制格式),其帧结构如图-2 所示。1.主站命令帧结构帧起始设备地址功能代码寄存器地址寄存器长度CRC校验帧结束T1-T2-T3-T48Bit8Bit16Bi

5、t16Bit16BitT1-T2-T3-T4图-2 主站RTU消息帧2.从站响应帧结构帧起始设备地址功能代码数据CRC校验帧结束T1-T2-T3-T48Bit8Bitn 个 8Bit16BitT1-T2-T3-T4图3从站RTU消息帧说明:(1)T1-T2-T3-T4为帧起始或帧结束,MODBU协议规定帧起始或帧结束 是在帧与帧间延时3.5 char字符的时间实现的,如图-4所示。Frame 1Frame 2Frame 34.5 char图-4 MODBUS帧间隔(2)设备地址:电磁流量计的通讯地址,在一个网络中不能有两个相同的 地址。(3)功能码:MODBU协议规定的功能码,L-MAG-H电

6、磁热表采用功能码4 读输入寄存器来实现采集数据的。(4)寄存器地址和寄存器数主站命令中的参数是从寄存器地址开始的寄存, 读寄存器长度的N个寄 存器。(5)从站响应数据从站响应数据是:字节数和 N个数字节数据。详见MODBU协议。四、Modbus协议命令编码定义MODBUS功能码定义如表-1所示,L-mag-电磁流量计仅采用04功能码表-1功能码名称作用01读取线圈状态保留02读取输入状态保留03读取保持寄存器保留04读取输入寄存器读电磁热表实时信息05强置单线圈保留06预置单寄存器保留07读取异常状态保留08回送诊断校验保留09编程(只用于484)保留10控询(只用于484)保留11读取事件计

7、数保留12读取通信事件记录保留13编程(184/384 484 584)保留14探询(184/384 484 584)保留15强置多线圈保留五、L-MAG-H电磁热表MODBUS寄存器定义1. L-MAG-H 电磁热表 MODBUS寄存器地址定义表-2Protocol Addresses (Decimal)Protocol Addresses (HEX数据格式寄存器定乂41120x1010Float In verse瞬时流量浮点表示(M3/h)41140x1012Float In verse瞬时流速浮点表示41160x1014Float In verse保留41180x1016Float In

8、 verse流体电导比浮点表示41200x1018Long Inv erse流量累积数值整数部分41220x101AFloat In verse流量累积数值小数部分41240x101CUn sig ned short瞬时冷量单位0:表示 MJ/h;1 :表示 GJ/h2:表示 KWh/h;3 表示 MWh/h41250x101DUn sig ned short冷量总量单位0 :表示MJ;1 :表示GJ2 :表示KWh; 3表示MWh41280x1020Un sig ned short瞬时热量单位0:表示 MJ/h;1 :表示 GJ/h2:表示 KWh/h;3 表示 MWh/h4129P 0x1

9、021Un sig ned short流量累积总量单位(m3)41300x1022Un sig ned short压力范围0:表示 0.6MPa1:表示 1.6MPa41310x1023Un sig ned short热量总量单位0 :表示MJ;1 :表示GJ2:表示KWh; 3表示MWh41320x1024Un sig ned short空管报警0:正常;1:报警41330x1025Un sig ned short系统报警0:正常;1:报警41340x1026Float In verse瞬时热流量41360x1028Long Inv erse热量总累积值41380x102AFloat In

10、verse热量总累积小数值4140P 0x102CUnsigned short入口温度(C )41410x102DUnsigned short出口温度(C )41420x102ELong Inv erse冷量总累积值41440x1030Float In verse冷量总累积小数值41460x1032Float In verse瞬时冷量2.PLC地址设置说明PLC设置时如果没有功能码设置项时,使用功能04应在寄存器地址前面加3。 另PLC寄存器地址的基址是从1开始,所以PLC设置寄存器地址时应在原地址 上加1.例:L-MAG-H 电磁热表 MODBUS寄存器地址为4112( 0x1010),MO

11、DBUS功 能码为4时,PLC寄存器地址为34113。详细设置见应用举例章节2.3 数据含义说明(1 )浮点格式:L-MAG-H 电磁热表 MODBUS 采用IEEE754 32位浮点数格式,其结构如下:(以瞬时流量为例)0X1010(34113 )0x1011(34114 )BYTE1BYTE2BYTE3BYTE4S EEEEEEEE MMMMMMMMMMMMMMMMMMMMMMMS尾数的符号;1二负数,0 =正数; E -指数;与十进制数127的差值表示。 M 尾数;低23位,小数部分。当E不全” 0”时,且不全” 1时浮点数与十进制数转换公式:V =( _ 1)s 2(e-127 )(1

12、 M )(2)累积总量单位表 3代码0123累积单位保留M3保留保留(3)报警空管报警,系统报警表示:0-不报警;1-报警六、通讯数据解析瞬时流量,瞬时流速,流量百分比,流体电导比,正反向累积量小数部分以 浮点数的格式传输。正反向累积量得整数部分以长整型数传输。1读瞬时流量主站发送命令(十六进制)01041010000274CE设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到数据:010404C41C60002F72设备功能码数据4个字节浮点数CRCCRC地址长度(瞬时流量)高位低位浮点数C41C60001100 01000001 11000

13、110 00000000 0000浮点数字节1浮点数字节2浮点数字节3浮点数字节4S=1:尾数符号为1表示是负数E = 10001000:指数为 136M= 001 11000110 0000 0000 0000,尾数为(136_127) 11111(-1 ) 1 2(1+ -+ -+ 十 )816325121024=-625.52读瞬时流速:主站发送命令:010410120002D50E设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收数据:010404C1B08000A65F设备功能码数据4个字节浮点数CRCCRC地址长度(瞬时流速)高位低位

14、浮点数为:C1BO80001100 0001 1011 0000 1111 1000 0000 0000E = 10000011M = 011 0000 1111 1000 0000 0000(131二(- 1 ) 1 2_127481256=-22.06253读累积流量为了能够完全表达电磁流量计的 9位累积值,所以把累积流量的整数和小数部分分别表达。整数部分用长整型变量,小数部分使用浮点数累积流量为1587m3主站发送采集累积流量整数值命令:010410180002F50C设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到数据:0104040

15、00070711E60设备功能码数据4个字节长整形CRCCRC地址长度(累积量整数部分)高位低位累积流量的整数部分为 =28785主站发送采集累积流量小数值命令0104101A000254CC设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到数据:0104043F0000003B90设备功能码数据4个字节浮点数CRCCRC地址长度(累积量小数部分)高位低位浮点数为:3F0000000011 1111 0000 0000 0000 0000 0000 0000S = 0E =0111111126M = 000 0000 0000 0000 000

16、0 0000(126_127 )V = ( - 1)1 20.54读总量流量单位主站发送读瞬时流量单位8个字节命令:0104102100016500设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到从站回传7个字节数据:010402000178F0设备功能码数据2个字节整型CRCCRC地址长度(累积量单位)高位低位根据表3查得:流量单位为M35读报警状态主站发送读报警8个字节命令:0104102400017501设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到从站回传7个字节数据:010402

17、000178F0设备功能码数据2个字节整型CRCCRC地址长度(报警)高位低位状态为1表示空管是报警状态其他报警依次类推。6读瞬时热量单位主站发送读报警8个字节命令:0104102000017501设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到从站回传7个字节数据:010402000178F0设备功能码数据2个字节整型CRCCRC地址长度(瞬时热量单位)高位低位1 表示 GJ/h。0 表示 MJ/h7读累积热量单位主站发送读报警8个字节命令:0104102300017501设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长

18、度高位长度低位高位低位主站接收到从站回传7个字节数据:010402000178F0设备功能码数据2个字节整型CRCCRC地址长度(累积热量单位)高位低位1表示GJo 0表示MJ。7读压力范围主站发送读报警8个字节命令:0104102200017501设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到从站回传7个字节数据:010402000178F0设备功能码数据2个字节整型CRCCRC地址长度(压力范围)高位低位1 表示 1.6MPa。0 表示 0.6MPa。&读热量流量(同读瞬时流量)9读热量累积(同读累积流量)10读入口温度主站发送

19、读报警8个字节命令:0104102300017501设备功能码寄存器寄存器寄存器寄存器CRCCRC地址地址高位地址高位长度高位长度低位高位低位主站接收到从站回传7个字节数据:010402032078F0设备功能码数据2个字节整型CRCCRC地址长度(入口温度)高位低位温度带有1位小数。入口温度=80.0 C10读出口温度(同读入口温度)七、应用举例1.C 语言 MODBUS 示例程序(1).CRC16 算法:INT16U CRC16(INT8U *puchMsg, INT16U usDataLen)高CR(字节初始化*/ 低CRC字节初始化*/循环中的索引 */ 传输消息缓冲区 */计算 CR

20、C */INT8U uchCRCHi = 0xFF;/*INT8U uchCRCLo = 0xFF;/*INT8U uIndex; /* CRC while (usDataLen-)/*uln dex = uchCRCHi A *puchMsg+; /*uchCRCHi = uchCRCLo A auchCRCHiulndex;uchCRCLo = auchCRCLoulndex;return (uchCRCHi << 8 | uchCRCLo);(2)发送命令程序本例程以Mag64为核心CPUvoid Read_lnPut(lNT8U Addr,lNT16U Start,lNT1

21、6U Len) lNT16U CRC;SendBuffer_4850=Addr;/设备地址SendBuffer_4851=0x04;/modbus功能码SendBuffer_4852=Start/256;/Start为寄存器地址SendBuffer_4853=Start%256;SendBuffer_4854=Len/256;/Len为读取寄存器长度SendBuffer_4855=Len%256;CRC=CRC16(SendBuffer_485,6);SendBuffer_4856=CRC/256;/CRC校验高位SendBuffer_4857=CRC%256;/CRC校验低位R485_OUT

22、;/使能RS485发送SendLen_485=8;SendNum_485=0;CloselNT0();/关闭串口接受中断UCSR0B |= BlT(UDRlE0);/打开串口发送中断(3)返回数据解析 (只以瞬时流量为例) 数据接收使用串口中断, ReceivedBuffer_485 为接收数据组, ReceivedNum_485 为接收到数据 长度,ReceivedFlag_485 接收到数据标志。 函数 float Datasum(INT8U BYTE1, INT8U BYTE2, INT8U BYTE3, INT8U BYTE4) 把浮点数的 4个字节转换为 1 个浮点数。float D

23、atasum(INT8U FloatByte1, INT8U FloatByte2, INT8U FloatByte3, INT8U FloatByte4) float aa;union IntTOFPFP32 F32;INT8U T84;union IntTOFP aa;aa.T80 = FloatByte1;aa.T81 = FloatByte2;aa.T82 = FloatByte3;aa.T83 = FloatByte4; return aa;void Read_Lmag(INT8U Ad)INT8U i,j;INT8U Num110,BIT;INT16U CRC1,CRC2;FP32

24、 Flow;/aaaReceivedFlag_485=1;Open_Time1_Ms5(20);Read_InPut(Ad,0x1010,2);/while(ReceivedFlag_485);/为瞬时流量数值发送设备地址、 寄存器地址、 寄存器长度 等待接收结束if(ReceivedNum_485=9)&&(ReceivedBuffer_4850=Ad) /判断数据是否正确CRC1=CRC16(ReceivedBuffer_485,7);CRC2=ReceivedBuffer_4857*256+ReceivedBuffer_4858;if(CRC1=CRC2)/ 转换数据为浮

25、点数Flow = Datasum(ReceivedBuffer_4856, ReceivedBuffer_4855,ReceivedBuffer_4854 ,ReceivedBuffer_4853)2.modbus调试软件modbus poll通讯实例以从站地址为1,波特率9600,读取所有实时数据为例设置方法如下: 按照表2所示:起始寄存器地址4113寄存器个数为221.设置采集命令包括设备地址(1)、MODBUS功能码(04)、寄存器地址(4113)、 寄存器长度(22)、采集间隔(1000)。2.设置串口数据根据L-MAG-H电磁热表串口格式(1位起始位8位数据位1位停止位,无校验) 设

26、置如下图:3.设置数据显示格式4.通讯成功界面Tx = 171: ErrS3: IDLSEO燐时流量-5® 30瞬时流速56.320037 0000CL 00000.70000 * 0000a.saoo0.00000 * 00000.0000For Help, press Fl. For Edit, double click on 日 value.NUM341133411431153411341173ens34119341203121341223124341253-16341273412S34129313034131341323133341343.modbus调试软件modscan3

27、2通讯实例以从站地址为1,波特率9600,读取所有实时数据为例设置方法如下: 按照表2所示:起始寄存器地址4113寄存器个数为221.设置采集命令包括设备地址(1)、MODBUS功能码(04)、寄存器地址(4113)、 寄存器长度(2)、采集间隔(1000)。2.设置串口数据根据L-MAG-H电磁热表串口格式(1位起始位8位数据位1位停止位,无校验) 设置如下图:3.设置数据显示方式Setup View Window HelpData DefinitionDisplay Optionsb* Show DataExtendedbShow TrafficText CaptureBinaryDbas

28、e CaptureHexCapture OffUnsigned DecimalReset CtnIntegerFloating PtV Swapped FPDbl FlcatSwapped DblHex Addressee4.通讯成功界面4组态王6.53通讯实例第一步:创建组态王工程,点击新建弹出如下界面,输入工程路径及工程名称第二步:打开新建的工程,选择设备栏在COM 口下新建标准modbus设备。组态王设备列表中找到-PLC-莫迪康-modbus (RTU) (L-MAG-H电磁热表借助莫 迪康 PLCmodbus (RTU)驱动)。按照电磁流量计中的地址设置设备地址。下图以地址1为例:第

29、三步:双击设备中的COM设置串口参数E _J文件S3 番爭E言f配方z占鼎结构立二蛮菇词典-曾设苗COM1JD COM2粽DDE冃砖整 OfKK1L.M11 岡 士上占L-MAG-H电磁热表串口参数:波特率与电磁流量计中设置相同、1位起始位、8位数据位、1位停止位、无校验。下图以波特率 9600为例:设 SE-COMI浪持卒:9W0二徹堀位. 奇嚮瞬 |无瞬创停止险|o莹秒il悵方式:C BS232 C BS422-Bo dem一使用llhdem主IUd"贞T控制宅:C 7<? Bff 1C 2C? BS4B5第四步:点击数据词典添加L-mag数据变量根据组态王驱动说明莫迪康-

30、modbus (RTU )变量名称、寄存器地址和数据格式 见下表:变量名寄存器值数据格式米用频率读写属性瞬时流量34113Float500r只读瞬时流速34115Float500只读流量百分比34117Float500只读流体电导比34119Float500:只读正向累积值整数部分34121Lo ng500只读正向累积值小数部分34123Float500只读反向累积值整数部分34125Lo ng500:只读反向累积值小数部分34127Float500p只读数据转换寄存器Swap L0Byte0只写HAS 2?除EK也rarraja1“咲計ipFFffllirllftHB.URMimranrw|

31、ijLiiDijaiXi厂n?啊n注意:因电磁流量计数据存储格式的原因,在组态王添加变量时必须添加数据 转换寄存器,否则通讯数据显示不正常。ITO mi KK二KD 衲自电2LI» Ba5VVVfIT*TflwMHWMCEVI wst1 闔MM -Bals 马«-f <Wg 把 ceaHj 电EC *.iWUdr噌 ”rs.E3; uriJiM0 .ftH rat*4:g MAU13-=«= 9代漪壽無B怎誤MhG3-3LMX£AhL mmVMGW»:-3LMU1-5L MtalSLWsCML-J-MiW的功能码蜀的曲J9°0x

32、01OkOE厂OkOS厂&kM障人嚼弃iiqOfD3OxOtt附畜稍1Ok 34(k.】5>ItSSJS (Genisial Epfpi-snce)aOk 030/03txW岡*畜存QhsQF翌制冬绒圈世态第五步:创建窗口界面并建立数据链接-Qin愛陣H flSEl時訂2JWH ®=|31直五間«1«1ImTHe |»|«3 O QE A F * 闿闻皿二 口誓第二 -TH-/cEa 1第六步:保存工程并运行工程瞬时流量-00116.42999瞬时流速04. 118流量百分比041. 17流体电导比00009正向累积值整数部分01

33、45570342正向累积值小数部分0. 000反向累积值整数部分0488902442反向累积值小数部分0. 0005力控6.1通讯实例说明使用方法第一步:创建一个工程输入工程名称及工程路径。第二步:添加设备10 口设备组态选择10设备-modbus标准modbus-modbus(RTU串口)Y1期勉J3它仲件 睑冲副X7L组対 -Jn呈据丽作車宅万据且台合黑 目5藝D1湘薦目配數工盂号圧 :工二二二*丙 -HM -日璟隅&圏制DDER rK MODJIEE-勃标推肋囲£HL MCUBIE (*S£H 串疔口 > 血 mfius (jltu Snn:i 輻 BM

34、V5 OtT) 田 ffl s- s- 圏二肝皿旦马录岡U玉性雄査耳电力设备最*配赶-挥1步王沼:力J?L. K:楼宁设备 IM flFIMTbt位停止位、无校点击咼级选项选择串口并设置串口参数(9600, 8为数据位、1 验)上一*电)|下一爭曲”恥谄I设置数据显示格式通讯吋从设备中渎取的0h=F节十六进需馆为:FFUl. FF1E FEH3.TFJI4 辟换后四个宇节对应的内存值为:32位浮点參歎詰的復融3池荃型数基的渎呢包杲大瓯:更赳偏移间隔:卩厂aiFFil4rFffiPFH2'PFH1JCFFH3PFHdPBH1PFH2CrmiPPH2FFH3FFH4CPFTEFEH1FFH

35、4PFK3忙FPH4FFM3FEH2FEHICFHH3FHH4FPHlPFH2CPFH1FfH2FFH3PFH4CFF1EFFiiiFFH4FFH3上一步|匚極 | 取消 |第三步:数据库组态设置数据格式及地址偏移连接真型丨谆捋项DE貳FVLFD设备n&cll:'刖IXLQKCHH5T墓本卷訓|抿営总軸 甄话且攢|岳史翅|ff I/okfifi1S8TM 庆&说备:rC网第期G库2d姐态界曲数据举例UEI点名DESC 说明VC连接wns 斥史卷数15 511瞬时谎星FV=mU:AKF4ll32IS15瞬时流速FV=4g511 W41153Ubifb凉屋百分比PVrftall : AKF41174ltddb谎体电导比F¥=mig5U:AHf<lll95zxljzrsbf正向累积值整数部分F¥=nm葯ilAKLUZl6zxljzKsbf正向累积值水数部分FV=mU:AKF4l237fxlj zrsbf反向累秒值整数部分FVall : ARL4125efelj反向累积值4姿部分PVtrftll : AHF4127第四步:创建窗口并连接变量瞬时流量#,#瞬时流速# #,#渝量百分比流体电导比#砒#正向療量累积值整数部分mitmm正向涼量累积值小数部分# .m反向流量累积值整数部分#反向流量累积值小数部分#.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论