工控编程吧

标题: 大批量数据如何做趋势? [打印本页]

作者: baikhgmv    时间: 2016-9-5 12:14
标题: 大批量数据如何做趋势?
大批量数据如何做趋势?

X轴:位移

Y轴:压力

PLC:313C

压机接触的时间只有2秒,2秒内采集的数据要做出XY趋势。

用BSEND,把采集的数据放入DB块发送到WINCC,并且解码浮点型。这些都做好了。

但是要做趋势的时候,要把这批数据用脚本写进用户归档的变量里面,不会了。

有没有哪个大神有相关的经验分享一下!!!


--------用变量记录做趋势才是正路啊!

用UA, 反而做不了趋势了呢!


---------生成的曲线太慢了,100MS才能读一个值。


---------给收到的数据打上时间标签, 然后存到变量记录里面啊。

当然咯, 如果你存到UA里面, 再用在线趋势来绘曲线,也是可以的。



---------问一下万版~

给收到的数据打上时间标签, 然后存到变量记录里面啊。

这个的意思是把时间标签直接替换成变量记录的时间轴

还是把这个时间标签作为一个变量存到变量记录里面?谢谢


----------是前者。


对于归档来说,每一个数据记录点,包含时间戳、变量值和质量状态等等,遵循WINCC的规定。

最后趋势图调用的时候,是把每个点的时间值和数据值取出来, 放到坐标轴上的


----- 呵呵,周董的“示波器”也耍得有模有样啊!

100ms刷新一次变量,很多人都卡在这里走不下去了,那是因为不知道如何开辟出一块缓存来,这个缓存就是FIFO。

“100ms刷新一次变量”不能理解成“100ms刷新一个变量”,如果你换一个思维方式,在PLC中建立这个FIFO(也就是一个0-99的数组),以循环中断对数组指针操作,将模拟量输入值写入到连续数组(即FIFO缓存),然后你可以考虑如何将这数组显示出来了。

简单的操作是,可以在画面上建立一组棒图,比如100个棒图(这要看所使用的面板单个画面所支持的最大变量数,即FIFO大小),平均下来,一个棒图承担1ms的刷新,这是不是可以绕过去了?归纳一下:以空间换时间。

高级的操作可以参考《PLC连续数据如何用趋势视图显示》


----------把一批保存下来,再慢慢显示出来?

我用TP700试了,1S刷新一个点,没有办法变快的。


-----------TP700一幅画面的最大变量个数不超过50个吧?不过也足够你使用了。

你为何用1s刷新一次?可以更改为100ms刷新一次的,一个数组50个变量全部都100ms刷新一次,X轴不再是时间轴,而是数组索引。

这样说吧,你的plc是313c、v3.3版本对吗?这很重要!31Xc的cpu集成的AI转换时间是500us,V3.3版本的周期中断可以设置到1ms,这两个参数可以决定你采集数据的精度。先建立数组变量,你用循环中断将数组指针每1ms偏移一个字,将模拟量输入值缓存到数组中,那么趋势图的X轴虽然是数组索引,实际上仍然是时间。

我曾经有篇主题帖就是讲到用PLC来做示波器,不过很多专家不以为然的。我想再说一次,PLC的发展不能再以“控制”自居,更要做到“测控一体”,没有实时测量数据为依据的控制不过是理论上的自以为是罢了,呵呵!


-----------TP700改为100MS刷新,实际还是1S刷新一次,你可以试试。

打电话给西门子的人也解决不了。


-----------应该给周董加精的,这个动机值得鼓励。即便给西门子技术支持打过电话,回复了此路不通,楼主就打算放弃了吗?须知此事要躬行!

excel是强大的数据分析工具,我们在excel中可以做出漂亮醒目的趋势图,如何将PLC的实时性(当然,这个实时性是相对的,前提是足够项目需求的)应用到excel的数据采集上,再结合excel本身的数据分析,这就别有一番滋味了。

我曾用excel写过一个《数据分析初步》,想上传到论坛,结果上传几次也没能成功。

西门子的DB块就可以看作是一个excel,利用plc编程将现场数据采集到DB块里是很容易实现的,唯一要考虑的是项目的“采集速率”,300plc最快采集速率可以到1KSps,400plc可以到2K,1500PLC至少可以达到4K。再来说说基恩士的PLC,可以达到8K。基恩士本是做测量分析的,它的界面软件也是基于excel,在excel中嵌入实时控件,自动读取plc数据到excel中。

有时我们现场数据采集并不需要动辄100K甚至100M的采样速率,PLC区区数K采样速率足以满足项目需求,这就足够给控制提供方向了,所以我说周董的这个想法是值得鼓励的,切不可遭受挫折就放弃了。



------------1, 我原来用TP700,后来改用TP900. 里面有两个变量就是设置的100ms的刷新周期, 用来检测压力变化的, 我试过用手按压力传感器, 结果HMI上的数据变化非常流畅,快. 眼睛几乎看不清数据.  说明不可能是1S刷新的... ...

2,用PLC做定时中断,指针记录数据到DB块,  然后上传到HMI里显示趋势. 这个是很早西门子就一个FAQ了,就是应用在精智的屏上. 下面我上传的附件就是HMI里的设置方法.  事实上我的项目里也有这个应用.  客户可以根据自己的需要设置采样周期(由于资源有限,我设置了最小的采样周期为2ms), 连续采样一定的数据后上传到HMI显示

百度云附件:使用TP900趋势视图显示PLC中连续数据区数据.pdf   


------------1.100MS,触摸屏上的点变化是很快,但是等到1S的时候出现的点才连线。

2.我要做的是XY轴,趋势不是我想要的。XY也没有缓存这个选项。



----------我用LABVIEW也做了,也可以按一段时间将XY曲线保存到EXCEL。

但是稳定性差。EXCEL和LABVIEW兼容性有问题。


------------1, 数据肯定是按100ms周期可以刷新的(因为我的项目里有6个数据要做事件触发的归档, 我在PLC侧特意测试了每0.5S变量变化一次,结果所有的变量都存储成功,连续测试两小时以上,几千个数据没有一个漏的) , 至于你说的1S才连成线, 不明觉历... ...

2,我发的资料就是可以做成XY轴的 (不是那种横轴是时间,纵轴是数据的y=f(t)趋势图),  所以你都没有看.


-----------不过我用的是精智系列TP900触摸屏.   我没有用过WINCC,更没有拿WINCC测试过以上两种功能.


----------您确定XY轴的也可以做?

趋势我找到缓冲区了,XY轴没有找到啊?


-----------基本上是个饭来张口衣来伸手的状态.

楼主给人的印象是想从各角度证明此事不可能.  而可笑的是帮助你的人们在费力地向你推荐各种方法, 告诉你随便一条路都可行!


----------我试过3种方法,触摸屏,wincc,labview,都成功了,凭什么说饭来张口。wincc和labview对于改造项目复杂不想考虑了,就想通过触摸屏解决问题,伊默发的文档对于xy轴我并没有找到可以缓存的地方,所以问问。


----------你等于是一边宣称给西门子的人打电话也解决不了, 然后一边自己私下搞定了却还跟这些人拌嘴说搞不出.是吧?


----------触摸屏1S绘制一个点不能算成功,伊默说能100MS绘制一个点当然要问问。


---------这个话题的核心关键词是大批量。

可惜楼主自己经常跑题。

所以就没办法注意跟踪了。


---------万版的提示“可以双缓冲切换”,这种使我联想到显像管电视机的行扫描与场扫描,每帧半幅图像,利用视觉停留拼成一幅完整的图像。场扫描周期25帧每秒,也就相当于50ms刷新一次










欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4