硬件配置 参数设置 设备命令 设备说明
#ModbusTCP/IP数据转发设备
1、 设备简介
本驱动构件用于MCGS软件作为ModbusTCP Slave (从站),将各种寄存器的数据通过ModbusTCP协议转发给ModbusTCP Master (主站);
此时MCGS作为网络服务端,而ModbusTCP Master做为网络客户端向服务端发出请求帧,服务端收到合理请求帧后,回应数据帧。
本驱动构件多用于同MCGS“标准ModbusTCP设备”成对配合使用,以实现MCGS软件与软件、软件与触摸屏(TPC),或触摸屏与触摸屏之间数据交互的目的。同时也可用于MCGS软件、触摸屏与其他软件触摸屏通讯数据交互,但协议及解码格式需遵从MCGS标准。
本驱动支持01、02、03、04、05、06、15、16常用功能码,对功能码支持请参见附录1。
驱动类型 | 以太网子设备,须挂接在“通用TCP/IP父设备”下才能工作 |
通讯协议 | 采用莫迪康ModbusTCP协议 |
通讯方式 | 驱动构件为网络服务端,接收客户端访问。目前只支持单客户端访问。 |
2、 硬件连接
MCGS软件在通讯之前,请保证通讯连接正确。
通讯连接方式:采用标准的RJ45接口的以太网接线(对调网线或使用HUB交换)。
3、 设备通讯参数
“通用TCP/IP父设备”通讯参数设置如下:
网络类型:网络通讯模式,请与设备设置一致。默认为UDP,一般标准ModbusTCP设备多设置为“1 - TCP”模式通讯。
服务器/客户设置:请设置为“1 – 服务器”方式,即:做为服务器端,接受客户端访问。
本地IP地址:执行机的本机IP地址。请根据实际情况,正确填写执行上位机或TPC的本机IP地址。
本地端口号:执行机的网络操作端口,设置前要确保设置端口不被其他程序占用。一般按默认值3000设置或设置为ModbusTCP标准的502端口。
远端IP地址:客户端(即:ModbusTCP主站)的IP地址。请根据实际情况,正确填写相应IP地址。
(注意:在局域网时,服务器端IP地址和客户端IP地址需要在同一个子网内。即:要求点分四段IP表示法的前三段地址要相同)。
远端端口号:客户端(即:ModbusTCP主站)的网络操作端口,一般按默认值3000即可。与“标准ModbusTCP设备”配合使用时,设置为与其本地端口号对应即可。
注:通用TCP/IP父设备的通讯远程参数设置应与客户端的通讯参数相同,否则无法正常通讯。
4、 设备构件参数设置
“ModbusTCPIP数据转发设备”参数设置如下:
● 内部属性:单击“查看设备内部属性”,点击按钮进入内部属性,具体设置请参看内部属性。
● 最小采集周期:MCGS对设备进行操作的时间周期,单位为ms,默认为100ms,一般可设置为20ms以保证响应的及时性。
● 设备地址:ModbusTCP Slave(从站)站地址,范围为0-255,默认值为0。可根据需要调整。
● 最小延时周期:通讯数据接收等待时间,默认设置为10ms,一般不需要调整,可视情况适当增大。
● 16位整数解码顺序:调整字元件的解码顺序,对于标准ModbusTCP主站,使用默认值即可。
0—12:表示字元件高低字节不颠倒(默认值)。
例如:解码0x0001 表示1
1—21:表示字元件高低字节颠倒。
例如:表示0x0100 (即256)
● 32位整数解码顺序:调整双字元件的解码顺序,对于标准ModbusTCP主站,请设置为“2-3412”顺序解码。
0—1234:表示双字元件不做处理直接解码(默认值)。
例如:解码0x0000 0001 表示 1
1—2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。
例如:解码0x0000 0001 表示 0x0000 0100 (即tcp ip协议技术256)
2—3412:表示双字元件高低字颠倒,但字内高低字节不颠倒。
例如:解码0x0000 0001 表示 0x0001 0000 (即65536)
3—4321:表示双字元件内4个字节全部颠倒。
例如:解码0x0000 0001 表示 0x0100 0000 (即1677 7216)
● 32位浮点数解码顺序:调整双字元件的解码顺序,对于标准ModbusTCP主站,请设置为“2-3412”顺序解码。
0—1234:表示双字元件不做处理直接解码(默认值)。
例如:解码 0x3F80 0000 表示 1.0
1—2143:表示双字元件高低字不颠倒,但字内高低字节颠倒。
例如:解码 0x3F80 0000 表示 -5.78564e-039
2—3412:表示双字元件高低字颠倒,但字内高低字节不颠倒。
例如:解码 0x3F80 0000 表示 2.27795e-041
3—4321:表示双字元件内4个字节全部颠倒。
例如:解码 0x3F80 0000 表示 4.60060e-041
注意:解码顺序说明:本构件32位浮点数和32位整数的默认解码顺序与“标准ModbusTCP设备”中默认解码顺序“0-1234”相对应。驱动兼容旧驱动,默认解码顺序与旧驱动默认解码顺序相同。
在使用本驱动与“标准ModbusTCP设备”构件配合通讯时,“解码顺序”按默认顺序或设置为标准“2-3412”解码顺序设置均可,但两端要保持相同的解码顺序设置,否则会导致数据解析错误。而当用户通过本驱动构件与其他客户端通讯时,如果客户端出现解析数据值不对时,请确认客户相应两项的是否与此约定相同。标准ModbusTCP主站的解码顺序一般为“2-3412”解码顺序。
5、 采集通道
a、 通讯状态:
通讯状态值 | 代表意义 |
0 | 对于本ModbusTCP从设备,此状态值始终为0。 |
6、 内部属性
用户可通过内部属性,添加通道,本驱动构件可支持ModbusTCP寄存器类型及对应功能码如下:
寄存器 | 数据类型 | 读取功能码 | 写入功能码 | 操作方式 |
[1区]输入继电器 | BT | 02 | — | 只读 |
[0区]输出继电器 | BT | 01 | 05、15 | 读写 |
[3区]输入寄存器 | WUB、WB、WD DUB、DB、DD、DF、STR | 04 | — | 只读 |
[4区]输出寄存器 | WUB、WB、WD DUB、DB、DD、DF、STR | 03 | 06、16 | 读写 |
说明:
功能码:[1区]、[3区]不支持写操作;[4区]在双字(32位)数据写操作或批量写入多个数据时,使用16功能码。
数据类型:“128字节 字符”数据类型是专用于和MCGS“标准ModbusTCP设备”驱动构件配合使用的,并且“标准ModbusTCP设备”驱动构件只能通过写通道的方式来改变相应通道的值。具体数据类型说明请参见 附录2
注释:1. 在内部属性中添加通道时,起始地址均为1,这是遵从Modbus协议的,即所谓的“协议地址”,对于部分寄存器起始地址为0的设备,通道添加时,地址应加1处理。
2. 上表中的操作方式,是代表主站对所添加的寄存器通道的访问方式。只读,表示主站访问时通道只能读取不能写入;而只写则代表通道只能写入不能读取;读写,表示可以读取和写入操作。添加通道时请根据情况进行选择。例如:希望从站的某几个数据只能被主站读取而不能修改时,可设相应通道为只读。
3. 在需要读取大量数据的时候,请尽量将要采集的数据放在相同寄存器的连续地址中,这样即可以提高每次采集的效率,又可以避免因地址不连续而导致的采集分块过多,通讯速度慢的问题,从而有效的提高采集速度。
7、 设备命令
本设备构件没有设备命令。
8、 数据转发设备说明
本驱动构件用于MCGS软件做为ModbusTCP Slave (从站),将各种寄存器的数据通过ModbusTCP协议转发给ModbusTCP Master (主站); 当使用MCGS“标准ModbusTCP设备”驱动构件或其他软件做为ModbusTCP Master(主站)访问时,必须保证主站所要访问寄存器、地址、数据类型及解码顺序与本构件(从站)所添加通道相应参数的一致性,否则会导致通讯失败或解析数据错误。
例如:主站要访问4区的地址10开始,连续2个16位无符号数据,且具有可读写属性,则要在本构件中内部属性中添加:寄存器类型为4区,起始地址为10,通道数据类型为“16位无符号二进制”,操作方式为“读写”的连续2个通道,即:“读写4WUB0010”、“读写4WUB0011”两个通道。
9、 特殊应用的开发
本设备构件目前只实现部分通讯功能,如需要用作其它用途或本构件不能满足要求时,可自行进行开发,《MCGS用户指南》中有关于开发设备构件的详细说明,也可以提出具体的技术要求,由我们亲自为您定制。
附表:
附录1
本驱动构件支持的寄存器及功能码说明如下:
寄存器 | 读取功能码 | 写入功能码 | 功能码说明 |
[1区]输入继电器 | 02 | — | 02: 读取输入状态 |
[0区]输出继电器 | 01 | 05 15 | 01: 读取线圈状态 05: 强制单个线圈 15: 强制多个线圈 |
[3区]输入寄存器 | 04 | — | 04: 读输入寄存器 |
[4区]输出寄存器 | 03 | 06 16 | 03: 读保持寄存器 06: 预置单个寄存器 16: 预置多个寄存器 |
说明:
1.本驱动构件支持01、02、03、04、05、06、15、16等常用功能码,对于其它非数据通讯用功能码暂不支持。
2.以上功能码均以10进制标注。功能码15和16分别对应16进制的0x0F和0x10。
3.“[1区]输入寄存器”和“[3区]输入寄存器”不支持写功能码。
4.“[4区]输出寄存器”在双字(32位)数据写操作或批量写入多个数据时,使用16功能码。
注意:添加寄存器通道时,起始地址均为1,这是遵从Modbus协议的,即所谓的“协议地址”,对于部分寄存器起始地址为0的设备,通道添加时,地址应加1处理。
附录2
数据类型表:
BTdd | 位(dd范围:00-15) |
BUB | 8位 无符号二进制 |
BB | 8位 有符号二进制 |
BD | 8位 2位BCD |
WUB | 16位 无符号二进制 |
WB | 16位 有符号二进制 |
WD | 16位 4位BCD |
DUB | 32位 无符号二进制 |
DB | 32位 有符号二进制 |
DD | 32位 8位BCD |
DF | 32位 浮点数 |
STR | 字符串 |
1) 数据类型的第一个字母表示数据的长度,B表示是字节数据,W表示是字数据,D表示是双字数据;
2) 最后一个或两个字母表示数据类型,B表示二进制数,D表示BCD码,F表示浮点数;
3) 字符中二进制数中带U表示无符号数,不带U的表示有符号数;
4) 字符串数据类型是专用于和MCGS“标准ModbusTCP设备”驱动构件配合使用的,并且“标准ModbusTCP设备”驱动构件只能通过写通道的方式来改变字符型通道的值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论