1、1物理层设备连接RS-485、RS-232三、L-magB V1物理结构L-mag电磁流量计的RS-485通讯接口在物理结构上采用电气隔离方式,隔离电压1500伏。通讯数据传输接口为半双工方式,标准通讯速率大于250khz,通讯方向转换时间3.5uS。通讯接口电气标准遵从RS-485国际标准。Lmag-BV1可用于星型式网络结构和总线式网络结构。标准通讯连接介质为屏蔽双绞线。四、Modbus协议RTU消息帧定义 数据通讯由主机发起,主机首先发送RTU消息帧,消息帧发送至少要以3.5个字符时间的停顿间隔开始(如下图的T1-T2-T3-T4所示)。传输的第一个字节是设备地址。可以使用的传输字符是十
2、六进制的0.9,A.F。所有的从设备不断侦测网络总线,包括停顿间隔时间内。当第一个地址字节接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。主机消息帧定义如下所示:起始位设备地址功能代码寄存器地址
3、寄存器长度CRC校验结束符T1-T2-T3-T48Bit16Bit图3主机 RTU消息帧从机消息帧定义如下所示:数据n个8Bit图4 从机RTU消息帧五、Modbus协议命令编码定义Lmag-BV1协议遵从Modbus协议,但Lmag-BV1协议使用简化的Modbus协议,仅采用03、04和06功能码。功能码名称作用01读取线圈状态保留02读取输入状态03读取保持寄存器04读取输入寄存器读电磁流量计实时信息05强置单线圈06预置单寄存器07读取异常状态08回送诊断校验09编程(只用于484)10控询(只用于484)11读取事件计数12读取通信事件记录13编程(184/384 484 584)1
4、4探询(184/384 484 584)15强置多线圈16预置多寄存器17报告从机标识18(884和MICRO 84)19重置通信链路20读取通用参数(584L)21写入通用参数(584L)2264保留作扩展功能备用6572保留以备用户功能所用73119非法功能120127128255六、电磁流量计寄存器地址定义(针对PLC组态软件的专用寄存器)PLC Addresses(Base 1)Protocol Addresses(Base 0)数据格式寄存器定义341130x1010Float Inverse瞬时流量浮点表示341150x1012瞬时流速浮点表示341170x1014流量百分比浮点表
5、示(电池供电表保留)341190x1016流体电导比浮点表示341210x1018Long Inverse正向累积数值整数部分341230x101A正向累积数值小数部分341250x101C反向累积数值整数部分341270x101E反向累积数值小数部分341290x1020Unsigned short瞬时流量单位341300x1021累积总量单位341310x1022上限报警341320x1023下限报警341330x1024空管报警341340x1025系统报警七、基础数据解析1.瞬时流量1000H寄存器1001H寄存器寄存器高位寄存器低位瞬时流量高位=1000H寄存器高位*256+1000
6、H寄存器地位瞬时流量低位=1001H寄存器高位*256+1001H寄存器地位瞬时流量=瞬时流量高位*65536+瞬时流量低位2.累积数值1002H寄存器1003H寄存器主机恢复累积量值十进制数据的算法:正向累积数值高位=1002H寄存器高位*256+1002H寄存器地位正向累积数值低位=1003H寄存器高位*256+1003H寄存器地位正向累积数值=正向累积数值高位*65536+正向累积数值低位反向累积数值与正向的方法相同。3. 流量和累积量单位 1009H寄存器瞬时流量小数位及单位累积量小数位及单位Bit98瞬时流量小数位及单位解析如下:BIT15 为符号位 1负向 0 正向寄存器高位字节的
7、Bit14Bit13Bit12是小数点位置:Bit14Bit13Bit12= 0 .00000 Bit14Bit13Bit12= 1 0.0000 Bit14Bit13Bit12= 2 00.000 Bit14Bit13Bit12= 3 000.00 Bit14Bit13Bit12= 4 0000.0 Bit14Bit13Bit12= 5 00000. 单位数点字节的Bit10Bit9Bit8是流量单位:Bit10Bit9Bit8= 0 LTR / s Bit10Bit9Bit8= 1 LTR / m Bit10Bit9Bit8= 2 LTR / h Bit10Bit9Bit8= 3 M3 /
8、 s Bit10Bit9Bit8= 4 M3 / m Bit10Bit9Bit8= 5 M3 /h 累积量小数位及单位解析如下:寄存器低位字节的B6B5B4是小数点位置:Bit6Bit5Bit4 = 0 .00000 Bit6Bit5Bit4 = 1 0.0000 Bit6Bit5Bit4 = 2 00.000 Bit6Bit5Bit4 = 3 000.00 Bit6Bit5Bit4 = 4 0000.0 Bit6Bit5Bit4 = 5 00000. 单位数点字节的Bit2Bit1Bit0是流量单位:Bit2Bit1Bit0= 0 LTR Bit2Bit1Bit0= 1 LTR Bit2Bi
9、t1Bit0= 2 LTR Bit2Bit1Bit0= 3 M3 Bit2Bit1Bit0= 4 M3 Bit2Bit1Bit0= 5 M3 4瞬时流速1006H寄存器瞬时流速=寄存器高位*256+寄存器低位流速固定显示为: XXXXX m / s;5流体电导比1008H寄存器流量百分比=寄存器高位*256+寄存器低位百分比固定显示为: XXXXX ;6. 电池和报警100AH寄存器寄存器高位为电池电量:0-5寄存器低位为报警:BIT0 小信号 BIT1 空管 BIT2 系统(电池供电表)BIT1 空管 BIT2 系统 BIT3 上限 BIT4 下限(普通511表) 2011年06月01日附录
10、1:针对PLC的寄存器使用说明以modbus调试软件 modbus poll 为例,使用PLC地址采集数据。假设从机地址为1,波特率9600,想要采集瞬时流量,设置如下图。图1设置数据显示格式图2设置采集命令图3设置串口数据以modbus调试软件modscan32为例,使用protocol为例采集数据:图1:串口参数设置图2:设置采集命令图3:设置数据显示方式以组态王6.53为例说明使用方法。第一步:创建组态王工程第二步:添加标准modbus设备,组态王设备列表里的-PLC-莫迪康-modbus(RTU)。第三步:设置设备地址,举例为 1第四步:设置串口参数,举例为9600 n 8 1第五步:
11、添加变量举例瞬时流量寄存器为84113格式为浮点数(float),同时添加流速,百分比,空管比,正反向累积值。分别为变量名寄存器值瞬时流量84113Float瞬时流速84115流量百分比84117流体电导比84119正向累积值整数部分84121Long正向累积值小数部分84123反向累积值整数部分84125反向累积值小数部分84127寄存器值为8XXXX而不是3XXXX,原因详见组态王驱动说明第六步:创建窗口界面并连接变量第七步:保存更改并运行工程以力控6.1为例,说明使用方法创建一个工程IO口设备组态选择IO设备-modbus-标准modbus-modbus(RTU串口)选择串口设置显示数据
12、格式数据库组态设置数据格式及地址偏移数据举例创建窗口并连接变量运行工程附录2:电池供电电磁流量计485通讯板使用说明电池供电电磁流量计485通讯板上共4个红色拨码开关。两个2位,一个3位,一个7位。2位开关为电源开关,拨到ON打开电源,拨到OFF关掉电源。3位开关为波特率设置开关。设置方法为3代表最低位1代表最高位。设置时。把开关都拨到OFF表示二级制码000即十进制0,把开关都拨到ON为二进制111即十进制7。波特率与开关对应数值如下:波特率开关数值开关1开关2开关31200OFF2400ON4800960019200设置波特率按相应的拨码开关设置即可。7位开关位地址设置开关。设置方法为7代表最低位1代表最高位。设置数值方式与波特率开关相同。地址范围为1-99有效。默认地址为1波特率为9600。通讯板上还有一个按键。为复位按键。重新更改通讯波特率即地址后,应按复位键应用设置值。通讯板上另有1个4针,一个五针白插座。4针为与测量CPU通讯连接线,接线方法与GPRS方法相同。5针为电池供电电源插座,中间一针为空针,两边各一组电池供电电源,分别为电源1和电源2的3.6V与GND图示如下(顶视图只能看到插座的焊点): 图:5针电源插座 为保证隔离485的稳定性,电源1和2应为2路隔离电源。电源1为通讯CPU供电电源,电源2为外部485通讯供电电源。