Показано с 1 по 4 из 4

Тема: Ошибка 4010: Несоответствие типов: невозможно преобразовать '9000' в 'TIME'???

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Ошибка 4010: Несоответствие типов: невозможно преобразовать '9000' в 'TIME'???

    Не компилируется код: "Ошибка 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;
            
    TimerWAIT;
    END_VAR

    Moving1 
    := 1;
    Moving2 := 1;
    Moving3 := 2;
    Moving4 := 2;
    Moving5 := 2;
    BoilersOn := 0;
    IF (
    Is_Boiler1THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler2THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler3THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler4THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler5THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler6THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler7THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler8THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler9THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler10THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler11THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler12THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler13THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler14THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler15THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler16THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler17THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler18THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler19THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler20THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler21THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler22THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler23THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler24THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler25THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler26THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler27THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler28THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler29THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler30THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF
    IF (Is_Boiler31THEN
            BoilersOn 
    := BoilersOn 1;
    END_IF

    IF  NOT (Is_Door_OpenTHEN
            
    IF (Curr_Pressure <= Low_Setpoint THEN
                    
    IF(BoilersOn <= 10THEN
                             Frequency2 
    := 2500;
                    
    ELSIF(BoilersOn 10) AND (BoilersOn <= 20THEN
                             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 <= 10THEN
                            Frequency5 
    := 2500;
                    
    ELSIF(BoilersOn 10) AND (BoilersOn <= 20THEN
                            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
            
    ZABTP;
    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 
    Последний раз редактировалось Дмитрий_Кирсанов; 13.04.2017 в 10:10.

Похожие темы

  1. Как преобразовать TIME в SYSDATETIME?
    от Ivan77 в разделе СПК1хх
    Ответов: 6
    Последнее сообщение: 13.08.2016, 11:37
  2. Арлан-9000-1RS232
    от Алексей А. в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 25.05.2009, 16:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •