WINCC 标准函数.docx
- 文档编号:8543915
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:52
- 大小:33.20KB
WINCC 标准函数.docx
《WINCC 标准函数.docx》由会员分享,可在线阅读,更多相关《WINCC 标准函数.docx(52页珍藏版)》请在冰豆网上搜索。
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报警控件的对象名。
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)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
6.BOOL AXC_OnBtnHornAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数确认蜂鸣器信号。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
7.BOOL AXC_OnBtnInfo(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数显示信息文本。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
7.BOOL AXC_OnBtnLock(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数打开“设置锁定”对话框。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
8.BOOL AXC_OnBtnLockUnlock(char* lpszPictureName, char* pszMsgWin),函数,该函数锁住在消息窗口中选择的消息。
之后,不再归档该消息。
该函数释放在锁定列表中选择的消息。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
9.BOOL AXC_OnBtnLockWin(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作.该函数调用锁定列表。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
10.BOOL AXC_OnBtnLoop(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数触发所选消息的“报警回路”函数。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
11.BOOL AXC_OnBtnMsgFirst(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的开始处。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
12.BOOL AXC_OnBtnMsgLast(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的结束处。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的最后一条消息
AXC_OnBtnMsgLast("gs_alarm_00","Control1");
}
AXC_OnBtnMsgLast函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
13.BOOL AXC_OnBtnMsgNext(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的下一条消息。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
14.BOOL AXC_OnBtnMsgPrev(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的前一条消息。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
15.BOOL AXC_OnBtnMsgWin(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数调用过程消息窗口。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
16.BOOL AXC_OnBtnPrint(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,打印机打印出符合在报警控件中定义的选择标准的全部消息。
WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
17.BOOL AXC_OnBtnScroll(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数激活水平和垂直滚动功能。
使用标准函数操作WinCC报警控件的实例
{// 激活/取消激活滚动功能
AXC_OnBtnScroll("gs_alarm_00","Control1");
}
AXC_OnBtnScroll函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
18.BOOL AXC_OnBtnSelect(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数打开“设置选择”对话框。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
19.BOOL AXC_OnBtnSinglAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数确认当前所选的消息。
使用标准函数操作WinCC报警控件的实例
{// 确认激活的消息
AXC_OnBtnSinglAckn("gs_alarm_00","Control1");
}
AXC_OnBtnSinglAckn函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
Control 1是WinCC报警控件的对象名。
20.BOOL AXC_OnBtnVisibleAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,确认消息窗口中可见的全部消息(组确认)。
使用标准函数操作WinCC报警控件的实例
{// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst("gs_alarm_00","Control1");
}
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, "Control1");
// 挑选选择元素 Filter
.dwFilter = MSG_FILTER_NR_FROM | MSG_FILTER_NR_TO;
// 消息号来自 Filter
.dwMsgNr[0] = 2;
// 消息号来自 Filter
.dwMsgNr[1] = 2;
ret = AXC_SetFilter("gs_alarm_00","Control1",&Filter,&Error);
}
1. 命名该过滤器。
2. 选择过滤器的类型。
3. 指定过滤器标准。
4. 设置过滤器。
常规使用注释
过滤器类型和过滤器标准必须适合使用;在过滤器结构中描述所有其它的过滤器类型。
使用标准函数操作WinCC报警控件的实例
{BOOL ret;
MSG_FILTER_STRUCT Filter;
CMN_ERROR Error;
//删除整个过滤器结构 memset
( &Filter, 0, sizeof( MSG_FILTER_STRUCT ) );
//设置空的过滤器结构 AXC
_SetFilter("gs_alarm_00","Control 1",&Filter,&Error);
}
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号
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
每个消息等级的位代码消息类型
为过滤标准填充这个域:
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,
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安装会重写已修改的标准函数,所以被改变的函数丢失。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WINCC 标准函数 标准 函数