简 介
下列表格显示了按组排列的可用系统函数。在 WinCC flexible 中,下列名称惯例应用于系统函数:以动词(例如“Start”或“Activate”)开头的系统函数可以用在脚本中。
以“Get”开头的系统函数用于读取值,例如从变量中读取。
以“Set”或“Write”开头的系统函数用于写入值,例如写入到变量中。
以 ActiveX 控件的名称(例如 HTMLBrowser)开头的系统函数不能在脚本中使用。
在脚本中使用系统函数请在脚本中使用系统函数的英文名称。如果该系统函数可以在脚本中使用,那么该系统函数的英文名称也可以找到,例如:
GetPassword (Tag)
报警
1、ClearAlarmBuffer
应用:删除HMI设备报警缓冲区中的报警。
说明:尚未确认的报警也被删除。
2、ClearAlarmBufferProtoolLegacy
应用:该系统函数用来确保兼容性。
它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。
参数:
Alarm class number
将要删除其消息的报警类别号:
-1 (hmiAllProtoolLegacy) = 所有报警/事件
0 (hmiAlarmsProtoolLegacy) = 错误
1 (hmiEventsProtoolLegacy) = 警告
2 (hmiSystemProtoolLegacy) = 系统事件
3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件
3、SetAlarmReportMode
应用:确定是否将报警自动报告到打印机上。
4、ShowAlarmWindow
应用:隐藏或显示 HMI 设备上的报警窗口。
5、ShowSystemAlarm
应用:将已传递参数的值显示为 HMI 设备上的系统报警。
编辑位
1、InvertBit
应用:对给定的“Bool”型变量的值取反。
如果变量具有值 1(真),它将被设置为 0(假)。如果变量具有值 0(假),它将被设置为 1(真)。
说明:不要使用循环事件或递归事件或具有外部变量的系统函数。
在画面中创建一个开关。该开关连接到外部布尔类型变量“Tag1”。将系统函数“InvertBit”分配给“更改”事件。该系统函数连接到外部变量“Tag1”。
在运行期间,这会导致无法预料的行为。
2、InvertBitInTag
应用:对给定变量中的位取反:
如果变量中的位为值 1(真),它将被设置为 0(假)。
如果变量中的位为值 0(假),它将被设置为 1(真)。
在改变了给定位之后,系统函数将整个变量传送回 PLC。不检查此过程期间变量中是否有其它位发生更改。在变量被传送回 PLC 之前,操作员和 PLC 对变量具有只读访问权限。
说明:如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而是使用“InvertBit”系统函数。
不要使用循环事件或递归事件或具有外部变量的系统函数。
在画面中创建一个开关。该开关连接到外部布尔类型变量“Tag1”。将系统函数“InvertBitInVariable”分配给“更改”事件。该系统函数连接到外部变量“Tag1”。
在运行期间,这会导致无法预料的行为。
3、ResetBit
应用:将“Bool”型变量的值设置为 0(假)。
4、ResetBitInTag
应用:将给定变量中的一个位设置为 0(假)。
在改变了给定位之后,系统函数将整个变量传送回 PLC。不检查此过程期间变量中是否有其它位发生更改。在指示的变量被传送回 PLC 之前,操作员和 PLC 对变量具有只读访问权限。
说明:如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而使用系统函数“ResetBit”。
5、SetBit
应用
将“Bool”型变量的值设置为 1(真)。
6、SetBitInTag
应用:将给定变量中的一个位设置为 1(真)。
在改变了给定位之后,系统函数将整个变量传送回 PLC。不检查变量中的其它位是否同时发生了改变,在变量传送回 PLC 之前,操作员和 PLC 只能读取该变量。
说明:如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而使用系统函数“SetBit”。
7、ShiftAndMask
应用:此系统函数将源变量的输入位组合格式转换成目标变量的输出位组合格式。这包括移动位和掩码位。
说明:如果源变量为有符号的整型数据类型,即带有符号“-”,则最左侧位为“1”。符号位向右侧移动后,该位将由“0”填充。符号变为“+”。
如果源变量和目标变量具有不同的位数,则要确保目标变量中的值未超出值的范围。
打印
1、PrintReport
应用:通过连接到 HMI 设备的打印机来打印给定的报表。
说明:报表将按 HMI 设备上所设置的语言进行打印。
2、PrintScreen
应用:通过连接到HMI设备的打印机来打印当前显示在HMI设备上的画面。
同时打印已打开的窗口。
说明:从windows操作系统的当前设置中获取打印机设置。
3、SetAlarmReportMode
应用:确定是否将报警自动报告到打印机上。
画面
1、ActivateFirstChildScreen
应用:将画面切换到位于子层最左侧的画面。如果活动画面没有任何子画面,则不执行画面更改
说明:如果要使用该函数,则必须在“画面浏览”编辑器中组态浏览结构。
2、ActivateLeftScreen
应用:将画面切换到与激活画面同一层级的左侧的画面。
如果当前画面的左侧没有其它画面,则不发生画面切换
说明:必须已经在“画面浏览”编辑器中组态了一个浏览结构。
3、ActivateParentScreen
应用:将画面切换到激活画面的父画面。如果活动画面没有任何子画面,则不执行画面更改。
说明:如果要使用该函数,则必须在“画面浏览”编辑器中组态浏览结构。
4、ActivatePreviousScreen
应用:将画面切换到在当前画面之前激活的画面。如果先前没有激活任何画面,则画面切换不执行。
最近调用的 10 个画面被保存。当切换到不再保存的画面时,会输出系统事件。
说明:如果要使用该函数,则必须在浏览结构中使用画面更改。
5、ActivateRightScreen
应用:将画面切换到与激活画面同一层级的右侧的画面。
如果当前画面的右侧没有其它画面,则不发生画面切换。
说明:必须已经在“画面浏览”编辑器中组态了一个浏览结构。
6、ActivateRootScreen
应用:将画面切换到定义为起始画面的画面。
如果所显示的画面是根画面,则不会发生画面切换。
说明:必须已经在“画面浏览”编辑器中组态了一个浏览结构。
7、ActivateScreen
应用:将画面切换到指定的画面。
使用“ActivateScreenByNumber”系统函数可以从根画面切换到永久性窗口,反之亦然。
8、ActivateScreenByNumber
应用:根据变量值将画面切换到另一画面。
画面由其画面号标识
计算
1、DecreaseValue
应用:从变量值中减去给定的值。
X = X - a
说明:系统函数使用同一变量作为输入和输出值。当该系统函数用于转换数值时,必须使用帮助变量。可使用系统函数“SetValue”将变量值分配给帮助变量。
如果在报警事件中组态了函数但变量未在当前画面中使用,则无法确保在 PLC 中使用实际的变量值。通过设置“连续循环”采集模式可以改善这种情况。
2、IncreaseValue
应用:将给定值添加到变量值上。
X = X + a
说明
系统函数使用同一变量作为输入和输出值。当该系统函数用于转换数值时,必须使用帮助变量。可使用系统函数“SetValue”将变量值分配给帮助变量。
如果在报警事件中组态了函数但变量未在当前画面中使用,则无法确保在 PLC 中使用实际的变量值。通过设置“连续循环”采集模式可以改善这种情况。
3、InverseLinearScaling
应用:使用线性函数X = (Y - b) / a,将通过给定变量Y的值计算得出的数值赋给变量X。
变量X和Y不能相同。与此函数相反的系统函数是“LinearScaling”。
说明:变量X和Y不能相同。如果要将变量转换为其自身,必须使用一个帮助变量。
可用系统函数“SetValue”将要转换变量的值分配给帮助变量。
4、LinearScaling
应用:为变量Y赋值,该变量通过线性函数Y= (a *X) + b利用给定变量X的值计算得出。
与此函数相反的系统函数是“InverseLinearScaling”。
说明:变量X和Y不能相同。如果要将变量转换为其自身,必须使用一个帮助变量。
可用系统函数“SetValue”将要转换变量的值分配给帮助变量。
5、SetValue
应用:将新值赋给给定的变量。
说明:该系统函数可用于根据变量类型分配字符串和数字。
记录
1、ArchiveLogFile
应用:此函数将记录移至或复制到其它存储位置作长期归档。
使用 Audit Trails 时,请始终使用“移动”(hmiMove) 模式,否则将在复制存储的数据方面违反 FDA 准则。
在使用此系统函数之前,请始终运行“CloseAllLogs”系统函数
请在执行此系统函数后,运行“OpenAllLogs”函数。
在“复制记录”模式中,只有在成功复制了记录或在复制过程中发生超时的情况下,才会重新打开记录。在“移动记录”模式中,将重命名要移动的记录,并且会立即打开新记录
2、ClearLog
应用:删除给定日志中的所有数据记录。
3、CloseAllLogs
应用:断开WinCC flexible与所有记录之间的连接。
说明:在关闭记录前,必须首先在记录中停止记录功能。使用系统函数“StopLogging”。
4、CopyLog
应用:将日志的内容复制到其它日志中。变量值只能复制到其它数据日志中,而报警只能复制到其它报警日志中。“StopLogging”函数可用来终止记录操作
说明:如果使用“CopyLog”系统函数复制记录,则外部应用程序有可能无法读取记录副本的已记录消息文本中的某些特定国家/地区的特殊字符。WinCC flexible Runtime 不会受此影响。WinCC flexible Runtime 可以准确无误地读取复制的记录文件
5、LogTag
应用:将给定变量的值保存在给定的数据日志中。
该系统函数用于归档特定时刻的过程值。
6、OpenAllLogs
应用:重新建立 WinCC flexible 和记录之间的连接。可继续记录。
说明:运行系统函数“StartLogging”以重新开始记录
7、StartLogging
应用:在指定记录中启动对数据或报警的记录。
可通过使用“StopLogging”系统函数在运行系统时中断记录。
8、StartSequenceLog
应用:停止对给定记录进行数据或报警的记录。
在为指定记录所组态的分段的环形记录的下一个记录中继续进行记录。
如果没有为指定记录组态分段的环形记录,则该系统函数无效。
9、StopLogging
应用:在指定记录中停止对过程值或报警的记录。
系统函数“StartLogging”用于在运行系统时恢复记录。
说明:当记录停止时,WinCC flexible与记录文件或记录数据库之间的连接仍将存在。使用系统函数“CloseAllLogs”可断开此连接。
键盘
1、OpenScreenKeyboard
应用:隐藏或显示屏幕键盘。
屏幕键盘保持打开直到它被明确关闭。这样,屏幕键盘也可用于其它应用程序。
参数:Display mode
指定使用屏幕键盘打开的窗口是最小化还是最大化:
0 (hmiScreenKeyboardMinimized) = 最小化
1 (hmiScreenKeyboardMaximized) = 最大化
2.、SetScreenKeyboardMode
允许或禁止HMI设备上屏幕键盘的自动显示。
说明:要在 HMI 设备而不是触摸面板设备上启用系统函数“SetScreenKeyboardMode”(“SetScreenKeyboardMode”),请在设备设置的“运行系统设置”对话框中选择“使用画面键盘”复选框。
该系统函数也可用于避免显示画面键盘,因为外部键盘已连接到操作员设备。
参数 Mode 确定隐藏还是显示屏幕键盘:
0 (hmiOff) = 关:隐藏屏幕键盘
1 (hmiOn) = 开:显示屏幕键盘
-1 (hmiToggle) = 切换:在两种模式之间切换。
3、ShowOperatorNotes
应用:显示所选对象已组态的信息文本。
如果功能键上组态了该函数,则将显示当前具有焦点的画面对象的帮助文本。如果操作员注意事项是为画面本身组态的,那么可以通过按下<Enter>或双击帮助窗口切换到该文本。
如果按钮上组态了该函数,则只显示当前画面的帮助文本。如果在按钮自身上组态了帮助文本,则最初只显示此按钮。
说明:在帮助窗口打开期间,无法使用任何其它画面对象。要使用画面对象,请关闭帮助窗口。的帮助文本。按下<Enter>或双击帮助窗口可以切换到当前画面的操作员注意事项。
配方
1、DeleteDataRecord
应用:删除配方数据记录。
可以从一个或多个配方中删除若干个数据记录。
参数:
Recipe number/name
要删除其配方数据记录的配方的编号或名称。如果想要从所有可用配方中删除配方数据记录,则指定“0”。
Data record number/name
要删除的配方数据记录的编号或名称。如果想要删除所有的配方数据记录,则指定“0”。
Confirmation
确定是否需要操作员确认删除操作:
0 (hmiOff) = 关:无需确认便开始删除。
1 (hmiOn) = 开:必须经过确认后才开始删除。
Output status message
确定删除之后是否输出状态消息:
0 (hmiOff) = 关:不输出状态消息。
1 (hmiOn) = 开:输出状态消息。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
2、DeleteDataRecordMemory
应用:删除指定的存储介质中的所有配方和配方数据记录。
参数:
Storage location
确定存储位置:
0 (hmiFlashMemory) = 闪存:HMI设备的内部闪存
1 (hmiStorageCard) = 存储卡
2 (hmiStorageCard2) = 存储卡2
3 (hmiStorageCard3) = 存储卡 MMC
4 (hmiStorageCard4) = USB存储卡
Confirmation
确定是否需要操作员确认删除操作:
0 (hmiOff) = 关:无需确认便开始删除。
1 (hmiOn) = 开:必须经过确认后才开始删除。
Output status message
确定删除之后是否输出状态消息:
0 (hmiOff) = 关:不输出状态消息。
1 (hmiOn) = 开:输出状态消息。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
3、ExportDataRecords
应用:将配方的一条或全部数据记录导出到 CSV 文件中。
为每个配方创建一个文件。
说明:csv 文件的存储
如果将存储卡用作存储位置,则按如下方式指定存储位置:“\StorageCard\<文件名>”。
如果要在子文件夹中存储数据,必须在导出前先创建这些子文件夹,如“\StorageCard\Backup\<文件名>”。
如果在“配方编号/名称”中输入值“0”,则系统自动使用已组态的配方显示名称。
如果只定义了文件名而没有指定路径,则文件保存在运行系统启动的目录。如果在 windows 7 操作系统中没有启用对该目录的写权限,则文件将保存在用户目录的“VirtualStore”文件夹中。
4、GetDataRecordFromPLC
应用:将给定的配方数据记录从PLC传送到HMI设备的存储介质中。
参数:
Recipe number/name
要传送其配方数据记录的配方的编号或名称。
Data record number/name
从PLC传送到HMI设备数据介质的配方数据记录的编号或名称。
Overwrite
确定是否覆盖具有相同名称的现有配方数据记录:
0 (hmiOverwriteForbidden) = 否:不覆盖配方数据记录。传送过程将不会执行。
1 (hmiOverwriteAlways) = 是:无提示直接覆盖配方数据记录。
2 (hmiOverwriteWithPrompting) = 经确认后:确认后才覆盖配方数据记录。
Output status message
确定传送之后是否输出状态消息:
0 (hmiOff) = 关:不输出状态消息。
1 (hmiOn) = 开:输出状态消息。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
5、GetDataRecordName
应用:在给定的变量中写入给定配方和配方数据记录的名称。
说明:如果配方或配方数据记录不存在,则将通配符(“###”)写入该变量。
参数:
Recipe number
其名称将被写入给定变量的配方的编号。
Data record number
其名称将被写入给定变量的配方数据记录的编号。
Recipe name
要写入配方名称的变量。该变量必须为STRING类型。
Data record name
要写入配方数据记录名的变量。该变量必须为STRING类型。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
6、GetDataRecordTagsFromPLC
应用:将装载到PLC中的配方数据记录的值传送给配方变量。
例如,在设备上进行交互操作期间,使用该系统函数。
参数:
Recipe number/name
要将其值从PLC写入变量的配方数据记录的编号或名称。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
7、ImportDataRecords
应用:从CSV文件中导入配方的一条或全部数据记录。
说明:如果将存储卡用作文件位置,则按如下方式指定文件位置:“\StorageCard\<文件名>”。
8、LoadDataRecord
应用:将给定的配方数据记录从HMI设备的存储介质装载到配方变量中。
例如,可使用该系统函数在配方画面中显示配方数据记录。
9、SaveDataRecord
应用:将配方变量的当前值作为数据记录保存到HMI设备的存储介质中。
例如,可使用该系统函数来保存配方画面中的配方数据记录。
参数:
Recipe number/name
要将配方数据记录保存到其中的配方的编号或名称。
Data record number/name
要保存的配方数据记录的编号或名称。
Overwrite
指定是否覆盖现有的数据记录:
0 (hmiOverwriteForbidden) = 否:不覆盖配方数据记录,也不保存该数据记录。
1 (hmiOverwriteAlways) = 是:不进行确认提示即覆盖配方数据记录。
2 (hmiOverwriteWithPrompting) = 经确认后:只有经用户确认后才会覆盖配方数据记录。
Output status message
确定在保存之后是否输出状态报表:
0 (hmiOff) = 关:不输出状态消息。
1 (hmiOn) = 开:输出状态消息。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
10、SetDataRecordTagsToPLC
应用:将配方变量的值传送到PLC。该配方变量包含显示在HMI设备上的数据记录的值。
参数:
Recipe number/name
要将其配方数据记录传送到PLC的配方的编号或名称。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
11、SetDataRecordToPLC
应用:将给定的配方数据记录从HMI设备的数据介质直接传送到与HMI设备相连的PLC。
说明:配方数据记录的值不需要显示在HMI设备上。
参数:
Recipe number/name
要将其配方数据记录传送到PLC的配方的编号或名称。
Data record number/name
要传送到PLC的配方数据记录的编号或名称。
Output status message
确定传送之后是否输出状态消息:
0 (hmiOff) = 关:不输出状态消息。
1 (hmiOn) = 开:输出状态消息。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 系统函数正在执行。
4 = 系统函数已经成功完成。
12 = 因为出现了错误,系统函数未执行。
12、SetRecipeTags
应用:将配方变量的状态从“在线”改为“离线”,反之亦然。
该系统函数用于例如在启动设备时需要对配方数据记录值进行精确调整的时候。
参数:
Recipe number/name
要保存其配方数据记录的配方的编号或名称。
Status
确定配方变量的状态:
0 (hmiOnline) = 在线:配方变量的数值改变立即传送到与 HMI 设备相连的 PLC。
1 (hmiOffline) = 离线:只在执行了如“SetDataRecordTagsToPLC”系统函数时,配方变量的数值改变才传送到与 HMI 设备相连的 PLC。
Output status message
确定在保存之后是否输出状态报表:
0 (hmiOff) = 关:不输出状态消息。
1 (hmiOn) = 开:输出状态消息。
Processing status
返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。
2 = 将要执行系统函数。
4 = 系统函数已经成功完成。
12 = 系统函数因出现错误而未执行。
湖北省十堰市 1F
登录回复
不错,支持。