modbus设备数据 转 profinet IO项目案例

news/2024/11/15 19:31:59/文章来源:https://www.cnblogs.com/vfbox22/p/18422589

目录
1 案例说明 1
2 VFBOX网关工作原理 1
3 准备工作 2
4 设置网关采集MODBUS从站数据 2
5 用PROFINET IO协议转发数据 8
6 案例总结 10

1 案例说明

  1. 设置网关采集Modbus设备数据
  2. 把采集的数据转成profinet IO协议转发给其他系统。

2 VFBOX网关工作原理
VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议。网关可以采集西门子,欧姆龙,三菱,AB PLC,DLT645,DLT698电表,modbus rtu tcp,环保的HJ212协议,opc ua和opc da,电力的IEC103 IEC104, IEC61850等,以及EthernetIP,Profinet IO,CCLink,EtherCAT现场总线协议,bacnet,MQTT,mysql,sqlserver数据库。不同型号的网关支持不同的协议,具体支持的协议参考网关侧面标签上的型号。依托500多种型号的网关产品,可以实现多种不同协议之间的互联互通。
网关连接在不同协议的设备之间,就像一个“翻译”,把一种设备支持的协议,转换成另一种设备支持的协议,从而实现两个不同协议的设备之间的数据交换。工作架构如下:
在这里插入图片描述

3 准备工作

  1. VFBOX网关。支持采集modbus设备数据,profinet IO协议转发。
  2. 电脑。IP设置成192.168.1.198,和网关在同一个网段。
  3. 网线、12V电源。
  4. Modbus从站设备。本文用一个温湿度传感器进行测试。

4 设置网关采集modbus从站数据

  1. 硬件连接。首先确认设备的接口是RS232还是RS485接口。并按如下的方式进行连接。
    接口类型 设备 网关
    RS232接口 RX COM1-TX
    TX COM1-RX
    GND COM1-GND
    RS485接口 A COM1-A
    B COM1-B

  2. 在电脑上打开VFBOX Studio配置软件。新建工程,选择对应的设备类型。设备类型查看设备背面的标签。可选的型号有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.
    在这里插入图片描述

  3. 点击 新建设备,选择modbus RTU驱动。
    在这里插入图片描述

  4. 输入设备名称,自己定义设备名称。
    在这里插入图片描述

  5. 输入和设备相同的串口参数。比如,设备的波特率是9600,则下面的对话框也选择9600.
    在这里插入图片描述

  6. 增加要采集的数据。输入数据的数据类型和寄存器地址。
    在这里插入图片描述

  7. 填写说明。在添加“地址”的时候需要对modbus的通信指令有一些了解,这里面有一些默认的规则。可先查看设备的说明书,找到要读取的地址。然后通过对比下表进行设置。
    数据区 功能说明
    0X Digital Coils 数据类型:Boolean
    读写:可读写
    寄存器地址:00001-09999(10进制), 协议地址:0000H-270FH(16进制)
    对应的功能码:01H 05H 0FH
    1X digital Inputs 数据类型:Boolean
    读写:只读
    寄存器地址:10001-19999(10进制), 协议地址:0000H-270FH(16进制)
    对应的功能码:02H
    3X Analog Inputs
    数据类型:
    1 Register: short word
    2 Register: Long Dword float
    4 Register: LLong Qword Double
    读写:只读
    寄存器地址:30001-39999(10进制), 协议地址:0000H-270FH(16进制)
    对应的功能码:04H
    4X Holding Registers 数据类型:
    1 Register: short word
    2 Register: Long Dword float
    4 Register: LLong Qword Double
    读写:可读写
    地址范围:40001-49999(10进制),0000H-270FH(16进制)
    对应的功能码:03H 06H 10H
    其他说明:

  8. 地址可填写5位或者6位的地址长度。

  9. 如果设备的地址是从0开始,则设置网关时地址加1。

  10. 地址是10进制。

举例1:假设要读取的地址是40015,数据类型是float,地址从0开始,则查看上表,40015对应的数据区是“4X Holding Registers”,且数据类型是float,则数据区选择“4X Holding Registers(2 Registers)”,设备地址从0开始,则在网关里配置为40016,配置如下:
在这里插入图片描述

举例2:假设读取数据的功能码是03,地址是0x39,地址从1开始,数据类型是double。查看上表可知,03功能码对应的数据区是“4X Holding Registers”,数据类型是double,则数据区选择“4X Holding Registers(4 Registers)”,地址是0x39,转换成10进制是57,则设置如下:
在这里插入图片描述

  1. 设置完成后,点击菜单“下载”,把工程下载到网关里。

  2. 点击菜单“查看数据”,查看网关采集到的数据。
    在这里插入图片描述

  3. 如果显示的数据和实际不匹配,可能是字节顺序要调整。在下面的窗口中可以修改波特率,扫描间隔,通讯超时,字节顺序等参数。
    在这里插入图片描述

  4. 数据类型
    网关支持多种数据类型,用户在添加的时候可以根据采集到数据选择对应的数据类型。不同的设备可能有不同的数据类型名称,可对应选择。
    Boolean 位,布尔变量。变量存储为 8 位(1 个字节)的数值形式,但只能是True 或是 False。
    Char 有符号数,有负数。占用一个字节,8位。
    Byte 无符号数,占用一个字节,8位。
    Short 有符号短整型。有负数。长度2个字节,16位。
    Word 无符号的短整型,长度2个字节,16位。
    Long 有符号长整型,有负数。长度4个字节,取值范围为:-2^31 ~ (2^31 -1)。
    DWord 无符号的长整型,且占4个字节,32位。
    Float 单精度浮点型数据,长度 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。浮点型转换成10进制数据的时候请注意字节顺序问题。在不同的设备中字节顺序不同,有4种不同的字节顺序:1234、4321、3412、2143。网关在转发浮点型数据的时候,不对字节顺序进行调整,所以在转换的时候请参考被采集设备的浮点数顺序。
    LLong LLong是长度为8个字节的有符号整数。有负数。
    Qword Qword是长度为8个字节的无符号整数。
    Double 双精度浮点(double)型,占8 个字节(64位)内存空间。

5 用profinet IO协议转发数据

  1. 点击菜单 Profinet IO。启用设置成Yes。
    在这里插入图片描述

  2. 把数据分别加到Input Module和Output Module下。Input Module是网关发送给PLC的数据。Output是PLC发送给网关的数据。
    在这里插入图片描述

  3. 设置完成后,点击“下载”,把工程下载到网关中,则网关启动了Profinet IO功能。

  4. 下载完成后,点击“Generate GSDML File”生成GSD文件,导入到其他设备中组态。先点击下载工程,再生成GSD文件。
    在这里插入图片描述

  5. 导入到博途时,需要把下面两个地方的时间设置成如下的值,或者比图中的设置值更大。
    在这里插入图片描述

  6. 博途中要“手动”设置网关IP地址和网关的名称。取消选中“自动生成profinet设备名称”
    在这里插入图片描述

  7. 加了设备后,要添加Input Module,Output Module
    在这里插入图片描述

6 案例总结
使用协议转换网关可以很方便的实现不同协议的设备之间的数据转换。大量节省了项目实施过程的时间成本,人力成本。VFBOX网关产品都是工业级品质,符合工业应用的场景。只需要简单的参数配置,可以很快完成设备和系统之间的连接。方案优点:

  1. 不需要修改设备里的程序。
  2. 不影响设备原有的工作方式和功能。
  3. 只需要简单的配置就可以实现功能需求。
  4. 设备长期稳定工作。
  5. 网关运行架构如下
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800559.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF开发 direct3d11 调试报错

环境:VS2022 WPF Win11 过程:准备调试d3d11着色器转换nv12->rgb的过程 报错信息:DXGI_ERROR_SDK_COMPONENT_MISSING 应用程序请求的操作依赖于已缺失或不匹配的 SDK 组件。 解决方案::需要在自己电脑中进行设置 【设置】-【系统】-【可选功能】-【查看功能】-【图形工具…

Cloudera安装指南:打造你的大数据基础环境

Cloudera manage系统环境准备、基础环境安装、集群部署以及应用组件安装等全方位的技术运维内容。无论您是初学者还是资深工程师,都能在这里找到适合自己的学习资料和实战经验。我们致力于为您提供最新、最全面的Cloudera大数据技术运维知识,帮助您轻松应对各种技术挑战。Clo…

uni-app上架ios语言设置

客户反馈了一个问题,日文的应用上架后在商店中,却显示了其他语言,解决方案如下 1.添加要设置的语言2.最重要的一步,在 app-plus 中添加下述代码 name 是app名称"app-plus" : {"locales" : {"ja" : {"name" : "xxx","…

【算法】topk之字节题

1. 合并两个有序列表 🔗 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] …

flink 启动Job加载外部jar都有哪些方法?

flink 启动Job加载外部jar都有哪些方法 在 Apache Flink 版本中,启动 Job 时加载外部 Jar 包有几种不同的方法。这些方法允许用户引入自定义的 UDF(用户定义函数)或其他依赖项。以下是几种常见的方法: 1.使用 flink run 命令直接启动 你可以通过命令行工具 flink run 来指定…

切片器110-112

透视表切片器抓照片场景描述 针对产品汇总分析数据透视表,制做数据看板,样例如下所示:具体操作制作产品汇总分析数据透视表插入选项卡——勾选雇员——确定——插入选项卡——插入二维柱状图——将数据透视表右侧雇员拖拽到筛选字段——在空白单元格输入INDIRECT函数和MATCH…

探索未来智能:Moonshot AI 引领AI新纪元——M1超级模型

在人工智能的快速演进中,Moonshot AI再次站在了技术创新的前沿。推出M1超级模型,这是一款旨在突破现有AI能力极限的革命性产品。M1超级模型的诞生背景 随着数据量的爆炸性增长和计算能力的提升,AI模型正变得越来越复杂和强大。M1超级模型的诞生是对这一趋势的直接响应,它代…

VSCode配置STM32HAL库开发环境

经常用MDK Keil进行STM32程序开发,但用过jetbrain全家桶等现代IDE后,对keil复古的开发界面以及代码提示不是很喜欢,因此参照网络方法配置了stm32cubemx+vscode+cmake+ninja+gcc的开发环境1. 开发工具下载下载STM32CubeMX:https://www.st.com.cn/zh/development-tools/stm32…

Kubernetes-POD生成 java dump文件

目录背景配置钩子函数验证 背景 在今天的线上业务中,某服务频繁重启。经过排查日志和事件信息,确认是由于 OOM(Out of Memory)导致服务重启。为了方便研发团队定位 OOM 的具体原因,我们决定在 OOM 发生时自动生成内存快照(heap dump),供后续分析使用。 关于 OOM 的详细…

3D游戏开发实战:QML与虚幻引擎

3D游戏开发实战:QML与虚幻引擎 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C++扩展开发视频课程 免费QT视频课程 您可以看免费1000+个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化…

掌握IT资产发现的三个步骤

IT 资产生态系统非常复杂,因为资产不断变化,包括新增资产、移除过时资产或修改现有资产。在这种动态环境中,IT 资产管理者很难全面查看所有拥有的资产。 根据Gartner的预测,到 2025 年,大约 30% 的关键基础设施组织将面临安全漏洞。而标准普尔全球评级公司最近的报告指出,…

php8:开启opcache和JIT(php 8.3.9)

一,配置文件中的项: opcache.enable=1 opcache.enable_cli=0 opcache.memory_consumption=128 opcache.max_accelerated_files=10000 opcache.revalidate_freq=240 opcache.save_comments=0 opcache.error_log=/data/logs/phplogs/opache_error.log opcache.enable=1 # …