📄 ge15.asm
字号:
SLOPE1: RET
GDFAI: LD BX,P42V[0] ;功率因素设定值
SUB BX,FAI
MUL BX,P39V[0] ;.功率因素时间常数.............P58V[0]
DIV BX,#10
SUB BX,FAIN
MUL BX,P43V[0] ;功率因素调节系数
DIV BX,#100
JBC FLAG4,4,GDFAI1 ;恒流方式时功利因素自动跟踪
JBC FLAG7,6,GDFAI1 ;电压是给定上限?
; CMP TEMP2,#6F00H
; JH AAA
; ST FAI,[TEMP2]+
; ST FAIN,[TEMP2]+
; ST BX,[TEMP2]+
; ST GDADD,[TEMP2]+
;AAA: NOP
ADD CX,GDADD,BX
LD BX,P42V[0]
SUB FAIN,BX,FAI
CMP GFCMCOV,P44V[0] ;电流下限百分比
JH GDFAI2
LD AX,GFCM
SHR AX,#1
SUB AX,GFCMCOV,AX
CMP CX,AX
JGT GDFAI3
LD CX,AX
LJMP GDFAI3
GDFAI2: CMP GFCMCOV,P45V[0] ;电流上限百分比
JLT GDFAI3
LD AX,GFCM
SHR AX,#1
SUB AX,GFCMCOV,AX
CMP CX,AX
JNH GDFAI3
LD CX,AX
GDFAI3: ST CX,GDADD
RET
GDFAI1: ST BX,GDADD
CLR FAIN
RET
SRT: CLRB AHR ;读出244(2)的高2位并比较判断
SRT1: CALL DLY
LDB AL,LS244C2[0]
ANDB AL,#11000000B
CMPB AL,#01000000B
JNE SRT
INCB AHR
CMPB AHR,#100
JNE SRT1
SRT2: CLRB AHR
SRT3: CALL DLY
LDB AL,LS244C2[0]
ANDB AL,#11000000B
CMPB AL,#11000000B
JNE SRT2
INCB AHR
CMPB AHR,#100
JNE SRT3
SRT4: CLRB AHR
SRT5: CALL DLY
LDB AL,LS244C2[0]
ANDB AL,#11000000B
CMPB AL,#10000000B
JNE SRT4
INCB AHR
CMPB AHR,#100
JNE SRT5
SRT6: CLRB AHR
SRT7: CALL DLY
LDB AL,LS244C2[0]
ANDB AL,#11000000B
CMPB AL,#11000000B
JNE SRT6
INCB AHR
CMPB AHR,#100
JNE SRT7
SRT8: CLRB AHR
SRT9: CALL DLY
LDB AL,LS244C2[0]
ANDB AL,#11000000B
CMPB AL,#10000000B
JNE SRT8
INCB AHR
CMPB AHR,#100
JNE SRT9
RET
SFTIMER1: PUSH AX ;故障处理...............................................
PUSH BX
PUSH CX
CALL RD244C1 ; 读按键 AX中
CALL COVGFCM ;给定电流GFCM
CALL CHECK ;反馈电流FFCM
JBC PORT1V,5,STM1_1A ;故障复位----------------------不用改变---------、、、、///
; JBC FLAG1,7,STM1_1A ;2000,3,9 Dahushan
ORB LS373C3V,#00000111B
STB LS373C3V,LS373C3[0]
ORB LS373C1V,#11110000B
STB LS373C1V,LS373C1[0]
ANDB FLAG7,#11011000B ;Clear fault memory
ANDB FLAG1,#7FH
LDBZE AX,FLTBCK ;Retore P00 as original state
ST AX,P_RAM[0]
CMPB P_ORDER,#9
JH STM1_1A
JBC FLAG3,1,STM1_1A ;有故障显示时,原来的正闪烁为1
LDB P0_9CNT,#80H
STM1_1A: JBC PORT1V,4,STM1_1C ;油断路器 -----------------改为快熔断-----------//////
JBS FLAG7,6,STM1_1 ;油开关合 1合
ORB FLAG7,#01000000B
ORB FLAG2,#00001000B ;油并网瞬间
ANDB FLAG2,#11101111B ;清解列
LD AX,#04
ST AX,P_RAM[0] ;并网
STB AL,FLTBCK
LD WORKCNT,#8000H
LD BX,GFCM ;取给定电流
JBC FLAG4,6,STM1_1B ; 0电位器 1数字方式
LD BX,P20V[0] ;数字方式
STM1_1B: MULU BX,#103
DIVU BX,#100
ST BX,GFCMTV[0]
LJMP STM1_1
STM1_1D: JBS FLAG7,0,STM1_2A ;报F04 故障后未复位
LDB FAULT,#4 ;F04 ;No reset
CALL F_PRCS2
ORB FLAG7,#00000001B
LDB FLTBCK,#1 ;停机
LJMP STM1_29
STM1_2A: LJMP STM1_2
STM1_1C: JBC FLAG7,6,STM1_1 ;油开关合
ANDB FLAG7,#10111111B
ANDB FLAG2,#11110111B
ORB FLAG2,#00010000B ;解列
LD AX,#01 ;停机
JBC FLAG6,0,STM1_1E ;FMK分闸
LD AX,#02 ;合闸完成
JBC FLAG6,1,STM1_1E ;已建压
LD AX,#03 ;开始建压转入正常工作
STM1_1E: ST AX,P_RAM[0]
STB AL,FLTBCK
STM1_1: JBS FLAG6,0,STM1_2 ;FMK合闸
JBC PORT1V,0,STM1_2 ;FMK on -------------改为油合开关-----------//////////
JBS FLAG1,7,STM1_1D ;故障标志
ORB FLAG6,#00000001B
ANDB FLAG6,#11101111B
LD AX,#02 ; FMK合闸完成
ST AX,P_RAM[0]
STB AL,FLTBCK
CALL SIV ;Set initial values when stator swtich on
ANDB LS373C3V,#11011111B ;清 有脉冲输出(停机时置1)(建压时清0)
STB LS373C3V,LS373C3[0]
JBS FLAG4,3,STM1_6 ; 手动方式
ORB FLAG4,#00100000B ;计算触发角允许
ANDB FLAG8,#11111001B ;清正组桥丢失脉冲,反组桥丢失脉冲
ORB PORT2,#11000000B
LD BX,#(P_RAM+11*2) ;读P11 桥的选择
LD BX,[BX]
ANDB FLAG8,#00011111B ;清所有桥的标志位
CMP BX,#1 ;选择1号桥
JE STM1_1F
CMP BX,#2 ; 选2号桥
JE STM1_1G
CMP BX,#3 ;两桥同时工作
JNE STM1_1F
ORB FLAG8,#10000000B ;双桥同时触发
LJMP STM1_1H
STM1_1F: ORB FLAG8,#00100000B ;正桥触发脉冲
LJMP STM1_1H
STM1_1G: ORB FLAG8,#01000000B ;反桥触发脉冲
STM1_1H: JBC FLAG8,5,STM1_1J ;不是正桥触发脉冲吗?
ANDB PORT2,#10111111B ;是
STM1_1J: JBC FLAG8,6,STM1_1K ;不上反组触发脉冲吗?
ANDB PORT2,#01111111B ;是
STM1_1K: JBC FLAG8,7,STM1_2 ;不是双组吗?
ANDB PORT2,#00111111B ;是
STM1_2: JBS FLAG6,1,STM1_6 ;已建压标志
JBC PORT1V,1,STM1_6 ;Establish voltage 输入有无建压信号--------------改为外故障连锁/////////////////
JBC FLAG6,0,STM1_5 ;FMK合闸吗?
ORB FLAG6,#00000010B ;合闸且有建压信号..已建压
LD AX,#03
ST AX,P_RAM[0] ;P00=03开始建压转如正常工作
STB AL,FLTBCK
; LD WORKCNT,#8000H
LJMP STM1_6
STM1_5: JBS FLAG1,7,STM1_6 ;故障标志
LDB FAULT,#1 ;F01 先建压后合闸
CALL F_PRCS2 ;....................................处理
LDB FLTBCK,#1 ;停机
LJMP STM1_29
STM1_6: JBS FLAG6,4,STM1_7 ;FMK分闸
JBC PORT1V,2,STM1_7 ;Stop command on, 分闸标志-------------------------改为外故障连锁-------////
; JBS FLAG1,7,STM1_7
ANDB FLAG1,#10101111B ;清进入常态工作,引许强励
; LD AX,#1
; ST AX,P_RAM[0]
; STB AL,FLTBCK
LD STOPCNT,#8000H
ORB FLAG6,#00010000B ;置分闸标志
STM1_7: JBS FLAG7,2,STM1_8 ;继电保护动作
JBC PORT1V,6,STM1_9 ;继电保护动作 -----------------------改为其励建压----------///////
JBC FLAG2,5,STM1_9 ;继电保护有效
JBS FLAG1,7,STM1_9 ;故障标志
JBS MASKWD,3,STM1_9 ;99,7,6
ORB FLAG7,#00000100B ;继电保护动作
; ANDB FLAG1,#10101111B
LD STOPCNT,#8000H
LDB FAULT,#4 ;E04---Relay protection
CALL F_DPL3 ;继电保护............
STM1_8: JBS PORT1V,6,STM1_9 ;继电保护动作
ANDB FLAG7,#11111011B ;清;继电保护动作
JBC FLAG1,7,STM1_9 ;故障标志
CALL F_DPL8;..............继电保护.............
STM1_9: JBC STOPCNT1,7,STM1_10 ;Stop field current
INC STOPCNT
CMP STOPCNT,#(32768+200) ;after 4 seconds
JNH STM1_10
ANDB FLAG4,#11011111B ;清计算触发角允许
CLR STOPCNT
CALL F_PRCS1 ;*****
STM1_10: JBS FLAG7,5,STM1_11 ;快溶断标志
JBC PORT1V,3,STM1_12 ;快溶断标志 ----------------------------改为风机停标志----------//////////
ORB FLAG7,#00100000B ;置快溶断标志
JBS FLAG1,7,STM1_12 ;故障标志
LDB FAULT,#05 ;F05---HRC Fuse breaked
LDB FLTBCK,#1
CALL F_PRCS2 ;..................快熔................
STM1_11: JBS PORT1V,3,STM1_12 ; 有标志有信号
ANDB FLAG7,#11011111B ; 无信号清标志
JBC FLAG1,7,STM1_12 ;故障标志
CALL F_DPL8 ;..................
STM1_12: JBS FLAG7,4,STM1_13 ;E01故障发电机输出频率过低
JBC FLAG8,3,STM1_15 ;<45HZ
CMP STR_VM,#737 ;90%*Ve
JNH STM1_15
INCB FRENCNT ;电压高 频率低
CMPB FRENCNT,#5
JNH STM1_17
CLRB FRENCNT
ORB FLAG7,#00010000B ;E01故障发电机输出频率过低
JBS FLAG1,7,STM1_15
JBS MASKWD,0,STM1_15
LDB FAULT,#1 ;E01:F<45HZ
CALL F_DPL3 ;...............................................................
STM1_13: JBS FLAG8,3,STM1_15 ;<45HZ
ANDB FLAG7,#11101111B ;清E01故障发电机输出频率过低
JBC FLAG1,7,STM1_15
CALL F_DPL8 ;...............................................................
STM1_15: JBS FLAG7,7,STM1_16 ;发电机输出频率过高
JBC FLAG8,4,STM1_16A
INCB FRENCNT
CMPB FRENCNT,#5
JNH STM1_17
CLRB FRENCNT
ORB FLAG7,#10000000B ;E02故障标志
JBS FLAG1,7,STM1_17
JBS MASKWD,1,STM1_17
LDB FAULT,#2 ;E02:F>55HZ
CALL F_DPL3 ;///////////////////////////////.................................
STM1_16: JBS FLAG8,4,STM1_17
ANDB FLAG7,#01111111B
JBC FLAG1,7,STM1_17
CALL F_DPL8 ;......................................................................
STM1_16A: CLRB FRENCNT
STM1_17: JBC FLAG3,0,STM1_21 ;触发角已经过警戒线
JBS FLAG2,1,STM1_21 ;已检查电流反馈.电压反馈通道
CMP FFCM,#8 ;反馈电流
JH STM1_18 ;
; JBS FLAG1,7,STM1_19 ;99,7,6 SICHUAN
; JBS MASKWD,6,STM1_19
ORB FLAG6,#00100000B ;电流无反馈
; LDB FAULT,#2 ;F02:FFCM=0
; CALL F_PRCS2
; LDB FLTBCK,#1
LJMP STM1_21
STM1_18: ANDB FLAG6,#11011111B ;清电流无反馈标志
STM1_19: CMP STR_VM,#8 ;反馈电压
JGE STM1_20
; JBS FLAG1,7,STM1_21 ;99,7,6 SICHUAN
; JBS MASKWD,6,STM1_21
ORB FLAG6,#01000000B ;置电压无反馈标志
; LDB FAULT,#3 ;F03:STR_VM=0
; CALL F_PRCS2
; LDB FLTBCK,#1
LJMP STM1_21
STM1_20: ANDB FLAG6,#10111111B ;清电压无反馈标志
JBS FLAG6,5,STM1_21 ;有电流无反馈标志吗
ORB FLAG2,#00000010B ;已检查电流反馈电压反馈通道
STM1_21: JBC FLAG4,7,STM1_23 ;工作方式选择...... 是由外部.选还是由P18选....0由P18选
ANDB AL,LSC3V,#0FH ;外部选
JNE STM1_22
LDB AL,#1
STM1_22: ANDB AHR,FLAG4,#0FH
CMPB AL,AHR
JE STM1_23 ;恒流
ANDB FLAG4,#11110000B ;清
ORB FLAG4,AL
ORB PORT2,#11000000B
JBS FLAG4,3,STM1_25 ;手动
JBC FLAG8,6,STM1_22A ;反组触发?
ANDB PORT2,#01111111B
STM1_22A: JBC FLAG8,5,STM1_22B ;正组触发
ANDB PORT2,#10111111B
STM1_22B: JBC FLAG8,7,STM1_23 ;双桥触发
ANDB PORT2,#00111111B
STM1_23: JBC FLAG4,6,STM1_25 ;电位器 数字方式
JBC LSC3V,4,STM1_24 ;电动给定增加
DECB P20CNT
JNE STM1_25
ANDB FLAG5,#11101111B ;外部给定增加减少键有按动
LD AX,#(P_RAM+20*2) ;P20 数字给定值
LD BX,[AX] ;读数字给定值
CMP BX,#1000 ;100.0%
JE STM1_25
INC BX
ST BX,[AX]
CALL P20DP ; .................................
STM1_24: JBC LSC3V,5,STM1_25 ;电动给定减少
DECB P20CNT
JNE STM1_25
ANDB FLAG5,#11101111B ;;外部给定增加减少键有按动
LD AX,#(P_RAM+20*2) ;P20
LD BX,[AX]
CMP BX,0
JE STM1_25
DEC BX
ST BX,[AX]
CALL P20DP ;...............................
STM1_25: JBC ENHANCNT1,7,STM1_27 ;Enhanced excitation 增加励磁
INC ENHANCNT
JBC FLAG1,5,STM1_26 ;可解除强励?
CLR ENHANCNT
CLR ENHANCE
LD END_E_CNT,#8000H
ANDB FLAG1,#11100111B ;允许强励 强励标志清0
BR STM1_27
P20DP: PUSH BX
CALL P20PGM ;////////////??????????????????????????????????????
POP AX
JBC FLAG3,2,P20DP1 ;正显示P10~P59值
CMPB P_ORDER,#20
JNE P20DP1
CALL PV_SET ;????????????????????????????????????????????????
LD BLKCNT1,#8000H ;Blinking counter 闪烁计数器
ANDB FLAG3,#11100111B ;正闪烁,,显示内容亮灭标志
ORB FLAG3,#00000100B ;正显示P10~P59值
P20DP1: RET
STM1_26: AND BX,ENHANCNT,#7FFFH
CMP BX,P15V[0] ;强励时间设定
JNH STM1_27 ;
CLR ENHANCNT
CLR ENHANCE
ORB LS373C1V,#00100000B ;强励指令 ;99,7,6
STB LS373C1V,LS373C1[0]
ANDB FLAG1,#11100111B ;;允许强励 强励标志清0
LD END_E_CNT,#8000H ;强励结束计数器 ABC
STM1_27: JBC END_E_CNT1,7,STM1_28 ;
INC END_E_CNT
CMP END_E_CNT,#(100+32768) ;Intelval between 两次强励之间的间隔
JNH STM1_28 ;two enhanced excitation
INC END_E_CNT2
LD END_E_CNT,#8000H
CMP END_E_CNT2,P16V[0] ;强励时间间隔3~40
JNH STM1_28
CLR END_E_CNT2
CLR END_E_CNT
LD AX,#(P_RAM+17*2) ;P17 强励选择=0不选用强励,1选用强励
LD AX,[AX]
CMP AX,0 ;Enhanced exicition allowed?
JE STM1_28 ;No
ORB FLAG1,#00010000B ;Yes 允许强励标志
STM1_28: JBC WORKCNT1,7,STM1_29 ;.......工作计数器高位....................................
INC WORKCNT
CMP WORKCNT,#(8000+300) ;After 3 second
JNH STM1_29
CLR WORKCNT
ORB FLAG1,#01000000B ;Set normal work flag进入常态标志
LD AX,#(P_RAM+17*2) ;P17 强励选择=0不选用强励,1选用强励
LD AX,[AX]
CMP AX,0 ;Enhanced exicition allowed?
JE STM1_29 ;No
ORB FLAG1,#00010000B ;Yes 选用,允许强励标志
STM1_29: CALL RD_KEYS ;................读键............................读键
JBC TKCNT,7,STM1_30
INCB TKCNT
STM1_30: JBC K_CNT,7,STM1_31 ;;;;;;;;;;;;;;;;;TKCNT
INCB K_CNT
STM1_31: JBC FLAG3,3,STM1_33 ;显示正闪烁
INCB BLINKCNT ;灭计数器
JBC FLAG3,4,STM1_32 ;显示内容亮还是灭? 灭
CMPB BLINKCNT,DPTIME
JNE STM1_34
ANDB FLAG3,#11101111B ;显示内容灭
LD BKLCD1,LCD1
LDB BKLCD3,LCD3
LD LCD1,0
LDB LCD3,0
BR STM1_33
STM1_32: CMPB BLINKCNT,BLKTIME ;
JNE STM1_34
ORB FLAG3,#00011000B ;灭的时间到了显示正闪烁 ..+显示内容 亮
LD LCD1,BKLCD1
LDB LCD3,BKLCD3
STM1_33: CLRB BLINKCNT
STM1_34: JBC BLKCNT2,7,STM1_35
INC BLKCNT1
STM1_35: JBS FLAG1,0,STM1_40 ;If at FAULT display,not re_fresh 出错不闪烁
JBC P0_9CNT,7,STM1_40 ; P00-P09
INCB P0_9CNT
CMPB P0_9CNT,#(127+10) ;Re_fresh P00-P09 values per 0.1 S
JNE STM1_40
LDB P0_9CNT,#80H
CALL DPP0_P9 ;................................???????????????????????
STM1_40: DJNZ W_OR_F,STM1_48
LDB W_OR_F,#10
ORB LS373C3V,#01000000B
STB LS373C3V,LS373C3[0]
NOP
ANDB LS373C3V,#10111111B
STB LS373C3V,LS373C3[0]
STM1_48: INC CFAICNT
CMP CFAICNT,P40V[0] ;计算电压环周期及功率因素周期
JNH STM1_49
CLR CFAICNT
CALL GDFAI ;................................................
STM1_49: POP CX
POP BX
POP AX
RET
F_PRCS1: ORB PORT2,#11000000B ;Fault process 1故障处理..P2.6 P2.7............................
ANDB FLAG1,#10110001B ;1 2 3 6
ANDB FLAG2,#11100100B ;0 1 3 4
ANDB FLAG3,#11111110B
ANDB FLAG6,#10011100B ;
ANDB FLAG8,#11111001B
ORB LS373C3V,#00100000B ;有脉冲输出标志
STB LS373C3V,LS373C3[0]
LD AX,#1
ST AX,P_RAM[0] ;停机
STB AL,FLTBCK
; ANDB LS373C1V,#10111111B
; STB LS373C1V,LS373C1[0]
CLR ENHANCNT
; CLR WORKCNT
CLR END_E_CNT
CLR END_E_CNT2
RET
F_PRCS2: PUSH AX ;Fault process 2
PUSH BX
LD STOPCNT,#8000H
ANDB LS373C1V,#10111111B ;99,7,6 清失励故障
STB LS373C1V,LS373C1[0]
; CLRB P0_9CNT
ORB FLAG1,#81H ;#10000001
JBC FLAG3,3,F_DPL1 ;显示正闪烁
; JBS FLAG1,0,F_DPL1
ORB FLAG3,#00000010B ;有故障时存原来的显示正闪烁
F_DPL1: LDB LCD1,#71H ;Fault Display故障显示
LDBZE AX,FAULT
DIVUB AX,#10
LDBZE BX,AHR
CLRB AHR
LDB LCD2,DPCODE[AX] ;查表
LDB LCD3,DPCODE[BX]
ORB FLAG3,#00011000B ;显示正闪烁,显示内容/亮
LDB DPTIME,#100 ;亮时间
LDB BLKTIME,#100 ;灭时间
LD AX,#5 ;Set P00=05, fault state .故障
ST AX,P_RAM[0]
CLR ENHANCNT
CLR WORKCNT
CLR END_E_CNT
CLR END_E_CNT2
F_DPL2: POP BX
POP AX
RET
F_DPL3: PUSH AX
PUSH BX
; CLRB P0_9CNT
ANDB LS373C3V,#11111011B ;清综合故障标志
STB LS373C3V,LS373C3[0]
ORB FLAG1,#83H ;置报轻故障标志
JBC FLAG3,3,F_DPL5 ;显示正闪烁
; JBS FLAG1,0,F_DPL5
ORB FLAG3,#00000010B ;正显示P10~59的值
F_DPL5: LDB LCD1,#79H ;Fault Display P
LDBZE AX,FAULT
DIVUB AX,#10
LDBZE BX,AHR
CLRB AHR
LDB LCD2,DPCODE[AX]
LDB LCD3,DPCODE[BX]
LD AX,#5 ;Set P00=05, fault state
ST AX,P_RAM[0]
ORB FLAG3,#00011000B ;显示正闪烁,显示内容亮
LDB DPTIME,#100
LDB BLKTIME,#100
F_DPL4: POP BX
POP AX
RET
F_DPL8: PUSH AX
PUSH BX
ANDB FLAG1,#7FH ;清故障标志
ANDB FLAG7,#11011001B ;Clear fault memory
LDB AL,FLTBCK ;Restore P00 as original state 恢复P00原始状态
STB AL,P_RAM[0]
CMPB P_ORDER,#9
JH F_DPL9
JBC FLAG3,1,F_DPL9 ;触发角已经过警戒线
; LDB P0_9CNT,#80H
F_DPL9: ORB LS373C3V,#00000100B ;置综合故障
STB LS373C3V,LS373C3[0]
POP BX
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -