/**************************************************************************** ** File name : HTIEC104.h ** Description : define 104 struct ** Create date : 2018.09.01 ** Auther by : Liuyx ** Version info : V1.0.01 ** Copyright (C) 2002-2018 xi'an huatek, Inc Co., Ltd ** Update record: ** DATE AUTHER DESC ** ------------------------------------------------------------------------- ** 2018.09.01 Liuyx first build ****************************************************************************/ #ifndef __HT_IEC104_H #define __HT_IEC104_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define CMD_START_HEAD 0x68 // 激活命令 #define CMD_STARTDT 0x04 #define CMD_STOPDT 0x10 #define CMD_TESTFR 0x40 // 确认命令 #define CMD_STARTC 0x08 #define CMD_STOPC 0x20 #define CMD_TESTC 0x80 //总召指令 #define CMD_CTL_64H 0x64 // type=总召激活 #define MIN_APDU_LENGTH 6 // min lengtg = 6byte, APCI #define MAX_ASDU_LENGTH 249 #define YX_STAT_OPEND 0 // 开关状态: 0--开闸 #define YX_STAT_CLOSE 1 // 开关状态: 1--合闸 // 心跳 #define CMD_ACTIVE_PACKAGE "\x68\x04\x40\x00\x00\x00" class CIEC104 { public: CIEC104() ; ~CIEC104() ; private: protected: }; void IEC104EnvFree(); void IEC104EnvLoad(); void UpdateLastTime(); void *thread_listen_proc(void *arg); void *thread_client_proc(void *arg); void *thread_warn_proc(void *arg); void * thread_pingce_proc(void * arg); void *thread_recv_proc(void *arg) ; void *thread_active_proc(void *arg); void *thread_parser_proc(void *arg); void *thread_Timer_proc(void *arg); void *thread_cache_proc(void *arg) ; // 同步内存数据线程 //void *thread_setdb_proc(void *arg); // 数据入库线程 //void *thread_getdata_proc(void *arg); void *thread_origin_proc(void *arg); // 原始数据入库现场 void *thread_origin_proc_new(void *arg); // 原始数据入库现场 void *thread_busi_data_proc(void* arg); void *thread_gis_hold_proc(void * arg); // 刷新机组的工作状态,1:发电、2:抽水、3:空闲 unsigned char getDevWorkState(ST_IECPOINT_TABLE &stIec); unsigned char getDevFaultState(ST_IECPOINT_TABLE &stIec); // ////// 获取BYQ设备对应关系及阈值 //bool bGetByqCacheRelation(unsigned char *pszSersorid, ST_BYQ_CACHE *pstData); //// ////// 获取GIS设备对应关系及阈值 //bool bGetGisCacheRelation(unsigned char *pszSersorid, ST_GIS_CACHE *pstData); //// ////// 获取BLQ设备对应关系及阈值 //bool bGetBlqCacheRelation(unsigned char *pszSersorid, ST_BLQ_CACHE *pstData); bool bSetBYQPointValueByAddr(const char *pszEqmCode, float value); #ifdef __cplusplus } #endif #endif // end