75 lines
1.5 KiB
Markdown
75 lines
1.5 KiB
Markdown
```pascal
|
|
// Block Type: FC
|
|
// Block Number: 1851
|
|
// Original Network Languages: LAD
|
|
|
|
FUNCTION "_StepMove" : Void
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_INPUT
|
|
Next_Step : Int;
|
|
Preset_Timer : Int;
|
|
Condition_1_OK : Bool;
|
|
Condition_2_OK : Bool;
|
|
Wait : Bool;
|
|
TimeClockBase : Bool;
|
|
Reset : Bool;
|
|
END_VAR
|
|
|
|
VAR_INOUT
|
|
Step_Number : Int;
|
|
Actual_Time : Int;
|
|
Step_Transition : Bool;
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
Delay_Request : Bool;
|
|
Local_Time : Int;
|
|
Condition_Ok : Bool;
|
|
End_Timer : Bool;
|
|
DecSec_ONS : Bool;
|
|
Reset_Act_Delay : Bool;
|
|
End_Temp : Bool;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: SET TIMER (Original Language: LAD)
|
|
|
|
"Delay_Request" := Ne("Preset_Timer", 0);
|
|
|
|
// Network 2: (Original Language: LAD)
|
|
|
|
SEL_I(G := "Delay_Request", IN0 := 1, IN1 := "Preset_Timer");
|
|
|
|
// Network 3: (Original Language: LAD)
|
|
|
|
"Condition_Ok" := "Condition_1_OK" AND "Condition_2_OK";
|
|
|
|
// Network 4: (Original Language: LAD)
|
|
|
|
SEL_I(G := "Step_Transition", IN0 := "Step_Number", IN1 := "Next_Step");
|
|
|
|
// Network 5: SET TIMER (Original Language: LAD)
|
|
|
|
T_Timer(Actual := "Actual_Time", Base := "TimeClockBase", Preset := "Local_Time", Reset := "Reset", Start := "Step_Transition" AND "Condition_Ok", Stop := "Wait");
|
|
|
|
// Network 6: (Original Language: LAD)
|
|
|
|
IF "Step_Transition" THEN
|
|
"Condition_Ok" := FALSE;
|
|
END_IF;
|
|
|
|
IF "Step_Transition" THEN
|
|
"Step_Transition" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 7: (Original Language: LAD)
|
|
|
|
"Step_Transition" := "Condition_Ok" AND "End_Timer";
|
|
|
|
END_FUNCTION
|
|
|
|
```
|