Не компилируется код: "Ошибка 4010: Несоответствие типов: невозможно преобразовать '9000' в 'TIME'''.
Ошибка в строке: "Timer.TIME_IN := 9000;".
Подскажите, пжл, как правильно задать переменную типа TIME?
PHP код:
PROGRAM PLC_PRG
VAR CONSTANT
Low_Setpoint : INT := 10;
High_Setpoint : INT := 15;
END_VAR
VAR
BoilersOn : INT;
Timer: WAIT;
END_VAR
Moving1 := 1;
Moving2 := 1;
Moving3 := 2;
Moving4 := 2;
Moving5 := 2;
BoilersOn := 0;
IF (Is_Boiler1) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler2) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler3) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler4) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler5) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler6) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler7) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler8) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler9) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler10) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler11) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler12) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler13) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler14) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler15) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler16) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler17) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler18) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler19) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler20) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler21) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler22) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler23) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler24) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler25) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler26) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler27) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler28) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler29) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler30) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF (Is_Boiler31) THEN
BoilersOn := BoilersOn + 1;
END_IF
IF NOT (Is_Door_Open) THEN
IF (Curr_Pressure <= Low_Setpoint ) THEN
IF(BoilersOn <= 10) THEN
Frequency2 := 2500;
ELSIF(BoilersOn > 10) AND (BoilersOn <= 20) THEN
Frequency2 := 5000;
ELSE
Frequency2 := 7500;
END_IF
Frequency1 := 7500;
Frequency3 := 0;
Frequency4 := 0;
Frequency5 := 0;
ELSIF (Curr_Pressure > Low_Setpoint ) AND (Curr_Pressure <= High_Setpoint ) THEN
Frequency1 := 7500;
Frequency2 := 0;
Frequency3 := 7500;
Frequency4 := 7500;
Frequency5 := 0;
ELSE
IF(BoilersOn <= 10) THEN
Frequency5 := 2500;
ELSIF(BoilersOn > 10) AND (BoilersOn <= 20) THEN
Frequency5 := 5000;
ELSE
Frequency5 := 7500;
END_IF
Frequency1 := 0;
Frequency2 := 0;
Frequency3 := 7500;
Frequency4 := 7500;
END_IF
ELSE
Timer.TIME_IN := 9000;
Frequency1 := 7500;
Frequency2 := 0;
Frequency3 := 7500;
Frequency4 := 7500;
Frequency5 := 0;
END_IF
PHP код:
FUNCTION_BLOCK WAIT
VAR_INPUT
TIME_IN: TIME;
END_VAR
VAR_OUTPUT
OK: BOOL := FALSE;
END_VAR
VAR
ZAB: TP;
END_VAR
LD ZAB.Q
JMPC mark
CAL ZAB(IN := FALSE)
LD TIME_IN
ST ZAB.PT
CAL ZAB(IN := TRUE)
JMP END
mark:
CAL ZAB
end:
LDN ZAB.Q
ST OK
RET