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 |