1、写在前面

当我们学习Modbus TCP时,我们可以采用Modbus Poll + Modbus Slave快速搭建一个Modbus TCP的环境,看似很美好,但是深入学习之后,大家就会发现Modbus Slave的一个弊端,Modbus Slave只能仿真4个存储区中的1个存储区,如果我们通信时,涉及到多个存储区,那么Modbus Slave就很难满足要求了。这时候,有的人就会问,有没有方法解决这个问题,搭建一个Modbus TCP服务器,并且同时支持4个存储区呢?答案是有的,今天主要讲述如何基于S7-PLCSIM Advanced搭建Modbus TCP服务器仿真环境。

2、PLCSIM-Advanced安装

对于该软件的获取,大家可以去西门子相关网站下载,也可从下方链接获取:

【免费领取】这个免费的软件资源库,你一定要收藏好!

PLCSIM-Advanced的安装也比较简单,基本上是一路NEXT即可,但是主要的是PLCSIM-Advanced会依赖WinPcap软件,所以大家可以提前安装好WinPcap,即使不提前安装,安装过程中也会提示你安装的。

安装完成后,电脑中会额外多出一个虚拟网卡,名称为Siemens PLCSIM Virtual Ethernet Adapter,如下图:

3、PLCSIM-Advanced使用

安装完成后,桌面上会多出一个图标,即S7-PLCSIM Advanced V3.0,如下图所示:

该软件的使用可以按照下方的步骤执行和确定,一定要记住以下需要注意的地方,否则一个很小的问题,可能会让你浪费半天的时间,这样就得不偿失了。

(1)软件要以管理员权限运行:可以直接每次右击,以管理员权限运行,如果想一劳永逸,可以点击图标,右击属性,在兼容性中,将以管理员身份运行此程序的选项勾选。

(2)将本地网卡及虚拟网卡的IP地址获取设置为自动获取。

(3)设置PG/PC接口:

通过控制面板,打开设置PG/PC接口界面,按照下图所示设置应用程序访问点:

(4)打开PLCSIM-Advanced,依次按照步骤进行设置:

(5)使用博图创建一个简单项目,一定要选择1500PLC,PLCSIM-Advanced只支持1500PLC,但是对学习通信来说,没什么影响。

(6)点击整个项目名称(不是单个项目),右击属性,将保护中的块编译时支持仿真选项勾选:

(7)下载PLC程序时,将PG/PC接口设置成Siemens PLCSIM Virtual Ethernet Adapter。

(8)选择显示所有兼容的设备,点击开始搜索,搜索到之后,点击下载即可。

4、Modbus TCP服务器配置

  • ModbusTCP服务器配置需要编写一段PLC程序,从指令库中拖拽一个MB_SERVER指令到OB中,如下图所示:

  • MB_HOLD_REG中直接填写P#M100.0 byte 100,将MB100-MB199与40001-40050映射,CONNECT填写一个CONN变量。

  • CONNECT引脚需要填写一个TCON_IP_v4的结构体,创建一个DB2,添加一个变量,类型为TCON_IP_v4,如上图所示:

  • CONNECT引脚各个参数填写格式如下图所示:

  • 按照帮助给CONN变量赋初始值,如下图所示:

  • 将PLC程序下载到PLCSIM-Advanced中。

5、Modbus Poll通信测试

我们使用ModbusPoll软件进行测试,IP地址填写192.168.1.20,端口号填写502,如下图所示:

连接成功后,与PLC数据进行对比,看看数据是否正确,结果如下图所示;

6、通信测试平台测试

我们使用新阁教育通信测试平台软件进行通信测试,设置IP地址为192.168.1.20,端口号为502,点击连接,连接成功后,设置存储区为输出寄存器4x,起始地址为0,读取长度为6,数据类型为Float,点击读取,读取结果如下图所示:

基于PLCSIM-Advanced搭建ModbusTCP通信仿真环境相关推荐

  1. Windows网络与通信程序设计实验一:基于TCP的C/S通信仿真

    文章目录 Windows网络与通信程序设计实验一:基于TCP的C/S通信仿真 1. 实验要求: 1.1 实验目的介绍: 1.2 实验相关提示: 2. 实验环境准备: 3. 实验步骤和具体代码理解: 3 ...

  2. 使用 Code::Blocks 搭建 LVGL 模拟器仿真环境

    为了方便大家学习 LVGL 图形库开发,我们可以在 PC 上使用模拟器进行学习,而无需从嵌入式开发板移植开始.目前有蛮多好用的 LVGL 模拟器,比如 Visual Studio.Clion.QEMU ...

  3. 在PC上用模拟器搭建Windows Mobile仿真环境:Microsoft Device Emulator使用

    因为工作需要,体验了一下微软的移动设备模拟器Device Emulator 3.0.在此把一些使用体验写出来和大家交流一下,在自己摸索过程中从网上找了很多资料参考,希望大家再做这个的时候少走一些弯路% ...

  4. Ubuntu18.04搭建AirSim+ROS仿真环境

    AIRSIM在UBuntu 18.04上构建的官网文档 一.安装UE4引擎 AIRSIM是依赖于UE4引擎实现的,因此在安装AIRSIM之前要安装UE4引擎. 1.获取UE4的github许可 在Ub ...

  5. 从零搭建本地PLC仿真环境:SIMATIC_PLCSIM_Advanced、Portal、KEPServer、OPCUA客户端工具

    背景 近期在为一个工业控制领域的上位机数采项目进行技术预研,苦于手头没有PLC(Programmable Logic Controller,可编程逻辑控制器)硬件设备,为了快速.完整地体验下从 PLC ...

  6. 搭建Modelsim SE仿真环境-使用do文件仿真

    本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera ...

  7. 在Windows10系统上搭建UE4+AirSim仿真环境

    文章目录 1. 简介 2. 工具准备 2.1 AirSim 2.2 Visual Studio 2019 2.3 UE4 2.4 Anaconda3 2.5 Git 2.6 版本说明 3. 具体步骤 ...

  8. 搭建自己的仿真环境和机器人(turtlebot2+velodyne)(一)

    1.launch启动文件 启动文件(launch File) 是ros中一种同时启动多个节点的途径,它还可以自动启动ROS Master 节点管理器,并且可以实现每个节点的各种配置,为多个节点的操作提 ...

  9. 基于IAR上搭建开发MM32的环境

    简 介: 初步搭建了MindMotion基于IAR的软件开发环境.测试了基于DAPLink对于SeekFree开发板的开发功能.但是对于测试实验板,DAPLink无法寻找到目标MCU. 利用MM32- ...

最新文章

  1. 2020年春季学期信号与系统课程作业参考答案-第十五次作业
  2. linux下使用taskset设置进程cpu绑定不起作用
  3. Metal之渲染绘制三角形
  4. TabLayout实现顶部导航栏(1)
  5. 【深搜】骑士游历(二)
  6. 剑指Offer - 面试题66. 构建乘积数组(正反遍历)
  7. 大规模针对iOS设备的恶意广告活动劫持3亿次浏览器会话
  8. 第 14 篇:交流的桥梁“评论功能”——HelloDjango 系列教程
  9. 20165223 week2测试补交与总结
  10. android minicap web,使用minicap对安卓手机快速截屏
  11. 无线路由器当无线交换机后,如何进入路由器配置界面
  12. 循环el-color-picker修改echarts饼图配色
  13. 架构 BitTorrent BT服务器
  14. 用Python来合并图片(SoEasy)
  15. 页面获取服务器图片路径问题
  16. 主流压缩软件压缩率实测(图文详解,揭秘你不知道的)
  17. 一起来学习网站SEO优化工作流程到底怎么做?
  18. safari浏览网页打开速度很慢怎样解决
  19. 现代软件工程 第九章 【项目经理】练习与讨论
  20. 在Ubuntu18.04 LTS下升级Python版本

热门文章

  1. php若post到的为空则,php – 如果GET或POST为空,则重定向
  2. Codeforces 600E Lomsat gelral 树上启发式合并,线段树合并.
  3. 计算机房是用烟感还是温感,是谁还不知道“烟感”和“温感”的保护半径和距离的!...
  4. shp面要素wgs84坐标转火星坐标(gcj)方法
  5. 嵌入式Linux作业二分析u-boot-1.1.6在smdk2410开发板上的启动代码
  6. web前端大师学习之路
  7. 完整代码\nmyopenglwidget
  8. oracle替换特殊符号
  9. 365日历:信息与社区化的新模式
  10. 第一个例子——纽约市出租车票价预测