报警点

Navigation:  C++ > 报警管理接口 >

报警点

Previous pageReturn to chapter overviewNext page

 

《报警点》主要接口包括:

am3_add_tag

am3_add_tags

am3_modify_tag_prop

am3_modify_tags_prop

am3_query_tag_prop

am3_query_tags_cond

am3_query_specify_page_tags_cond

 

alarm tag

 

///*Alarm Tag Function

 

#include "hdKingAPI.h"

#include "error_code.h"

#include "data_types.h"

#include "hd3Struct.h"

#include <stdio.h>

#include <string.h>

 

int main()

{

 int32 nRet = RD_SUCCESS;

 HD3Connection conn;

 HD3PtTagProp normalTag;

 HD3AlarmTagProp alarmTagSave;

 HD3AlarmTagProp alarmTagQuery;

 const char* szTagName_1 = "szAlarmTagName_1";

 const char* szTagName_2 = "szAlarmTagName_2";

 HD3FilterItem filterItem[2];

 HD3FilterItemSet filterSet;

 HD3HANDLE hIter = NULL;

 int32 nTagNum = 0;

 int32 nErrCode = 0;

 HD3Mask mask;

 HD3PageQueryTagParam pageQueryParam;

 uint32 nTagID = 0;

 

 //connect

 strcpy(conn.szAddress, "127.0.0.1");

 conn.nPort = 5673;

 conn.nTimeout = 3;

 nRet = nt3_connect(&conn);

 if (nRet != RD_SUCCESS)

 {

         printf("connect to server failed, error code[%d]!\n", nRet);

         return -1;

 }

 

 //login

 nRet = sc3_login("admin", "admin");

 if (nRet != RD_SUCCESS)

 {

         printf("login failed, error code[%d]!\n", nRet);

         return -1;

 }

 printf("login successful!\n");

 

 //add normal tag        

 strcpy(normalTag.szTagName, "szNormalTag");

 normalTag.nTagType = HD3_TAG_TYPE_INT32;

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME | HD3M_COMM_PROP_TAG_TYPE;

 mask.nExtMask = 0;

 nRet = pt3_add_tag(&normalTag, &mask, "", &normalTag.nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("add tag[%s] failed, error code [%d]!\n", normalTag.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add tag[%s] successful!\n", normalTag.szTagName);

 

 //add two alarm tag

 strcpy(alarmTagSave.szTagName, szTagName_1);

 strcpy(alarmTagSave.szSourceTagName, normalTag.szTagName);

 strcpy(alarmTagSave.szTest1, "GT(100)");

 strcpy(alarmTagSave.szAction1, "1_hihi_unack");

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 mask.nExtMask = HD3M_AM_EXT_PROP_SOURCE_TAG | HD3M_AM_EXT_PROP_TEST1

         | HD3M_AM_EXT_PROP_ACTION1;

 nRet = am3_add_tag(&alarmTagSave, &mask, "", &alarmTagSave.nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("add alarm tag[%s] failed, error code [%d]!\n", alarmTagSave.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add alarm tag[%s] successful!\n", alarmTagSave.szTagName);

 

 strcpy(alarmTagSave.szTagName, szTagName_2);

 strcpy(alarmTagSave.szSourceTagName, normalTag.szTagName);

 strcpy(alarmTagSave.szTest1, "LT(10)");

 strcpy(alarmTagSave.szAction1, "2_lolo_unack");

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 mask.nExtMask = HD3M_AM_EXT_PROP_SOURCE_TAG | HD3M_AM_EXT_PROP_TEST1

         | HD3M_AM_EXT_PROP_ACTION1;

 nRet = am3_add_tags(1, &alarmTagSave, &mask, "", &alarmTagSave.nTagID, &nErrCode);

 if (nRet != RD_SUCCESS)

 {

         printf("add alarm tag[%s] failed, error code [%d]!\n", alarmTagSave.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add alarm tag[%s] successful!\n", alarmTagSave.szTagName);

 

 //query tags by condition

 filterSet.nSize = 2;

 filterSet.pItem = filterItem;

 filterSet.pItem[0].nItemID = HD3_TAG_COL_COMM_PROP_TAG_NAME;

 filterSet.pItem[0].nRelation = HD3_RELATION_LIKE;

 strcpy(filterSet.pItem[0].szValue, "*");

 filterSet.pItem[1].nItemID = HD3_TAG_COL_COMM_PROP_TAG_TYPE;

 filterSet.pItem[1].nRelation = HD3_RELATION_EQUAL;

 sprintf(filterSet.pItem[1].szValue, "%d", HD3_TAG_TYPE_DIGITAL);

 

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 mask.nExtMask = 0;

 nRet = am3_query_tags_cond(&filterSet, &mask, &hIter);

 if (nRet != RD_SUCCESS)

 {

         printf("query alarm tags by condition failed, error code [%d]!\n", nRet);

         nt3_disconnect();

         return -1;

 }

 

 while (true)

 {

         nRet = ut3_get_item_step(hIter, &alarmTagQuery);

         if (RD_SUCCESS == nRet)

         {

                 nTagNum ++;

                 printf("query alarm tag successful, tag name is %s!\n", alarmTagQuery.szTagName);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query alarm tag complete!\n");

                 break;

         }

         else

         {

                 printf("query alarm tag failed, error code [%d]!\n", nRet);

                 break;

         }

 }

 printf("you have queried %d alarm tags totally!\n", nTagNum);

 

 ut3_free_handle(hIter);

 

 //query page

 

 pageQueryParam.itemSet = filterSet;

 pageQueryParam.mask.nCommMask = HD3M_COMM_PROP_TAG_NAME;

 pageQueryParam.mask.nExtMask = 0;

 pageQueryParam.nCapacity = 20;

 pageQueryParam.nStartID = 0;

 nRet = am3_query_specify_page_tags_cond(&pageQueryParam, &hIter);

 if (nRet != RD_SUCCESS)

 {

         printf("query alarm tags by condition failed, error code [%d]!\n", nRet);

         nt3_disconnect();

         return -1;

 }

 nTagNum = 0;

 while (true)

 {

         nRet = ut3_get_item_step(hIter, &alarmTagQuery);

         if (RD_SUCCESS == nRet)

         {

                 nTagNum ++;

                 printf("query alarm tag successful, tag name is %s!\n", alarmTagQuery.szTagName);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query alarm tag complete!\n");

                 break;

         }

         else

         {

                 printf("query alarm tag failed, error code [%d]!\n", nRet);

                 break;

         }

 }

 printf("you have queried %d alarm tags totally!\n", nTagNum);

 

 ut3_free_handle(hIter);

 

 //query tag id

 

 nRet = tag3_query_id_by_name(szTagName_1, &nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("query alarm tag id failed,  alarm tag name[%s], error code[%d]!\n", szTagName_1, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("alarm tag[%s] query tag id successful,  alarm tag id[%d]!\n", szTagName_1, nTagID);

 

 //modify tag props

 mask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR;

 mask.nExtMask = 0;

 strcpy(alarmTagSave.szDescriptor, "alarm tag descriptor is modified");

 nRet = am3_modify_tag_prop(nTagID, &alarmTagSave, &mask);

 if (nRet != RD_SUCCESS)

 {

         printf("modify alarm tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("modify alarm tag successful, tag id[%d]!\n", nTagID);

 

 //modify tags props

 mask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR;

 mask.nExtMask = 0;

 strcpy(alarmTagSave.szDescriptor, "alarm tag descriptor is modified");

 nRet = am3_modify_tags_prop(1, &nTagID, &alarmTagSave, &mask, &nErrCode);

 if (nRet != RD_SUCCESS)

 {

         printf("modify alarm tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("modify alarm tag successful, tag id[%d]!\n", nTagID);

 

 //query tag prop

 nRet = am3_query_tag_prop(nTagID, &alarmTagQuery);

 if (nRet != RD_SUCCESS)

 {

         printf("query alarm tag prop failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("query alarm tag prop successful, tag id[%d], tag name[%s], tag description[%s]!\n",

         alarmTagQuery.nTagID, alarmTagQuery.szTagName, alarmTagQuery.szDescriptor);

 

 //delete alarm tag

 nRet = tag3_delete_tag(nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("delete alarm tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("delete alarm tag successful, tag id[%d]!\n", nTagID);

 

 nt3_disconnect();

 

 return 0;

}

 

//*/

 

©2015. All Rights Reserved.