IF NOTbInitTHEN

V101op:= FALSE;

P101on:= TRUE;

LS101negEdge(CLK:= LS101neg);

IF LS101negEdge.Q THEN

bInit := TRUE;

ActVolFluid := 0; // SHM

END_IF

ELSE

// Refilling Tank 101

IF NOT LS101pos ANDbRefillTHEN

V101op := TRUE;

P101on := FALSE;

END_IF

ActVolFluid:=ActVolFluid + FI101in * CycleTime - FI101out * CycleTime; // SHM

IF ((ActVolFluid / AreaTank) >= VertPosLSpos) THEN // SHM

SoftSensor := TRUE; // SHM

END_IF // SHM

// Emptying Tank 101

IF LS101pos (*SHM*)ORSoftSensor(*SHM*)THEN // SHM

bRefill := FALSE;

V101op := FALSE;

P101on := TRUE;

SensFail :=NOT LS101pos ANDSoftSensor; // SHM

END_IF

// Detecting Empty Tank 101

LS101negEdge(CLK := LS101neg);

IF LS101negEdge.Q THEN

bRefill := TRUE;

ActVolFluid := 0; // SHM

END_IF

END_IF