Показано с 1 по 10 из 11

Тема: Не работает функциональный блок PID из стандартной библиотеки Util.lib - Контроллеры

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

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

    По умолчанию Не работает функциональный блок PID из стандартной библиотеки Util.lib - Контроллеры

    Использую среду программирования Codesys v.2.3 для программирования ПЛК ОВЕН 110.60(М02).
    Использую функциональный блок ПИД-регулирования из стандартной библиотеки Util.lib.
    Во время работы программы переменная ПИД-регулятора ctu_PID.Y всегда равна 0, хотя согласно пред-настройкам входных переменных должна принимать другое значение. Кто-нибудь может проверить код выложенный ниже и объяснить мне как правильно подключать функциональные блоки из библиотек Codesys?

    PHP код:
    PROGRAM PLC_PRG
    VAR CONSTANT
        Curr_SetPoint
    REAL := 12.5;
        
    Low_Pressure_SetREAL := 10.0;
        
    High_Pressure_SetREAL := 15.0;
    END_VAR
     
    VAR
        
    ctu_PIDPID;
        
    Curr_Dif_PressureREAL;
        
    TmpREAL;
        
    Is_Door_OpenBOOL;
    END_VAR
     
    Moving1 
    := Moving2 := 1;
    Moving3 := Moving4 := Moving5 := 2;
    Is_Door_Open := FALSE;
    Curr_Dif_Pressure := 8.6;
    ctu_PID.ACTUAL := Curr_Dif_Pressure;
    ctu_PID.SET_POINT := Curr_SetPoint;
    ctu_PID.Y_MIN := 0.0;
    ctu_PID.Y_MAX := 1000;
    Tmp := ctu_PID.Y;
    IF(
    ctu_PID.OVERFLOW )
    THEN
        ctu_PID
    .RESET := TRUE;
    END_IF;
    IF 
    NOTIs_Door_Open)
    THEN
        
    IF(Curr_Dif_Pressure Low_Pressure_Set)
        
    THEN
                Frequency1 
    := REAL_TO_WORD(Tmp);
                
    Frequency2 := REAL_TO_WORD(Tmp);
                
    Frequency3 := 0;
                
    Frequency4 := 0;
                
    Frequency5 := 0;
        
    ELSIF(Curr_Dif_Pressure High_Pressure_Set)
        
    THEN
                Frequency1 
    := 0;
                
    Frequency2 := 0;
                
    Frequency3 := REAL_TO_WORD(Tmp);
                
    Frequency4 := REAL_TO_WORD(Tmp);
                
    Frequency5 := REAL_TO_WORD(Tmp);
        ELSE
                
    Frequency1 := 300;
                
    Frequency2 := 0;
                
    Frequency3 := 300;
                
    Frequency4 := 300;
                
    Frequency5 := 0;
        
    END_IF;
    ELSE
        
    Frequency1 := 300;
        
    Frequency2 := 0;
        
    Frequency3 := 300;
        
    Frequency4 := 300;
        
    Frequency5 := 0;
    END_IF
    В ручном режиме ПИД-регулятор также не работает(скриншот ниже)
    Изображения Изображения

Похожие темы

  1. Ответов: 10
    Последнее сообщение: 12.09.2019, 11:54
  2. Функциональный блок PID
    от Hemann в разделе Программируемые реле
    Ответов: 78
    Последнее сообщение: 04.05.2017, 08:57
  3. Начинающий: Пид регулятор из библиотеки Util
    от Dimooon в разделе Эксплуатация
    Ответов: 65
    Последнее сообщение: 16.07.2014, 22:04
  4. LD + функциональный блок
    от дрю в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 26.04.2014, 09:47

Ваши права

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