Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: ПИД-регулятор с релейным выходом.

  1. #11

    По умолчанию

    Добрый день!

    Вы используете ПЛК63/73?
    Если да, то ознакомились ли Вы с описанием этой библиотеки?
    Файл описания приложен к посту.

    Если же Вы используете ПЛК1хх, то эта библиотека в них не поддержана. Для этой серии контроллеров предусмотрена библиотека Pid_Regulators. Скачать можно по ссылке.

    Ниже представлены ответы на Ваши вопросы:
    Цитата Сообщение от nordth Посмотреть сообщение
    1. Pv_Time: взял прямо с модуля ввода через ModBus с Register Input Module под номером 3, для первого канала. Это правильно?
    Какой модуль вывода Вы используете?
    В этот параметр Вы должны передавать циклическое время измерения значения в канале.

    Цитата Сообщение от nordth Посмотреть сообщение
    2. Если не использую быстрый выход на уставку RAMP:=FALSE, то что ставить в параметре DYX?
    Оставьте равным "0". Он не будет задействован.

    Цитата Сообщение от nordth Посмотреть сообщение
    3. Что ставить в параметре PV_0?
    Значение измеряемой величины в момент ДО начала работы генератора.
    Т.е. перед запуском ПИД-регулятора Вы фиксируете значение измеряемой величины и передаете на этот вход, не меняя его в процессе работы блока до следующего запуска.


    Цитата Сообщение от nordth Посмотреть сообщение
    4. На вход START_ANR просто подаю значение с выхода блока ANR_WORK правильно?
    Нет. На этот вход Вы должны подать высокий уровень для того, чтобы блок перешел в режим автонастройки.
    У блока APID_PWM режим автонастройки встроенный.

    Цитата Сообщение от nordth Посмотреть сообщение
    5. Ручной режим не используется Y_MAN_SET:=FALSE, что делаем с Y_MANUAL?
    По аналогии с п.2, можете оставить по умолчанию - "0".

    Цитата Сообщение от nordth Посмотреть сообщение
    6. Правильно ли установлены PMAX и PMIN?
    PMAX и PMIN установлены верно.

    Цитата Сообщение от nordth Посмотреть сообщение
    Правильно ли организовано управление дискретным исполнительным устройством ten от выхода типа REAL APID1.Y?
    Нет, не верно.
    В данном случае ПИД-регулятор будет выдавать число типа REAL, соответствующее значению выходной мощности, необходимой для поддержания изменяемой величины на уровне уставки.
    По Вашему же коду, ТЕН отключится только когда регулятор полностью сбросит выходное воздействие.
    По логике работы ПИД-регулятора, такое произойдет только при крайнем перерегулировании.

    Если Ваш ТЭН может работать в режиме ШИМ (постоянно и часто включаться/выключаться), то Вам необходимо просто связать физический выход ПЛК и выход ФБ регулятора.

    Цитата Сообщение от nordth Посмотреть сообщение
    7. Вход XN, это т. н. гитерезис?
    Это т.н. зона нечувствительности.
    Например, вы задали уставку в 30 градусов и 2 градуса на зону нечувствительности. Регулятор не будет менять выходную мощность на отметках от 29 градусов до 31 градуса.
    Этот параметр необходим для того, чтобы регулятор не реагировал на мелкие колебания температуры.

    Цитата Сообщение от nordth Посмотреть сообщение
    Для чего нужны блоки SET_APID и GET_APID и нужно ли мне их использовать и если нужно то для чего? Просто хочу понимать до конца суть.
    Блоки GET получают текущие настройки регулятора.
    Блоки SET, соответственно, могут записывать настройки в ФБ регулятора.

    Эти блоки нужны для того, чтобы пользователь имел возможность сохранять настройки регулятора в энергонезависимой памяти ПЛК.
    Для этого в каждом цикле ПЛК через блок GET настройки регулятора дублируются в энергонезависимые переменные.
    А при включении ПЛК через блок SET сохраненные ранее настройки записываются обратно в регулятор.
    Вложения Вложения
    Последний раз редактировалось Зинько Владислав; 06.08.2018 в 17:53.

  2. #12

    По умолчанию

    Цитата Сообщение от Зинько Владислав Посмотреть сообщение
    Добрый день!

    Вы используете ПЛК63/73?
    Если да, то ознакомились ли Вы с описанием этой библиотеки?
    Файл описания приложен к посту.

    Если же Вы используете ПЛК1хх, то эта библиотека в них не поддержана. Для этой серии контроллеров предусмотрена библиотека Pid_Regulators. Скачать можно по ссылке.
    Использую ПЛК 110. Следовательно pid_reg2 мне нельзя брать получается? В моем распоряжении только библиотека Pid_Regulators? И самый подходящий вариант как я понимаю PID_2POS_IM_ANR?

    Ниже представлены ответы на Ваши вопросы:

    Цитата Сообщение от Зинько Владислав Посмотреть сообщение
    Какой модуль вывода Вы используете?
    В этот параметр Вы должны передавать циклическое время измерения значения в канале.
    МВ 110-224. Беру температуру с регистров 4-5, следовательно Pv_Time: это с регистра 3 Register Input Module прямо и без всяких преобразований?

    Цитата Сообщение от Зинько Владислав Посмотреть сообщение
    Если Ваш ТЭН может работать в режиме ШИМ (постоянно и часто включаться/выключаться), то Вам необходимо просто связать физический выход ПЛК и выход ФБ регулятора.
    А как же разница типов, физические выходы ПЛК имеют тип BOOL, а выход регулятора или REAL или WORD?

    Остальные вопросы тогда пока оставлю до выяснения с библиотекой.

    Спасибо.
    Последний раз редактировалось nordth; 07.08.2018 в 01:55.

  3. #13
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    nordth
    1. В пакете библиотек OSCAT есть преобразователь значения REAL в ШИМ (выход BOOL) с настраиваемым периодом.
    2. Если использовать модуль дискретных выходов МУ110-8(16), то преобразовав выход ПИД-регулятора из REAL (0..1) в WORD (0-1000) можно можно направить в определенные регистры этого модуля, и модуль сам будет отрабатывать ШИМ. Период (цикл) ШИМ в таком случае настраивается в конфигураторе модуля.

  4. #14

    По умолчанию

    Цитата Сообщение от nordth Посмотреть сообщение
    Использую ПЛК 110. Следовательно pid_reg2 мне нельзя брать получается? В моем распоряжении только библиотека Pid_Regulators? И самый подходящий вариант как я понимаю PID_2POS_IM_ANR?
    Да, совершенно верно.
    Назначение блока APID_PWM схоже с PID_2POS_IM_ANR.

    Цитата Сообщение от nordth Посмотреть сообщение
    МВ 110-224. Беру температуру с регистров 4-5, следовательно Pv_Time: это с регистра 3 Register Input Module прямо и без всяких преобразований?
    Вы не указали полную маркировку модуля, но если Вы используете МВ110-8А, то да, верно.
    Считываете без всяких преобразований.

  5. #15

    По умолчанию

    Спасибо, пока что вопросов больше нет.

  6. #16

    По умолчанию

    Итак, продолжил делать задуманное и вот что получил, был бы благодарен, если бы проверили и внесли бы критику, правильно ли все по входным переменным блока PID у меня сделано?

    Объявление:
    APID: PID_2POS_IM_ANR;
    period: UINT := 1000; (* ms *)

    Код:

    APID(PV:=trmp, PV_TIME:= ptm1, SP:=SetPoint, START_ANR:=TRUE, YDOP:=2, _IMIN:=-1, _IMAX:=1);
    ten:= TIME_TO_DWORD(TIME()) MOD period < APID.OUT_VAL * period;

    К сожалению блоком PWM_PW из библиотеки OSCAT воспользоваться не представляется возможным, так как OSCAT конфликтует с библиотекой СМС которая мне необходима. Называется "повезло". ((( Поэтому взял конструкцию по ШИМ из реал с просторов этого же форума. Подойдет ли такое решение?

  7. #17
    Пользователь Аватар для A.Simonov
    Регистрация
    11.07.2017
    Адрес
    Москва
    Сообщений
    623

    По умолчанию

    Цитата Сообщение от nordth Посмотреть сообщение
    Итак, продолжил делать задуманное и вот что получил, был бы благодарен, если бы проверили и внесли бы критику, правильно ли все по входным переменным блока PID у меня сделано?

    Объявление:
    APID: PID_2POS_IM_ANR;
    period: UINT := 1000; (* ms *)

    Код:

    APID(PV:=trmp, PV_TIME:= ptm1, SP:=SetPoint, START_ANR:=TRUE, YDOP:=2, _IMIN:=-1, _IMAX:=1);
    ten:= TIME_TO_DWORD(TIME()) MOD period < APID.OUT_VAL * period;

    К сожалению блоком PWM_PW из библиотеки OSCAT воспользоваться не представляется возможным, так как OSCAT конфликтует с библиотекой СМС которая мне необходима. Называется "повезло". ((( Поэтому взял конструкцию по ШИМ из реал с просторов этого же форума. Подойдет ли такое решение?
    Добрый день.

    Разъясните содержание этой строки.
    ten:= TIME_TO_DWORD(TIME()) MOD period < APID.OUT_VAL * period;
    Чем Вам не нравится встроенный в ПЛК модуль ШИМ?
    РП страницы 75-76
    http://www.owen.ru/uploads/rp_plk110.160.pdf

    Александр Андреевич Симонов
    Инженер по продуктам «ПЛК, модули и OwenCloud»

    Не работаю в ОВЕН с 01.07.22
    По всем вопросам обращайтесь на почту: support@owen.ru

  8. #18

    По умолчанию

    Цитата Сообщение от A.Simonov Посмотреть сообщение
    Добрый день.
    Чем Вам не нравится встроенный в ПЛК модуль ШИМ?
    РП страницы 75-76
    http://www.owen.ru/uploads/rp_plk110.160.pdf
    Заняты 3 из 4-х быстрых выходов, а перевод на ШИМ осуществляется целиком для блока выходов, поэтому нужно именно какое то программное решение.

  9. #19

    По умолчанию

    Нашел еще одно программное решение, именно для этого блока PID регулятора (не мое). Оно мне более понятно почти, кроме одного, как так удалось скрестить REAL и TIME переменные?

    Объявления:
    period: TIME:=t#5s; (*Период ШИМ*)
    blinker: BLINK;


    Код:
    IF PID.OUT_VAL>0 THEN
    imp_on:= PID.OUT_VAL*period/100; (*Длина импульса на включение*)
    ELSE imp_on:=0;
    END_IF

    imp_off:= period - imp_on; (*Длина импульса на отключение*)

    blinker(ENABLE:=TRUE, TIMELOW:=imp_off, TIMEHIGH:=imp_on, OUT=> heater);

  10. #20

    По умолчанию

    Лично мне видится что в данном решении не хватает просто преобразований.

    Проверьте пожалуйста, если не трудно, правильно ли так?

    Объявления:
    period: TIME:=t#5s; (*Период ШИМ*)
    blinker: BLINK;


    Код:
    IF PID.OUT_VAL>0 THEN
    imp_on:= REAL_TO_TIME(PID.OUT_VAL*TIME_TO_REAL(period)/100)); (*Длина импульса на включение*)
    ELSE imp_on:=REAL_TO_TIME(0); (*или T#0s*)
    END_IF

    imp_off:= period - imp_on; (*Длина импульса на отключение*)

    blinker(ENABLE:=TRUE, TIMELOW:=imp_off, TIMEHIGH:=imp_on, OUT=> heater);

    Спасибо.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Ответов: 56
    Последнее сообщение: 23.06.2016, 10:07
  2. Помогите подобрать регулятор с выходом 0-5 мА.
    от rocky7 в разделе Подбор Оборудования
    Ответов: 1
    Последнее сообщение: 13.02.2014, 05:14
  3. Датчик с диф. выходом 0-10В
    от antonsaitov в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 23.10.2012, 14:48
  4. Датчик с выходом 0...10В
    от Сергей С.С. в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 13.08.2012, 09:58
  5. Коммутация релейным выходом катушки на 380В
    от Why? в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 25.03.2012, 11:33

Метки этой темы

Ваши права

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