首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用S7.Net与S7-1200进行数据读写

之前我写过一篇使用S7.Net与S7-1200系列PLC进行数据读写的文章,看阅读量还是不错的,当时做这个主要目的是为了学习C#的编程规则,因为刚开始学习所以输出的方式是黑色控制台,学习了一段时间后,终于知道怎么做出图形界面了,所以这篇文章还是使用S7.Net实现与S7-1200的数据读写,不过这次是以图形界面的方式。

S7.Net

之前后台有些小伙伴问我,是否可以通过付钱让我把源程序发给他,这个问题问的太直白了,这个东西本身就是开源的,而且也不是我写的,我怎么可能收钱呢,Github上有S7.Net的源码,大家随便下

https://github.com/killnine/s7netplus

S7.Net是针对西门子系列PLC的驱动程序, 而且这个驱动只能用于支持Profinet通信的CPU,最常用的还是S7-1200和S7-1500,整个驱动是用C#开发的。

可以通过github进行下载,也可以在微软的Visual Studio中通过NuGet直接下载库文件

http://www.nuget.org/packages/s7netplus

C#编程

这次我通过图形界面的方式进行与PLC的通信,界面的样子是这样的

CPU type可以选择不同类型的CPU。

IP地址是连接PLC的计算机IP,如果是本机运行可以写127.0.0.1。

Rack和Slot针对S7-1200分别是0和1

点击Connect按钮即可实现连接,连接之后,可以通过Read或者Write对指定的数据区进行读取和写入。

代码基本就是下面的样子

PLC编程

PLC的编程相对很简单,简单到就没有程序,只是建了一个数据块用于测试读取和写入的功能。使用NetToPLCSim建立模拟器月PLC Sim之前的通信,这一步可以参看之前的文章,都是一样的。

这里需要注意数据块属性中需要取消勾选优化的数据块,CPU的保护属性中需要勾选允许访问通过PUT/GET

这两个地方如果没有设置,会出现通讯不上的问题

联机测试

设置好软件参数后,按照下图,选择一个需要进行读取或者写入的数据区,点击读取,写入试试看看吧,祝大家玩的开心!!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421G0TTW200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券