文档库 最新最全的文档下载
当前位置:文档库 › 莫迪康 ModbusRtu

莫迪康 ModbusRtu

莫迪康 ModbusRtu
莫迪康 ModbusRtu

莫迪康 ModbusRtu

概述

1、ModbusRtu是一个通用的Modbus(RTU)串口驱动程序,用户可以通过配置KVModbusRtuEx.ini来定制协议的打包规则。

2、标准的ModbusRTU协议已经在文件KVModbusRtuEx.ini中配置,用户可以直接定义为这种设备类型,而不需要修改INI配置文件。

3、组态王支持与所有支持Modbus协议的设备通过串口RS232/RS485/RS422进行通讯,使用的协议为通用协议ModbusRtu,详情请参考:Modbus协议参考手册。

硬件连接与配置

1、组态王与ModbusRtu间硬件可以使用标准的RS23

2、RS422或者RS485串口连接,使用RS485连接如下图所示:

2、配置说明:

1)、各个不同型号的Modbus协议的打包规则,在KVModbusRtuEx.ini中设置。

2)、设备使用前,设置通讯参数和组态王工程中的设置一致。

组态王设置

1、定义组态王设备

组态王定义设备时一般设备选择:[PLC] > [莫迪康] > [Modbus(RTU)] > [串行]

如果是特殊设备,根据设备类型选择正确的型号。

2、设备地址及通讯参数定义

设备地址格式:Address[:Delay][:Delay2]

Address 1-247 设备地址

Delay 0-60000 发送每条命令帧后的延迟时间(毫秒)

Delay2 0-100000 发送每条命令帧前的延迟时间(毫秒)

例如: 1:300:500

若Delay/Delay2为0,或者不输入Delay/Delay2 ,驱动里发送命令帧后/前就不会有延迟。

建议的通讯参数:无需设置通讯参数,视具体设备而定

3、组态王数据词典-IO变量定义

1)、组态王中寄存器列表

2)、寄存器特殊说明:

1.SwapF寄存器:在MODBUS规约驱动中,SwapF寄存器用于改变FLOAT型数据的字节顺序,SwapL寄存器用于改变LONG型数据的字节顺序,只有0,1, 2, 3四种取值。

例如: 在通讯时从0001地址读取的四个十六进制值为 HV1,HV2, HV3, HV4则:

当SwapF = 0时,转换后浮点数对应的内存值为: HV4 HV3 HV2 HV1;

当SwapF = 1时,转换后浮点数对应的内存值为: HV3 HV4 HV1 HV2;

当SwapF = 2时,转换后浮点数对应的内存值为: HV1 HV2 HV3 HV4;

当SwapF = 3时,转换后浮点数对应的内存值为: HV2 HV1 HV4 HV3。

2.寄存器7:7x寄存器的格式为7x1,3。逗号前面的1为地址,逗号后的3为扩展寄存器的文件序号(详细查看modbus协议手册)。

3.寄存器3和8:寄存器3和寄存器8都支持SHORT和USHORT数据类型,这种情况下他们是等价的,按照习惯建议使用3寄存器。

4.寄存器4和9:寄存器4和寄存器9都支持SHORT和USHORT数据类型,但是他们写操作的功能码不同。定义变量的时候应该根据协议选择正确的寄存器,如果设备两种功能码(0x06和0x10)都支持,建议使用寄存器4。

5.8,9寄存器对LONG/FLOAT类型的数据按间隔为2的形式编址,如81,83,85...

6.Modbus协议中定义Modbus消息(Modbus message)中的数据地址从0开始计算,即对于寄存器1,在进行串口通讯时将其数据地址计算为0(参见Modicon 公司的Modbus Protocol Reference Guide)。驱动程序遵照此规范进行了相应

的处理,即当某个寄存器(0、1、3、4、8、9、FMC)的通道号定义为1的时候,在串口通讯时其数据地址是0。

7.驱动的变量后的寄存器通道号(寄存器范围),是按照以1为起始地址的,对于以0为起始地址的设备,定义变量应该加1。例如,如果某设备的一个变量在数据4区,为40100,如果地址是从1开始,对应变量定义为40100,如果地址是从0开始,定义为40101。

8.对于只写寄存器,请将采集频率设置为0。

相关文档