📄 ge15.asm
字号:
POP AX
RET
F_ERR: PUSH AX
PUSH BX
; CLRB P0_9CNT
ORB FLAG1,#83H ;数码管显示F**报轻故障
JBC FLAG3,3,F_ERR1
; JBS FLAG1,0,F_ERR1
ORB FLAG3,#00000010B ;有故障时存原来的显示正闪烁
F_ERR1: LDB LCD1,#79H ;Fault Display
LDBZE AX,FAULT ;按0扩展成字
DIVUB AX,#10
LDBZE BX,AHR
CLRB AHR
LDB LCD2,DPCODE[AX]
LDB LCD3,DPCODE[BX]
LDB FLTBCK,P_RAM[0]
LD AX,#5 ;Set P00=05, fault state
ST AX,P_RAM[0]
ORB FLAG3,#00011000B ;显示正闪烁,显示内容亮
LDB DPTIME,#100
LDB BLKTIME,#100
POP BX
POP AX
RET
F_ERR8: PUSH AX
PUSH BX
ANDB FLAG1,#01111101B ;清故障标志
ANDB FLAG7,#11011001B ;Clear fault memory
LDB AL,FLTBCK ;Restore P00 as original state
STB AL,P_RAM[0]
CMPB P_ORDER,#9
JH F_ERR9
JBC FLAG3,1,F_ERR9 ;有故障显示
; LDB P0_9CNT,#80H
F_ERR9: POP BX
POP AX
RET
RD244C1: PUSH AX ;读244 3
LDB AL,PORT1 ;读P1口
LDB AHR,LS244C3[0]
NOTB AHR
ANDB AL,#7FH
ANDB AHR,#7FH
CMP AX,PORT1V
JNE RDC11 ;/=有键
CLRB INCNT1
JBS FLAG5,4,RDC16 ;有外部数字给定,增加.减少键有按动跳退出
ANDB AL,LSC3V,#00110000B ;/////////电动给定增加/减少为0吗
JE RDC16
LDB P20CNT,#8
ORB FLAG5,#00010000B ;置有外部数字给定,增加.减少键有按动
BR RDC16
RDC11: CMPB INCNT1,0
JNE RDC13
LDB INCNT1,#1
ST AX,PORT1TV
BR RDC16
RDC13: CMPB INCNT1,#5H
JNE RDC14
CLRB INCNT1
BR RDC16
RDC15: INCB INCNT1
RDC16: POP AX
RET
RDC17: CLRB P20CNT
ANDB FLAG5,#11101111B ;有按动........清
POP AX
RET
RD_KEYS: PUSH AX ;;读按键处理
PUSH BX
LDB AL,LS244C2[0] ;设置键 增加键 减少键
ANDB AL,#7
CMPB AL,#7 ;按下为0
JNE RD_KY1 ;有键处理
ANDB NEW_K,#0FEH ;无键处理
CLRB K_CNT
CLRB TKCNT
BR RD_KY5
RD_KY1: JBC TKCNT,7,RD_KY2
CMPB TKCNT,#0C6H ;(128)+70====Delay 700ms 198
JNH RD_KY5
LDB TKCNT,#0BCH ;(128)+60====Delay 100ms 188
ANDB AL,#7
NOTB AL
ANDB AL,#7
STB AL,KEY
ORB NEW_K,#11H
BR RD_KY5
RD_KY2: CMPB K_CNT,#3
JNE RD_KY7
CLRB K_CNT
ORB NEW_K,#11H
ANDB AL,#7
NOTB AL
ANDB AL,#7
STB AL,KEY
LDB TKCNT,#80H
RD_KY5: POP BX
POP AX
RET
RD_KY7: CMPB K_CNT,0
JE RD_KY8
CMPB AL,K_TEMP
JNE RD_KY9
INCB K_CNT
BR RD_KY5
RD_KY8: STB AL,K_TEMP
INCB K_CNT
BR RD_KY5
RD_KY9: CLRB K_CNT
BR RD_KY5
CKPUL: JBC LSC3V,6,CKPUL4 ;244c3 脉冲丢失
JBC FLAG6,1,CKPUL8 ;无已建压标志
INCB PULLOS
CMPB PULLOS,#100
JNH CKPUL8
CLRB PULLOS
JBC FLAG8,5,CKPUL5 ;1正组触发脉冲?????????????????????????????????????????
JBS FLAG1,7,CKPUL8 ;故障标志
JBS MASKWD,5,CKPUL8
LDB FAULT,#8 ;E08: Pulse of No 1. bridge is lossing
CALL F_DPL3
ORB FLAG8,#01000010B
ANDB FLAG8,#11011111B ;清正组触发脉冲?
JBS FLAG8,2,CKPUL7 ;正组桥有丢脉冲
ANDB PORT2,#01111111B
ORB PORT2,#01000000B
CKPUL4: CLRB PULLOS
RET
CKPUL5: JBC FLAG8,6,CKPUL6
JBS FLAG1,7,CKPUL8
JBS MASKWD,5,CKPUL8
LDB FAULT,#9 ;E09: Pulse of No 2. bridge is lossing
CALL F_DPL3
JBS FLAG8,1,CKPUL7
ANDB PORT2,#10111111B
ORB FLAG8,#00100100B
ANDB FLAG8,#10111111B
ORB PORT2,#10000000B
RET
CKPUL6: JBC FLAG8,7,CKPUL8
JBS FLAG1,7,CKPUL8
JBS MASKWD,5,CKPUL8
LDB FAULT,#10 ;E10: Pulse of all bridges is lossing
CALL F_DPL3
RET
CKPUL7: ANDB PORT2,#00111111B
ANDB FLAG8,#10011111B
ORB FLAG8,#10000000B
CKPUL8: RET
CKIZER: CMP FFCM,#25 ;I=0 detection ,5% rated current value,
JH CKIZER1 ; equal 512*5%=25
CLR STOPCNT
ANDB FLAG4,#11011111B
ANDB FLAG3,#11111110B
CALL F_PRCS1
CKIZER1: RET
CHECK: CMP FFCM,P33V[0] ;励磁过流动作值 检查标准位 转故障处理子程序
JNH CKOVERC1
; ORB FLAG7,#00001000B
JBC LS373C1V,4,CKOVERC1 ; 过励故障?
ANDB LS373C1V,#11101111B ;清过励故障
STB LS373C1V,LS373C1[0]
; ORB PORT2,#11000000B
JBS FLAG1,7,CKOVERC1 ;故障标志
LDB FAULT,#08 ;F08: Overcurrent limited过电流
CALL F_PRCS2 ;出错处理.........过流故障.................
CKOVERC1: JBS STOPCNT1,7,CKIZER
JBS FLAG4,3,CKIZER1 ;手动方式
CALL CKPUL ;Check loss of pulses检查丢失脉冲
JBS PORT1V,4,CHECK3 ;油断路器 信号
CMP STR_VM,P41V[0] ;定子电压与空载过压报警值比较
JNH CHECK1
JBC LS373C3V,0,CHECK1;判断有无空载过压标志
ANDB LS373C3V,#11111110B ;有.,,就清标志
STB LS373C3V,LS373C3[0]
JBS FLAG1,7,CHECK1 ; 故障标志
JBS MASKWD,7,CHECK1
LDB FAULT,#6 ;F06:Overvoltage at empty load空载过电压
; LDB FLTBCK,#1
CALL F_PRCS2 ;故障处理
CHECK1: NOP ;JBC FLAG6,1,CHECK9
; JBC FLAG2,1,CHECK2
; CMP FFCM,LOWCUR1[0]
; JH CKLOWI2
; JBS FLAG7,1,CHECK2
; ORB FLAG7,#00000010B
; JBS FLAG1,7,CHECK2
; JBS MASKWD,4,CHECK2
; LDB FAULT,#06 ;E06: Excited current is near zero
; CALL F_DPL3
CHECK2: JBC PORT1V,1,CHECK8 ;建压信号 改为由 --------P1.6判断///////////////////////
CMP STR_VM,#819*40/100 ;定子电压
JNH CHECK9
ANDB LS373C1V,#01111111B ;起励切除(重故障)标志
STB LS373C1V,LS373C1[0]
RET
CHECK8: JBC FLAG6,1,CHECK9 ;已建压
JBS LS373C1V,7,CHECK9 ;起励切除标志
INCB TIMECNT3 ;99,7,6
CMPB TIMECNT3,#250
JNH CHECK9
CLRB TIMECNT3
ORB LS373C1V,#10000000B ;起励切除标志(重故障)
STB LS373C1V,LS373C1[0]
CHECK9: RET
CKLOWI2: JBC FLAG7,1,CHECK2 ;欠励但未失励标志
ANDB FLAG7,#11111101B ;清标志
JBC FLAG1,7,CHECK2 ;无故障标志
CALL F_DPL8 ;故障处理
RET
CHECK3: JBC FLAG6,1,CHECK9 ;没有 建压
CMP STR_VM,LOSSVTG[0] ;定子电压与**比较
JH CHECK4 ;大
JBS MASKWD,2,CHECK6 ;;99,7,6
JBC LS373C3V,0,CHECK6 ;空载过压
ANDB LS373C3V,#11111101B ;清 高压断线标志位
STB LS373C3V,LS373C3[0]
JBS FLAG1,7,CHECK6
LDB FAULT,#3 ;E03:Highvoltage line broked高压断线
CALL F_ERR
LJMP CHECK6
CHECK4: JBS LS373C3V,1,CHECK6 ;高压断线
ORB LS373C3V,#00000010B ;置高压断线标志
STB LS373C3V,LS373C3[0]
JBC FLAG1,7,CHECK6
CALL F_ERR8 ;故障处理
CHECK6: JBC FLAG2,1,CHECK7 ;已检查电流反馈.电压反馈通道
CMP FFCM,LOWCUR1[0] ;反馈电流与**比较
JH CHECK10 ;高
JBC LS373C1V,6,CHECK7 ;有无失励故障
ANDB LS373C1V,#10111111B ;请标志
STB LS373C1V,LS373C1[0]
JBS FLAG1,7,CHECK7 ;出错标志
LDB FAULT,#7 ;F07:Excited current is near zero
; LDB FLTBCK,#1
CALL F_PRCS2
LJMP CHECK7
CHECK10: JBS LS373C1V,6,CHECK7 ;有失励故障标志
ORB LS373C1V,#01000000B
STB LS373C1V,LS373C1[0]
CHECK7: JBC FLAG6,7,LMTCMP3 ;功率因素角值已算得
LD BX,COSFAIF
CLR CX
DIVU BX,#1000
ADD BX,P32V[0] ;并网后励磁欠流反时限曲线选择(固定曲线1~3)
LDB BX,[BX]
CLRB BHR
MULU BX,RATEDBITS ;比例系数
DIVU BX,#100
JBC FLAG5,5,LMTCMP1 ;有装置和电机励磁电流值时为1
MULU BX,P48V[0] ;同步发电机额定励磁电流值
DIVU BX,P49V[0] ;励磁装置额定历次电流值
LMTCMP1: ST BX,LOWCUR
JBC FLAG2,1,LMTCMP2 ;加斜坡函数标志
CMP FFCM,LOWCUR ;反馈电流与**比较
JH LMTCMP2 ;高
JBS FLAG7,1,LMTCMP4 ;有欠流但未失励标志
ORB FLAG7,#00000010B ;置标志
JBS FLAG1,7,LMTCMP4
JBS MASKWD,4,LMTCMP4
LDB FAULT,#06 ;E06: Low current limited
CALL F_DPL3
LJMP LMTCMP4
LMTCMP3: LD BX,P32V[0] ;并网后励磁欠流反时限曲线选择(固定曲线1~3)/没有算功率因角标志
LDB BX,0CH[BX]
CLRB BHR
MULU BX,RATEDBITS ;比例系数
DIVU BX,#100
JBC FLAG5,5,LMTCMP1 ;有装置和电机励磁电流值时为1
MULU BX,P48V[0] ;同步发电机额定励磁电流值
DIVU BX,P49V[0] ;励磁装置额定历次电流值
LJMP LMTCMP1
LMTCMP2: JBC FLAG7,1,LMTCMP4 ;有欠流但未失励标志
ANDB FLAG7,#11111101B ;清标志
JBC FLAG1,7,LMTCMP4
CALL F_DPL8
LMTCMP4: NOP ;JBC FLAG4,0,LMTCMP6 99,7,6
CMP STR_VM,TH_STRV ;Compare stator voltage 极限电压
JH LMTCMP8
JBC FLAG1,4,LMTCMP6 ;引许强励标志
JBS FLAG1,3,LMTCMP6 ;有强励标志
ANDB LS373C1V,#11011111B ;清强励指令 ( 有引许但无标志)
STB LS373C1V,LS373C1[0]
JBS FLAG1,7,LMTCMP7
LDB FAULT,#07 ;E07: Enhancant excitation
CALL F_ERR
LMTCMP7: LD ENHANCNT,#8000H
LD AX,#(P_RAM+14*2) ;P14强励倍数
LD BX,[AX]
MULU BX,#512 ;99,7,4,SICHUAN
DIVU BX,#100
ST BX,ENHANCE
ORB FLAG1,#00001000B;置强励标志
LJMP LMTCMP6
LMTCMP8: JBC FLAG1,3,LMTCMP6 ;强励标志
CLR ENHANCNT ;Clear enhancant excitation
CLR ENHANCE
ORB LS373C1V,#00100000B ;强励指令
STB LS373C1V,LS373C1[0]
CALL F_ERR8
LD END_E_CNT,#8000H
ANDB FLAG1,#11100111B
LMTCMP6: CMP FFCM,THLD11[0] ;反馈电流与1.1倍的电流比较
JNH CKOVC2
ORB FLAG9,#00000001B ;置1.在过流1.1倍时
ST ALFA,LMTOVCUR11[0]
INCB TIMECNT1
CMPB TIMECNT1,#10
JNE CKOVC1
CLRB TIMECNT1
INC TIMECNT2
SUB BX,FFCM,RATEDBITS
CLR CX
DIVU BX,THLD01[0]
ADD BX,P34V[0] ;;并网后励磁欠流反时限曲线选择(固定曲线1~3)
LD BX,[BX]
CMP TIMECNT2,BX
JNH CKOVC1
JBS FLAG7,3,CKOVC1 ;过流标志
ORB FLAG7,#00001000B
JBS FLAG1,7,CKOVC1
LDB FAULT,#05 ;E05: Overcurrent limited
CALL F_DPL3
CKOVC1: RET
CKOVC2: CLRB TIMECNT1
CLR TIMECNT2
ANDB FLAG9,#11111110B
JBC FLAG7,3,CKOVC3
ANDB FLAG7,#11110111B
JBC FLAG1,7,CKOVC3
CALL F_DPL8
CKOVC3: RET
LOWCURLT1:DCB 30,43,53,64,72,80,87,92,95,98,100,20,30
LOWCURLT2:DCB 50,60,68,75,82,87,92,95,98,99,100,20,30
LOWCURLT3:DCB 70,77,83,87,91,94,96,97,98,99,100,20,30
OVERCURT1:DCW 18000,6000,600,500,400,100,60,50,40,30,20,10,5,1
OVERCURT2:DCW 18000,9000,3000,1200,600,500,400,100,60,50,40,30,20,10
OVERCURT3:DCW 60000,18000,9000,6000,3000,1200,600,500,400,100,50,30,20,10
PO_ALTER: CMPB KEY,#5
JE POINCQ
CMPB KEY,#6
JE PODECQ
JBS KEY,0,POINC
JBS KEY,2,PVDPL
JBS KEY,1,PODEC
PO_ALT1: RET
POINC: CLRB KEY
CMPB P_ORDER,#59 ;End to be reached
JE PO_ALTER
INCB P_ORDER ;Increase 1
CALL PODPL
BR PO_ALT1
PODEC: CLRB KEY
CMPB P_ORDER,0 ;Home to be reached
JE PO_ALT1
DECB P_ORDER ;Decrease 1
CALL PODPL
BR PO_ALT1
POINCQ: CLRB KEY
CMPB P_ORDER,#59 ;End to be reached
JE PO_ALT1
ADDB P_ORDER,#10 ;Increase 10
CMPB P_ORDER,#59
JNH POINCQ1
LDB P_ORDER,#59
POINCQ1: CALL PODPL
BR PO_ALT1
PODECQ: CLRB KEY
CMPB P_ORDER,0 ;End to be reached
JE PO_ALT1
CMPB P_ORDER,#9
JH PODECQ1
CLRB P_ORDER
BR PODECQ2
PODECQ1: SUB P_ORDER,#10 ;Decrease 10
PODECQ2: CALL PODPL
BR PO_ALT1
PVDPL7: JBS KEY,0,PVSET1
JBS KEY,1,PVSET1
JBS KEY,2,PODPL1
WW2: CMP BLKCNT1,#(500+32768);=5 seconds ? No key pressed
JNH WW1
CLR BLKCNT1
JBS FLAG3,3,WW1
CLRB BLINKCNT
ORB FLAG3,#00011000B
LDB DPTIME,#200 ;Display parameter order for 2 seconds
LDB BLKTIME,#50 ;Blanking for 1 second
BR WW1
PVSET1: LD BLKCNT1,#8000H ;Blinking counter
ANDB FLAG3,#11100111B
ORB FLAG3,#00000100B
CALL PVALT
BR WW1
PODPL1: CLRB KEY
CLRB P0_9CNT
CLR BLKCNT1
CLRB BLINKCNT
ANDB FLAG3,#11100011B
CALL PODPL
BR PO_ALT1
PVALT: LD BX,#(P_RAM+102) ;P51=20 ?
LD AX,[BX]
LDB CL,P_ORDER
MULUB BX,CL,#8
ADD BX,#(P_EPRM-80)
CMPB P_ORDER,#51
JE PVALT1
XORB AL,7[BX]
JE PVALT1
RET ;No,Return!
PVALT1: SHLB CL,#1
CLRB CHR
ADD CX,#P_RAM
LD AX,[CX]
CMPB KEY,#5
JE PVINCQ
CMPB KEY,#6
JE PVDECQ
JBS KEY,0,PVINC1
JBS KEY,1,PVDEC1C
PVALT2: RET
PVDEC1C: BR PVDEC1
PVINCQ: CLRB KEY ;Parameter value increases quickly
CMP AX,2[BX]
PVINCQ3: ADD AX,#10
PVINCQ4: CMP AX,2[BX]
JNH PVINCQ5
LD AX,2[BX]
PVINCQ5: BR PVALT3
PVDECQ: CLRB KEY ;Parameter value decreases quickly
CMP AX,[BX]
JE PVALT2
CMP AX,#9999
JNH PVDECQ2
SUB AX,#1000
BR PVDECQ5
PVDECQ2: CMP AX,#999
JNH PVDECQ3
SUB AX,#100
BR PVDECQ5
PVDECQ3: CMP AX,#9
JH PVDECQ4
LD AX,[BX]
BR PVDECQ5
PVDECQ4: SUB AX,#10
PVINC2: CMP AX,#999
JNH PVINC3
ADD AX,#10
BR PVINC4
PVINC3: INC AX
PVINC4: CMP AX,2[BX]
JNH PVALT3
LD AX,2[BX]
BR PVALT3
PVDEC1: CLRB KEY
CMP AX,[BX]
JE PVDEC5
CMP AX,#999
JH PVDEC2
DEC AX
BR PVDEC5
PVDEC2: SUB AX,#10
BR PVDEC5
PVDEC5: CMP AX,[BX]
JH PVALT3
LD AX,[BX]
PVALT3: LDBZE CX,P_ORDER
SHL CX,#1
ADD BX,CX,#P_RAM
ST AX,[BX]
PVALT4: PUSH AX
CALL PV_SET
POP BX
CALL PV_CAL
RET
PODPL: LDB LCD1,#73H ;Parameter order display: 命令参数显示 P
LDBZE AX,P_ORDER ;字节装入字 按0扩展
DIVUB AX,#10
LDBZE BX,AHR ;低位是商.高位是余数
CLRB AHR
LDB LCD2,DPCODE[AX]
LDB LCD3,DPCODE[BX]
RET
CPVS6: INCB AL
; ADD DX,#DPCODE
; LDB AHR,[DX]
; LDB DL,6[BX]
; ANDB DL,#0FH
; CMPB DL,#2
; JNE CPVS8
LDB AHR,#0C0H
CPVS8: STB AHR,[CX]+
CPVS10: LD DX,EX ;Third number
CLR EX
DIVU DX,#10
CMPB AL,0
JNE CPVS11
BR CPVS13
CPVS11: INCB AL
ADD DX,#DPCODE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -