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

巴图制自动化Profinet协议转Modbus协议模块连接PLC和电表通信

1、免编写Modbus轮询程序实现PLC与电表通信的方法

在智能化时代,工业自动控制中的PLC和电表之间的通信是一个常见的需求。传统上,为了使PLC与电表通信,通常需要编写Modbus查询程序来读取和控制数据。然而,使用

巴图制自动化Profinet协议转Modbus协议模块(BT-MDPN10),PLC和电表之间的通信可以在不编写繁琐的Modbus轮询程序的情况下实现。

二、什么是Profinet协议转Modbus协议模块?

Profinet协议转Modbus协议模块(BT-MDPN10)是一种将Profinet协议转换为Modbus协议的设备。PLC通过Profinet协议转Modbus协议模块(BT-MDPN10)连接电表,可以实现PLC与电表之间的通信。该方法不仅简化了通信架构,而且提高了通信效率和稳定性。

3、优点:1.无需编写Modbus轮询程序

传统的PLC和电表通信方式通常需要编写复杂的Modbus轮询程序,以实现数据的读取和控制。然而,通过使用Profinet协议转Modbus协议模块(BT-MDPN10),PLC和电表不用编程序也可以连接通讯,通过Profinet协议转Modbus协议模块(BT-MDPN10)的转换功能实现PLC和电表之间的数据交换,避免了繁琐的Modbus轮询程序的编写,大大简化了通信过程。

2.提高通信效率和稳定性

通过使用Profinet协议转Modbus协议模块(BT-MDPN10),可以实现PLC与电表之间的实时数据交换,提高通信效率。同时,由于网关的转换功能可以有效处理数据传输过程中的各种问题,如数据丢失、通信错误等,从而提高通信的稳定性和可靠性。这对工业自动化系统的正常运行至关重要。

四、如何实施?

要实现PLC与电表之间的通信,首先要选择Profinet协议转Modbus协议模块设备(BT-MDPN10),并根据设备提供的说明连接PLC与电表。

1.打开编程软件(如博图),创建新项目。

2.加载巴图提供的GSD文件

3.找到网关模块驱动程序,双击或拖动将其添加到库中

4.配置IP地址时,要注意PLC、网关和本地计算机的IP地址应保持在同一网段,否则无法正常通信。

5.连接IO控制器PLC_1 PROFINET端口_1

6.打开网关配置软件,单击菜单栏中的Profinet,导入提供的GSD文件

7.在导航栏选择Modbus RS-485。请注意,除配置6通道网关时,通信参数需要从Modbus开始 1开始配置外。其他通信参数来自Modbus 3开始配置。

8.单击菜单栏中的本地IP配置,单击主从模式下拉菜单,选择Master,其他配置保持默认值。

9.在菜单栏“数据映射”中,单击新面板添加第一个槽位。

10.注意:修改插槽号为1,修改Modulele ID为CH1,其余保持默认,

11.根据现场需要增加多个槽位,如第二槽位和第三槽位。注:添加的槽位必须与博图的配置一致。

Modbus序列号从3开始。

在菜单栏配置下选择连接,网关IP地址默认为192.168.0.5、端口号保持默认。

连接成功后,点击配置下发,

回到博图,在设备试图下双击网关

右击分配网关名称

点击更新列表,选择搜索中找到的设备,点击分配,完成后点击关闭。

右击选择编译中的硬件,完全重建

单击下载按钮,将配置下载到网关:端口子网连接:选择“PNAE_1”,单击“开始搜索”,选择找到的设备,单击“下载”,按照提示完成下载

创建一个新的监视表来监控数据的发送和接收,以及数据的准确性。

总结

通过以上配置后PLC就可以通过Profinet协议转Modbus协议模块(BT-MDPN10)与电表进行通信。PLC发送指令请求数据,Profinet协议转Modbus协议模块(BT-MDPN10)将其转换为Modbus协议,并传输给电表,电表接收数据后进行处理并返回相应的响应数据,最终经过转换模块传回PLC。

相关文章:

  • opencv 处理图像去噪的几种方法
  • Spring系统学习-什么是AOP?为啥使用AOP?
  • 将一个立方体对象的值赋给另一个立方体对象
  • 理解论文笔记:基于贝叶斯网络和最大期望算法的可维护性研究
  • ubuntu修改磁盘挂载目录名
  • 网络物理隔离
  • C++ 运算符的优先级和结合性表
  • 停车场车牌识别计费系统,用Python如何实现?
  • 无法定位程序输入点Z9 qt assertPKcS0i于动态链接库F:\code\projects\06_algorithm\main.exe
  • react antd表格翻页时记录勾选状态
  • Hack The Box-Editorial
  • C++ 和C#的差别
  • 手写一个类似@RequestParam的注解(用来接收请求体的参数)
  • FlinkCDC 数据同步优化及常见问题排查
  • GIT 基于master分支创建hotfix分支的操作
  • 【node学习】协程
  • android 一些 utils
  • Docker: 容器互访的三种方式
  • Java IO学习笔记一
  • Javascript Math对象和Date对象常用方法详解
  • js面向对象
  • k个最大的数及变种小结
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Spring Boot快速入门(一):Hello Spring Boot
  • Vue实战(四)登录/注册页的实现
  • Vue--数据传输
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 开源SQL-on-Hadoop系统一览
  • 你真的知道 == 和 equals 的区别吗?
  • 用jquery写贪吃蛇
  • 转载:[译] 内容加速黑科技趣谈
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • ​如何在iOS手机上查看应用日志
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #define用法
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #图像处理
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2)空速传感器
  • (4)STL算法之比较
  • (AngularJS)Angular 控制器之间通信初探
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (十一)图像的罗伯特梯度锐化
  • (四)事件系统
  • (五)网络优化与超参数选择--九五小庞
  • (转)母版页和相对路径
  • .NET delegate 委托 、 Event 事件,接口回调
  • .net 程序发生了一个不可捕获的异常