采集器

Navigation:  C++ > 采集器管理接口 >

采集器

Previous pageReturn to chapter overviewNext page

 

《采集器》中的接口主要包括:

ct3_add_collector

ct3_modify_collector

ct3_delete_collector

ct3_query_collectors_status

ct3_update_collector_status

ct3_query_all_collectors

ct3_query_collector

ct3_query_collector_id_by_name

collector

copycode!MISSING PHRASE 'COPYCODE'!

//*Collector Function

 

#include "hdKingAPI.h"

#include "error_code.h"

#include "hd3Struct.h"

#include <stdio.h>

#include <string.h>

#include <time.h>

#include <Windows.h>

 

int32 main()

{

 int32 nRet = RD_SUCCESS;

 HD3Connection conn;        

 HD3HANDLE hIter = NULL;

 uint32 nCollectorID = 0;

 HD3Collector hdCollectors[3];

 HD3Collector hdCollector;

 int32 i = 0;

 int32 nCollectorNum = 2;

 HD3Time hdTime;

 

 for (i = 0; i < nCollectorNum; ++i)

 {

         memset(&hdCollectors[i], 0, sizeof(HD3Collector));

 }

 memset(&hdCollector, 0, sizeof(HD3Collector));

 for (i = 0; i < nCollectorNum; ++i)

 {

         sprintf(hdCollectors[i].szName"collector%d"i);

         hdCollectors[i].nType = HD3_COLLECTOR_TYPE_OPC;

         sprintf(hdCollectors[i].szDescription"name: %s, type: %d"hdCollectors[i].szNamehdCollectors[i].nType);

         strncpy(hdCollectors[i].szExtParam"***", 3);

 }

 

 //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");

 

 uint32 nID = 0;

 // add collector

 for (i = 0; i < nCollectorNum; ++i)

 {

         nRet = ct3_add_collector(&hdCollectors[i], &nID);

         if (nRet != RD_SUCCESS)

         {

                 printf("add collector[name:%s] failed, error code [%d]!\n"hdCollectors[i].szNamenRet);

                 nt3_disconnect();

                 return -1;

         }

         printf("add collector[name:%s] successful!\n"hdCollectors[i].szName);

 }

 

 //query collector id by name, query collector, modify collector

 for (i = 0; i < nCollectorNum; ++i)

 {

         nRet = ct3_query_collector_id_by_name(hdCollectors[i].szName, &nCollectorID);

         if (nRet != RD_SUCCESS)

         {

                 printf("query collector id  by name[%s] failed, error code [%d]!\n"hdCollectors[i].szNamenRet);

                 nt3_disconnect();

                 return -1;

         }

         printf("query collector id  by name[%s] successful, collector id  [%d].\n"hdCollectors[i].szNamenCollectorID);

 

         nRet = ct3_query_collector(nCollectorID, &hdCollectors[i]);

         if (nRet != RD_SUCCESS)

         {

                 printf("query collector [id:%d] failed, error code [%d]!\n"nCollectorIDnRet);

                 nt3_disconnect();

                 return -1;

         }

         printf("query collector [id:%d] successful.\n"nCollectorID);

 

         nRet = ct3_modify_collector(nCollectorID, &hdCollectors[i]);

         if (nRet != RD_SUCCESS)

         {

                 printf("modify collector [id:%d] failed, error code [%d]!\n"nCollectorIDnRet);

                 nt3_disconnect();

                 return -1;

         }

         printf("modify collector [id:%d] successful.\n"nCollectorID);

 

         Sleep(30000);

         hdTime.nSec = (int32)time(NULL);

         hdTime.nMsec = 0; 

         //DATA_QUALITY_VALUE_CT_BOOTTING

         nRet = ct3_update_collector_status(nCollectorIDHD3_QUALITY_CT_BOOTING, 100, &hdTime);

         if(nRet != RD_SUCCESS)

         {

                 printf("Failed to update collector status, error code[%d]!\n"nRet);

                 return -1;

         }

         printf("update collector  status successful.\n");

 

         HD3CtStatusInfo ctStatusInfo;

         int32 nErr = 0;

         nRet = ct3_query_collectors_status(1, &nCollectorID, &ctStatusInfo, &nErr);

         if(nRet != RD_SUCCESS)

         {

                 printf("failed to query collector status, error code[%d]!\n"nRet);

                 return -1;

         }

         printf("query collector  status successful.\n");

 }

 

 //query all collector

 nRet = ct3_query_all_collectors(&hIter);

 if (nRet != RD_SUCCESS)

 {

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

         nt3_disconnect();

         return -1;

 }

 printf("query all collectors successful!\n");

 

 while (true)

 {

         memset(&hdCollector, 0, sizeof(HD3Collector));

         nRet = ut3_get_item_step(hIter, &hdCollector);

         if (RD_SUCCESS == nRet)

         {

                 printf("Query one collector [name:%s] successful!\n"hdCollector.szName);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query all collector complete!\n");

                 break;

         }

         else

         {

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

                 break;

         }                

 }

 ut3_free_handle(hIter);

 

 // delete collector

 for (i = 0; i < nCollectorNum; ++i)

 {

         nRet = ct3_delete_collector(hdCollectors[i].nID);

         if (nRet != RD_SUCCESS)

         {

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

                 nt3_disconnect();

                 return -1;

         }

         printf("delete collector [id:%d] successful.\n",  hdCollectors[i].nID);

 }

 

 //disconnect

 nt3_disconnect();

 

 return 0;

}

 

//*/

©2015. All Rights Reserved.