📄 dbstru.h
字号:
/****************************************************************************
****************************************************************************/
#ifndef DBAREASTRUCT_H
#define DBAREASTRUCT_H
/**************************** 系统参数定义 *********************************/
#define MAXGROUP 60 /* 最大冗余组编号 */
#define MAXTYPE 20 /* 支持的最大设备类型 */
#define NO_DEVICE_CONFIG -1 /* 无设备配置 */
enum DeviceType { /* 设备类型 */
ICM = 1, /* TM460 */
OCM = 2, /* TM470 */
TM422 = 3, /* TM422 */
TM480 = 4, /* TM480 */
TM490 = 5, /* TM490 */
/* 扩展:其它模块类型 */
PEND = 0XFF
};
enum FrameType{ /* 帧类型定义 */
NET_INPUT = 1, /* ICU发送数据(1) */
NET_OP_ORDER = 2 /* 上位机发送操作命令(2) */
};
/**************************** 配置文件结构 ********************************/
/* 配置文件的版本 */
typedef struct Version {
INT16U Ver;
} CFGFILEVER;
/* 配置文件的版本结构的长度 */
#define VER_LEN (sizeof(CFGFILEVER))
/* 设备定义结构 */
typedef struct DeviceStruct {
INT8U GroupID; /* 2oo3系统为冗余模块组编号,2oo4系统为站地址 */
INT8U Type; /* 类型 */
INT8U RcvDataLen; /* 接收数据长度 */
INT8U SndDataLen; /* 发送数据长度 */
} DEVSTRUCT;
/* 设备定义结构长度 */
#define DEVSTRUCT_LEN (sizeof(DEVSTRUCT))
/************************** 运行期设备结构 *******************************/
/* 运行期设备参数结构 */
typedef struct devparm {
LPBYTE pdpprm; /* 该类型设备从站参数区指针 */
INT8U Type; /* 设备类型 */
INT8U nTotal; /* 已配置该类型设备总数 */
} DEVPARM;
/* IO结构 */
typedef struct IODevStruct {
INT8U Addr; /* 从站地址 */
INT8U OnLine; /* 在线标识: 1-在线, 0-离线 */
INT16U OffsetIn; /* 双口RAM输入偏移量 */
INT16U OffsetOut; /* 双口RAM输出偏移量 */
LPBYTE pSlavePrm; /* 从站配置参数区指针 */
LPBYTE pDPRIn; /* 双口RAM输入区指针 */
LPBYTE pDPROut; /* 双口RAM输出区指针 */
} IOSTRUCT;
/* 运行期设备结构 */
typedef struct RunTimeDeviceStruct {
INT8U GroupID; /* 冗余模块组编号 */
INT8U Type; /* 类型 */
INT8U RcvDataLen; /* 输入数据长度 */
INT8U SndDataLen; /* 输出数据长度 */
LPBYTE pStateArea; /* 运行状态区指针 */
LPBYTE pInData; /* 设备输入数据区指针 */
LPBYTE pOutData; /* 设备输出数据区指针 */
IOSTRUCT IOM; /* 模块结构 */
} RunDEVSTRUCT;
/* 运行期设备结构长度 */
#define RunDEVSTRUCT_LEN (sizeof(RunDEVSTRUCT))
/************************** 双口RAM数据结构 *******************************/
#define DPR_SIZE 0x2000 /* 双口RAM数据区大小8K */
typedef struct dualportram DualPortRAM;
struct dualportram {
INT8U SndPd[(DPR_SIZE-0x400)/2];
INT8U RecvPd[(DPR_SIZE-0x400)/2];
struct
{
INT8U Rx;
INT8U Tx;
INT8U Ln;
INT8U Nr;
INT8U A;
INT8U F;
INT8U B;
INT8U E;
INT8U D[280];
} SMsg;
INT8U Date[4];
INT8U DeviceNumber[4];
INT8U SerialNumber[4];
INT8U Reserved[4];
INT8U PcOsName0[4];
INT8U PcOsName1[4];
INT8U PcOsName2[4];
INT8U OemIdentifier[4];
struct
{
INT8U Rx;
INT8U Tx;
INT8U Ln;
INT8U Nr;
INT8U A;
INT8U F;
INT8U B;
INT8U E;
INT8U D[280];
} RMsg;
INT8U FirmwareName[16];
INT8U FirmwareVersion[16];
INT8U Task1Parameter[64];
INT8U Task2Parameter[64];
INT8U Task1States[64];
INT8U bGlobalBits;
INT8U DPM_state;
INT8U bErr_rem_adr;
INT8U Err_event;
INT8U usBus_error_cntLow;
INT8U usBus_error_cntHigh;
INT8U usTime_out_cntLow;
INT8U usTime_out_cntHigh;
INT8U abReserved[8];
INT8U Sl_cfg[16];
INT8U Sl_state[16];
INT8U Sl_diag[16];
INT8U Task1Name[8];
INT8U Task1VersionLow;
INT8U Task1VersionHigh;
INT8U Task1State[6];
INT8U Task2Name[8];
INT8U Task2VersionLow;
INT8U Task2VersionHigh;
INT8U Task2Condition[6];
INT8U Task3Name[8];
INT8U Task3VersionLow;
INT8U Task3VersionHigh;
INT8U Task3Condition[6];
INT8U Task4Name[8];
INT8U Task4VersionLow;
INT8U Task4VersionHigh;
INT8U Task4Condition[6];
INT8U Task5Name[8];
INT8U Task5VersionLow;
INT8U Task5VersionHigh;
INT8U Task5Condition[6];
INT8U Task6Name[8];
INT8U Task6VersionLow;
INT8U Task6VersionHigh;
INT8U Task6Condition[6];
INT8U Task7Name[8];
INT8U Task7VersionLow;
INT8U Task7VersionHigh;
INT8U Task7Condition[6];
INT8U InformationOperatingSystem[3];
INT8U HostWatchDog;
INT8U DevWatchDog;
INT8U SegmentCount;
INT8U DeviceAddress;
INT8U DriverType;
INT8U Others[6];
INT8U HostFlags;
INT8U DevFlags;
} ;
#endif /* DBAREASTRUCT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -