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变量。