视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
WinCC系统函数
2025-09-29 04:18:03 责编:小OO
文档
1. ActivateRightScreen

应用

将画面切换到与激活画面同一层级的右侧的画面。 

如果当前画面的右侧没有其它画面,则不发生画面切换。

说明 

必须已经在“画面浏览”编辑器中组态了一个浏览结构。

语法

ActivateRightScreen

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

参数

--

2.  ActivateRootScreen

应用

将画面切换到定义为起始画面的画面。 

如果所显示的画面是根画面,则不会发生画面切换。

说明 

必须已经在“画面浏览”编辑器中组态了一个浏览结构。

语法

ActivateRootScreen

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

参数

--

3.  ActivateScreen

应用

将画面切换到指定的画面。 

使用“ActivateScreenByNumber”系统函数可以从根画面切换到永久性窗口,反之亦然。 

语法

ActivateScreen (Screen name, Object number)

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

参数

Screen name

要切换到的画面的名称。

Object number

画面切换后在指定画面中获得焦点的操作员控件元素。 操作员控件元素的编号在组态期间使用 TAB 顺序确定。

在指定为“0”时:

如果调用该系统函数时焦点位于永久性窗口,则永久性窗口保留焦点。

如果调用该系统函数时焦点位于根画面,则指定画面中的第一个操作员控件元素获得焦点。

说明 

如果将“到达边界”事件分配给“ActivateScreen”系统函数,则只有数值“0”对“Object number”参数有效。 活动对象不是由对象号定义的,而是由画面更改之前其 X 位置定义的。

4.  ActivateScreenByNumber

应用

根据变量值将画面切换到另一画面。 

画面由其画面号标识。

语法

ActivateScreenByNumber (Screen number, Object number)

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

参数

Screen number

包含要切换到的画面号的变量。

如果需要从根画面切换到永久性窗口,则指定“0”或“-1”:

0 = 从根画面切换到永久性窗口

-1 = 从永久性窗口切换到根画面

Object number

画面切换后在指定画面中获得焦点的画面对象的编号。 操作员控件元素的编号在组态期间使用 TAB 顺序确定。

在指定为“0”时:

∙如果调用该系统函数时焦点位于永久性窗口,则永久性窗口保留焦点。

∙如果调用该系统函数时焦点位于根画面,则指定画面中的第一个操作员控件元素获得焦点。

5.  AdjustContrast

应用

将HMI设备的显示对比度改变一个级别 

语法

AdjustContrast (Adjust)

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

参数

Adjust

确定如何调整对比度:

0 (hmiDecrease) = 减少: 将对比度降低一个级别。

1 (hmiIncrease) = 增加: 将对比度增加一个级别。

6.  ArchiveLogFile

应用

此函数将记录移至或复制到其它存储位置作长期归档。 

进行检查跟踪时,请始终使用“移动”(hmiMove)模式,否则将会通过复制存储的数据违反 FDA 准则。 

在使用此系统函数之前,请始终运行“CloseAllLogs”系统函数

请在执行此系统函数后,运行“OpenAllLogs”函数。

在“复制记录”模式中,只有在成功复制了记录或在复制过程中发生超时的情况下,才会重新打开记录。 在“移动记录”模式中,将重命名要移动的记录,并且会立即打开新记录。 要移动重命名的记录,系统将会执行一个作业,在不能访问服务器时该作业会尝试每 300 秒移动一次记录。 在运行系统重新启动后,该作业仍将保留直到执行完毕。

语法

ArchiveLogFile (Log type, Log, Directory name, Mode)

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

参数

Log type

确定记录的类型:

0 (hmiTagArchive) = 数据记录

1 (hmiAlarmArchive) = 报警记录

2 (hmiAudittrailArchive) = 检查跟踪记录

Log

被归档的记录的名称。

Directory name

保存记录的路径。

Mode

0 (hmiCopy) = 复制记录

1 (hmiMove) = 移动记录

7.  BackupRAMFileSystem

应用

将RAM文件系统备份到HMI设备的存储介质中。 

重启动HMI设备后,数据被自动重新装载到RAM文件系统中。

应用程序(例如Internet Explorer)将数据(例如最近访问的网址)临时保存到操作员设备的DRAM文件系统。

语法

BackupRAMFileSystem

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

8.  ButtonPress

应用

触发给定画面对象上的“按下”事件。 

例如,当希望使用操作员设备的功能键来操作屏幕按钮时,可使用该系统函数。

说明 

系统函数“ButtonPress”和“ButtonRelease”必须始终一起组态。 因此,如果在某一功能键的“按下”事件上组态了系统函数“ButtonPress”,则在同一功能键的“释放”事件上组态了系统函数“ButtonRelease”。

语法

ButtonPress (Screen object)

在脚本中是否可用: 否

 

9.  ButtonRelease

应用

触发给定画面对象上的“释放”事件。 

例如,当希望使用操作员设备的功能键来操作屏幕按钮时,可使用该系统函数。

说明 

系统函数“ButtonPress”和“ButtonRelease”必须始终一起组态。 因此,如果在某一功能键的“按下”事件上组态了系统函数“ButtonPress”,则在同一功能键的“释放”事件上组态了系统函数“ButtonRelease”。

语法

ButtonRelease (Screen object)

在脚本中是否可用: 否

10.  ClearLog

应用

删除给定记录中的所有数据记录。 

语法

ClearLog (Log type, Log)

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

参数

Log type

确定记录的类型: 

0 (hmiTagArchive) = 数据记录

1 (hmiAlarmArchive) = 报警记录

Log

要删除其所有条目的记录的名称。

11.  CopyLog

应用

将记录的内容复制到其它记录中。 变量值只能复制到其它数据记录中,而报警只能复制到其它报警记录中。

使用“CopyLog”系统函数复制日志前,必须停止记录。 “StopLogging”函数可用来终止记录操作。

说明 

如果使用“CopyLog”系统函数复制记录,则外部应用程序有可能无法读取在复制记录的已记录消息文本中的某些特定国家/地区的特定字符。 这不适用于 WinCC flexible Runtime。 WinCC flexible Runtime 可以正确读取复制的记录文件。

语法

CopyLog (Log type, Destination log, Source log, Mode, Delete source log)

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

参数

Log type

确定记录的类型:

0 (hmiTagArchive) = 数据记录

1 (hmiAlarmArchive) = 报警记录

Destination log

要将条目复制到其中的记录的名称(目标记录)。

Source log

要复制其条目的记录的名称(源记录)。

Mode

确定采用什么方式将复制下来的条目放入目标记录中:

0 (hmiOverwrite) = 覆盖: 覆盖已有的条目。

2 (hmiAppend) = 附加: 在目标记录的末尾插入这些条目。 当达到所组态的记录大小时,对目标记录的处理方式类似于循环记录。

Delete source log

确定复制后是否删除源记录。

0 (hmiNo) = 否: 不删除。

1 (hmiYes) = 是: 删除。

12.  DeleteDataRecord

应用

删除配方数据记录。 

可以从一个或多个配方中删除若干个数据记录。

语法

DeleteDataRecord (Recipe number/name, Data record number/name, Confirmation, Output status message, Processing status)

在脚本中是否可用: 有 (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 = 因为出现了错误,系统函数未执行。

13.  GetDataRecordName

应用

在给定的变量中写入给定配方和配方数据记录的名称。 

说明 

如果配方或配方数据记录不存在,则将通配符(“###”)写入该变量。

语法

GetDataRecordName (Recipe number, Data record number, Recipe name, Data record name, Processing status)

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

参数

Recipe number

其名称将被写入给定变量的配方的编号。

Data record number

其名称将被写入给定变量的配方数据记录的编号。

Recipe name

要写入配方名称的变量。 该变量必须为STRING类型。

Data record name

要写入配方数据记录名的变量。 该变量必须为STRING类型。

Processing status

返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。

2 = 系统函数正在执行。

4 = 系统函数已经成功完成。

12 = 因为出现了错误,系统函数未执行。

14.  GetDataRecordTagsFromPLC

应用

将装载到PLC中的配方数据记录的值传送给配方变量。 

例如,在设备上进行交互操作期间,使用该系统函数。

语法

GetDataRecordTagsFromPLC (Recipe number/name, Processing status)

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

参数

Recipe number/name

要将其值从PLC写入变量的配方数据记录的编号或名称。

Processing status

返回系统函数的处理状态。例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。

2 = 系统函数正在执行。

4 = 系统函数已经成功完成。

12 = 因为出现了错误,系统函数未执行。

15.  GetPassword

应用

在给定的变量中写入当前登录到HMI设备的用户的口令。 

说明 

确保给定变量的值未显示在项目中的其它位置。
说明 

无法读取用户 SIMATIC Logon 的密码。 

语法

GetPassword (Tag)

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

参数

Tag

要将口令写入其中的变量。

16.  GoToEnd

应用

在HMI设备上执行键功能: 

当HMI设备在缺省情况下不具有该功能时使用此系统函数。

语法

GoToEnd

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

17.  GoToHome

应用

在HMI设备上执行键功能: 

当HMI设备在缺省情况下不具有该功能时使用此系统函数。

语法

GoToHome

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

18.  IncreaseValue

应用

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

X = X + a

说明 

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

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

语法

IncreaseValue (Tag, Value)

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

参数

Tag

为其添加给定值的变量。

Value

作为加数的数值。

19.  InvertBit

应用

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

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

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

语法

InvertBit (Tag)

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

参数

Tag

要设置其位的变量。

20.  InvertBitInTag

应用

对给定变量中的位取反: 

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

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

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

说明 

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

语法

InvertBitInTag (Tag, Bit)

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

参数

Tag

要设置其给定位的变量。

Bit

要设置的位的编号。

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

21.  LoadDataRecord

应用

将给定的配方数据记录从HMI设备的存储介质装载到配方变量中。 

例如,可使用该系统函数在配方画面中显示配方数据记录。

语法

LoadDataRecord (Recipe number/name, Data record number/name, Processing status)

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

参数

Recipe number/name

要装载其配方数据记录的配方的编号或名称。

Data record number/name

要装载的配方数据记录的编号或名称。

Processing status

返回系统函数的处理状态。 例如,可以使用返回值延迟执行其它系统函数,直到本系统函数已经成功完成。

2 = 系统函数正在执行。

4 = 系统函数已经成功完成。

12 = 因为出现了错误,系统函数未执行。

22.   OpenScreenKeyboard

应用

隐藏或显示屏幕键盘。 

屏幕键盘保持打开直到它被明确关闭。 这样,屏幕键盘也可用于其它应用程序。

语法

OpenScreenKeyboard (Display mode)

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

参数

Display mode

指定使用屏幕键盘打开的窗口是最小化还是最大化:

0 (hmiScreenKeyboardMinimized) = 最小化

1 (hmiScreenKeyboardMaximized) = 最大化

23.   PageDown

应用

在HMI设备上执行键功能: 

语法

PageDown

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

24.   PageUp

应用

在 HMI 设备上执行  键功能。 

语法

PageUp

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

25.   PrintReport

应用

通过连接到HMI设备的打印机来打印给定的报表。 

说明 

报表将按操作员设备上所设置的语言进行打印。
语法

PrintReport (Report)

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

26.   PrintScreen

应用

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

同时打印已打开的窗口。

说明 

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

语法

PrintScreen

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

27.   RecipeViewDeleteDataRecord

应用

删除当前显示在配方视图中的数据记录。 

语法

RecipeViewDeleteDataRecord (Screen object)

在脚本中是否可用: 否

参数

Screen object

配方视图的名称,在其中删除显示的配方数据记录。

28.   RecipeViewGetDataRecordFromPLC

应用

将PLC中当前装载的数据记录传送至HMI设备并在配方视图中显示。 

语法

RecipeViewGetDataRecordFromPLC (Screen object)

在脚本中是否可用: 否

参数

Screen object

配方视图的名称,在其中显示来自PLC的配方数据记录。

29.   ResetBit

应用

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

语法

ResetBit (Tag)

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

参数

Tag

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

30.  SetAcousticSignal

应用

在 HMI 设备上组态触摸屏操作的声反馈。 

说明 

在断开状态下建立的组态将在重启HMI设备时重新建立。

语法

SetAcousticSignal (Volume)

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

参数

Volume

确定声音信号是否发出以及发出多大的声响:

-1 (hmiToggle) = 切换: 对发出的声音信号进行如下切换: 静音 > 轻声 > 高声。

0 (hmiMuted) = 静音: 没有声音信号

1 (hmiQuiet) = 安静: 较轻的声音信号

2 (hmiLoud) = 响亮: 较响的声音信号

31.  SetBitWhileKeyPressed

应用

只要用户按下已组态的键,给定变量中的位即设置为1(真)。 

在改变了给定位之后,系统函数将整个变量传送回PLC。 但是并不检查变量中的其它位是否同时改变。 在变量被传送回PLC之前,操作员和PLC可能只能读该变量。 仅应使用该函数访问BOOL类型的变量,以避免发生同时访问相同变量的问题。 

说明 

即使该键保持按下状态,与事件“释放”有关的所有函数均将通过为某个键所组态的画面变化来立即执行。

如果为某个功能键组态了系统函数“SetBitWhileKeyPressed”,则该位在画面改变后将立即复位。 该动作是必需的,因为在画面改变后键赋值也发生了变化。

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

语法

SetBitWhileKeyPressed (Tag, Bit)

在脚本中是否可用: 否

参数

Tag

要将其中的一个位暂时设置为1(真)的变量。 只要PLC允许,可以仅使用BOOL类型的变量。

Bit

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

32.    SetDaylightSaving

应用

系统函数“SetDaylightSaving”可将 HMI 设备的设置从夏时制更改为标准时间,反之亦然。

执行该系统函数后,时间设置将立即生效。

说明 

系统函数“SetDaylightSaving”不支持未使用夏令时的时区。 

说明 

系统函数“SetDaylightSaving”在 HMI 设备 OP 73micro、TP 170micro 和 TP177micro 上不可用。

语法

SetDaylightSaving (Mode)

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

参数

Mode

确定是否在 HMI 设备上设置了夏令时:

0 = 未激活夏令时。

1 = 已激活夏令时。

变量

Bool 或 Uint 类型的变量。

33.   ShowSystemAlarm

应用

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

语法

ShowSystemAlarm (Text/value)

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

参数

Text/Value

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

显示全文
专题