|
|
/****************************************************************************/
|
|
|
/* Copyright (c) 2007,许继集团有限公司 */
|
|
|
/* All rights reserved. */
|
|
|
/* */
|
|
|
/* 模块描述: */
|
|
|
/** 对象空间对象值的操作接口
|
|
|
* @file ai_objrw.h */
|
|
|
/* */
|
|
|
/* 日期 作者 注释 */
|
|
|
/* 2007/07/16 YH 创建文件 */
|
|
|
/****************************************************************************/
|
|
|
#ifndef IEC61850_AI_OBJRW_INCLUDED
|
|
|
#define IEC61850_AI_OBJRW_INCLUDED
|
|
|
|
|
|
#include "glbtypes.h"
|
|
|
#include "scl.h"
|
|
|
#include "mvl_defs.h"
|
|
|
#include "mms_mp.h"
|
|
|
#include "ai_def.h"
|
|
|
#include "ai_obj.h"
|
|
|
#include "sx_log.h"
|
|
|
#include "mvl_log.h"
|
|
|
#include "ai_objid.h"
|
|
|
#include "ai_objval.h"
|
|
|
#include "ai_log.h"
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
extern "C" {
|
|
|
#endif
|
|
|
|
|
|
/**
|
|
|
* 通过对象ID,VMD指针获取对象的值信息数组。
|
|
|
* 本函数内申请了objVal_out成员prim_vals及prim_ids指针的内存,必须由使用者释放,一般调用
|
|
|
* @param obj_id 对象的ID
|
|
|
* @param vmd 对象空间结构
|
|
|
* @param obj_val 对象值信息结构,输出
|
|
|
* @retval SD_FAILURE 失败
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
*/
|
|
|
ST_RET ai_read_obj_primVals(AI_OBJ_ID obj_id, AI_IED_CTRL *ied, AI_OBJ_VAL *objVal_out);
|
|
|
|
|
|
/**
|
|
|
* 获取对象在对象空间中的值的指针
|
|
|
* @param obj_id 对象的ID
|
|
|
* @param vmd 对象空间结构
|
|
|
* @param dataSize_out 对象值大小,输出
|
|
|
* @return 对象指针
|
|
|
*/
|
|
|
ST_VOID *ai_get_obj_data_ptr(AI_OBJ_ID obj_id, AI_IED_CTRL *ied, ST_INT *dataSize_out);
|
|
|
|
|
|
/**
|
|
|
* 通过对象ID,VMD指针写对象的值信息
|
|
|
* @param obj_id 对象的ID
|
|
|
* @param vmd 对象空间结构
|
|
|
* @param obj_val 对象值信息结构
|
|
|
* @retval SD_FAILURE 失败
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
*/
|
|
|
ST_RET ai_write_obj_primVals(AI_OBJ_ID obj_id, AI_IED_CTRL *ied, AI_OBJ_VAL *obj_val);
|
|
|
|
|
|
/**
|
|
|
* 通过对象ID,VMD指针获取对象的值的存储区头指针,数据大小。
|
|
|
* *data_out内存由本函数接口申请,使用者必须释放此内存。
|
|
|
* @param obj_id 对象的ID
|
|
|
* @param vmd 对象空间结构
|
|
|
* @param data 对象值存储区头指针,输出
|
|
|
* @param data_size 对象值大小,输出
|
|
|
* @retval SD_FAILURE 失败
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
*/
|
|
|
ST_RET ai_read_obj_compVal(AI_OBJ_ID obj_id, AI_IED_CTRL *ied, ST_VOID **data_out, ST_INT *dataSize_out);
|
|
|
|
|
|
/**
|
|
|
* 通过对象ID,VMD指针写对象的值
|
|
|
* @param obj_id 对象的ID
|
|
|
* @param vmd 对象空间结构
|
|
|
* @param data 对象值存储区头指针
|
|
|
* @param data_size 对象值大小
|
|
|
* @param val_chg 变化标志
|
|
|
* @retval SD_FAILURE 失败
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
*/
|
|
|
ST_RET ai_write_obj_compVal(AI_OBJ_ID obj_id, AI_IED_CTRL *ied, ST_VOID *data, ST_INT data_size, ST_BOOLEAN *val_chg);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#endif /** !IEC61850_AI_MSOBJ_INCLUDED */
|