回复:技术专题探讨-WinCC 与 S7-300/400 通信设置和优化-发帖整理

  • 帖子

    3917
  • 精华

    20
  • 被关注

    26

论坛等级:奇侠

注册时间:2003-06-16

普通 普通 如何晋级?

发布于 2009-05-03 22:51:22

0楼

quote:以下是引用阿瑟斯在2009-04-13 18:41:44的发言:
quote:以下是引用四书五经在2009-04-13 16:05:04的发言:
对于全局脚本中使用的变量,至所于我觉得使用wait函数会更好些,是因为如果不使用Wait函数,在整个WINCC的运行期间都都要占用周期性服务资源。而S7300的周期性资源只有4个,如果被全局脚本终始占用了一到两个,我觉得浪费很大,对于多台上位机运行的时候,这样势必使得使得周期性资源被占用太多,通讯效率有很大的降低。再说使用Wait功能只要执行时间不超过脚本的触发周期,也没有问题。
呵呵,WINCC映像区中注册的变量越多,WINCC执行的负荷应该就越重,我觉得有时候不是通讯问题造成WINCC速度慢,因为这点通讯量对于以太网或者DP来说根本不是问题。


WinCC的 C 和 VBS 脚本的使用非常灵活,可以大大加强WinCC的各种功能,但若使用不当,确实会产生一些通讯问题,如万版主所说。
有些不得不用脚本情况下,要谨慎使用,并多加注意即可:
首先,要了解 C 和VB 脚本的“排队”执行和堵塞的特性。但好在 C 和 VB脚本又有各自不同的“队列”,一定程度上实现了“多线程”的效果,所以可以有意识的将不同的任务分别放在C 或 VB脚本中执行,比如:一个按钮的VBS执行数据库读写,另一个按钮C脚本执行UI处理,当VBS数据库读写任务较重时,而按钮的C脚本通常不会被其堵塞。
其次,要了解常用的GetTag系列函数的执行特性,四书五经的帖子和在线帮助里都有解释,不再复述。
另外,WinCC还提供了脚本中高效数据交换(批量读写)的函数和方法:GetTagMultiWait/SetTagMultiWait(VBS中的TagSet) 和 原始数据类型 RawData。
其中GetTagMultiWait是同步方式,可以一次读取上百个不同类型的WinCC变量(不是数组),而所花费的时间却和GetTagWait函数调用一次的时间差别不明显,优化效果极为显著。参见:http://support.automation.siemens.com/CN/view/zh/26712371
而WinCC的原始数据类型RawData大家都比较熟悉了,以数组方式和PLC交换数据,优点:数据量大,缺点:无法直接在画面等处直接使用,需要脚本拆解。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32569条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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