问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用Modbus Poll实现与西门子PLC通信及具体使用方法

创作时间:
作者:
@小白创作中心

使用Modbus Poll实现与西门子PLC通信及具体使用方法

引用
CSDN
1.
https://blog.csdn.net/wshl_2018/article/details/142633226

Modbus Poll是一款用于模拟Modbus通讯主站的软件,主要用于与PLC等设备进行数据交互。本文将详细介绍如何使用Modbus Poll实现与西门子PLC的通信,包括PLC侧的组态设置、Modbus Poll软件的具体配置以及调试方法。

1. 前言

本篇主要讲解从零开始建立Modbus Poll与西门子PLC的连接,以及Modbus Poll的详细使用方式。由于内容较为详细,篇幅较长,如果仅需要建立与PLC的连接,可以自行选择目录跳转。

Modbus Poll是一款用于模拟Modbus 通讯主站的软件(发送给PLC值),与之对应的是Modbus Slave,用于模拟Modbus 通讯从站的软件(接收PLC给的值)。

2. TCP通讯(PC→PLC)

2.1 设置PLC组态

首先新建存储DB块,名称叫做"DATA TCP"(TCP数据) 用于存储PLC接收的值,数据类型选择Array[0..50] of Word,这样就可以存储50个Word的数据了。

再建立一个通讯DB块,名称叫做"MB Config"(MB的配置)。如图变量名称叫"CONNECT"(连接)数据类型选择"TCON_IP_v4"。我这边是这么设置的具体每个是干什么的在下面我会一一做出讲解。

  • InterfaceId:硬件标识符
  • PLC设备组态→属性→系统常数中找到Local~PROFINET_接口_1的硬件标识符
  • ID:就是连接ID(1~4095)
  • ConnectionType:连接类型 TCP默认就是11(16#0B)
  • ActiveEstablished:建立连接
  • RemoteAddress:服务器IP地址(我填的是电脑IP地址因为我是PLC是作为客户端)
  • RemotePort:远程端口号
  • LocalPort:本地端口号

这样通讯DB块就设置完成了。

程序

指令块选择:指令→通讯→其它→MODBUS TCP→MB_SERVER

"MB_SERVER"指令可以选中F1查看具体的信息

"MB_SERVER"指令 :PLC服务器通常处于被动等待状态,等待客户端发起连接请求,所以只能接收来自上位机的数据,PLC无法主动发送数据给上位机。

MB_HOLD_REGL:选择之前创建的"DATA TCP"存储DB块中的数据

CONNECT:选择"MB Config"通讯DB块中的CONNECT。

后面就是一些运行指令时监控值可以F1查看具体内容。

注意:引用时记得取消优化的块访问

最后下载保存就行了

2.2 Modbus Poll设置

这边先演示Modbus Poll怎么和PLC连接,后面再讲Modbus Poll的具体操作界面。

打开Modbus Poll→选择Connection→Connection Setup

如图进行配置服务器

配置完服务器没有报错就是连接成功了,可以进行调试了。

如果出现报错

1,检查网线是否连接完整

2,服务器IP地址是否一致

3,去网上搜索相关的报错代码的解决方案

4,关机重启试试(我就关机重启就能来了QwQ玄学hh)

2.3 调试

选择Functions

选择对应的功能就可以进行调试了。

具体可以看

Modbus Poll调试助手使用方法(中文注释版) | Modbus物联网云平台

3结语

原本想写一篇modbus poll所有功能的博客的,但随着往后学习发现,理解了TCP通讯就感觉没必要再写的更详细了害。

本篇文章为个人学习总结,如有不足请及时指出,多多包涵QwQ。

觉得有用的话就点个赞吧ღ( ´・ᴗ・` )。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号