技术论坛

大批量数据如何做趋势?

作者 主题
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
主题:大批量数据如何做趋势?


只看楼主 只看精华 楼主 2016-01-28 18:50:01

X轴:位移

Y轴:压力

PLC:313C

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

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

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

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


工控毁我青春!
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1275005&b_id=5

至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:大批量数据如何做趋势?


只看楼主 只看精华 1楼 2016-01-28 19:42:46

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

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


微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:大批量数据如何做趋势?


只看楼主 只看精华 楼主 2楼 2016-01-28 20:33:24
以下是引用万泉河在2016-01-28 19:42:46的发言 >1楼

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

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

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



工控毁我青春!
以下网友喜欢您的帖子:

  
至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:大批量数据如何做趋势?


只看楼主 只看精华 3楼 2016-01-29 14:31:31
以下是引用周杰伦在2016-01-28 20:33:24的发言 >

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


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


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


微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:大批量数据如何做趋势?


只看楼主 只看精华 4楼 2016-01-29 14:32:39

 万泉河《S7-200+WINCC实现高速数据采集例程》 


http://user.qzone.qq.com/178616417/blog/1330413012


微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:大批量数据如何做趋势?


只看楼主 只看精华 5楼 2016-01-31 16:00:54

问一下万版~

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

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

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


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:大批量数据如何做趋势?


只看楼主 只看精华 6楼 2016-02-02 15:17:05

是前者。


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


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




微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
至圣

经验值: 19410
发帖数: 2077
精华帖: 73
回复:大批量数据如何做趋势?
精华帖精华帖星级2级


只看楼主 只看精华 7楼 2016-02-05 09:17:23

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

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

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

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

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


大道至简,知易行难
精华帖版主置评: 还可以双FIFO buffer
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:大批量数据如何做趋势?


只看楼主 只看精华 楼主 8楼 2016-02-11 19:23:52
以下是引用看雪001在2016-02-05 09:17:23的发言 >7楼

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

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

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

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

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

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

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


工控毁我青春!
以下网友喜欢您的帖子:

  
至圣

经验值: 19410
发帖数: 2077
精华帖: 73
回复:大批量数据如何做趋势?


只看楼主 只看精华 9楼 2016-02-11 21:05:54
以下是引用周杰伦在2016-02-11 19:23:52的发言 >

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

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

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

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

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

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


大道至简,知易行难
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:大批量数据如何做趋势?


只看楼主 只看精华 楼主 10楼 2016-02-12 13:03:33
以下是引用看雪001在2016-02-11 21:05:54的发言 >9楼

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

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

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

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

以下是引用周杰伦在2016-02-11 19:23:52的发言 >:把一批保存下来,再...

引用详细内容:

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

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

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

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


工控毁我青春!
以下网友喜欢您的帖子:

  
至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:大批量数据如何做趋势?


只看楼主 只看精华 11楼 2016-02-12 15:55:12

看来@看雪001 说的FIFO一点都没看懂。


不管怎样, 我先给精华了。  



微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
至圣

经验值: 19410
发帖数: 2077
精华帖: 73
回复:大批量数据如何做趋势?


只看楼主 只看精华 12楼 2016-02-12 17:00:41

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

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采样速率足以满足项目需求,这就足够给控制提供方向了,所以我说周董的这个想法是值得鼓励的,切不可遭受挫折就放弃了。




大道至简,知易行难
以下网友喜欢您的帖子:

  
至圣

经验值: 18589
发帖数: 4266
精华帖: 118
回复:大批量数据如何做趋势?
精华帖精华帖星级2级


只看楼主 只看精华 13楼 2016-02-12 21:26:34

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


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


使用TP900趋势视图显示PLC中连续数据区数据.pdf



I can do it
以下网友喜欢您的帖子:

  
侠圣

经验值: 2352
发帖数: 72
精华帖: 0
回复:大批量数据如何做趋势?


只看楼主 只看精华 14楼 2016-02-13 11:38:29

以前没遇过处理大量数据的处理,现在学习了很多,谢谢!


Enjoy my life
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:大批量数据如何做趋势?


只看楼主 只看精华 楼主 15楼 2016-02-14 10:31:53
以下是引用伊默在2016-02-12 21:26:34的发言 >13楼

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


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


使用TP900趋势视图显示PLC中连续数据区数据.pdf


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

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


工控毁我青春!
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:大批量数据如何做趋势?


只看楼主 只看精华 楼主 16楼 2016-02-14 10:33:59
以下是引用看雪001在2016-02-12 17:00:41的发言 >12楼

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

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采样速率足以满足项目需求,这就足够给控制提供方向了,所以我说周董的这个想法是值得鼓励的,切不可遭受挫折就放弃了。



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

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


工控毁我青春!
以下网友喜欢您的帖子:

  
至圣

经验值: 18589
发帖数: 4266
精华帖: 118
回复:大批量数据如何做趋势?


只看楼主 只看精华 17楼 2016-02-14 19:36:00

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

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



I can do it
以下网友喜欢您的帖子:

  
至圣

经验值: 18589
发帖数: 4266
精华帖: 118
回复:大批量数据如何做趋势?


只看楼主 只看精华 18楼 2016-02-14 19:37:29

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


I can do it
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:大批量数据如何做趋势?


只看楼主 只看精华 楼主 19楼 2016-02-14 21:23:42
以下是引用伊默在2016-02-14 19:36:00的发言 >17楼

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

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


您确定XY轴的也可以做?

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


工控毁我青春!
以下网友喜欢您的帖子:

  
收起
大批量数据如何做趋势?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。