46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
|
|
```
|
|
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;
|
|
```
|
|
|
|
|
|
```pascal
|
|
|
|
IF #"Bottles From Start Infeed" < #"Fixed Paramters"."Number of Slots on Main Chain" / 4 OR #Status."Low Speed" THEN
|
|
#Status."Chain Request Speed" := #Recipe."Low Speed";
|
|
ELSIF #Status."High Speed" AND #"Bottles From Start Infeed" > #"Fixed Paramters"."Number of Slots on Main Chain" THEN
|
|
#Status."Chain Request Speed" := #Recipe."Over Speed";
|
|
ELSE
|
|
#Status."Chain Request Speed" := #Recipe."Production Speed";
|
|
END_IF;
|
|
|
|
``` |