电工学习网

 找回密码
 立即注册
查看: 8994|回复: 0

ibaPDA高速采集西门子S7-1500/1200数据的另类方法

[复制链接]
发表于 2018-12-11 17:12:46 | 显示全部楼层 |阅读模式
随着西门子S7-1500/1200plc的推出,300/400PLC逐渐退到幕后,WINCC对PLC的数据周期较慢,在线归档最快是500ms还是250ms来的,给忘了,作为生产维护,感觉周期还是有点,之前用300/400PLC的时候,都是用和谐版的ibaPDA软件,新版本的ibaPDA软件支持1500,但是没有和谐版本,而和谐版本的又不支持1500/1200的PLC。
楼主现在在公司的一个新投产的项目上做维护工作,新项目采用的都是1200/1500的PLC,出现很多问题想查一下到底什么原因,不好查,用WINCC有时候也可以,但是看曲线的时候,还是很不方便,还是比较习惯使用ibaPDA软件,于是从网上多方面查找资料,都没有找到好的办法实现,这时候,楼主的同事有了想法,实现了对PLC的数据采集,为了方便维护,故障排查,楼主就根据同事的思路,进行改进,实现了PDA高速采集1500PLC的数据。具体实现方法如下:
1、自己编写程序定时读取PLC的数据:采用的是C#语言,C#学习起来比较简单,而且网上代码多,本人接触了有半个月把,从网上抄代码进行整合,然后使用开源的sharp7里面的代码,把读上来的数据进行打包,然后转发给PDA,这就是整体思路。至于使用C#编写的程序,暂时就不发了,新手写的也很乱。
2、PDA除了专门的S7通讯通道,还有TCPIP通道,该思路就是使用的TCP通道来接收C#程序发过来的数据,然后对数据进行拆分实现。
TCP的设置如图
6368006272842829752739749.png

图中可以看出当前采集了110个模拟量340个数字量,实际其实更多一些,只是没有都显示出来。PDA有个数据交换的功能很好用。
PLC目前的扫描周期是:
6368006274819253105068592.png
基本在4-6ms左右波动,启用和不启用采集对PLC的扫描周期看不出来有影响

划重点:
对PLC的扫描周期看不出来有影响
对PLC的扫描周期看不出来有影响
对PLC的扫描周期看不出来有影响
重要的事情说三遍
再看看数据采集的实际效果:
6368006275486393631663858.png
两个点之间的时间就是PDA上设置的10ms,图中可以看出,数据变化基本上20ms之内就有变化,基本上满足现场维护对数据采集周期的要求了。而且我程序里面的进程每次处理完还要休息5ms,加上新手小白,程序逻辑处理肯定有问题,如果想要更快的速度,只要PLC的周期能跟上,应该也是没问题的。

6368006276231653667386658.png

抱歉中间代码隐藏了,感觉实在太烂了……
楼主正在研究做能自定义添加数据的软件,如果能做好的话,到时候发上来大家测试一下,如果有高手能提前根据这个思路做出来,也希望分享一下,我也借来用用,嘿嘿~~
以上仅供个人学习参考,实际工厂使用请购买正版软件,出现任何问题,楼主概不负责。
本文转载自:西门子工业技术论坛

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-19 01:51

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表