Diff of /branches/PackMLState/Display_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/ByteSwapPuzzleStateMachine/svnobj [r24] .. [r25]  Maximize  Restore

Switch to side-by-side view

--- a/branches/PackMLState/Display_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/ByteSwapPuzzleStateMachine/svnobj
+++ b/branches/PackMLState/Display_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/ByteSwapPuzzleStateMachine/svnobj
@@ -1,4 +1,4 @@
-Gx_lÆ]!0…jüov7Q`Žå(&-{øOSystem.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üoŸ7Kˆ—A&JVÉ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		 4			overrideKey := TRUE;			!–		ELSIF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[1]) =  0 THEN		"2			//Second Lock Function#
 			;	$		END_IF%	2 : 	//Key&	3 : 	//IO'	4 : 	//Media(	5 : 	//Hint)	6 : 	//State	*p		IF SysStrCmp(Client.sCommandFromPLC, 'SC') =  0 THEN		+&			StateComplete();,x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		-			Start();.v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		/			Stop();0x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		1			Reset();2x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		3			Abort();4x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		5			Clear();6v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		7			Hold();8z		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		9			Unhold();	:|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		;			Suspend();<€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		=			UnSuspend();>		?	END_CASE@6	Client.iCommandToPLC := 0;A8	Client.sCommandToPLC := '';B:	Client.bReadyToPLC := FALSE;C.CASE UM.CurrentState OFD,PACK_ML.State.Stopped:E	;F,PACK_ML.State.Aborted:G&PACK_ML.State.Idle:H2PACK_ML.State.Complete :	I.PACK_ML.State.Execute :J(	CASE Client.Mode OFK		Mode.Mode1:LH			IF puzzleTimer.iProcess = 25 THENM˜				SendCommand(Command := CommandType.Hint ,Value := 'Time is the Key!.');	N			END_IFOH			IF puzzleTimer.iProcess = 50 THENP”				SendCommand(Command := CommandType.Hint ,Value := 'Padlock K000367');	Q			END_IF			RH			IF puzzleTimer.iProcess = 75 THENSF				IF Client.ActualStep <= 10 THENT’					SendCommand(Command := CommandType.Media ,Value := 'https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_operator_rol/');U				ELSEV2					overrideKey := TRUE;W				END_IFX			END_IF				Y.			CASE Client.Level OFZ&				Level.Beginner:[F					ShadowInByte := ROL(InByte,0);\.				Level.Placeholder1:]F					ShadowInByte := ROL(InByte,2);^.				Level.Intermediate:_F					ShadowInByte := ROL(InByte,4);`.				Level.Placeholder2:aF					ShadowInByte := ROL(InByte,6);b&				Level.Advanced:cF					ShadowInByte := ROL(InByte,8);d			END_CASEe		Mode.Mode2:fÐ					SendCommand(Command := CommandType.Media ,Value := 'https://www.youtube.com/watch?v=dQw4w9WgXcQ');	gÒ					SendCommand(Command := CommandType.Media ,Value := 'https://www.youtube.com/watch?v=dQw4w9WgXcQ');		h				i			END_IF		j
 					k			l,			temp.7 := InByte.5;m,			temp.6 := InByte.2;n,			temp.5 := InByte.7;o,			temp.4 := InByte.1;p,			temp.3 := InByte.6;q,			temp.2 := InByte.0;r,			temp.1 := InByte.3;s,			temp.0 := InByte.4;t2			ShadowInByte := temp; u		Mode.Mode3:vJ			IF puzzleTimer.iProcess = 50 THEN	wœ				SendCommand(Command := CommandType.Media ,Value := 'Padlock K000367');				xų					SendCommand(Command := CommandType.Media ,Value := 'https://en.wikipedia.org/wiki/Endianness#Files_and_byte_swapp');			yō					SendCommand(Command := CommandType.Media ,Value := 'https://en.wikipedia.org/wiki/Endianness#Files_and_byte_swap');		z,			temp.7 := InByte.0;{,			temp.6 := InByte.1;|,			temp.5 := InByte.2;},			temp.4 := InByte.3;~,			temp.3 := InByte.4;,			temp.2 := InByte.5;€,			temp.1 := InByte.6;,			temp.0 := InByte.7;‚4			ShadowInByte := temp; 	ƒ4	CASE Client.ActualStep OF„0		0:	// Waiting for key.…V			IF DI_Key_switch OR overrideKey THEN				†`				Client.ActualStep := Client.ActualStep + 10;‡&				ViewIndex := 0;ˆ–				SendCommand(Command := CommandType.Key,Value := Client.KeyCommands[0]);‰4				// Turn on the screen.Š			END_IF	‹.		10: // Check solutionŒ		 	 			IF ton.Q THENŽ@				IF LocalOutByte = 255 THEN		.					LocalOutByte := 0;L					LocalOutByte := LocalOutByte + 1;‘>				OutByte := LocalOutByte;			’^				Client.ActualStep := Client.ActualStep + 5;“
@@ -6,6 +6,6 @@
 		20:"				OutByte := 1;žf				Client.ActualStep := Client.ActualStep + 10;		 Ÿ		30:	 D				IF ShadowInByte = OutByte THEN¡b					Client.ActualStep := Client.ActualStep + 10;¢:					Client.ActualStep := 10;£l				IF NOT DI_Key_switch AND NOT overrideKey  THEN				¤8					Client.ActualStep := 0;¥(					ViewIndex := 1;¦8					// Turn off the screen.§				END_IF	¨
 		40:©"				OutByte := 2;ªd				Client.ActualStep := Client.ActualStep + 10;	 «		50:	¬
 		60:­"				OutByte := 4;®		70:	¯
-		80:°"				OutByte := 8;±		90:	²		100:³$				OutByte := 16;´		110:	µ		120:¶$				OutByte := 32;·		130:	¸		140:¹$				OutByte := 64;º		150:	»		160:¼&				OutByte := 128;½b				Client.ActualStep := Client.ActualStep + 10; ¾		170:	¿		180: 					À(				StateComplete();Á2PACK_ML.State.Resetting : 	ViewIndex := 1;Ã,	overrideKey := FALSE;Ä$	LocalInByte := 0;Å&	LocalOutByte := 0;Æ&	ShadowInByte := 0;Ç	OutByte := 0;È"	StateComplete();É0PACK_ML.State.Starting :Ê4PACK_ML.State.Completing :Ë0PACK_ML.State.Aborting :Ì.PACK_ML.State.Stopping:Í2PACK_ML.State.Clearing :	ÎEND_CASEÏLClient.ActualState := UM.CurrentState;ÐVIF NOT x_EmergencyGF AND x_EmergencyFF THENÑ(	 //Emergency Abort.Ò	Abort();	ÓäpuzzleTimer(xStartTimer := UM.CurrentState = PACK_ML.State.Execute ,xPauseTimer := ,xStopTimer:= NOT (UM.CurrentState = PACK_ML.State.Execute),tMaxPuzzleTime := Client.Duration);Ô>messageQueue(Client := Client);ÕPClient.Progress := puzzleTimer.iProcess;ÖFIF puzzleTimer.iProcess >= 100 THEN×	//Stop();	ظton(IN := (Client.ActualState = PACK_ML.Execute AND Client.ActualStep = 10 ),PT := T#500MS);ÙInterfaceÚL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}ÛRFUNCTION_BLOCK ByteSwapPuzzleStateMachineÜVAR_IN_OUTÝ.	Client : PuzzleClient;Þ"	ViewIndex : INT;ßEND_VARàVARá0	UM	: PACK_ML.UnitMode; âj	xInit				: BOOL := FALSE; // Flag for initializationã(	overrideKey : BOOL;ä6	puzzleTimer : PuzzleTimer;å:	messageQueue : MessageQueue;æ&	LocalInByte :BYTE;ç(	LocalOutByte :BYTE;è,	InByte AT %IB0: BYTE;é(	ShadowInByte :BYTE;ê.	OutByte AT %QB0: BYTE;ë	ton  : TON;ì	iRol:INT := 4;í	temp : BYTE;î"UniqueIdGeneratorï931ðPOULevelñL{8e575c5b-1d37-49c6-941b-5c0ec7874787}òStandardó ChildObjectGuidsô8System.Collections.ArrayListõ,AddAttributeSubsequentöboolÐÐ-ÐÐ	E
-ðÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­lÚÐ-ÐÐ
­eÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ŽÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­”ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­–ÚÐ-ÐÐ
­µÚÐ-ÐÐ
­´ÚÐ- ÐÐ
­¶ÚÐ-!ÐÐ
­·ÚÐ-"ÐÐ
­øÚÐ-#ÐÐ
­¯ÚÐ-$ÐÐ
­ÚÚÐ-%ÐÐ
­ªÚÐ-&ÐÐ
­«ÚÐ-'ÐÐ
­¬ÚÐ-(ÐÐ
­­ÚÐ-)ÐÐ
­¹ÚÐ-*ÐÐ
­ºÚÐ-+ÐÐ
­»ÚÐ-,ÐÐ
­¾ÚÐ--ÐÐ
­¿ÚÐ-.ÐÐ
­ÀÚÐ-/ÐÐ
­ÁÚÐ-0ÐÐ
­ÂÚÐ-1ÐÐ
­ÃÚÐ-2ÐÐ
­ÄÚÐ-3ÐÐ
­ÅÚÐ-4ÐÐ
­ÆÚÐ-5ÐÐ
­ÇÚÐ-6ÐÐ
­ÈÚÐ-7ÐÐ
­ÉÚÐ-8ÐÐ
­ÎÚÐ-9ÐÐ
­ÏÚÐ-:ÐÐ
­ÐÚÐ-;ÐÐ
­ÑÚÐ-<ÐÐ
­¼ÚÐ-=ÐÐ
­¸ÚÐ-$ÐÐ
­½ÚÐ->ÐÐ
­—ÚÐ-?ÐÐ
­ÓÚÐ-ÐÐ
­ÕÚÐ-@ÐÐ
­ÖÚÐ-AÐÐ
­×ÚÐ-BÐÐ
­•ÚÐ-ÐÐ
­‘ÚÐ-ÐÐ
­’ÚÐ-ÐÐ
­“ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­ÚÐ-EÐÐ
­ÚÐ-FÐÐ
­ÚÐ-EÐÐ
­ÚÐ-GÐÐ
­ÚÐ-EÐÐ
­ ÚÐ-HÐÐ
­¦ÚÐ-EÐÐ
­ŸÚÐ-IÐÐ
­ÚÐ-JÐÐ
­ÚÐ-KÐÐ
­ˆÚÐ-LÐÐ
­‰ÚÐ-MÐÐ
­ŠÚÐ-NÐÐ
­‹ÚÐ-OÐÐ
­ŒÚÐ-PÐÐ
­ÚÐ-QÐÐ
­‘ÚÐ-RÐÐ
­’ÚÐ-SÐÐ
­“ÚÐ-TÐÐ
­žÚÐ-UÐÐ
­ŸÚÐ-VÐÐ
­ ÚÐ-TÐÐ
­”ÚÐ-WÐÐ
­7ÚÐ-XÐÐ
­5ÚÐ->ÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­ ÚÐ-bÐÐ
­!ÚÐ-cÐÐ
­"ÚÐ-dÐÐ
­#ÚÐ-eÐÐ
­zÚÐ-LÐÐ
­{ÚÐ-MÐÐ
­|ÚÐ-NÐÐ
­}ÚÐ-OÐÐ
­~ÚÐ-PÐÐ
­ÚÐ-NÐÐ
­‚ÚÐ-RÐÐ
­„ÚÐ-SÐÐ
­…ÚÐ-fÐÐ
­šÚÐ-UÐÐ
­ÚÐ-VÐÐ
­œÚÐ-gÐÐ
­†ÚÐ-WÐÐ
­™ÚÐ-hÐÐ
­‡ÚÐ-iÐÐ
­QÚÐ-jÐÐ
­NÚÐ-kÐÐ
­DÚÐ-lÐÐ
­EÚÐ-mÐÐ
­FÚÐ-nÐÐ
­GÚÐ-oÐÐ
­HÚÐ-pÐÐ
­IÚÐ-qÐÐ
­JÚÐ-rÐÐ
­KÚÐ-sÐÐ
­LÚÐ-hÐÐ
­(ÚÐ-tÐÐ
­%ÚÐ-uÐÐ
­dÚÐ-LÐÐ
­eÚÐ-MÐÐ
­iÚÐ-NÐÐ
­kÚÐ-vÐÐ
­qÚÐ-wÐÐ
­fÚÐ-NÐÐ
­>ÚÐ-RÐÐ
­sÚÐ-SÐÐ
­¡ÚÐ-xÐÐ
­¢ÚÐ-UÐÐ
­£ÚÐ-VÐÐ
­@ÚÐ-yÐÐ
­CÚÐ-WÐÐ
­tÚÐ-NÐÐ
­=ÚÐ-kÐÐ
­)ÚÐ-zÐÐ
­*ÚÐ-{ÐÐ
­+ÚÐ-|ÐÐ
­,ÚÐ-}ÐÐ
­-ÚÐ-~ÐÐ
­.ÚÐ-ÐÐ
­/ÚÐ-€ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-hÐÐ
­'ÚÐ-‚ÐÐ
­&ÚÐ-hÐÐ
­ûÚÐ-?ÐÐ
­ùÚÐ-ÐÐ
­»ÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ƒÐÐ
­òÚÐ->ÐÐ
­óÚÐ-„ÐÐ
­÷ÚÐ-…ÐÐ
­ûÚÐ-†ÐÐ
­	ÚÐ-‡ÐÐ
­
ÚÐ-ˆÐÐ
­üÚÐ-‰ÐÐ
­úÚÐ-ŠÐÐ
­ËÚÐ-‹ÐÐ
­±ÚÐ-ŒÐÐ
­×ÚÐ-ÐÐ
­ØÚÐ-ŽÐÐ
­ÙÚÐ-ÐÐ
­ÚÚÐ-UÐÐ
­ÛÚÐ-ÐÐ
­ÜÚÐ-WÐÐ
­ÞÚÐ-‘ÐÐ
­ßÚÐ-’ÐÐ
­²ÚÐ-iÐÐ
­þÚÐ-kÐÐ
­ÿÚÐ-“ÐÐ
­¾ÚÐ-”ÐÐ
­¿ÚÐ-•ÐÐ
­ÁÚÐ-–ÐÐ
­ÃÚÐ-—ÐÐ
­½ÚÐ-iÐÐ
­ÆÚÐ-ÐÐ
­ÈÚÐ-˜ÐÐ
­ÉÚÐ-™ÐÐ
­ÊÚÐ-šÐÐ
­ËÚÐ-›ÐÐ
­ÇÚÐ-ŠÐÐ
­ÅÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­gÚÐ-žÐÐ
­ÚÐ-ŸÐÐ
­ºÚÐ- ÐÐ
­fÚÐ-¡ÐÐ
­"ÚÐ-UÐÐ
­#ÚÐ-¢ÐÐ
­$ÚÐ-WÐÐ
­}ÚÐ-hÐÐ
­ÚÐ-hÐÐ
­€ÚÐ-£ÐÐ
­ÚÐ-¤ÐÐ
­‚ÚÐ-¥ÐÐ
­ƒÚÐ-¦ÐÐ
­„ÚÐ-hÐÐ
­~ÚÐ-§ÐÐ
­%ÚÐ-¨ÐÐ
­&ÚÐ-©ÐÐ
­hÚÐ-ªÐÐ
­(ÚÐ-«ÐÐ
­)ÚÐ- ÐÐ
­iÚÐ-¡ÐÐ
­+ÚÐ-UÐÐ
­vÚÐ-¢ÐÐ
­-ÚÐ-WÐÐ
­…ÚÐ-hÐÐ
­‡ÚÐ-hÐÐ
­ˆÚÐ-£ÐÐ
­‰ÚÐ-¤ÐÐ
­ŠÚÐ-¥ÐÐ
­‹ÚÐ-¦ÐÐ
­ŒÚÐ-hÐÐ
­†ÚÐ-§ÐÐ
­.ÚÐ-¬ÐÐ
­/ÚÐ-­ÐÐ
­jÚÐ-ªÐÐ
­1ÚÐ-®ÐÐ
­2ÚÐ- ÐÐ
­kÚÐ-¡ÐÐ
­4ÚÐ-UÐÐ
­wÚÐ-¢ÐÐ
­6ÚÐ-WÐÐ
­ŽÚÐ-hÐÐ
­ÚÐ-£ÐÐ
­ÚÐ-¤ÐÐ
­‘ÚÐ-¥ÐÐ
­’ÚÐ-¦ÐÐ
­“ÚÐ-jÐÐ
­ÚÐ-§ÐÐ
­7ÚÐ-¯ÐÐ
­8ÚÐ-°ÐÐ
­lÚÐ-žÐÐ
­:ÚÐ-±ÐÐ
­;ÚÐ- ÐÐ
­mÚÐ-¡ÐÐ
­=ÚÐ-UÐÐ
­xÚÐ-¢ÐÐ
­?ÚÐ-WÐÐ
­•ÚÐ-hÐÐ
­–ÚÐ-£ÐÐ
­—ÚÐ-¤ÐÐ
­˜ÚÐ-¥ÐÐ
­™ÚÐ-¦ÐÐ
­šÚÐ-jÐÐ
­”ÚÐ-§ÐÐ
­@ÚÐ-²ÐÐ
­AÚÐ-³ÐÐ
­nÚÐ-žÐÐ
­CÚÐ-´ÐÐ
­DÚÐ- ÐÐ
­oÚÐ-¡ÐÐ
­FÚÐ-UÐÐ
­yÚÐ-¢ÐÐ
­HÚÐ-WÐÐ
­œÚÐ-hÐÐ
­ÚÐ-£ÐÐ
­žÚÐ-¤ÐÐ
­ŸÚÐ-¥ÐÐ
­ ÚÐ-¦ÐÐ
­¡ÚÐ-jÐÐ
­›ÚÐ-§ÐÐ
­IÚÐ-µÐÐ
­JÚÐ-¶ÐÐ
­pÚÐ-ªÐÐ
­LÚÐ-·ÐÐ
­MÚÐ- ÐÐ
­qÚÐ-¡ÐÐ
­OÚÐ-UÐÐ
­zÚÐ-¢ÐÐ
­¢ÚÐ-WÐÐ
­£ÚÐ-£ÐÐ
­¤ÚÐ-¤ÐÐ
­¥ÚÐ-¥ÐÐ
­¦ÚÐ-¦ÐÐ
­§ÚÐ-jÐÐ
­QÚÐ-§ÐÐ
­RÚÐ-¸ÐÐ
­SÚÐ-¹ÐÐ
­rÚÐ-ªÐÐ
­UÚÐ-ºÐÐ
­VÚÐ- ÐÐ
­sÚÐ-¡ÐÐ
­XÚÐ-UÐÐ
­{ÚÐ-¢ÐÐ
­ZÚÐ-WÐÐ
­©ÚÐ-hÐÐ
­ªÚÐ-£ÐÐ
­«ÚÐ-¤ÐÐ
­¬ÚÐ-¥ÐÐ
­­ÚÐ-¦ÐÐ
­®ÚÐ-jÐÐ
­¨ÚÐ-§ÐÐ
­[ÚÐ-»ÐÐ
­\ÚÐ-¼ÐÐ
­tÚÐ-½ÐÐ
­^ÚÐ-¾ÐÐ
­_ÚÐ- ÐÐ
­uÚÐ-¡ÐÐ
­aÚÐ-UÐÐ
­|ÚÐ-¢ÐÐ
­cÚÐ-WÐÐ
­dÚÐ-¿ÐÐ
­ÚÐ-ÀÐÐ
­ÊÚÐ->ÐÐ
­ÉÚÐ-?ÐÐ
­ÀÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­´ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­¥ÚÐ-ÐÐ
­ªÚÐ-ÐÐ
­þÚÐ-ÁÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-ÃÐÐ
­ÚÐ-ÄÐÐ
­ÚÐ-ÅÐÐ
­ÚÐ-ÆÐÐ
­ÚÐ-ÇÐÐ
­ÚÐ-ÈÐÐ
­ÚÐ-ÉÐÐ
­ÚÐ-ÈÐÐ
­RÚÐ-ÊÐÐ
­ ÚÐ-ÈÐÐ
­UÚÐ-ËÐÐ
­!ÚÐ-ÈÐÐ
­WÚÐ-ÌÐÐ
­"ÚÐ-ÈÐÐ
­[ÚÐ-ÍÐÐ
­#ÚÐ-ÈÐÐ
­	ÚÐ-ÎÐÐ
­gÚÐ-ÐÐ
­ÚÐ-ÐÐ
­fÚÐ-ÏÐÐ
­YÚÐ-ÐÐ
­ZÚÐ-ÐÐÐ
­[ÚÐ-ÑÐÐ
­\ÚÐ-ÒÐÐ
­ÚÐ-ÐÐ
­VÚÐ-ÐÐ
­ÚÐ-ÓÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÔÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÕÐÐ
­4ÚÐ-ÐÐ
­ÚÐ-ÖÐÐ
­8ÚÐ-×ÐÐ
­7ÚÐ-ÐÐ
­âÚÐ-ÐÐ
­ãÚÐ-ÐÐ
­ÚÐ-ÐÐ
­áÚÐ-ÐÐ
­àÚÐ-ØÐÙÚÐ	E
-ÐÐ
­$ÚÐ-ÛÐÐ
­%ÚÐ-ÜÐÐ
­&ÚÐ-ÝÐÐ
­ÚÐ-ÞÐÐ
­*ÚÐ-ßÐÐ
­+ÚÐ-àÐÐ
­XÚÐ-áÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-âÐÐ
­/ÚÐ-ÐÐ
­0ÚÐ-ÐÐ
­ÚÐ-ãÐÐ
­ÚÐ-ÐÐ
­1ÚÐ-äÐÐ
­•ÚÐ-åÐÐ
­–ÚÐ-ÐÐ
­2ÚÐ-æÐÐ
­ŒÚÐ-çÐÐ
­ÚÐ-èÐÐ
­ÚÐ-éÐÐ
­‘ÚÐ-êÐÐ
­’ÚÐ-ÐÐ
­ÌÚÐ-ëÐÐ
­ÚÐ-ìÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-íÐÐ
­ŽÚÐ-ÐÐ
­3ÚÐ-ßÐÐ
­ÚÐ-Ðî-ïÐðñ-òóôÐõö­
\ No newline at end of file
+		80:°"				OutByte := 8;±		90:	²		100:³$				OutByte := 16;´		110:	µ		120:¶$				OutByte := 32;·		130:	¸		140:¹$				OutByte := 64;º		150:	»		160:¼&				OutByte := 128;½b				Client.ActualStep := Client.ActualStep + 10; ¾		170:	¿		180: 	À.				ViewIndex := 2;				Á(				StateComplete();Â2PACK_ML.State.Resetting :Ã 	ViewIndex := 1;Ä,	overrideKey := FALSE;Å$	LocalInByte := 0;Æ&	LocalOutByte := 0;Ç&	ShadowInByte := 0;È	OutByte := 0;É"	StateComplete();Ê0PACK_ML.State.Starting :Ë4PACK_ML.State.Completing :Ì0PACK_ML.State.Aborting :Í.PACK_ML.State.Stopping:Î2PACK_ML.State.Clearing :	ÏEND_CASEÐLClient.ActualState := UM.CurrentState;ÑVIF NOT x_EmergencyGF AND x_EmergencyFF THENÒ(	 //Emergency Abort.Ó	Abort();	ÔäpuzzleTimer(xStartTimer := UM.CurrentState = PACK_ML.State.Execute ,xPauseTimer := ,xStopTimer:= NOT (UM.CurrentState = PACK_ML.State.Execute),tMaxPuzzleTime := Client.Duration);Õ>messageQueue(Client := Client);ÖPClient.Progress := puzzleTimer.iProcess;×FIF puzzleTimer.iProcess >= 100 THENØ	//Stop();	Ù¸ton(IN := (Client.ActualState = PACK_ML.Execute AND Client.ActualStep = 10 ),PT := T#500MS);ÚInterfaceÛL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}ÜRFUNCTION_BLOCK ByteSwapPuzzleStateMachineÝVAR_IN_OUTÞ.	Client : PuzzleClient;ß"	ViewIndex : INT;àEND_VARáVARâ0	UM	: PACK_ML.UnitMode; ãj	xInit				: BOOL := FALSE; // Flag for initializationä(	overrideKey : BOOL;å6	puzzleTimer : PuzzleTimer;æ:	messageQueue : MessageQueue;ç&	LocalInByte :BYTE;è(	LocalOutByte :BYTE;é,	InByte AT %IB0: BYTE;ê(	ShadowInByte :BYTE;ë.	OutByte AT %QB0: BYTE;ì	ton  : TON;í	iRol:INT := 4;î	temp : BYTE;ï"UniqueIdGeneratorð932ñPOULevelòL{8e575c5b-1d37-49c6-941b-5c0ec7874787}óStandardô ChildObjectGuidsõ8System.Collections.ArrayListö,AddAttributeSubsequent÷boolÐÐ-ÐÐ	E
+ñÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­lÚÐ-ÐÐ
­eÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ŽÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­”ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­–ÚÐ-ÐÐ
­µÚÐ-ÐÐ
­´ÚÐ- ÐÐ
­¶ÚÐ-!ÐÐ
­·ÚÐ-"ÐÐ
­øÚÐ-#ÐÐ
­¯ÚÐ-$ÐÐ
­ÚÚÐ-%ÐÐ
­ªÚÐ-&ÐÐ
­«ÚÐ-'ÐÐ
­¬ÚÐ-(ÐÐ
­­ÚÐ-)ÐÐ
­¹ÚÐ-*ÐÐ
­ºÚÐ-+ÐÐ
­»ÚÐ-,ÐÐ
­¾ÚÐ--ÐÐ
­¿ÚÐ-.ÐÐ
­ÀÚÐ-/ÐÐ
­ÁÚÐ-0ÐÐ
­ÂÚÐ-1ÐÐ
­ÃÚÐ-2ÐÐ
­ÄÚÐ-3ÐÐ
­ÅÚÐ-4ÐÐ
­ÆÚÐ-5ÐÐ
­ÇÚÐ-6ÐÐ
­ÈÚÐ-7ÐÐ
­ÉÚÐ-8ÐÐ
­ÎÚÐ-9ÐÐ
­ÏÚÐ-:ÐÐ
­ÐÚÐ-;ÐÐ
­ÑÚÐ-<ÐÐ
­¼ÚÐ-=ÐÐ
­¸ÚÐ-$ÐÐ
­½ÚÐ->ÐÐ
­—ÚÐ-?ÐÐ
­ÓÚÐ-ÐÐ
­ÕÚÐ-@ÐÐ
­ÖÚÐ-AÐÐ
­×ÚÐ-BÐÐ
­•ÚÐ-ÐÐ
­‘ÚÐ-ÐÐ
­’ÚÐ-ÐÐ
­“ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­ÚÐ-EÐÐ
­ÚÐ-FÐÐ
­ÚÐ-EÐÐ
­ÚÐ-GÐÐ
­ÚÐ-EÐÐ
­ ÚÐ-HÐÐ
­¦ÚÐ-EÐÐ
­ŸÚÐ-IÐÐ
­ÚÐ-JÐÐ
­ÚÐ-KÐÐ
­ˆÚÐ-LÐÐ
­‰ÚÐ-MÐÐ
­ŠÚÐ-NÐÐ
­‹ÚÐ-OÐÐ
­ŒÚÐ-PÐÐ
­ÚÐ-QÐÐ
­‘ÚÐ-RÐÐ
­’ÚÐ-SÐÐ
­“ÚÐ-TÐÐ
­žÚÐ-UÐÐ
­ŸÚÐ-VÐÐ
­ ÚÐ-TÐÐ
­”ÚÐ-WÐÐ
­7ÚÐ-XÐÐ
­5ÚÐ->ÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­ ÚÐ-bÐÐ
­!ÚÐ-cÐÐ
­"ÚÐ-dÐÐ
­#ÚÐ-eÐÐ
­zÚÐ-LÐÐ
­{ÚÐ-MÐÐ
­|ÚÐ-NÐÐ
­}ÚÐ-OÐÐ
­~ÚÐ-PÐÐ
­ÚÐ-NÐÐ
­‚ÚÐ-RÐÐ
­„ÚÐ-SÐÐ
­…ÚÐ-fÐÐ
­šÚÐ-UÐÐ
­ÚÐ-VÐÐ
­œÚÐ-gÐÐ
­†ÚÐ-WÐÐ
­™ÚÐ-hÐÐ
­‡ÚÐ-iÐÐ
­QÚÐ-jÐÐ
­NÚÐ-kÐÐ
­DÚÐ-lÐÐ
­EÚÐ-mÐÐ
­FÚÐ-nÐÐ
­GÚÐ-oÐÐ
­HÚÐ-pÐÐ
­IÚÐ-qÐÐ
­JÚÐ-rÐÐ
­KÚÐ-sÐÐ
­LÚÐ-hÐÐ
­(ÚÐ-tÐÐ
­%ÚÐ-uÐÐ
­dÚÐ-LÐÐ
­eÚÐ-MÐÐ
­iÚÐ-NÐÐ
­kÚÐ-vÐÐ
­qÚÐ-wÐÐ
­fÚÐ-NÐÐ
­>ÚÐ-RÐÐ
­sÚÐ-SÐÐ
­¡ÚÐ-xÐÐ
­¢ÚÐ-UÐÐ
­£ÚÐ-VÐÐ
­@ÚÐ-yÐÐ
­CÚÐ-WÐÐ
­tÚÐ-NÐÐ
­=ÚÐ-kÐÐ
­)ÚÐ-zÐÐ
­*ÚÐ-{ÐÐ
­+ÚÐ-|ÐÐ
­,ÚÐ-}ÐÐ
­-ÚÐ-~ÐÐ
­.ÚÐ-ÐÐ
­/ÚÐ-€ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-hÐÐ
­'ÚÐ-‚ÐÐ
­&ÚÐ-hÐÐ
­ûÚÐ-?ÐÐ
­ùÚÐ-ÐÐ
­»ÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ƒÐÐ
­òÚÐ->ÐÐ
­óÚÐ-„ÐÐ
­÷ÚÐ-…ÐÐ
­ûÚÐ-†ÐÐ
­	ÚÐ-‡ÐÐ
­
ÚÐ-ˆÐÐ
­üÚÐ-‰ÐÐ
­úÚÐ-ŠÐÐ
­ËÚÐ-‹ÐÐ
­±ÚÐ-ŒÐÐ
­×ÚÐ-ÐÐ
­ØÚÐ-ŽÐÐ
­ÙÚÐ-ÐÐ
­ÚÚÐ-UÐÐ
­ÛÚÐ-ÐÐ
­ÜÚÐ-WÐÐ
­ÞÚÐ-‘ÐÐ
­ßÚÐ-’ÐÐ
­²ÚÐ-iÐÐ
­þÚÐ-kÐÐ
­ÿÚÐ-“ÐÐ
­¾ÚÐ-”ÐÐ
­¿ÚÐ-•ÐÐ
­ÁÚÐ-–ÐÐ
­ÃÚÐ-—ÐÐ
­½ÚÐ-iÐÐ
­ÆÚÐ-ÐÐ
­ÈÚÐ-˜ÐÐ
­ÉÚÐ-™ÐÐ
­ÊÚÐ-šÐÐ
­ËÚÐ-›ÐÐ
­ÇÚÐ-ŠÐÐ
­ÅÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­gÚÐ-žÐÐ
­ÚÐ-ŸÐÐ
­ºÚÐ- ÐÐ
­fÚÐ-¡ÐÐ
­"ÚÐ-UÐÐ
­#ÚÐ-¢ÐÐ
­$ÚÐ-WÐÐ
­}ÚÐ-hÐÐ
­ÚÐ-hÐÐ
­€ÚÐ-£ÐÐ
­ÚÐ-¤ÐÐ
­‚ÚÐ-¥ÐÐ
­ƒÚÐ-¦ÐÐ
­„ÚÐ-hÐÐ
­~ÚÐ-§ÐÐ
­%ÚÐ-¨ÐÐ
­&ÚÐ-©ÐÐ
­hÚÐ-ªÐÐ
­(ÚÐ-«ÐÐ
­)ÚÐ- ÐÐ
­iÚÐ-¡ÐÐ
­+ÚÐ-UÐÐ
­vÚÐ-¢ÐÐ
­-ÚÐ-WÐÐ
­…ÚÐ-hÐÐ
­‡ÚÐ-hÐÐ
­ˆÚÐ-£ÐÐ
­‰ÚÐ-¤ÐÐ
­ŠÚÐ-¥ÐÐ
­‹ÚÐ-¦ÐÐ
­ŒÚÐ-hÐÐ
­†ÚÐ-§ÐÐ
­.ÚÐ-¬ÐÐ
­/ÚÐ-­ÐÐ
­jÚÐ-ªÐÐ
­1ÚÐ-®ÐÐ
­2ÚÐ- ÐÐ
­kÚÐ-¡ÐÐ
­4ÚÐ-UÐÐ
­wÚÐ-¢ÐÐ
­6ÚÐ-WÐÐ
­ŽÚÐ-hÐÐ
­ÚÐ-£ÐÐ
­ÚÐ-¤ÐÐ
­‘ÚÐ-¥ÐÐ
­’ÚÐ-¦ÐÐ
­“ÚÐ-jÐÐ
­ÚÐ-§ÐÐ
­7ÚÐ-¯ÐÐ
­8ÚÐ-°ÐÐ
­lÚÐ-žÐÐ
­:ÚÐ-±ÐÐ
­;ÚÐ- ÐÐ
­mÚÐ-¡ÐÐ
­=ÚÐ-UÐÐ
­xÚÐ-¢ÐÐ
­?ÚÐ-WÐÐ
­•ÚÐ-hÐÐ
­–ÚÐ-£ÐÐ
­—ÚÐ-¤ÐÐ
­˜ÚÐ-¥ÐÐ
­™ÚÐ-¦ÐÐ
­šÚÐ-jÐÐ
­”ÚÐ-§ÐÐ
­@ÚÐ-²ÐÐ
­AÚÐ-³ÐÐ
­nÚÐ-žÐÐ
­CÚÐ-´ÐÐ
­DÚÐ- ÐÐ
­oÚÐ-¡ÐÐ
­FÚÐ-UÐÐ
­yÚÐ-¢ÐÐ
­HÚÐ-WÐÐ
­œÚÐ-hÐÐ
­ÚÐ-£ÐÐ
­žÚÐ-¤ÐÐ
­ŸÚÐ-¥ÐÐ
­ ÚÐ-¦ÐÐ
­¡ÚÐ-jÐÐ
­›ÚÐ-§ÐÐ
­IÚÐ-µÐÐ
­JÚÐ-¶ÐÐ
­pÚÐ-ªÐÐ
­LÚÐ-·ÐÐ
­MÚÐ- ÐÐ
­qÚÐ-¡ÐÐ
­OÚÐ-UÐÐ
­zÚÐ-¢ÐÐ
­¢ÚÐ-WÐÐ
­£ÚÐ-£ÐÐ
­¤ÚÐ-¤ÐÐ
­¥ÚÐ-¥ÐÐ
­¦ÚÐ-¦ÐÐ
­§ÚÐ-jÐÐ
­QÚÐ-§ÐÐ
­RÚÐ-¸ÐÐ
­SÚÐ-¹ÐÐ
­rÚÐ-ªÐÐ
­UÚÐ-ºÐÐ
­VÚÐ- ÐÐ
­sÚÐ-¡ÐÐ
­XÚÐ-UÐÐ
­{ÚÐ-¢ÐÐ
­ZÚÐ-WÐÐ
­©ÚÐ-hÐÐ
­ªÚÐ-£ÐÐ
­«ÚÐ-¤ÐÐ
­¬ÚÐ-¥ÐÐ
­­ÚÐ-¦ÐÐ
­®ÚÐ-jÐÐ
­¨ÚÐ-§ÐÐ
­[ÚÐ-»ÐÐ
­\ÚÐ-¼ÐÐ
­tÚÐ-½ÐÐ
­^ÚÐ-¾ÐÐ
­_ÚÐ- ÐÐ
­uÚÐ-¡ÐÐ
­aÚÐ-UÐÐ
­|ÚÐ-¢ÐÐ
­cÚÐ-WÐÐ
­dÚÐ-¿ÐÐ
­¤ÚÐ-ÀÐÐ
­ÚÐ-ÁÐÐ
­ÊÚÐ->ÐÐ
­ÉÚÐ-?ÐÐ
­ÀÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­´ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­¥ÚÐ-ÐÐ
­ªÚÐ-ÐÐ
­þÚÐ-ÂÐÐ
­ÚÐ-ÃÐÐ
­ÚÐ-ÄÐÐ
­ÚÐ-ÅÐÐ
­ÚÐ-ÆÐÐ
­ÚÐ-ÇÐÐ
­ÚÐ-ÈÐÐ
­ÚÐ-ÉÐÐ
­ÚÐ-ÊÐÐ
­ÚÐ-ÉÐÐ
­RÚÐ-ËÐÐ
­ ÚÐ-ÉÐÐ
­UÚÐ-ÌÐÐ
­!ÚÐ-ÉÐÐ
­WÚÐ-ÍÐÐ
­"ÚÐ-ÉÐÐ
­[ÚÐ-ÎÐÐ
­#ÚÐ-ÉÐÐ
­	ÚÐ-ÏÐÐ
­gÚÐ-ÐÐ
­ÚÐ-ÐÐ
­fÚÐ-ÐÐÐ
­YÚÐ-ÐÐ
­ZÚÐ-ÑÐÐ
­[ÚÐ-ÒÐÐ
­\ÚÐ-ÓÐÐ
­ÚÐ-ÐÐ
­VÚÐ-ÐÐ
­ÚÐ-ÔÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÕÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÖÐÐ
­4ÚÐ-ÐÐ
­ÚÐ-×ÐÐ
­8ÚÐ-ØÐÐ
­7ÚÐ-ÐÐ
­âÚÐ-ÐÐ
­ãÚÐ-ÐÐ
­ÚÐ-ÐÐ
­áÚÐ-ÐÐ
­àÚÐ-ÙÐÚÛÐ	E
+ÐÐ
­$ÚÐ-ÜÐÐ
­%ÚÐ-ÝÐÐ
­&ÚÐ-ÞÐÐ
­ÚÐ-ßÐÐ
­*ÚÐ-àÐÐ
­+ÚÐ-áÐÐ
­XÚÐ-âÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-ãÐÐ
­/ÚÐ-ÐÐ
­0ÚÐ-ÐÐ
­ÚÐ-äÐÐ
­ÚÐ-ÐÐ
­1ÚÐ-åÐÐ
­•ÚÐ-æÐÐ
­–ÚÐ-ÐÐ
­2ÚÐ-çÐÐ
­ŒÚÐ-èÐÐ
­ÚÐ-éÐÐ
­ÚÐ-êÐÐ
­‘ÚÐ-ëÐÐ
­’ÚÐ-ÐÐ
­ÌÚÐ-ìÐÐ
­ÚÐ-íÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-îÐÐ
­ŽÚÐ-ÐÐ
­3ÚÐ-àÐÐ
­ÚÐ-Ðï-ðÐñò-óôõÐö÷­
\ No newline at end of file