Obsidean_VM/04-InLavoro/22 - 9.3841 - Sidel - Tilting/Software/FC622 - FC Scale Speed wGap.md

723 B

IF #Speed>#IN_MAX THEN
    #Speed := #IN_MAX;
END_IF;
IF #Speed<#IN_MIN THEN
    #Speed := #IN_MIN;
END_IF;

#Scaled := ((#Speed-#IN_MIN)/(#IN_MAX-#IN_MIN))*(#OUT_MAX-#OUT_MIN)+#OUT_MIN;

IF #Scaled>#OUT_MAX THEN
    #Scaled := #OUT_MAX;
END_IF;
IF #Scaled<#OUT_MIN THEN
    #Scaled := #OUT_MIN;
END_IF;

IF #"Bottle Diameter" = 0 OR #Step = 0 THEN
    #"Bottle Diameter" := 1.0;
    #Step := 1.0;
END_IF;

IF #Type = #"Scaled Speed" THEN
    #"Speed Scaled" := #Scaled;
ELSIF #Type = #"Scaled for Doser" THEN
    #"Speed Scaled" := #Scaled * (#"Bottle Diameter" / #Step);
ELSIF #Type = #"Scaled with gap" THEN
    #"Speed Scaled" := #Scaled * (#Step / #"Bottle Diameter");
ELSE
    #"Speed Scaled" := 0.0;
END_IF;