启动WinCC项目全局动作脚本就执行怎么办?
WinCC的全局动作都有自己的触发器, 当触发条件满足时,才会执行该动作。但对于某些触发器设置,在WinCC项目启动后,虽然没有满足触发器条件,但动作脚本仍然会执行一次,例如周期触发器及变量变化触发器。
那么,如何避免这种情况呢?
对于周期触发器,可以在其全局脚本中加一个WinCC内部Bool型变量(例如,变量a),如
if a=1 then
脚本内容;
else a=1;
对于变量变化触发器,如果要求只有当触发器变量(例如变量b)值从0跳转到1时才执行全局动作,可以在全局脚本中增加一个用来计数的内部变量c:
if c=0 or c=1 then
c=c+1;
if b=1 and c<>1 then
脚本内容;
如果要求只有当触发器变量(例如变量b)值从1跳转到0时才执行全局动作,可以在全局脚本中增加一个用来计数的内部变量c:
if c=0 or c=1 then
c=c+1;
if b=0 and c<>1 then
脚本内容;
以上脚本相关只是一个思路,具体使用时要遵守脚本规范。
那么,如何避免这种情况呢?
对于周期触发器,可以在其全局脚本中加一个WinCC内部Bool型变量(例如,变量a),如
if a=1 then
脚本内容;
else a=1;
对于变量变化触发器,如果要求只有当触发器变量(例如变量b)值从0跳转到1时才执行全局动作,可以在全局脚本中增加一个用来计数的内部变量c:
if c=0 or c=1 then
c=c+1;
if b=1 and c<>1 then
脚本内容;
如果要求只有当触发器变量(例如变量b)值从1跳转到0时才执行全局动作,可以在全局脚本中增加一个用来计数的内部变量c:
if c=0 or c=1 then
c=c+1;
if b=0 and c<>1 then
脚本内容;
以上脚本相关只是一个思路,具体使用时要遵守脚本规范。
新闻详情