Diff of /branches/PackMLState/Display_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/ByteSwapPuzzleStateMachine/svnobj [r25] .. [r26]  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,6 +1,7 @@
-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}
+Gx_l
+^!0…jüo¡7ɹª¥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
+			;	$		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.Media ,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;“
 		15:”4			IF CheckSolution() THEN•`				Client.ActualStep := Client.ActualStep + 5;	–			ELSE—f				Client.ActualStep := Client.ActualStep - 5;				˜h			IF NOT DI_Key_switch AND NOT overrideKey THEN				™6				Client.ActualStep := 0;š&				ViewIndex := 1;›6				// Turn off the screen.œ
 		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	¨