winccflexible系统函数

winccflexible系统函数
winccflexible系统函数

WinCC Flexible 系统函数报警

ClearAlarmBuffer

应用

删除HMI设备报警缓冲区中的报警。

说明

尚未确认的报警也被删除。

语法

ClearAlarmBuffer (Alarm class number)

在脚本中是否可用:有 (ClearAlarmBuffer)

参数

Alarm class number

确定要从报警缓冲区中删除的报警:

0 (hmiAll) = 所有报警/事件

1 (hmiAlarms) = 错误

2 (hmiEvents) = 警告

3 (hmiSystem) = 系统事件

4 (hmiS7Diagnosis) = S7 诊断事件

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

报警缓冲区溢出

ClearAlarmBufferProtoolLegacy 应用

该系统函数用来确保兼容性。

它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。语法

ClearAlarmBufferProtoolLegacy (Alarm class number)

在脚本中是否可用:有 (ClearAlarmBufferProtoolLegacy)

参数

Alarm class number

将要删除其消息的报警类别号:

-1 (hmiAllProtoolLegacy) = 所有报警/事件

0 (hmiAlarmsProtoolLegacy) = 错误

1 (hmiEventsProtoolLegacy) = 警告

2 (hmiSystemProtoolLegacy) = 系统事件

3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

变量记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

报警缓冲区溢出

SetAlarmReportMode

应用

确定是否将报警自动报告到打印机上。

语法

SetAlarmReportMode (Mode)

在脚本中是否可用:有 (SetAlarmReportMode)

参数

Mode

确定报警是否自动报告到打印机上:

0 (hmiDisnablePrinting) = 报表关闭:报警不自动打印。

1 (hmiEnablePrinting) = 报表打开:报警自动打印。-1 (hmiToggle) = 切换:在两种模式之间切换。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

报警缓冲区溢出

ShowAlarmWindow

应用

隐藏或显示 HMI 设备上的报警窗口。

语法

ShowAlarmWindow (Object name, Display mode) 在脚本中是否可用:是 (ShowAlarmWindow)

参数

Object name

要隐藏或显示的报警画面的名称。

Display mode

确定隐藏或显示报警窗口:

0 (hmiOff) = 关:隐藏报警画面

1 (hmiOn) = 开:显示报警画面

-1 (hmiToggle) = 切换:在两种模式之间切换。可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放

按下

功能键(局部)释放按下

画面已加载已清除

数据记录溢出报警记录溢出报警视图单击

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

调度器到期ShowSystemAlarm

应用

将已传递参数的值显示为 HMI 设备上的系统报警。语法

ShowSystemAlarm (Text/value)

在脚本中是否可用:是 (ShowSystemAlarm)

参数

Text/Value

作为系统报警输出的文本或数值。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

画面切换

用户改变

报警缓冲区溢出

逻辑位

InvertBit

应用

对给定的“Bool”型变量的值取反。

?如果变量具有值 1(真),它将被设置为 0(假)。

?如果变量具有值 0(假),它将被设置为 1(真)。语法

InvertBit (Tag)

在脚本中是否可用:有 (InvertBit)

参数

Tag

要设置其位的变量。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止

InvertBitInTag

系统函数

应用

对给定变量中的位取反:

?如果变量中的位为值 1(真),它将被设置为 0(假)。

?如果变量中的位为值 0(假),它将被设置为 1(真)。

在改变了给定位之后,系统函数将整个变量传送回 PLC。但是并不检查变量中的其它位是否改变。在变量被传送回 PLC 之前,操作员和 PLC 可能只能读该变量。

说明

如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而是使用“InvertBit”系统函数。语法

InvertBitInTag (Tag, Bit)

在脚本中是否可用:有 (InvertBitInTag)

参数

Tag

要设置其给定位的变量。

Bit

要设置的位的编号。

当该系统函数在脚本中使用时,变量中的位从右向左计数。计数从 0 开始。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止

PLC 中的值

要求

在 HMI 设备上组态的变量“x”访问 PLC 中的变量“y”。

例如,将以下系统函数之一分配给功能键。

系统函数“f”:

?SetBitInTag

?SetBitWhileKeyPressed

?ResetBitInTag

?InvertBitInTag

将系统函数“f”分配给 HMI 设备的变量“x”。

预期的顺序

从 PLC 读取值(读)。系统函数“f”更改定义的位后,将整个变量返回到 PLC(写)。问题

从 PLC 读取实际值的时间由在 HMI 设备的变量“x”上组态的采集周期决定。

从 PLC 读取变量“x”的值:

1.如果在变量上组态“循环连续”或“循环使用”,则循环读取值

2.如果设置了“根据命令”更新并在之后对变量“x”执行“UpdateTag”函数,则仅

在画面启动时读取一次数值。

系统函数“f”使用变量中当前可用的值,并将新值返回到 PLC。

例如,您可以将采集周期设置为 1 分钟。也就是说,每分钟从 PLC 读取值并更新变量“x”的值一次。这有一个从 59 秒到下一次读取操作的时间窗口。例如,操作员在此时间窗口中按下功能键。例如,使用“f”函数将变量“y”的实际值由“0”更改为“1”(写)。函

数“y”不会检查变量“y”上的任何其它位是否同时被更改。在下一次读取变量“y”时(读),变量“x”会使用错误的值进行初始化。来自 PLC 的初始信息将丢失。例如,其它系统函数继续使用错误的值执行操作。

在下列情况下也会触发该响应:

?由于高负载,变量“x”的值更新延迟。

?PLC 中变量“y”的值在时间窗口中更改几次。

?相同的变量“”通过函数列表在 PLC 中更改几次。

小心

为避免上述问题,请不要在支持“BOOL”类型变量的 PLC 上使用这些系统函数。

使用

o“SetBit”系统函数,而不是“SetBitInTag”。

o“SetBitInTag”系统函数,而不是“SetBitWhileKeyPressed”。

o“ResetBit”系统函数,而不是“ResetBitInTag”。

o“InvertBitInTag”系统函数,而不是“InvertBit”

如果 PLC 不支持任何类型为“BOOL”的变量,您只应使用以上列出的函数,但条件是已安全排除从多个位置访问相同变量的可能。

在以下条件下会出现这种情况:

1.PLC 没有写入变量

2.HMI 设备本身没有从多个位置写入变量,例如,通过后台运行的任务调度器

活动。

ResetBit

应用

将“Bool”型变量的值设置为 0(假)。

语法

ResetBit (Tag)

在脚本中是否可用:有 (ResetBit)

参数

Tag

设置为 0(假)的 BOOL 型变量。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活

编辑

数据记录溢出

报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止在对话框打开时在对话框关闭时

ResetBitInTag

系统函数

应用

将给定变量中的一个位设置为 0(假)。

在改变了给定位之后,系统函数将整个变量传送回 PLC。但是并不检查变量中的其它位是否改变。在变量被传送回 PLC 之前,操作员和 PLC 可能只能读该变量。

说明

如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而使用系统函数“ResetBit”。

语法

ResetBitInTag (Tag, Bit)

在脚本中是否可用:有 (ResetBitInTag)

参数

Tag

其中的一个位要设置为 0(假)的变量。

Bit

要设置为 0(假)的位的编号。

在脚本中使用该系统函数时,无论使用何种 PLC,给定变量中的位都是从右向左计数。计数从 0 开始。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止在对话框打开时在对话框关闭时

PLC 中的值

要求

在 HMI 设备上组态的变量“x”访问 PLC 中的变量“y”。

例如,将以下系统函数之一分配给功能键。

系统函数“f”:

?SetBitInTag

?SetBitWhileKeyPressed

?ResetBitInTag

?InvertBitInTag

将系统函数“f”分配给 HMI 设备的变量“x”。

预期的顺序

从 PLC 读取值(读)。系统函数“f”更改定义的位后,将整个变量返回到 PLC(写)。问题

从 PLC 读取实际值的时间由在 HMI 设备的变量“x”上组态的采集周期决定。

从 PLC 读取变量“x”的值:

1.如果在变量上组态“循环连续”或“循环使用”,则循环读取值

2.如果设置了“根据命令”更新并在之后对变量“x”执行“UpdateTag”函数,则仅

在画面启动时读取一次数值。

系统函数“f”使用变量中当前可用的值,并将新值返回到 PLC。

例如,您可以将采集周期设置为 1 分钟。也就是说,每分钟从 PLC 读取值并更新变量“x”的值一次。这有一个从 59 秒到下一次读取操作的时间窗口。例如,操作员在此时间窗口中按下功能键。例如,使用“f”函数将变量“y”的实际值由“0”更改为“1”(写)。函数“y”不会检查变量“y”上的任何其它位是否同时被更改。在下一次读取变量“y”时(读),变量“x”会使用错误的值进行初始化。来自 PLC 的初始信息将丢失。例如,其它系统函数继续使用错误的值执行操作。

在下列情况下也会触发该响应:

?由于高负载,变量“x”的值更新延迟。

?PLC 中变量“y”的值在时间窗口中更改几次。

?相同的变量“”通过函数列表在 PLC 中更改几次。

小心

为避免上述问题,请不要在支持“BOOL”类型变量的 PLC 上使用这些系统函数。

使用

o“SetBit”系统函数,而不是“SetBitInTag”。

o“SetBitInTag”系统函数,而不是“SetBitWhileKeyPressed”。

o“ResetBit”系统函数,而不是“ResetBitInTag”。

o“InvertBitInTag”系统函数,而不是“InvertBit”

如果 PLC 不支持任何类型为“BOOL”的变量,您只应使用以上列出的函数,但条件是已安全排除从多个位置访问相同变量的可能。

在以下条件下会出现这种情况:

1.PLC 没有写入变量

2.HMI 设备本身没有从多个位置写入变量,例如,通过后台运行的任务调度器

活动。

SetBit

应用

将“Bool”型变量的值设置为 1(真)。

语法

SetBit (Tag)

在脚本中是否可用:有 (SetBit)

参数

Tag

要将其值设置为 1(真)的 BOOL 型变量。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载

已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止在对话框打开时在对话框关闭时

SetBitInTag

系统函数

应用

将给定变量中的一个位设置为 1(真)。

在改变了给定位之后,系统函数将整个变量传送回 PLC。不检查变量中的其它位是否同时发生了改变,在变量传送回 PLC 之前,操作员和 PLC 只能读取该变量。

说明

如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而使用系统函数“SetBit”。

语法

SetBitInTag (Tag, Bit)

在脚本中是否可用:有 (SetBitInTag)

参数

Tag

要将其中的一个位设置为 1(真)的变量。

Bit

要设置为 1(真)的位的编号。

在脚本中使用该系统函数时,无论使用何种 PLC,给定变量中的位都是从右向左计数。计数从 0 开始。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止在对话框打开时在对话框关闭时

说明

要实现可靠的功能,必须保证与实际过程值一起使用的变量的更新。因此,应在 IO 域中组态变量或将函数分配给画面元素(如按钮)。

如果为函数组态了短事件(如报警的激活),则只能通过设置连续读取的变量访问实际过程值。

PLC 中的值

要求

在 HMI 设备上组态的变量“x”访问 PLC 中的变量“y”。

例如,将以下系统函数之一分配给功能键。

系统函数“f”:

?SetBitInTag

?SetBitWhileKeyPressed

?ResetBitInTag

?InvertBitInTag

将系统函数“f”分配给 HMI 设备的变量“x”。

预期的顺序

从 PLC 读取值(读)。系统函数“f”更改定义的位后,将整个变量返回到 PLC(写)。问题

从 PLC 读取实际值的时间由在 HMI 设备的变量“x”上组态的采集周期决定。

从 PLC 读取变量“x”的值:

1.如果在变量上组态“循环连续”或“循环使用”,则循环读取值

2.如果设置了“根据命令”更新并在之后对变量“x”执行“UpdateTag”函数,则仅

在画面启动时读取一次数值。

系统函数“f”使用变量中当前可用的值,并将新值返回到 PLC。

例如,您可以将采集周期设置为 1 分钟。也就是说,每分钟从 PLC 读取值并更新变量“x”的值一次。这有一个从 59 秒到下一次读取操作的时间窗口。例如,操作员在此时间窗口中按下功能键。例如,使用“f”函数将变量“y”的实际值由“0”更改为“1”(写)。函数“y”不会检查变量“y”上的任何其它位是否同时被更改。在下一次读取变量“y”时(读),变量“x”会使用错误的值进行初始化。来自 PLC 的初始信息将丢失。例如,其它系统函数继续使用错误的值执行操作。

在下列情况下也会触发该响应:

?由于高负载,变量“x”的值更新延迟。

?PLC 中变量“y”的值在时间窗口中更改几次。

?相同的变量“”通过函数列表在 PLC 中更改几次。

小心

为避免上述问题,请不要在支持“BOOL”类型变量的 PLC 上使用这些系统函数。

使用

o“SetBit”系统函数,而不是“SetBitInTag”。

o“SetBitInTag”系统函数,而不是“SetBitWhileKeyPressed”。

o“ResetBit”系统函数,而不是“ResetBitInTag”。

o“InvertBitInTag”系统函数,而不是“InvertBit”

如果 PLC 不支持任何类型为“BOOL”的变量,您只应使用以上列出的函数,但条件是已安全排除从多个位置访问相同变量的可能。

在以下条件下会出现这种情况:

1.PLC 没有写入变量

2.HMI 设备本身没有从多个位置写入变量,例如,通过后台运行的任务调度器

活动。

ShiftAndMask

输入字母数字值

字母数字屏幕键盘

触摸触摸屏上的输入对象时,HMI设备自动打开一个屏幕字母数字键盘,供输入字符串和十六进制格式的数值。输入完成后,键盘将自动隐藏。

仅在为输入对象编写了操作员注释时,才会激活键。

用于字母数字输入的触摸屏键盘

键盘层次

字母数字键盘由两个层次构成:

?标准层(如图)

?

?

?

层用来输入特殊字符。

步骤

使用屏幕键盘按钮可逐个字符地输入字母数字值。使用确认输入或使用取消输入。这两个操作均会关闭屏幕键盘。

打印

PrintScreen

应用

通过连接到HMI设备的打印机来打印当前显示在HMI设备上的画面。

同时打印已打开的窗口。

说明

从Windows操作系统的当前设置中获取打印机设置。

语法

PrintScreen

在脚本中是否可用:有 (PrintScreen)

参数

--

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

SetAlarmReportMode

应用

确定是否将报警自动报告到打印机上。

语法

SetAlarmReportMode (Mode)

在脚本中是否可用:有 (SetAlarmReportMode)

参数

Mode

确定报警是否自动报告到打印机上:

0 (hmiDisnablePrinting) = 报表关闭:报警不自动打印。

1 (hmiEnablePrinting) = 报表打开:报警自动打印。

-1 (hmiToggle) = 切换:在两种模式之间切换。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

报警缓冲区溢出

计算

DecreaseValue

应用

从变量值中减去给定的值。

X = X - a

说明

系统函数使用同一变量作为输入和输出值。当该系统函数用于转换数值时,必须使用帮助变量。可使用系统函数“SetValue”将变量值分配给帮助变量。

如果在报警事件中组态了函数但变量未在当前画面中使用,则无法确保在 PLC 中使用实际的变量值。通过设置“连续循环”采集模式可以改善这种情况。

语法

DecreaseValue (Tag, Value)

在脚本中是否可用:是 (DecreaseValue)

参数

Tag

要减去给定值的变量。

Value

其值作为减数。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止

在对话框打开时

在对话框关闭时

IncreaseValue

应用

将给定值添加到变量值上。

X = X + a

说明

系统函数使用同一变量作为输入和输出值。当该系统函数用于转换数值时,必须使用帮助变量。可使用系统函数“SetValue”将变量值分配给帮助变量。

如果在报警事件中组态了函数但变量未在当前画面中使用,则无法确保在 PLC 中使用实际的变量值。通过设置“连续循环”采集模式可以改善这种情况。

语法

IncreaseValue (Tag, Value)

在脚本中是否可用:有 (IncreaseValue)

参数

Tag

为其添加给定值的变量。

Value

作为加数的数值。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

系统键(全局)释放按下

画面已加载已清除

错误启用

取消激活确认

编辑

警告启用

取消激活编辑

数据记录溢出报警记录溢出

检查跟踪记录可用内存很少可用内存极少

画面对象按下释放单击

切换(或者拨动开关)打开

断开

启用

禁用

完成时输入

调度器到期

画面切换

用户改变

报警缓冲区溢出运行系统停止对话框打开时对话框关闭时

InverseLinearScaling

应用

使用线性函数X = (Y - b) / a,将通过给定变量Y的值计算得出的数值赋给变量X。变量X和Y不能相同。与此函数相反的系统函数是“LinearScaling”。

说明

变量X和Y不能相同。如果要将变量转换为其自身,必须使用一个帮助变量。

可用系统函数“SetValue”将要转换变量的值分配给帮助变量。

语法

InverseLinearScaling (X, Y, b, a)

在脚本中是否可用:有 (InverseLinearScaling)

参数

X

要为其分配通过线性方程式计算得出的值的变量。

Y

其值用于计算的变量。

b

其值作为减数。

a

其值作为除数。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期

运行系统停止

LinearScaling

应用

为变量Y赋值,该变量通过线性函数Y= (a *X) + b利用给定变量X的值计算得出。与此函数相反的系统函数是“InverseLinearScaling”。

说明

变量X和Y不能相同。如果要将变量转换为其自身,必须使用一个帮助变量。

可用系统函数“SetValue”将要转换变量的值分配给帮助变量。

语法

LinearScaling (Y, X, a, b)

在脚本中是否可用:有 (LinearScaling)

参数

Y

要为其分配通过线性方程式计算得出的值的变量。

X

其值用于计算的变量。

a

作为乘数的数值。

b

作为加数的数值。

可组态的对象

对象事件

变量数值改变超出上限低于下限

功能键(全局)释放按下

功能键(局部)释放按下

画面已加载已清除

画面对象按下

释放

单击

切换(或者拨动开关)打开

断开

启用

取消激活

时序表到期SetValue

系统函数

应用

相关主题
相关文档
最新文档