经典的电力系统通讯规约
//内部函数
void InitDNP3(BYTE ChanNo);
void DNP3FrameProcess(void);
void DNP3TimeControl(void);
//解桢函数
BYTE DNP3CRCVerify( int BitLength,BYTE *DNP3ReceiveP );
void DNP3UnlockFrame(void);
void DNP3DataLnkCon(void); //链路层控制
void Ft3Check(void); //解含有UserData的Ft3帧, 把UserData存入应用缓冲区
void DltoApp(void); //将DL层校验过的数据存入APP缓冲区
void AppRead(void); //读
void AppWrite(void); //写
void TimeWrite(void); //校时
void IINWrite(void); //写IIN标志位
void UnsolMessage(void); //产生主动上报的信息
void ClassMessage(void); //树类上报标志
void AppTimeMeasure(void); //通道延时测量
void ClassDefination(void); //类数据重定义
void AppFreez(void); //执行冻结
void AppControl(void);
void UnsolAble(void);
void UnsolDisable(void);
void DnpClockToTime(struct CLOCK *lTimer,BYTE * Timebuf); //转换为DNP时间
void DnpTimeToClock(BYTE * Timebuf,struct CLOCK *lTimer);
void AppYkSelect(void); //遥控选择
void AppYkOperate(void); //遥控执行
void DirectOperYk(void); //直接遥控执行
void GYKSelect(BYTE LNode,BYTE LAction);
void GYKOperate(BYTE byNodeNum,BYTE lFun,BYTE lAct);
void NewToOld(void);
WORD GetOldId(BYTE i);
//组桢函数
void DNP3Framing(void);
void DNP3CRCGenerator( int BitLength, int StartBitPos, BYTE *TransData );
void AppFrame(void); //应用层组桢函数
void TransFrame(BYTE Lcase); //传输层组桢函数
void DlFrame(void); //链路层组桢函数
void Ft3FrameUserDate(BYTE LS); //组一帧FT3帧
void Ft3FrameCon(void); //组链路层命令桢
void AppSendUnsol(void); //如有突发信息上送,优先上送
void AppSendConfirm(void); //如有CONFIRM信息则上送
void AppRespone(void); //应用层响应帧
void DNP3AddIndication(void); //添加内部信息字IIN
void FrameOneObject(BYTE AppFrameType,unsigned short iArray);
void FrameOneInfo(unsigned short iDataStart,unsigned short iDataStop);
unsigned short GetTotalDataN(BYTE bObjNum);//获取数据个数
void GetTimeDate(void); //获取当前时间
void DNP3GetYx(unsigned short i,BYTE); //静态遥信
void GetYxChange(WORD i); //变化遥信包括SOE
void DNP3GetYc(unsigned short i); //静态遥测
void GetYcChange(WORD i); //变化遥测
void GetCounter(WORD i); //计数
void GetFrozenCounter(WORD i); //冻结计数
void DNP3GetAo(BYTE i); //AO数据
WORD GetAo(BYTE i);
void AppControlRespone(void);
void TimeRespone(void); //响应延时时间
void YkSelectRespone(void);
void YkOperateRespone(void);
void OperateAoRe(void);
1