--- a/branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/IO/HatchStateMachine/svnobj
+++ b/branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/IO/HatchStateMachine/svnobj
@@ -1,9 +1,9 @@
-Gx_lY*!0…jüoË›é‹zf
•±½0System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
+Gx_l:+!0…jüoIà ³É
¡\èSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
 TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagText$IF NOT xInit THEN	N	UM				(		sName := 'Normal Operation', ì							dwSupportedStates := PACK_ML.State.All - PACK_ML.State.Suspending - PACK_ML.State.Suspended - PACK_ML.State.UnSuspending - PACK_ML.Holding - PACK_ML.Held - PACK_ML.UnHolding, Ô							dwAllowsLeavingFromStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, Ö							dwAllowsEnteringIntoStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, \							eInitialState := PACK_ML.State.Aborted,0							xActive := TRUE);	xInit := TRUE;	END_IF4IF Client.bReadyToPLC THEN:	CASE Client.iCommandToPLC OF"	0 : 	//Handshake	1 : 	//Lock’		IF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[0]) =  0 THEN			 "			_open := TRUE;!–		ELSIF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[1]) =  0 THEN		"$			_close := TRUE;#		END_IF$	2 : 	//Key%	3 : 	//IO&	4 : 	//Media'	5 : 	//Hint(	6 : 	//State	)l		IF SysStrCmp(Client.sCommandToPLC, 'SC') =  0 THEN		*&			StateComplete();+x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		,			Start();-v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		.			Stop();/x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		0			Reset();1x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		2			Abort();3x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		4			Clear();5v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		6			Hold();7z		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		8			Unhold();	9|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		:			Suspend();;€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		<			UnSuspend();=		>	END_CASE?6	Client.iCommandToPLC := 0;@8	Client.sCommandToPLC := '';A:	Client.bReadyToPLC := FALSE;B.CASE UM.CurrentState OFC,PACK_ML.State.Stopped,D,PACK_ML.State.Aborted,E&PACK_ML.State.Idle,F0PACK_ML.State.Complete :G;	H4PACK_ML.State.Resetting :	I0	DO_Lock_Stair := FALSE;Jf	Client.Message:='Waiting for hatch to be closed.';K>	f_trig(CLK:= DI_HatchTrigger);L"	IF f_trig.Q THENM2		DO_Lock_Stair := TRUE;	N*		StateComplete();			O	END_IFP0PACK_ML.State.Starting :Q<	IF DO_Lock_Stair = FALSE THENR		UM.Stop();S
 	ELSET.PACK_ML.State.Execute :U4	CASE Client.ActualStep OFV	0:W6		Client.ActualStep := 300;X
 	300:Y 		IF _close THENZ>			Client.ActualStep := 310;			[&			_close := FALSE;\$		ELSIF _open THEN]>			Client.ActualStep := 320;			^(			_open := FALSE;		_			`
 	310:a2		DO_Lock_Stair := FALSE;b@		f_trig(CLK:= DI_HatchTrigger);cN		Client.Message:='Closing the hatch.';d$		IF f_trig.Q THENeF			Client.Message:='Hatch closed.';f2			DO_Lock_Stair := TRUE;g<			Client.ActualStep := 300;		h
-	320:iL		Client.Message:='Opening the hatch';j8		Client.ActualStep := 300;	kH		Client.Message:='Hatch opened.';		l	END_CASE;m4PACK_ML.State.Completing :n$	StateComplete();	o0PACK_ML.State.Aborting :p2	DO_Lock_Stair := FALSE;	q.PACK_ML.State.Stopping:r4PACK_ML.State.Clearing :		sEND_CASEtfIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THENu	Abort();	vEND_IF wLClient.ActualState := UM.CurrentState;xInterfaceyL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}z@FUNCTION_BLOCK HatchStateMachine{VAR_IN_OUT|&	Client : IOClient;}END_VAR~VAR0	UM	: PACK_ML.UnitMode; € 	f_trig: F_TRIG;j	xInit				: BOOL := FALSE; // Flag for initialization‚	_open : BOOL;ƒ	_close : BOOL;„"UniqueIdGenerator…643†POULevel‡L{8e575c5b-1d37-49c6-941b-5c0ec7874787}ˆStandard‰ ChildObjectGuidsŠ8System.Collections.ArrayList‹,AddAttributeSubsequentŒboolÐÐ-ÐÐ	E
-~ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­	ÚÐ-ÐÐ
­
-ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ- ÐÐ
­ÚÐ-!ÐÐ
­ÚÐ-"ÐÐ
­ÚÐ-#ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-%ÐÐ
­ÚÐ-&ÐÐ
­ ÚÐ-'ÐÐ
­!ÚÐ-(ÐÐ
­"ÚÐ-)ÐÐ
­#ÚÐ-*ÐÐ
­$ÚÐ-+ÐÐ
­%ÚÐ-,ÐÐ
­&ÚÐ--ÐÐ
­'ÚÐ-.ÐÐ
­(ÚÐ-/ÐÐ
­)ÚÐ-0ÐÐ
­*ÚÐ-1ÐÐ
­+ÚÐ-2ÐÐ
­,ÚÐ-3ÐÐ
­-ÚÐ-4ÐÐ
­.ÚÐ-5ÐÐ
­/ÚÐ-6ÐÐ
­0ÚÐ-7ÐÐ
­1ÚÐ-8ÐÐ
­2ÚÐ-9ÐÐ
­3ÚÐ-:ÐÐ
­4ÚÐ-;ÐÐ
­5ÚÐ-<ÐÐ
­6ÚÐ-#ÐÐ
­7ÚÐ-=ÐÐ
­8ÚÐ->ÐÐ
­9ÚÐ-ÐÐ
­:ÚÐ-?ÐÐ
­;ÚÐ-@ÐÐ
­<ÚÐ-AÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÐÐ
­?ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-BÐÐ
­DÚÐ-CÐÐ
­EÚÐ-DÐÐ
­FÚÐ-EÐÐ
­GÚÐ-FÐÐ
­ƒÚÐ-GÐÐ
­HÚÐ-HÐÐ
­IÚÐ-IÐÐ
­JÚÐ-JÐÐ
­KÚÐ-KÐÐ
­LÚÐ-LÐÐ
­MÚÐ-MÐÐ
­NÚÐ-NÐÐ
­OÚÐ-OÐÐ
­PÚÐ-PÐÐ
­QÚÐ-QÐÐ
­RÚÐ-RÐÐ
­SÚÐ-SÐÐ
­TÚÐ-NÐÐ
­UÚÐ-OÐÐ
­VÚÐ-TÐÐ
­WÚÐ-UÐÐ
­XÚÐ-VÐÐ
­YÚÐ-WÐÐ
­ZÚÐ-XÐÐ
­[ÚÐ-YÐÐ
­\ÚÐ-ZÐÐ
­]ÚÐ-[ÐÐ
­^ÚÐ-\ÐÐ
­_ÚÐ-]ÐÐ
­`ÚÐ-^ÐÐ
­aÚÐ-_ÐÐ
­bÚÐ-#ÐÐ
­cÚÐ-`ÐÐ
­dÚÐ-aÐÐ
­eÚÐ-bÐÐ
­fÚÐ-cÐÐ
­gÚÐ-dÐÐ
­hÚÐ-eÐÐ
­iÚÐ-fÐÐ
­jÚÐ-gÐÐ
­kÚÐ-#ÐÐ
­lÚÐ-hÐÐ
­mÚÐ-iÐÐ
­nÚÐ-aÐÐ
­oÚÐ-jÐÐ
­pÚÐ-kÐÐ
­qÚÐ-lÐÐ
­rÚÐ-mÐÐ
­sÚÐ-IÐÐ
­tÚÐ-nÐÐ
­uÚÐ-oÐÐ
­vÚÐ-pÐÐ
­wÚÐ-nÐÐ
­xÚÐ-qÐÐ
­yÚÐ-pÐÐ
­zÚÐ-nÐÐ
­{ÚÐ-rÐÐ
­|ÚÐ-nÐÐ
­}ÚÐ-sÐÐ
­~ÚÐ-ÐÐ
­ÚÐ-tÐÐ
­€ÚÐ-uÐÐ
­ÚÐ-vÐÐ
­‚ÚÐ-ÐÐ
­fÚÐ-wÐxyÐ	E
-ÐÐ
­mÚÐ-zÐÐ
­nÚÐ-{ÐÐ
­oÚÐ-|ÐÐ
­sÚÐ-}ÐÐ
­tÚÐ-~ÐÐ
­uÚÐ-ÐÐ
­›ÚÐ-€ÐÐ
­vÚÐ-ÐÐ
­ÛÚÐ-ÐÐ
­ÜÚÐ-‚ÐÐ
­wÚÐ-ƒÐÐ
­ŒÚÐ-ÐÐ
­xÚÐ-}ÐÐ
­ÚÐ-Є-…І‡-ˆ‰ŠЋŒ­
\ No newline at end of file
+	320:iL		Client.Message:='Opening the hatch';j8		Client.ActualStep := 300;	kH		Client.Message:='Hatch opened.';		l	END_CASE;m4PACK_ML.State.Completing :n$	StateComplete();	o0PACK_ML.State.Aborting :p2	DO_Lock_Stair := FALSE;	q.PACK_ML.State.Stopping:r4PACK_ML.State.Clearing :		sEND_CASEtfIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THENu	Abort();	vEND_IF wLClient.ActualState := UM.CurrentState;x>messageQueue(Client := Client);yInterfacezL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}{@FUNCTION_BLOCK HatchStateMachine|VAR_IN_OUT}&	Client : IOClient;~END_VARVAR€0	UM	: PACK_ML.UnitMode;  	f_trig: F_TRIG;‚j	xInit				: BOOL := FALSE; // Flag for initializationƒ	_open : BOOL;„	_close : BOOL;…:	messageQueue : MessageQueue;†"UniqueIdGenerator‡647ˆPOULevel‰L{8e575c5b-1d37-49c6-941b-5c0ec7874787}ŠStandard‹ ChildObjectGuidsŒ8System.Collections.ArrayList,AddAttributeSubsequentŽboolÐÐ-ÐÐ	E
+€ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­	ÚÐ-ÐÐ
­
+ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ- ÐÐ
­ÚÐ-!ÐÐ
­ÚÐ-"ÐÐ
­ÚÐ-#ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-%ÐÐ
­ÚÐ-&ÐÐ
­ ÚÐ-'ÐÐ
­!ÚÐ-(ÐÐ
­"ÚÐ-)ÐÐ
­#ÚÐ-*ÐÐ
­$ÚÐ-+ÐÐ
­%ÚÐ-,ÐÐ
­&ÚÐ--ÐÐ
­'ÚÐ-.ÐÐ
­(ÚÐ-/ÐÐ
­)ÚÐ-0ÐÐ
­*ÚÐ-1ÐÐ
­+ÚÐ-2ÐÐ
­,ÚÐ-3ÐÐ
­-ÚÐ-4ÐÐ
­.ÚÐ-5ÐÐ
­/ÚÐ-6ÐÐ
­0ÚÐ-7ÐÐ
­1ÚÐ-8ÐÐ
­2ÚÐ-9ÐÐ
­3ÚÐ-:ÐÐ
­4ÚÐ-;ÐÐ
­5ÚÐ-<ÐÐ
­6ÚÐ-#ÐÐ
­7ÚÐ-=ÐÐ
­8ÚÐ->ÐÐ
­9ÚÐ-ÐÐ
­:ÚÐ-?ÐÐ
­;ÚÐ-@ÐÐ
­<ÚÐ-AÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÐÐ
­?ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-BÐÐ
­DÚÐ-CÐÐ
­EÚÐ-DÐÐ
­FÚÐ-EÐÐ
­GÚÐ-FÐÐ
­ƒÚÐ-GÐÐ
­HÚÐ-HÐÐ
­IÚÐ-IÐÐ
­JÚÐ-JÐÐ
­KÚÐ-KÐÐ
­LÚÐ-LÐÐ
­MÚÐ-MÐÐ
­NÚÐ-NÐÐ
­OÚÐ-OÐÐ
­PÚÐ-PÐÐ
­QÚÐ-QÐÐ
­RÚÐ-RÐÐ
­SÚÐ-SÐÐ
­TÚÐ-NÐÐ
­UÚÐ-OÐÐ
­VÚÐ-TÐÐ
­WÚÐ-UÐÐ
­XÚÐ-VÐÐ
­YÚÐ-WÐÐ
­ZÚÐ-XÐÐ
­[ÚÐ-YÐÐ
­\ÚÐ-ZÐÐ
­]ÚÐ-[ÐÐ
­^ÚÐ-\ÐÐ
­_ÚÐ-]ÐÐ
­`ÚÐ-^ÐÐ
­aÚÐ-_ÐÐ
­bÚÐ-#ÐÐ
­cÚÐ-`ÐÐ
­dÚÐ-aÐÐ
­eÚÐ-bÐÐ
­fÚÐ-cÐÐ
­gÚÐ-dÐÐ
­hÚÐ-eÐÐ
­iÚÐ-fÐÐ
­jÚÐ-gÐÐ
­kÚÐ-#ÐÐ
­lÚÐ-hÐÐ
­mÚÐ-iÐÐ
­nÚÐ-aÐÐ
­oÚÐ-jÐÐ
­pÚÐ-kÐÐ
­qÚÐ-lÐÐ
­rÚÐ-mÐÐ
­sÚÐ-IÐÐ
­tÚÐ-nÐÐ
­uÚÐ-oÐÐ
­vÚÐ-pÐÐ
­wÚÐ-nÐÐ
­xÚÐ-qÐÐ
­yÚÐ-pÐÐ
­zÚÐ-nÐÐ
­{ÚÐ-rÐÐ
­|ÚÐ-nÐÐ
­}ÚÐ-sÐÐ
­~ÚÐ-ÐÐ
­ÚÐ-tÐÐ
­€ÚÐ-uÐÐ
­ÚÐ-vÐÐ
­‚ÚÐ-ÐÐ
­†ÚÐ-wÐÐ
­‡ÚÐ-ÐÐ
­fÚÐ-xÐyzÐ	E
+ÐÐ
­mÚÐ-{ÐÐ
­nÚÐ-|ÐÐ
­oÚÐ-}ÐÐ
­sÚÐ-~ÐÐ
­tÚÐ-ÐÐ
­uÚÐ-€ÐÐ
­›ÚÐ-ÐÐ
­vÚÐ-ÐÐ
­ÛÚÐ-‚ÐÐ
­ÜÚÐ-ƒÐÐ
­wÚÐ-„ÐÐ
­„ÚÐ-ÐÐ
­…ÚÐ-…ÐÐ
­ŒÚÐ-ÐÐ
­xÚÐ-~ÐÐ
­ÚÐ-І-‡Ј‰-Š‹ŒЍŽ­
\ No newline at end of file