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

Тема: Помогите разобраться с АНР ФБ APID_PWM библиотеки Pid_reg2

  1. #1

    По умолчанию Помогите разобраться с АНР ФБ APID_PWM библиотеки Pid_reg2

    ПЛК73. ФБ APID_PWM. Задаю уставку 300 пытаюсь выполнить АНР. Что по моему мнению должно произойти: Мощность на выходе 100% и нагрев до Температуры = (SP-PV_0)*0.8+PV_0 т.е (300-15)*0,8+15 = 243. При 243 градусах выходная мощность должна упасть в 0 и регулятор должен замерить насколько "улетит" температура потом ждет пока температура опустится до 243 и регулятор должен перейти в рабочий режим.
    Что имею по факту: в печи 130, задаю уставку 300. Старт АНР. Мощность на выходе 100%. Пошел нагрев.
    В печи 243, мощность на выходе 100%, нагрев продолжается
    В печи 300, мощность на выходе 100%, нагрев продолжается
    В печи 400, мощность на выходе 100%, нагрев продолжается
    В печи 449, мощность на выходе 100%, нагрев продолжается
    В печи 450, максимум для этой печи, аварийная остановка.
    Не могу понять, что я не так делаю. Прошу помогите разобраться.
    Скриншот 2014-05-21 21.24.45.png
    Изображения Изображения

  2. #2

    По умолчанию

    Почему то вставился еще один скрин, поэтому спрошу сразу
    Так же не могу разобраться с GET_APID_PWM и SET_APID_PWM
    Все переменные xp, td и так далее по списку загнал в Retain. Когда АНР выполняется там есть значения, после перезагрузки там опять 0. Возможно конечно это из за того, что АНР не выполняется до конца.

  3. #3

    По умолчанию

    попробуй при объявлении переменных в Retain дописать директиву компилятора {falg noinit}
    VAR_GLOBAL RETAIN
    MAIN :MAIN_MODBUS {flag noinit};
    BOILER :ARRAY [1..2] OF BOILER_MODBUS {flag noinit};
    END_VAR


    Q: Чем отличаются переменные-марекры (%M) от переменных VAR_RETAIN? В документации сказано, что и те и другие сохраняются в NVRAM, но у меня значение маркера обнуляется при перезапуске.
    A: Переменные в M-памяти имеют такие же свойства, как и RETAIN переменные. Однако, при запуске программы их значения инициализируются нулями, если не указано другого значения для инициализации. Избежать инициализации можно с помощью инструкции {flag noinit}. Примеры:

    VAR
    a AT %MW0: INT {flag noinit};
    b : INT {flag noinit};
    END_VAR

    {flag noinit on}
    VAR
    a AT %MW0: INT;
    b : INT;
    END_VAR
    {flag off}
    Последний раз редактировалось AlexPC1; 15.09.2014 в 17:40.

Похожие темы

  1. Помогите разобраться...
    от kosmas в разделе ПЛК1хх
    Ответов: 85
    Последнее сообщение: 30.09.2014, 09:16
  2. Помогите разобраться...
    от xaker_tm в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 08.02.2010, 17:33
  3. помогите с фб если он есть .
    от Raf01 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 29.09.2009, 13:30
  4. Помогите разобраться !!
    от viking в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 21.11.2007, 14:31

Ваши права

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