Obsidean_VM/04-SIDEL/06 - E5.007363 - Modifica O.../Source/source/CIPLocal_ProgStepDown.md

1.2 KiB

FUNCTION "CIPLocal_ProgStepDown" : Void
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.0

BEGIN
	
	
	IF "CIP_Program_Variables".General_Data.ActualSimpleNum >= 1 THEN
	    IF "CIP_Program_Variables".General_Data.ActualStepNum > 1 THEN
	        IF "CIP_Program_Variables".General_Data.StepActualTime <= 0 THEN
	            "CIP_Program_Variables".General_Data.ActualStepNum := "CIP_Program_Variables".General_Data.ActualStepNum - 1 ;
	        END_IF ;
	    ELSIF "CIP_Program_Variables".General_Data.ActualSimpleNum > 1 THEN
	        "CIP_Program_Variables".General_Data.ActualSimpleNum := "CIP_Program_Variables".General_Data.ActualSimpleNum - 1 ;
	        "CIP_Program_Variables".General_Data.ActualStepNum := "CIP_Program_Variables".General_Data.CIPMaxStepNum ;
	        "CIP_Program_Variables".General_Data.StepActualTime := 0 ;
	    END_IF ;
	END_IF ;
	
	IF "CIP_Program_Variables".General_Data.ActualSimpleNum = 1 AND "CIP_Program_Variables".General_Data.ActualStepNum = 1 THEN
	    "CIP_Program_Variables".Status.Inizialized := TRUE ;
	ELSE
	    "CIP_Program_Variables".Status.Inizialized := FALSE ;
	END_IF ;
	
	IF "CIP_Program_Variables".Status.Completed THEN
	    "CIP_Program_Variables".Status.Completed := FALSE ;
	END_IF ; 
	
END_FUNCTION