Diff of /branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/IO/SlidingDoorStateMachine/svnobj [r38] .. [r39]  Maximize  Restore

Switch to side-by-side view

--- a/branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/IO/SlidingDoorStateMachine/svnobj
+++ b/branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/IO/SlidingDoorStateMachine/svnobj
@@ -1,17 +1,14 @@
-Gx_lS!0…jüoè4¬{½(ôÖð¶ô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}
+Gx_lHM!0…jüo$2à fJüç…
+Õ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	;E,PACK_ML.State.Aborted:F&PACK_ML.State.Idle:G2PACK_ML.State.Complete :	H.PACK_ML.State.Execute :I4	CASE Client.ActualStep OFJ	0:K6		Client.ActualStep := 300;L	300:  M		IF _open THENNP			Client.Message:='Opening the door.';	O			//Open DoorP8			Client.ActualStep := 301;Q$			_open := FALSE;R&	   	IF _close THENSP			Client.Message:='Closing the door.';	T			//Close DoorU8			Client.ActualStep := 311;V&			_close := FALSE;W	   	END_IFX
-	301:Y’		IF FHPP_CTRL_Door.Ready AND FHPP_CTRL_Door.ActualPosition > 10000  THENZ8			Client.ActualStep := 302;[H	   	ELSIF FHPP_CTRL_Door.Ready THEN\8			Client.ActualStep := 300;]		ELSE^			Stop ();_	   	END_IF;`
-	302:aT		FHPP_CTRL_Door.SetValuePosition := 5000;b6		Client.ActualStep := 303;c
-	303:d0	    startPulse := TRUE;eB		IF FHPP_CTRL_Door.AckStart THENf8			Client.ActualStep := 304;g.			startPulse := FALSE;h		END_IF;i
-	304:j8		IF FHPP_CTRL_Door.MC  THENkN			Client.Message:='Opened the door.';	l
-	311:m°		IF FHPP_CTRL_Door.Ready AND FHPP_CTRL_Door.ActualPosition < iTest_Door_Close_Pos  THENn8			Client.ActualStep := 312;oB		ELSIF FHPP_CTRL_Door.Ready THENp
-	312:qt		FHPP_CTRL_Door.SetValuePosition := iTest_Door_Close_Pos;r6		Client.ActualStep := 313;s
-	313:t8			Client.ActualStep := 314;u
-	314:vN			Client.Message:='Closed the door.';	w		END_IF;     x END_CASE  y2PACK_ML.State.Resetting :z		0:{:			Client.ActualStep := 100;	|		100: }ˆ			Client.Message:='Waiting for voltage supplied or fault reset.';	 ~–			IF NOT FHPP_CTRL_Door.Fault AND FHPP_CTRL_Door.SupplyVoltagePresent THENL           		Client.ActualStep := 101;€        		END_IF;        ‚4    	101: (*enable drive*)ƒŠ			IF FHPP_CTRL_Door.DriveEnabled AND FHPP_CTRL_Door.HomingValid THEN„:				Client.ActualStep := 111;…²			ELSIF FHPP_CTRL_Door.DriveEnabled AND NOT FHPP_CTRL_Door.HomingValid AND delay.Q  THEN†8				Client.ActualStep :=102;‡			END_IF;ˆ				‰>			IF FHPP_CTRL_Door.Fault THENŠL           		Client.ActualStep := 100;‹"		102: (*Homing*)Œ:			Client.Message:='Homing.';J			IF FHPP_CTRL_Door.HomingValid THENŽ			END_IF;	    		END_IF;		111:‘N			Client.Message:='Closing the door.';’²			IF FHPP_CTRL_Door.Ready AND FHPP_CTRL_Door.ActualPosition > iTest_Door_Close_Pos  THEN“2				Client.Message:='';		”8				Client.ActualStep := 0;	•*				StateComplete();	–D			ELSIF FHPP_CTRL_Door.Ready THEN—:				Client.ActualStep := 112;˜  			END_IF;™		112:šR			Client.Message:='Closing the door.';		›v			FHPP_CTRL_Door.SetValuePosition := iTest_Door_Close_Pos;œ$			IF delay.Q THEN:				Client.ActualStep := 113;ž			END_IF				Ÿ		113: 2		    startPulse := TRUE;¡V			Client.Message:='Waiting for AckStart.';¢D			IF FHPP_CTRL_Door.AckStart THEN£L           		Client.ActualStep := 114;¤0				startPulse := FALSE;¥   			END_IF;¦		114:§8			IF FHPP_CTRL_Door.MC THEN¨   			END_IF;	©	END_CASE	ª0PACK_ML.State.Starting :«,	Client.Message:='';		¬2	Client.ActualStep := 0;	­"	StateComplete();®4PACK_ML.State.Completing :¯0PACK_ML.State.Aborting :°6		Client.ActualStep := 200;±
-	200:²8			Client.ActualStep := 201;³8			Client.ActualStep := 200;´
-	201:µ6		Client.ActualStep := 202;¶
-	202:·8			Client.ActualStep := 203;¸
-	203:¹4			Client.ActualStep := 0;º6	//Client.ActualStep := 0;	».PACK_ML.State.Stopping:¼0PACK_ML.State.Clearing :½END_CASE¾fIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THEN¿(	// Emergency Abort.À	Abort();	ÁEND_IF ÂLClient.ActualState := UM.CurrentState;ÃæIF FHPP_CTRL_Door.Fault AND NOT (Client.ActualState = 6 OR Client.ActualState = 0  OR Client.ActualState = 1 ) THENÄV    //SlidingDoor_State.Errored(0,'Fault');ÅEND_IF;ÆÈbl (Enable := startPulse, TIMEHIGH := T#500MS, TIMELOW := T#500MS ,OUT => FHPP_CTRL_Door.StartTask);Çv//bl(ENABLE := TRUE,TIMELOW := T#100MS,TIMEHIGH:= T#100MS);È>IF Client.ActualStep = 100 THENÉF	FHPP_CTRL_Door.ResetFault := TRUE;ÊELSEËN    FHPP_CTRL_Door.ResetFault := FALSE;Ì$(* Enable drive *)Í@IF Client.ActualStep >= 101 THENÎN    FHPP_CTRL_Door.EnableDrive := TRUE;ÏP    FHPP_CTRL_Door.EnableDrive := FALSE;Ð	Abort();Ñšdelay(IN:= Client.ActualStep = 112  OR Client.ActualStep  = 101 ,PT := T#5S);Ò$(* Start homing *)ÓnFHPP_CTRL_Door.StartHoming := Client.ActualStep = 102 ;Ô (* Start task *)Õî//FHPP_CTRL_Door.StartTask:= ((Client.ActualStep = 303 OR Client.ActualStep=313 OR Client.ActualStep=113) AND bl.OUT) ;ÖInterface×L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}ØLFUNCTION_BLOCK SlidingDoorStateMachineÙVAR_IN_OUTÚ&	Client : IOClient;ÛEND_VARÜVARÝ0	UM	: PACK_ML.UnitMode; Þj	xInit				: BOOL := FALSE; // Flag for initializationß	delay : TON;à	bl : blink;á	tp1 : TP;â	_open : BOOL;ã	_close : BOOL;ä&	startPulse : BOOL;åP	iTest_Door_Close_Pos : DINT := 820000 ;æ"UniqueIdGeneratorç876èPOULeveléL{8e575c5b-1d37-49c6-941b-5c0ec7874787}êStandardë ChildObjectGuidsì8System.Collections.ArrayListí,AddAttributeSubsequentîboolÐÐ-ÐÐ	E
-¤ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-ÐÐ
­DÚÐ-ÐÐ
­EÚÐ-ÐÐ
­FÚÐ-ÐÐ
­HÚÐ-ÐÐ
­IÚÐ-ÐÐ
­JÚÐ-ÐÐ
­KÚÐ-ÐÐ
­]ÚÐ-ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­OÚÐ-ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-ÐÐ
­RÚÐ-ÐÐ
­SÚÐ- ÐÐ
­TÚÐ-!ÐÐ
­UÚÐ-"ÐÐ
­VÚÐ-#ÐÐ
­WÚÐ-$ÐÐ
­XÚÐ-%ÐÐ
­YÚÐ-&ÐÐ
­ZÚÐ-'ÐÐ
­[ÚÐ-(ÐÐ
­\ÚÐ-)ÐÐ
­]ÚÐ-*ÐÐ
­^ÚÐ-+ÐÐ
­_ÚÐ-,ÐÐ
­`ÚÐ--ÐÐ
­aÚÐ-.ÐÐ
­bÚÐ-/ÐÐ
­cÚÐ-0ÐÐ
­dÚÐ-1ÐÐ
­eÚÐ-2ÐÐ
­fÚÐ-3ÐÐ
­gÚÐ-4ÐÐ
­hÚÐ-5ÐÐ
­iÚÐ-6ÐÐ
­jÚÐ-7ÐÐ
­kÚÐ-8ÐÐ
­lÚÐ-9ÐÐ
­mÚÐ-:ÐÐ
­nÚÐ-;ÐÐ
­oÚÐ-<ÐÐ
­pÚÐ-#ÐÐ
­qÚÐ-=ÐÐ
­rÚÐ->ÐÐ
­sÚÐ-ÐÐ
­tÚÐ-?ÐÐ
­uÚÐ-@ÐÐ
­vÚÐ-AÐÐ
­wÚÐ-ÐÐ
­xÚÐ-ÐÐ
­yÚÐ-ÐÐ
­zÚÐ-ÐÐ
­{ÚÐ-ÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-BÐÐ
­~ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­€ÚÐ-EÐÐ
­ÚÐ-DÐÐ
­‚ÚÐ-FÐÐ
­ƒÚÐ-DÐÐ
­„ÚÐ-GÐÐ
­…ÚÐ-DÐÐ
­†ÚÐ-HÐÐ
­‡ÚÐ-IÐÐ
­ˆÚÐ-JÐÐ
­‰ÚÐ-KÐÐ
­ŠÚÐ-ÐÐ
­‹ÚÐ-LÐÐ
­ŒÚÐ-MÐÐ
­ÚÐ-NÐÐ
­ŽÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-QÐÐ
­‘ÚÐ-#ÐÐ
­’ÚÐ-RÐÐ
­“ÚÐ-SÐÐ
­”ÚÐ-TÐÐ
­•ÚÐ-UÐÐ
­–ÚÐ-VÐÐ
­—ÚÐ-WÐÐ
­˜ÚÐ-=ÐÐ
­™ÚÐ-XÐÐ
­šÚÐ-YÐÐ
­›ÚÐ-ZÐÐ
­œÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­žÚÐ-]ÐÐ
­ŸÚÐ-^ÐÐ
­ ÚÐ-_ÐÐ
­¡ÚÐ-`ÐÐ
­¢ÚÐ-aÐÐ
­£ÚÐ-bÐÐ
­¤ÚÐ-cÐÐ
­^ÚÐ-dÐÐ
­¥ÚÐ-eÐÐ
­¦ÚÐ-fÐÐ
­cÚÐ-gÐÐ
­§ÚÐ-hÐÐ
­¨ÚÐ-iÐÐ
­©ÚÐ-jÐÐ
­ªÚÐ-kÐÐ
­«ÚÐ-\ÐÐ
­¬ÚÐ-hÐÐ
­­ÚÐ-lÐÐ
­®ÚÐ-mÐÐ
­¯ÚÐ-nÐÐ
­°ÚÐ-oÐÐ
­±ÚÐ-\ÐÐ
­²ÚÐ-hÐÐ
­³ÚÐ-pÐÐ
­´ÚÐ-qÐÐ
­µÚÐ-rÐÐ
­¶ÚÐ-sÐÐ
­_ÚÐ-dÐÐ
­·ÚÐ-eÐÐ
­¸ÚÐ-tÐÐ
­dÚÐ-gÐÐ
­¹ÚÐ-hÐÐ
­ºÚÐ-uÐÐ
­»ÚÐ-jÐÐ
­¼ÚÐ-vÐÐ
­½ÚÐ-\ÐÐ
­¾ÚÐ-wÐÐ
­¿ÚÐ-xÐÐ
­ÀÚÐ-yÐÐ
­ÁÚÐ-IÐÐ
­ÂÚÐ-zÐÐ
­ÃÚÐ-{ÐÐ
­ÄÚÐ-|ÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-}ÐÐ
­ÇÚÐ-~ÐÐ
­ÈÚÐ-ÐÐ
­ÉÚÐ-€ÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-‚ÐÐ
­ÌÚÐ-ƒÐÐ
­ÍÚÐ-„ÐÐ
­ÎÚÐ-…ÐÐ
­ÏÚÐ-†ÐÐ
­ÐÚÐ-‡ÐÐ
­ÑÚÐ-ˆÐÐ
­ÒÚÐ-‰ÐÐ
­ÓÚÐ-ŠÐÐ
­ÔÚÐ-€ÐÐ
­ÕÚÐ-ÐÐ
­ÖÚÐ-‹ÐÐ
­×ÚÐ-ŒÐÐ
­ØÚÐ-ÐÐ
­ÙÚÐ-„ÐÐ
­ÚÚÐ-ŽÐÐ
­ÛÚÐ-‰ÐÐ
­ÜÚÐ-ŠÐÐ
­ÝÚÐ-ÐÐ
­ÞÚÐ-ÐÐ
­ßÚÐ-‘ÐÐ
­àÚÐ-’ÐÐ
­áÚÐ-“ÐÐ
­âÚÐ-”ÐÐ
­ãÚÐ-•ÐÐ
­äÚÐ-–ÐÐ
­åÚÐ-—ÐÐ
­æÚÐ-‡ÐÐ
­çÚÐ-‰ÐÐ
­èÚÐ-ŠÐÐ
­éÚÐ-˜ÐÐ
­êÚÐ-™ÐÐ
­ëÚÐ-ˆÐÐ
­ìÚÐ-šÐÐ
­íÚÐ-›ÐÐ
­îÚÐ-œÐÐ
­ïÚÐ-ÐÐ
­ðÚÐ-žÐÐ
­ñÚÐ-ŸÐÐ
­òÚÐ- ÐÐ
­óÚÐ-¡ÐÐ
­ôÚÐ-¢ÐÐ
­õÚÐ-£ÐÐ
­eÚÐ-¤ÐÐ
­öÚÐ-€ÐÐ
­÷ÚÐ-‰ÐÐ
­øÚÐ-ŠÐÐ
­fÚÐ-¤ÐÐ
­ùÚÐ-¥ÐÐ
­úÚÐ-¦ÐÐ
­ûÚÐ-§ÐÐ
­üÚÐ-“ÐÐ
­ýÚÐ-”ÐÐ
­þÚÐ-•ÐÐ
­ÿÚÐ-‡ÐÐ
­ÚÐ-‰ÐÐ
­ÚÐ-ŠÐÐ
­ÚÐ-¨ÐÐ
­ÚÐ-©ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ªÐÐ
­ÚÐ-«ÐÐ
­ÚÐ-¬ÐÐ
­	ÚÐ-­ÐÐ
­
-ÚÐ-®ÐÐ
­ÚÐ-«ÐÐ
­ÚÐ-¬ÐÐ
­
ÚÐ-­ÐÐ
­ÚÐ-¯ÐÐ
­ÚÐ-IÐÐ
­ÚÐ-JÐÐ
­ÚÐ-°ÐÐ
­ÚÐ-±ÐÐ
­ÚÐ-YÐÐ
­ÚÐ-²ÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-³ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-´ÐÐ
­ÚÐ-aÐÐ
­ÚÐ-µÐÐ
­ÚÐ-¶ÐÐ
­aÚÐ-dÐÐ
­ÚÐ-eÐÐ
­gÚÐ-gÐÐ
­ÚÐ-·ÐÐ
­ ÚÐ-hÐÐ
­!ÚÐ-¸ÐÐ
­"ÚÐ-jÐÐ
­#ÚÐ-kÐÐ
­$ÚÐ-*ÐÐ
­%ÚÐ-¹ÐÐ
­&ÚÐ-hÐÐ
­'ÚÐ->ÐÐ
­(ÚÐ-=ÐÐ
­)ÚÐ-«ÐÐ
­*ÚÐ-ºÐÐ
­+ÚÐ-ÐÐ
­,ÚÐ-»ÐÐ
­-ÚÐ-«ÐÐ
­.ÚÐ-¬ÐÐ
­/ÚÐ-­ÐÐ
­0ÚÐ-¼ÐÐ
­1ÚÐ-«ÐÐ
­2ÚÐ-¬ÐÐ
­3ÚÐ-­ÐÐ
­4ÚÐ-½ÐÐ
­5ÚÐ-ÐÐ
­6ÚÐ-¾ÐÐ
­7ÚÐ-¿ÐÐ
­8ÚÐ-ÀÐÐ
­9ÚÐ-ÁÐÐ
­:ÚÐ-ÐÐ
­;ÚÐ-ÐÐ
­<ÚÐ-ÂÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÃÐÐ
­lÚÐ-ÐÐ
­?ÚÐ-ÄÐÐ
­@ÚÐ-ÅÐÐ
­AÚÐ-ÆÐÐ
­BÚÐ-ÇÐÐ
­CÚÐ-ÐÐ
­DÚÐ-ÈÐÐ
­EÚÐ-ÉÐÐ
­FÚÐ-ÊÐÐ
­GÚÐ-ËÐÐ
­HÚÐ-ÅÐÐ
­IÚÐ-ÐÐ
­JÚÐ-ÌÐÐ
­KÚÐ-ÍÐÐ
­LÚÐ-ÎÐÐ
­MÚÐ-ÊÐÐ
­NÚÐ-ÏÐÐ
­OÚÐ-ÅÐÐ
­PÚÐ-ÐÐ
­QÚÐ-¾ÐÐ
­RÚÐ-ÐÐÐ
­SÚÐ-ÁÐÐ
­TÚÐ-ÐÐ
­UÚÐ-ÑÐÐ
­VÚÐ-ÐÐ
­WÚÐ-ÒÐÐ
­XÚÐ-ÓÐÐ
­YÚÐ-ÐÐ
­ZÚÐ-ÔÐÐ
­fÚÐ-ÕÐÖ×Ð	E
-ÐÐ
­ÚÐ-ØÐÐ
­ÚÐ-ÙÐÐ
­ÚÐ-ÚÐÐ
­ÚÐ-ÛÐÐ
­ÚÐ-ÜÐÐ
­
ÚÐ-ÝÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÞÐÐ
­ÚÐ-ßÐÐ
­‚ÚÐ-àÐÐ
­[ÚÐ-áÐÐ
­ÚÐ-âÐÐ
­!ÚÐ-ãÐÐ
­ ÚÐ-äÐÐ
­bÚÐ-åÐÐ
­hÚÐ-ÐÐ
­iÚÐ-ÐÐ
­ÚÐ-ÛÐÐ
­ÚÐ-Ðæ-çÐèé-êëìÐíî­
\ No newline at end of file
+	301:Y’		IF FHPP_CTRL_Door.Ready AND FHPP_CTRL_Door.ActualPosition > 10000  THENZ8			Client.ActualStep := 302;[H	   	ELSIF FHPP_CTRL_Door.Ready THEN\8			Client.ActualStep := 300;]	   	END_IF;^
+	302:_T		FHPP_CTRL_Door.SetValuePosition := 5000;`6		Client.ActualStep := 303;a
+	303:b0	    startPulse := TRUE;cB		IF FHPP_CTRL_Door.AckStart THENd8			Client.ActualStep := 304;e.			startPulse := FALSE;f		END_IF;g
+	304:h8		IF FHPP_CTRL_Door.MC  THENiN			Client.Message:='Opened the door.';	j
+	311:k°		IF FHPP_CTRL_Door.Ready AND FHPP_CTRL_Door.ActualPosition < iTest_Door_Close_Pos  THENl8			Client.ActualStep := 312;mB		ELSIF FHPP_CTRL_Door.Ready THENn
+	312:ot		FHPP_CTRL_Door.SetValuePosition := iTest_Door_Close_Pos;p6		Client.ActualStep := 313;q
+	313:r8			Client.ActualStep := 314;s
+	314:tN			Client.Message:='Closed the door.';	u		END_IF;     v END_CASE  w2PACK_ML.State.Resetting :x		0:y:			Client.ActualStep := 100;	z		100: {ˆ			Client.Message:='Waiting for voltage supplied or fault reset.';	 |–			IF NOT FHPP_CTRL_Door.Fault AND FHPP_CTRL_Door.SupplyVoltagePresent THEN}L           		Client.ActualStep := 101;~        		END_IF;        €4    	101: (*enable drive*)Š			IF FHPP_CTRL_Door.DriveEnabled AND FHPP_CTRL_Door.HomingValid THEN‚:				Client.ActualStep := 111;ƒ˜			ELSIF FHPP_CTRL_Door.DriveEnabled AND NOT FHPP_CTRL_Door.HomingValid THEN„8				Client.ActualStep :=102;…			END_IF;†				‡>			IF FHPP_CTRL_Door.Fault THENˆL           		Client.ActualStep := 100;‰"		102: (*Homing*)Š:			Client.Message:='Homing.';‹J			IF FHPP_CTRL_Door.HomingValid THENŒ			END_IF;	    		END_IF;Ž		111:N			Client.Message:='Closing the door.';´			IF FHPP_CTRL_Door.Ready AND FHPP_CTRL_Door.ActualPosition >= iTest_Door_Close_Pos  THEN‘2				Client.Message:='';		’8				Client.ActualStep := 0;	“*				StateComplete();	”D			ELSIF FHPP_CTRL_Door.Ready THEN•:				Client.ActualStep := 112;–  			END_IF;—		112:˜R			Client.Message:='Closing the door.';		™v			FHPP_CTRL_Door.SetValuePosition := iTest_Door_Close_Pos;š8			Client.ActualStep := 113;›							œ		113:2		    startPulse := TRUE;žV			Client.Message:='Waiting for AckStart.';ŸD			IF FHPP_CTRL_Door.AckStart THEN L           		Client.ActualStep := 114;¡0				startPulse := FALSE;¢   			END_IF;£		114:¤8			IF FHPP_CTRL_Door.MC THEN¥   			END_IF;	¦	END_CASE	§0PACK_ML.State.Starting :¨,	Client.Message:='';		©2	Client.ActualStep := 0;	ª"	StateComplete();«4PACK_ML.State.Completing :¬2PACK_ML.State.Aborting :	­$	StateComplete();	®.PACK_ML.State.Stopping:¯0PACK_ML.State.Clearing :°END_CASE±fIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THEN²(	// Emergency Abort.³	Abort();	´END_IF µLClient.ActualState := UM.CurrentState;¶>messageQueue(Client := Client);·zbl(Enable := TRUE, TIMEHIGH := T#500MS, TIMELOW := T#500MS );¸rb2(ENABLE := TRUE,TIMELOW := T#100MS,TIMEHIGH:= T#100MS);¹”IF Client.ActualStep = 100 AND Client.ActualState = PACK_ML.Resetting THENºJ	FHPP_CTRL_Door.ResetFault := b2.OUT;»ELSE¼N    FHPP_CTRL_Door.ResetFault := FALSE;½END_IF;¾$(* Enable drive *)¿êIF Client.ActualStep >= 101 AND (Client.ActualState = PACK_ML.Resetting OR Client.ActualState = PACK_ML.Execute )THENÀN    FHPP_CTRL_Door.EnableDrive := TRUE;ÁP    FHPP_CTRL_Door.EnableDrive := FALSE;Â	Abort();Ã$(* Start homing *)ÄÜFHPP_CTRL_Door.StartHoming := Client.ActualStep = 102 AND Client.ActualState = PACK_ML.Resetting AND bl.OUT  ;Å (* Start task *)ÆdFHPP_CTRL_Door.StartTask:= startPulse AND bl.OUT ;ÇInterfaceÈL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}ÉLFUNCTION_BLOCK SlidingDoorStateMachineÊVAR_IN_OUTË&	Client : IOClient;ÌEND_VARÍVARÎ0	UM	: PACK_ML.UnitMode; Ïj	xInit				: BOOL := FALSE; // Flag for initializationÐ	delay : TON;Ñ	bl : blink;Ò	b2 : blink;Ó	tp1 : TP;Ô	_open : BOOL;Õ	_close : BOOL;Ö&	startPulse : BOOL;×P	iTest_Door_Close_Pos : DINT := 827000 ;Ø:	messageQueue : MessageQueue;Ù"UniqueIdGeneratorÚ886ÛPOULevelÜL{8e575c5b-1d37-49c6-941b-5c0ec7874787}ÝStandardÞ ChildObjectGuidsß8System.Collections.ArrayListà,AddAttributeSubsequentáboolÐÐ-ÐÐ	E
+‚ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-ÐÐ
­DÚÐ-ÐÐ
­EÚÐ-ÐÐ
­FÚÐ-ÐÐ
­HÚÐ-ÐÐ
­IÚÐ-ÐÐ
­JÚÐ-ÐÐ
­KÚÐ-ÐÐ
­]ÚÐ-ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­OÚÐ-ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-ÐÐ
­RÚÐ-ÐÐ
­SÚÐ- ÐÐ
­TÚÐ-!ÐÐ
­UÚÐ-"ÐÐ
­VÚÐ-#ÐÐ
­WÚÐ-$ÐÐ
­XÚÐ-%ÐÐ
­YÚÐ-&ÐÐ
­ZÚÐ-'ÐÐ
­[ÚÐ-(ÐÐ
­\ÚÐ-)ÐÐ
­]ÚÐ-*ÐÐ
­^ÚÐ-+ÐÐ
­_ÚÐ-,ÐÐ
­`ÚÐ--ÐÐ
­aÚÐ-.ÐÐ
­bÚÐ-/ÐÐ
­cÚÐ-0ÐÐ
­dÚÐ-1ÐÐ
­eÚÐ-2ÐÐ
­fÚÐ-3ÐÐ
­gÚÐ-4ÐÐ
­hÚÐ-5ÐÐ
­iÚÐ-6ÐÐ
­jÚÐ-7ÐÐ
­kÚÐ-8ÐÐ
­lÚÐ-9ÐÐ
­mÚÐ-:ÐÐ
­nÚÐ-;ÐÐ
­oÚÐ-<ÐÐ
­pÚÐ-#ÐÐ
­qÚÐ-=ÐÐ
­rÚÐ->ÐÐ
­sÚÐ-ÐÐ
­tÚÐ-?ÐÐ
­uÚÐ-@ÐÐ
­vÚÐ-AÐÐ
­wÚÐ-ÐÐ
­xÚÐ-ÐÐ
­yÚÐ-ÐÐ
­zÚÐ-ÐÐ
­{ÚÐ-ÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-BÐÐ
­~ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­€ÚÐ-EÐÐ
­ÚÐ-DÐÐ
­‚ÚÐ-FÐÐ
­ƒÚÐ-DÐÐ
­„ÚÐ-GÐÐ
­…ÚÐ-DÐÐ
­†ÚÐ-HÐÐ
­‡ÚÐ-IÐÐ
­ˆÚÐ-JÐÐ
­‰ÚÐ-KÐÐ
­ŠÚÐ-ÐÐ
­‹ÚÐ-LÐÐ
­ŒÚÐ-MÐÐ
­ÚÐ-NÐÐ
­ŽÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-QÐÐ
­‘ÚÐ-#ÐÐ
­’ÚÐ-RÐÐ
­“ÚÐ-SÐÐ
­”ÚÐ-TÐÐ
­•ÚÐ-UÐÐ
­–ÚÐ-VÐÐ
­—ÚÐ-WÐÐ
­˜ÚÐ-=ÐÐ
­™ÚÐ-XÐÐ
­šÚÐ-YÐÐ
­›ÚÐ-ZÐÐ
­œÚÐ-[ÐÐ
­ŸÚÐ-\ÐÐ
­ ÚÐ-]ÐÐ
­¡ÚÐ-^ÐÐ
­¢ÚÐ-_ÐÐ
­£ÚÐ-`ÐÐ
­¤ÚÐ-aÐÐ
­^ÚÐ-bÐÐ
­¥ÚÐ-cÐÐ
­¦ÚÐ-dÐÐ
­cÚÐ-eÐÐ
­§ÚÐ-fÐÐ
­¨ÚÐ-gÐÐ
­©ÚÐ-hÐÐ
­ªÚÐ-iÐÐ
­«ÚÐ-\ÐÐ
­¬ÚÐ-fÐÐ
­­ÚÐ-jÐÐ
­®ÚÐ-kÐÐ
­¯ÚÐ-lÐÐ
­°ÚÐ-mÐÐ
­±ÚÐ-\ÐÐ
­²ÚÐ-fÐÐ
­³ÚÐ-nÐÐ
­´ÚÐ-oÐÐ
­µÚÐ-pÐÐ
­¶ÚÐ-qÐÐ
­_ÚÐ-bÐÐ
­·ÚÐ-cÐÐ
­¸ÚÐ-rÐÐ
­dÚÐ-eÐÐ
­¹ÚÐ-fÐÐ
­ºÚÐ-sÐÐ
­»ÚÐ-hÐÐ
­¼ÚÐ-tÐÐ
­½ÚÐ-\ÐÐ
­¾ÚÐ-uÐÐ
­¿ÚÐ-vÐÐ
­ÀÚÐ-wÐÐ
­ÁÚÐ-IÐÐ
­ÂÚÐ-xÐÐ
­ÃÚÐ-yÐÐ
­ÄÚÐ-zÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-{ÐÐ
­ÇÚÐ-|ÐÐ
­ÈÚÐ-}ÐÐ
­ÉÚÐ-~ÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-€ÐÐ
­ÌÚÐ-ÐÐ
­ÍÚÐ-‚ÐÐ
­ÎÚÐ-ƒÐÐ
­ÏÚÐ-„ÐÐ
­ÐÚÐ-…ÐÐ
­ÑÚÐ-†ÐÐ
­ÒÚÐ-‡ÐÐ
­ÓÚÐ-ˆÐÐ
­ÔÚÐ-~ÐÐ
­ÕÚÐ-ÐÐ
­ÖÚÐ-‰ÐÐ
­×ÚÐ-ŠÐÐ
­ØÚÐ-‹ÐÐ
­ÙÚÐ-‚ÐÐ
­ÚÚÐ-ŒÐÐ
­ÛÚÐ-‡ÐÐ
­ÜÚÐ-ˆÐÐ
­ÝÚÐ-ÐÐ
­ÞÚÐ-ŽÐÐ
­ßÚÐ-ÐÐ
­àÚÐ-ÐÐ
­áÚÐ-‘ÐÐ
­âÚÐ-’ÐÐ
­ãÚÐ-“ÐÐ
­äÚÐ-”ÐÐ
­åÚÐ-•ÐÐ
­æÚÐ-…ÐÐ
­çÚÐ-‡ÐÐ
­èÚÐ-ˆÐÐ
­éÚÐ-–ÐÐ
­êÚÐ-—ÐÐ
­ëÚÐ-†ÐÐ
­ìÚÐ-˜ÐÐ
­íÚÐ-™ÐÐ
­mÚÐ-šÐÐ
­ðÚÐ-›ÐÐ
­ñÚÐ-œÐÐ
­òÚÐ-ÐÐ
­óÚÐ-žÐÐ
­ôÚÐ-ŸÐÐ
­õÚÐ- ÐÐ
­eÚÐ-¡ÐÐ
­öÚÐ-~ÐÐ
­÷ÚÐ-‡ÐÐ
­øÚÐ-ˆÐÐ
­fÚÐ-¡ÐÐ
­ùÚÐ-¢ÐÐ
­úÚÐ-£ÐÐ
­ûÚÐ-¤ÐÐ
­üÚÐ-‘ÐÐ
­ýÚÐ-’ÐÐ
­þÚÐ-“ÐÐ
­ÿÚÐ-…ÐÐ
­ÚÐ-‡ÐÐ
­ÚÐ-ˆÐÐ
­ÚÐ-¥ÐÐ
­ÚÐ-¦ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-§ÐÐ
­ÚÐ-¨ÐÐ
­ÚÐ-©ÐÐ
­	ÚÐ-ªÐÐ
­
+ÚÐ-«ÐÐ
­ÚÐ-¨ÐÐ
­ÚÐ-©ÐÐ
­
ÚÐ-ªÐÐ
­ÚÐ-¬ÐÐ
­qÚÐ-¨ÐÐ
­rÚÐ-©ÐÐ
­*ÚÐ-­ÐÐ
­,ÚÐ-®ÐÐ
­-ÚÐ-¨ÐÐ
­.ÚÐ-©ÐÐ
­/ÚÐ-ªÐÐ
­0ÚÐ-¯ÐÐ
­1ÚÐ-¨ÐÐ
­2ÚÐ-©ÐÐ
­3ÚÐ-ªÐÐ
­4ÚÐ-°ÐÐ
­5ÚÐ-ÐÐ
­6ÚÐ-±ÐÐ
­7ÚÐ-²ÐÐ
­8ÚÐ-³ÐÐ
­9ÚÐ-´ÐÐ
­:ÚÐ-ÐÐ
­;ÚÐ-ÐÐ
­uÚÐ-µÐÐ
­vÚÐ-ÐÐ
­<ÚÐ-¶ÐÐ
­=ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-·ÐÐ
­BÚÐ-¸ÐÐ
­CÚÐ-ÐÐ
­DÚÐ-¹ÐÐ
­EÚÐ-ºÐÐ
­FÚÐ-»ÐÐ
­GÚÐ-¼ÐÐ
­HÚÐ-½ÐÐ
­IÚÐ-ÐÐ
­JÚÐ-¾ÐÐ
­KÚÐ-¿ÐÐ
­LÚÐ-ÀÐÐ
­MÚÐ-»ÐÐ
­NÚÐ-ÁÐÐ
­OÚÐ-½ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-±ÐÐ
­RÚÐ-ÂÐÐ
­SÚÐ-´ÐÐ
­VÚÐ-ÐÐ
­WÚÐ-ÃÐÐ
­XÚÐ-ÄÐÐ
­YÚÐ-ÐÐ
­ZÚÐ-ÅÐÐ
­fÚÐ-ÆÐÇÈÐ	E
+ÐÐ
­ÚÐ-ÉÐÐ
­ÚÐ-ÊÐÐ
­ÚÐ-ËÐÐ
­ÚÐ-ÌÐÐ
­ÚÐ-ÍÐÐ
­
ÚÐ-ÎÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÏÐÐ
­ÚÐ-ÐÐÐ
­‚ÚÐ-ÑÐÐ
­oÚÐ-ÒÐÐ
­[ÚÐ-ÓÐÐ
­ÚÐ-ÔÐÐ
­!ÚÐ-ÕÐÐ
­ ÚÐ-ÖÐÐ
­bÚÐ-×ÐÐ
­sÚÐ-ÐÐ
­tÚÐ-ØÐÐ
­hÚÐ-ÐÐ
­iÚÐ-ÐÐ
­ÚÐ-ÌÐÐ
­ÚÐ-ÐÙ-ÚÐÛÜ-ÝÞßÐàá­
\ No newline at end of file