C# 通过 S7.NET 库实现与西门子PLC仿真模块通信

C# 通过 S7.NET 库实现与西门子PLC仿真模块通信

编码文章call10242025-01-15 11:05:5622A+A-

编写与西门子PLC通信的上位机程序时,时常因为手里没有可用的PLC,唯有通过博图的PLCSIM模块来测试通讯。S7-PLCSIM + NetToPLCsim 的组合,可以让客户端程序(如SCADA系统、HMI等)通过网络的方式访问PLCSIM,从而在没有真实PLC的情况下进行仿真调试。这解决了与西门子PLC连接的问题,使得工程师可以在虚拟环境中对PLC进行测试和验证。本文以C#程序为例进行应用验证说明。

开发环境准备

本文涉及到的软件包括:

  • Visual Studio Community 2022
  • TIA Portal V15
  • S7-PLCSIM V15
  • NetToPLCsim 1.2.5

TIA 博图仿真模式关键步骤说明

1、PLC设备组态

首先在TIA 博图软件中完成PLC设备组态,注意在设备属性页中的“防护与安全”→“连接机制”,需要勾选“允许来自远程对象的PUTGET通信访问”

其次若需要通过上位机访问PLC中的DB块,则需要在块属性中取消勾选“优化的块访问”。

2、NetToPLCsim配置

NetToPLCsim是一款专业的西门子PLC连接工具,工程师可以利用NetToPLCsim进行PLC程序的仿真调试,验证程序的正确性和稳定性。NetToPLCsim软件具体设置可参考如下图所示(以S7-1200系列PLC为例):

其中,Network IP Address 可以设置为127.0.0.1(即本机),Plcsim IP Address 为在PLC设备组态时为PLC配置的IP地址,对于S7-1200和S7-1500系列PLC来说Plcsim Rack / Slot 参数始终为0/1 。

NetToPLCsim软件连接设置好后,需要点击“Start Server”启动服务,正确情况下会显示“Port 102 OK”。

3、启动PLCSIM

启动PLCSIM模块,将PLC项目程序下载至仿真的PLC设备中,然后启动仿真即可。

将PLC运行状态调整为“RUN”模式

通过以上步骤后,TIA 博图端的仿真模式就搭建完成了,接下来就是开发C#程序了。

C#程序开发关键步骤说明

1、首先需要在项目中安装S7.Net库,可以通过NuGet包管理器来安装这个库,库名为S7netplus,如下图所示。

2、需要注意的是,在创建Plc实例对象时,不能以组态中设定的PLC地址来实例化PLC,而是需要用127.0.0.1来实例化,这里是比较关键的地方。

验证

通过上位机设置和读取参数可以验证得出,上位机与PLC之间建立好了通信,可以实现程序的功能验证了。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4