ModbusMaster规格说明书_第1页
ModbusMaster规格说明书_第2页
ModbusMaster规格说明书_第3页
ModbusMaster规格说明书_第4页
ModbusMaster规格说明书_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、修改版本:V1.9ModbusMaster产品规格说明书修订记录日期版本号创建人说明2008-6-131.0王东海创建2008-6-201.1徐珺修改,去掉8寄存器等2008-6-241.2徐珺修改,去掉7,8,9寄存器等2008-7-181.3王东海修改串口设备地址格式,增加延时2008-8-61.4王东海修改TCP的通讯方式,改成串口2008-12-301.5李霞3寄存器和4寄存器增加String数据类型尝试连接改为尝试最后一次成功的读包2009-03-271.6李霞增加去除噪音功能,过滤掉帧前帧后多余的干扰字节2009-12-031.7索春明增加CRC校验SwapC寄存器,调整校验字节次

2、序2010-01-201.8索春明增加对于FMC寄存器使用的说明2010-04-091.9单维旺修改配置文件格式以及打包规则说明2010-11-302.0杨晨在TCP设备地址加上延时2011-03-0860,4,16,30曹萌萌添加对当第一帧写命令失败是,从配置文件读取指定的尝试连接帧的处理2011-04-1360,4,18,30董秀芹使用域名定义设备时,定义不下去,提示设备地址格式错误。 2011-6-1560.5.18.30肖自辉4号寄存器String类型变量读写以斜杠0结束设备地址格式定义补充说明2012-9-1760.5.19.30赵迪修改设备地址的通讯范围,并对设备地址的范围进行限制

3、2012-12-1760.6.19.30温志杰修改设备地址的通讯范围,并对设备地址的范围进行限制,修改校验错误2013-3-2160.7.20.30邢志远添加4寄存器位类型读写功能,在添加功能时发现TCP连接存在严重故障,已经修正。2013-5-2160.7.23.30邢志远修正TCP故障,合并代码增加域名解析功能,实现248到255正常通信。2013-6-2060.6.24.30邢志远修正TCP在组态王下尝试连接成功后初始化失败的故障.2013-11-1460.11.25.30赵迪增加一个寄存器,使得这个驱动支持10和06功能码,同时能够实现4aa.bb bit 寄存器可读写。2014-06

4、-2460.12.29.30邢志远彻底修改驱动代码结构,修改打包模式,增加全链路的配置文件作用,合并以前代码的所有功能。2014-12-460.13.29.30赫思奇增加地址页中关于Swap字节序的设置。增加对DTU的支持。2015-01-460.14.29.30邢志远为每个float类型变量加上swap配置(2级通道)2015-2-460.14.30.30邢志远增加发帧次数(对于正常设备没有影响)增加通信稳定性,修改句柄和线程泄露。2015-3-3060.14.31.30邢志远修改尝试连接时的尝试包,将尝试重连包按站号区分。 项目经理填写一、 产品功能简介a) 支持协议说明通用协议:Modb

5、usRtu,ModbusASCII,ModbusTCPb) 支持的硬件型号说明:所有支持上述协议的设备。c) 支持的连接说明及发送方式支持串口连接和TCP连接。如果是串口连接,支持按Rtu和ASCII发送;如果是TCP连接,支持以socket发送。二、 驱动接口:3.0开发包三、 设备添加方式a) 在组态王中定义设备时请选择:通用版下:PLC > 莫迪康 > ModbusRTU > COMPLC > 莫迪康 > ModbusRTU(unpack) > COMPLC > 莫迪康 > ModbusASCII > COMPLC > 莫迪康

6、> ModbusTCP > TCP其他的设备,设备名中必须包含有ModbusRTU,或ModbusASCII,或ModbusTCP字样。区分大小写。否则无法使用该驱动。由于驱动是通过des文件里面的这些关键字进行匹配的。英文版下:PLC > Modicon > ModbusRTU > COMPLC > Modicon > ModbusRTU(unpack) > COMPLC > Modicon > ModbusASCII > COMPLC > Modicon > ModbusTCP > TCP注:串口统一为“C

7、OM”,以太网统一为“TCP”b) 设备向导页选项的特殊说明:如果是串口设备:是否选串口是是否有地址选择页是 通讯方式RS232/RS485/RS422/描述COM如果是以太网设备:是否选串口是是否有地址选择页是 通讯方式串口描述TCP网络设备需要选择串口的原因是:一个设备接口(如Com1、网卡)开启一个线程。c) 对于串口设备通讯参数的推荐设置如下无,视具体设备而定四、 本设备的地址格式及地址范围串口连接方式(Rtu):Address:Delay: BeforeDelay|SwapF|SwapL|SwapCAddress 0-255设备地址Delay 0-60000 发送每条命令帧后的延迟时

8、间(毫秒)BeforeDelay 0-60000 发送每条命令帧前的延迟时间(毫秒)SwapF 0-3 浮点数的字节顺序,默认为配置文件中所写SwapL 0-3 长征性的字节顺序,默认为配置文件中所写SwapC 0-1 CRC校验的字节顺序,默认为配置文件中所写如:1:500:500|1|0|0注:如果在设备定义中对Swap系列功能设定,需要同时设定3个Swap顺序,且SwapF、SwapL、SwapC次序不得有误。串口连接方式(ASCII):同RTUTCP连接方式:IP:Port Address/TimeOut |SwapF|SwapL|SwapCIP0-255设备IP地址或域名Port0-

9、65535设备IP地址端口,(不写时默认为502)Address0-255设备地址 TimeOut0-65535网络超时(不写时默认3秒)SwapF 0-3 浮点数的字节顺序,默认为配置文件中所写SwapL 0-3 长征性的字节顺序,默认为配置文件中所写SwapC 0-1 CRC校验的字节顺序,默认为配置文件中所写 内不写则采用驱动默认值,写则采用用户自定义值。 【说明】 1.采用TCP连接方式,TCP常用设备格式有三种: <1>172.16.7.107:502 1/50 含义如下:172.16.7.107 为IP地址。: 为端口分隔符502 为端口号1 为设备地址/ 为网络超时分

10、隔符 50 为延时时间(单位秒)<2>172.16.7.107 1 含义:IP地址和设备地址,这时端口和网络超时默认值分别为502和50<3>172.16.7.107 1/30 含义:IP地址、设备地址和网络延时2.使用域名定义设备时,只需要把上面的ip地址改成域名即可,后面端口号、设备号、超时和上面的一样。如:: 502 1/50.3.最后的关于Swap字节序的添加,与RTU中相同如:192.168.21.20:502 1/50|1|0|0注:如果在设备定义中对Swap系列功能设定,需要同时设定3个Swap顺序,且SwapF、SwapL、SwapC次序不得有误。设备格

11、式<2> 为常用格式,如果出现设备通信不正常的情况<3>格式为最佳选择。设备地址格式定义补充说明: 在定义设备地址时没有按照地址格式定义时,虽然能够通过,但是在实际运行中会出现错误,可以在信息窗口中看到设备初始化失败信息。五、 寄存器列说明寄存器范围数据类型读写说明01 65535Bit读写逻辑线圈,I/O离散 (0XXXX)11 65535Bit读输入位寄存器(1XXXX)3dd.xx3nn.mm3dd3dd3m.n3aa.bbdd: 1 65535xx: 0-1nn: 1 65535mm: 0-3dd:165535dd:165534m:165535n:0127并且m

12、+(n+1)/2 -1<=65535aa:1655365bb:015BytefloatUshort/short/BCDfloat/Long/LongBCDStringBit读输入寄存器(3XXXX)4dd.xx4nn.mm4dd4dd4m.n4aa.bbdd: 1 65535xx: 0-1nn: 1 65535mm: 0-3dd:165535dd:165534m:165535n:0127并且m+(n+1)/2 -1<=65535aa:1655365bb:015BytefloatUshort/short/BCDfloat/Long/LongBCDStringBit读读写保持寄存器(4

13、XXXX)写操作时 Bit/Byte/Ushort/short/BCD类型用06功能码float/Long/LongBCD/String类型用10功能码6dd.xx6nn.mm6dd6dd6m.n6aa.bbdd: 1 65535xx: 0-1nn: 1 65535mm: 0-3dd:165535dd:165534m:165535n:0127并且m+(n+1)/2 -1<=65535aa:1655365bb:015BytefloatUshort/short/BCDfloat/Long/LongBCDStringBit读写同4寄存器的所有功能,但是写操作所有类型只下发0x10功能码Swap

14、F0Byte写浮点型字节顺序SwapS0Byte写字符串型字节顺序SwapL0Byte写长整型字节顺序SwapC0Byte写CRC校验字节次序SwapBCD0Byte写长BCD型字节顺序Ja0Bit读位类型写操作成功标志Sa0String读字符串类型写操作成功标志FMC165535String写强制多线圈状态说明:1. 该寄存器最多强制16个连续的线圈状态;2. 通道号为线圈的起始地址;3. 只能写入0或1组合的字符串如:FMC1写入111表示线圈1-3置位00000表示线圈1-5复位111111111表示线圈1-9置位下表2是Modbus功能码与本驱动支持的寄存器间的关系:功能码(16进制)

15、 名称 作用 相关寄存器01 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF) 002 读取输入状态 取得一组开关输入的当前状态(ON/OFF) 103 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值404 读取输入寄存器 在一个或多个输入寄存器中取得当前的二进制值305 强置单线圈 强置一个逻辑线圈的通断状态 006 预置单寄存器 把具体二进值装入一个保持寄存器 40F 强置多线圈 强置一串连续逻辑线圈的通断 FMC10预置多寄存器把连续的二进制值装入对应的连续的保持寄存器4/6说明: 1) SWAPF寄存器用于改变浮点数的字节顺序,SWAPL寄存器用语改变long型数据

16、的字节顺序,只有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) 3,4寄存器,如果客户需要读取Byte数据类型,需要定义二级通道。分别表示字的高

17、字节和低字节。例:31.0表示地址为0的数据的低字节,31.1表示地址为0的数据的高字节。Byte数据类型只可以读,不可以写。如果需要写,请定义Short或Ushort数据类型。4) 寄存器4读功能码为03,写单字(Short,Ushort,BCD)的功能码为06,写双字(Long,Float,LongBCD)的功能码为0x10。5) 驱动的变量后的寄存器通道号(寄存器范围),是按照以1为起始地址的。对于以0为起始地址的设备,定义变量应该加1。例如,如果某设备的一个变量在数据4区,为40100,如果地址是从1开始,对应变量定义为40100;如果地址是从0开始,定义为40101。6) 3,4寄存

18、器的String类型说明:a) 二级通道表示 x.y X表示读/写字符串的起始地址;y表示字符串的长度。长度说明:字符串长度为N,但在内存中还有一位结束符,由于Modbus Holding Register只能以双字节为单位写,所以实际发帧的时候共发N+1个字节或N+2个字节。即若写入N长度的字符串,实际在PLC中写入N+1或N+2个字节。 Y = 0 时:驱动代码中赋一个空串给组态王,但组态王显示为“0”。Y=1 时: 读取的字符串为地址X的当前ASCII字符。Y=N(N>1)时:读取长度为N的字符串,从地址X开始。b) 组态王支持可输入的ASCII码。c) #号只能读不能写入。d)

19、长度问题:字符串长度为N,但在内存中还有一位结束符,实际共占N+1位。即若写入N长度的字符串,实际在内存中写入N+1位e)当写入字符串的长度小于y时,其他内存全部填充'0'。y为奇数时,实际在内存中写入y+1位。7) SWAPC寄存器用于调整CRC校验字节次序.例如在通讯时从1#Modbus 从设备40001地址读取的数据为 01 03 02 00 06 38 46当SWAPC = 0时,将按 LOBYTE = 38,HIBYTE = 46 正常方式进行CRC校验当SWAPC = 1时,将按 LOBYTE = 46,HIBYTE = 38 反向方式进行CRC校验8) 3、4、6

20、寄存器float类型的二级通道3,4,6寄存器float类型现在支持二级通道,二级通道范围为0到3,分别代表说明(1)中的字节序。例如要建立4寄存器4321顺序的float类型变量则建立41.0即可。六、 打包规格描述:1) 相同的寄存器,数据长度相同,不超过最大打包长度时,可以打一个包。2) Byte,Ushort,short,bcd长度相同;long,float,longbcd长度相同。3) 配置文件中能够配置打包长度和打包段。七、 接收缓冲区的大小:(程序员需要提供此参数,此说明只用于测试工程师测试,用户文档中不列此项。)1024个字节八、 配置文件格式以及打包规则说明(1) 配置文件格

21、式配置文件名称为ModbusMaster,是一个文本格式文件,文件后缀名为.ini,其格式以及相关说明如下:设备名称1 /设备名称,与Devlst中的设备名称一致PackLen =125 / 最大打包长度,0为不打包SupReg = 0,1,3,4 / 支持的寄存器,如果支持就添加到括号中Timeout = 15000 / 使用GPRS或者Modem时的通讯超时,默认15000毫秒Num = 4 / 后续的打包规则个数1 = 01,010,Fixed / 打包规则1,0寄存器的180点数据可以打/在一个包里(协议层),Fixed为可选项,当协议里规/定,该数据段的数据必须在一个数据帧里请求,则

22、定义该标记;/驱动在请求该数据段中的任何数据时,都会组帧请求1到10的/固定帧。2 = 1200,1250 /1寄存器的15932000点数据可以打在一个包里3 = 31,310 ,320,330 /3寄存器的110点数据可以打在一个包里(协议层),20 30/点数据可以打在一个包里(协议层)。4 = 41,410,420,430,Fixed /4寄存器的110点数据可以打在一个包里(协议层),/由于定义了Fixed标记,驱动在请求该数据段中的任何/数据时,都会组帧请求1到10的固定帧;同样,对于 /20 30点数据可以打在一个包里,由于Fixed标记的存/在,请求20 30数据段之间的任何数

23、据时,都会组帧请/求20 到30的固定帧。设备名称2Swap栏的配置是默认的字节序配置下方逗号开头的是对字节序的解释Swap,HV4321 = 0 ,HV3412 = 1 ,HV1234 = 2 ,HV2143 = 3 ,crc = 1 or 0long=3float=3longbcd=0crc=0string=0比如long=3即为原字节序1234调整为2143以此类推;而crc和string类似,只有0和1的区分,意义分别是调整crc校验的高低位和调整字符串类型变量的字符顺序比如一个字符串变量原顺序为“abcdefg”,赋值为1后则为“badcgf”以字为单位颠倒顺序。添加对当第一帧写命令

24、失败是,从配置文件读取指定的尝试连接帧的处理TryConnectnTryStartAddress = 1 /注意起始地址是1nTryEndAddress = 1 /结束地址应该大于等于起始地址nTryRegType = 3 /寄存器的类型(寄存器的顺序取值0,1,2,3分别对应寄存器0,1,3,4)nTryDataType = 2 /数据类型,可以按默认处理/ 解释nTryDataType可以选取如下值,数字代表所对应的数据类型BIT_DATATYPE 1BYTE_DATATYPE 2INT_DATATYPE 4UINT_DATATYPE 8BCD_DATATYPE 16LONG_DATATY

25、PE 32LONGBCD_DATATYPE 64FLOAT_DATATYPE 128STRING_DATATYPE 256(2) 打包规则说明配置文件是一个信息文件格式,其中定义了设备名称以及打包规则。需要说明的是,这里定义的打包规则是基于协议的。比如协议里规定,4寄存器的110是一个数据段,可以在一个包里请求,那么就在配置文件里定义41,410如果客户在组态王中定义了变量的情况如下:42,45,46,47,48,49则会依据下面的步骤进行判断,1) 从配置文件里,载入配置信息,获得协议层的打包规则;2) 42,45,46,47,48,49这些变量在一个包里可以读出。3) 如果相应的规则后没有

26、fixed,那么组包为42-49。4) 如果相应的规则后有fixed,那么组包为41-410。5) 如果变量不在规则指定的范围内,则每个变量单独一个包。 (3) 配置文件使用说明目前配置文件ModbusRTU段后的信息为标准的modbus协议的打包规则。ModbusRTU(unpack)段后的信息为不打包的打包规则。如果需要修改相应的规则,则按照文件的格式要求进行修改。(4) 其他说明1) ModbusMaster.ini文件保存在组态王驱动安装文件夹下,默认安装在: C:Program FilesKingviewdriver。2) PackLen单位为字(WORD)。由于ModbusRTU应

27、答的数据最多255字节(127个WORD),PackLen最大设置为127。3) 每个寄存器需单独列出打包规则。若有多个打包段,按顺序写。最多支持32个打包段。4) 0和1寄存器是以字节(BYTE)为单位,其他寄存器是以字(WORD)为单位。例如:1 = 10003,10004 表示寄存器变量10017-10032可以打一个包2 = 40008,40012 表示寄存器变量40008-40012可以打在一个包5) 如果用户没有使用配置文件,则默认打包规则见“六 打包规则描述”;如果用户定义了配置文件,则默认打包规则无效,用户定义的打包段外的寄存器不打包。例:用户定义配置文件:3 = 310,320,最大打包长度127定义寄存器35,310,320,321,322,则35一个包,310-320一个包,321一个包,322一个包

温馨提示

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

评论

0/150

提交评论