首页 > 其他分享 >modbus设备数据 转 profinet IO项目案例

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

时间:2024-09-25 10:25:53浏览次数:9  
标签:协议 网关 字节 数据类型 modbus 地址 IO profinet 设备


目录
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多种型号的网关产品,可以实现多种不同协议之间的互联互通。

网关连接在不同协议的设备之间,就像一个“翻译”,把一种设备支持的协议,转换成另一种设备支持的协议,从而实现两个不同协议的设备之间的数据交换。工作架构如下:

modbus设备数据 转 profinet IO项目案例_协议转换

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设备数据 转 profinet IO项目案例_网关_02

  4. 点击 新建设备,选择modbus RTU驱动。
  5. modbus设备数据 转 profinet IO项目案例_网关_03

  6. 输入设备名称,自己定义设备名称。
  7. modbus设备数据 转 profinet IO项目案例_modbus_04

  8. 输入和设备相同的串口参数。比如,设备的波特率是9600,则下面的对话框也选择9600.
  9. modbus设备数据 转 profinet IO项目案例_vfbox_05

  10. 增加要采集的数据。输入数据的数据类型和寄存器地址。
  11. modbus设备数据 转 profinet IO项目案例_协议转换_06

  12. 填写说明。在添加“地址”的时候需要对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
    其他说明:
  13. 地址可填写5位或者6位的地址长度。
  14. 如果设备的地址是从0开始,则设置网关时地址加1。
  15. 地址是10进制。

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

modbus设备数据 转 profinet IO项目案例_协议转换_07

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

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

  1. 设置完成后,点击菜单“下载”,把工程下载到网关里。
  2. 点击菜单“查看数据”,查看网关采集到的数据。
  3. modbus设备数据 转 profinet IO项目案例_profinet_09

  4. 如果显示的数据和实际不匹配,可能是字节顺序要调整。在下面的窗口中可以修改波特率,扫描间隔,通讯超时,字节顺序等参数。
  5. modbus设备数据 转 profinet IO项目案例_profinet_10

  6. 数据类型
    网关支持多种数据类型,用户在添加的时候可以根据采集到数据选择对应的数据类型。不同的设备可能有不同的数据类型名称,可对应选择。
    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. modbus设备数据 转 profinet IO项目案例_modbus_11

  3. 把数据分别加到Input Module和Output Module下。Input Module是网关发送给PLC的数据。Output是PLC发送给网关的数据。
  4. modbus设备数据 转 profinet IO项目案例_网关_12

  5. 设置完成后,点击“下载”,把工程下载到网关中,则网关启动了Profinet IO功能。
  6. 下载完成后,点击“Generate GSDML File”生成GSD文件,导入到其他设备中组态。先点击下载工程,再生成GSD文件。
  7. modbus设备数据 转 profinet IO项目案例_profinet_13

  8. 导入到博途时,需要把下面两个地方的时间设置成如下的值,或者比图中的设置值更大。
  9. modbus设备数据 转 profinet IO项目案例_网关_14

  10. 博途中要“手动”设置网关IP地址和网关的名称。取消选中“自动生成profinet设备名称”
  11. modbus设备数据 转 profinet IO项目案例_协议转换_15

  12. 加了设备后,要添加Input Module,Output Module
  13. modbus设备数据 转 profinet IO项目案例_modbus_16

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

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



标签:协议,网关,字节,数据类型,modbus,地址,IO,profinet,设备
From: https://blog.51cto.com/vfbox/12107575

相关文章

  • Introduction to the YouTube to WAV Conversion Website
    Title:IntroductiontotheYouTubetoWAVConversionWebsite-www.youtubetowav.topIntoday'sdigitalage,whereweconsumeavastamountofmultimediacontent,havingtheabilitytoconvertvideosintodifferentformatscanbeextremelyuseful.One......
  • 神经网络之卷积篇:详解为什么使用卷积?(Why convolutions?)
    详解为什么使用卷积?来分析一下卷积在神经网络中如此受用的原因,然后对如何整合这些卷积,如何通过一个标注过的训练集训练卷积神经网络做个简单概括。和只用全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接,举例说明一下。假设有一张32×32×3维度的图片,假设用了6个大小为......
  • WPF Textblock Run glyphFontSize TextDecorations
    <Windowx:Class="WpfApp412.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • Minio生命周期规则及桶初始化
    packageorg.ailun;importio.minio.*;importio.minio.messages.*;importjava.util.List;/***@version1.0*@since:JDK11*/publicclassTest{privatestaticStringbucketName="bucketName";publicstaticvoidmain(String[......
  • 我是如何开发一款支持IDEA、PyCharm、Android Sutdio 等JB全家桶的摸鱼插件的
    公众号「古时的风筝」,专注于后端技术,尤其是Java及周边生态。个人博客:www.moonkite.cn大家好,我是风筝前些天做了一款支持Jetbrains大部分IDE的摸鱼插件-一款IDE摸鱼插件,没想到出乎意料的没什么人用,当初说VsCode里面的养宠物的插件时,一大堆人问IDEA里有没有、PyChar......
  • Spring-IOC
    Spring-容器篇IoC、DI注册组件注入组件组件生命周期组件和容器组件:具有一定功能的对象容器:管理组件(创建、获取、保存、销毁)IoC和DIIoC:InversionofControl(控制反转)控制:资源的控制权(资源的创建、获取、销毁等)反转:和传统的方式不一样了DI:DependencyInjection(......
  • Android连接蓝牙自定义封装SDK(基于Cordova与ionic)
    今天给大家分享一款基于Cordova与ionic框架自定义封装的Android手机连接蓝牙的插件。自己公司遇到的业务需求是,与第三方公司合作,需要在项目现场打印项目物资与物料验收单,后期提供给财务核对报销等。第三方公司提供蓝牙打印机与手持机,我们需要自己结合业务开发相对应的功能。......
  • Windows 10 on ARM, version 22H2 (updated Sep 2024) ARM64 AArch64 中文版、英文版
    Windows10onARM,version22H2(updatedSep2024)ARM64AArch64中文版、英文版下载基于ARM的Windows10请访问原文链接:https://sysin.org/blog/windows-10-arm/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows10,version22H2(releasedNov2021)......
  • Multi-threading - Token Bucket Emulation in C
    Multi-threading-TokenBucketEmulationinCYouwillemulate/simulateatrafficshaperthattransmits/servicespacketscontrolledbyatokenbucketfilterdepictedbelowusingmulti-threadingwithinasingleprocess.Ifyouarenotamiliarwithpthrea......
  • JAVA基础:IO流,转换流,数据流,数组流
    1IO分类IO流就是一组流动的数据,可以实现数据从一个地方移动到另一个地方IO表示的InputStream和OutputStream,称为输入,输出流。可以实现文件的读写。IO随着关注的特点不同,有不同的分类按照数据流向分类,分为输入流和输出流输入和输出都是以Java程序为基准按......