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

📄 sca_xl_l3.a96

📁 基于80c296算法程序例程
💻 A96
📖 第 1 页 / 共 2 页
字号:
;===============================================================
;==	   	       SCA_XL_L3.A96			      ==
;==	       YH-B2100线路单元三元件法算法封装		      ==
;==	        2003.10.08.XI'AN.WANGWEI		      ==
;===============================================================
;线路单元三表法三相测量三相保护
;适用对象:35KV\10KV系统
;接线:	   IN0-UAB/IN1-UBC/IN2-UCA/IN3-IA/IN4-IB/IN5-IC
;	   IN6-UL/IN7-U0/IN8-I0/IN9-IA/IN10-IB/IN11-IC

;-------------------------------------------------------
;SCA_XL_L3.A96说明及预处理
;-------------------------------------------------------
;INI_SCADA:    	程序初始化模块,在主程序初始化段调用?
;MAIN_SCADA:   	主程序中计算处理模块,在主程序循环段调用
;MAIN_SCADA_BC:	补偿状态下主程序计算处理模块
;INT_SCADA_CY: 	时钟中断采样模块,每次在进入时钟中断时调用
;INT_SCADA_BCCY:补偿状态下时钟中断采样
;INT_SCADA_SF: 	时钟中断算法处理模块,在时钟中断中和保护程
;	      	序循环调用
;INT_SCADA_CPB:	本侧测频中断处理模块
;INT_SCADA_CPD:	对侧测频中断处理模块?

SCA_XL_L3 MODULE
$INCLUDE(80C296SA.INC)
$INCLUDE(PMAIN.INC)

;FOR E2PROM READ\WRITE
EXTRN  WREN_CMD:NULL ;WRITE
EXTRN  PAG_WR  :NULL ;WRITE
EXTRN  BYT_RD  :NULL ;READ

;专用寄存器及标号定义
	RSEG	AT	40H ;40H-7FH
      	SCA_CYBASE:	DSW 1;采样空间基地址
        SCA_FLYBASE:	DSW 1;复域系数基地址	   
        SCA_JBBASE:   	DSW 1;基本运算基地址?
	SCA_XXUBASE:	DSW 1;相序处理基地址?
	SCA_GLBASE:  	DSW 1;功率处理基地址
	SCA_SHBASE:     DSW 1;显示区间基地址
 	SCA_BC_BASE:    DSW 1;补偿运算基地址
	SCA_BSBASE:   	DSW 1;补偿显示基址?
	SCA_CYCB_NOW:  	DSW 1;本测本次时钟周期?
	SCA_CYCD_NOW:	DSW 1;对侧本次时钟周期	
	SCA_CPB_WAS:  	DSW 1;本侧上次测频中断EPA1_TIME计数
	SCA_CPD_WAS:	DSW 1;对侧上次测频中断EPA2_TIME计数
      	SCA_BHCY_IP:   	DSW 1;保护值采样位置控制指针
	SCA_CLCY_IP:	DSW 1;测量值采样位置控制指针
	SCA_JFDD_CON:   DSW 1;积分电度刷新时间控制寄存器
	SCA_BUR:	DSW 1;控制20周波复域系数的动态存储?
	SCA_JFDD_CON1:	DSW 1;积分电度定时写E2PROM计时器
	SCA_FMXS:       DSW 1;封面显示速度控
	SCA_CPB_ON:    	DSB 1;本侧本次测频是否有效
	SCA_CPD_ON:	DSB 1;对侧本次测频是否有效
	SCA_FRE_NUM:  	DSB 1;周波数记载
	SCA_BHBC_TIME:  DSB 1;后六通道补偿求解次数控制
     	SCA_CLBC_TIME:  DSB 1;前六通道补偿求解次数控制
     	SCA_BC_CON:	DSB 1;补偿显示控制标志
       	SCA_GLFX_A:	DSB 1;A相功率继电器方向
	SCA_GLFX_B:	DSB 1;B相功率继电器方向
	SCA_GLFX_C:	DSB 1;9相功率继电器方向
	;SCA_YGFHAO:	DSB 1;记载有功功率方向,由主模块定义
	;SCA_WGFHAO:	DSB 1;记载无功功率方向,由主模块定义
	MCDD_YGYS:	DSB 1;脉冲电度有功延时 LOU
	MCDD_WGYS:	DSB 1;脉冲电度无功延时 LOU
	MCDD_LAST:	DSB 1;无功脉冲电度上一次状态LOU
	MCDD_LAST1:	DSB 1;有功脉冲电度上一次状态LOU
	
;---标号区	
	SCA_GLBASEA     EQU   0E000H;功率处理基地址?
	SCA_XXUBASEA	EQU   0E400H;相序显示基地制
	SCA_XXUBASEB	EQU	0E4F0H;优化中断
 	SCA_SHBASEA	EQU   0E700H;显示处理基址	  
	SCA_FLYBASEA	EQU   0E900H;傅氏系数基址
 	SCA_BC_HCA	EQU   0EA10H;补偿缓冲区首址
 	SCA_BC_BASEA    EQU   0EB00H;补偿处理基址
	SCA_BSBASEA     EQU   0EF00H;补偿显示基址
	SCA_CYBASEA     EQU   0F800H;采样基址拷贝
 	SCA_DATA_BURA   EQU   0FE00H;保护值的周波缓存区首址
	SCA_AD_BURA     EQU   0FF00H;A/D存储区首址?
	SCA_JBBASEA	EQU   0FF40H;基本运算存储基地址

;--宏定义
SCA_BCSUM  MACRO
	LOCAL   SCA_BCSUMA
	DIV	SUM,#4096;SUM/4096
	CMP	SUM2,#2047
	JNH	SCA_BCSUMA
	INC	SUM1
SCA_BCSUMA:
	ENDM
;-----------
SCA_BCSSU  MACRO
	LOCAL	SCA_BCSSUA
	DIV	SSU,#4096;SSU/4096
	CMP	SSU2,#2047
	JNH	SCA_BCSSUA
	INC	SSU1
SCA_BCSSUA:
	ENDM
;-----------
SCA_BCXXU   MACRO
	LOCAL   SCA_BCXXUA
	LD	SUM1,TMPAX
	CLR	SUM2
	DIVU	SUM,#05
	CMP	SUM2,#02
	JNH	SCA_BCXXUA
	INC	SUM1
SCA_BCXXUA:
	MULU	SUM,SUM1,#05
	LD	TMPAX,SUM1
	ENDM
;-----------
SCA_PULSE   MACRO
	LOCAL	SCA_PUCR,SCA_PUCR1
       	INC     TMPAX
        ADDC    TMPBX,00H
        CMP     TMPBX,#5F5H;
        JH      SCA_PUCR
	JNE	SCA_PUCR1
        CMP     TMPAX,#0E100H;
        JH      SCA_PUCR
        JNE     SCA_PUCR1
SCA_PUCR:
	CLR     TMPAX
        CLR     TMPBX
SCA_PUCR1:  
	ENDM	
;--------------------------------------------
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;-------------------------------------------------------


;-------------------------------------------------------
;主程序初始化模块
;-------------------------------------------------------
      
	CSEG	FAR
	PUBLIC	INI_SCADA
INI_SCADA: 
        LD	SCA_CYBASE,#SCA_CYBASEA;
        LD	SCA_FLYBASE,#SCA_FLYBASEA;
        LD	SCA_JBBASE,#SCA_JBBASEA;
	LD	SCA_XXUBASE,#SCA_XXUBASEA;
	LD	SCA_GLBASE,#SCA_GLBASEA;
	LD	SCA_SHBASE,#SCA_SHBASEA;
	LD	SCA_BC_BASE,#SCA_BC_BASEA;
	LD	SCA_BSBASE,#SCA_BSBASEA;

	CLRB	SCA_CPB_ON;
	CLRB	SCA_CPD_ON;
	CLR	SCA_CPB_WAS;
	CLR	SCA_CPD_WAS;
	CLR	SCA_CYCB_NOW;
	CLR	SCA_CYCD_NOW;
	CLR	SCA_JFDD_CON;,#4B0H;1 SECOND
	CLRB	SCA_JFDD_CON1;,#60; 1 MINUTE
	CLRB	SCA_FRE_NUM;
	CLR	SCA_BHCY_IP;
	CLR	SCA_CLCY_IP
	CLR	SCA_BUR;
	;CLRB	SCA_YGFHAO
	;CLRB	SCA_WGFHAO
	CLRB	SCA_GLFX
	CLRB	SCA_CLBC_TIME;
	CLRB	SCA_BHBC_TIME;
	CLRB	SCA_BC_CON;
	CLRB	SCA_GLFX_A
	CLRB	SCA_GLFX_B
	CLRB	SCA_GLFX_C
	CLR	SCA_FMXS



	;F800H-FFFFH CLEAR ALL
	LD	TMPAX,#400H
	LD	TMPBX,#0F800H
SCA_CYYS_QK:
	ST	R0,[TMPBX]+
	DJNZW	TMPAX,SCA_CYYS_QK

	;E000H-EFFFH CLEAR ALL?
	LD	TMPAX,#800H
	LD	TMPBX,#0E000H
SCA_GLXXU_QK:
	ST	R0,[TMPBX]+
	DJNZW	TMPAX,SCA_GLXXU_QK
	       
       	 
       	;从E2PROM读补偿值到缓冲区
	;IN0-IN11
	LD	TMPAX,#0CF00H
	SUB	SERADR,TMPAX,#PDZ_BASE
	LD	SRADR,#SCA_BC_HCA
	LD	SERNO,#48
	ECALL	BYT_RD
;;;	LD	TMPBX,#SCA_BC_HCA
;;;	LDB	TMPDL,#24
;;;SCA_XTWC:
;;;	LD	TMPCX,[TMPAX]+
;;;	LD	TMPCX,#1000H
;;;	ST	TMPCX,[TMPBX]+
;;;	DJNZ	TMPDL,SCA_XTWC


	;读取脉冲电度
	LD	TMPAX,#PDZ_YGZ1;P+有功电度
        LD	MMM1,[TMPAX]+
	LD	MMM2,[TMPAX]
	LD	TMPBX,#10000
	MULU	UMM,MMM2,TMPBX
	ADD	UMM1,MMM1
	ADDC	UMM2,#00H
	ST	UMM1,0160H[SCA_SHBASE]
	ST	UMM2,0162H[SCA_SHBASE]

        LD	TMPAX,#PDZ_YGF1;Q+有功电度
        LD	MMM1,[TMPAX]+
	LD	MMM2,[TMPAX]
	LD	TMPBX,#10000
	MULU	UMM,MMM2,TMPBX
	ADD	UMM1,MMM1
	ADDC	UMM2,#00H
	ST	UMM1,0168H[SCA_SHBASE]
	ST	UMM2,016AH[SCA_SHBASE]


       	RET
	RST
;----------------------------------------------------------
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;----------------------------------------------------------


;----------------------------------------------------------
;正常状态下主程序数据处理模块
;----------------------------------------------------------
	
	PUBLIC	MAIN_SCADA
MAIN_SCADA:
	SJMP	SCA_JSZB
SCA_GL_1:
	LJMP	SCA_DDZZ
SCA_JSZB:
        CMP	SCA_CLCY_IP,#46;
        JNH     SCA_GL_1;
     	
;;;     	;小电流接地选线数据周波组织
;;;	;U01
;;;	LD	TMPBX,#SCA_CYBASEA
;;;	ADD	TMPBX,#380H
;;;	LCALL	SCA_FSJB
;;;	MUL	SUM,SUM1,0EA2CH[0];
;;;	MUL	SSU,SSU1,0EA2CH[0];
;;;	SCA_BCSUM
;;;	SCA_BCSSU
;;;	ST	SUM1,0088H[SCA_FLYBASE]
;;;	ST	SSU1,008AH[SCA_FLYBASE]
;;;	ST	SUM1,0080H[SCA_SHBASE]
;;;	ST	SSU1,0082H[SCA_SHBASE];TX-U01
;;;	SMACZ	SUM1,SUM1
;;;	SMAC	SSU1,SSU1
;;;	MVAC	SUM,#15
;;;	SHRL	SUM,#01
;;;	ST	SUM1,0084H[SCA_JBBASE]
;;;	ST	SUM2,0086H[SCA_JBBASE]
;;;
;;;	;I01
;;;	LD	TMPBX,#SCA_CYBASEA
;;;	ADD	TMPBX,#400H
;;;	LCALL	SCA_FSJB
;;;	MUL	SUM,SUM1,0EA30H[0];
;;;	MUL	SSU,SSU1,0EA30H[0];
;;;       	SCA_BCSUM
;;;	SCA_BCSSU
;;;	ST	SUM1,008CH[SCA_FLYBASE]
;;;	ST	SSU1,008EH[SCA_FLYBASE]
;;;	ST	SUM1,0084H[SCA_SHBASE]
;;;	ST	SSU1,0086H[SCA_SHBASE];TX--I01
;;;	SMACZ	SUM1,SUM1
;;;	SMAC	SSU1,SSU1
;;;	MVAC	SUM,#15
;;;	SHRL	SUM,#01
;;;	ST	SUM1,0088H[SCA_JBBASE]
;;;	ST	SUM2,008AH[SCA_JBBASE]
	
	;U05
	;LD	TMPBX,#SCA_CYBASEA;
	;ADD	TMPBX,#380H
	;LCALL	SCA_FSFIVE;
	;MUL	SUM,SUM1,0EA2CH[0];
	;MUL	SSU,SSU1,0EA2CH[0];
	;SCA_BCSUM
	;SCA_BCSSU
	;ST	SUM1,0090H[SCA_FLYBASE]
	;ST	SSU1,0092H[SCA_FLYBASE]
	;ST	SUM1,74H[SCA_SHBASE]
	;ST	SSU1,76H[SCA_SHBASE];TX--U05
	;SMACZ	SUM1,SUM1
	;SMAC	SSU1,SSU1
	;MVAC	SUM,#15
	;SHRL	SUM,#01
	;ST	SUM1,008CH[SCA_JBBASE]
	;ST	SUM2,008EH[SCA_JBBASE];U05
       
	;I05
	;LD	TMPBX,#SCA_CYBASEA
	;ADD	TMPBX,#400H
	;LCALL	SCA_FSFIVE
	;MUL	SUM,SUM1,0EA30H[0];
	;MUL	SSU,SSU1,0EA30H[0];
	;SCA_BCSUM
        ;SCA_BCSSU
	;ST	SUM1,0094H[SCA_FLYBASE]
	;ST	SSU1,0096H[SCA_FLYBASE]
	;ST	SUM1,78H[SCA_SHBASE]
	;ST	SSU1,7AH[SCA_SHBASE];TX--I05
	;SMACZ	SUM1,SUM1
	;SMAC	SSU1,SSU1
	;MVAC	SUM,#15
	;SHRL	SUM,#01
	;ST	SUM1,0090H[SCA_JBBASE]
	;ST	SUM2,0092H[SCA_JBBASE]
	
       	;测量值单周波处理?
        ;UAB--IN0
        LD      TMPBX,#SCA_DATA_BURA;UAB
	ADD	TMPCX,SCA_BUR,#SCA_GLBASEA;
	LCALL   SCA_JSYXZS;1.125倍
       	LCALL	SCA_SQRT
	SHLL	SUM,#04;
        MULU	SUM,SUM2,#9428
	DIVU	SUM,#10000;
	CMP	SUM2,#4999
	JNH	SCA_CLUAB
	INC	SUM1
SCA_CLUAB:
	MULU	SUM,SUM1,0EA10H[0];
	DIVU	SUM,#4096
	CMP	SUM2,#2047
	JNH	SCA_SSSA
	INC	SUM1
SCA_SSSA:
	ST      SUM1,[TMPCX]+
        ST      00H,[TMPCX]+
        LD      TMPBX,#SCA_DATA_BURA;UAB
	LCALL	SCA_FSJB

⌨️ 快捷键说明

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