Kopplungsprogramme
Die Aktivierung/ Deaktivierung und Kanalkopplung/ -entkopplung des Planetär- oder Rückzugskanals kann mit Standardunterprogrammen im Senkkanal programmiert werden (Dies entspricht der linken Hälfte in den Abbildungen). Im Folgenden sind die Unterprogrammbeispiele, die im vorigen Kapitel verwendet wurden beschrieben.
Die in den Programmen verwendeten Variablen müssen im Programm des Senkkanals im Vorfeld passend belegt werden.
Programmierbeispiel
Unterprogramm - Aktivierung Rückzugskanal
%DS-ActivateEscape-ACS
; activation of Escape channel with saved ACS positions
N5000 $IF V.P.EscapeMode == 0
N5010 #CHANNEL INTERFACE ON[ ESCAPE GEOMETRY=FLAT ]
N5020 $ELSEIF V.P.EscapeMode == 1
N5030 #CHANNEL INTERFACE ON[ ESCAPE GEOMETRY=ALPHA ANGLE=V.P.AlPHaAngle]
N5040 $ELSEIF V.P.EscapeMode == 2
N5050 #CHANNEL INTERFACE ON[ ESCAPE GEOMETRY=POINT POINT_Y=V.P.PointY POINT_Z=V.P.PointZ]
N5060 $ELSE
N5070 #CHANNEL INTERFACE ON[ ESCAPE GEOMETRY=BISECTOR BISECTOR BISEC_D1 = V.P.BisecD1 BISEC_D2 = V.P.BisecD2]
N5080 $ENDIF
N5090 #TRACK CHAN ON[ DYN_CS="CH-Escape" SUPERIMPOSE]
; -- Starten des Programms im Rückzugskanal
N5100 #MC_MovePath SYN [ CH="CH-Escape" ID="MC-Escape" FileName="DsEscapeFile" \
@PL1=V.P.Appr_Start_ACS_X @PL2=V.P.Appr_Start_ACS_Y @PL3=V.P.Appr_Start_ACS_Z \
@PL4=V.P.Appr_Start_TRANS_X, @PL5=V.P.Appr_Start_TRANS_Y, @PL6=V.P.Appr_Start_TRANS_Z, \
@PL7=V.P.Appr_Start_ROT_X, @PL8=V.P.Appr_Start_ROT_Y, @PL9=V.P.Appr_Start_ROT_Z \
@PL10=V.P.Appr_Start_ACS_A @PL11=V.P.Appr_Start_ACS_B @PL12=V.P.Appr_Start_ACS_C @PL13=V.P.EscapeMode \
@PL14=V.P.AlPHaAngle @PL15=V.P.PointY @PL16=V.P.PointZ]
N5110 #WAIT MC_Status [ID="MC-Escape" DONE ABORTED ERROR]
N5120 V.P.McStatus = MC_STATUS ["MC-Escape"]
N5130 $IF V.P.McStatus != "MC_DONE"
N5140 #ERROR [ID455 MID0 RC2 PV1=V.P.McStatus PV2="MC_DONE" PM1=2 PM2=3]
N5150 $ENDIF
N5160 M17
Programmierbeispiel
Unterprogramm - Aktivierung Planetärkanal
%DS-ActivateOrbit
N6000 #CHANNEL INTERFACE ON [EXTEND AX=Y FREEZE=X FREEZE=Y ]
; Starten des Programms im Planetärkanal
N6001 #MC_MovePath SYN [ CH="CH-Orbit" ID="MC-OrbCircle" FileName="DsOrbitFile" \
@PL1=V.G.SELECTED_CS.ROT.X @PL2=V.G.SELECTED_CS.ROT.Y \
@PL3=V.G.SELECTED_CS.ROT.Z @PL4=V.P.OrbitMaxScale \
@PL5=V.P.OrbitMaxEquid
N6002 #TRACK CHAN ON[ DYN_CS="CH-Orbit" WAIT]
N6003 #WAIT SYN [ID="S-OrbitReady" CH="CH-Orbit"]
N6004 #BACKWARD STORAGE CLEAR
N6005 M17
Programmierbeispiel
Unterprogramm - Deaktivieren Rückzugskanal
%DS-DeactivateEscape.sub
N7005 #CHANNEL INTERFACE OFF [ESCAPE]
N7006 #TRACK CHAN OFF[DYN_CS SUPERIMPOSE]
N7007 #MC_GroupResetForced SYN [ CH="CH-Escape" ID="MC-Reset"] ( reset Rückzugskanal
N7008 #WAIT MC_Status [ID="MC-Reset" DONE ABORTED ERROR]
N7009 M17
Programmierbeispiel
Unterprogramm - Deaktivierung Planetärkanal
%DS-DeactivateOrbit.sub
N7000 #CHANNEL INTERFACE OFF [EXTEND]
N7001 #TRACK CHAN OFF [DYN_CS]
N7002 #MC_GroupResetForced SYN [ CH="CH-Orbit" ID="MC-Reset" ] ( reset Planetärkanal
N7003 #WAIT MC_Status [ID="MC-Reset" DONE ABORTED ERROR]
N7004 M17