西门子PLC-博图 MODBUS-TCP测试

Toretto·2022-03-22 18:52·5718 次阅读

西门子PLC-博图 MODBUS-TCP测试

本次通过PLCSIM_Advanced进行仿真,CPU选择为1500作为服务端 使用modscan作为客户端读取服务端的10个保持型寄存器

一.创建仿真环境

1.1通过PLCSIM_Advanced创建虚拟PLC,填写IP和子网掩码后点击Start创建并启动#

image

1.2!!!请把虚拟的网卡的ip改成与PLC的地址同一网段,不然仿真时候无法下载#

网卡名:Siemens PLCSIM Virtual Ethernet Adapter

image

二.编写服务端程序#

2.1、组态PLC#

型号为PLC_1513-1并设定IP:192.168.1.35

2.2创建MB_SEVER#

打开OB1开始编写服务端程序,从左侧指令视图中找到通信>其它>MB_SEVER 版本为V5.1拖放到程序段中并创建背景数据块
image

2.3、MB_SEVER的引脚参数#

“CONNECT”管脚参数:#

1.创建一个数据块DB2
image
2.打开该数据块,创建一个MB_TCON手动输入一个“TCON_IP_v4”的数据类型
image
3.TCON_IP_V4数据类型的各参数设置如下
image
image
4.服务端设置成任意伙伴连接“TCON_IP_v4”参数如下
image

MB_HOLD_REG管脚参数:#

MB_HOLD_REG(用于存储保持寄存器)为MB_DATA_PTR指定的数据缓冲区;可以为DB块或M存储区地址且
DB块可以使用优化和标准的数据块的结构;优化下访问需要以符号寻址的方式填写该引脚参数
可以为优化的数据块,也可以为标准的数据块结构。
实验采用标准的数据块结构:
新建一个DB块 名字命名为DATA 将DB块的“属性”中将“优化的块访问”前面的勾去掉
原文链接:https://blog.csdn.net/weixin_35531779/article/details/112568180
image
打开数据块并创建10个变量 数据类型为 WORD
image
MB_HOLD_REG管教访问这10个变量以绝对位置访问 P#DB3.DBX0.0 WORD 10
image
下载程序

客户端的搭建

使用modsan软件进行仿真
image

配置MODBUS-TCP连接参数#

选择连接设置填写服务端IP:192.168.1.35 端口号:502 点击确定
image
成功连接
image

查看参数#

在PLC服务端设置 DATA数据块中设置数值
image
在客户端通过功能3(读取保持型寄存器)读取的10个
image
读取正常

西门子MODBUS的地址映射表

image
本教程仅供参考,欢迎大家评论区交流
转载请标明出处!!!

posted @   肥玛丽黛佳  阅读(5718)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
目录