winccflexible系统函数.docx
《winccflexible系统函数.docx》由会员分享,可在线阅读,更多相关《winccflexible系统函数.docx(122页珍藏版)》请在冰豆网上搜索。
winccflexible系统函数
wincc-flexible-系统函数
Lt
D
WinCCFlexible系统函数
报警
ClearAlarmBuffer
应用
删除HMI设备报警缓冲区中的报警。
说明
尚未确认的报警也被删除。
语法
ClearAlarmBuffer(Alarmclassnumber)
在脚本中是否可用:
有(ClearAlarmBuffer)
参数
Alarmclassnumber
确定要从报警缓冲区中删除的报警:
0(hmiAll)=所有报警/事件
1(hmiAlarms)=错误
2(hmiEvents)=警告
3(hmiSystem)=系统事件
4(hmiS7Diagnosis)=S7诊断事件
可组态的对象
对象
事件
变量
数值改变
超出上限
低于下限
功能键〔全局〕
释放
按下
功能键〔局部〕
释放
按下
画面
已加载
已去除
数据记录
溢出
报警记录
溢出
检查跟踪记录
可用内存很少
可用内存极少
画面对象
按下
释放
单击
切换〔或者拨动开关〕
翻开
断开
启用
取消激活
时序表
到期
报警缓冲区溢出
ClearAlarmBufferProtoolLegacy
应用
该系统函数用来确保兼容性。
它具有与系统函数“ClearAlarmBuffer〞相同的功能,但使用旧的ProTool编号方式。
语法
ClearAlarmBufferProtoolLegacy(Alarmclassnumber)
在脚本中是否可用:
有(ClearAlarmBufferProtoolLegacy)
参数
Alarmclassnumber
将要删除其消息的报警类别号:
-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(Objectname,Displaymode)
在脚本中是否可用:
是(ShowAlarmWindow)
参数
Objectname
要隐藏或显示的报警画面的名称。
Displaymode
确定隐藏或显示报警窗口:
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)