文档库 最新最全的文档下载
当前位置:文档库 › Wincc系统函数

Wincc系统函数

Wincc系统函数
Wincc系统函数

报警

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

应用:显示所选对象已组态的信息文本。

如果功能键上组态了该函数,则将显示当前具有焦点的画面对象的帮助文本。如果操作员注意事项是为画面本身组态的,那么可以通过按下或双击帮助窗口切换到该文本。

如果按钮上组态了该函数,则只显示当前画面的帮助文本。如果在按钮自身上组态了帮助文

本,则最初只显示此按钮说明:在帮助窗口打开期间,无法使用任何其它画面对象。要使用画面对象,请关闭帮助窗口。的帮助文本。按下或双击帮助窗口可以切换到当前画面的操作员注意事项。

配方

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

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

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 = 系统函数因出现错误而未执行。

其它函数

1、ControlSmartServer

应用:启动或停止Sm@rtServer。.

参数 Mode 指定是启动还是停止Sm@rtServer。 -1 (hmiToggle) = 切换:在两种模式之间切换。 0 (hmiStop) = 停止:停止Sm@rtServer 1 (hmiStart) = 启动:启动Sm@rtServer

2、ControlWebServer

应用:启动或停止Web服务器。

参数 Mode 指定是启动还是停止Web服务器。

-1 (hmiToggle) = 切换:在两种模式之间切换。 0 (hmiStop) = 停止:停止Web服务器 1 (hmiStart) = 启动:启动Web服务器

3、Encode

应用:修改传送给自动化系统 (AS) 的变量的“String”数据类型。WinCC flexible 的变量数据类型“String”转换为 AS 的数据类型“Array of byte”。其结果会写入变量。参数 Byte array (输出) 包含转换值的变量。

说明:Byte array 必须是字符串长度的两倍。添加两个附加数组元素用于结尾零位。例如,当字符串长度为 120 个字符时,Byte array 必须包含 242 个数组元素。如果大小不够,字符将被截断或者无法转换。

4、EncodeEx

应用:修改传送给自动化系统 (AS) 的变量的“String”数据类型。WinCC flexible 的变量数据类型“String”转换为 AS 的数据类型“Array of byte”。其结果会写入变量。

与 Encoding 系统函数相比,该函数允许定义 Line break 参数。使用 Line break 参数可以删除分行符或使用预定义的字符替换分行符。

参数 Byte array(输出)包含转换值的变量。

说明:Byte array 必须是字符串长度的两倍。添加两个附加数组元素用于结尾零位。例如,当字符串长度为 120 个字符时,Byte array 必须包含 242 个数组元素。如果大小不够,字符将被截断或者无法转换。

5、LookupText

应用:从文本列表中标识一个条目。结果取决于值和所选定的运行系统语言。结果保存到数据类型为“String”的变量中。参数

Output text(输出)

将结果写入其中的变量。 Value

定义列表条目值的变量。 Language

定义标识列表条目所使用的运行系统语言。变量

包含该语言的变量。输入代表国家/地区标识号的十进制值作为运行系统语言的选择,例如,1031 代表德语 - 标准,1033 代表英语 - 美国。详细的介绍可从 VBScript 基础“Locale identifier (LCID) diagram”中获得。运行语言

语言代号按照 VBScript 参考,例如“de-DE”为德语(德国)或“en-US”为英语(美国)。此选择取决于激活何种运行系统语言。 Text list

定义文本列表。列表条目从文本列表中读取。

6、OpenInternetExplorer

应用:在HMI设备上打开Internet Explorer。

如果在调用系统函数时Internet Explorer已打开,那么Internet Explorer会关闭并再次打开。说明:Internet Explorer将数据临时保存在HMI设备DRAM文件系统中,例如,上一次调用的网站。该数据可使用系统函数“BackupRAMFileSystem”保存,这样在重启动HMI设备后其依然可用。参数 Start page 启动 Internet Explorer 时载入的页面,例如 "https://www.wendangku.net/doc/1e3250361.html,"。

7、SendEMail

应用:从HMI设备发送电子邮件到给定地址。

例如,该系统函数用于在维修时将报警直接传递给维修技术人员。

说明:需要选件“Sm@rtService”来实现。为了能够象电子邮件一样发送报警,HMI系统必须具有一个可由其随意支配的电子邮件客户端。文本”参数的变量值不能为空。如果该值为空,则无法执行函数。

参数 Address

IP 地址

支持以下 PLC 类型: SIMATIC S7 300/400 SIMATIC S7 200 SIMATIC S7-NC SIMOTION

这种更改只能在子网内进行。

2、SetConnectionMode

说明:只有在 HMI 设备上设置了“在线”运行模式后,才能建立至 PLC 的连接。可以使用系统函数“SetDeviceMode”实现此操作。

3、SetDeviceMode

应用:切换 HMI 设备上的运行模式。可以有下列操作类型:“在线”、“离线”和“传送”说明:如果将 PC 用作 HMI 设备,则当传送完成后切换运行模式时,退出运行系统软件。4、SetLanguage

应用:连接或断开给定的连接。

5、SetScreenKeyboardMode

应用:允许或禁止HMI设备上屏幕键盘的自动显示。

该系统函数也可用于避免显示画面键盘,因为外部键盘已连接到操作员设备。

说明:要在 HMI 设备而不是触摸面板设备上启用系统函数“SetScreenKeyboardMode”(“SetScreenKeyboardMode”),请在设备设置的“运行系统设置”对话框中选择“使用画面键盘”复选框。

6、SetWebAccess

应用:确定使用Internet对运行系统应用程序的访问模式。

系统

1、BackupRAMFileSystem

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

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

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

2、OpenCommandPrompt

应用:打开Windows系统提示。

例如,该函数用来复制文件或调用其它应用程序。

3、OpenControlPanel

应用:打开一个显示Windows CE控制面板的窗口。不能在PC上使用此系统函数。除其它功能外,此系统函数还允许您在基于Windows CE的HMI设备上设置以下内容:选择打印机选择传送属性

执行备份函数和恢复函数组态屏幕保护程序组态闪存

4、OpenScreenKeyboard

应用:隐藏或显示屏幕键盘。

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

参数:

Display mode

指定使用屏幕键盘打开的窗口是最小化还是最大化: 0 (hmiScreenKeyboardMinimized) = 最小化 1 (hmiScreenKeyboardMaximized) = 最大化用户管理

1、ExportImportUserAdministration

应用:将当前激活项目的用户管理中的全部用户导出到给定文件,或者将用户从给定文件导入到当前激活的项目中。用户、用户口令和权限都保存在用户管理中。

在导入时,将覆盖所有用户。导入的用户立即生效。

说明:如果将存储卡用作文件位置,则文件位置表示如下:“\StorageCard\<文件名>”。

2、GetGroupNumber

应用:读取登录到HMI设备的用户所属组的编号,并将其写入给定的变量。

3、GetPassword

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

4、GetUserName

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

如果给出的变量具有控制连接,则用户名在PLC上也可用。该系统函数将使诸如执行某些功能与用户有关的版本成为可能

说明:除了域以外,还将输出 SIMATIC Logon 用户的名称。

5、Logoff

应用:在HMI设备上注销当前用户

6、Logon

应用:在HMI设备上登录当前用户

7、ShowLogonDialog

应用:在HMI设备上打开用户可用于登录到HMI设备的对话框。

用于画面对象的键盘操作

1、AlarmViewAcknowledgeAlarm

应用:确认在给定报警视图中选择的报警。

当不能使用ActiveX控件的集成按钮时,使用该系统函数。参数:Screen object

在其中触发事件的报警画面的名称。

2、AlarmViewEditAlarm

应用:对给定报警画面内选择的全部报警,触发“编辑”事件。当不能使用ActiveX控件的集成按钮时,使用该系统函数。

可以在“编辑”事件上依次组态系统函数。例如,可以切换到出现报警的过程画面。说明:如果要编辑的报警尚未被确认,则在调用该系统函数时自动确认。参数:Screen object

在其中触发事件的报警画面的名称。

3、AlarmViewShowOperatorNotes

应用:在给定报警画面中显示组态好的所选报警的操作员注释。参数:Screen object

在其中触发事件的报警画面的名称。

4、RecipeViewBack

应用:返回到给定配方视图中的上一个选择列表。

如果配方选择显示在HMI设备上,则系统函数无效。运行时,选择列表的操作顺序:配方选择

RecipeDataRecordSelection RecipeDataRecordValues

该系统函数在组态了简单配方视图后使用。在简单配方视图中,每次只在操作员设备上显示一个选择列表。系统函数“RecipeViewOpen”用于显示配方数据记录值。参数:Screen object 在其中触发命令的配方视图的名称。

5、RecipeViewDeleteDataRecord 参数:Screen object

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

6、RecipeViewGetDataRecordFromPLC

应用:将PLC中当前装载的数据记录传送至HMI设备并在配方视图中显示参数:Screen object

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

7、RecipeViewMenu

应用:打开指定简单配方视图的菜单。该系统函数只能用于简单配方视图。参数:Screen object

要打开菜单的配方视图的名称。

8、RecipeViewNewDataRecord

应用:在给定配方视图中创建新数据记录。参数:Screen object

在其中创建新配方数据记录的配方视图的名称。

9、RecipeViewOpen

应用:显示给定配方视图中的数据记录值。如果配方数据记录值已显示在操作员设备上,系统函数不被执行。

该系统函数在组态了简单配方视图后使用。在简单配方视图中,每次只在操作员设备上显示一个选择列表。系统函数“RecipeViewBack”用于显示前一选择列表。参数:Screen object 要显示其配方数据记录的配方视图的名称。

10、RecipeViewRenameDataRecord

应用:重命名在给定配方视图中选择的数据记录。该系统函数只能用于简单配方视图。参数:Screen object

配方视图的名称,其中的配方数据记录要重命名。

11、RecipeViewSaveAsDataRecord

应用:以新名称保存当前在配方视图中显示的数据记录。参数:Screen object

配方视图的名称,其配方数据记录以新名称保存。

12、RecipeViewSaveDataRecord

应用:保存当前显示在配方视图中的配方数据记录。参数:Screen object

保存其配方数据记录的配方视图的名称

13、RecipeViewSetDataRecordToPLC

应用:将当前显示在配方视图中的配方数据记录传送到PLC。参数:Screen object

配方视图的名称,将其配方数据记录传送到相连接PLC。

14、RecipeViewShowOperatorNotes

应用:显示给定配方视图的已组态信息文本。参数:Screen object

显示其已组态的帮助文本的配方视图的名称。

15、RecipeViewSynchronizeDataRecordWithTags

应用:同步当前在配方视图中显示的数据记录值与其配方变量。同步期间,所有数据记录的值写入其配方变量。参数:Screen object

其中的值与其变量同步的配方视图的名称。

16、ScreenObjectCursorDown

应用:在给定的画面对象中执行键功能。

当不能使用画面对象的集成按钮时使用该系统函数。系统函数可用于以下画面对象:用户视图报警视图配方视图

参数:画面对象

要触发其键功能的画面对象的名称。

17、ScreenObjectCursorUp

应用:在给定的画面对象中执行键功能。

当不能使用画面对象的集成按钮时使用该系统函数。系统函数可用于以下画面对象:用户视图报警视图配方视图

参数:Screen object

要触发其键功能的画面对象的名称。

18、ScreenObjectPageDown

应用:在给定的画面对象中执行键功能。

当不能使用画面对象的集成按钮时使用该系统函数。系统函数可用于以下画面对象:用视图报警视图配方视图

参数:画面对象

要触发其键功能的画面对象的名称。

19、ScreenObjectPageUp

应用:在给定的画面对象中执行键功能。

当不能使用画面对象的集成按钮时使用该系统函数。系统函数可用于以下画面对象:用户视图报警视图配方视图

参数:Screen object

要触发其键功能的画面对象的名称

20、SmartClientViewConnect

应用:在指定的智能客户视图中执行“连接”命令。

当不能使用画面对象的集成按钮时使用该系统函数。智能客户视图与组态的HMI设备相连接。参数 Screen object 在其中触发该命令的智能客户视图的名称。

21、SmartClientViewDisconnect

应用:在指定智能客户视图中执行“断开”命令。

当不能使用画面对象的集成按钮时使用该系统函数。参数:Screen object

在其中触发该命令的智能客户视图的名称。

22、SmartClientViewLeave

应用:退出智能客户视图并返回到HMI设备控制状态。保持在智能客户视图中组态的至HMI 设备的连接。

参数 Screen object 在其中触发该命令的智能客户视图的名称。

23、SmartClientViewReadOnlyOff

应用:在指定智能客户视图中将只读访问设置为“关”。

该设置允许对远程HMI设备进行操作。“SmartClientViewReadOnlyOn”系统函数用于再次打开只读访问。参数:Screen object

在其中触发该命令的智能客户视图的名称。

24、SmartClientViewReadOnlyOn

应用:在指定智能客户视图中将只读访问设置为“开”。

该设置只允许对远程HMI设备进行监视。“SmartClientViewReadOnlyOff”系统函数用于再次关闭只读访问。参数:Screen object

在其中触发该命令的智能客户视图的名称。

25、SmartClientViewRefresh

应用:更新在指定智能客户视图中显示的内容。

参数画面对象在其中触发该命令的智能客户视图的名称。

26、StatusForceGetValues

应用:在状态/控制显示中启动或停止数值的更新。从与HMI设备相连的PLC中读取值,直到更新停止。说明:一旦更新了数值,在状态/控制显示的输入域中就不能输入任何条目。参数 Screen object 将来自PLC的数据写入其中的状态/控制显示的名称。

27、StatusForceSetValues

应用将来自状态/控制显示的值写入与HMI设备相连的PLC。

参数 Screen object 要将其数据写入PLC的状态/控制显示的名称。

28、TrendViewBackToBeginning

应用:在趋势视图中向后翻页到趋势记录的开始处。趋势记录的起始值将显示在此处。参数:Screen object

要增加显示时间段的趋势视图的名称。

29、TrendViewCompress

应用:增加在趋势视图中显示的时间段。参数:Screen object

要增加显示时间段的趋势视图的名称。

30、TrendViewExtend

应用:减少在趋势视图中显示的时间段。参数:Screen object

要在其中减少显示时间的趋势视图的名称。

31、TrendViewScrollBack

应用:在趋势视图中向左回滚一个显示宽度。参数:Screen object

在其中进行回滚的趋势视图的名称

32、TrendViewScrollForward

应用:在趋势视图中向右滚动一个显示宽度。参数:Screen object

在其中进行前滚的趋势视图的名称。

33、TrendViewSetRulerMode

应用:在趋势视图中隐藏或显示标尺。标尺显示与X值相关联的Y值。参数:Screen object 要在其中隐藏或显示标尺的趋势视图名称。

34、TrendViewStartStop

应用:停止或继续趋势视图中的趋势记录。参数:Screen object 要开始或停止其中的趋势记录的趋势视图的名称。

wincc标准函数介绍

标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_MsgNr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 Control 1是WinCC报警控件的对象名。 4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 5.BOOL AXC_OnBtnEmergAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。

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

wincc中使用vbs常用函数.

wincc 中使用vbs 常用函数 1. 函数array() 功能: 创建一个数组变量 格式:array(list) 参数:list 为数组变量中的每个数值列,中间用逗号间隔 例子: <% i = array ( “1”, ”2”, ”3”) %> 结果: i 被赋予为数组 2. 函数Cint() 功能: 将一表达式/ 其它类型的变量转换成整数类型(int) 格式:Cin t(expressio n_r) 参数:expression」是任何有效的表达式/其它类型的变量 例子: <% f = ” 234” response.write cINT(f) + 2 %> 结果: 236 函数Cint() 将字符” 234”转换成整数234.如果表达式为空, 或者无效时, 返回值为0; 3. 函数:Creatobject() 功能: 创建及返回一个ActiveX 对象. 格式:Creatobject(obname)

参数bname 是对象的名称 例子: <% Set con = Server.CreateObject( “ADODB.Connection”) %> 结果: 4. 函数Cstr() 功能: 将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression_r) 参数:expression」是任何有效的表达式/其它类型的变量例子: <% s = 3 + 2 response.write ”The result is: ” & cStr(s) %> 结果: 函数Cstr() 将整数 5 转换成字符” 5”. 5. 函数Date() 功能: 返回当前系统(server 端) 的日期 格式: Date() 参数:无 例子<% date () %> 结果:05/10/00

Wincc系统函数

报警 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(真)。

wincc vbscript Split 函数用法

vbscript Split 函数用法 用法:传回数组 = Split(原始字串, 要找的字串, 拆成几个数组) 描述 返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 语法 Split(expression[, delimiter[, count[, compare]]]) 例如用逗号(,)分割字符串为数组 复制代码代码如下: str="1,2,3,4" strarr=split(str,",") for i=0 to ubound(strarr) msgbox strarr(i) next Split函数语法有如下几部分: 部分描述 expression 必需的。包含子字符串和分隔符的字符串表达式。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。

count 可选的。要返回的子字符串数,-1表示返回所有的子字符串。 compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。 参数的设置 设置值 compare参数的设置值: 常数值描述 vbUseCompareOption -1 用Option Compare语句中的设置值执行比较。vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 复制代码代码如下: Private Sub Command1_Click() Dim MyStr As String MyStr = "1234567123456712345" MyStrs = Split(MyStr, "67") For Each Strs In MyStrs Print Strs Next End Sub 输出结果:"12345"、"12345"、"12345"

wincc中使用vbs的常用函数

wincc中使用vbs的常用函数 1.函数array() 功能:创建一个数组变量 格式:array(list) 参数:list为数组变量中的每个数值列,中间用逗号间隔 例子: <%i=array(“1”,”2”,”3”)%> 结果:i被赋予为数组 2.函数Cint() 功能:将一表达式/其它类型的变量转换成整数类型(int) 格式:Cint(expression) 参数:expression是任何有效的表达式/其它类型的变量 例子: <% f=”234” response.write cINT(f)+2 %> 结果:236 函数Cint()将字符”234”转换成整数234.如果表达式为空,或者无效时,返回值为0; 3.函数:Creatobject() 功能:创建及返回一个ActiveX对象. 格式:Creatobject(obname) 参数bname是对象的名称 例子: <% Set con=Server.CreateObject(“ADODB.Connection”) %> 结果: 4.函数Cstr() 功能:将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression) 参数:expression是任何有效的表达式/其它类型的变量 例子: <% s=3+2 response.write”The result is:”&cStr(s) %> 结果:函数Cstr()将整数5转换成字符”5”. 5.函数Date() 功能:返回当前系统(server端)的日期

格式:Date() 参数:无 例子<%date()%> 结果:05/10/00 6.函数Dateadd() 功能:计算某个指定的时间和 格式:dateadd(timeinterval,number,date) 参数:timeinterval是时间单位(月,日..);number是时间间隔值,date是时间始点. 例子: <% currentDate=#8/4/99# newDate=DateAdd(“m”,3,currentDate) response.write newDate %><% currentDate=#12:34:45PM# newDate=DateAdd(“h”,3,currentDate) response.write newDate %> 结果: 11/4/99 3:34:45PM 其中 “m”=”month”; “d”=”day”; 如果是currentDate格式,则, “h”=”hour”; “s”=”second”; 7.函数Datediff() 功能:计算某量个指定的时间差 格式:datediff(timeinterval,date1,date2[,firstdayofweek[,firstdayofyear]]) 参数:timeinterval是时间单位;date1,date2是有效的日期表达式,firstdayofweek,firstdayofyear是任意选项. 例子: <% fromDate=#8/4/99# toDate=#1/1/2000# response.write”There are”&_ DateDiff(“d”,fromDate,toDate)&_ “days to millenium from8/4/99.” %> 结果:There are150days to millenium from8/4/99. 8.函数day() 功能:返回一个整数值,对应于某月的某日 格式:day(date)

WINCC的API编程

如何将其它程序的窗口置于最前面? 可以通过使用Windows API 函数FindWindow找到一个窗口的句柄。 假设您希望将一个Microsoft Access 窗口置于最前面: HWND Handle= ZERO; Handle= FindWindow("OMAIN",ZERO); if(Handle) { ShowWindow(Handle, SW_MINIMIZE); // ShowWindow ( Handle, SW_SHOWNORMAL ); SetForegroundWindow(Handle); } else ProgramExecute("C:\\MSOffice.97\\Office\\ACCESS.EXE"); 如果没有发现该窗口,随后Microsoft Access 将重新启动。 FindWindow 函数的注意事项: 第一个参数是窗口的类。 可以使用编译器(比如:用Visual C++ 中的Spy 命令)找到类。 第二个参数是窗口的标题(标题栏)。可以指定两个参数中的任何一个,或者两个都指定。在本

运行时通过按下一个按钮来启动一个程序,打印一个文本文件或者打开一个显示订货号

22560470 WinHelp (Windows Help) via API 显示订货号 QUESTION: Can a user-specific Help be called in a WinCC project? ANSWER: Yes, in WinCC you can call use an API call to call a user-specific Help. With "fuCommand" you can branch to a specific topic. For this you create a new project function with the following code: #pragma code("user32.dll") BOOL WinHelpA(hwnd, lpszHelpFile, fuCommand, dwData); #pragma code() #define HELP_CONTENTS 0x0003L void WinHelpApi() { HWND hwnd; /* handle of window requesting help */ char HelpFile[255]; UINT fuCommand; /* type of help */

wincc 常用脚本

DeactivateRTProject ();//退出系统 #pragma code("useadmin.dll") #include"PWRT_api.h" #pragma code() char* CUser=NULL; CUser=GetTagChar("@CurrentUser"); if (strlen(CUser)==0) { PWRTSilentLogin("operator","123456");//用户“operator",密码"123456”登录} OpenPicture("@MAIN.pdl"); } 在画面中结合不同按钮来组态下面 C 操作 Login Action for login (for example, "mouse click" event): #pragma code ("useadmin.dll") #include "PWRT_api.h" #pragma code() PWRTLogin('c'); Logout Action for logout (for example, "mouse click" event): #pragma code ("useadmin.dll") #include "PWRT_api.h" #pragma code() PWRTLogout(); PWRTLogin 参数必须是CHAR 字符。它指定了显示对话框的监视器。如果只使用一个监视器,那么保留默认参数“c”或者指定“1”。 注意 可以使用PASSLoginDialog 函数来代替PWRTLogin 或者PWRTLogout 函数。这个函数需要和函数PWRTLogin 相同的参数。PWRTLogin 和PASSLoginDialog 函数可以调用登录界面,在上面可以登录或者注销。函数PWRTLogout 被正确执行并且不调用登录界面。 正确执行后这两个函数都返回“1”。然而,登录不会等到显示对话框之后。 注意 如果使用多个显示器,为了能使登录对话框显示在合适的显示器上,需要WinCC Basic Process Control (OS项目编辑器)。 不使用WinCC Basic Process Control 时,可以指定显示器编号,但登录对话框始终显示在第一个显示器上。 #include"apdefap.h"//调用函数代码 void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

WinCC C语言基础

Wincc C语言基础 3.属性的C动作 #include apdefap h long-main(char* lpszPictureName.char* lpszObjectName.char*lpszPropertyName) { /*1*/ long 1ReturnValue; /*2*/ 1ReturnValue * GetTagSDword(*S32icourse-test-1*); /*3*/ return 1ReturnValue; } 上述实例代码代表一个典型的属性的C动作。各部分的含义描述如下: 标题(灰色):灰色阴影显示的前三行构成C的动作标题。该标题自动生成并且不能更改。除返回类型(在实例代码中为long)之外,所有的函数标题完全相同。将三个参数传送给C动作。它们是画面名称(Lpsz PictureName),对象名(lpszObjectName)和属性名(lpszPropertyName). 变量声明(1):在可以编辑的第一段代码中声明使用的变量。在本实例代码中,指的是一个long型的变量。数值计算(2):在本段中,执行属性值的计算。在实例代码中,只读入一个WinCC 变量的数值。 数值返回(3):将计算得出的属性值赋给属性。这通过return命令来完成 4.事件的C动作 #include apdefap.h* void OnClicik(char* lpszPictureName.char* lpszObjectName.char* lpszPropertyName) { /*1*/ long 1Value; /*2*/ 1Value * GetTagSDWord(*s32i-course-tset-1”); SetIeft (lpszPictureName,lpszobjectName,1value); } 上述实例代码代表一个典型的事件的C动作。各部分含义描述如下: 标题(灰色):灰色阴影显示的前三行构成C动作的标题。该标题自动生成并且不能更改。对于不同类型的事件,其参数标题也不同。将参数lpszPictureName(画面名称).lpszObjectName(对象名)和lpszPropertyName(属性名)传递给C动作。参数lpszPropertyName只包含与响应属性变化事件相关信息。可以传递附加的事件指定的参数。 变量声明(1):在可以编辑的第一代码段中声明使用的变量。在本实例代码中,指的是一个long型的变量。事件处理(2):在本段中,执行响应事件的动作。在本实例代码中,读入一个WinCC变量的数值。该数值作为位置X分配给自己的对象。事件的C动作的返回值为void类型,也就是说不需要返回值 5.C动作的创建 创建C动作的步骤如下: (1).打开图形编辑器,打开期望的WinCC画面,打开所期望对象的对象属性对话框 (2)通过鼠标R期望的属性或事件,然后从弹出式菜单中选择C动作来打开动作编辑器 (3)将显示动作编辑器,其中将显示函数的基本框架。此外,C动作的标题已经自动生成,该标题不能

Wincc中弹出对话框函数MessageBox参数以及应用

Wincc 中对话框弹出函数MessageBox 参数以及应用 按键显示: 常数 值 描述 MB_OK 0x00000000 消息框中包含的一个按钮: 确定 这是默认值. MB_OKCANCEL 0x00000001 消息框中包含的两个按钮: 确定和取消. MB_ABORTRETRYIGNORE 0x00000002 消息框中包含的三个按钮: 中止, 重试和忽略. MB_YESNOCANCEL 0x00000003 消息框中包含的三个按钮: 是,否和取消 MB_YESNO 0x00000004 消息框中包含的两个按钮: 是和否 MB_RETRYCANCEL 0x00000005 消息框中包含的两个按钮: 重试和取消 MB_CANCELTRYCONTINUE 0x00000006 Windows 2000: 消息框中包含的三个按钮: 取消, 重试, 继续. 使用这个消息框类型代替 //MessageBox(NULL,"这是一个默认的只有确定的消息框!","标题", MB_OK ); //MessageBox(NULL,"这是一个确定取消的消息框!","标题", MB_OKCANCEL ); //MessageBox(NULL,"这是一个是或否的消息框!","标题", MB_YESNO ); //MessageBox(NULL,"这是一个是或否或取消的消息框!","标题", MB_YESNOCANCEL ); //MessageBox(NULL,"这是一个重试或取消的消息框!","标题",MB_RETRYCANCEL ); //MessageBox(NULL,"这是一个中止, 重试和忽略的消息框!","标题",MB_ABORTRETRYIGNORE ); 在消息框内显示的图标是以下值之一。 //MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONHAND ); //MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONSTOP ); //MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONERROR ); //MessageBox(NULL,"这是一个询问的消息框!","标题", MB_ICONQUESTION); //MessageBox(NULL,"这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );

WINCC c语言基础

要使对象动态化,在WinCC中有多种不同的选项可用。其中包括变量连接.动态对话框和直接连接。通过它们可以实现复杂的动态。然而,随着要求的增加它们会有限制。对于用户来说,组态C动作、项目函数或动作可以有更广的范围。它们在WinCC 脚本语言C中创建。对于许多应用来说,不必具备非常全面的C语言知识。它足以为现有函数提供参数。然而,为了使用WinCC脚本语言C的全部功能,需要具备有关这种编辑语言的基本知识。本课程可以为用户提供这些知识。 本课程用来为不熟悉C语言的人员提供有关编辑语言C的常规应用的基本知识。具备C语言编辑经验的编程员可以学习C语言应用于WinCC时的特性。 C脚本的开发环境 对于C脚本的创建,WinCC提供两个不同的编辑器。一个是图形编辑器中的动作编辑器,用于在对象处创建C动作;另一个是全局脚本编辑器,用于创建项目函数和全局动作。脚本语言的语法与采用ANSI的标准C语言相一致。 在WinCC中编辑语言C的另一个应用领域是关于动态向导的创建。为此,可以使用一个单独的编辑器。 图形编辑器的动作编辑器 在图形编辑器中,可以通过C动作使对象属性动作化。同样,也可以使用C动作来响应对象事件。 1.动作编辑器 对于C动作的组态,可以使用动作编辑器。此编辑器可以在对象属性对话框中通过以下方法打开,即点击鼠标右键期望的属性或事件,然后从显示的弹出式菜单中选择C动作。已经存在的C动作在属性或事件处用绿色箭头标记。 在动作编辑器中,可以编写C动作。对于属性的C动作,必须定义触发器。对于事件的C 动作,由于事件本身就是触发器所以不必再定义。完成的C动作必须进行编译,如果编译程序没有检测到错误,则可以通过单击确定退出动作编辑器 2.动作的结构 通常,一个C动作相当与C中的一个函数。C动作由两种不同类型:为属性创建动作和为事件创建的动作。通常,属性的C动作用于根据不同的环境条件控制此属性的值(例如变量的值)。对于这种类型的C动作,必须定义触发器来控制其执行。事件的C动作来响应此事件。 3.属性的C动作 #include apdefap h long-main(char* * *lpszPropertyName)

wincc时间显示函数

一、方法一 1.设置一个或多个变量,类型为内存字符串或者是一个连接PLC的外部变量的字符串 2.全局脚本:C脚本 #pragma code("kernel32.dll"); 定义系统链接文件 GetLocalTimes(SYSTEMTIME*lpst);获取系统时间变量 #pragma code(); SYSTEMTIME time; GetLocalTime(&time); SetTagWord("Varname1",time.wYear);年 SetTagWord("Varname2",time.wMonth);月 SetTagWord("Varname3",time.wDayOfWeek);星期 SetTagWord("Varname4",time.wDay);天 SetTagWord("Varname5",time.wHour);小时 SetTagWord("Varname6",time.wMinute);分钟 SetTagWord("Varname7",time.wSecond);秒 SetTagWord("Varname8",time.wMilliseconds);毫秒 3.在输入输出域关联变量,记住要修改显示类型为字符串 如果要在一个中显示,则把Varname1-Varname8通过字符串连接即可 方法二: char* temp=(char*)SysMalloc(26); time_t *p=(time_t*)SysMalloc(sizeof(time_t)),CT; CT=time(p); strcpy(temp,ctime(&CT)); *(temp+24)='\0'; return temp; 方法三: 利用控件中的wincc digital/analog clock contol

WinCC C函数详解

WinCC C函数详解 GetFontSize函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Static Text1”是该对象的名称。 1). 读出当前字体大小和fontsize中的缓冲区。 2). 执行处理返回值的自定义代码。 2. long int GetAlignmentTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义垂直文本对齐(上对齐、居中、下对齐)。 读出字体大小的实例 { long int fontsize; //获得实际字体大小fontsize = GetFontSize(lpszPictureName,"Static Text 1"); //自定义代码 //在那里用户可以使用返回值做某事 ... } GetFontSize函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Static Text1”是该对象的名称。

3. BOOL GetFontBold(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义字体样式是否为“粗体字”。 读出静态文本域的布尔型属性的实例 { BOOL bbold; //了解文本是否是粗体字bbold = GetFontBold(lpszPictureName,"Static Text 1"); if(bbold) { // 自定义代码 // 字体是否是粗体字 ... } else { // 自定义代码 // 字体是否不是粗体字 ... } } GetFontBold函数参数:

WINCC C脚本的标准函数

WINCC C脚本的标准函数1 -------------------------------------------------------------------------------- 标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_MsgNr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); }

WINCC VBSCRIPT常用函数

WinCC VBscript常用函数 1.数值型函数: abs(num):返回绝对值 sgn(num):num>01;num=00;num<0-1;判断数值正负 hex(num):返回十六进制值直接表示:&Hxx最大8位 oct(num):返回八进制值直接表示:&Oxx最大8位 sqr(num):返回平方根num>0 int(num):取整int(99.8)=99;int(-99.2)=100 fix(num):取整fix(99.8)=99;fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num):取以e为底的对数num>0 exp(n):取e的n次幂通常用num^n sin(num):三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num);atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选 3.数据类型转换函数:

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) = 报表关闭:报警不自动打印。

WinCC实例教程

WinCC 视频教程知识点总结 第一讲组态软件基础 一、WinCC简介 1、WinCC 西门子视窗控制中心SIMATIC WinCC(Windows Control Center)是在计算机上对PLC 控制的运行设备进行状态监控的软件,是PC上的监控软件。 运行该软件,可以动画监视现场设备的运行状况,监视相应的运行参数,以及更改、设置系统的运行数据。 2、WinCC的特点 (1)开放性 WinCC对用户所添加的任何形式的扩充是绝对开放,该绝对开放性是通过WinCC的模块结构及其强大的编程接口来获取的。 (2)将应用软件集成到WinCC中 WinCC提供了一些方法将其他应用程序和应用程序块统一地集成到用于过程控制的用户界面中。OLE应用程序窗口和OLE自定义控制或Active控制可以集成到WinCC应用软件中。 (3)WinCC中的数据管理 WinCC的数据库为Windows SQL,从属于WinCC,该数据库用于存储所有面向列表的组态数据(如变量列表和消息文本),以及当前过程数据(如消息,测量值和用户数据记录等)该数据库具有服务器功能。

(4)在项目开始之前规定组态分类 a、文件夹名称 除一些特殊字符(例如\)之外,文件夹名称允许使用所有的字符。还允许使用数字0~9. b、变量名称 变量名称可以多于8个字符。但应尽量避免太长的名称。WinCC项目的变量名称必须是唯一的。如果变量名称还包含了其他信息,这对用户将非常有用。 c、画面名称 确定画面名称时应注意其长度的影响,太长的名称(文件名)不容易识别(列表框中的选择,脚本中的调用等)。根据经验表明,长度最好不超过28个字符,画面名称应遵守以下限制条件:①最大长度为255个字符;②不使用某些特殊字符(例如\);③画面名称中的字母不区分大小写。 二、WinCC软件的安装 1、安装S7-300/400PLC编程软件STEP7及PLCSIM; 2、安装数据库软件SQL Server 2000; 3、安装消息列队(软件操作); 4、安装WinCC(建议不选典型安装,选择全部安装)。 三、WinCC管理器 1、WinCC项目管理器的结构 WinCC项目管理器的用户界面由以下元素组成:标题栏、菜单栏、工具栏、状态栏、浏览窗口和数据窗口:

相关文档