说明:
此记录说明的是如何使用标准函数“AXC_SetFilter()”在运行状态下的 WinCC 报警控件中设置消息过滤器。只有以下列出的消息可以使用消息过滤器:n
- 分配的消息类型为“报警”,“警告”或“PLC过程控制消息”。n
- 在用户文本块 tb1 中包含字符串“TI4711”(“资源”)。n
- 在用户文本块 tb2 中包含字符串“area1”(“区域”)。n
- 没有使用“报警隐藏”功能设置隐藏(在 WinCC V6.2 中可用到报警隐藏功能)。
下图列出了相关脚本。n
此脚本 可提供文本文件形式的下载并可导出动作。n
WinCC_AXC_SetFilter.zip ( 3 KB ) n
下表对重要的程序语句进行了说明。
n
编号 | 说明 |
1 | "memset(&scSelect , 0, sizeof(scSelect));" C脚本内部函数“memset()”重置过滤器结构。被过滤器结构占用的内存用 0 预置。 n "memset(&scError , 0, sizeof(scError));" |
2 | "strcpy (scSelect.szFilterName, "MySelection");" "strcpy()"函数将名称“MySelecton”赋给过滤器结构成员“szFilterName”。这个名称是任意的并且对于过滤器没有实际的影响。 |
3 | "scSelect.dwFilter = MSG_FILTER_CLASS | MSG_FILTER_TEXT | MSG_FILTER_VISIBLEONLY ;" 常量“MSG_FILTER_CLASS”,“MSG_FILTER_TEXT”和“MSG_FILTER_VISIBLEONLY”按位进行逻辑“或”运算并将结果赋给结构成员“dwFilter”。结构成员“dwFilter”现在包含的信息是过滤消息类别和用户文本块。常量“MSG_FILTER_VISIBLEONLY”确保只显示那些没被使用“报警隐藏”功能隐藏的信息。 n 注意:
|
4 | "scSelect.dwMsgClass = 0x0001 | 0x0002 | 0x0008 ;" 消息类别值按位进行逻辑"或"运算并将结果赋给结构成员“dwMsgClass”。结构成员"dwMsgClass"现在所包含的信息是过滤消息类别“类别 1”(报警),“类别 2”(警告)和“类别 4”(PLC过程控制消息)。 n 注意:
|
5 | "scSelect.dwMsgType[0] = 0x00000001 | 0x00000002 ;" 消息类型值按位进行逻辑“或”运算并将结果赋给结构成员“dwMsgType”的第一个数组成员。第一个数组成员现在包含的信息是消息类别“类别 1”中的消息类型“类型 1”和“类型 2”被显示。 n 注意:
|
6 | "scSelect.dwMsgType[1] = 0x04 | 0x08 ;" 消息类型值按位进行逻辑“或”运算并将结果赋给结构成员“dwMsgType”的第二个数组成员。第二个数组成员现在包含的信息是消息类别“类别 2”中的消息类型“类型 19”和“类型 20”被显示。 n 注意: |
7 | "scSelect.dwMsgType[3] = 0x40 |0x80 ;" 消息类型值按位进行逻辑“或”运算并将结果赋给结构成员“dwMsgType”的第四个数组成员。第四个数组成员现在包含的信息是消息类别“类别 4”中的消息类型“类型 55”和“类型 56”被显示。 n 注意: |
8 | "scSelect.dwTB = 0x0001 | 0x0002 ;" 用户文本块值按位进行逻辑“或”运算并将结果赋给结构成员“dwTB”。这个结构成员包含的信息是用户文本块“tb1”和“tb2”被选用。 |
9 | "strcpy (scSelect.szTB[0], "TI4711");" 字符串“TI4711”被复制到结构成员“szTB”的第一个数组成员中。这意味着只有在用户文本块"tb1"中包含这些字符的消息才能在WinCC报警控件中显示。 |
10 | "strcpy (scSelect.szTB[1], "area1");" 字符串“area1”被复制到结构成员“szTB”的第二个数组成员中。这意味着只有在用户文本块"tb2"中包含这些字符的消息才能在WinCC报警控件中显示。 |
11 | "bOK = AXC_SetFilter(lpszPictureName,"Control1",&scSelect,&scError);" 函数“AXC_SetFilter()”执行在结构“scSelect”中定义的过滤标准。 |
下表给出的是消息类型的编号与结构成员“dwMsgType”相应数据位之间的对应关系。n
WinCC_AXC_SetFilter_dwMsgType_e.pdf ( 13 KB ) n
注意:
同时请参考条目号为!25288354!的信息。这将对在WinCC报警控件中进行消息过滤的各种选项有一个全面地了解。
WinCC 信息系统中也可以找到相关说明。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337438.html