📄 101prilink.h
字号:
/*------------------------------------------------------------------*/
/*模块名称:101prilink.h */
/*模块功能:DL/T 634-1997 101主站方规约链路层头文件 */
/*编写日期:2005年4月 */
/*编写者: dingding */
/*------------------------------------------------------------------*/
#ifndef DF101PRILINK_H
#define DF101PRILINK_H
struct LinkInfo{
//端口配置
INT32U Baudrate;
INT16U TimeOutValue;
//定时器
INT16U TimeOutCount;
BOOL BalanMode;
BOOL FlagData1; //一级数据标志
INT8U RlaConCode; //接收的控制码
INT8U FCBNoTurnNum; //FCB未翻转计数
INT16U RetryCount; //重试次数
INT16U IdleTimeCount;
INT16U ActIndex; //当前设备序号
INT16U ActDevAddr;
INT16U DevNum;
struct DLDevInfo *DLDevs; //设备链路层信息
INT16U FrameHead; //组帧时数据头在发送缓冲区的位置
INT16U TxdHead; //
INT16U TxdTail; //
INT16U FrameHead_Sec; //记录上帧从动站报文的数据头位置,重发时用
INT16U TxdHead_Sec;
INT16U TxdTail_Sec;
INT16U RxdHead; //处理数据的头指针
INT16U RxdTail;
INT16U RxdLength;
INT8U IEC_DIR; //方向位,平衡式有效,非平衡=0
INT16U DLCommand; //链路层命令
enum DLRXDSTATUS RxdStatus; //接收状态
INT8U RxdBuf[FRAMEBUFSIZE]; //接收缓冲区
INT8U TxdBuf[2*LPDUSIZE]; //发送缓冲区
// INT8U TxdBuf_Pri[LPDUSIZE]; //发送缓冲区 ,暂存启动站发送的数据,重发时用
INT8U TxdBuf_Sec[LPDUSIZE]; //发送缓冲区 ,暂存从动站发送的数据,重发时用
};
BOOL InitPriLink(INT8U Port, struct PortAppInfo* PortCfg);
void P101LinkOnTimer(INT8U Port);
void P101RecMISIData(INT8U Port, BOOL Flag);
void P101SendDataToMISI(INT8U Port);
void P101SendSecDataToMISI(INT8U Port);
void P101SearchFrame(INT8U Port);
BOOL P101ExeDLFun10(INT8U Port);
BOOL P101ExeDLFun68(INT8U Port);
void P101ExeDLFunCode10(INT8U Port);
void P101ExeDLFunCode68(INT8U Port);
void P101DLSendProc(INT8U Port);
void P101EditFra10(INT8U Port, INT8U Function);
void P101EditFra68(INT8U Port, INT8U Function);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -