技术论坛

 回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?

返回主题列表
作者 主题

总坛主
西门子官方工程师西门子官方工程师

经验值:23725
发帖数:3679
精华帖:8
楼主    2013-11-12 16:44:25
主题:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
PLC与HMI通信是大家经常会用到的,我们会根据实际需求来为每个变量设置变量采样周期,比如1S或者100ms,那么是不是只要设置好变量采样周期,HMI上的数据就会按照我们设置的采样周期来刷新呢?PLC的程序执行时间会影响与HMI的数据更新吗?如果HMI的数据更新达不到我设定的数据刷新时间要求,有没有改善或者解决的办法?

本期就以上话题展开讨论,希望大家踊跃参与!

活动奖励:
此次集中交流将持续至12月6日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。
对于有突出发言贡献的网友可获得金币奖励,可以在当前的兑换奖品中兑换奖品。

突出发言的一位网友还可获得《深入浅出西门子 WinCC V6 》一本:



预祝大家交流愉快,收获丰富!
Zane
版主

经验值:85161
发帖数:21047
精华帖:399
15楼    2013-11-14 21:40:47
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
PLC里倒是有个通讯负载的参数可以设置,在CPU属性里,可以设定每个扫描周期用于通讯的时间的比例。
Zane 注册自动化系统工程师 Always save before download
tln
游民

经验值:111
发帖数:3
精华帖:1
16楼    2013-11-15 09:15:54
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
我研究过别的品牌的HMi,截取过HMI发向PLC的通讯数据.HMI理论上可以按照设定的采样周期更新,但在数据量较大时HMI来不及发送数据,可能会造成更新周期延时.严重时HMI的数据更新会出现假死的状况.
另外,在编写HMI时将相关的数据软元件地址最好按照顺序连续编写,这样HMI向PLC发送的读写指令时可以将多条指令整合成一条.这样可以提升通讯效率.
PLC的一个扫描周期分,处理通讯,映射IO区域和执行程序等步骤,若程序越大,扫描周期越长.PLC和HMI的通讯相应也就越慢.
jacky_andy
奇侠

经验值:6742
发帖数:2277
精华帖:19
23楼    2013-11-15 13:28:36
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
PLC的程序执行时间会影响与HMI的数据更新吗?
我觉得理论上是会影响hmi的数据更新的。
因为PLC的执行时间和扫描周期有关系。而通信的刷新是在扫描周期内进行的。如下图所示


Ken(小释)
侠士

经验值:1878
发帖数:285
精华帖:19
32楼    2013-11-19 12:41:32
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
1.变量更新时间=采集时间+传输时间+处理时间
2.变量地址要是PLC里实实在在存在的地址,不然会报错,现象为:屏幕上的变量变化卡顿,迟滞,甚至是连接断开,经常又自动恢复,。so,这个看上去的效果就是变量很久才更新了一次。
3.wincc变量的读取和写入不是所有都可以对位or字节操作的,很多通道(驱动)是不支持的,他们实际上实在先读取一个字甚至是多字然后再进行操作其中的某一位。so,变量最好是建立在连续的一大片区域上,这样,变量的采集相对区域集中,采集时间更短。
4.很多人觉得画面上面动作偏慢,感觉是变量采样的原因。其实变量有那么快了,但是画面刷新还是默认的2s所以偏慢。
Ken(小释)…西门子自动化技术群16182848
Ken(小释)
侠士

经验值:1878
发帖数:285
精华帖:19
33楼    2013-11-19 12:55:16
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
quote:以下是引用万泉河在2013-11-14 17:12:51的发言:
说到周期,首先也是多年来迷糊的地方。
在WINCC的通道属性中,有个周期管理的选项:




而也有帮助提示:




可以看到整个翻译都是乱的,整个就是不知所云。
说明恐怕德国人自己都没搞明白这几个选项具体啥意思。

有高人先给说明白了先。
前几年四书五经在的时候曾经说过一会,但还是没懂。

我曾经接到电话有人问我怎么搞,是勾上还是不勾。我给的答复是你都试试,哪样能通讯用哪样。


主要是周期管理这里有点模糊是吧?
周期管理
通过PLC:是指当你切换一个画面的时候变量管理器发送PLC一个周期性的采集数据的需求,PLC收到这个请求后,周期性的返回给WinCC变量值。直到换成另一个画面的时候,再如此这般进行。如果你不勾选这个,HMI会不停的请求数据,PLC会不停的应答。比较浪费资源啊,所以默认是勾选了这个的。
更改驱动的传输:是指你再这种PLC得到请求后,周期性的返回数据的时候,再进行的一种优化,是有变化才传送给WinCC,没有变化就不传送,让WinCC使用上一个周期的值。也是一种节约资源的措施。
Ken(小释)…西门子自动化技术群16182848
【未知数】
侠士

经验值:1304
发帖数:61
精华帖:3
37楼    2013-11-20 15:29:44
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
如楼上几位兄弟所说
HMI数据刷新的时间要依赖于:
1、PLC程序循环时间;
2、通讯数据传输时间;
3、HMI界面数据刷新时间。
其实感觉电脑的速度也有很大影响,尤其是画面数据比较多,或者动画比较多的时候,如18楼所说的,点击一个按钮要4、5秒才反应过来,不知道电脑配置是不是不够硬呀,呵呵再+WINCC V6(也就是32位XP)。
如果换成i7处理器,8G内存,64位WIN7,WINCC V7,,改善效果估计会比较明显。
话说回来,其实也只能是改善,有这样大量动画的画面显示起来,系统估计还是有明显迟滞
好好学习,天天向上
westcowboy
奇侠

经验值:6746
发帖数:833
精华帖:46
53楼    2013-12-02 20:20:20
精华帖  主题:回复:应用探讨——HMI中的数据真的是按照你设定的采样周期在更新吗?
quote:以下是引用 westcowboy在2013-11-27 11:00:43的发言:
quote:以下是引用 westcowboy在2013-11-22 17:03:10的发言:
quote:以下是引用Ken(小释)在2013-11-19 16:29:23的发言:
quote:以下是引用 westcowboy在2013-11-19 12:58:33的发言:
quote:以下是引用黄河远上在2013-11-18 21:24:59的发言:
quote:以下是引用 westcowboy在2013-11-18 13:39:35的发言:
我一直在想一个问题,如果变量更新设置为100ms,但实际的PLC扫描周期如果是1S的话,那变量究竟是多长时间更新一次?是100ms还是1S?

不清楚。
感觉更像是HMI 100MS 更新一次数据。无关PLC 。假如不是西门子的PLC 的话,HMI 还是在更新数据。

针对这个问题,我做了一个测试,CPU315-2PN/DP,V3.2,OB1里通过调用多个SFC47将OB1的执行时间拉长到1S,OB35设定到100ms中断一次,里面放一个累加器。在HMI监控这个变量的变化,数据更新时间为100ms,发现累加器的值无法做到连续的逐次加1的显示(几乎是每加10个数才更新一次)。由此可见,HMI的数据至少是PLC每执行一个扫描周期,才能刷新一次的,而不是设置的100ms。
大家可以动手试试!

是这样的,一个PLC循环周期执行的过程中还有这些通讯任务,所以最快的通讯速率不能比一个循环周期还快。这个是用PLCsim模拟不出来的!

呵呵,发现更有意思的事,在我以上实验的基础上,只要我把PLC的CPU属性这个勾打上,HMI上监视的OB35里累加器的值就能发现数值是逐次+1在递增的!数据刷新速度真的极大提高了!



我找到答案了,300的CPU从V3.2起,通讯机制变了。改天上图!

根本原因在这里,看这张图!


Let's build the automation future!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。