|
|
|
|
/****************************************************************************/
|
|
|
|
|
/* Copyright (c) 2007,<2C><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾ */
|
|
|
|
|
/* All rights reserved. */
|
|
|
|
|
/* */
|
|
|
|
|
/* ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD>塣
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @file ac_read.h
|
|
|
|
|
* @author yh huiy@xjgc.com */
|
|
|
|
|
/* */
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ע<><D7A2> */
|
|
|
|
|
/* 2007/07/16 YH <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> */
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef IEC61850_READ_INCLUDED
|
|
|
|
|
#define IEC61850_READ_INCLUDED
|
|
|
|
|
|
|
|
|
|
#include "ac_reqm.h"
|
|
|
|
|
#include "ac_srvm.h"
|
|
|
|
|
#include "ai_objid.h"
|
|
|
|
|
#include "ai_sem.h"
|
|
|
|
|
#include "ai_obj.h"
|
|
|
|
|
#include "ai_objrw.h"
|
|
|
|
|
#include "ai_objval.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>*/
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
AI_OBJ_ID *obj_ids; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<49><44><EFBFBD><EFBFBD>*/
|
|
|
|
|
ST_INT num_obj; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DS<44><53><EFBFBD><EFBFBD>DS<44><53><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD>Ա<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>*/
|
|
|
|
|
U_AC_REQ_DONE u_read_done; /**< <20>û<EFBFBD><C3BB>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>*/
|
|
|
|
|
}AC_READ_REQ_INFO;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>졢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param srvId SRVID
|
|
|
|
|
* @param ac_reqInfo <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param time_out <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param ac_reqCtrl_out <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @retval SD_FAILURE ʧ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval SD_SUCCESS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_RET ac_read_obj_value(ST_INT srv_id, AC_READ_REQ_INFO* ac_reqInfo, ST_INT time_out, AC_REQ_CTRL **ac_reqCtrl_out);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD>ͷ<EFBFBD>AC_READ_REQ_CTRL<EFBFBD>ṹ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>Դ
|
|
|
|
|
* obj_ids<EFBFBD><EFBFBD>obj_vals<EFBFBD><EFBFBD>results<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>Դ
|
|
|
|
|
* @param reqCtrl <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD>
|
|
|
|
|
* @return ST_VOID
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID ac_cleanup_readReqCtrl(AC_READ_REQ_CTRL *reqCtrl);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ΪMMS<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param acReqCtrl <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval SD_FAILURE ʧ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval SD_SUCCESS <EFBFBD>ɹ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_RET ac_send_read_req(AC_REQ_CTRL *acReqCtrl);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD>ͷŶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢<EFBFBD>ڴ<EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|
|
|
|
* @param parseInfo <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹָ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param num <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param ac_reqCtrl <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD>
|
|
|
|
|
* @return ST_VOID
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID ac_destroy_readRespParseInfo(MVL_READ_RESP_PARSE_INFO *parseInfo, ST_INT num, AC_REQ_CTRL *ac_reqCtrl);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>졢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param srvId SRVID
|
|
|
|
|
* @param ac_reqInfo <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param time_out <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param ac_reqCtrl_out <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param chnl <EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval SD_FAILURE ʧ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval SD_SUCCESS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_RET ac_read_obj_value_chnl(ST_INT srv_id, AC_READ_REQ_INFO* ac_reqInfo,
|
|
|
|
|
ST_INT time_out, AC_REQ_CTRL **ac_reqCtrl_out, AC_CHANNEL chnl);
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /** ACSI_READ_INCLUDE */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|