打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于C#平台通过S7.net实现与西门子S-1200PLC

需要提前准备的软件和文件:

1.Visual Studio 2019(自己到官网上下载安装)
2.S7.net.dll文件(需要的话链接我会放在文末)
3.西门子PLC软件TIA PORTAL V15.0或者V16(需要安装PLCSIM)
4.S7仿真软件:Nettoplcsim-S7o-v-1-2-4-0

这些必要的前提条件均满足了,我们再开始下面的步骤。
一、西门子PLC一侧:
首先,打开TIA博途软件,添加一个CPU:1215C DC/DC/DC,在程序块中添加2个DB块,一个用于接收数据,一个用于发送数据,如下图所示:


在这个2个DB中分别建立几个变量,如下图所示:


在属性中设置CPU的IP地址:192.168.0.1,子网掩码:255.255.255.0,如下图所示:

在“防护与安全”中,设置“允许来自远程对象的PUT/GET通信访问”,这一点非常重要!

二、VS2019一侧:
新建一个基于C#的winform,并添加引用S7.net.dll文件,如下图:


打开工具箱,在form1上添加所需的按钮、标签、定时器timer,以及输入输出用的文本框,如下图所示:

双击form1,进入程序代码编辑界面,首先要添加引用S7.net,如下图所示:

连接PLC的IP地址,这里为:127.0.0.1是因为我是在自己的电脑上通过nettoplcsim仿真的,所以输入的是本机环网的IP地址,后面的0和1,代表机架号和插槽号,如下图所示:

“连接PLC”按钮,按下后会触发打开PLC连接的事件,如下图:

“断开PLC连接”按钮,按下后会触发关闭PLC连接的事件,如下图:

“readDB”按钮,按下后会触发读取PLC的DB数据块的事件,并在textbox文本框中进行显示,如下图:

“writeDB”按钮,按下后会触发将textbox文本框中的内容写入PLC的DB数据块的事件,如下图:

定时器timer1的功能和“readDB”按钮的功能类似,可以周期性地触发读取DB内数据的事件,如下图:

在装载form1的时候,要启用timer1,并且设置timer1的周期间隔(此处为1000ms),如下图:

程序启动之后,form1会每隔1000ms触发一次读取DB的事件,可以看到C#读取的数据和S7-1200PLC的DB1中的数据是一致的,说明通信连接正常,且读写是正常的,如下图:


以上,仅为个人实验数据,程序上还有很多不规范的地方,大家感兴趣的话可以自己去尝试一下。。。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
周报147期 | 西门子软件问题解答!
西门子PLC程序中DB20.DBX15.2的意思
【C#上位机必看】你们要的Iot物联网项目来了
S71200/S71500/S7300西门子PLC与 SMARTLINE 触摸屏实现以太网通的方法
300PLCmpi转以太网通过CHNet-S7300通过 CHNet 和 S7-1200 1500 等西门子 PLC 数据交换 应用概述:
plc,西门子,地址,数据库,对应关系
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服