⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iec101def.h

📁 详细介绍了arm7-at91r40008,的开发全过程
💻 H
📖 第 1 页 / 共 2 页
字号:
/*--------------- DONGFANG ELECTRONICS GROUP LTD.------------------*/
/*              MODULE:    101 Protocol Define head file           */
/*              SUBSYSTEM: DF9200 Software System.                 */
/*              AUTHOR:    MaJunHua                                */
/*              DATA:      1999.7                                  */
/*-----------------------------------------------------------------*/

#ifndef _IEC101DEF_H
#define _IEC101DEF_H

#define ASDULEN       250
#define LPDUSIZE	    (255+6)	//链路层发送报文的最大长度
#define FRAMEBUFSIZE	512		//链路层接收缓冲区的最大长度
#define NORETRYNUM    0
#define MINRETRYNUM   1
#define	MAXRETRYNUM	  3		  //重发的最大次数
#define APDUSIZE	    255		//应用层收发缓冲区的最大长度
#define MAXFTUNUM	    60		//每条线上最多的FTU数

//链路层始发站命令定义
#define	DLRESETRDL	0		//复位远方链路
#define DLRESETUSE	1		//复位用户过程
#define DLTESTDL	  2		//测试链路功能
#define DLSENDCON	  3		//发送确认命令
#define DLSENDNOCON	4		//发送不确认命令
#define DLREQACD	  8		//请求响应确定访问状态
#define DLREQSTATUS	9		//召唤链路状态
#define DLREQDATA1	10	//召唤1级用户数据
#define DLREQDATA2	11	//召唤2级用户数据
#define MAINTSWITCH     12      //切换到维护规约。

//链路层从动站命令定义
#define DLCON	      0			//确认
#define	DLBUSYCON	  1		  //确认链路忙未接收报文
#define DLRESDATA	  8		  //以数据响应请求帧
#define DLNODATA	  9		  //无所召唤的数据
#define DLSTATUSOK  11		//响应链路状态或回答请求帧
#define DLNOWORK	  14		//链路未工作
#define DLNOFIN		  15		//链路未完成

//链路层到应用层的命令(WORD)DLCommand内容
#define DL_RESETUSE	1	//复位用户进程
#define DL_TESTDLINK	2	//测试 链路
#define	DL_SENDCON	3	//链路收到03命令
#define	DL_SENDNOCON	4	//链路收到04命令
#define	DL_LINKDISABLE	5	//链路无效
#define	DL_LINKENABLE	6	//链路有效,链路收到0(确认)向应用层发此命令
#define	DL_NODATA	7	//链路层收到无数据应答
#define	DL_SENDDATA	8	//链路收到08命令
#define	DL_SCAN1S	9	//平衡模式链路例行查询应用层任务(YK、定时全数据、定时对钟、定时电度)
#define DL_CALLDATA1	10	//取一级数据
#define DL_CALLDATA2	11	//取二级数据
#define DL_CALLUDATA	12	//取紧急数据,平衡模式子站主动发送一级数据(COS、SOE)用
#define DL_CALLDBMSG	13	//子站平衡模式用于取数据库消息,以便及时处理遥控等信息。
#define	DL_APPCON	14	//收到对03命令的确认,子站平衡式
#define DL_RESETDL	15	//收到复位链路命令,应用层确定是否发初始化结束。子站非平衡。

#define	DL_REC_ACD	0x8000	//该位置1链路接收到的ACD=1,否则为0
#define	DL_FCBOK	0x4000	//FCB反转正确,=1正确。

//应用层到链路层的命令(WORD)AppCommand
#define	APP_APPCON	0	//应用层对收到的数据做应答
#define APP_RESETUSE	1	//复位用户进程
#define APP_TESTDLINK	2	//测试 链路
#define	APP_SENDCON	3	//发送03命令
#define	APP_SENDNOCON	4	//发送04命令
#define	APP_SENDDATA	8	//发送08命令
#define APP_NODATA	9	//应用层无数据,子站非平衡
#define	APP_CALLDATA1	10	//请求一级数据
#define	APP_CALLDATA2	11	//请求二级数据
#define	APP_ALLDEVNOUSE	12	//应用层所有设备不可用
#define	APP_NOJOB	13	//应用层无任务//主站平衡模式有效
#define	APP_APPDIABALE	14	//应用层无效

#define	APP_HAVEDATA1	0x8000	//该位置1说明应用层有一级数据,否则为0;子站非平衡、平衡模式总召唤、对钟

//链路层帧内容
#define	STARTCODE10	0x10		//起始码
#define STARTCODE68	0x68		//起始码
#define ENDCODE		  0x16		//停止码
#define	SINGLECON	0xE5		//单字节无数据确认应答。
#define MAINTSTARTCODE	'I'

#define	M_SP_NA		1 	//不带时标的单点信息
#define	M_SP_TA		2 	//带时标的单点信息
#define	M_DP_NA		3 	//不带时标的双点信息
#define	M_DP_TA		4 	//带时标的双点信息
#define	M_ST_NA		5 	//步位置信息
#define	M_ST_TA		6 	//带时标的步位置信息
#define	M_BO_NA		7 	//子站远动终端状态
#define	M_ME_NA		9 	//测量值,规一化值
#define	M_ME_TA		10 	//带时标的测量值,规一化值
#define	M_ME_NB		11 	//测量值,标度化值——新标准中,我们目前应使用的类型。替代原来的M_ME_NA
#define	M_ME_TB		12 	//带时标的测量值,标度化值
#define	M_ME_NC		13 	//测量值,短浮点数
#define	M_ME_TC		14 	//带时标测量值,短浮点数
#define	M_IT_NA		15 	//电能脉冲记数量
#define	M_IT_TA		16 	//带时标的电能脉冲记数量
#define	M_EP_TA		17 	//带时标的继电保护或重合闸设备单个事件
#define	M_EP_TB		18 	//带时标的继电保护装置成组启动事件
#define	M_EP_TC		19 	//带时标的继电保护装置成组输出电路信息事件
#define	M_PS_NA		20 	//具有状态变位检出的成组单点信息
#define	M_ME_ND		21 	//不带品质描述的测量值,规一化值
#define	M_BD_NA		232 //BCD码值

#define	M_EI_NA		70 	//初始化结束

//DL/T634.5101-2002标准新增类型标识
#define M_SP_TB		30	//带CP56Time2a时标的单点信息
#define M_DP_TB		31	//带CP56Time2a时标的双点信息
#define M_ST_TB		32	//带CP56Time2a时标的步位置信息
#define M_BO_TB		33	//带CP56Time2a时标的32位比特串
#define M_ME_TD		34	//带CP56Time2a时标的测量值,规一化值
#define M_ME_TE		35	//带CP56Time2a时标的测量值,标度化值
#define M_ME_TF		36	//带CP56Time2a时标的测量值,短浮点数
#define M_IT_TB		37	//带CP56Time2a时标的累计量
#define M_EP_TD		38	//带CP56Time2a时标的继电保护设备事件
#define M_EP_TE		39	//带CP56Time2a时标的继电保护设备成组启动事件
#define M_EP_TF		40	//带CP56Time2a时标的继电保护设备成组输出电路信息
#define	M_EI_NA		70	//初始化结束帧

#define C_SC_NA		45	//单点遥控命令
#define	M_CD_NA		106 	//延时获得命令
#define	M_CS_NA		103 	//时钟同步命令
//END

#define	C_DC_NA		46 	//双点遥控命令
#define	C_RC_NA		47 	//升降命令
#define	C_SE_NA		48 	//设定命令
#define	C_BO_NA		51 	//32位的位串

#define	C_IC_NA		100 	//召唤命令
#define	C_CI_NA		101 	//电能脉冲召唤命令
#define	C_RD_NA		102 	//读数据命令
#define	C_CS_NA		103 	//时钟同步命令
#define	C_TS_NA		104 	//测试命令
#define	C_RP_NA		105 	//复位进程命令
#define	C_CD_NA		106 	//延时获得命令

#define	P_ME_NA		110 	//装载参数命令,规一化值
#define	P_ME_NB		111 	//装载参数命令,标度化值
#define	P_ME_NC		112 	//装载参数命令,短浮点数
#define	P_AC_NA		113 	//激活参数

#define	F_FR_NA		120 	//文件已准备好
#define	F_SR_NA		121 	//节已准备好
#define	F_SC_NA		122 	//召唤目录﹑选择文件﹑召唤文件﹑召唤节
#define	F_LS_NA		123 	//最后的节﹑最后的段
#define	F_AF_NA		124 	//确认文件﹑确认节
#define	F_SG_NA		125 	//段
#define	F_DR_NA		126 	//目录

#define F_FY_NA   141   //文件传输

#define M_FA_TB   142   //故障处理结果信息

#define C_PF_NA   143	//保护定值设定命令,传送原因6为设定,
#define P_PF_NA   144	//保护定值召唤命令,传送原因5为请求

#define M_PF_NA   145	//保护定值发送命令,传送原因5为被请求

#define C_IT_TC   146   //召唤历史电度  主站COT=6 激活 从站COT=7激活确认 COT=10停止

#define M_IT_TC   147   //历史电度数据  COT=5被请求

//传送原因:
#define	PERCYC	  1 	//周期/循环
#define	BACK		  2 	//背景扫描
#define	SPONT		  3 	//突发
#define	INIT_101  4 	//初始化
#define	REQ		    5 	//请求或被请求
#define	ACT		    6 	//激活
#define	ACTCON		7 	//激活确认
#define	DEACT		  8 	//停止激活
#define	DEACTCON	9 	//停止激活确认
#define	ACTTERM		10 	//激活结束
#define	RETREM		11 	//远程命令引起的返送信息
#define	RETLOC		12 	//当地命令引起的返送信息
#define	FILE_101	13 	//文件传送
#define	INTROGEN	20 	//响应总召唤
#define	INTRO1		21 	//响应第1组召唤
#define	INTRO2		22 	//响应第2组召唤
#define	INTRO3		23 	//响应第3组召唤
#define	INTRO4		24 	//响应第4组召唤
#define	INTRO5		25 	//响应第5组召唤
#define	INTRO6		26 	//响应第6组召唤
#define	INTRO7		27 	//响应第7组召唤
#define	INTRO8		28 	//响应第8组召唤
#define	INTRO9		29 	//响应第9组召唤
#define	INTRO10		30  //响应第10组召唤
#define	INTRO11		31 	//响应第11组召唤
#define	INTRO12		32 	//响应第12组召唤
#define	INTRO13		33 	//响应第13组召唤
#define	INTRO14		34 	//响应第14组召唤
#define	INTRO15		35 	//响应第15组召唤
#define	INTRO16		36  //响应第16组召唤
#define	REQCOGCN	37  //响应计数量总召唤
#define	REQCO1		38 	//响应第1组计数量召唤
#define	REQCO2		39 	//响应第2组计数量召唤
#define	REQCO3		40 	//响应第3组计数量召唤
#define	REQCO4		41 	//响应第4组计数量召唤
#define UNKNOWNTYPEID   44      //未知的类型标识
#define UNKNOWNCOT      45      //未知的传送原因
#define UNKNOWNPUBADDR   46      //未知的应用服务数据单元公共地址
#define UNKNOWNTINFOADDR   47      //未知的信息对象地址

/*信息体起始地址定义*/
#define LBI       0x0001
#define HBI       0x1000
#define LAI       0x4001
#define HAI       0x5000
#define LPARA	  0x5001//遥测参数
#define HPARA	  0x6000
#define LBO       0x6001
#define HBO       0x6200
#define	LSET	  0x6201
#define	HSET	  0x6400
#define LBCR      0x6401
#define HBCR      0x6600
#define LSPI      0x6601
#define HSPI      0x6700
#define LBCD      0x6701//..DL/T634.5101-2002标准中无BCD码(水位)的信息对象地址的定义
#define HBCD      0x6800
#define RTUSTATUS 0x6801
#define LFILE	  0x6802
#define HFILE	  0x7000

#define MAXBINUM   0x1000
#define GROUPBINUM 0x200
#define MAXAINUM   0x1000
#define GROUPAINUM 0x400
#define MAXSPINUM  0x100
#define MAXBONUM   0x200
#define MAXBCRNUM  0x200
#define GROUPBCRNUM 0x80


#define	SQSINGLE	  0
#define	SQSEQUENCE	1
#define	TESTREASON	1	//1=正在试验 0=未试验

#define	NEGAPPROV	 1	//否定认可
#define	POSAPPROV	 0	//肯定认可

#define	OFF	0 	//开
#define	ON	1 	//合

#define	GATEVAL		1 	//门限值
#define	FIWAVE		2	  //滤波系数
#define	MELOWER		3	  //测量值的下限值
#define	MEUPPER		4	  //测量值的上限值

#define	LPCCHANGE	  1	//当地参数未改变
#define	LPCNOCHANGE	0	//当地参数改变

#define	POPMOVE		0	//参数在运行
#define	POPNOMOVE	1	//参数未运行

#define	QRPRESET	1	//进程总复位
#define	QRPSOEIND	2	//复位事件缓冲区等待处理的带时标的信息
#define QRPCOLD   128 //冷复位

//EV
#define DLFLAG      0x00000020
#define APPFLAG     0x00000040
#define APPTIMEFLAG 0x00000080
#define SCHEDULE    0x02
#define NEXTFRAME   0x01
#define SENDOVER    0x04

#define  SUMMONBCRALL  5
#define  FREEZENORESET 1
#define  FREEZERESET   2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -