ModbusMaster
产品规格说明书
[修订记录]
日期
版本号
创建人
说明
2008-6-13
1.0
王东海
创建
2008-6-20
1.1
徐珺
修改,去掉8寄存器等
2008-6-24
1.2
徐珺
修改,去掉789寄存器等
2008-7-18
1.3
王东海
修改串口设备地址格式,增加延时
2008-8-6
1.4
王东海
修改TCP的通讯方式,改成串口
2008-12-30
1.5
李霞
3寄存器和4寄存器增加String数据类型
尝试连接改为尝试最后一次成功的读包
2009-03-27
1.6
李霞
增加去除噪音功能,过滤掉帧前帧后多余的干扰字节
2009-12-03
1.7
索春明
增加CRC校验SwapC寄存器,调整校验字节次序
2010-01-20
1.8
索春明
增加对于FMC寄存器使用的说明
2010-04-09
1.9
单维旺
修改配置文件格式以及打包规则说明
2010-11-30
2.0
杨晨
TCP设备地址加上延时
2011-03-08
60,4,16,30
曹萌萌
添加对当第一帧写命令失败是,从配置文件读取指定的尝试连接帧的处理
2011-04-13
60,4,18,30
董秀芹
使用域名定义设备时,定义不下去,提示设备地址格式错误。
2011-6-15
60.5.18.30
肖自辉
4号寄存器String类型变量读写以斜杠0结束
设备地址格式定义补充说明
2011-11-2
60.6.18.30
江兴川
添加CW寄存器,对同一字里的高低字节在发送和接收时进行调换
    [项目经理填写]   
一、 产品功能简介
a) 支持协议说明
通用协议:ModbusRtuModbusASCIIModbusTCP
b) 支持的硬件型号说明:
所有支持上述协议的设备。
1 支持的连接说明及发送方式
支持串口连接和TCP连接。如果是串口连接,支持按RtuASCII发送;如果是TCP连接,支持以socket发送。
二、 驱动接口:
3.0开发包
三、 设备添加方式
a) 在组态王中定义设备时请选择:
通用版下:
[PLC] > [莫迪康] > [ModbusRTU] > [COM]
[PLC] > [莫迪康] > [ModbusRTU(unpack)] > [COM]
[PLC] > [莫迪康] > [ModbusASCII] > [COM]
[PLC] > [莫迪康] > [ModbusTCP] > [TCP]
其他的设备,设备名中必须包含有ModbusRTU,或ModbusASCII,或ModbusTCP字样。区分大小写。否则无法使用该驱动。由于驱动是通过des文件里面的这些关键字进行匹配的。
英文版下:
[PLC] > [Modicon] > [ModbusRTU] > [COM]
[PLC] > [Modicon] > [ModbusRTU(unpack)] > [COM]
[PLC] > [Modicon] > [ModbusASCII] > [COM]
[PLC] > [Modicon] > [ModbusTCP] > [TCP]
注:串口统一为“COM”,以太网统一为“TCP
b) 设备向导页选项的特殊说明:
        如果是串口设备:
是否选串口
是否有地址选择页
通讯方式
RS232/RS485/RS422/
描述
COM
        如果是以太网设备:       
是否选串口
是否有地址选择页
通讯方式
串口
描述
TCP
        网络设备需要选择串口的原因是:一个设备接口(Com1、网卡)开启一个线程。
c) 对于串口设备通讯参数的推荐设置如下
无,视具体设备而定
四、 本设备的地址格式及地址范围
串口连接方式(Rtu):
        Address[:Delay: BeforeDelay]
        Address    1-255        设备地址
Delay        0-60000      发送每条命令帧后的延迟时间(毫秒)
BeforeDelay        0-60000      发送每条命令帧前的延迟时间(毫秒)
    串口连接方式(ASCII):
        RTU
TCP连接方式:
    IP[:Port] Address[/TimeOut]
    IP                    设备IP地址或域名
    Port                    设备IP地址端口,(不写时默认为字符串长度规则502)
    Address    1-255        设备地址
  TimeOut          网络超时(不写时默认30)
  []                []内不写则采用驱动默认值,写则采用用户自定义值。           
【说明】
1 采用TCP连接方式,TCP常用设备格式有三种:
      <1>172.16.7.107502 1/50 
        含义如下:
172.16.7.107 IP地址。
  为端口分隔符
502  为端口号
1 为设备地址
/    为网络超时分隔符
        50  为延时时间(单位秒)
<2>172.16.7.107  1
      含义:IP地址和设备地址,这时端口和网络超时默认值分别为50250
<3>172.16.7.107  1/30
      含义:IP地址、设备地址和网络延时
2.使用域名定义设备时,只需要把上面的ip地址改成域名即可,后面端口号、设备号、超时和上面的一样。如:www.baidu: 502 1/50.
设备格式<2> 为常用格式,如果出现设备通信不正常的情况<3>格式为最佳选择。
设备地址格式定义补充说明:
    在定义设备地址时没有按照地址格式定义时,虽然能够通过,但是在实际运行中会出现错误,可以在信息窗口中看到设备初始化失败信息。
五、 寄存器列说明
寄存器
范围
数据类型
读写
说明
0
1 ~ 65535
Bit
读写
逻辑线圈,I/O离散 0XXXX
1
1 ~ 65535
Bit
输入位寄存器(1XXXX
3dd
3m.n
dd: 1 ~ 65535
xx: 0-1
m:1~65535
n:0~127
并且
m+n<=65535
Byte/Ushort/short/BCD/float/Long/LongBCD/String
输入寄存器(3XXXX
4dd
4m.n
dd: 1 ~ 65535
xx: 0-1
m:1~65535
n:0~127
并且
m+n<=65535
Byte
Ushort//short/BCD/float/Long/LongBCD/String
读写
保持寄存器(4XXXX
SwapF
0
Byte
浮点型字节顺序
SwapL
0
Byte
长整型字节顺序
SwapC
0
Byte
CRC校验字节次序
CW
0
Byte
添加CW寄存器,对同一字里的高低字节在发送和接收时进行调换
默认为0,不进行高低字节调换;值为1进行高低字节调换
FMC
1~65535
String
强制多线圈状态
说明:
1. 该寄存器最多强制16个连续的线圈状态;
2. 通道号为线圈的起始地址;
3. 只能写入’0’’1’组合的字符串
如:FMC1写入
111表示线圈1-3置位
00000表示线圈1-5复位
111111111表示线圈1-9置位
2Modbus功能码与本驱动支持的寄存器间的关系:
功能码
名称
作用
相关寄存器
01
读取线圈状态
取得一组逻辑线圈的当前状态(ON/OFF)
0
02
读取输入状态
取得一组开关输入的当前状态(ON/OFF)
1
03
读取保持寄存器
在一个或多个保持寄存器中取得当前的二进制值
4
04
读取输入寄存器
在一个或多个输入寄存器中取得当前的二进制值
3
05
强置单线圈
强置一个逻辑线圈的通断状态
0
06
预置单寄存器
把具体二进值装入一个保持寄存器
4
15
强置多线圈
强置一串连续逻辑线圈的通断
FMC
说明:
1) SWAPF寄存器用于改变浮点数的字节顺序,SWAPL寄存器用语改变long型数据的字节顺序,只有0 1 2 3四种取值。
例如在通讯时从0001地址读取的四个十六进制值为 HV1,HV2, HV3, HV4则:
SWAP = 0时,转换后浮点数对应的内存值为: HV4 HV3 HV2 HV1
SWAP = 1时,转换后浮点数对应的内存值为: HV3 HV4 HV1 HV2
SWAP = 2时,转换后浮点数对应的内存值为: HV1 HV2 HV3 HV4
SWAP = 3时,转换后浮点数对应的内存值为: HV2 HV1 HV4 HV3
2) 对于只写寄存器,请将采集频率设置为0
3) 34寄存器,如果客户需要读取Byte数据类型,需要定义二级通道。分别表示字的高字节和低字节。例:31.0表示地址为0的数据的低字节,31.1表示地址为0的数据的高字节。Byte数据类型只可以读,不可以写。如果需要写,请定义ShortUshort数据类型。
4) 寄存器4读功能码为03,写单字(ShortUshortBCD)的功能码为06,写双字(LongFloatLongBCD)的功能码为0x10
5) 驱动的变量后的寄存器通道号(寄存器范围),是按照以1为起始地址的。对于以0为起始地址的设备,定义变量应该加1。例如,如果某设备的一个变量在数据4区,为40100,如果地址是从1开始,对应变量定义为40100;如果地址是从0开始,定义为40101

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。