来自西门子技术支持热线的故事:如何在WinCCflexible中以小于1分钟的时间间隔执行动作

已锁定

西门子Lemon

官方工程师

  • 帖子

    128
  • 精华

    9
  • 被关注

    152

论坛等级:侠客

注册时间:2010-03-19

普通 普通 如何晋级?

来自西门子技术支持热线的故事:如何在WinCCflexible中以小于1分钟的时间间隔执行动作

2183

0

2012-01-17 10:26:50

我们知道,277/277及更高版本的面板支持自定义脚本,因此可以通过在WinCCflexible调度器中定义相应的作业来周期性的执行自定义动作,如下图所示:




该应用有以下两个特点:
1. 作业全局执行,即项目运行期间它会一直在后台运行;
2. 作业中动作执行的时间间隔最小只能设定为1分钟。

那么有没有以小于1分钟的时间间隔执行自定义的动作的方法呢?
可以利用外部变量的“更改数值”事件配合PLC编程实现该功能,大概组态步骤为:
(1) 创建外部变量,并将其采集模式设置为“循环连续”;



(2) 在改变量的“更改数值”时间中调用自定义的动作;



(3) 在PLC程序中以要求的周期(如5S,不宜设置过小,否则系统可能处理不过来,应根据脚本复杂程度测试确定)来更改该变量的值。

除此之外,还可以考虑使用WinCCflexible中提供的系统函数SimulateTag(变量,周期,最大值,最小值,值), 该函数只能在“画面“对象的“已加载“事件中调用,使用该方法可避免PLC编程。其各参数的含义如下:
变量:其数值要改变且数据类型为“INT”的变量,
周期:与基本周期200ms相乘的因子;
最大值:变量的最大值,达到最大值后变量会被赋予最小值;
最小值:变量的最小值,达到最小值后变量会被赋予最大值;
值:每一周期变量值的变化跨度。
下面详细描述一个关于系统函数SimulateTag的使用实例,即使用该系统函数来实现当显示“PictureTest“画面时,以800ms的时间间隔来周期性地执行脚本”s criptTest”。
首先,在TP270-10”项目中创建画面“PictureTest”、整型外部变量“Simula”、整型内部变量“Inter”及脚本“s criptTest”其中脚本“s criptTest”用来执行对变量“Simula”乘以2、再加1并将运算结果送给变量“Inter”的动作,其内容如下:



然后在画面“PictureTest”的“的“加载”事件中调用系统函数SimulateTag,相关设置如下图所示:



在变量“Simula”的“更改数值”事件中调用脚本“s criptTest”,同时将其采集模式设为“循环连续”:


 
最后,在画面“PictureTest”中加入两个输出域,分别用来显示变量“Simula”及“Inter”的变化情况。
模拟运行项目,观察运行情况:


来自西门子技术支持热线的故事:如何在WinCCflexible中以小于1分钟的时间间隔执行动作 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有30994条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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