📄 101priapp.h
字号:
/*------------------------------------------------------------------*/
/*模块名称:101priapp.h */
/*模块功能:DL/T 634-1997 101主站方规约应用层头文件 */
/*编写日期:2005年4月 */
/*编写者: dingding */
/*------------------------------------------------------------------*/
#ifndef DF101PRIAPP_H
#define DF101PRIAPP_H
//主站应用层任务调度标志
#define DBREQYK 0x0001 //收到数据库遥控命令
#define DLDATA1 0x0002 //一级数据标志,链路提供
#define TIMERALLDATA 0x0004 //全数据标志,定时器提供
#define TIMERCOUNTER 0x0008 //电度标志,定时器提供
#define TIMERCLOCK 0x0010 //对钟标志,定时器提供
/*
enum PFTUUseStatus {NOUSE=0, CALLINITEND, ALLDATA, WAITALLDATACON, CALLALLDATA,
TIMEDELAY, WAITTIMEDELAYCON, CALLTIMEDELAY, SETTIMEDELAY,
WAITSETTIMEDELAYCON, SETCLOCK, WAITSETCLOCKCON, CALLCLOCK, CLOCK,
COUNTERFREEZE, WAITFREEZECON, CALLFREEZECON, COUNTERREAD, WAITCOUNTERREADCON,
CALLCOUNTERREADCON, CALLCOUNTER, INUSE};*/
enum PFTUUseStatus {NOUSE=0, USING, INUSE};
/*------------------------------------------------------------------*/
/*----------------------------结构定义------------------------------*/
/*------------------------------------------------------------------*/
struct PDevInfo{ //设备信息
INT16U DevID;
INT16U TaskFlag;
// INT16U InfoAddr;
INT16U ErrorNum;
BOOL CommStatus;
enum PFTUUseStatus Status;
};
struct AppInfo{ //应用层数据结构
INT8U Tmpbuf[512]; //临时使用缓冲区
struct PASDU *RxMsg; //应用层接收数据指针
struct PASDU TxMsg; //应用层输出数据区
INT16U TxLen; //应用层发送长度
INT16U AppCommand; //应用层命令
INT16U AppTaskFlag;
INT16U ActIndex; //当前设备信息的序号
INT16U ActDevIndex; //当前设备号
INT16U YKDevID;
INT16U DevNum;
struct PDevInfo *AppDevs;
/*
INT16U Data1Flag; //一级数据标志
INT16U Data2Flag; //二级数据标志
INT16U NvaActDev; //发送变化遥测的当前设备序号
INT16U NvaActDevCur; //当前设备当前已发送序号
INT16U LastDevIndex; //记录最近一次发送变位YX,SOE,FA,的设备序号
INT16U LastDevType;
INT16U LastDevNum;
*/
//定时器
INT16U AllDataCount;
INT16U ClockCount;
INT16U CounterCount;
//参数输入
INT16U BaseControl;
INT16U Control;
INT16U AllData; //全数据间隔
INT16U SetClock; //对钟间隔
INT16U Counter; //电度间隔
INT16U MaxErrCount;
};
/*------------------------------------------------------------------*/
/*----------------------------函数声明------------------------------*/
/*------------------------------------------------------------------*/
void P101_97PriTask(struct SysPort *Info, struct PortAppInfo* PortCfg);
BOOL InitPriApp(INT8U Port, struct PortAppInfo* PortCfg);
void P101AppOnTimer(INT8U Port);
void PriAppProc(INT8U Port, INT16U DLCmd, INT8U* pBuf, INT16U Len);
void P101ProcNextCmd(INT8U Port);
void P101ProcControl(INT8U Port);
void P101ProcSetNVA(INT8U Port);
void P101ProcYX(INT8U Port, INT8U Flag);
void P101ProcYC(INT8U Port, INT8U Flag);
void P101ProcSOE(INT8U Port);
void P101ProcDD(INT8U Port);
void P101ProcTimeDelay(INT8U Port);
void P101ProcClock(INT8U Port);
void P101ProcReset(INT8U Port);
void P101ProcReadData(INT8U Port);
void P101ProcTest(INT8U Port);
void P101ProcParaSet(INT8U Port);
void P101ProcAppErr(INT8U Port);
void P101EnCodeControl(INT8U Port, struct DBBOOPInfo* Info);
void P101EnCodeClock(INT8U Port);
void P101EnCodeAllData(INT8U Port);
void P101EnCodeCounter(INT8U Port);
void P101EnCodeCommStatus(INT8U Port, BOOL Flag);
INT16U P101GetAddrByDevIndex(INT8U Port, INT16U DevID);
INT16U P101GetDevIndexByAddr(INT8U Port, INT16U Addr);
INT16U P101GetIndexByAddr(INT8U Port, INT16U DevID);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -