⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comm.h

📁 电力系统中的保护装置全部代码
💻 H
字号:

#ifndef COMM_
#define COMM_             

#define TransReady_    	0x0040       /*The transmit reg. empty*/  
#define HoldRegEmpty_  	0x0020       /*The transmit hold reg. empty*/

#define Start_Code1 	0x0010        /*103 protocol start code1*/
#define Start_Code2 	0x0068        /*103 protocol start code2*/
#define End_Code    	0x0016        /*103 protocol end code*/

#define NotPrimaryFrame 0x005a  
#define FrameFix    	0x0055        /*Fix Frame */
#define FrameunFix  	0x00aa        /*InFix Frame*/ 
#define ReTransmit  	0xdd          /*sure that retransmit */
#define NoTransmit  	0xcc          /*sure that no retransmit */
#define XJ103Protocol  	0xff       /*Adopt 103 protocol*/

/*the  flag of ASDU_50 flag*/
#define _TransTimeCome  0x10   /*fixed time to transmit*/
#define _Data_RDY       0x20   /*:=1,data has been transmit*/
#define _Data_Request   0x40 
#define _Data_Request9   0x80
#define _Data_RDY9       0x100 
/*The length of buffer must equal the defined length value in initcom.asm*/
extern  int ReceBuffALen_; 
extern  int ReceBuffBLen_;
extern  int ReceBuffCLen_;
extern  int ReceBuffDLen_;

#define ReceBuffALen ((int) (&ReceBuffALen_))    /*receive buffer length*/  
#define ReceBuffBLen ((int) (&ReceBuffBLen_))    /*receive buffer length*/  
#define ReceBuffCLen ((int) (&ReceBuffCLen_))    /*receive buffer length*/  
#define ReceBuffDLen ((int) (&ReceBuffDLen_))    /*receive buffer length*/  

/*the flag for the function of receive frame*/
#define Again_AllReceive  0x0aa   /*receive frame from head*/
#define Again_OneReceive  0x05a   /*receive one char added to frame */
#define Check_Receive     0x055   /*receive frame that can be check*/

/*MessageFlagA 报文标志*/
#define Reset_FCB         0x00000001 
#define Reset_CU          0x00000002
#define Reset_Device      0x00000004
#define ReModify_Time     0x00000008  
#define Sets_Parameter    0x00000010  /*参数设置*/
#define Gen_Inspect_Start 0x00000020  /*总召唤启动*/
#define Gen_Inspect_End   0x00000040  /*总召唤结束*/ 
#define DIN_Status        0x00000080  /*遥信状态*/  
#define DIN_Status_Change 0x00000100  /*遥信状态变位*/ 
 
#define Select_Tap_Obj    0x00000200  /*选择调压开关对象*/   
#define Exec_Tap_Obj      0x00000400  /*执行调压开关对象*/
#define Esc_Tap_Obj       0x00000800  /*撤消调压开关对象*/
#define Tap_Chger_Status  0x00001000  /*调压开关位置*/ 
#define Tap_Status_Change 0x00002000  /*调压开关位置改变*/
#define Coulometer_Freeze 0x00004000  /*电度冻结*/
#define Coulometer_Count  0x00008000  /*电度量*/ 
#define Return_Version    0x00010000  /*雕版本号*/ 
#define Select_CB_Obj     0x00020000  /*选择断路器对象*/   
#define Exec_CB_Obj       0x00040000  /*执行断路器对象*/
#define Esc_CB_Obj        0x00080000  /*撤消断路器对象*/
#define Command_Reply     0x00100000  /*?*/ 
#define WarningSignals   	0x00200000   
#define ASDU20_Sure     	0x00400000  /*信号复归确认*/ 
#define ASDU20_Return   	0x00800000  /*信号复归状态*/
#define Self_Inspection	   	    0x01000000  
#define ERROR_COMMAND	   	    0x02000000  
#define Setting_COMMAND	   	    0x04000000 
#define Coulometer_End  0x08000000  /*电度量结束*/ 
#define Coulometer_No  0x10000000  /*电度量结束*/ 
/*ErrorMsgFlagA 报文标志*/ 
#define Error_EPROM       0x00000001 
#define Error_RAM         0x00000002  
#define Error_Setting     0x00000004 
#define OC_ACC_Direction  0x00000008 
#define Zero1_Direction     0x00000010   
#define Over_Load_Direction  0x00000020  
#define Error_AD          0x00000040 
#define OC_I_Direction    0x00000080 
#define OC_II_Direction   0x00000100
//#define OC_III_Direction  0x00000200
#define LF_Direction      0x00000200
#define Reclose_Direction 0x00000400


#define Error_EPROM_       0x00000000 
#define Error_RAM_         0x00000001  
#define Error_Setting_     0x00000002 
#define Error_Relay_       0x00000003 
#define Error_5VPower_     0x00000004   
#define Error_CPU_Number_  0x00000005  
#define Error_AD_          0x00000006 
//#define OC_I_Direction_    0x00000007
/*the  flag of control code*/
#define _FCV              0x10
#define _FCB              0x20
#define _PRM              0x40 
#define _ACD              0x20 
/*the  flag of control CB/Tap operation*/ 
#define _ACT              0x40 
#define _SE               0x80
#define _DCO              0x03  
#define _REQ              0xc0 
#define _FRZ              0x0f           /* 0x3f    */
                                
#define	SET_COEFFICIENT_0  		0x0		// 1 
#define	SET_COEFFICIENT_1 		0x1		// 0.1 
#define	SET_COEFFICIENT_2  		0x2		// 0.01 
#define	SET_COEFFICIENT_3  		0x3		// 0.001 
#define	SET_CONTROL  			0x0		// control word
#define	SET_DATA  				0x10	// data 
#define	SET_SYMBOL_POSTIVE		0x0		// symbol bit  
#define	SET_SYMBOL_NEGATIVE	 	0x80	// symbol bit                                  
/*the  flag of Commu. Status flag*/
#define _Rxd_Error        0x10    /*:=1, Error*/
#define _Txd_Error        0x20
#define _Lon_Rdy_Error    0x40
                                     
                                     
/*define in init16c554.asm,include initial and interrupt routine*/

extern unsigned char *Com_Port1;           
extern unsigned char *Com_Port2 ;           
extern unsigned char *Com_Port3 ;            
extern unsigned char *Com_Port4 ;           

extern unsigned int   *RDY_OE ;               
#define _485_OE1      0x02


/*the pointer of ReceiveBuffA_Struct of A channel communication*/
extern  unsigned char**  pInReceBuffA   ;     /*Input pointer address*/
extern  unsigned char**  pOutReceBuffA  ;     /*Output pointer address*/
extern  unsigned char*   ReceiveBuffA   ;     /*receive buffer start address*/ 
/*the pointer of ReceiveBuffB_Struct of B channel communication*/
extern  unsigned char**  pInReceBuffB   ;     /*Input pointer address*/
extern  unsigned char**  pOutReceBuffB  ;     /*Output pointer address*/
extern  unsigned char*   ReceiveBuffB   ;     /*receive buffer start address*/ 
/*the pointer of ReceiveBuffC_Struct of C channel communication*/
extern  unsigned char**  pInReceBuffC   ;     /*Input pointer address*/
extern  unsigned char**  pOutReceBuffC  ;     /*Output pointer address*/
extern  unsigned char*   ReceiveBuffC   ;     /*receive buffer start address*/ 
/*the pointer of ReceiveBuffD_Struct of D channel communication*/
extern  unsigned char**  pInReceBuffD   ;     /*Input pointer address*/
extern  unsigned char**  pOutReceBuffD  ;     /*Output pointer address*/
extern  unsigned char*   ReceiveBuffD   ;     /*receive buffer start address*/ 
extern int 	ASDU_50_FlagJK1;
extern int 	ASDU_9_FlagJK1;
extern void Init_16c554A(void);  /*the address of Init_16c554A function*/   
extern void Init_16c554B(void);  /*the address of Init_16c554B function*/   
extern void Init_16c554C(void);  /*the address of Init_16c554C function*/   
extern void Init_16c554D(void);  /*the address of Init_16c554D function*/   

/*define common buffer*/
typedef struct Buffer_Struct
{
 unsigned char** pInBuffer;         /*Input pointer address*/
 unsigned char** pOutBuffer;        /*Output pointer address*/
 unsigned char*  Buffer;            /*receive buffer start address*/
 int     Length;                    /*receive buffer length*/
};
                  
/*volatile relative to protection*/ 
extern 		UNSIGNED 	   TMD_System_Clock; 
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -