📄 auto_con.plm
字号:
AUTO_con1:procedure;
IF P22=0
THEN DO;
out=out or 2;
IF y2_b
THEN DO;
IF p26=0 THEN out=out or 4;
ELSE DO;
IF y2_run_dt=0 and main_dt=0
THEN DO;
out=out or 4;
main_dt=5;
END;
END;
END;
END;
ELSE DO;
IF Y1_RUN_DT=0 AND MAIN_DT=0
THEN DO; main_dt=5;out=out or 2;END;
END;
END AUTO_con1;
AUTO_con2:procedure;
IF P26=0
THEN DO;
out=out or 4;
IF y1_b
THEN DO;
IF p22=0 THEN out=out or 2;
ELSE DO;
IF y1_run_dt=0 and main_dt=0
THEN DO;
out=out or 2;
main_dt=5;
END;
END;
END;
END;
ELSE DO;
IF Y2_RUN_DT=0 AND MAIN_DT=0
THEN DO; main_dt=5;out=out or 4;END;
END;
END AUTO_con2;
auto_con:procedure;
declare ii byte;
IF in_err>0 or con_stat>6 or tem_z=8000h or hum_z=0ffh THEN con_stat=0;
DO CASE con_stat;
/*0*/DO;
system_run_f,auto_hand_b,y1_b,y2_b=0;out=0;
y1_run_dt,y2_run_dt=180;
IF in_err=0 THEN con_stat=1;
END;
/*1*/DO;
IF y1_run_dt=0 AND y1_b THEN out=out or 2;
IF y2_run_dt=0 and y2_b then out=out or 4;
IF open_f THEN DO;system_run_f,auto_hand_b=1;con_stat=2;open_f=0;END;
END;
/*2*/DO;out=1;f_run_dt=15;main_dt=5;con_stat=3;END;
/*3*/IF main_dt=0 THEN con_stat=4;
/*4*/DO;
DECLARE x word;
DECLARE y byte;
y=hum_z-set_hum;
IF y>=80h
THEN DO;
y=(-y)*2;
IF y>h_wide THEN y=0;ELSE y=1;
END;
ELSE DO;
y=y*2/h_wide;
IF y>2 THEN y=2;
y=1+y;
END;
IF tem_z>8000h THEN out=0;
IF tem_z<8000h
THEN DO;
x=tem_z-set_tem*10;
IF x>=8000h
THEN DO;
x=(-x)*3/t_wide;
IF x>3 THEN x=3;
out=3-low(x);
END;
ELSE DO;
x=x*3/t_wide;
out=3+low(x);
IF out>6 THEN out=6;
END;
END;
y=out*4+y;IF y>25 THEN y=25;
out,y=rom0(y);
Y1_B,Y2_B=0;
IF (y and 2)=2
THEN DO;
IF (y and 4)=4
THEN Y1_B,Y2_B=1;
ELSE DO;IF yj12 THEN y2_b=1;ELSE y1_b=1;END;
END;
IF ((Y AND 6)=0) AND (P22=0 OR P26=0) THEN yj12=not yj12;
OUT=OUT AND 0F9H;
IF yj12=0 AND Y1_B THEN CALL AUTO_con1;
IF YJ12=1 AND Y2_B THEN CALL AUTO_con2;
IF P24 AND (out and 40h)=40h
THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0bfh;END;
IF P21 AND (out and 8h)=8
THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0f7h;END;
IF P25 AND (out and 10h)=10h
THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0efh;END;
IF P20 AND (out and 20h)=20h
THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0dfh;END;
END;
/*5*/DO;y1_b=0;out=0;con_stat=1;END;
/*6*/;
END;
ii=0;
IF (out AND 1h)= 1h THEN ii=8; /*f*/
IF (out AND 2h)= 2h THEN ii=ii or 4h; /*y1*/
IF (out AND 4h)= 4h THEN ii=ii or 40h; /*y2*/
IF (out AND 8h)= 8h THEN ii=ii or 2h; /*h1*/
IF (out AND 10h)=10h THEN ii=ii or 20h; /*h2*/
IF (out AND 20h)=20h THEN ii=ii or 1h; /*h3*/
IF (out AND 40h)=40h THEN ii=ii or 10h; /*hum*/
p2=not ii;
IF P22=0 THEN y1_run_dt=180;
IF P26=0 THEN y2_run_dt=180;
END auto_con;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -