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”的值在时间窗口中更改几次。•相