commCPU_SUPV/code/user/inc/device_desc.h

284 lines
6.6 KiB
C
Raw Normal View History

2025-04-30 16:24:29 +08:00
#ifndef DEVICE_DESC_123_INCLUDED
#define DEVICE_DESC_123_INCLUDED
#include "glbtypes.h"
#include "basetype.h"
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>
#define DEVICE_DESC_TEXT_LEN 63
//<2F><>ֵö<D6B5><C3B6><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DEVICE_DESC_DZ_ENUM_TYPE_NUM 16
//״̬<D7B4>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DEVICE_DESC_LIGHTS_NUM 16
//ÿ<><C3BF>װ<EFBFBD><D7B0>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DEVICE_DESC_YC_NUM 30
//ÿ<><C3BF>װ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
#define DEVICE_DESC_IO_BORD_NUM (CLZType_IO_NUM) //4 //cbt modified 2021.3.23 Ӳ<><D3B2>4.0<EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><EFBFBD>->5<>飬ͳһ<CDB3><D2BB><EFBFBD><EFBFBD>basetype.h<>еĺ궨<C4BA><EAB6A8>
//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F>Ŀ
#define DEVICE_DESC_IO_KRKC_NUM 32
typedef struct
{
ST_INT enumID;
ST_CHAR enumDesc[DEVICE_DESC_TEXT_LEN+1];
ST_UCHAR valStart; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬ʵ<E9A3AC>ʿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>õ<EFBFBD>ö<EFBFBD><C3B6>ֵ
ST_UCHAR valEnd; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A3AC><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ö<EFBFBD><C3B6>ֵ
struct
{
ST_INT enumVal; //ö<>ٵ<EFBFBD>ֵ, <20><>1<EFBFBD><31>ʾ<EFBFBD><CABE>ö<EFBFBD><C3B6>ֵû<D6B5>ж<EFBFBD><D0B6><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ö<EFBFBD>ٵ<EFBFBD>ֵ.
ST_CHAR valDesc[DEVICE_DESC_TEXT_LEN+1];
} enumVals[DEVICE_DESC_DZ_ENUM_TYPE_NUM];
} DEVICE_DZ_ENUM;
typedef struct
{
ST_CHAR bitDesc[32][DEVICE_DESC_TEXT_LEN+1];
} DEVICE_DZ_BIT_DESC;
typedef struct
{
ST_CHAR group[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR dzName[DEVICE_DESC_TEXT_LEN+1];
ST_FLOAT valMin;
ST_FLOAT valMax;
ST_CHAR unit2[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR unit1[DEVICE_DESC_TEXT_LEN+1];
ST_INT dzTypeCode;
ST_INT enumID;
ST_CHAR defaultVal[DEVICE_DESC_TEXT_LEN+1];
ST_FLOAT scale2;
ST_FLOAT scale1;
ST_INT relCT2;
ST_INT relCT1;
ST_INT relPT2;
ST_INT relPT1;
ST_INT PTCTIndex;
ST_INT visable;
ST_INT modify;
ST_CHAR LCDName[DEVICE_DESC_TEXT_LEN+1];
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ö<EFBFBD><C3B6>ID<49><44>Ӧ<EFBFBD><D3A6>ö<EFBFBD><C3B6>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ<EFBFBD><CEAA>
const DEVICE_DZ_ENUM *pDzEnum;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ǰ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><E5A3AC>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E9A3AC><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ<EFBFBD><CEAA>
const DEVICE_DZ_BIT_DESC *pDzKrtx;
//Ĭ<><C4AC>ֵΪ-1
ST_INT relateV2; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>ζֵ<EEB6A8><D6B5><EFBFBD><EFBFBD>relCT2<54><32>relPT2<54><32><EFBFBD><EFBFBD><30><CAB1>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ŵĶ<C5B5>ֵֵ
ST_INT relateV1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ζֵ<EEB6A8><D6B5><EFBFBD><EFBFBD>relCT1<54><31>relPT1<54><31><EFBFBD><EFBFBD><30><CAB1>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ŵĶ<C5B5>ֵֵ
} DEVICE_DZ_DESC;
typedef struct
{
ST_INT dzNum;
DEVICE_DZ_DESC *pDzDesc;
} DEVICE_DZ_GROUP;
//״̬<D7B4>ƵĶ<C6B5><C4B6><EFBFBD>
typedef struct
{
ST_INT num;
struct
{
ST_INT index0; //<2F><>0<EFBFBD><30>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ӧ<EFBFBD><D3A6>bitλ
ST_CHAR name[DEVICE_DESC_TEXT_LEN+1];
ST_INT color;
} lights[DEVICE_DESC_LIGHTS_NUM];
} DEIVCE_LIGHTS;
//<2F><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><E6B6AF><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
ST_CHAR actDesc[32][DEVICE_DESC_TEXT_LEN+1];
} DEVICE_GZBG_ACTFLAG;
//<2F><><EFBFBD><EFBFBD><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD>
typedef struct
{
ST_INT ycType;
ST_CHAR ycName[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR ycCategor[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR unit1[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR unit2[DEVICE_DESC_TEXT_LEN+1];
ST_INT coeff1;
ST_INT coeff2;
} DEVICE_YC_TYPE_ITEM;
typedef struct
{
ST_INT ycNum;
struct
{
ST_INT index0; //<2F><><EFBFBD>Ŵ<EFBFBD>1<EFBFBD><31>ʼ,<2C><>Ӧң<D3A6><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>λ<EFBFBD><CEBB>
ST_INT ycType;
ST_INT visible;
ST_CHAR duanzi[DEVICE_DESC_TEXT_LEN+1];
//<2F><><EFBFBD><EFBFBD>ycType<70><65><EFBFBD><EFBFBD>
const DEVICE_YC_TYPE_ITEM *pYcDescType;
} ycItem[DEVICE_DESC_YC_NUM];
} DEVICE_YC;
typedef struct
{
ST_INT deviceTypeCode;
ST_CHAR deviceName[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR deviceCategory[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR shortName[DEVICE_DESC_TEXT_LEN+1];
ST_INT refDeviceEvent;
ST_INT haveTouTui;
ST_INT toutuiChl;
} DEVICE_DESC;
//<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Լ챨<D4BC><ECB1A8><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
ST_INT code; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
ST_CHAR desc[DEVICE_DESC_TEXT_LEN+1];
} DEVICE_CODE_DESC_ITEM;
typedef struct
{
ST_INT num;
DEVICE_CODE_DESC_ITEM *pCodeType;
} DEVICE_CODE_DESC;
typedef struct
{
ST_INT boardIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>1<EFBFBD><31>ʼ
ST_INT ioNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD>
struct
{
ST_INT bitIndex; //0<><30>ʼ<EFBFBD><CABC>bit<69><74><EFBFBD>ţ<EFBFBD><C5A3>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD>32<33><32>ʼ
ST_CHAR duanzi[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR name[DEVICE_DESC_TEXT_LEN+1];
} ioDesc[DEVICE_DESC_IO_KRKC_NUM];
} DEVICE_IO_BOARD;
//ÿ<><C3BF>װ<EFBFBD>õ<EFBFBD>IO<49><4F><EFBFBD><EFBFBD>
typedef struct
{
ST_INT boardNum;
DEVICE_IO_BOARD board[DEVICE_DESC_IO_BORD_NUM];
} DEVICE_IO_DESC;
//GOOSE<53><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
ST_INT bit2Index; //0<><30>ʼ<EFBFBD><CABC>bit<69><74><EFBFBD><EFBFBD>
ST_CHAR duanzi[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR type0[DEVICE_DESC_TEXT_LEN+1]; //ʵ<><CAB5><EFBFBD><EFBFBD>ʾ<EFBFBD>Ķ<EFBFBD><C4B6>ӣ<EFBFBD>
ST_CHAR name[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR bitDesc[DEVICE_DESC_TEXT_LEN+1];
} DEVICE_GOOSE_IO_ITEM;
typedef struct
{
ST_INT num;
DEVICE_GOOSE_IO_ITEM *pGooseItem;
} DEVICE_GOOSE_IO;
//IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
ST_INT boardIndex; //<2F><><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ʾIO1<4F><31>2<EFBFBD><32>ʾIO2
ST_INT cdNum;
struct
{
ST_INT channel; //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
ST_CHAR name[DEVICE_DESC_TEXT_LEN+1];
ST_INT kcIndex; //<2F><><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
ST_INT type0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>ťor<6F><72>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
} cdDesc[DEVICE_DESC_IO_KRKC_NUM];
} DEVICE_CD_IO_ITEM;
typedef struct
{
ST_INT boardNum;
DEVICE_CD_IO_ITEM board[DEVICE_DESC_IO_BORD_NUM+1];
} DEVICE_CD_IO_DESC;
typedef struct
{
ST_INT infIndex; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>1<EFBFBD><31>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ӧң<D3A6><D2A3>
ST_CHAR name[DEVICE_DESC_TEXT_LEN+1]; //ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ST_CHAR heText[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR fenText[DEVICE_DESC_TEXT_LEN+1];
ST_CHAR interText[DEVICE_DESC_TEXT_LEN+1]; //<2F><><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ST_INT type0; //<2F><><EFBFBD><EFBFBD>
ST_INT imageID;
} DEVICE_YAOXIN_ITEM;
typedef struct
{
ST_INT num; //ң<>Ÿ<EFBFBD><C5B8><EFBFBD>. ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>ң<EFBFBD><D2A3>ֵ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
DEVICE_YAOXIN_ITEM *pYaoXin;
} DEVICE_YAOXIN_DESC;
ST_RET device_desc_init( ST_VOID );
ST_RET device_desc_release( ST_VOID );
ST_RET device_desc_handle( ST_VOID );
//<2F><>ȡ<EFBFBD><C8A1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ֵ<EFBFBD><D6B5>2<EFBFBD><32>ѹ<EFBFBD>嶨ֵ<E5B6A8><D6B5>3<EFBFBD><33><EFBFBD><EFBFBD><E7BFB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34>ϵͳ<CFB5><CDB3>ֵ
const DEVICE_DZ_GROUP * device_desc_dz_get( ST_INT dzType );
const DEIVCE_LIGHTS * device_desc_lights_get( ST_VOID );
const DEVICE_YC * device_desc_yc_get( ST_VOID );
const DEVICE_DESC * device_desc_devname_get( ST_VOID );
//<2F><>ȡװ<C8A1><D7B0><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>0Ϊû<CEAA>г<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ST_INT device_desc_type_get( ST_VOID );
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>ȡģ<C8A1><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>NULL
DEVICE_YC_TYPE_ITEM * device_desc_yc_type_find( ST_INT ycType );
DEVICE_CODE_DESC_ITEM * device_desc_sjzj_type_find( ST_INT code );
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>bitλ<74><CEBB><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const ST_CHAR * device_desc_gzbg_actbit_find( ST_INT bitIndex );
const DEVICE_IO_DESC * device_desc_iokr_get( ST_VOID );
const DEVICE_IO_DESC * device_desc_iokc_get( ST_VOID );
const DEVICE_CD_IO_DESC * device_desc_cd_io_get( ST_VOID );
const DEVICE_YAOXIN_DESC * device_desc_yaoxin_get( ST_VOID );
const DEVICE_YAOXIN_DESC * device_desc_yaoxin_image_get( ST_VOID );
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif