
大家好!我是付工。大部分初学者在学习C#上位机编程时,当需要实现与西门子PLC通信时,如果手上没有PLC实物,就可以通过仿真的方式来搭建PLC环境。这篇文章主要针对PLCSIM+NetToPLCsim......
大家好!我是付工。
大部分初学者在学习C#上位机编程时,当需要实现与西门子PLC通信时,如果手上没有PLC实物,就可以通过仿真的方式来搭建PLC环境。
这篇文章主要针对PLCSIM+NetToPLCsim这种方式来实现西门子PLC的仿真环境搭建。
仿真方式
西门子PLC的仿真有两种方式,第一种方式是使用PLCSIM+NetToPLCsim,第二种方式是使用PLCSIM-Advanced,这两种都有各自的优势和不足之处。
第一种方式使用NetToPLCsim,不仅可以仿真S7-1500,还可以仿真S7-1200/S7-300/S7-400,但是只能仿真S7通信协议,无法仿真其他通信协议。
第二种方式使用PLCSIM-Advanced,不仅可以仿真S7通信协议,还可以仿真开放式TCP/UDP、ModbusTCP、OPCUA等以太网协议,但是仅支持S7-1500和ET200SP,无法仿真其他型号PLC。
仿真过程
1、首先我们准备好一个PLC程序,程序里可以不写任何逻辑,创建一个DB块即可,DB需要取消勾选【优化的块访问】:
2、选择CPU,在属性中,选择【防护与安全】下的【连接机制】,勾选【允许来自远程对象的PUT/GET访问】:
3、将PLC的IP地址设置为与本机网卡同一网段,这里设置为192.168.0.100,我电脑的本地IP为192.168.1.11:
5、选择其中的,右击【以管理员身份运行】,弹窗如下,选择【是】:
9、下载完成后,PLCSIM处于RUN运行状态:
仿真测试
为了验证是否仿真成功,我们编写一个简单的上位机进行通信测试,界面设计如下:
为了观察数据是否正确,我们在PLC中手动给这几个变量赋一些特定的值,如图所示:
这里要注意:这里的IP地址一定要填写电脑本地网卡的IP地址,不要填写PLC的IP地址,因为NettoPLCsim这种方式的原理是将PLC的IP映射到本地网卡中。公众号【上位机Guide】