当前位置: 首页 > news >正文

②EtherNet/IP转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关icon-default.png?t=O83Ahttps://item.taobao.com/item.htm?ft=t&id=822721028899

协议转换通信网关

EtherNet/IP 转 Modbus TCP

(接上一章)

GW系列型号 

配置使用 

EtherNet/IP 主站进行组态说明

这里介绍与欧姆龙 PLC 的 Sysmac Studio 软件组态。
PLC 型号以 NX1P2-1040DT 为例;
网关 MS-GW25 的 EtherNet/IP 的 IP 地址以默认的 192.168.1.8 为例说明。

1、打开 Sysmac Studio,新建工程,选择设备类型,设备型号以及版本,然后点击创建;

工程名称:自定义。

选择设备:设备选择对应的 PLC 型号, 版本推荐选择 V1.40 及以上。

2、打开“控制器设置”,双击打开“内置 EtherNet/IP 端口设置”,选择“TCP/IP”按钮,设置 PLC 的 IP 地址;

3、在菜单栏选择工具,然后选择 EtherNet/IP 连接设置;

4、在 EtherNet/IP 设备列表中双击 PLC 的节点地址,打开连接设置窗口;

5、添加网关模块设备的 EDS 文件;

(1)在右侧工具箱窗口中的目标设备框中,右击选择显示 EDS 库;
(2)点击安装,选择网关的 EDS 文件,点击打开,安装完成后,关闭窗口;
(3)添加目标设备,在右侧工具箱窗口中的目标设备框中,点击 + 号,输入网关的 IP 地址,选择对应的网关设备型号 MS-GW25,选择修订版,点击添加按钮;

6、右击刚刚添加的目标设备 MS-GW25,如果要修改,可选择编辑,设定输入输出字节大小(不建议修改,使用默认字节),字节大小参考使用说明手册;

7、连接设定;

(1)新建全局变量,字节大小根据上一步骤设定的大小去设定;

(2)选择标签组窗口,添加标签组,点击全部注册按钮,勾选需要注册的标签,点击注册,这样标签组就建好了;

(3)切换到连接窗口,在右侧目标设备中,选择 MS-GW25,双击添加或右键选择添加,输入目标变量填写 100,输出目标变量填写 101,输入起始变量选择上一步新建的标签组名 IN,输出起始变量选择上一步新建的标签组名 OUT,默认的扫描周期是 50ms,对于许多应用场景,这个时间需要更改,最小可设定成 1ms,超时时间大于 16ms 即可,全部设定完成后,点击“传送到控制器”按钮,下载 至 PLC;

8、到此已完成 PLC 和 网关 MS-GW25 的 EtherNet/IP 配置;PLC 和网关 MS-GW25连接上后,网关 MS-GW25 面板上的 NS1 或者网页上 EIP-NS 指示灯绿灯常亮;

与 MODBUS TCP 从站设备进行连接说明

网关 MS-GW25 做 EtherNet/IP 的从站,MODBUSTCP 的主站(客户端),连接EtherNet/IP 主站的 PLC 和 MODBUSTCP 从站(服务端)的设备,使两种协议的数据能够互通。网关的 EtherNet/IP 和 ModbusTCP 之间的数据转换通过“映射”关系来建立。设备中有两块数据缓冲区,一块是 EtherNet/IP 网络输入缓冲区,另一块是EtherNet/IP 网络输出缓冲区。ModbusTCP 读取命令将读取的数据写入到网络输入缓冲区,供 EtherNet/IP 网络读取;ModbusTCP 写命令从网络输出缓冲区取数据,输出到相应的 ModbusTCP 从站设备。
EtherNet/IP 主站的 PLC 型号是 NX1P2-1040DT,MODBUSTCP 从站(服务端)的设备MODBUS Slave 软件模拟。

1、按6.1步操作,使模块和 EtherNet/IP 主站通讯上。
2、打开 MODBUS Slave,设置成相应的 MODBUS TCP 从站。
这里只用一台电脑进行设置成 MODBUS TCP 从站。

注:IP 要设置成和该电脑所连网口的 IP 网段一样的。

3、给 MODBUS TCP 从站设定两个值。
4、模块设置成 MODBUS TCP 主站,增加 1 个从站,并添加对应的读写指令。

注:点击提交后,网关模式改变后需要断电重启。

5、EtherNet/IP 主站通过 EtherNet/IP 控制模块启用从站的读写,让指令执行,从 而读
MODBUS TCP 从站的数据。

6、从站的指令执行后,可看到 EIP 监控数据上有数据,EtherNet/IP 主站上也有数据。
7、EtherNet/IP 主站通过 EtherNet/IP 控制模块,写数据给 MODBUS TCP 从站。
8、可看到 EIP 控制数据上有数据,MODBUS TCP 从站上也被写入了数据。
9、以上便是网关 MS-GW25 做 EtherNet/IP 从站,MODBUSTCP 的主站(客户端),连接 EtherNet/IP 主站的 PLC 和 MODBUSTCP 从站(服务端)设备的相关操作。

与 MODBUS TCP 主站设备进行连接说明

网关 MS-GW25 做 EtherNet/IP 的从站,MODBUSTCP 的从站(服务端),连接EtherNet/IP 主站的 PLC 和 MODBUSTCP 主站(客户端)的设备,使两种协议的数据能够互通。EtherNet/IP 数据与 MODBUSTCP 数据之间是双向的转换和传递。EtherNet/IP 输出数据发送到 EtherNet/IP 输出网络上,MODBUSTCP 通过 MODBUSTCP 口将数据读取上来;ModbusTCP 通过 MODBUSTCP 口将数据写入 EtherNet/IP 输入网络中,供 EtherNet/IP 网络读取。
EtherNet/IP 主站的 PLC 型号是 NX1P2-1040DT,MODBUSTCP 主站(客户端)的设备MODBUS Poll 软件模拟。

1、按6.1步操作,使模块和 EtherNet/IP 主站通讯上。
2、模块设置成 MODBUS TCP 从站。
模块做为 MODBUS TCP 从站时,从站 ID 号、IP 地址、端口号和从站指令等不用设置,因为做从站时,它是以网络配置中从站设置为准,后续点击“提交”后,它们会自动取消掉。

注:点击提交后,网关模式改变后需要断电重启。

3、打开 MODBUS Poll,设置成相应的 MODBUS TCP 主站。
这里只打开一个 MODBUS Poll 软件进行设置成 MODBUS TCP 主站。

4、模块和 MODBUS TCP 主站连接上。 
5、EtherNet/IP 主站通过 EtherNet/IP 控制模块,写数据给 MODBUS TCP 主站。
6、可看到 EIP 控制数据和 MBTCP 数据上都有数据,MODBUS TCP 主站上也被写入了数据。

7、在 MODBUS TCP 主站上对应地址写数据给 EtherNet/IP 主站。  

8、之后可看到 MBTCP 数据和 EIP 监控数据上都有数据,EtherNet/IP 主站上也被写入了数据。

9、以上便是网关 MS-GW25 做 EtherNet/IP 从站,MODBUSTCP 的从站(服务器),连接 EtherNet/IP 主站的 PLC 和 MODBUSTCP 主站(客户端)设备的相关操作。

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关icon-default.png?t=O83Ahttps://item.taobao.com/item.htm?ft=t&id=822721028899

 

 

 

 

 

 

 

 

相关文章:

②EtherNet/IP转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 EtherNet/IP 转 Modbus TCP (接上一章) GW系列型号 配置使用 与 EtherNet/IP 主站进行组态说明 这里介…...

Java 集合(Collection)

1.什么是集合? 对象的容器,定义了对多个对象进行操作的常用方法,属于接口类型。 2.集合和数组的区别 (1)数组长度固定,集合长度不固定 (2)数组可以存储基本类型和引用类型&#…...

Windows系统编程(三)线程并发

进程与线程 进程:直观的说就是任务管理器中各种正在运行的程序。对于操作系统来说,进程仅仅是一个数据结构,并不会真实的执行代码 线程:通常被称作但并不真的是轻量级进程或实际工作中的进程,它会真实的执行代码。每…...

【Qt】控件概述(2)—— 按钮类控件

控件概述(2) 1. PushButton2. RadioButton——单选按钮2.1 使用2.2 区分信号 clicked,clicked(bool),pressed,released,toggled(bool)2.3 QButtonGroup分组 3. CheckBox——复选按钮 1. PushButton QPushB…...

Java访问器方法和更改器方法

一.访问器方法 1.访问器方法的定义和用途 访问器方法,通常也称为getter方法,是一种在面向对象编程中用于从类的外部访问私有字段值的特殊方法。这些方法的设计目的是为了提供对类内部状态的受限访问,同时保持类的封装性。通过使用访问器方法&…...

CAN协议帧结构

一、数据帧的整体结构 ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ │ SOF │ ID[11]│ RTR │ IDE │ DLC │ Data …...

valgrind 单例模式的自动释放(多线程)

单例模式,其中对象是由_pInstance指针来保存的,而在使用单例设计模式的过程中,也难免会遇到内存泄漏的问题。那么是否有一个方法,可以让对象自动释放,而不需要程序员自己手动去释放呢? ——嵌套类 5.1、内…...

OpenFegin

文章目录 一、OpenFegin是什么?二、基本使用三、超时重试机制4.自定义超时重传机制五、底层实现 一、OpenFegin是什么? OpenFeign的全称为Spring Cloud OpenFeign(下文简称OpenFeign),是Spring Cloud团队开发的一款基于 Feign的框架,声明式W…...

LeetCode-2608. 图中的最短环【广度优先搜索 图,腾讯面试真题】

LeetCode-2608. 图中的最短环【广度优先搜索 图,腾讯面试真题】 题目描述:解题思路一:【一图秒懂】枚举起点跑 BFS解题思路二:背诵版解题思路三: 题目描述: 现有一个含 n 个顶点的 双向 图,每个…...

IDEA 编译报错 “java: 常量字符串过长” 的解决办法

目录 一、问题描述二、问题原因2.1 理论角度2.2 源码角度 三、解决方案解决方案①:StringBuilder 拼接解决方案②:读取文件内容 四、方案验证 在线文本换行工具: https://lzltool.cn/Toolkit/WrapWordsInText 一、问题描述 今天在开发过程中…...

RK3568平台开发系列讲解(I2C篇)I2C 总线实现 client 设备方法

🚀返回专栏总目录 文章目录 一、非设备树实现 i2c client1.1、i2c_new_device1.2、i2c client二、设备树实现 i2c2.1、i2c_client 结构体的生成2.2、i2c_driver 驱动2.2.1、module_i2c_driver2.2.2、fan53555_regulator_probe沉淀、分享、成长,让自己和他人都能有所收获!�…...

K8S安装和部署

环境部署说明 主机IPmaster172.25.254.100node10172.25.254.10node20172.25.254.20harbor172.25.254.233 所有节点禁用selinux和防火墙 所有节点同步时间和解析 所有节点安装docker-ce 所有节点禁用swap,注意注释掉/etc/fstab文件中的定义 解析配置(…...

Singleton(单例模式)

1. 意图 在开发中,若某些模块或功能只需要一个类实例,所有调用地方通过着一个类对象访问功能,单例模式符合这种类实例创建模式,并且通过提供统一类实例接口访问类对象。 2. 适用性 《Gof 设计模式-可复用面向对象软件的基础》中对…...

【Linux报错】“-bash: cd: too many arguments“

问题描述 今天使用 cd 想要调整某个文件目录时,发现以下报错 原因分析: arguments 是参数的意思,该报错提示参数过多,意味着系统识别到了多余参数 本质原因:你的命令中输入了多余的 ”空格“ ,检查一…...

C# WebService返回参数为DataTable报错“XML文档有错误”

该问题由于DataTable列存在自定义类型。 解决该报错需要以下几步: 1、自定义类型增加xml序列化 2、由于C#从 XML 反序列化 DataSet 或 DataTable 时的默认限制,所以需要先把调用方的项目开放限制,如果是.netframework项目,需要…...

[paddle]paddleseg快速开始

快速开始 为了让大家快速了解PaddleSeg,本文档使用一个简单示例进行演示。在实际业务中,建议大家根据实际情况进行调整适配。 在开始下面示例之前,请大家确保已经安装好PaddleSeg开发环境(安装说明)。 1 准备数据 …...

UNIAPP popper气泡弹层【unibest框架下】vue3+typescript

看了下市场的代码,要么写的不怎么好,要么过于复杂。于是把市场的代码下下来了自己改。200行代码撸了个弹出层组件。兼容H5和APP。 功能: 1)只支持上下左右4个方向的弹层不支持侧边靠齐 2)不对屏幕边界适配 3)支持弹层外边点击自动隐藏 4)支持…...

launcher.py: error: the following arguments are required: --output_dir

记录一个LLaMA-Factroy配置过程。 安装 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e ".[torch,metrics]"训练 CUDA_VISIBLE_DEVICES0 llamafactory-cli train example/train_lora/.yaml按理说配置好文件应…...

C语言基础之结构体

今天我们来讲讲C语言基础的最后一个知识点了 —— 结构体。不知道大家对前面的C语言基础的知识点掌握的怎么样了呢?下面我们就开始讲解结构体的相关知识点吧! 什么是结构体呢?或者说结构体有什么作用呢?对于复杂对象来说&#xff…...

Redis入门第四步:Redis发布与订阅

欢迎继续跟随《Redis新手指南:从入门到精通》专栏的步伐!在本文中,我们将深入探讨Redis的发布与订阅(Pub/Sub)模式。这是一种强大的消息传递机制,适用于各种实时通信场景,如聊天应用、实时通知和…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...