www.pudn.com > rtu.rar > CLASS.H
// //File name=class.h //设计 何风涛 //#include//#include #include #include #include #include _SFR_H_ #ifndef NULL #define NULL ((void *)0) #endif #define PASSX 1234 #define PASST 1111 #define DY_BOARD_1 0x00 /* 00 */ #define BSQ_BOARD_1 0x08 /* 01 */ #define BSQ_BOARD_2 0x10 /* 02 */ #define BSQ_BOARD_3 0x18 /* 03 */ #define BSQ_BOARD_4 0x20 /* 04 */ #define BSQ_BOARD_5 0x28 /* 05 */ #define BSQ_BOARD_6 0x30 /* 06 */ #define BSQ_BOARD_7 0x38 /* 07 */ #define BSQ_BOARD_8 0x40 /* 08 */ #define YX_BOARD_1 0x48 /* 09 */ #define YX_BOARD_2 0x50 /* 10 */ #define YX_BOARD_3 0x58 /* 11 */ #define YX_BOARD_4 0x60 /* 12 */ #define YX_BOARD_5 0x68 /* 13 */ #define YX_BOARD_6 0x70 /* 14 */ #define YM_BOARD_1 0x78 /* 15 */ #define YM_BOARD_2 0x80 /* 16 */ #define YM_BOARD_3 0x88 /* 17 */ #define YM_BOARD_4 0x90 /* 18 */ #define YK_BOARD_1 0x98 /* 19 */ #define YK_BOARD_2 0xA0 /* 20 */ #define YK_BOARD_3 0xA8 /* 21 */ #define YK_BOARD_4 0xB0 /* 22 */ #define YK_BOARD_5 0xB8 /* 23 */ #define YK_BOARD_6 0xC0 /* 24 */ #define YK_BOARD_7 0xC8 /* 25 */ #define YK_BOARD_8 0xD0 /* 26 */ #define YK_BOARD_9 0xD8 /* 27 */ #define YK_BOARD_10 0xE0 /* 28 */ #define YK_BOARD_11 0xE8 /* 29 */ #define DY_BOARD_1_573 0x00 /* 00 */ #define DY_BOARD_1_245 0x04 /* 00 */ #define BSQ_BOARD_1_573 0x08 /* 01 IO0 IO1 EN */ #define BSQ_BOARD_2_573 0x10 /* 02 IO0 IO1 EN */ #define BSQ_BOARD_3_573 0x18 /* 03 IO0 IO1 EN */ #define BSQ_BOARD_4_573 0x20 /* 04 IO0 IO1 EN */ #define BSQ_BOARD_5_573 0x28 /* 05 IO0 IO1 EN */ #define BSQ_BOARD_6_573 0x30 /* 06 IO0 IO1 EN */ #define BSQ_BOARD_7_573 0x38 /* 07 IO0 IO1 EN */ #define BSQ_BOARD_8_573 0x40 /* 08 IO0 IO1 EN */ #define BSQ_BOARD_NUM1 0x04 /* 01 IO0 IO1 EN */ #define BSQ_BOARD_NUM2 0x05 /* 01 IO0 IO1 EN */ #define BSQ_BOARD_NUM3 0x06 /* 01 IO0 IO1 EN */ #define BSQ_BOARD_NUM4 0x07 /* 01 IO0 IO1 EN */ #define BSQ_BOARD_NULL 0x00 /* 01 IO0 IO1 EN */ #define YX_BOARD_1_KRL 0x4C /* 09 */ #define YX_BOARD_1_KRM 0x4D /* 09 */ #define YX_BOARD_1_KRH 0x4E /* 09 */ #define YX_BOARD_2_KRL 0x54 /* 10 */ #define YX_BOARD_2_KRM 0x55 /* 10 */ #define YX_BOARD_2_KRH 0x56 /* 10 */ #define YX_BOARD_3_KRL 0x5C /* 11 */ #define YX_BOARD_3_KRM 0x5D /* 11 */ #define YX_BOARD_3_KRH 0x5E /* 11 */ #define YX_BOARD_4_KRL 0x64 /* 12 */ #define YX_BOARD_4_KRM 0x65 /* 12 */ #define YX_BOARD_4_KRH 0x66 /* 12 */ #define YX_BOARD_5_KRL 0x6C /* 13 */ #define YX_BOARD_5_KRM 0x6D /* 13 */ #define YX_BOARD_5_KRH 0x6E /* 13 */ #define YX_BOARD_6_KRL 0x74 /* 14 */ #define YX_BOARD_6_KRM 0x75 /* 14 */ #define YX_BOARD_6_KRH 0x76 /* 14 */ #define YM_BOARD_1_KRL 0x7C /* 15 */ #define YM_BOARD_1_KRM 0x7D /* 15 */ #define YM_BOARD_1_KRH 0x7E /* 15 */ #define YM_BOARD_2_KRL 0x84 /* 16 */ #define YM_BOARD_2_KRM 0x85 /* 16 */ #define YM_BOARD_2_KRH 0x86 /* 16 */ #define YM_BOARD_3_KRL 0x8C /* 17 */ #define YM_BOARD_3_KRM 0x8D /* 17 */ #define YM_BOARD_3_KRH 0x8E /* 17 */ #define YM_BOARD_4_KRL 0x94 /* 18 */ #define YM_BOARD_4_KRM 0x95 /* 18 */ #define YM_BOARD_4_KRH 0x96 /* 18 */ #define YK_BOARD_1_KC0_4 0x98 /* 19 */ #define YK_BOARD_1_KC5_8 0x99 /* 19 */ #define YK_BOARD_1_KC9_12 0x9A /* 19 */ #define YK_BOARD_1_245 0x9C /* 19 */ #define YK_BOARD_2_KC0_4 0xA0 /* 20 */ #define YK_BOARD_2_KC5_8 0xA1 /* 20 */ #define YK_BOARD_2_KC9_12 0xA2 /* 20 */ #define YK_BOARD_2_245 0xA4 /* 20 */ #define YK_BOARD_3_KC0_4 0xA8 /* 21 */ #define YK_BOARD_3_KC5_8 0xA9 /* 21 */ #define YK_BOARD_3_KC9_12 0xAA /* 21 */ #define YK_BOARD_3_245 0xAC /* 21 */ #define YK_BOARD_4_KC0_4 0xB0 /* 22 */ #define YK_BOARD_4_KC5_8 0xB1 /* 22 */ #define YK_BOARD_4_KC9_12 0xB2 /* 22 */ #define YK_BOARD_4_245 0xB4 /* 22 */ #define YK_BOARD_5_KC0_4 0xB8 /* 23 */ #define YK_BOARD_5_KC5_8 0xB9 /* 23 */ #define YK_BOARD_5_KC9_12 0xBA /* 23 */ #define YK_BOARD_5_245 0xBC /* 23 */ #define YK_BOARD_6_KC0_4 0xC0 /* 24 */ #define YK_BOARD_6_KC5_8 0xC1 /* 24 */ #define YK_BOARD_6_KC9_12 0xC2 /* 24 */ #define YK_BOARD_6_245 0xC4 /* 24 */ #define YK_BOARD_7_KC0_4 0xC8 /* 25 */ #define YK_BOARD_7_KC5_8 0xC9 /* 25 */ #define YK_BOARD_7_KC9_12 0xCA /* 25 */ #define YK_BOARD_7_245 0xCC /* 25 */ #define YK_BOARD_8_KC0_4 0xD0 /* 26 */ #define YK_BOARD_8_KC5_8 0xD1 /* 26 */ #define YK_BOARD_8_KC9_12 0xD2 /* 26 */ #define YK_BOARD_8_245 0xD4 /* 26 */ #define YK_BOARD_9_KC0_4 0xD8 /* 27 */ #define YK_BOARD_9_KC5_8 0xD9 /* 27 */ #define YK_BOARD_9_KC9_12 0xDA /* 27 */ #define YK_BOARD_9_245 0xDC /* 27 */ #define YK_BOARD_10_KC0_4 0xE0 /* 28 */ #define YK_BOARD_10_KC5_8 0xE1 /* 28 */ #define YK_BOARD_10_KC9_12 0xE2 /* 28 */ #define YK_BOARD_10_245 0xE4 /* 28 */ #define YK_BOARD_11_KC0_4 0xE8 /* 29 */ #define YK_BOARD_11_KC5_8 0xE9 /* 29 */ #define YK_BOARD_11_KC9_12 0xEA /* 29 */ #define YK_BOARD_11_245 0xEC /* 29 */ #define YK_BOARD_NULL_1 0x57 #define YK_BOARD_NULL_2 0x55 #define YK_BOARD_NULL_3 0x55 #define YK_BOARD_POWER_OR_1 0x80 /* KC4- =HIGHT V */ #define YK_BOARD_POWER_OR_2 0x00 #define YK_BOARD_POWER_OR_3 0x00 #define YK_BOARD_POWER_AND_1 0xBF /* KC4 =LOW V */ #define YK_BOARD_POWER_AND_2 0xFF #define YK_BOARD_POWER_AND_3 0xFF #define YK_BOARD_1T_1 0x56 /* KC0=LOW V */ #define YK_BOARD_1T_2 0x55 #define YK_BOARD_1T_3 0x55 #define YK_BOARD_1H_1 0x55 /* KC1=LOW V */ #define YK_BOARD_1H_2 0x55 #define YK_BOARD_1H_3 0x55 #define YK_BOARD_2T_1 0x5B /* KC2=0 KC2-=1 */ #define YK_BOARD_2T_2 0x55 #define YK_BOARD_2T_3 0x55 #define YK_BOARD_2H_1 0x67 /* KC3=0 KC3-=1 */ #define YK_BOARD_2H_2 0x55 #define YK_BOARD_2H_3 0x55 #define YK_BOARD_3T_1 0x57 #define YK_BOARD_3T_2 0x56 /* KC5=0 KC5-=1 */ #define YK_BOARD_3T_3 0x55 #define YK_BOARD_3H_1 0x57 #define YK_BOARD_3H_2 0x59 /* KC6=0 KC6-=1 */ #define YK_BOARD_3H_3 0x55 #define YK_BOARD_4T_1 0x57 #define YK_BOARD_4T_2 0x65 /* KC7=0 KC7-=1 */ #define YK_BOARD_4T_3 0x55 #define YK_BOARD_4H_1 0x57 #define YK_BOARD_4H_2 0x95 /* KC8=0 KC8-=1 */ #define YK_BOARD_4H_3 0x55 #define YK_BOARD_5T_1 0x57 #define YK_BOARD_5T_2 0x55 #define YK_BOARD_5T_3 0x56 /* KC9=0 KC9-=1 */ #define YK_BOARD_5H_1 0x57 #define YK_BOARD_5H_2 0x55 #define YK_BOARD_5H_3 0x59 /* KC10=0 KC10-=1*/ #define YK_BOARD_6T_1 0x57 #define YK_BOARD_6T_2 0x55 #define YK_BOARD_6T_3 0x65 /* KC11=0 KC11-=1 */ #define YK_BOARD_6H_1 0x57 #define YK_BOARD_6H_2 0x55 #define YK_BOARD_6H_3 0x95 /* KC12=0 KC12-=1 */ #define RESET_NULL 0x00 /* for can control register */ #define RESET_REQUEST 0x01 /* reset control register request */ #define CAN_CTRL_RIE 0x1A /*02 /* enable receive interrupt & 1-resync */ #define CAN_CTRL_TIE 0x1E /*06 /* enable transmit interrupt & 1-resync*/ #define CAN_OUT_CTRL 0xFA /*EA /* pull-down, normal output mode or AAH*/ #define CAN_BUS_TIM0 0x89 /* 1.25uS-clock, 3.75uS-Tsjw at 16Mhz */ #define CAN_BUS_TIM1 0x2F /*EB /* 3-sampling, 8.75uS-Tseg2, 15uS-Tseg1*/ #define CAN_RXD_INTR 0x01 /* for can interrupt register */ #define CAN_TXD_INTR 0x02 #define CAN_ERR_INTR 0x04 #define CAN_OVR_INTR 0x08 #define TCAN_REQUEST 0x01 /* for can command register */ #define RCAN_RELEASE 0x04 #define OVERRUN_INIT 0x08 #define TCAN_ENABLE 0x04 #define CAN_BUS_ERR 0x80 #define MAX_CAN_LEN 0x800 #ifdef _C196_ #if _ARCHITECTURE_ != 'NT' #pragma model(NT-EF) #endif #endif /*-------------------------公共变量----------------------------------*/ #if !defined(FARDATA) #if _FAR_DATA_ || _FAR_CONST_ #define FARDATA far #else #define FARDATA #endif #endif /*----------------------------类型预定义---------------------------*/ typedef unsigned char BOOL; typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; typedef unsigned int UINT; typedef DWORD LONG; typedef void FARDATA *PVOID; /*-----------------中断宏定义------------------------------------------*/ /*-----------------宏变量------------------------------------------*/ #define MAXTASK 52 #define YkTaskNo 51 #define YcCalcTaskNo 50 #define XmScanTaskNo 49 #define DisplayTaskNo 48 #define DbaseTaskNo 47 #define ComDeviceTaskNo 46 #define Can1FrameTaskNo 1 #define Can0FrameTaskNo 0 #define IEC101PACKETSIZE 0x100 #define IEC101REPEAT 2 #define MAXCOMNUM 8 /* 设备驱动串口号 */ #define MAXCANMAIL 100 #define MAXSAMPLECOUNT 128 #define Can0ComhandleNo 0x00 #define Can1ComhandleNo 0x01 #define TaskNoCOM00 0x02 #define TaskNoCOM01 0x03 #define TaskNoCOM02 0x04 #define TaskNoCOM03 0x05 #define TaskNoCOM04 0x06 #define TaskNoCOM05 0x07 #define TaskNoCOM06 0x08 #define TaskNoCOM07 0x09 #define TaskNoCOM08 0x0A #define TaskNoCOM09 0x0B #define TaskNoCOM10 0x0C #define TaskNoCOM11 0x0D #define TaskNoCOM12 0x0E #define TaskNoCOM13 0x0F #define TaskNoCOM14 0x10 #define TaskNoCOM15 0x11 #define MaxMailLength 254 #define MaxMailNum 100 #define MAXSOE 512 #define MAXEMPMAIL 100 #define MAXMRNUM 64 #define MAXLINENUM 24 #define MAXYWNUM 24 #define MAXWORKMODE 1 #define KEYSPEED 30 #define TXD_BUF_PRO 0x01 #define RXD_BUF_PRO 0x00 #define KEYDELAY 2000 #define WREN_INST 0x06 #define WRDI_INST 0x04 #define WRSR_INST 0x01 #define RDSR_INST 0x05 #define WRITE_INST 0x02 #define READ_INST 0x03 #define BYTE_ADDR 0x55 #define BYTE_DATA 0x11 #define PAGE_ADDR 0x1f0 #define PAGE_DATA1 0x22 #define PAGE_DATA2 0x33 #define PAGE_DATA3 0x44 #define STATUS_REG 0x00 #define MAX_POLL 0x200 #define INIT_STATE 0x09 #define SLIC 0x30 #define CAN0_REG_BASE 0x001200 #define CAN1_REG_BASE 0x001300 #define DADA_BIT_5 0x00; #define DADA_BIT_6 0x01; #define DADA_BIT_7 0x02; #define DADA_BIT_8 0x03; #define COM_16C554_CSA_BASE 0x001380 #define COM_16C554_CSA_RBR 0x001380 /*接收缓冲寄存器 只读 DLAB=0 */ #define COM_16C554_CSA_THR 0x001380 /*发送保持寄存器 只写 DLAB=0 */ #define COM_16C554_CSA_IER 0x001381 /*中断使能寄存器 DLAB=0 */ #define COM_16C554_CSA_IIR 0x001382 /*中断识别寄存器 只读 */ #define COM_16C554_CSA_FCR 0x001382 /*FIFO控制寄存器 只写 */ #define COM_16C554_CSA_LCR 0x001383 /*线路控制寄存器 */ #define COM_16C554_CSA_MCR 0x001384 /*MODEM控制寄存器 */ #define COM_16C554_CSA_LSR 0x001385 /*线路状态寄存器 */ #define COM_16C554_CSA_MSR 0x001386 /*MODEM状态寄存器 */ #define COM_16C554_CSA_DLL 0x001380 /*分频锁存低字节 DLAB=1 */ #define COM_16C554_CSA_DLM 0x001381 /*分频锁存高字节 DLAB=1 */ #define COM_16C554_CSB_BASE 0x001388 #define COM_16C554_CSB_RBR 0x001388 /*接收缓冲寄存器 只读 DLAB=0 */ #define COM_16C554_CSB_THR 0x001388 /*发送保持寄存器 只写 DLAB=0 */ #define COM_16C554_CSB_IER 0x001389 /*中断使能寄存器 DLAB=0 */ #define COM_16C554_CSB_IIR 0x00138A /*中断识别寄存器 只读 */ #define COM_16C554_CSB_FCR 0x00138A /*FIFO控制寄存器 只写 */ #define COM_16C554_CSB_LCR 0x00138B /*线路控制寄存器 */ #define COM_16C554_CSB_MCR 0x00138C /*MODEM控制寄存器 */ #define COM_16C554_CSB_LSR 0x00138D /*线路状态寄存器 */ #define COM_16C554_CSB_MSR 0x00138E /*MODEM状态寄存器 */ #define COM_16C554_CSB_DLL 0x001388 /*分频锁存低字节 DLAB=1 */ #define COM_16C554_CSB_DLM 0x001389 /*分频锁存高字节 DLAB=1 */ #define COM_16C554_CSC_BASE 0x001390 #define COM_16C554_CSC_RBR 0x001390 /*接收缓冲寄存器 只读 DLAB=0 */ #define COM_16C554_CSC_THR 0x001390 /*发送保持寄存器 只写 DLAB=0 */ #define COM_16C554_CSC_IER 0x001391 /*中断使能寄存器 DLAB=0 */ #define COM_16C554_CSC_IIR 0x001392 /*中断识别寄存器 只读 */ #define COM_16C554_CSC_FCR 0x001392 /*FIFO控制寄存器 只写 */ #define COM_16C554_CSC_LCR 0x001393 /*线路控制寄存器 */ #define COM_16C554_CSC_MCR 0x001394 /*MODEM控制寄存器 */ #define COM_16C554_CSC_LSR 0x001395 /*线路状态寄存器 */ #define COM_16C554_CSC_MSR 0x001396 /*MODEM状态寄存器 */ #define COM_16C554_CSC_DLL 0x001390 /*分频锁存低字节 DLAB=1 */ #define COM_16C554_CSC_DLM 0x001391 /*分频锁存高字节 DLAB=1 */ #define COM_16C554_CSD_BASE 0x001398 #define COM_16C554_CSD_RBR 0x001398 /*接收缓冲寄存器 只读 DLAB=0 */ #define COM_16C554_CSD_THR 0x001398 /*发送保持寄存器 只写 DLAB=0 */ #define COM_16C554_CSD_IER 0x001399 /*中断使能寄存器 DLAB=0 */ #define COM_16C554_CSD_IIR 0x00139A /*中断识别寄存器 只读 */ #define COM_16C554_CSD_FCR 0x00139A /*FIFO控制寄存器 只写 */ #define COM_16C554_CSD_LCR 0x00139B /*线路控制寄存器 */ #define COM_16C554_CSD_MCR 0x00139C /*MODEM控制寄存器 */ #define COM_16C554_CSD_LSR 0x00139D /*线路状态寄存器 */ #define COM_16C554_CSD_MSR 0x00139E /*MODEM状态寄存器 */ #define COM_16C554_CSD_DLL 0x001398 /*分频锁存低字节 DLAB=1 */ #define COM_16C554_CSD_DLM 0x001399 /*分频锁存高字节 DLAB=1 */ #define COM_16C550_BASE 0x0013A0 #define COM_16C550_RBR 0x0013A0 /*接收缓冲寄存器 只读 DLAB=0 */ #define COM_16C550_THR 0x0013A0 /*发送保持寄存器 只写 DLAB=0 */ #define COM_16C550_IER 0x0013A1 /*中断使能寄存器 DLAB=0 */ #define COM_16C550_IIR 0x0013A2 /*中断识别寄存器 只读 */ #define COM_16C550_FCR 0x0013A2 /*FIFO控制寄存器 只写 */ #define COM_16C550_LCR 0x0013A3 /*线路控制寄存器 */ #define COM_16C550_MCR 0x0013A4 /*MODEM控制寄存器 */ #define COM_16C550_LSR 0x0013A5 /*线路状态寄存器 */ #define COM_16C550_MSR 0x0013A6 /*MODEM状态寄存器 */ #define COM_16C550_DLL 0x0013A0 /*分频锁存低字节 DLAB=1 */ #define COM_16C550_DLM 0x0013A1 /*分频锁存高字节 DLAB=1 */ #define PSD_RAM_BASE 0x00A000 /* PSD 4135G2 512K(Main) 32K(Boot) 8K(SRAM) */ #define CY256_RAM_BASE 0xF10000 #define PSD_FLASH_BASE 0x002000 #define PSD_NAIN_BASE 0xF80000 #define YXBV_TOP 0xF7F9FF #define YXBV_BOTTOM 0xF7F200 #define YSOE_TOP 0xF7EFFF #define YSOE_BOTTOM 0xF7D000 #define LCDDELAY 50000 /* 50000*50=2500000ms=2500S */ #define PSD_REG_BASE 0x001000 /* PSD 4135G2 512K(Main) 32K(Boot) 8K(SRAM) */ #define PSD_DATAIN_A PSD_REG_BASE +0x00 #define PSD_DATAOUT_A PSD_REG_BASE +0x04 #define PSD_DIRECTION_A PSD_REG_BASE +0x06/*0:inport(default) 1:outport*/ #define PSD_DRIVE_A PSD_REG_BASE +0x08/*0:互补输出(default) 1:开漏输出 */ #define PSD_DATAIN_B PSD_REG_BASE +0x01 #define PSD_DATAOUT_B PSD_REG_BASE +0x05 #define PSD_DIRECTION_B PSD_REG_BASE +0x07/*0:inport(default) 1:outport*/ #define PSD_DRIVE_B PSD_REG_BASE +0x09/*0:互补输出(default) 1:开漏输出 */ #define PSD_DATAIN_C PSD_REG_BASE +0x10 #define PSD_DATAOUT_C PSD_REG_BASE +0x14 #define PSD_DIRECTION_C PSD_REG_BASE +0x16/*0:inport(default) 1:outport*/ #define PSD_DRIVE_C PSD_REG_BASE +0x18/*0:互补输出(default) 1:Slew Rate mode */ #define PSD_DATAIN_D PSD_REG_BASE +0x11 #define PSD_DATAOUT_D PSD_REG_BASE +0x15 #define PSD_DIRECTION_D PSD_REG_BASE +0x17/*0:inport(default) 1:outport*/ #define PSD_DRIVE_D PSD_REG_BASE +0x19/*0:互补输出(default) 1:开漏输出 */ #define PSD_DATAIN_E PSD_REG_BASE +0x30 #define PSD_CONTROL_E PSD_REG_BASE +0x32/* 0:MCU I/O(default) 1:latched adress out mode */ #define PSD_DATAOUT_E PSD_REG_BASE +0x34/* PE.7=LED2 */ #define PSD_DIRECTION_E PSD_REG_BASE +0x36/*0:inport(default) 1:outport*/ #define PSD_DRIVE_E PSD_REG_BASE +0x38/*0:互补输出(default) 1:开漏输出 */ #define PSD_DATAIN_F PSD_REG_BASE +0x40 #define PSD_CONTROL_F PSD_REG_BASE +0x42/* 0:MCU I/O(default) 1:latched adress out mode */ #define PSD_DATAOUT_F PSD_REG_BASE +0x44 #define PSD_DIRECTION_F PSD_REG_BASE +0x46/*0:inport(default) 1:outport*/ #define PSD_DRIVE_F PSD_REG_BASE +0x48/*0:互补输出(default) 1:Slew Rate mode */ #define PSD_DATAIN_G PSD_REG_BASE +0x41 #define PSD_CONTROL_G PSD_REG_BASE +0x43/* 0:MCU I/O(default) 1:latched adress out mode */ #define PSD_DATAOUT_G PSD_REG_BASE +0x45 #define PSD_DIRECTION_G PSD_REG_BASE +0x47/*0:inport(default) 1:outport*/ #define PSD_DRIVE_G PSD_REG_BASE +0x49/*0:互补输出(default) 1:开漏输出 */ #define PSD_MAINPROTECT PSD_REG_BASE +0xC0/*0:no;1:write protected 只读 */ #define PSD_ALTPROTECT PSD_REG_BASE +0xC2/*0:no;1:write protected */ #define PSD_PMMR0 PSD_REG_BASE +0xB0 // power-on default = 0x00 // power-on default = 0x00 // bit 5 - CLKIN input to MCell (1=off) // bit 4 - CLKIN input to PLD array (1=off) // bit 3 - PLD turbo mode (ZPSD only) (1=disable) // bit 1 - APD unit (1=enable) #define PSD_PMMR2 PSD_REG_BASE +0xB4 // power-on default = 0x00 // bit 6 - DBE input to PLD array (1=off) // bit 5 - ALE input to PLD array (1=off) // bit 4 - CNTL2 input to PLD array (1=off) // bit 3 - CNTL1 input to PLD array (1=off) // bit 2 - CNTL0 input to PLD array (1=off) #define PSD_PAGE PSD_REG_BASE +0xE0 #define PSD_VM PSD_REG_BASE +0xE2 #define MEMORY_ID0 PSD_REG_BASE +0xF0 /* 只读 */ #define MEMORY_ID1 PSD_REG_BASE +0xF1 /* 只读 */ #define ADFREQ_COEF 0x13E0 /* */ #define AD7874_CMD 0x13E4 /* */ #define AD7874_DAT 0x13E4 /* */ #define EXINT_INT_BIT 0x4000 #define EPA0_INT_BIT 0x0010 #define EPA1_INT_BIT 0x0008 #define EPA2_INT_BIT 0x0004 #define EPA3_INT_BIT 0x0002 #define EPA4_INT_BIT 0x0001 #define EPA5_INT_BIT 0x0001 #define EPA6_INT_BIT 0x0001 #define EPA7_INT_BIT 0x0001 #define EPA8_INT_BIT 0x0001 #define EPA9_INT_BIT 0x0001 #define EPA4_EPAMASK_BIT 0x8000 #define EPA5_EPAMASK_BIT 0x4000 #define EPA6_EPAMASK_BIT 0x2000 #define EPA7_EPAMASK_BIT 0x1000 #define EPA8_EPAMASK_BIT 0x0800 #define EPA9_EPAMASK_BIT 0x0400 #define EPA0_OVR_BIT 0x0200 #define EPA1_OVR_BIT 0x0100 #define EPA2_OVR_BIT 0x0080 #define EPA3_OVR_BIT 0x0040 #define EPA4_OVR_BIT 0x0020 #define EPA5_OVR_BIT 0x0010 #define EPA6_OVR_BIT 0x0008 #define EPA7_OVR_BIT 0x0004 #define EPA8_OVR_BIT 0x0002 #define EPA9_OVR_BIT 0x0001 #define COMP_CH0_BIT 0x0008 #define COMP_CH1_BIT 0x0004 #define TIMR1_OVR_BIT 0x0002 #define TIMR2_OVR_BIT 0x0001 #define SRXD_INT_BIT 0x10 #define STXD_INT_BIT 0x08 #define CAPTURE 0x00 #define BOTH_EDGE 0x30 #define UP_EDGE 0x20 #define DOWN_EDGE 0x10 #define USE_TIMER1 0x00 #define USE_TIMER2 0x80 #define COMPARE 0x40 #define IGNORES 0x00 #define OVERWRITES 0x01 #define RE_ENABLE 0x08 #define CLR_PIN 0x10 #define SET_PIN 0x20 #define TOGGLE_PIN 0x30 #define RESET_OWN_TIMER 0x01 /* ROT=0 ON/RT=1 */ #define RESET_THE_TIMER 0x03 /* ROT=1 ON/RT=1 */ #define DS12887BASE 0x001100 #define DS_SECOND DS12887BASE+0x00 #define DS_SECONDWARN DS12887BASE+0x01 #define DS_MINUTE DS12887BASE+0x02 #define DS_MINUTEWARN DS12887BASE+0x03 #define DS_HOUR DS12887BASE+0x04 #define DS_HOURWARN DS12887BASE+0x05 #define DS_WEEK DS12887BASE+0x06 #define DS_DATE DS12887BASE+0x07 #define DS_MONTH DS12887BASE+0x08 #define DS_YEAR DS12887BASE+0x09 #define DS_REGA DS12887BASE+0x0A #define DS_REGB DS12887BASE+0x0B #define DS_REGC DS12887BASE+0x0C #define DS_REGD DS12887BASE+0x0D #define DS_CENTURY DS12887BASE+0x32 #define FLASH_COMMON_MAIN_XAAA 0x9AAA+PSD_MAIN_BASE #define FLASH_COMMON_MAIN_X554 0x9554+PSD_MAIN_BASE #define FLASH_COMMON_BOOT_XAAA 0x0AAA+PSD_FLASH_BASE #define FLASH_COMMON_BOOT_X554 0x0554+PSD_FLASH_BASE #define LITTLE_ENDIAN // comment out this line if big-endian data format is // used by MCU. Leave it the way it is if little-endian // format is used by MCU. See note above. #ifdef LITTLE_ENDIAN // mask patterns for little-endian MCU format #define NVM_DATA_POLL 0x0080 // flash status "data poll" bit at DQ7 #define NVM_DATA_TOGGLE 0x0040 // flash status "toggle poll" bit at DQ6 #define NVM_ERROR 0x0020 // flash status "error" bit at DQ5 #else // mask patterns for big-endian MCU format #define NVM_DATA_POLL 0x8000 // flash status "data poll" bit at DQ15 #define NVM_DATA_TOGGLE 0x4000 // flash status "toggle poll" bit at DQ14 #define NVM_ERROR 0x2000 // flash status "error" bit at DQ13 #endif #define KEYCONTROL 0x0013C2 /* 0:输入 1: 输出 */ #define KEYDATA 0x0013C0 #define NULLKEY 0xff #define RESET 0x0A /* 复位键 KEYDATA.8 */ #define F2 0x09 /* 修改键 KEYDATA.8 */ #define F1 0x08 /* 修改键 KEYDATA.8 */ #define OKKEY 0x07 /* 确认键 KEYDATA.7 */ #define ESCKEY 0x06 /* ESC KEYDATA.6 */ #define MINUSKEY 0x05 /* -/复归 KEYDATA.5 */ #define PLUSKEY 0x04 /* +/功能 KEYDATA.4 */ #define RIGHTKEY 0x03 /* Right KEYDATA.3 */ #define DOWNKEY 0x02 /* Down KEYDATA.2 */ #define UPKEY 0x01 /* UP KEYDATA.1 */ #define LEFTKEY 0x00 /* Left KEYDATA.0 */ #define COUNT_ENABLE 0x80 #define COUNT_UP 0x40 #define CLOCK_INTERNAL 0x00 #define DIVIDE_BY_1 0x00 #define DIVIDE_BY_2 0x01 #define DIVIDE_BY_4 0x02 #define LCD_CMD_WR 0x4F /* 0 0 PE.5=LED1=RD/WR PE.4=LED0=D/I */ #define LCD_CMD_RD 0x6F /* 1 0 */ #define LCD_DAT_WR 0x5F /* 0 1 */ #define LCD_DAT_RD 0x7F /* 1 1 */ #define WdogLTaskNo 100 #define WdogHTaskNo 101 #define FALSE 0 #define TRUE 1 #define IGNORE 0 #define ABORT 2 #ifndef __IEC101MODE #define C_RQ_NA_1_LNKREQ 0 /* 请求链路状态 */ #define M_RQ_NA_1_LNKRES 1 /* 链路状态响应帧 */ #define C_RL_NA_1_SEND 2 /* 复位远方链路 */ #define M_RL_NA_1_CON 3 /* 复位远方链路确认帧 */ #define M_RQ_NA_1_LNKREQ 4 /* 子站请求链路状态 */ #define C_RQ_NA_1_LNKRES 5 /* 主站链路状态响应帧 */ #define M_RL_NA_1_LNKACT 6 /* 子站复位远方链路 */ #define C_RL_NA_1_ACTCON 7 /* 子站复位远方链路确认帧 */ #define C_CON_NA_1 8 /* 主站对子站主动触发帧的确认帧 */ #define M_NV_NA_1 9 /* 无所请求的数据帧 */ #define C_P1_NA_1 10/* 召唤1级数据 */ #define C_P2_NA_1 11/* 召唤2级数据 */ #define C_PA_NA_1 12/* 召唤要求访问位的请求帧 */ #define C_PA_NA_1RES 13/* 召唤要求访问位的响应帧 */ #define C_RP_NA_1ACT 14/* 复位远动终端发送帧 */ #define C_RP_NA_1ACTCON 15/* 复位远动终端确认帧 */ #define C_IC_NA_1ACT 16/* 总召唤命令帧 */ #define C_IC_NA_1ACTCON 17/* 总召唤确认帧 */ #define M_ME_NA_1CYCLIC 18/* 带品质描述的遥测帧 */ #define M_ME_ND_1CYCLIC 19/* 不带品质描述的遥测帧 */ #define M_SP_NA_1CYCLIC 20/* 单点遥信帧 */ #define M_DP_NA_1CYCLIC 21/* 双点遥信帧 */ #define M_ST_NA_1CYCLIC 22/* 变压器分接头帧 */ #define M_BO_NA_1CYCLIC 23/* 远动终端状态帧 */ #define M_BD_NA_1CYCLIC 24/* BCD码响应帧 */ #define M_IC_NA_1ACTTERM 25/* 总召唤结束帧 */ #define C_IC_NA_1CYCLICACT 26/* 分组召唤发送帧 */ #define C_IC_NA_1CYCLICACTCON 27/* 分组召唤响应帧 */ #define M_RL_NA_1 28/* 主站初始化结束响应帧 */ #define M_EI_NA_1 29/* 子站初始化结束帧 */ #define C_CS_NA_1ACT 30/* 时钟同步发送帧 */ #define C_CS_NA_1ACTCON 31/* 时钟同步确认帧 */ #define M_ME_NA_1SPONT 32/* 带品质描述的遥测数据变化响应帧 */ #define M_ME_ND_1SPONT 33/* 不带品质描述的遥测数据变化响应帧 */ #define M_ME_TA_1SPONT 34/* 带时标的遥测数据变化响应帧 */ #define M_ST_NA_1SPONT 35/* 变压器分接头变化响应帧 */ #define M_BD_NA_1SPONT 36/* BCD码变化响应帧 */ #define M_SP_TA_1 37/* 单点信息事件顺序记录帧 */ #define M_DP_TA_1 38/* 双点信息事件顺序记录帧 */ #define M_EP_TA_1 39/* 继电器保护装置单点信息事件顺序记录帧 */ #define M_EP_TB_1 40/* 继电器保护装置 成组启动事件顺序记录帧 */ #define M_EP_TC_1 41/* 继电器保护装置 成组输出电路事件顺序记录帧 */ #define M_ST_TA_1 42/* 带时标的步位置信息(变压器分接头)帧 */ #define M_SP_NA_1SPONT 43/* 单点信息状态变位帧 */ #define M_DP_NA_1SPONT 44/* 双点遥信变位帧 */ #define M_PS_NA_1SPONT 45/* 状态和状态变位的遥信帧 */ #define M_BO_NA_1SPONT 46/* 远动终端状态变化帧 */ #define C_RD_NA_1ACT 47/* 由主站的读命令发送帧 */ #define M_CON_NA_1ACTCON 48/* 读数据命令的确认帧 */ #define M_DATA_NA_1SPONT 49/* 由主站的读命令形成的1级用户数据帧 */ #define C_DC_NA_1ACT 50/* 遥控选择命令 发送帧 */ #define C_DC_NA_1ACTCON 51/* 遥控选择命令 确认帧 */ #define C_DC_NA_1DEACT 52/* 遥控撤消命令 发送帧 */ #define C_DC_NA_1DEACTCON 53/* 遥控撤消命令 确认帧 */ #define C_DC_NA_1EXCO 54/* 遥控执行命令 发送帧 */ #define C_DC_NA_1EXCOCON 55/* 遥控执行命令 确认帧 */ #define C_RC_NA_1ACT 56/* 升降选择命令 发送帧 */ #define C_RC_NA_1ACTCON 57/* 升降选择命令 确认帧 */ #define C_RC_NA_1DEACT 58/* 升降撤消命令 发送帧 */ #define C_RC_NA_1DEACTCON 59/* 升降撤消命令 确认帧 */ #define C_RC_NA_1EXCO 60/* 升降执行命令 发送帧 */ #define C_RC_NA_1EXCOCON 61/* 升降执行命令 确认帧 */ #define C_SE_NA_1ACT 62/* 设点命令 发送帧 */ #define C_SE_NA_1ACTCON 63/* 设点命令 确认帧 */ #define C_CI_NA_1ACT 64/* 冻结和召唤电能脉冲 发送帧 */ #define C_CI_NA_1ACTCON 65/* 冻结和召唤电能脉冲 确认帧 */ #define M_IT_NA_1CYCLIC 66/* 电能脉冲计数量响应帧 */ #define M_IT_TA_1CYCLIC 67/* 带时标电能脉冲计数量响应帧 */ #define C_CI_NA_1ACTTERM 68/* 电能脉冲计数量结束帧 */ #define C_CI_NA_TACT 69/* 分组召唤电能脉冲计数量请求帧 */ #define M_IT_NA_1 70/* 分组召唤电能脉冲计数量响应帧 */ #define M_IT_TA_1 71/* 分组带时标电能脉冲计数量响应帧 */ #define P_ME_NA_1ACT 72/* 设置参数的发送帧 */ #define P_ME_NA_1CON 73/* 设置参数的确认帧 */ #define P_AC_NA_1ACT 74/* 设置激活的发送帧 */ #define P_AC_NA_1CON 75/* 设置激活的确认帧 */ #define C_TS_NA_1ACT 76/* 测试通道发送帧 */ #define C_TS_NA_1ACTCON 77/* 测试通道的确认帧 */ #define F_SC_NA_1ACT 78/* 召唤文件、目录、节和文件选择命令 */ #define F_DR_TA_1ACTCON 79/* 目录响应帧 */ #define F_FR_NA_1ACTCON 80/* 文件准备好确认帧 */ #define F_SR_NA_1ACTCON 81/* 节准备好确认帧 */ #define F_SG_NA_1ACTCON 82/* 段的响应帧 */ #define F_LS_NA_1ACTCON 83/* 最后节、最后段的确认帧 */ #define F_AF_NA_1ACTCON 84/* 文件、节的确认帧 */ #define M_BY_NA_1 85/* 忙帧 */ #define C_CI_NA_1ACTSTS 86/* 主站处于收集电能脉冲 状态 */ #define M_CI_NA_1ACTSTS 87/* 子站电能脉冲计数量响应帧 状态 */ #define M_IT_NA_TA_1 88 /* 分组(带时标)电能脉冲计数量响应帧 */ #define F_ALL_NA_1ACTCON 89 /* 子站文件传输所有确认帧 */ #define M_IC_NA_1ACTSTS 90 /* 子站响应总召唤数据帧 */ #define C_IC_NA_1ACTSTS 91 /* 主站处于总召唤状态 */ #define M_P1_NA_1STS 92/* 子站响应1级数据 */ #define M_P2_NA_1STS 93/* 子站响应2级数据 */ #define HSHUP 0x40 /* 主站向子站传输 主站为启动站 */ #define SHHUP 0x80 /* 子站向主站响应 主站为启动站 */ #define HSSUP 0x00 /* 子站向主站传输 子站为启动站 */ #define SHSUP 0xc0 /* 主站向子站响应 子站为启动站 */ #define __IEC101MODE #endif #define PIO_A_DAT 0x13C4 /* 数据总线 */ #define PIO_B_DAT 0x13C5 /* 地址总线 */ #define PIO_A_CMD 0x13C6 /* 0-INPUT 1-OUTPUT */ #define PIO_B_CMD 0x13C7 /* 0-INPUT 1-OUTPUT */ #define PIO_C_DAT 0x13C8 #define PIO_D_DAT 0x13C9 #define PIO_C_CMD 0x13CA /* 0-INPUT 1-OUTPUT */ #define PIO_D_CMD 0x13CB /* 0-INPUT 1-OUTPUT */ #define PTC_A_DAT 0x13CC #define PTC_B_DAT 0x13CD #define PTC_A_CMD 0x13CE /* 0-INPUT 1-OUTPUT */ #define PTC_B_CMD 0x13CF /* 0-INPUT 1-OUTPUT */ #define WSR_380H_3FFH 0x17 /* 128 字节 080H-0FFH */ #define WSR_300H_37FH 0x16 /* 128 字节 080H-0FFH */ #define WSR_280H_2FFH 0x15 /* 128 字节 080H-0FFH */ #define WSR_200H_27FH 0x14 /* 128 字节 080H-0FFH */ #define WSR_180H_1FFH 0x13 /* 128 字节 080H-0FFH */ #define WSR_100H_17FH 0x12 /* 128 字节 080H-0FFH */ #define WSR_3C0H_3FFH 0x2F /* 64 字节 0C0H-0FFH */ #define WSR_380H_3BFH 0x2E /* 64 字节 0C0H-0FFH */ #define WSR_340H_37FH 0x2D /* 64 字节 0C0H-0FFH */ #define WSR_300H_33FH 0x2C /* 64 字节 0C0H-0FFH */ #define WSR_2C0H_2FFH 0x2B /* 64 字节 0C0H-0FFH */ #define WSR_280H_2BFH 0x2A /* 64 字节 0C0H-0FFH */ #define WSR_240H_27FH 0x29 /* 64 字节 0C0H-0FFH */ #define WSR_200H_23FH 0x28 /* 64 字节 0C0H-0FFH */ #define WSR_1C0H_1FFH 0x27 /* 64 字节 0C0H-0FFH */ #define WSR_180H_1BFH 0x26 /* 64 字节 0C0H-0FFH */ #define WSR_140H_17FH 0x25 /* 64 字节 0C0H-0FFH */ #define WSR_100H_13FH 0x24 /* 64 字节 0C0H-0FFH */ #define WSR_3E0H_3FFH 0x5F /* 32 字节 0E0H-0FFH */ #define WSR_3C0H_3DFH 0x5E /* 32 字节 0E0H-0FFH */ #define WSR_3A0H_3BFH 0x5D /* 32 字节 0E0H-0FFH */ #define WSR_380H_39FH 0x5C /* 32 字节 0E0H-0FFH */ #define WSR_360H_37FH 0x5B /* 32 字节 0E0H-0FFH */ #define WSR_340H_35FH 0x5A /* 32 字节 0E0H-0FFH */ #define WSR_320H_33FH 0x59 /* 32 字节 0E0H-0FFH */ #define WSR_300H_31FH 0x58 /* 32 字节 0E0H-0FFH */ #define WSR_2E0H_2FFH 0x57 /* 32 字节 0E0H-0FFH */ #define WSR_2C0H_2DFH 0x56 /* 32 字节 0E0H-0FFH */ #define WSR_2A0H_2BFH 0x55 /* 32 字节 0E0H-0FFH */ #define WSR_280H_29FH 0x54 /* 32 字节 0E0H-0FFH */ #define WSR_260H_27FH 0x53 /* 32 字节 0E0H-0FFH */ #define WSR_240H_25FH 0x52 /* 32 字节 0E0H-0FFH */ #define WSR_220H_23FH 0x51 /* 32 字节 0E0H-0FFH */ #define WSR_200H_21FH 0x50 /* 32 字节 0E0H-0FFH */ #define WSR_1E0H_1FFH 0x4F /* 32 字节 0E0H-0FFH */ #define WSR_1C0H_1DFH 0x4E /* 32 字节 0E0H-0FFH */ #define WSR_1A0H_1BFH 0x4D /* 32 字节 0E0H-0FFH */ #define WSR_180H_19FH 0x4C /* 32 字节 0E0H-0FFH */ #define WSR_160H_17FH 0x4B /* 32 字节 0E0H-0FFH */ #define WSR_140H_15FH 0x4A /* 32 字节 0E0H-0FFH */ #define WSR_120H_13FH 0x49 /* 32 字节 0E0H-0FFH */ #define WSR_100H_11FH 0x48 /* 32 字节 0E0H-0FFH */ #define WSR_1FC0H_1FFFH 0x3F /* 64 字节 0C0H-0FFH */ #define WSR_1F80H_1FBFH 0x3E /* 64 字节 0C0H-0FFH */ #define WSR_1F40H_1F7FH 0x3D /* 64 字节 0C0H-0FFH */ #define WSR_1F00H_1F3FH 0x3C /* 64 字节 0C0H-0FFH */ #define WSR_1FE0H_1FFFH 0x7F /* 32 字节 0E0H-0FFH */ #define WSR_1FC0H_1FDFH 0x7E /* 32 字节 0E0H-0FFH */ #define WSR_1FA0H_1FBFH 0x7D /* 32 字节 0E0H-0FFH */ #define WSR_1F80H_1F9FH 0x7C /* 32 字节 0E0H-0FFH */ #define WSR_1F60H_1F7FH 0x7B /* 32 字节 0E0H-0FFH */ #define WSR_1F40H_1F5FH 0x7A /* 32 字节 0E0H-0FFH */ #define WSR_1F20H_1F3FH 0x79 /* 32 字节 0E0H-0FFH */ #define WSR_1F00H_1F1FH 0x78 /* 32 字节 0E0H-0FFH */ /*-------------------------公共结构--------------------------------*/ #ifndef __ENUMSTATUS enum Ykstatus{yknull,yksetup,ykproof,ykexcute,ykcancel,waitproof}; enum TxdS {SEND, WAIT}; enum RxdS {START, HEAD, FRAME}; enum Letterstatus { boxnull, yk, hscoll, sgjl }; enum Log { LOGOFF, LOGING, LOGON }; enum LinkStatus_enum {LinkOFF,LinkON,LinkBusy,LinkReady }; enum ComMode_enum {HostStation,SubStation}; enum HSstatus {HSnull,HSsetup,HScall,HSsecall,HSDBRN}; enum Sgstatus {sgnull,fritrn,sectrn,endtrn}; #define __ENUMSTATUS #endif #ifndef __DISMENUSTRUCT enum FILESTATUS{UNOPENFILE,OPENFILE,ERROR}; enum ACTION{OPEN,FLASH,NOUSE,ADJUST}; enum MENU { FACE_MENU, MAIN_MENU, ZJ_MENU, YC_MENU, YX_MENU, YK_MENU, YM_MENU, FREQ_MENU, SDSET_MENU, SSET_MENU, BHSET_MENU, MEM_MENU, COM_MENU, BHCOM_MENU, TIME_MENU, SOE_MENU, COMSET_MENU, LINESET_MENU, COMCFG_MENU, JCSET_MENU, DCSET_MENU, YCSET_MENU, YXSET_MENU, MODESET_MENU, YMSET_MENU, YKSET_MENU, YKDSET_MENU, YCDEBUG_MENU, STU_MENU, YXDEBUG_MENU, KRDSET_MENU, YMDSET_MENU, FILE_MENU, MEMReg1_MENU, MEMReg2_MENU, MEMRam196_MENU,MEMRamPSD_MENU, MEMRam256_MENU, MEMFlashPSD_MENU,MEMX25043_MENU, DCPLAY_MENU, JCPLAY_MENU, LINEPLAY_MENU, TEMPERPLAY_MENU, MCDD_MENU, JFDD_MENU, PQJUST_MENU, NODESET_MENU, SETUP_MENU, COMSPEED_MENU, COMPRO_MENU, COMJUST_MENU, COMSYN_MENU, COMDATB_MENU, COMSTOPB_MENU, COMFLW_MENU, COMREP_MENU, COMOVW_MENU, COMWORD_MENU, KRSET_MENU, SYXSET_MENU, HYXSET_MENU, COMRXD_MENU, COMTXD_MENU, DWSET_MENU, DWPLAY_MENU, VERSION_MENU }; #define __DISMENUSTRUCT #endif #ifndef __KWHSUMSTRUCT union DWTEMP_ST { DWORD Value; struct VByte { unsigned char LowB0,LowB1,HighB0,HighB1; }VB; struct VWord { unsigned int LowW,HighW; }VW; }; #define __KWHSUMSTRUCT #endif #ifndef __RECCODE union WTEMP_ST { unsigned int Word; struct Byte { unsigned char Low,High; } B; }; #define __RECCODE #endif #ifndef _RECCODEINT union ITEMP_ST { int integer; struct Byte B; }; #define _RECCODEINT #endif #ifndef __MESSAGESTRUCT struct Mail { unsigned char Data[MaxMailLength]; /* Data array */ struct Mail FARDATA *Link; unsigned int SendTime; }; #define __MESSAGESTRUCT #endif #ifndef __TASKITEM struct TaskItem { unsigned char Use; // 00 net use ff use; unsigned char UpTaskNo; unsigned char DownTskNo; unsigned char WaitControl; // D7:TIMER,D6:OVERWAIT TIME,D5:RECIVE LETTER,D4:Sempore4,D3:Sempore3,....D0:Sempore0 unsigned char WaitStatus; unsigned char ResetNum; //复位次数 struct Mail FARDATA *pMail; unsigned int TimerCount; unsigned int TimerLimit; // MAX TIMER TIME 65536*10MS,SET BY SetTimer unsigned int OverWaitCount; unsigned int OverWaitLimit; int MailQueueLimit; int MailQueueLength; struct Mail FARDATA *MailQueueHead; // GET LETTER FROM THE FRONT struct Mail FARDATA *MailQueueTail; // RECIVE LETTER FROM THE REAR PVOID *Args; void (*TaskFunc)(PVOID *Args); unsigned int DeviceType; //设备驱动类型 unsigned int DeviceNum; //设备驱动表序号 PVOID *DevPtr; //设备驱动表指针 void (*DeviceFunc)(PVOID *DevPtr); //设备驱动程序 }; #define __TASKITEM #endif #ifndef __POSTSTATIONSTRUCT struct PostStationStruct { int MailQueueLength; int TotMailNum; struct Mail FARDATA *MailQueueHead; }; #define __POSTSTATIONSTRUCT #endif #ifndef __SYSVARSTRUCTT struct SYS_Var_st { unsigned int V[20]; }; #define __SYSVARSTRUCTT #endif #ifndef __SOERecordSTRUCT struct SOERecorde { unsigned char MSL; unsigned char MSH; unsigned char Second; unsigned char Minute; unsigned char Hour; unsigned char Date; unsigned char Object0; unsigned char Object1; }; #define __SOERecordSTRUCT #endif #ifndef __LCDSTRUCT struct LcdXYStruct { unsigned int recrow; unsigned int reccol; unsigned int reccon; unsigned int trnrow; unsigned int trncol; unsigned int trncon; unsigned char LcdTxdBuf[128]; unsigned char LcdRxdBuf[128]; }; #define __LCDSTRUCT #endif /* #ifndef __AscSTRUCTT struct Asc_st { unsigned char b[16]; }; #define __AscSTRUCTT #endif */ #ifndef __SYSTIMESTRUCT struct SYSTIME { unsigned int second; unsigned char minute; unsigned char hour; unsigned int date; unsigned int month; unsigned int year; unsigned int century; unsigned int TBUF[14]; }; #define __SYSTIMESTRUCT #endif #ifndef __LineTypeSTRUCT struct TLine { int LT; // 0--单相 1--二表 2--三表 3--无 int Value[16]; /*int Ua; // ACValue[Ua] //0 int Ub; // ACValue[Ub] //1 int Uc; // ACValue[Uc] //2 int Ia; // ACValue[Ia] //3 int Ib; // ACValue[Ib] //4 int Ic; // ACValue[Ic] //5 int Pa; // Ua*Ia //6 int Pb; // Ub*Ib //7 int Pc; // Uc*Ic //8 int P; // Pa+Pb+Pc //9 int Qa; // Ua*Ia //10 int Qb; // Ub*Ib //11 int Qc; // Uc*Ic //12 int Q; // Qa+Qb+Qc //13 int COS; // P/[P+Q] //14 int Freq; // FQValue[Freq]//15 */ }; #define __LineTypeSTRUCT #endif #ifndef __TCOMSETSTRUCT struct TComSet //串行通信口通用设置表 { unsigned int node; //节 点 号 unsigned int setup; //启动方式 unsigned int speed; //通信速率 unsigned int protocol; //通信规约 unsigned int checkdigit; //奇偶校验 unsigned int transmitmode; //传输方式 unsigned int databit; //数 据 位 unsigned int stopbit; //停 止 位 unsigned int flowcontrol; //流 控 制 unsigned int reframe; //重发帧数 unsigned int overwait; //超时等待 unsigned int synword; //内同步字 unsigned int synword1; //外同步字1 unsigned int synword2; //外同步字2 unsigned int synword3; //外同步字3 }; #define __TCOMSETSTRUCT #endif #ifndef __TCOMSTRUCT struct TComStruct //串行通信口驱动程序通用变量表 { unsigned char UseInfo; unsigned int Status; unsigned char ModemStatus; unsigned char FlwCtr; unsigned char BaudRate; unsigned char DataLen; unsigned char Parity; unsigned char StopBit; unsigned char Sync; unsigned char MaxComErr; unsigned char RepSendFramNo; unsigned char OverWaitLimit; unsigned char ResetNum; int TxdBufHead; int TxdBufTail; int TxdBufLength; int TxdBufFront; int TxdBufRear; unsigned char FARDATA *TxdBuf; int TxdBufSize; int TxdProWarn; unsigned int FARDATA *RxdBuf; unsigned char FARDATA *CanRxdBuf; int RxdBufTail; int RxdBufHead; int RxdBufLength; int RxdBufSize; int RxdProWarn; int RxdBufRear; unsigned char *LcdBuf; struct CanMail *headCanMail; struct CanMail *TransCanMail; void (*SendFunc)(unsigned char ComsDat); void (*SearchFunc)(unsigned char ComNo); PVOID *Args; void (*OldIntFunc)(PVOID *Args); }; #define __TCOMSTRUCT #endif /* #ifndef __TIEC101LINKSTRUCT struct TIEC101LinkStruct //串行通信IEC101Link链路层维护软件规约程序变量表 { FILE *fp; long FileLength; unsigned char ComTaskNo; unsigned char UpTaskNo; unsigned char TaskNo; unsigned char Control; unsigned char TxdCode; unsigned char TxdExtCode; unsigned char FARDATA *TxdBuf; unsigned int TxdBufLength; unsigned int TxdPtr; unsigned char TxdRepeat; unsigned char TxdPacketNo; unsigned char FARDATA *TrnLetter; unsigned int FARDATA *RxdBuf; unsigned char FARDATA *RecBuf; unsigned char FARDATA *RecLetter; unsigned int RxdBufLength; unsigned int RxdFrameLength; unsigned char RxdPacketNo; unsigned char RxdPacketLength; unsigned char RxdCode; unsigned char RxdExtCode; unsigned int CheckSum; unsigned char StatusCode; unsigned char ReadFlag; unsigned char LinkLength; unsigned char TxStatus; unsigned char FrameStatus; unsigned char LinkControl; unsigned char Linkadr; unsigned char LinkCS; unsigned char LinkEnd; unsigned char FCB; enum RxdS RxdStatus; enum TxdS TxdStatus; enum Ykstatus Ykcomm; enum Letterstatus Letter_from_box; enum Log LogStatus; enum LinkStatus_enum LinkStatus; enum ComMode_enum ComMode; }; #define __TIEC101LINKSTRUCT #endif #ifndef __TIEC101USERSTRUCT struct TIEC101UserStruct //串行通信IEC101User用户层维护软件规约程序变量表 { unsigned char DownTaskNo; unsigned char UpTaskNo; unsigned char TaskNo; unsigned char Control; unsigned char TxdCode; unsigned char TxdExtCode; unsigned char FARDATA *TxdBuf; unsigned int TxdBufLength; unsigned int TxdPtr; unsigned char TxdRepeat; unsigned char TxdPacketNo; unsigned char FARDATA *TrnLetter; unsigned int FARDATA *RxdBuf; unsigned char FARDATA *RecBuf; unsigned char FARDATA *RecLetter; unsigned int RxdBufLength; unsigned int RxdFrameLength; unsigned char RxdPacketNo; unsigned char RxdPacketLength; unsigned char RxdCode; unsigned char RxdExtCode; unsigned int CheckSum; unsigned char StatusCode; unsigned char ReadFlag; unsigned char LinkLength; enum RxdS RxdStatus; enum TxdS TxdStatus; enum Ykstatus Ykcomm; enum Letterstatus Letter_from_box; enum Log LogStatus; enum LinkStatus_enum LinkStatus; enum ComMode_enum ComMode; }; #define __TIEC101USERSTRUCT #endif */ #ifndef __TCOMCONFIGSTRUCT struct TComConfig //串行通信规约配置表 { unsigned char Use; // 00 net use ff use; unsigned char Com; }; #define __TCOMCONFIGSTRUCT #endif #ifndef __TWATCHDOGCOMSTRUCT struct WatchDogStruct { PVOID *Args; void (*TaskFunc)(PVOID *Args); }; #define __TWATCHDOGCOMSTRUCT #endif #ifndef __ALLVARSTRUCT struct AllVarStruct { unsigned char passid; unsigned char passop; unsigned char SSetMenuCount; unsigned char MemMenuCount; unsigned char ScfgMenuCount; unsigned char YCCursorCount; unsigned char MainMenuCount; unsigned char YMMenuCount; unsigned char KRMenuCount; unsigned char MemCursorCount; unsigned char YMCursorCount; unsigned char KRCursorCount; unsigned char YMValueType; unsigned char YWValueType; unsigned char yksz; unsigned char YKCursor; unsigned char ykbs; unsigned char yksts; unsigned char ykcmd; unsigned char ykrtn; unsigned char CursorCount; unsigned char ScfgCursorCount; unsigned char NewCursorOffset; unsigned char OldCursorOffset; unsigned char LineNum; unsigned char ZJMenuCount; unsigned char YCMenuCount; unsigned char ymhn; unsigned char ywhn; unsigned char LcdAChg; unsigned char LcdAx; unsigned char LcdAy; unsigned char LcdBx; unsigned char LcdBChg; unsigned char LcdBy; int TemperValue; unsigned int RunCounts; unsigned int RegNum1; unsigned int RegNum2; unsigned int RegNum3; unsigned int RegNum4; unsigned int RegNum6; unsigned int RegNum7; unsigned int ycnum; unsigned int dcnum; unsigned int jcnum; unsigned int krnum; unsigned int kcnum; unsigned int yxnum;//遥信板个数 unsigned int ymnum;//遥脉板个数 unsigned int yxsum; unsigned int ymsum; unsigned int yksum; unsigned int YKFlashTime; unsigned int YKFlash; unsigned int ykdelay; unsigned int DCCount; unsigned int JCCount; unsigned int KRCount; unsigned int maxlnnum; unsigned int LNCount; unsigned int LineCount; unsigned int LnYcnum; unsigned int lnsum; unsigned int LastYcnum; unsigned int maxyxnum; unsigned int maxymnum; unsigned int maxywnum; unsigned int maxyknum; unsigned int YXCount; unsigned int YMCount; unsigned int YWCount; unsigned int YKCount; unsigned int LcdACount; unsigned int LcdBCount; unsigned int KeyFg; unsigned int Keytm[16]; unsigned long RegNum5; int DCValue[64]; int JCValue[64]; unsigned char IC1821; unsigned char ComMenuCount; unsigned char Com1Count; unsigned char ComCount; unsigned char ComCursorCount; unsigned char CommCount; unsigned char CommCursorCount; unsigned char ComSetCursorCount; unsigned char Com1CursorCount; unsigned char MRCount; unsigned char YCLNCount; unsigned char COMID; unsigned int SoeNum; unsigned char PIO_A_IMAGE; unsigned char PIO_B_IMAGE; unsigned char PIO_C_IMAGE; unsigned char PIO_D_IMAGE; unsigned char PTC_A_IMAGE; unsigned char PTC_B_IMAGE; unsigned char INTASC8[16]; unsigned int flash_dat[4100]; unsigned int flash_dat_bak[4100]; unsigned int SYXCount; unsigned int syxnum; unsigned int Can_Error[2]; unsigned int ACWorkMode; unsigned int DCWorkMode; unsigned int PQWorkMode; unsigned int PowerWorkMode; long freqvalue[12]; unsigned long scale; int freqcount; int freqsplt; unsigned int oldfreqvalue; unsigned int freqdivsum; unsigned int displayline;// 线 路 unsigned int workmode; unsigned char YkTyp; unsigned char YkNum; unsigned char YKFG; unsigned char Can_second; unsigned char Can_minute; unsigned char Can_hour; unsigned char Can_date; unsigned char Can_month; unsigned char Can_year; unsigned char Can_century; unsigned char Can_clock_fg; unsigned char YKRecLetter[32]; unsigned char YKTrnLetter[32]; unsigned char YKMRecLetter[32]; unsigned char YKMTrnLetter[32]; unsigned char Letter[32]; unsigned char Letter_Flag; unsigned int SampleCycle; unsigned int can_flag[12]; unsigned int *adbuf; unsigned int *headADBUF; unsigned int OldYSCON; unsigned int BvLedCount; int Aspeed; int Arcflag; unsigned int NewKey; unsigned int OldKey; unsigned char KeyValue; unsigned char KeyID; unsigned char Lcd_BG_Flag; int Lcd_BG_Count; unsigned int KeyTimeCount; unsigned int *ADBUF[16]; unsigned int stop; unsigned int old; unsigned int new; unsigned int sdelay; int adjust_count; unsigned int adjust_coef[40]; int adjust_pcoef[40]; unsigned int ResetSum; unsigned int ComType; unsigned int ComRowCount; unsigned int ComStop; unsigned int DWCount; unsigned int DWBitNo; unsigned int DWTypNo; unsigned int DWModeFlag; int RunCount; int ComCounts; int flash; int S0; int pass_image; int split_Q_image[32]; int split_Q_flag[32]; int split_P_image[32]; int split_P_flag[32]; int split_image[64]; int split_flag[64]; int split_dc_image[64]; int split_dc_flag[64]; struct SYSTIME *stptr; struct SYSTIME systime; unsigned int DWFlashCount; unsigned char line_type_flag; long PP; long QQ; union DWTEMP_ST Can_ms; enum MENU MenuMode; enum ACTION action; enum Ykstatus ykcomm; }; #define __ALLVARSTRUCT #endif #ifndef __STTIMESTRUCT union StTime { struct WSTTIME { unsigned int st_ms; unsigned int st_sec_min; unsigned int st_hou_day; }WS; struct BSTTIME { unsigned char st_msl; unsigned char st_msh; unsigned char st_sec; unsigned char st_min; unsigned char st_hou; unsigned char st_day; }BS; }; #define __STTIMESTRUCT #endif #ifndef __SOESTRUCT struct SoeStruct { unsigned char msl; unsigned char msh; unsigned char sec; unsigned char min; unsigned char hou; unsigned char day; unsigned char object0; unsigned char object1; unsigned char month; unsigned char year; }; #define __SOESTRUCT #endif #ifndef __LNTYPESTRUCT struct LNTYPE {//线路量数据库 int Value[16]; int WndValue[16]; /*int U1; // U1 //0 int U2; // U2 //1 int U3; // U3 //2 int I1; // I1 //3 int I2; // I2 //4 int I3; // I3 //5 int P1; // U1*I1 //6 int P2; // U2*I2 //7 int P3; // U3*I3 //8 int P; // P1+P2+P3 //9 int Q1; // U1*I1 //10 int Q2; // U2*I2 //11 int Q3; // U3*I3 //12 int Q; // Q1+Q2+Q3 //13 int COS; // P/[P+Q] //14 int Freq; // FQValue[Freq]//15 */ int Channel[8]; // 通道 int PSK_ADJUST[3]; // 单相功率斜率校正系数 int PARC_ADJUST[3];// 单相功率角度校正系数 int P_ARC[3]; // U1^I1 U2^I2 U3^I3 int PQARC; int U_ARC[3]; // Ua Ub Uc 角度 int Ua; int Ub; int Uc; int U0; int Uabc; int segfg; int SampleType; unsigned long oldsystimems; unsigned long newsystimems; unsigned long dt; unsigned long YWBuf[4];//WP+ WP- WQ+ WQ- }; #define __LNTYPESTRUCT #endif #ifndef __ADCTYPESTRUCT struct ADCTYPE {//交直流量数据库 int ARC[16]; // 角度 int ZVALUE[16];// 幅值 int WndZVALUE; // 幅值 int AVALUE; // 1-13次谐波有效值 int WndAVALUE; int XVALUE; // 2-13次谐波有效值 int XAVALUE; // 波型畸变率 int XA[16]; // 谐波含量 int DCZO; // 零点 int DCSK; // 斜率 unsigned int ACSK; // 斜率 unsigned int ACType; // PT CT unsigned int FlowZero; // 零漂抑制 unsigned int ACWindows; // 交流量窗口值 unsigned int DCWindows; // 直流量窗口值 unsigned int ACValueDot;// 交流量小数点位置 int DCValue; // 直流量 }; #define __ADCTYPESTRUCT #endif #ifndef __ADCREGTYPESTRUCT union ADCREGTYPE {//交直流量 寄存器区 unsigned long Value[32]; struct RWord { unsigned int Low,High; }V[32]; }; #define __ADCREGTYPESTRUCT #endif #ifndef __CANMAILSTRUCT struct CanMail { unsigned char Data[10]; /* Data array */ struct CanMail *Link; }; #define __CANMAILSTRUCT #endif #ifndef __Y12TRNTYPESTRUCT struct y12trn { unsigned char TrnLetter[20]; unsigned char RecLetter[20]; unsigned char siocomnum; unsigned char Tasknum; unsigned char TrnEnable; unsigned char TrnCase; unsigned char RevCase; unsigned char CanRxdBuf[300]; unsigned char TrnBuf[300]; unsigned char YKCount; unsigned char SrcStation;//源站址 unsigned char DirStation;//目站址 unsigned char ykob; unsigned char yktyp; unsigned char ykrtn; unsigned char Letter_Flag; unsigned int FSCON; unsigned char YMStartNum; unsigned char YMLength; unsigned char DCStartNum; unsigned char DCLength; unsigned char ACStartNum; unsigned char ACLength; unsigned char LnNo; struct CanMail YMail[MAXCANMAIL]; struct CanMail *pMail; struct CanMail *hMail; struct SoeStruct *pSOE; enum Ykstatus ykstatus; unsigned int flash_dat[4100]; unsigned int flash_addr; unsigned char flash_len; unsigned long ram_addr; unsigned char ram_len; unsigned char ym_offset; unsigned long ym_value; }; #define __Y12TRNTYPESTRUCT #endif #ifndef __DWSTRUCT struct dwstruct { int dw; int dwvalue; }; #define __DWSTRUCT #endif #ifndef __YMSTRUCT struct ymstruct { unsigned long ywbuf; unsigned char ymcoef; int ymfsnum; int ymfsnumtype; }; #define __YMSTRUCT #endif #ifndef __LIBARYSTRUCT struct Libarystruct { unsigned char *yxbuf; unsigned long *ymbuf; unsigned int FSCON; struct SoeStruct SoeBuf[1000]; struct dwstruct dw[6]; struct LNTYPE line[32]; struct ADCTYPE adc[72]; unsigned char Letter[256]; }; #define __LIBARYSTRUCT #endif #ifndef __SAMPLELINKSTRUCT struct SampleTableStruct { unsigned char Board1_Addr[4]; unsigned char Board1_Data[4]; unsigned char Board2_Addr[4]; unsigned char Board2_Data[4]; unsigned char Flag; unsigned char BSQ[16]; unsigned int Point[4]; /* 0:连续采样两周波 计算频率 1:采样一周波 不计算功率 2:采样一周波 计算功率 3:采样一周波 计算功率 Uab-Ub Ucb-Ub */ unsigned char LineNo; unsigned int SCount; unsigned int SLimit; unsigned char FreqFlag; struct SampleTableStruct *Link; }; #define __SAMPLELINKSTRUCT #endif #ifndef __BTRANPTSCBSTRUCT struct BTran_ptscb_struct { unsigned char ptscount; struct { unsigned int di : 1; unsigned int si : 1; unsigned int du : 1; unsigned int su : 1; unsigned int b_w : 1; unsigned int mode : 3; } ptscon; unsigned int ptssrc; unsigned int ptsdst; unsigned char ptsblock; int :8; /* unused */ }; #define __BTRANPTSCBSTRUCT #endif #ifndef __BITSETSTRUCT union BITSET_STRUCT { unsigned char Byte; struct Bit_STRUCT { unsigned int bit0 : 1; unsigned int bit1 : 1; unsigned int bit2 : 1; unsigned int bit3 : 1; unsigned int bit4 : 1; unsigned int bit5 : 1; unsigned int bit6 : 1; unsigned int bit7 : 1; } B; }; union LCR_STRUCT { unsigned char Byte; struct LCR_STRC { unsigned int WLS : 2; /* 字长选择位 */ unsigned int STB : 1; /* 停止位数 */ unsigned int PEN : 1; /* 奇偶使能 */ unsigned int EPS : 1; /* 偶校验选择 */ unsigned int HCHK : 1; /* 保持校验 */ unsigned int BREAK : 1; /* 置 BREAK */ unsigned int DLAB : 1; /* 分频锁存访问位 */ } B; }; union LSR_STRUCT { unsigned char Byte; struct LSR_STRC { unsigned int DR : 1; /* 数据准备 */ unsigned int OE : 1; /* 越限错误 */ unsigned int PE : 1; /* 奇偶错误 */ unsigned int FE : 1; /* 帧错误 */ unsigned int BI : 1; /* 打断中断 */ unsigned int THRE : 1; /* 发送保持寄存器 */ unsigned int TSRE : 1; /* 发送移位寄存器 */ unsigned int UDEF : 1; /* */ } B; }; union IIR_STRUCT { unsigned char Byte; struct IIR_STRC { unsigned int WI : 1; /* 0:有中断等待 1:无中断等待 */ unsigned int IP : 2; /* 优先级3: 接收线路状态 */ /* 优先级2: 接收到数据 */ /* 优先级1: 发送保持寄存器空 */ /* 优先级0: Modem状态 */ unsigned int UDEF : 5; /* */ } B; }; union IER_STRUCT { unsigned char Byte; struct IER_STRC { unsigned int RI_ENABLE : 1; /* 接收到数据使能 */ unsigned int TI_ENABLE : 1; /* 发送保持寄存器空使能 */ unsigned int LSR_ENABLE : 1; /* 接收线路状态使能 */ unsigned int MSR_ENABLE : 1; /* Modem状态 */ unsigned int UDEF : 4; /* */ } B; }; union MCR_STRUCT { unsigned char Byte; struct MCR_STRC { unsigned int DTR : 1; /* 数据结束准备 */ unsigned int RTS : 1; /* 请求发送 */ unsigned int OUT1 : 1; /* 输出1 */ unsigned int OUT2 : 1; /* 输出2 */ unsigned int RING : 1; /* 闭环 */ unsigned int UDEF : 3; /* */ } B; }; union MSR_STRUCT { unsigned char Byte; struct MSR_STRC { unsigned int DCTS : 1; /* DELTA清零发送 */ unsigned int DDSR : 1; /* DELTA数据置准备 */ unsigned int TERI : 1; /* 后沿环指示器 */ unsigned int DDCD : 1; /* DELTA数据载波检测 */ unsigned int CTS : 1; /* 清除发送 */ unsigned int DSR : 1; /* 数据置准备 */ unsigned int RI : 1; /* 环指示器 */ unsigned int DCD : 1; /* 数据载波检测 */ } B; }; #define __BITSETSTRUCT #endif #ifndef __FDKSTRUCT #define PLCHRREAD 23 #define PLCHRWRITE 24 #define SELHISREAD 25 #define PACKETSIZE 0x100 #define REPEAT 2 struct FdkArgStruct { unsigned char rtuno; unsigned char control;//D0:YK;D1:CLOCK;D2:DDTIME;D3:YCCOE;D4:YK swino sequ unsigned char YCDNO[512]; unsigned char YCDeadLine[512]; unsigned char TxdCode; unsigned char TxdExtCode; unsigned char *TxdBuf; unsigned char TxdRepeat; unsigned char TxdPacketNo; unsigned char RxdCode; unsigned char RxdExtCode; unsigned char *RecLetter; unsigned char *TrnLetter; unsigned char *RecBuf; unsigned char ToComNo; unsigned char StatusCode; unsigned char Ykprooflag; unsigned char Ykidno; unsigned char Letter_box_flag; unsigned char Ykswno; unsigned char Yknaturn; unsigned char RxdPacketNo; unsigned char *HSBuf; //高速采样 unsigned char HSAdd; unsigned char HSComNo; unsigned char SetTimeLock; unsigned char TWriteNum; unsigned char Ykproofnum; unsigned char Ykbackmess; unsigned char SgAdd; unsigned char SgBoxNo; unsigned char PQ; unsigned char SELHisPtr; unsigned char WriFlag; unsigned char opfilenum; char RecName[20]; unsigned int tm_num; unsigned int ts_num; unsigned int kwh_num; unsigned int YC_sequ[512]; unsigned int YX_sequ[512]; unsigned int KWH_sequ[256]; unsigned int CheckSum; unsigned int YX_YN[1024]; unsigned int YCDNUM; unsigned int TxdBufLength; unsigned int TxdPtr; unsigned int RxdBufLength; unsigned int RxdFrameLength; unsigned int RxdPacketLength; unsigned int YXCTail; unsigned int Ykobject; unsigned int STANo; unsigned int SgjlLength; unsigned int PolSoeTail; unsigned int YXChedPtr; int MYC[512]; int MYCtemp[512]; int TaskNo; int *RxdBuf; int HandshakePtr; long FileLength; enum TxdS TxdStatus; enum RxdS RxdStatus; enum Ykstatus Ykcomm; enum Sgstatus SgComm; enum HSstatus HSComm; enum Letterstatus Letter_from_box; enum Log LogStatus; //0:off,not 0:on; }; #define __FDKSTRUCT #endif