youengineerasu

youengineerasu

Автоматизация промышленных и домашних объектов - Программирование ПЛК - Программирование панелей оператора - Программирование SCADA Каналы на Дзен и вконтакте: https://dzen.ru/you_engineer https://vk.com/you_engineer_asu https://t.me/you_engineer_asu По всем вопросам пишите: чат: https://t.me/chat_plc Каталог проектов: https://t.me/projects_asutp почта: semgridin@yandex.ru
Пикабушник
379 рейтинг 91 подписчик 8 подписок 76 постов 0 в горячем
9

Для чего линия задержки в Owen Logic?

Линия задержки используется для создания задержки на один цикл передачи значения с выхода компонента на вход.

Для создания линии задержки следует нажать на кнопку на панели вставки и построить линию между выходом и входом компонента. Будет проведена красная пунктирная линия.

Для чего линия задержки в Owen Logic? Изобретения, Инженер, Сборка, Электроника, ПЛК, Программирование ПЛК, АСУ ТП, КИПиА

Пример использования

На вход I1 блока арифметического сложения (целочисленный тип) подается константа, значение которой равно 1. На вход I2 по линии задержки подается значение с выхода блока Q, которое было вычислено в предыдущем цикле.

Для чего линия задержки в Owen Logic? Изобретения, Инженер, Сборка, Электроника, ПЛК, Программирование ПЛК, АСУ ТП, КИПиА

Таблица вычисления по циклам.

Для чего линия задержки в Owen Logic? Изобретения, Инженер, Сборка, Электроника, ПЛК, Программирование ПЛК, АСУ ТП, КИПиА
Показать полностью 2
12

Таймер реального времени в программируемых реле ОВЕН ПР

Чем удобно программируемое реле ОВЕН? Тем, что оно способно выполнять задачи таймера реального времени(ClockWeek). Можно написать абсолютно гибкую программу с кучей параметров по дате и времени. Эти параметры могут выполнять другие не основные функции.

Для этих задач есть несколько вариантов функциональных блоков, у всех разные настройки и степень «Умности». Давайте рассмотрим их в нашей статье.

Приветствую всех, с вами автор блога, пишу статью по реализации вышеназванного функционала.

Самый простой таймер ClockWeek

Рассмотрим самый простой недельный таймер.

Таймер реального времени в программируемых реле ОВЕН ПР Электричество, Windows, Электрика, АСУ ТП, Я у мамы инженер, Асу, Отдел АСУ, ПЛК, Программирование ПЛК, Длиннопост

Все относительно просто, задаем дату и время включения и выключения.

Но, это удобно, когда заранее известны параметры программы.

Clock Week редактируемый

Таймер, который позволяет вносить изменения в настройки.

Таймер реального времени в программируемых реле ОВЕН ПР Электричество, Windows, Электрика, АСУ ТП, Я у мамы инженер, Асу, Отдел АСУ, ПЛК, Программирование ПЛК, Длиннопост

Находится он в онлайн базе макросов. В разделе таймеры и счетчики.

Таймер реального времени в программируемых реле ОВЕН ПР Электричество, Windows, Электрика, АСУ ТП, Я у мамы инженер, Асу, Отдел АСУ, ПЛК, Программирование ПЛК, Длиннопост

Таблица входов и выходов параметров.

Таймер будет активен (ob_On=1) если:

  1. Разрешена работа таймера (Enable=1)

  2. Текущий день недели совпадает с выбранным (bm_WeekDay)

  3. Время включения (On_h и On_m) меньше времени выключения (Off_h и Off_m).
    Текущее время больше времени включения И меньше времени выключения

  4. Время включения (On_h и On_m) больше времени выключения (Off_h и Off_m).

  5. Текущее время больше времени включения ИЛИ меньше времени выключения
    Если следующий день недели не используется, то таймер выключится

Таймер реального времени в программируемых реле ОВЕН ПР Электричество, Windows, Электрика, АСУ ТП, Я у мамы инженер, Асу, Отдел АСУ, ПЛК, Программирование ПЛК, Длиннопост

Вот таким образом выглядит подключение макроса.

Недельный таймер с двумя режимами работы

Недельный Таймер, который я чаще всего использую.. Он удобный, гибкий. У него есть несколько режимов работы.

Таймер реального времени в программируемых реле ОВЕН ПР Электричество, Windows, Электрика, АСУ ТП, Я у мамы инженер, Асу, Отдел АСУ, ПЛК, Программирование ПЛК, Длиннопост

Выглядит таймер, вот таким образом.

Таймер реального времени в программируемых реле ОВЕН ПР Электричество, Windows, Электрика, АСУ ТП, Я у мамы инженер, Асу, Отдел АСУ, ПЛК, Программирование ПЛК, Длиннопост

Входы и выходы макроса.

Недельный таймер предназначен для организации выдачи управляющих воздействий
на объект в зависимости от дня недели и текущего времени. Таймер автоматически
определяет текущий день недели по входам «Год», «Месяц», «День» на которые
необходимо подать сервисные переменные часов реального времени.

Текущее время на таймер заводится через входы «Часы» и «Минуты». Таймер может находиться в одном из трех состояний, которые определяется по входу «Режим работы».

«Режим работы»=0 — таймер выведен из работы

«Режим работы»=1 — в этом режиме выход таймера Q1 будет установлен в «1» если
совпадут следующие условия:

  • на вход «Все дни недели» будет подана лог.1 или как минимум на один из входов дня недели

  • текущее время станет равно или больше заданного времени включения, выбранногочерез входа «Часы.ON» и «Минуты.ON»

  • совпадет текущий день недели с выбранным через входы дней недели, или если будет установлен вход «Все дни недели» совпадет заданное время включения с текущим временем

«Режим работы»=2 — Данный режим работает аналогично режиму 1, но только один раз.
После того как выход Q1 таймера отключится, выход «Режим работы» установится в
значение «0» — запрет работы таймера, таймер не будет работать до следующего изменения режима работы через вход «Режим работы». Не зависимо от того сколько дней недели будет выбрано, срабатывание произойдет только один раз в ближайший выбранный день.

В принципе этот таймер забит по максимуму на любые варианты и для любых решений задач. Мне хватает функционала.

Пользуйтесь, на этом я завершаю

Показать полностью 6
4

Owen Logic: ПИД для задвижки

На днях как-то приiлось ставить прибор ТРМ12. и я задумался, как реализовать ПИД в Owen Logic. В Codesys 2.3 и 3.5 у меня есть понимание и рабочие алгоритмы, которые стоят на объектах. Для Программируемых реле у меня не было решений.

Приветствую всех, уважаемые читатели. Напишу краткий пост об этом решений.

ПИД с аналоговым выходом

На сайте ОВЕН выложили примеры для ПР205 о макросе с ПИД-регулятором. Но там с аналоговым выходом от 0-100 %.

Owen Logic: ПИД для задвижки Программа, Программирование, Windows, АСУ ТП, Асушник, Асу, Отдел АСУ, ПЛК, Программирование ПЛК

Его можно немного доработать и мы получаем ПИД для задвижки с дискретными выходами.

ПИД для задвижки

Вставляем макрос в менеджере компонентов в разделе управляющие и регулирующие модули RegKZR.

Owen Logic: ПИД для задвижки Программа, Программирование, Windows, АСУ ТП, Асушник, Асу, Отдел АСУ, ПЛК, Программирование ПЛК

Его входные и выходные параметры:

Owen Logic: ПИД для задвижки Программа, Программирование, Windows, АСУ ТП, Асушник, Асу, Отдел АСУ, ПЛК, Программирование ПЛК

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

С уважением, Гридин Семен

Показать полностью 2
1

Вопрос по if else в языке программирования ST

Приветствую всех читателей, у меня есть вопрос.

Вопрос по if else в языке программирования ST Инженер, Сборка, Программирование, ПЛК, Языки программирования, Программирование ПЛК, АСУ ТП

У меня есть кусок кода - при измерении размера кирпича, выполняются различные условия.

Исходные данные размер кирпича уставка, давление пресса и отклонения по размеру минимальное и максимальное.

Как мне можно обойтись без if else, если это вообще получается в коде? Слишком громоздкий код, постоянные ошибки.

Показать полностью
3

Простой RS-триггер в Codesys 3.5

Для включения и выключения часто используется этот полезный логический элемент RS-триггер. На нем можно собирать сложные цепочки регуляторов с различной логикой.

Сейчас я стал редко его применять, так как код в основном пишу на ST. Зачастую этот элемент там не нужен. А для языка программирование CFC и FBD самое то.

RS-триггер

У этого элемента сброс является приоритетом. Одним словом, если он срабатывает, то другие сигналы не работают.

Находится он в библиотеке Standart.

Простой RS-триггер в Codesys 3.5 Инженер, Инновации, Технологии, Программирование, ПЛК, Программирование ПЛК, Асу, АСУ ТП, Асушник, Я у мамы инженер, Инженерия, Гифка, Длиннопост

Объявляем триггер, даем ему имя.

Простой RS-триггер в Codesys 3.5 Инженер, Инновации, Технологии, Программирование, ПЛК, Программирование ПЛК, Асу, АСУ ТП, Асушник, Я у мамы инженер, Инженерия, Гифка, Длиннопост

Set - Включить триггер, Reset - Выключить.

Работа RS-триггера:

Простой RS-триггер в Codesys 3.5 Инженер, Инновации, Технологии, Программирование, ПЛК, Программирование ПЛК, Асу, АСУ ТП, Асушник, Я у мамы инженер, Инженерия, Гифка, Длиннопост

SR-триггер

Все тоже самое, только приоритет по пуску.

Работа SR-триггера:

Простой RS-триггер в Codesys 3.5 Инженер, Инновации, Технологии, Программирование, ПЛК, Программирование ПЛК, Асу, АСУ ТП, Асушник, Я у мамы инженер, Инженерия, Гифка, Длиннопост
Показать полностью 3
12

Простенький проект регулятора температуры на ST

Нужно измерять температуру с термодатчика r385_500 на ПЛК PLC-150i в диапазоне от 100 до 200 градусов. При превышении температуры выше чем уставка 1 срабатывает сигнализация/лампа, которая отключается только после того как температура уменьшится до уровня уставки 2. Уставка 1 – 200 градусов, уставка 2 – 100 гр.С.

Создание проекта на ПЛК

Создаем новый проект, в качестве целевой платформы выбираем PLC-150i, затем в организаторе объектов выбираем «Конфигурация ПЛК» и в ней выбираем тип датчика.

Простенький проект регулятора температуры на ST Инженер, Сборка, Электроника, Изобретения, АСУ ТП, Программирование ПЛК, Отдел АСУ, ПЛК, КИПиА

Реализация регулятора температуры

Пишем простейшую программу на языке ST.

Простенький проект регулятора температуры на ST Инженер, Сборка, Электроника, Изобретения, АСУ ТП, Программирование ПЛК, Отдел АСУ, ПЛК, КИПиА

На окне визуализации расположены следующие элементы: 1 ползунок, 6 квадратов и 1 эллипс. Ползунок связан с переменной «temp» и служит для моделирования изменения температуры, измеряемой датчиком. Два квадрата справа от ползунка связаны с переменными деформации по вертикали: для 1-го кубика это (-PLC_PRG.ustavka1), для второго (-PLC_PRG.ustavka2). Графический элемент эллипс служит для визуализации срабатывания физического дискретного выхода ПЛК «lampa». Три прямоугольника под лампой показывают текущую температуры, уставку 1 и уставку 2. В них нужно настроить переменные на вывод текста: «temp», «PLC_PRG.ustavka1» и «PLC_PRG.ustavka2».

Простенький проект регулятора температуры на ST Инженер, Сборка, Электроника, Изобретения, АСУ ТП, Программирование ПЛК, Отдел АСУ, ПЛК, КИПиА

С уважением, Гридин Семен

Показать полностью 2
9

Автоматизация термовакуумного станка

Осуществил в прошлом году автоматизацию термовакуумного станка для производства кассет для рассады.

Как работает станок?

Станок конвейерного типа. в начале закладывается лист пластика. Материал проезжает мимо инфракрасных нагревателей, размягчая пластик. После этого ложится на форму, прижимается и откачивается воздух, создавая вакуум. Конвейер работает по энкодеру, отмеряя нужную длину, которую задаст оператор в панели.

Для нагрева использовали обычный ПИД-регулятор Овен ТРМ-500. А для конвейера и цилиндров ставили ПЛК Optimus Drive и панель оператора VI20.

Фотографий к сожалению не осталось. Есть только сам шкаф и панель оператора.

Автоматизация термовакуумного станка ЧПУ, Сборка, Китайские товары, Электроника, Асушник, ПЛК, Программирование ПЛК, АСУ ТП, Отдел АСУ, Яндекс Дзен (ссылка), Длиннопост
Автоматизация термовакуумного станка ЧПУ, Сборка, Китайские товары, Электроника, Асушник, ПЛК, Программирование ПЛК, АСУ ТП, Отдел АСУ, Яндекс Дзен (ссылка), Длиннопост

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

Автоматизация термовакуумного станка ЧПУ, Сборка, Китайские товары, Электроника, Асушник, ПЛК, Программирование ПЛК, АСУ ТП, Отдел АСУ, Яндекс Дзен (ссылка), Длиннопост

На этом я заканчиваю, будут вопросы, пишите.

Показать полностью 3
7

Макросы в панели оператора Weintek. Первые шаги

Я люблю ставить панели оператора фирмы Weintek. За 10 лет работы никогда не подводили. Быстрая и красивая графика, продуманная логика рецептуры и т.д.

Главная фишка панелей - это макросы. Можно сделать полноценный ПЛК с экраном, но обязательно нужно учитывать некоторые нюансы.

Макрос - последовательность команд, алгоритм действий панели оператора, который можно использовать для выполнения задач не предусмотренных основным функционалом EasyBuilder.

Примерный список задач, для которых может понадобиться использование макроса:

  1. Таймер обратного отсчета для запуска/остановки технологических и других процессов.

  2. Преобразование данных из одних единиц измерения в другие: напряжение в температуру, ток в давление, Фаренгейты в Цельсии и т.д.

  3. Управление пользовательским интерфейсом: рисовать графики, открывать/закрывать окна, скрывать/отображать объекты, управлять анимацией.

  4. Собственный протокол передачи данных, которого еще нет в библиотеке из более чем 300 драйверов EasyBuilder. Например, можно подключить GSM-модем и управлять приемом/отправкой СМС-сообщений.

  5. Взаимодействие с внутренней базой данных рецептов SQLite: загрузка и сохранение данных в настраиваемом формате, выборка данных по SQL-запросу. Это может быть, например, база данных рецептов приготовления блюд в кухонной печи.

  6. Взаимодействие с внешней базой данных MySQL, или MS SQL Server: загрузка и сохранение данных в настраиваемом формате, выборка/выгрузка данных с помощью SQL. Это может быть, например, база данных предприятия, или склада. Панель может считывать штрих-коды, QR-коды, RFID-метки и загружать их в базу данных, или делать выборку данных по считанным кодам.

Список макросов

Каждый проект EasyBuilder содержит собственный набор макросов. Вызвать список можно из меню на вкладке “Проект”:

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост
Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

Здесь можно создавать, удалять и редактировать макросы проекта. Если есть макросы, которые вы хотите использовать в нескольких проектах, функциями Импорт/Экспорт их можно сохранять/загружать через отдельные файлы.

В списке, кроме имени объекта-макроса, отображается его идентификатор [ID] и атрибуты {I,P,S}. Атрибуты макроса имеют следующее значение:

  1. “I” - будет вызываться каждый раз при загрузке панели.

  2. “P” - задействует таймер для периодического вызова.

  3. “S” - может блокироваться битом адресного пространства.

Чтобы создать новый макрос, или изменить имеющийся, нажмите соответствующую кнопку - “Создать”, или ”Редактировать”, откроется редактор макросов.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

В редакторе макросов можно изменить всё что касается конкретного объекта-макроса: его имя, атрибуты запуска и непосредственно код. Здесь же происходит проверка кода на наличие синтаксических ошибок, после внесения изменений следует нажать кнопку “Сохранить и скомпилировать”.

Существует много способов вызова макросов.

Способы вызова макросов

1 - Однократный вызов при старте панели.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

Это один из атрибутов объекта-макроса, выбирается в редакторе.

Полезный вариант для макросов инициализации, если нужно что-то загрузить в ПЛК, или выгрузить из энергонезависимой памяти. Еще один пример использования - макрос с вечным циклом. Макрос, который никогда не завершается, достаточно запустить один раз.

2 - Автоматический периодический вызов.

Это один из атрибутов объекта-макроса.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

Макрос будет вызываться по таймеру с заданной периодичностью. Важно учитывать, что вызываемая функция должна завершаться до ее повторного вызова, иначе вызов будет блокироваться. Удобный вариант для процессов, требующих непрерывной обработки данных.

Используя блокировку макроса, можно запускать и приостанавливать вызовы в нужный момент. Блокировка — это еще один атрибут объекта-макроса.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

3 - Функциональная кнопка.

Одной из функций объекта “Функциональная кнопка” может быть вызов макроса. Вызов будет происходить каждый раз при нажатии кнопки пользователем. В атрибутах выбираем “Выполнить макрос” и имя макроса из выпадающего списка.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

4 - Комбинированная кнопка.

Может выполнять последовательность действий, в том числе вызов макросов.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

5 - Битовая кнопка.

Эта кнопка используется для изменения состояния бита, но также она может вызвать макрос при срабатывании.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

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

6 - Битовый переключатель.

Этот объект реагирует только на нажатие. Вызов макроса можно привязать к конкретному изменению состояния бита.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

7 - Вызов по триггеру.

Часто бывает необходимо управлять вызовом макроса через адресное пространство панели. Используйте ПЛК-триггеры для вызова макроса битом регистра панели, или ПЛК.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

Режим триггера “Всегда активно если ON” будет запускать макрос каждые 500 миллисекунд при высоком уровне бита.

8 - Вызов из активного экрана.

В атрибутах окна на панелях всех серий, за исключением iP-серии, можно выбрать варианты запуска макросов на случай открытия, или закрытия окна, а также для циклического запуска. Период циклического запуска макроса фиксированный - 500 миллисекунд.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

На панелях iP-серии этот функционал также может быть реализован, но другим способом. Для циклического вызова можно использовать собственный таймер объекта-макроса, а для вызова при открытии/закрытии окна можно использовать битовую кнопку с соответствующим атрибутом.

9 - Вызов из другого макроса.

Существует два способа вызова макроса из другого макроса: синхронный и асинхронный. Разница в том, что при синхронном вызове вызывающий макрос будет ждать завершения вызываемого макроса, прежде чем продолжить выполнение алгоритма. При асинхронном вызове вызывающий макрос продолжит выполнение алгоритма параллельно с вызываемым. Используйте функции SYNC_TRIG_MACRO и ASYNC_TRIG_MACRO соответственно для синхронного и асинхронного вызова.

Пример: Связь с регулятором ОВЕН ТРМ138

Для заказчика нужно было удаленно отслеживать за 8 канальным регулятором температуры. Хотелось именно панель оператора, без ПК. Вот там как раз делал простую логику для срабатываний аварий и т.п. и т.д.

Макросы в панели оператора Weintek. Первые шаги Программа, Linux, АСУ ТП, Асушник, Отдел АСУ, Я у мамы инженер, КИПиА, ПЛК, Программирование ПЛК, Длиннопост

На этом я заканчиваю, пока-пока.

UPD:

https://www.rusavtomatika.com/articles/macros-easybuilder-pr...

Показать полностью 13
Отличная работа, все прочитано!