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

莫迪康ModbusRTU

莫迪康ModbusRTU
莫迪康ModbusRTU

异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。

莫迪康ModbusRTU

1、设备简介

本驱动构件用于MCGS软件通过ModbusRTU协议读写Modicon PLC设备的各种寄存器的数据;

同时也可用于对支持ModbusRTU标准协议的各类PLC、仪表、控制器数据的读写。

本驱动支持01、02、03、04、05、06、15、16常用功能码,对功能码支持请参见附录1。

2、硬件连接

MCGS软件与设备通讯之前,必须保证通讯连接正确。

通讯连接方式:TPC与设备之间采用标准的RS485或RS232通讯。

Modicon TSX系列和Twido系列PLC的编程通讯口(Terminal Port)的通讯电缆图如下:

其他设备的通讯连接,具体请参考对应设备手册。

3、设备通讯参数

“通用串口父设备”通讯参数设置如下:

其中父设备通讯参数设置应与设备的通讯参数相同,否则无法正常通讯。

设备通讯参数的具体设置请参见对应设备手册。

4、设备构件参数设置

“莫迪康ModbusRTU”子设备参数设置如下:

●内部属性:单击“查看设备内部属性”,点击按钮进入内部属性,具体设置请参看内部属性。

●最小采集周期:MCGS对设备进行操作的时间周期,单位为ms,默认为100ms,根据采集数

据量的大小,设置值可适当调整。

●设备地址:必须和实际设备的地址相一致,范围为0-255,默认值为0。

●通讯等待时间:通讯数据接收等待时间,默认设置为200ms,根据采集数据量的大小,设置值可

适当调整。

●快速采集次数:对选择了快速采集的通道进行快采的频率(已不使用,为与老驱动兼容,故保留,

无需设置)。

16位整数解码顺序:调整字元件的解码顺序,对于Modicon PLC及标准PLC设备,使用默认值即可。

32位整数解码顺序:调整双字元件的解码顺序,对于Modicon PLC,请设置为“2-3412”顺序解码。

32位浮点数解码顺序:调整双字元件的解码顺序,对于Modicon PLC,请设置为“2-3412”顺序解码。

校验方式:选择LRC校验值的组合方式,对于Modicon PLC及标准PLC设备,使用默认设置即可。0—LH[低字节,高字节] :校验结果为2个字节,低字节在前,高字节在后。

1—HL[高字节,低字节] :校验结果为2个字节,高字节在前,低字节在后。

分块采集方式:驱动采集数据分块的方式,对于Modicon PLC及标准PLC设备,使用默认设置可以提高采集效率。

0—按最大长度分块:采集分块按最大块长处理, 对地址不连续但地址相近的多个分块,分为一块一次性读取,以优化采集效率。

1—按连续地址分块:采集分块按地址连续性处理,对地址不连续的多个分块, 每次只采集连续地址,不做优化处理。

例如:有4区寄存器地址分别为1~5,7,9~12的数据需采集,如果选择“0-按最大长度分块”,则两块可优化为地址1~12的数据打包1次完成采集;如果选择“1-按连续地址分块”,则需要采集3次。

4区16位写功能码选择:写4区单字时功能码的选择,这个属性主要是针对自己制作设备的用户而设置的,这样的设备4区单字写可能只支持0x10功能码,而不支持0x06功能码。

0—0x06:单字写功能码使用0x06。

1—0x10:单字写功能码使用0x10。

注意:

1.“解码顺序”及“校验方式”设置:主要是针对非标准ModbusRTU协议的不同解码及校验顺序。当用户通过本驱动软件与设备通讯时,如果出现解析数据值不对,或者通讯校验错误(通讯状态为3),可与厂家咨询后对以上两项进行设置。而对于Modicon PLC及支持标准ModbusRTU的PLC及控制器等设备,一般需将“32位整数解码顺序”和“32位浮点数解码顺序”设置为“2-3412”。另外,在使用本驱动与“Modbus 串口数据转发设备”构件通讯时,“解码顺序”及“校验方式”均需按默认值设置,否则会导致通讯失败或解析数据错误。

2.“分块采集方式”设置:主要是针对非标准ModbusRTU协议设备。当用户通过本驱动软件与设备通讯时,如果按默认“0-按最大长度分块”时,出现读取连续地址正常,而不连续地址不正常时,可与厂家咨询,并设置为“1-按连续地址分块方式”尝试是否可正常通讯。而对于Modicon PLC及支持标准ModbusRTU 的PLC及控制器等设备,直接使用默认设置即可,这样可以提高采集效率。

5、采集通道

a、通讯状态:

6、内部属性

用户可通过内部属性,添加通道,本驱动构件可支持ModbusRTU寄存器类型及对应功能码如下:

说明:

功能码:[1区]、[3区]不支持写操作;[4区]在双字(32位)数据写操作或批量写入多个数据时,使用16功能码。

数据类型:“STR”数据类型是专用于和MCGS“Modbus串口数据转发设备”驱动构件配合使用的,并且只能通过写通道的方式来改变“Modbus串口数据转发设备”从设备的值。具体数据类型说明请参见附录2

注意:在内部属性中添加通道时,起始地址均为1,这是遵从Modbus协议的,即所谓的“协议地址”,对于部分寄存器起始地址为0的设备,通道添加时,地址应加1处理。

7、设备命令

本设备构件提供设备命令,具体格式如下:

注:通常情况下,驱动日志功能默认为关闭的;

参数说明:

寄存器名称:字符型变量,表示当前操作的寄存器,值为”1”,”0”,”3”,”4”,分别对应[1区]输入继电器、[0区]输出继电器、[3区]输入寄存器、[4区]输出寄存器。

寄存器地址:数值型变量,表示当前操作的寄存器地址,不同的设备地址范围不同,查阅相关手册确定。

数据类型:字符型变量,表示当前操作的寄存器数据类型附录2

数据:数值型变量、开关量,它是用来存储设备命令数据的MCGS变量。

返回状态:返回批量读写设备命令的执行状态(当设备命令格式错误时无效), 具体返回值意义请参见通讯状态说明, 返回状态为可选参数(以[]标记), 用户也可通过通讯状态通道判断返回结果。

批量读写说明:

1.批量读写操作(包括:ReadP、ReadPV、WriteP、WritePV),为对同类寄存器连续地址的一次性读写操作。使用时要注意变量对应寄存器地址的连续性。

2.批量读写操作(包括:ReadP、ReadPV、WriteP、WritePV),数据个数最大为512个。建议一次批量操作数据量不要过大, 否则会影响正常采集效果。

3.批量读写ReadPV和WritePV为对连续变量的操作,使用时要注意保证变量命名的索引累加的连续性。具体可参看相应“命令举例”部分。

4.批量读写ReadBlock和WriteBlock为对连续地址的读写操作,其字符变量格式为特定的CSV格式,在写入及读取解析时一定要注意符合格式要求。

通讯日志功能说明:

设备命令中提供的通讯日志功能是为了方便用户现场调试,默认为不开启状态。正常时无需开启,否则影响速度。当现场有疑难无法正常通讯时,可开启通讯日志功能,记录日志信息,将通讯过程记录以供技术人员分析。对于通讯跳变等不稳定状态,可以开启通讯错误日志记录(即:当通讯不正常时,记录通讯错误的日志,而正常通讯时不记录日志)。通讯日志默认保存为C:\ModbusRTU.log (TPC下为\harddisk\ ModbusRTU.log)。当文件大于6M时自动清空。

日志格式举例说明如下:

属性获取功能说明:

使用设备命令中提供的属性获取功能,可以获得通讯日志状态、PLC延时、最小采集耗时等数据。

其中:通讯日志状态:读回值为1时,表示通讯日志开启;读回值为2时,表示开启错误日志;为0时,表示通讯日志关闭。

PLC延时:为PLC实际的响应延迟时间,即:驱动读写指令帧发出后到PLC响应并开始返回数据帧所用的时间。

最小采集耗时:为采集最少数据(1字长数据)所耗费的时间,最小采集耗时=发指令帧耗时+ PLC延时+接收数据帧耗时。

用户在调试时,可根据PLC延时、最小采集耗时判断PLC的实际响应时间,并结合驱动通讯日志判断采集速度是否正常。

如数据值过大,说明PLC可能因程序过大而导致响应时间过长,影响采集速度。解决方法为优化PLC 程序,提高PLC响应时间。

8、常见故障分析

9、特殊应用的开发

本设备构件目前只实现部分通讯功能,如需要用作其它用途或本构件不能满足要求时,可自行进行开发,《MCGS用户指南》中有关于开发设备构件的详细说明,也可以提出具体的技术要求,由我们亲自为您定制。

附表:附录1

本驱动构件支持的寄存器及功能码说明如下:

说明:1.本驱动构件支持01、02、03、04、05、06、15、16等常用功能码,对于其它非数据通讯用

功能码暂不支持。

2.以上功能码均以10进制标注。功能码15和16分别对应16进制的0x0F和0x10。

3.“[1区]输入寄存器”和“[3区]输入寄存器”不支持写功能码。

4.“[0区]输出继电器”在批量写入多个继电器时,使用15功能码。

5.“[4区]输出寄存器”在双字(32位)数据写操作或批量写入多个数据时,使用16功能码。

6.对于只支持16功能码,而不支持06功能码写4区单个寄存器的设备,可以考虑使用批量写操作函数实现。

例如:要用16功能码对4寄存器地址10进行单字写操作,可以用以下设备命令实现:!SetDevice(设备0,6, "WriteP(4,10,WUB,1,Data00)")。

注意:添加寄存器通道时,起始地址均为1,这是遵从Modbus协议的,即所谓的“协议地址”,对于部分寄存器起始地址为0的设备,通道添加时,地址应加1处理。

附录2 数据类型表:

1)数据类型的第一个字母表示数据的长度,B表示是字节数据,W表示是字数据,D表示是双字数据;

2)最后一个或两个字母表示数据类型,B表示二进制数,D表示BCD码,F表示浮点数;

3)字符中二进制数中带U表示无符号数,不带U的表示有符号数;

4)字符串数据类型是专用于和MCGS“Modbus串口数据转发设备”驱动构件配合使用的,并且只能通过写通道的方式来改变“Modbus串口数据转发设备”从设备的值。字符串的增加如下图所示:

注意:在使用字符串时,要保证主站和从站中增加的字符串通道完全一样,并且写字符串时,长度尽量不要超过规定的字节数(汉字占两个字节,其余字符占一个字节)

例:主站中的通道是4STR0012_20,那么从站中的通道也必须是4STR0012_20,并且写字符串的长度尽量不要超过20个字节。

相关文档