您现在所在的是:

德嘉工控

回帖:94个,阅读:25944 [上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] ... [10] [下一页]
7992
大连德嘉工控WB 版主
文章数:1776
年度积分:1058
历史总积分:7992
注册时间:2018/5/31
发站内信
发表于:2019/6/5 12:03:20
#0楼
写作初衷:

无意间在西门子论坛看到一位大神写的一篇帖子,是介绍如何使用C#调用S7.NET库编写程序来读写S7-1500 PLC的,并且提供了源文件,兴奋之余,怀着一份敬畏的心下载来研究一下。

但结果不尽如人意,程序根本无法运行,各种报错,而且还没有提供关于S7.NET的文档,一头雾水。得,感谢您给我提供的思路,其他的我自己来吧,自己动手丰衣足食嘛!(这里吐槽一下国内好多技术分享的资料,百度的信息乱七八糟,多而不精,(百度是通用性高的多,专业性高的搜索结果则很少了,谷歌还被墙,真心好郁闷),好不容易在众多搜索结果中找到一个感觉像点样子的,按照资料上一操作,结果跟资料描述的完全不一样,仔细一研究,发现各种坑,而且还有各种隐藏的坑,这些隐藏的坑如果原发作者不告诉你,你得花费巨大的精力和很长的时间才能发现(往往比自己重新做一份时间还要长)。另一方面,好多论坛的技术贴,发出后就没有后续了,成了僵尸贴,所以很多坑无法得到解决。)

开源是好事,毕竟大家好才是真的好嘛,所以为了避免我上述这些问题,本人决心做到以下几点
1、源程序是本人编写,并通过测试验证的(但不保证没有bug哈,人非圣贤孰能无过表情
2、本帖发出后,将持续跟踪各应用结果,如发现问题在本人能力范围之内及时调整。
3、尽本人最大努力完善本程序及库的后续维护工作(本人还有很多其他的本职工作要做,如不能及时回复,敬请原谅!)
鄙人联系方式:
企鹅:1055249760 微信:13322207824(同手机)

S7.NET介绍:
S7.NET是一个C#编写的,以太网连接西门子带有Profinet接口CPU的dll驱动库,官方文件介绍可连接S7-200, S7-300, S7-400, S7-1200, S7-1500.(经本人测试,也可连接S7200 SMART)

S7.NET使用问题说明:(本人踩过的坑,写给大家借鉴一下)
1、连接S7200 SMART需使用S71200、S71500驱动都可以。
2、读写S7200或S7200 SMART的V区数据时,DB块号需设置为1
3、使用中发现下面两个bug
1)、public object Read(DataType dataType, int db, int startByteAdr, VarType varType, int varCount)
     public ErrorCode Write(DataType dataType, int db, int startByteAdr, object value)
上述两个函数无法完成位操作,请使用其他函数代替
2)、public object Read(DataType dataType, int db, int startByteAdr, VarType varType, int varCount)
该函数在读取DInt(32位有符号整型)数据时出现问题,读取不了负数,负数时,值始终为-2147483648
4、本程序中一次仅读取1个数据,实际应用中请按照S7.NET文档修改!


测试环境说明:
1、连接S7200 SMART:
测试硬件:CPU SR20,自带以太网接口
2、连接S7-200:(因该系列CPU无以太网接口,需外接模块,如:西门子CP243-1,大连德嘉CP243u、ETH-ibus等)
测试硬件:S7-200 CPU226 CN + 大连德嘉CP243u模块(西门子CP243-1设置太麻烦,这里用CP243u代替,协议都一样)
3、连接S7-300:(该系列PLC也多数不带以太网口,需外接模块,如CP343-1、大连德嘉ETH-MPI(Plus)等)
测试硬件1:CPU 314 + ETH-MPI(Plus) (同上,CP343-1设置同样麻烦,这里用ETH-MPI(Plus)代替,协议一样)
测试硬件2:CPU315-2PN/DP,自带以太网接口
4、连接S7-1200:
测试硬件:CPU 1214C AC/DC/Rly
5、连接S7-1500:
测试硬件:CPU 1511-1PN
6、连接S7-400:未经测试,鄙人手上无S7-400 CPU,如有哪位帮忙测试,请告知结果(请给出详细硬件说明)

下面贴出读写函数部分程序代码片段:

应18楼要求,将与PLC建立连接部分代码通过图片方式贴出:

建立连接:

附件 6.jpg

读函数:

附件 1.jpg

附件 2.jpg

附件 3.jpg

写函数:

附件 4.jpg

附件 5.jpg

这里有一条非常重要的设置,之前忘记了,现在补上:如下图,1500或者1200编程的时候下图两个地方需要注意:

附件 7.jpg

读写DB块的话下面这两个地方需要设置一下:


附件 8.jpg

附件 9.jpg

打包好的安装程序,可以直接安装测试:

附件:
[本地下载]

源程序:
附件:
[本地下载]

S7.NET库文件:
附件:
[本地下载]

S7.NET文档:
附件:
[本地下载]
[此贴子已经被作者于2019/6/25 9:45:06编辑过]
1083
yachong001
文章数:14
年度积分:58
历史总积分:1083
注册时间:2006/6/1
发站内信
发表于:2019/6/5 12:30:59
#1楼
好人,学习
4389
skkssun
文章数:135
年度积分:123
历史总积分:4389
注册时间:2015/11/25
发站内信
发表于:2019/6/5 12:34:30
#2楼
感谢分享吖。一直想把ifix的数据做个数据驾驶舱展示出来,但是不是学计算机的这个就只能一直看看,呵呵呵。
39261
jint 管理员
文章数:20718
年度积分:771
历史总积分:39261
注册时间:2007/8/30
发站内信
发表于:2019/6/5 13:04:39
#3楼
好帖,加精!
温馨提示:
电话:0755-26546361
邮箱:blog@gkong.com
微信公众号:工控论坛;微信号gkongbbs;
不定期修改账号密码;不要在多个网站用同一账号密码
可随时站内信联系,工作日可拨打电话或发邮件咨询相关问题
7992
大连德嘉工控WB 版主
文章数:1776
年度积分:1058
历史总积分:7992
注册时间:2018/5/31
发站内信
发表于:2019/6/5 13:33:10
#4楼
回复 #1楼 yachong001
带走,不客气
7992
大连德嘉工控WB 版主
文章数:1776
年度积分:1058
历史总积分:7992
注册时间:2018/5/31
发站内信
发表于:2019/6/5 13:33:28
#5楼
回复 #3楼 jint
感谢支持表情
27947
guanyumou 版主
文章数:10552
年度积分:1130
历史总积分:27947
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/6/5 14:05:55
#6楼
这是好贴!必须支持!表情
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
7992
大连德嘉工控WB 版主
文章数:1776
年度积分:1058
历史总积分:7992
注册时间:2018/5/31
发站内信
发表于:2019/6/5 14:35:56
#7楼
回复 #6楼 guanyumou
十分感谢您的支持哦!
8867
qdppo
文章数:1195
年度积分:905
历史总积分:8867
注册时间:2016/2/13
发站内信
发表于:2019/6/5 14:48:27
#8楼


。。。。。。 就我这水平,这贴高端了。



          就问一下楼主大师,这个应用在那个方面?是PC控制PLC吗?
          具体用在哪种应用场合上?


          谢谢。
7992
大连德嘉工控WB 版主
文章数:1776
年度积分:1058
历史总积分:7992
注册时间:2018/5/31
发站内信
发表于:2019/6/5 15:16:58
#9楼
回复 #8楼 qdppo
这种多数应用于对PLC数据的采集,对比现成的工业组态软件如wincc,组态王,力控等,它的优势在于可以将数据收集到工厂的大型管理软件中。(很多工厂是有自己的管理系统的,工厂设备的数据不单单要通过组态软件显示出来,还需要进入到工厂系统中或数据库中进行保存、分析等)。最常见的如:MES系统。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006