Страница 74 из 74 ПерваяПервая ... 2464727374
Показано с 731 по 738 из 738

Тема: Обсуждение макросов для OWEN Logic

  1. #731

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    В 2016 при изучении Owen Logic и готовых примеров управления насосными группами скачал этот макрос.

    Сейчас успешно открыл его из отправленного архива в OL 2.5.342.0.

    Сегодня работоспособность не проверял.

    Почему он не работает? Он изначально был некорректным? Тогда удалю его, чтобы не сбивать других...
    То, что вы выложили выше открывается чёрным экраном с маленькой белой точкой, никакого макроса там нет, попробуйте выложить макрос с другим именем,
    если он у вас есть ( хоть 1 впереди припишите)
    Последний раз редактировалось kondor3000; 27.01.2024 в 10:59.

  2. #732

    По умолчанию

    Прошу прощения - именно загрузку из собственного сообщения не проверял.

    Попробовал удалить и загрузить rar архив - не могу считать из сообщения.
    Загрузил owl - и, о чудо, могу скачать из сообщения.

    Обновил сообщение, теперь можно скачать

    Видимо, это какая-то проблема форума.

    Может, после исправления, и из исходного сообщения можно будет скачать этот и другие макросы...

    Как-то не пришло в голову перепроверять прикреплённый файл на скачивание.

    Спасибо.
    Последний раз редактировалось FPavel; 27.01.2024 в 12:00.

  3. #733

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    А вторую строчку прочитать? Уже не смогли?
    смог) но было бы удобно. Еще то что оказывается есть старые и новые ПЧВ. В новых номера регистров иные и они ни в каких РЭ не прописаны. Благо что есть OPS сервер.
    Вы не могли бы подсказать что означает - "статус не определен" в OPS когда пытаюсь считать регистры с ПР205. Хотя все выставлено верно. И пробовал разные варианты и настройки

  4. #734

    По умолчанию

    Цитата Сообщение от Константин81 Посмотреть сообщение
    смог) но было бы удобно. Еще то что оказывается есть старые и новые ПЧВ. В новых номера регистров иные и они ни в каких РЭ не прописаны. Благо что есть OPS сервер.
    Вы не могли бы подсказать что означает - "статус не определен" в OPS когда пытаюсь считать регистры с ПР205. Хотя все выставлено верно. И пробовал разные варианты и настройки
    Вы бы хоть скрины сделали и подробней написали, что и куда передаёте.
    Последний раз редактировалось kondor3000; 28.01.2024 в 17:35.

  5. #735

    По умолчанию

    Поделюсь макросом ПИ (урезанный ПИД) регулятора для привода с 3-позиционным управлением без обратной связи по положению.

    Проверил его на одном объекте - регулировка температуры подачи теплосети при помощи смесительного клапана после гидравлического разделителя.
    Т.е. процесс инерционный, время полного хода привода 60 с.

    Понадобился такой, а на форуме предлагают или "аналоговый" ПИД с управлением по псевдо-обратной связи от математической модели привода или выход "аналогового" регулятора перерабатывают в ШИМ.

    По формуле из РЭ ТРМ12 получил приращение выхода на каждом шаге пересчёта регулятора
    dY.PNG
    Физический смысл приращения - доля (-1,0...+1,0) от времени полного хода для перемещения привода с учётом направления.
    Tm - время пересчёта регулятора

    При каждом пересчёте обновляю также и расчётное положение привода, т.е. суммирую перемещения
    SY.PNG

    Сразу же ограничиваю "взвинчивание интегральной составляющей" значением в 20%, т.е. диапазоном (-1,2...+1,2). Этот параметр не выводил ко входам, а задал константой.

    Для "отключения" интегральной, достаточно сделать время интегрирования менее 0,001, т.е. приравнять к 0.

    алгоритм:
    Преобразование в перемещение привода сделал по алгоритму со следующей аналогией:
    - в момент пересчёта регулятора мгновенно заряжается конденсатор
    - когда заряд на конденсаторе превысит значение пропорциональное минимальному импульсу, включается триггер начала (разрешения) перемещения
    - конденсатор начинает разряжаться пропорционально времени полного хода
    - останов и сброс триггера происходят при полном разряде конденсатора

    В самой программе это дополнено свойствами
    - перемещение не может остановиться до истечения времени минимального импульса - как бы за это время не изменилось расчётое положение
    - пока производится перемещение привода работает тактовый генератор (с периодом 0,100 с), расчётное значение корректируется на величину, пропорциональную доле этого периода ко времени полного хода
    - останов и сброс триггера происходят при уменьшении расчётного положения менее доли одного такта (0,100 с) по отношению ко времени полного хода.

    Также добавлено ограничение на паузу после реверса.

    Кроме того, ввёл диагностику, останавливающую вычисления и выводящую сигнализацию на выход ФБ при некорректных входных параметрах.
    Наверняка, можно расширить список проверок.

    Входные параметры:
    fPV — переменная процесса (process variable);
    fSP — уставка (задание) процесса (setpoint);
    fDeadBand — зона нечувствительности (dead band) - в каждую сторону, т.е. в итоге вся зона в два раза больше;
    fKp — коэффициент пропорциональности, значение полосы пропорциональности Xp=1/Kp равно величине невязки (рассогласования) при котором регулятор сформирует импульс длительностью равный времени полного хода привода;
    fTi — время интегрирования;
    nTRecalc_[ms] — период пересчёта (квантования) значения выхода регулятора,
    nTFullStroke_[ms] — время полного хода (full stroke);
    nTPulseMin_[ms] — длительность минимального импульса;
    nTPauseReverse_[ms] — минимальная длительность паузы между командами реверса;
    bEnable - разрешение работы регулятора (при запрете не только останов, но и сброс накопленной интегральной составляющей)
    bReset - задумывал, как установку "интегральной" в заданное со входа значение, но не реализовал, поэтому получил второй вход bEnablr, но инверсный

    Выходные параметры:
    bOpen - команда на привод "открыть" регулирующий орган;
    bClose - команда на привод "закрыть" регулирующий орган;
    bError - ошибка введённых параметров, вычисления остановлены.

    Ошибка введённых параметров для случаев:
    1. nTRecalc_[ms] < 1000 мс
    2. nTPulseMin_[ms] < 200 мс
    3. nTFullStroke_[ms] < 1000 мс

    Для зоны нечувствительности покажу изображением
    DB.PNG

    test_PID_3pos.owle

  6. #736

    По умолчанию

    Спасибо, 1exan
    Ваше исправление на обратные связи убрало все предупреждения
    Вложения Вложения

  7. #737

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Спасибо, 1exan
    Ваше исправление на обратные связи убрало все предупреждения
    Титанический труд. На ST это можно было сделать проще и быстрее, но вольному - воля.
    Последний раз редактировалось IVM; 24.02.2024 в 12:25.

  8. #738

    По умолчанию

    ST для OL в январе оставался сырым продуктом, не позволяющем использовать внутри себя таймеры (без ввода времени извне), а также не позволяющий помещать полученный ФБ внутрь другого законченного макроса.

    Ведь ФБ ПИД не является самоцелью, он потом помещается внутрь большего ФБ, чтобы на итоговом холсте для однотипных процессов (несколько контуров регулирования) была не рассыпуха, а несколько ФБ - отладка и исправление недочётов резко упрощаются. Так у меня используется один большой ФБ аналоговый ПИД с переходом в сон, плавным изменением уставки и ещё какими-то функциями - очень удобно, при очередном проекте обхожусь импортом вместо рисования.

    Поэтому FBD - осмысленное решение, несмотря на большую однозначность последовательности выполнения операций в ST.

    Сейчас возможности ST доработаны, рукастый желающий может воспроизвести алгоритм.

    После сдачи работы, пока нет возможности проверить переработку в ST на реальном объекте как проверил с FBD, поэтому реализацию на ST отложу до следующего раза.

    Работа отнюдь не титаническая - видно, что там всего лишь вычисления по двум формулам и потом условие включения и отключения триггера (разрешить перемещение). И условий установки-сброса триггера - по два-три. Вместе с отладкой сделал за два подхода вместе с изучением опыта на форуме.

Страница 74 из 74 ПерваяПервая ... 2464727374

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 16:33
  4. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  5. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 21:55

Ваши права

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