📄 nz_sf.h
字号:
#ifndef NZ_SF_H#define NZ_SF_H#define RC_BASE_103 58#define RC_BASE_104_2 0x600B#define RC_BASE_104_1 0xB01#define DZTYPE_7_4 0#define DZTYPE_3_2 1#define DZTYPE_3_1 2//通用分类服务#define IEC103_OFFSET_RII 12#define IEC103_OFFSET_NGD 13#define IEC103_OFFSET_GIN 14#define IEC103_OFFSET_KOD 16#define IEC103_OFFSET_GDD 17#define IEC103_OFFSET_GID 20#define MIN_GEN_FRAMELEN 14//================================================================================typedef struct{ unsigned char ucGroup; //用于区分软压板投退、定值区切换、信号复归 unsigned int uiInfRcs; //对于通用分类, 高字节为条目号,低字节为组号; //对于IEC103/TCP103,高字节为FUN,低字节为INF; //对于定值区切换命令,为定值区号. unsigned char ucInfTcp; unsigned long ulInf104;}IEC_INF_CODE;static unsigned char ucDZcpu=0xf0;unsigned char DZsend_buf[256];unsigned char DZdata_buf[512];unsigned char DZendflag,count; //DZsendflag=1,定值上送结束unsigned char DZsection;unsigned char DZlen;unsigned char YKendflag ; //=1:需发遥控结束命令unsigned char readDZsectionflag ; unsigned char readYBstateflag ; unsigned char IEC104_context; //保存遥控命令的信息,unsigned char IEC104_orderflag; //=1,软压板投退执行命令 //=2,单个定值执行命令 //=3,多个定值执行命令 //=4,定值区切换 unsigned char TCP_context; //保存遥控命令的信息,unsigned char TCP_orderflag ; unsigned int TCP_INF; static unsigned int offset1=0; static unsigned char DZtype_buf[256]; //定值类型缓冲区 unsigned int GetYCValue(unsigned char *pFdata);int Data_NeedBroadCast_103(unsigned char ucCOT103,int iConnect);void Send_NZBH_DataUp(int iPort,int NetGroup,int index,unsigned char *pucIEC104,unsigned char *pucIEC103);int NZBH_Command_Handle(int iPort,int NetGroup,int iConnect,unsigned char *pucCMD,unsigned char iLen);int LocalGENERICcmd(int iPort,unsigned char ucAddr,unsigned char ucGIN,unsigned char *pDest);int NZ103_To_XJ104(unsigned char *puc104,unsigned char *puc103);int XJ104_To_NZ103(int iPort ,unsigned char *puc103,unsigned char *puc104);int NZ103_To_XJTCP(unsigned char *pucTCP, unsigned char *puc103); int XJTCP_To_NZ103(int iPort ,unsigned char *puc103, unsigned char *pucTCP); int IEC_PackEND_TCP(unsigned char *pucTCP,unsigned char ucADDR,unsigned char ucCPU, unsigned char ucFUN,unsigned char ucINF); void FtoC(float a,unsigned char *puc103);/*将浮点数转换为IEEE格式,4个字节*/float CtoF(unsigned char *puc103);/*将IEEE格式(4个字节)转换为浮点数*/void DZValue103_TCP(unsigned char num,unsigned char offset,unsigned char *p1,unsigned char *p2); int Get_DGT801_Frame(unsigned char *pFrame, int iPort, int uIndex);int XJ104_To_DGT801(int iPort ,unsigned char *puc103,unsigned char *puc104);int XJTCP_To_DGT801(int iPort ,unsigned char *puc103, unsigned char *pucTCP); int DGT801_Command_Handle(int iPort,int NetGroup,int iConnect,unsigned char *pucCMD,unsigned char iLen);int Read_DGT801_Frame(int iPort, unsigned char ucADDR,unsigned char *pRecv);void Process_DGT801_Recv(int nPort, int uIndex, unsigned char *pRecv);
int XJ104_To_NZ94(int iPort ,unsigned char *puc103,unsigned char *puc104);int NZ94_Command_Handle(int iPort,int NetGroup,int iConnect,unsigned char *pucCMD,unsigned char iLen,unsigned char *puc104);
int Get_NZ94_Frame(unsigned char *pFrame, int iPort, int uIndex);
int Read_NZ94_Frame(int iPort, unsigned char ucADDR,unsigned char *pRecv);
void Process_NZ94_Recv(int nPort, int uIndex, unsigned char *pRecv);
//南瑞保护103规约
int NR103_To_XJ104(int NetGroup,int iConnect,unsigned char *puc104,unsigned char *puc103);
int XJ104_To_NR103(int iPort,int NetGroup,int iConnect,unsigned char *puc103,unsigned char *puc104);
int NR103_To_XJTCP(int iPort,unsigned char *pucTCP, unsigned char *puc103);
int XJTCP_To_NR103(int iPort,int NetGroup,int iConnect,unsigned char *pucIEC103,unsigned char *pucTCP);
void Send_NRBH_DataUp(int iPort,int NetGroup,int index,unsigned char *pucIEC104,unsigned char *pucIEC103);
int NRBH_Command_Handle(int iPort,int NetGroup,int iConnect,unsigned char *pucCMD,unsigned char iLen);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -