CCLINK IE转MODBUS-TCP网关modbus tcp协议详解

你是否曾经遇到过需要同时处理CCLINK IE FIELD BASIC和MODBUS两种数据协议的情况?捷米的JM-CCLKIE-TCP网关可以帮助你解决这个问题。

捷米JM-CCLKIE-TCP网关可以分别从CCLINK IE FIELD BASIC一侧和MODBUS一侧读写数据,然后将数据存入各自的缓冲区。接着,网关内部会将缓冲区的数据进行交换,从而实现两边数据的传输。这样的设计使得网关在处理不同协议的数据时更加灵活和高效。

1, MODBUS 功能码

MODBUS 报文相对比较固定,所以您只需要稍作了解,看几条报文之后就知道了它的结构,在需要的时候再来具体查询。

4.3.2.1 读取输出状态(01H)

功能码:01H主站询问报文式:

|--------|---------|------------|------------|-----------|-----------|---------|
| 地址 | 功能码 | 起始地址高位 | 起始地址低位 | 线圈数高位 | 线圈数低位 | CRC |
| 13H | 01H | 00H | 11H(17) | 00H | 25H | xxxx |

功能:读从站输出线圈0XXXX状态。

本例:读13H号从站输出线圈,寄存器起始地址=0011H=17,线圈数=0025H=37;因此,本

询问报文功能是:读19(13H)号从站输出线圈00017-00053,共37个线圈状态。

从站应答格式:

|--------|---------|----------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|---------|
| 地址 | 功能码 | 字节计数 | 线圈状态 00017- 00024 | 线圈状态 00025- 00032 | 线圈状态 00033- 00040 | 线圈状态 00041- 00048 | 线圈状态 00049- 00053 | CRC |
| 13H | 01H | 05H | CDH | ABH | EFH | 12H | 1BH | xxxx |

2, 功能:从机返回输出线圈0XXXX状态本例:1B=00011011,对应00049-00053

1B= 0 0 0 1 1 0 1 1,对应00049-00053

|---|
| 填 |

|---|
| 0 |

|-------|
| 00049 |

|-------|
| 00053 |

|---|
| |

4.3.2.2 读取输入状态(02H)

功能码:02H主站询问报文式:

|--------|---------|------------|------------|-----------|-----------|---------|
| 地址 | 功能码 | 起始地址高位 | 起始地址低位 | 线圈数高位 | 线圈数低位 | CRC |
| 13H | 02H | 00H | 12H(18) | 00H | 10H | xxxx |

功能:读从站输入线圈1XXXX状态。

本例:读13H号从站输入线圈,起始地址=0012H=18,线圈数=0010H=16

因此,本询问报文功能是:读19(13H)号从站输入线圈10018---10033,共16个输入线圈状态;

从站应答格式:

|--------|---------|----------|--------------------------|--------------------------|---------|
| 地址 | 功能码 | 字节计数 | 线圈状态 10018-10025 | 线圈状态 10026-10033 | CRC |
| 13H | 02H | 02H | CDH | ABH | xxxx |

功能:从机返回DI=1XXXX状态

4.3.2.3 读取保存寄存器(03H)

功能码:03H主站询问报文式:

|--------|---------|------------|------------|------------|------------|---------|
| 地址 | 功能码 | 起始地址高位 | 起始地址低位 | 寄存器数高位 | 寄存器数低位 | CRC |
| 13H | 03H | 00H | 60H(96) | 00H | 02H | xxxx |

功能:读从站保持寄存器4XXXX值。

本例:读13H号从站保持寄存器值,起始地址=0060H=96,寄存器数=0002;

因此,本询问报文功能是:读19(13H)号从站3个保持寄存器40096---40097的值;从站应答格式:

|--------|---------|----------|--------------------------|--------------------------|--------------------------|--------------------------|---------|
| 地址 | 功能码 | 字节计数 | 寄存器 40096 高位 | 寄存器 40096 低位 | 寄存器 40097 高位 | 寄存器 40097 低位 | CRC |
| 13H | 03H | 04H | 03H | 00H | 02H | 2AH | xxxx |

功能:从站返回保持寄存器的值:40096=0300H,40097=022AH

网关的控制字

|------------|--------------------------|
| D7~D1 | D0 :启动 MODBUS 发送 |
| 保留 | 0:停止 1:启动 |

5.5.2 网关的状态字

|----------------|--------------------|---------------|-----------------------|--------------------|
| D7 :奇偶校验 | D6CRC 校验 | D5 :等待超时 | D4~D1 :异常应答 | D0 :接收**/** 发送 |
| 0:没有错误 1:奇偶校验错 | 0:没有错误 1:CRC 校验错 | 0:没有错误 1:等待超时 | 0:没有错误 其他:Modbus 访问异常 | 0:准备接收 1:准备发送 |

5.5.3 启动捷米JM-CCLKIE-TCP网关的 Modbus

  1. 使用 Modbus Slave 软件做为从站,与网关的 RTU 端子连接进行测试。
  2. 点击软件的菜单栏"Connection------Connect...",设置正确的端口号,然后点击 OK,开始运行。如下图:
  1. 点击软件的菜单栏"Setup------Slave Definition",设置从站允许访问的数据区,如下图:
  1. 在 GX WORKS3 主站软件上,将输出数据的第 1 个 word 赋值为 1(控制字 =1),启动 MODBUS-RTU 通讯。
  1. 测试数据:

在 Modbus Slave 软件中,手动修改数据值,如下图:

6, 可以在 GX WORKS3 主站软件中监控到上传数据。

  1. 在 GX WORKS3 主站软件上手动修改一个 output 数据值,在 Modbus Slave 软件中可以监视到,数据已经成功下发。

8, 通过使用捷米的JM-CCLKIE-TCP网关,你可以轻松地同时处理CCLINK IE FIELD BASIC和MODBUS两种数据协议。赶快评论分享你对这个网关的看法,并告诉我们你是否有类似的需求吧!

相关推荐
溯Sec25 分钟前
搜索引擎之shodan(一):初始化及安装
网络·安全·web安全·搜索引擎·网络安全·系统安全·安全架构
这题怎么做?!?26 分钟前
【Linux】网络编程:实现一个简易的基于HTTP协议格式、TCP传输的服务器,处理HTTP请求并返回HTTP响应;GET方法再理解
linux·服务器·c语言·网络·c++·tcp/ip·http
ZachOn1y27 分钟前
计算机网络:网络层 —— IP 多播技术
网络·tcp/ip·计算机网络·ipv4·ip多播
网络安全指导员3 小时前
常见网络安全设备默认口令
服务器·网络·安全·web安全·php·apache
车载诊断技术6 小时前
整车功能架构 --- 智能座舱
网络·人工智能·分布式·架构·汽车·电子电器架构
Super-Yb7 小时前
AnaTraf | 网络性能监测系统与分布式性能监测探秘
网络·分布式·tcp/ip·计算机网络·网络流量分析·全流量回溯分析
小胖西瓜8 小时前
[解决方案] 几种通过 iproute2 来打通不同节点间容器网络的方式
网络
随便@_@8 小时前
ENSP (虚拟路由冗余协议)VRRP配置
网络
飞升不如收破烂~9 小时前
路由和网关的关系可以用一个生活中的比喻
java·服务器·网络·jvm·生活
yoona10209 小时前
《女巫攻击:潜伏在网络背后的隐秘威胁与防御策略》
网络·web安全·区块链·学习方法·女巫攻击