经典的电力通讯规约,带c源码

时间:2017-04-29 08:06:09
【文件属性】:

文件名称:经典的电力通讯规约,带c源码

文件大小:22KB

文件格式:RAR

更新时间:2017-04-29 08:06:09

DNP3 电力系统 通讯规约

经典的电力系统通讯规约 //内部函数 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);


【文件预览】:
Dnp3.c
Dnp3.h

网友评论

  • 什么玩意了,就这个也要3积分,擦
  • 代码质量很高,值得学习。
  • 留着DNP开发有用,先谢谢啦
  • 可以借鉴,谢谢分享
  • 很好,就是好像在哪里见过