WinCC标准函数总结 下载本文

19.BOOL AXC_OnBtnSinglAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数确认当前所选的消息。 使用标准函数操作WinCC报警控件的实例 {// 确认激活的消息

AXC_OnBtnSinglAckn(\}

AXC_OnBtnSinglAckn函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。

20.BOOL AXC_OnBtnVisibleAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,确认消息窗口中可见的全部消息(组确认)。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst(\}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。

21.BOOL AXC_SetFilter(char* lpszPictureName, char* lpszObjectName, LPMSG_FILTER_STRUCT lpMsgFilter, LPCMN_ERROR, lpError)函数,外部消息窗口操作,该函数为WinCC报警控件设置过滤器,以便根据指定的过滤标准筛选出可用的消息。 使用标准函数操作WinCC报警控件的实例 {BOOL ret;

MSG_FILTER_STRUCT Filter; CMN_ERROR Error;

//重新设置过滤器结构 memset

( &Filter, 0, sizeof( MSG_FILTER_STRUCT ) ); //设置过滤器名称 strcpy

( Filter.szFilterName, \// 挑选选择元素 Filter

.dwFilter = MSG_FILTER_NR_FROM | MSG_FILTER_NR_TO; // 消息号来自 Filter .dwMsgNr[0] = 2; // 消息号来自 Filter .dwMsgNr[1] = 2;

ret = AXC_SetFilter(\}

1. 命名该过滤器。 2. 选择过滤器的类型。 3. 指定过滤器标准。 4. 设置过滤器。 常规使用注释

过滤器类型和过滤器标准必须适合使用;在过滤器结构中描述所有其它的过滤器类型。 使用标准函数操作WinCC报警控件的实例 {BOOL ret;

MSG_FILTER_STRUCT Filter;

CMN_ERROR Error;

//删除整个过滤器结构 memset

( &Filter, 0, sizeof( MSG_FILTER_STRUCT ) ); //设置空的过滤器结构 AXC

_SetFilter(\}

1. 删除该过滤器结构。 2. 用空值填充过滤器结构。 结构定义MSG_FILTER_STRUCT typedef struct {

CHAR szFilterName[MSG_MAX_TEXTLEN+1]; WORD dwFilter; SYSTEMTIME st[2]; DWORD dwMsgNr[2]; DWORD dwMsgClass;

DWORD dwMsgType[MSG_MAX_CLASS]; DWORD dwMsgState; WORD wAGNr[2]; WORD wAGSubNr[2]; DWORD dwArchivMode; char szTB[MSG_MAX_TB][ MSG_MAX_TB_CONTENT+1] DWORD dwTB;

Double dPValue[MSG_MAX_PVALUE][2]; DWORD dwPValue[2]; DWORD dwMsgCounter[2]; DWORD dwQuickSelect; }

MSG_FILTER_STRUCT; 描述

在该结构中定义过滤标准。 组成部分 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号

st

MSG_FILTER_AG_TO MSG_FILTER_AGSUB_FROM MSG_FILTER_AGSUB_TO MSG_FILTER_TEXT MSG_FILTER_PVALUE

到AG号 从AG子号 到AG子号 消息文本 过程值

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[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

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

为过滤标准填充这个域: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 MSG_FILTER_QUICK_DAYS MSG_FILTER_QUICK_HOUR

快速选择后n个月 快速选择后n天 快速选择后n个小时

HIWORD号:1...n

快速选择函数的结束时间与本地计算机的当前系统时间有关。开始时间是n * (往回计算月,日,小时)。 结构定义CMNERROR struct CMNERRORSTRUCT { DWORD dwError1, DWORD dwError2, DWORD dwError3, DWORD dwError4, DWORD dwError5;

TCHAR szErrorText[MAX_ERROR_LEN]; } CMNERROR 描述

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

dwError1 .. dwError5

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

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

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

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