氧气透平压缩机控制组态程序和利时MACSV系统.docx
《氧气透平压缩机控制组态程序和利时MACSV系统.docx》由会员分享,可在线阅读,更多相关《氧气透平压缩机控制组态程序和利时MACSV系统.docx(19页珍藏版)》请在冰点文库上搜索。
氧气透平压缩机控制组态程序和利时MACSV系统
氧气透平压缩机控制组态程序(和利时MACSV系统)
第一部分:
氧透启动停车时序控制程序
程序声明部分:
PROGRAMOC_SFC(*氧透启动停车时序*)
VARRETAIN
DELAY:
TON;(*计时器*)
INIT:
BOOL:
=TRUE;
STEP2:
BOOL;
STEP3:
BOOL;
STEP4:
BOOL;
STEP5:
BOOL;
STEP6:
BOOL;
STEP7:
BOOL;
STEP8:
BOOL;
STEP9:
BOOL;
STEP10:
BOOL;
STEP11:
BOOL;
STEP12:
BOOL;
STEP13:
BOOL;
STEP14:
BOOL;
STEP15:
BOOL;
STEP16:
BOOL;
STEP17:
BOOL;
STEP22:
BOOL;
STEP23:
BOOL;
STEP24:
BOOL;
STEP32:
BOOL;
STEP33:
BOOL;
STEP34:
BOOL;
_INIT:
BOOL:
=TRUE;
_STEP2:
BOOL;
_STEP3:
BOOL;
_STEP4:
BOOL;
_STEP5:
BOOL;
_STEP6:
BOOL;
_STEP7:
BOOL;
_STEP8:
BOOL;
_STEP9:
BOOL;
_STEP10:
BOOL;
_STEP11:
BOOL;
_STEP12:
BOOL;
_STEP13:
BOOL;
_STEP14:
BOOL;
_STEP15:
BOOL;
_STEP16:
BOOL;
_STEP17:
BOOL;
_STEP22:
BOOL;
_STEP23:
BOOL;
_STEP24:
BOOL;
_STEP32:
BOOL;
_STEP33:
BOOL;
_STEP34:
BOOL;
END_VAR
程序主体部分:
采用SFC语言编制,利用该语言的并行分支功能实现正常停车、重故障停车、喷氮停车程序的跳转。
Init
OC_OCTIP:
=0;(*停车状态*)
DELAY(IN:
=FALSE);(*计时器复位*)
PID_V3304_TS:
=FALSE;
OC_OCQDLS:
=TRUE;
OC_OCRING:
=FALSE;(*关闭警铃*)
STOP3301:
=FALSE;
Step2
入口动作:
OC_AM3301:
=TRUE;
OC_AM3302:
=TRUE;
OC_AM3303:
=TRUE;
OC_AM3304:
=TRUE;
OC_AM3306:
=TRUE;
OC_AM3309:
=TRUE;
OC_AM3315:
=TRUE;
OC_AM3316:
=TRUE;
OC_AM3317:
=TRUE;
OC_AM3318:
=TRUE;
DELAY(IN:
=FALSE);
动作:
IFSO3350=FALSETHEN
OC_OCTIP:
=1;(*氧透准备启动*)
OC_ZD3301:
=FALSE;(*全关*)
OC_ZD3302:
=TRUE;(*全开*)
OC_ZD3303:
=FALSE;(*全开*)
OC_ZD3304:
=TRUE;(*全关*)
PID_V3304_TS:
=TRUE;(*V3004跟踪0*)
OC_ZD3306:
=FALSE;(*全关*)
OC_ZD3309:
=FALSE;(*全开*)
OC_ZD3315:
=FALSE;(*全关*)
OC_ZD3316:
=TRUE;(*全开*)
OC_ZD3317:
=TRUE;(*可调节*)
OC_ZD3318:
=FALSE;(*全关*)
OC_OCLS1:
=FALSE;(*进口压力联锁*)
OC_OCLS5:
=FALSE;(*轴封差压联锁*)
OC_OCLS6:
=FALSE;(*轴封差压联锁*)
OC_OCQDLS:
=TRUE;(*氧透启动联锁允许*)
OC_OCQDLS:
=TRUE;
DELAY(IN:
=TRUE,PT:
=T#10S);
END_IF
退出动作:
OC_AM3301:
=FALSE;
OC_AM3302:
=FALSE;
OC_AM3303:
=FALSE;
OC_AM3304:
=FALSE;
OC_AM3306:
=FALSE;
OC_AM3309:
=FALSE;
OC_AM3315:
=FALSE;
OC_AM3316:
=FALSE;
OC_AM3317:
=FALSE;
OC_AM3318:
=FALSE;
Step3
入口动作:
DELAY(IN:
=FALSE);
动作:
OC_OCTIP:
=2;(*氧透可以启动*)
Step4
入口动作:
DELAY(IN:
=FALSE);
OC_OCRING:
=FALSE;
动作:
OC_OCTIP:
=3;(*启动*)
DELAY(IN:
=TRUE,PT:
=T#10S);
OC_OCRING:
=TRUE;
Step5
入口动作:
DELAY(IN:
=FALSE);
动作:
OC_OCQDLS:
=FALSE;(*切除启动联锁*)
OC_OCRING:
=FALSE;(*关闭警铃*)
DELAY(IN:
=TRUE,PT:
=T#180S);
OC_OCTIP:
=4;(*氧透启动关闭警铃*)
Step6
入口动作:
DELAY(IN:
=FALSE);
OC_OCLS:
=TRUE;(*停车联锁投入*)
OC_AM3302:
=TRUE;
OC_AM3303:
=TRUE;
OC_AM3304:
=TRUE;
动作:
OC_OCTIP:
=5;(*V3303/V3304可调节*)
OC_ZD3302:
=FALSE;(*全关*)
OC_ZD3303:
=TRUE;(*可调*)
OC_ZD3304:
=TRUE;(*可调*)
PID_V3304_TS:
=FALSE;(*可调*)
DELAY(IN:
=TRUE,PT:
=T#180S);
退出动作:
OC_AM3302:
=FALSE;
OC_AM3303:
=FALSE;
OC_AM3304:
=FALSE;
Step7
动作:
OC_OCTIP:
=41;(*等待主断路器投入*)
Step8
入口动作:
DELAY(IN:
=FALSE);
动作:
OC_OCTIP:
=6;(*氧气进口阀可以打开*)
DELAY(IN:
=TRUE,PT:
=T#1S);
Step9
入口动作:
DELAY(IN:
=FALSE);
OC_AM3316:
=TRUE;
OC_AM3317:
=TRUE;
OC_AM3309:
=TRUE;
动作:
OC_OCTIP:
=7;(*关V3316/V3317;*)
OC_ZD3309:
=TRUE;
DELAY(IN:
=TRUE,PT:
=T#25S);
IFDELAY.ET>=T#20STHEN
OC_ZD3316:
=FALSE;
OC_ZD3317:
=FALSE;
END_IF
退出动作:
OC_AM3316:
=FALSE;
OC_AM3317:
=FALSE;
OC_AM3309:
=FALSE;
Step10
入口动作:
DELAY(IN:
=FALSE);
OC_AM3318:
=TRUE;
动作:
OC_OCTIP:
=8;(*开V3318*)
OC_ZD3318:
=TRUE;
DELAY(IN:
=TRUE,PT:
=T#10S);
退出动作:
OC_AM3318:
=FALSE;
Step11
入口动作:
DELAY(IN:
=FALSE);
动作:
OC_OCTIP:
=9;(*出口阀可以打开*)
OC_OCLS1:
=TRUE;(*进口压力联锁投入*)
OC_OCLS5:
=TRUE;(*差压联锁投入*)
OC_OCLS6:
=TRUE;(*差压联锁投入*)
Step12
动作:
OC_OCTIP:
=10;(*氧透正常运行*)
Step13
入口动作:
OC_AM3304:
=TRUE;
动作:
OC_OCTIP:
=11;(*正常停车*)
OC_ZD3304:
=FALSE;(*失电*)
退出动作:
OC_AM3304:
=FALSE;
Step14
入口动作:
OC_AM3302:
=TRUE;
OC_AM3303:
=TRUE;
OC_AM3309:
=TRUE;
动作:
OC_OCTIP:
=12;(*开V3302,V3303,V3309*)
OC_ZD3302:
=TRUE;(*全开*)
OC_ZD3303:
=FALSE;(*失电*)
OC_ZD3309:
=FALSE;(*失电*)
OC_OCLS1:
=FALSE;(*进口压力联锁解除*)
OC_OCLS5:
=FALSE;(*轴密封氧气与混合气差压联锁解除*)
OC_OCLS6:
=FALSE;(*轴密封氮气与混合气差压联锁解除*)
退出动作:
OC_AM3302:
=FALSE;
OC_AM3303:
=FALSE;
OC_AM3309:
=FALSE;
Step15
入口动作:
OC_AM3306:
=TRUE;
DELAY(IN:
=FALSE);
动作:
OC_ZD3306:
=FALSE;(*全关*)
DELAY(IN:
=TRUE,PT:
=T#120S);
STOP3301:
=TRUE;
OC_OCTIP:
=121;
退出动作:
OC_AM3306:
=FALSE;
STOP3301:
=FALSE;
Step16
入口动作:
OC_AM3301:
=TRUE;
DELAY(IN:
=FALSE);
动作:
OC_OCTIP:
=13;(*全关V3301*)
OC_ZD3301:
=FALSE;(*全关*)
DELAY(IN:
=TRUE,PT:
=T#180S);
退出动作:
OC_AM3301:
=FALSE;
Step17
入口动作:
OC_AM3304:
=TRUE;
动作:
OC_ZD3304:
=TRUE;(*得电*)
PID_V3304_TS:
=TRUE;(*跟踪0*)
OC_OCTIP:
=131;(*全关V3304*)
退出动作:
OC_AM3304:
=FALSE;
Step22
入口动作:
DELAY(IN:
=FALSE);
OC_AM3302:
=TRUE;
OC_AM3303:
=TRUE;
OC_AM3304:
=TRUE;
OC_AM3306:
=TRUE;
OC_AM3309:
=TRUE;
动作:
OC_OCTIP:
=22;(*重故障停车*)
OC_ZD3302:
=TRUE;(*全开*)
OC_ZD3303:
=FALSE;(*失电*)
OC_ZD3304:
=FALSE;(*失电*)
OC_ZD3306:
=FALSE;(*全关*)
OC_ZD3309:
=FALSE;(*失电*)
OC_OCLS1:
=FALSE;(*进口压力联锁切除*)
OC_OCLS5:
=FALSE;(*轴封压力联锁切除*)
OC_OCLS6:
=FALSE;(*轴封压力联锁切除*)
DELAY(IN:
=TRUE,PT:
=T#2M);
STOP3301:
=TRUE;
退出动作:
OC_AM3302:
=FALSE;
OC_AM3303:
=FALSE;
OC_AM3304:
=FALSE;
OC_AM3306:
=FALSE;
OC_AM3309:
=FALSE;
Step23
入口动作:
DELAY(IN:
=FALSE);
OC_AM3301:
=TRUE;
动作:
OC_OCTIP:
=23;(*关V3301*)
DELAY(IN:
=TRUE,PT:
=T#180S);
OC_ZD3301:
=FALSE;(*全关*)
退出动作:
OC_AM3301:
=FALSE;
Step24
入口动作:
OC_AM3304:
=TRUE;
DELAY(IN:
=FALSE);
动作:
OC_OCTIP:
=24;(*关V3304*)
OC_ZD3304:
=TRUE;(*得电*)
PID_V3304_TS:
=TRUE;(*跟踪0*)
DELAY(IN:
=TRUE,PT:
=T#1S);
退出动作:
OC_AM3304:
=FALSE;
Step32
入口动作:
DELAY(IN:
=FALSE);
OC_AM3301:
=TRUE;
OC_AM3302:
=TRUE;
OC_AM3303:
=TRUE;
OC_AM3304:
=TRUE;
OC_AM3306:
=TRUE;
OC_AM3309:
=TRUE;
OC_AM3315:
=TRUE;
OC_AM3316:
=TRUE;
OC_AM3318:
=TRUE;
动作:
OC_OCTIP:
=32;(*喷氮停车*)
OC_ZD3301:
=FALSE;(*全关*)
OC_ZD3302:
=TRUE;(*全开*)
OC_ZD3303:
=FALSE;(*失电*)
OC_ZD3304:
=FALSE;(*失电*)
OC_ZD3306:
=FALSE;(*全关*)
OC_ZD3309:
=FALSE;(*失电*)
OC_ZD3315:
=TRUE;(*得电*)
OC_ZD3316:
=TRUE;(*得电*)
OC_ZD3318:
=FALSE;(*失电*)
OC_OCLS1:
=FALSE;(*进口压力联锁切除*)
OC_OCLS5:
=FALSE;(*轴封压力联锁切除*)
OC_OCLS6:
=FALSE;(*轴封压力联锁切除*)
OC_OCOPMA1:
=FALSE;
OC_OCOPMA2:
=FALSE;
OC_OCOPMC1:
=TRUE;
OC_OCOPMC2:
=TRUE;
DELAY(IN:
=TRUE,PT:
=T#60S);
STOP3301:
=TRUE;
退出动作:
OC_AM3301:
=FALSE;
OC_AM3302:
=FALSE;
OC_AM3303:
=FALSE;
OC_AM3304:
=FALSE;
OC_AM3306:
=FALSE;
OC_AM3309:
=FALSE;
OC_AM3315:
=FALSE;
OC_AM3316:
=FALSE;
OC_AM3318:
=FALSE;
OC_OCOPMC1:
=FALSE;
OC_OCOPMC2:
=FALSE;
Step33
入口动作:
DELAY(IN:
=FALSE);
OC_AM3315:
=TRUE;
OC_AM3316:
=TRUE;
OC_AM3318:
=TRUE;
动作:
OC_OCTIP:
=33;(*关V3315/V3316*)
DELAY(IN:
=TRUE,PT:
=T#240S);
OC_ZD3315:
=FALSE;(*全关*)
OC_ZD3316:
=FALSE;(*全关*)
OC_ZD3318:
=TRUE;(*得电*)
退出动作:
OC_AM3315:
=FALSE;
OC_AM3316:
=FALSE;
OC_AM3318:
=FALSE;
Step34
入口动作:
OC_AM3304:
=TRUE;
动作:
OC_OCTIP:
=34;(*关V3304*)
OC_ZD3304:
=TRUE;(*得电*)
PID_V3304_TS:
=TRUE;(*跟踪0*)
退出动作:
OC_AM3304:
=FALSE;