wincc-全套脚本总结 下载本文

描述

在该结构中定义过滤标准。 组成部分 dwFilter

通过下列常数从“m_global.h”文件定义过滤条件: MSG_FILTER_DATE_FROM 从日期 MSG_FILTER_DATE_TO 到日期 MSG_FILTER_TIME_FROM 从时间 MSG_FILTER_TIME_TO 到时间 MSG_FILTER_NR_FROM 从消息号 MSG_FILTER_NR_TO 到消息号 MSG_FILTER_CLASS 消息等级 MSG_FILTER_STATE 消息状态 MSG_FILTER_AG_FROM 从AG号 MSG_FILTER_AG_TO 到AG号

MSG_FILTER_AGSUB_FROM 从AG子号 MSG_FILTER_AGSUB_TO 到AG子号 MSG_FILTER_TEXT 消息文本 MSG_FILTER_PVALUE 过程值

MSG_FILTER_COUNTER_FROM 从内部消息计数器 MSG_FILTER_COUNTER_TO 到内部消息计数器 MSG_FILTER_PROCESSMSG 过程消息 MSG_FILTER_SYSMSG 系统消息 MSG_FILTER_BEDMSG 事件消息 MSG_FILTER_DATE 日期从...到... MSG_FILTER_TIME 日期从...到... MSG_FILTER_NR 消息号从...到...st 日期/时间从...到...

在这种情况下,st[0]是开始时间(从),st[1]是结束时间(到)

为过滤标准填充这些域:MSG_FILTER_DATE,MSG_FILTER_DATE_FROM,MSG_FILTER_DATE_TO, MSG_FILTER_TIME,MSG_FILTER_TIME_FROM和MSG_FILTER_TIME_TO

如果传送SYSTEMTIME参数要求当前时间,使用GetLocalTime函数而非GetSystemTime。通常这两个函数之间的时间差别很大。 dwMsgNr

消息号从...到...

在这种情况下,dwMsgNr[0]是开始号(从),dwMsgNr[1]是结束号(到)

为过滤标准填充这些域:MSG_FILTER_NR,MSG_FILTER_NR_FROM和MSG_FILTER_NR_TO dwMsgClass 位代码消息等级

为过滤标准填充这个域:MSG_FILTER_CLASS dwMsgType

每个消息等级的位代码消息类型

26

为过滤标准填充这个域:MSG_FILTER_CLASS dwMsgState

位代码消息状态

为过滤标准填充这个域:MSG_FILTER_STATE wAGNr

AG号从...到...

为过滤标准填充这些域:MSG_FILTER_AG_FROM和MSG_FILTER_AG_TO wAGSubNr

AGSubNr从...到

为过滤标准填充这些域:MSG_FILTER_AGSUB_FROM和MSG_FILTER_AGSUB_TO dwArchivMode 归档/协议识别 必须用0填充。 szTB

文本块文本

为过滤标准填充这个域:MSG_FILTER_TEXT dwTB

文本块激活(从...到...,位代码)

为过滤标准填充这个域:MSG_FILTER_TEXT dPValue

过程值从...到...

为过滤标准填充这个域:MSG_FILTER_PVALUE dwPValue

过程值激活(从...到... 位代码)

为过滤标准填充这个域:MSG_FILTER_PVALUE dwMsgCounter

内部消息计数器从...到...

为过滤标准填充这些域:MSG_FILTER_COUNTER_FROM,MSG_FILTER_COUNTER_TO dwQuickSelect

快速选择小时,天,月

为以后扩展而保留该参数,并且必须用0预定义。

为过滤标准填充这个域:MSG_FILTER_QUICKSELECT LOWORD类型:

MSG_FILTER_QUICK_MONTH 快速选择后n个月 MSG_FILTER_QUICK_DAYS 快速选择后n天

MSG_FILTER_QUICK_HOUR 快速选择后n个小时 HIWORD号:1...n

快速选择函数的结束时间与本地计算机的当前系统时间有关。开始时间是n * (往回计算月,日,小时)。

结构定义CMNERROR

struct CMNERRORSTRUCT { DWORD dwError1, DWORD dwError2, DWORD dwError3,

27

DWORD dwError4, DWORD dwError5;

TCHAR szErrorText[MAX_ERROR_LEN]; }

CMNERROR 描述

扩展的错误结构包含错误代码和与发生的错误相关的错误文本。每个应用程序可以使用该错误结构评价或发出错误消息。 组成部分

dwError1 .. dwError5

可按API函数的要求使用这些条目。

API描述包含出错时条目的各自数值。否则,错误代码在dwError1中。 szErrorText

错误代码的文本描述缓冲区

从资源建立该内容,因此依赖于语言。 BOOL GMsgFunction(char* pszMsgData)函数 该函数提供消息数据。

表示单个消息的全局函数。为每个消息调用全局函数,为每个消息设置“触发动作”参数。 最好在项目函数中解释消息数据,从GMsgFunction调用项目函数。 参数

pszMsgData

指向在其中存储消息数据的缓冲区的指针。 返回值 TRUE

已执行函数,无错。 FALSE 出错。 注意

请注意,WinCC安装会重写已修改的标准函数,所以被改变的函数丢失

——————24 graphics

脚本——————

Graphics组包含用于编程图形系统的函数。

1.char* GetLinkedVariable(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)函数,提供与指定的对象属性链接的变量的名称。 读出直接连接的变量名的实例。 {char* pszVarName = NULL;

char szVarName[_MAX_PATH+1]; //获得变量名 pszVarName

= GetLinkedVariable(\ //复制字符串

if (pszVarName != NULL)

{ strncpy(szVarName,pszVarName,_MAX_PATH); }

28

//自定义代码

//在那里用户可以使用返回值做某事 ...}

GetLinkedVariable函数参数:

“gs_stand_graph_00”是在其中组态该对象的画面的名称。 “Static Text 6”是该对象的名称。 “Visible”是链接到变量的属性。

1). 将函数GetLinkedVariable的返回值缓冲存储在pszVarName中。

2). 如果返回有效数值,将该返回值存储在szVarName中。最多存储_MAX_PATH个字符。

3). 执行处理返回值的自定义代码。

2.char* GetLocalPicture(char* lpszPictureName)函数,返回指向画面名的指针。 在这种情况下,画面名就是该文件名,不带扩展名“.PDL”。 读出本地画面的实例。 {char* pszPicName = NULL;

char szPicName[_MAX_PATH+1]; //获得本地画面 pszPicName

= GetLocalPicture(lpszPictureName); //复制字符串

if (pszPicName != NULL)

{ strncpy(szPicName,pszPicName,_MAX_PATH); }//自定义代码

//在那里用户可以使用返回值做某事 ... }

1). 将函数GetLocalPicture的返回值缓冲存储在pszPicName中。

2). 如果返回有效数值,将该返回值存储在szPicName中。最多存储_MAX_PATH个字符。

3). 执行处理返回值的自定义代码。

3.char* GetParentPicture(char* lpszPictureName)函数,返回指向画面名称的指针。 在这种情况下,画面名就是该文件名,不带扩展名“.PDL”。 读出画面名称路径的实例 {char* pszPicName = NULL;

char szPicName[_MAX_PATH+1]; //获得母画面 pszPicName

= GetParentPicture(lpszPictureName); //复制字符串

if (pszPicName != NULL)

{strncpy(szPicName,pszPicName,_MAX_PATH); }//自定义代码

//在那里用户可以使用返回值做某事 ...}

29

1). 将该函数GetParentPicture的返回值缓冲存储在pszPicName中。 2). 如果返回有效数值,将该返回值存储在szPicName中。。。。。. 最多存储_MAX_PATH个字符。

3). 执行处理返回值的自定义代码。

4.char* GetParentPictureWindow(char* lpszPictureName)函数,返回指向画面窗口的名称的指针。 实例:

基本画面“Picture_1”有画面窗口“Picture Window_1”,在其中调用画面“Picture_2”。 画面“Picture_2”有画面窗口“Picture Window_2”,在其中调用画面“Picture_3”。 该函数调用

GetParentPictureWindow(lpszPictureName) 指向画面窗口名称的指针:

“Picture_2”,是否从画面“Picture_3”调用该函数。

“Picture Window_1”,是否从画面“Picture_2”调用该函数。 “Picture_1”,是否从画面“Picture_1”调用该函数。

5. void OpenPicture(Picture Name)函数,用设置的画面名打开画面。

6. char* Registry2(char* mode, char* String0, char* String1)函数,该函数管理字符串对(String0,String1)的列表。

——————25、Report

脚本——————

Report组包含用来启动打印作业的打印预览或打印输出本身的函数。

1. void ReportJob(LPSTR lpJobName, LPSTR lpMethodName)函数,根据参数lpMethodName的数值,决定启动打印作业或打印预览。

RPTJobPreview和RPTJobPrint, 打印作业被启动和打印作业的预览被启动 2. BOOL RPTJobPreview(LPSTR lpJobName)函数,打印作业的预览被启动。 启动作业预览的实例

{//启动指定打印作业的打印预览

RPTJobPreview(\ }

RPTJobPreview函数参数:

@Text library (compact)是打印作业的名称。

3. BOOL RPTJobPrint(LPSTR lpJobName)函数,打印作业被启动。 启动打印作业的实例

{//打印输出指定的打印作业

RPTJobPrint(\ }

RPTJobPrint函数参数:

@Text library (compact)是打印作业的名称。

4. void RptShowError(LPCSTR pszFailedFunction, CMN_ERRORA* pCmnErrorA)函数,该函数提供对失败的打印作业的错误描述。该函数调用是标准函数RptJobPrint和

30