《扫描组》中的接口主要包括:
▪ct3_query_scan_group_id_by_name
▪ct3_query_scan_groups_of_device
scangroup |
|
///*ScanGroup Function
#include "hdKingAPI.h" #include "error_code.h" #include "hd3Struct.h" #include <stdio.h> #include <string.h>
int32 main() { int32 nRet = RD_SUCCESS; HD3Connection conn; HD3HANDLE hIter = NULL; int32 nTryTime = 3; uint32 nCollectorID = 0; uint32 nDeviceID = 0; uint32 nScanGroupID = 0; HD3Collector hdCollector; HD3Device hdDevice; HD3ScanGroup hdScanGroup; HD3ScanGroup hdScanGroups[3]; int32 i = 0; int32 nScanGroupNum = 3;
memset(&hdCollector, 0, sizeof(HD3Collector)); memset(&hdDevice, 0, sizeof(HD3Device)); memset(&hdScanGroup, 0, sizeof(HD3ScanGroup)); for (i = 0; i < 3; ++i) { memset(&hdScanGroups[i], 0, sizeof(HD3ScanGroup)); }
strncpy(hdCollector.szName, "collector", strlen("collector")); hdCollector.nType = HD3_COLLECTOR_TYPE_OPC; sprintf(hdCollector.szDescription, "name: %s, type: %d", hdCollector.szName, hdCollector.nType); strncpy(hdCollector.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");
//add collector nRet = ct3_add_collector(&hdCollector, &nCollectorID); if (nRet != RD_SUCCESS) { printf("add collector[name:%s] failed, error code [%d]!\n", hdCollector.szName, nRet); nt3_disconnect(); return -1; } printf("add collector[name:%s] successful!\n", hdCollector.szName);
//query collector id nRet = ct3_query_collector_id_by_name(hdCollector.szName, &nCollectorID); if (nRet != RD_SUCCESS) { printf("query collector id by name[%s] failed, error code [%d]!\n", hdCollector.szName, nRet); nt3_disconnect(); return -1; } printf("query collector id by name[%s] successful, collector id [%d].\n", hdCollector.szName, nCollectorID);
//add device strncpy(hdDevice.szName, "device", strlen("device")); hdDevice.nPort = conn.nPort; hdDevice.nTimeout = conn.nTimeout; hdDevice.nCollectorID = nCollectorID; hdDevice.nTryTime = nTryTime; sprintf(hdDevice.szAddr, "%d.%d.%d.%d", i, i, i, i); sprintf(hdDevice.szDescription, "name: %s, collector id: %d", hdDevice.szName, hdDevice.nCollectorID); strncpy(hdDevice.szExtParam, "***", 3);
nRet = ct3_add_device(&hdDevice, &nDeviceID); if (nRet != RD_SUCCESS) { printf("add device[name:%s] failed, error code [%d]!\n", hdDevice.szName, nRet); nt3_disconnect(); return -1; } printf("add device[name:%s] successful!\n", hdDevice.szName);
//query device id nRet = ct3_query_device_id_by_name(nCollectorID, hdDevice.szName, &nDeviceID); if (nRet != RD_SUCCESS) { printf("query device id by name[%s] failed, error code [%d]!\n", hdDevice.szName, nRet); nt3_disconnect(); return -1; } printf("query device id by name[%s] successful, device id [%d].\n", hdDevice.szName, nDeviceID);
//add scan group for (i = 0; i < nScanGroupNum; ++i) { sprintf(hdScanGroups[i].szName, "scan_group%d", i); hdScanGroups[i].nDeviceID = nDeviceID; hdScanGroups[i].nPeriod = 10; hdScanGroups[i].nPhase = 3; hdScanGroups[i].nScanType = HD3_SCAN_TYPE_MIN; hdScanGroups[i].nDataAddr = 10000; hdScanGroups[i].nDataLen = 100; sprintf(hdScanGroups[i].szDescrption, "name: %s, device id: %d", hdScanGroups[i].szName, hdScanGroups[i].nDeviceID); strncpy(hdScanGroups[i].szExtParam, "***", 3); }
for (i = 0; i < nScanGroupNum; ++i) { nRet = ct3_add_scan_group(&hdScanGroups[i], &nScanGroupID); if (nRet != RD_SUCCESS) { printf("add scan group[name:%s] failed, error code [%d]!\n", hdScanGroups[i].szName, nRet); nt3_disconnect(); return -1; } printf("add scan group[name:%s] successful!\n", hdScanGroups[i].szName); }
//query scan group id, query scan group, modify scan group for (i = 0; i < nScanGroupNum; ++i) { nRet = ct3_query_scan_group_id_by_name(nDeviceID, hdScanGroups[i].szName, &nScanGroupID); if (nRet != RD_SUCCESS) { printf("query scan group id by name[%s] failed, error code [%d]!\n", hdScanGroups[i].szName, nRet); nt3_disconnect(); return -1; } printf("query scan group id by name[%s] successful, scan group id [%d].\n", hdScanGroups[i].szName, nScanGroupID);
nRet = ct3_query_scan_group(nScanGroupID, &hdScanGroups[i]); if (nRet != RD_SUCCESS) { printf("query scan group [id:%d] failed, error code [%d]!\n", nScanGroupID, nRet); nt3_disconnect(); return -1; } printf("query scan group [id:%d] successful.\n", nScanGroupID);
nRet = ct3_modify_scan_group(nScanGroupID, &hdScanGroups[i]); if (nRet != RD_SUCCESS) { printf("modify scan group [id:%d] failed, error code [%d]!\n", nScanGroupID, nRet); nt3_disconnect(); return -1; } printf("modify scan group [id:%d] successful.\n", nScanGroupID); }
// query scan group of device nRet = ct3_query_scan_groups_of_device(nDeviceID, &hIter); if (nRet != RD_SUCCESS) { printf("query all scan group of device[id: %d] failed, error code [%d]!\n", nDeviceID, nRet); nt3_disconnect(); return -1; } printf("query all scan group of device[id: %d] successful!\n", nDeviceID);
while (true) { memset(&hdScanGroup, 0, sizeof(HD3ScanGroup)); nRet = ut3_get_item_step(hIter, &hdScanGroup); if (RD_SUCCESS == nRet) { printf("Query one scan group [name:%s] successful!\n", hdScanGroup.szName); } else if (EC_HD_API_QUERY_END == nRet) { printf("query all scan group complete!\n"); break; } else { printf("query scan group failed, error code [%d]!\n", nRet); break; } } ut3_free_handle(hIter);
//delete scan group for (i = 0; i < nScanGroupNum; ++i) { nRet = ct3_delete_scan_group(hdScanGroups[i].nID); if (nRet != RD_SUCCESS) { printf("delete scan group failed, error code [%d]!\n", nRet); nt3_disconnect(); return -1; } printf("delete scan group [id:%d] successful.\n", hdScanGroups[i].nID); }
//disconnect nt3_disconnect();
return 0; }
//*/ |