Как сделать овен лоджик температурный график

от admin

Программирование пид-регулятора на плк.

Задача. Разработать систему регулирования температуры на базе ПЛК «ОВЕН» для имитатора термокамеры, имеющегося в учебном комплекте. Не использовать ПИД-регулятор в библиотеке компонентов, разработать регулятор самостоятельно. Создать визуализацию, позволяющую видеть текущее и заданное значения температуры и график изменения температуры за последние несколько минут, настраивать коэффициенты ПИД-регулятора, а также вручную выключать и включать нагревательный элемент.

До этой лабораторной работы рассматривались примеры, задействующие только дискретные входы и выходы; здесь же возникла необходимость использовать аналоговый вход, и для этого нужно его настроить. Для настройки входов и выходов, как было указано на стр. 17, необходимо внизу левой панели окна CoDeSys выбрать четвертую слева закладку «Ресурсы», затем в иерархическом дереве выбрать «Конфигурация ПЛК». Далее на рабочем поле CoDeSys появится иерархическое дерево устройств, имеющихся в ПЛК с переменными, доступными, как входы, или выходы.

Четырем аналоговых входам ПЛК по умолчанию соответствуют пункты «Unified signal sensor», обозначающие стандартные входы по напряжению. Термосопротивление подключено к четвертому аналоговому входу, в списке он самый последний, и вход необходимо перенастроить для работы с термосопротивлением. Для этого на последнем пункте «Unified signal sensor» необходимо нажать правую кнопку «мыши» и в появившемся меню выбрать «Заменить элемент», затем «RTD-sensor» (см рисунок 42).

После этого надпись «Unified signal sensor» в дереве устройств сменится на надпись «RTD-sensor», и справа откроются настройки аналогового входа для подключения термосопротивления. Те значения настроечных параметров, которые являются корректными, показаны на рисунке 43. Аналоговый вход настроен, переходим к проектированию приложения.

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

Время нагрева нагревательного элемента в термокамере с 20 до 100 °C составляет около трех минут, то есть за одну секунду происходит повышение температуры в среднем на 0,33 °C. Нагревание происходит плавно, на небольшом участке почти линейно, остывание происходит медленнее, чем нагревание. Можно сказать, температура термокамеры по отношению к поданному на нагревательный элемент напряжению изменяется по апериодическому закону.

В таких случаях плавный нагрев можно реализовать с помощью широтно-импульсной модуляции (ШИМ). При этом на нагревательный элемент питание необходимо подавать импульсами определенной длительности и с заданной периодичностью. необходимо, не меняя периода импульсов, устанавливать их длительность в зависимости от требуемой температуры нагрева; при увеличении длительности импульсов температура будет расти, а при уменьшении — падать. Максимальная скорость нагрева достигается при непрерывной работе нагревателя, то есть, когда длительность импульсов равна периоду их следования, а максимальная скорость остывания достигается при полном отключении нагревателя, то есть при длительности импульсов равной нулю. Если в течение некоторого времени подавать импульсы неизменной длительности на нагреватель, в термокамере устанавливается определенная средняя температура, и если период импульсов значительно меньше времени нагревания или остывания термокамеры, то изменения температуры при подаче импульсов на нагревательный элемент можно считать незначительными. Чем выше частота следования импульсов, тем меньше погрешность регулирования температуры.

Будем считать зависимость установившейся средней температуры от длительности импульсов линейной.

ПИД-регулирование — задача, которую удобно представить в виде схемы, поэтому целесообразно использование языка CFC.

На рисунке 44 представлен общий вид программы ПИД-регулирования. В отличии от задачи о конвейере, здесь применим методы проектирования «сверху вниз», то есть от общего к частному. Сперва следует определить общий вид программы и предположить, какие входные и выходные переменные будут у функциональных блоков.

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

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

Для ПИД-регулятора необходимыми входными данными будут являться:

значение регулируемого сигнала и его заданное значение, чтобы найти ошибку регулирования, на основе которой рассчитать воздействие,

коэффициенты регулирования: пропорциональная, интегральная и дифференциальная составляющие,

период следования тактовых импульсов (для расчета коэффициентов дискретного ПИД-регулятора).

Выходом ПИД-регулятора будет являться регулирующее воздействие, преобразуемое модулятором к нужному виду.

Для модулятора входными сигналами будут являться

коэффициент пропорциональности и смещение сигнала, для пересчета управляющего сигнала в длину ШИМ-импульсов

тактовые импульсы с генератора,

Выходом модулятора будут импульсы, управляющие коммутацией питания нагревательного элемента термокамеры.

Для генератора тактовых импульсов входным сигналом будет период тактовых импульсов, а выходным сигналом — тактовые импульсы.

Алгоритм ПИД-регулирования можно реализовать на языке ST, он показан на рисунке 45. Как и требуется, реализован дискретный алгоритм ПИД-регулирования, коэффициенты интегрирующей и дифференцирующей составляющих пересчитываются в соответствии с равенствами (4).

Алгоритм модулятора модулятора состоит из формирователя импульсов (см. рисунок 46) в верхней части рисунка и расчета длительности импульса в нижней части рисунка. Также из нижней части рисунка наверх поступают некоторые вспомогательные сигналы для подачи на импульсный выход постоянного высокого или низкого логического уровня. В алгоритме использована модель RS-триггера RS1 — бистабильная схема, устанавливающая Q1 в единицу при SET=1, RESET1=0 и сбрасывающая Q1 в ноль при SET=0; RESET1=1.

Генератор тактовых импульсов, представленный на рисунке 47, сокращен до двух строк кода и одной внутренней переменной, поскольку реализован в виде функционального блока, и все его переменные находятся в памяти. Переменная B, описанная на рисунке 47, не задействована. Время задается переменной типа TIME.

Общий вид визуализации показан на рисунке 48. Помимо уже применявшихся в текстовых метках шаблонов для вывода целых и вещественных чисел здесь использованы шаблоны для вывода вещественных чисел с заданной точкой. С помощью такого шаблона выводится, например, заданная и фактическая температура в термокамере: %3.2f означает следующее: вещественное число, ограниченное тремя знаками до запятой с точностью, ограниченной двумя знаками после запятой (в данном случае — до и после десятичной точки). Также в визуализации для наблюдения температуры за некоторый прошедший период времени применен графический тренд, с которым связаны значения заданной и фактической температуры.

Настройка тренда показана на рисунках 48. 53. Настройка начинается с внешнего вида осей: масштаб по осям, количество делений, и т. д. Выделив тренд, нажать на нем правую кнопку «мыши», выбрав «настройки». Категория «Тренд», кнопка «Горизонтальная ось». На рисунке 49 показаны следующие заданные значения:

вертикальные линии сетки нанесены с интервалом в 20 сек.;

полная длина шкалы по горизонтальной оси равна 5 минут;

основные (длинные) деления нанесены с интервалом в 10 секунд;

дополнительные деления нанесены с интервалом в 2 секунды;

подписи значений под делениями шкалы следуют каждую минуту;

новое значение выдается каждые 200 миллисекунд.

Задание остальных параметров, таких, как цвет линий сетки, понятно из рисунка 49.

На рисунке 50 показана настройка вертикальной оси тренда Окно настроек выглядит почти так же, как и окно настроек оси времени с той лишь разницей, что вместо временного интервала в его нижнем левом углу указывается максимальное и минимальное значения отображаемой величины, в данном случае на тренде может отображаться температура от 0 до 120 °C.

Для отображения на тренде необходимо указать переменные, пример настройки показан на рисунке 51. В окне настроек нужно выбрать категорию «Тренд» и нажать кнопку «Выбрать имя переменной». Появившееся окно отображает список переменных, значения которых выводятся на данном тренде.

Переменных может быть несколько, их можно добавлять, убирать, менять внешний вид кривой, цвет, и т. д., такие настройки не сложны и интуитивно понятны. После осуществления всех необходимых настроек нужно подтвердить их верность, нажав кнопку «OK».

На рисунке 52 изображена настройка текста подсказки, появляющегося при наведени курсора «мыши» на тренд.

На рисунке 53 изображена привязка переменной, включающей нагревательный элемент в ручном режиме к соответствующей кнопке (в окне настройки кнопки).

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

Как сделать овен лоджик температурный график

Программное обеспечение OWEN Logic

Алгоритм функционирования реле ОВЕН ПР определяется программой пользователя, которая создается в среде «OWEN Logic». В качестве языка программирования среда использует язык функциональных блоков, который полностью соответствует стандарту МЭК 61131-3.

Преимущества

  • Колличество используемых ФБ – 450 штук (зависит от модификации);
  • Возможность создавать свои блоки (макросы);
  • Наличие режима симуляции;
  • Наличие внутренних переменных для упрощения составления схем;
  • Автоматическое обновление встроенного ПО для ОВЕН ПР;
  • Имеется возможность распечать схему или сохранить в документ;
  • Выведена полная информация об используемых ресурсах;
  • Постоянное развитие ПО;
  • Полностью русско-язычный интерфейс.

Обзор функций и функциональных блоков

  • Логические функци («И», «ИЛИ», НЕ», и т.д.);
  • Арифметические функции и функции сравнения;
  • Счетчики, триггеры;
  • Блоки временных задержек;
  • Формирователи сигналов;
  • Блоки работы с битами;
  • Блоки работы с часами реального времени.

Пример работы в среде OWEN Logic

В качестве примера рассмотрим простую задачу управления некой абстрактной котельной. Она состоит насоса, горелки, кнопок управления, датчика пожара, аварийной кнопки и сигнальной лампы. По нажатию на кнопку «Старт» должен включиться насос, а с некоторой задержкой должна заработать горелка. По нажатию кнопки «Стоп» горелка должна прекратить работы, а с некоторой задержкой должен выключиться насос. Если срабатывает датчик пожара или включили аварийную кнопку, то работа прекращается (аналогично нажатию на кнопку «Стоп»), и не может быть возобновлена пока эти сигналы не исчезнут (пожар потушен, кнопка выключена). Так же необходимо организовать удаленный контроль и мониторинг.

Программное обеспечение

Программное обеспечение OWEN Logic для программирования ОВЕН ПР в виде функциональных блоков (ZIP)

Системное программное обеспечение (необходимо для автономной установки) (ZIP)

Примеры

Эти примеры родились благодаря активной дейтельности посетителей форума ОВЕН

Обновление ПО OWEN Logic

Программное обеспечение OWEN Logic для программирования ПР110 в виде функциональных блоков (ФБ) Скачать
Список изменений OWEN Logic Скачать
Системное программное обеспечение (необходимо для автономной установки) Скачать

Уважаемые коллеги, в текущем разделе расположена beta версия программного обеспечения Owen Logic.

В силу расширения функционала программного обеспечения и желания наших пользователей применять этот функционал при написании своих проектов, мы предоставляем возможность пользоваться ПО Owen Logic после минимальных тестирований.

CS-CS.Net: Лаборатория Электрошамана

Сборка электрощитов, автоматика и автоматизация для квартир и частных домов. Программы для ПЛК. Сценический свет (световые шоу, настройка оборудования). Консультации, мастер-классы.

Щит с автоматикой IPM для коттеджа (Поварово)

Щит с автоматикой IPM для коттеджа (Поварово)

Автоматика моего санузла на логическом реле ABB CL

Автоматика моего санузла на логическом реле ABB CL

Щиты TwinLine в Долгопрудный (таунхаус) и Солнечногорск

Щиты TwinLine в Долгопрудный (таунхаус) и Солнечногорск

Щит для котельной на базе сенсорного ПЛК ОВЕН (Папушево)

Щит для котельной на базе сенсорного ПЛК ОВЕН (Папушево)

Щиты с IPM (сеть, генератор, UPS) в Ядромино и Победа-2

Щиты с IPM (сеть, генератор, UPS) в Ядромино и Победа-2

Щит в ЖК Монэ на ПЛК ОВЕН со сценарным управлением светом

Щит в ЖК Монэ на ПЛК ОВЕН со сценарным управлением светом

Силовой щит в Весёлово (Тула): Простой трёхфазный

Силовой щит в Весёлово (Тула): Простой трёхфазный

Щит для квартиры в Митино на ПЛК ОВЕН (свет, отопление)

Щит для квартиры в Митино на ПЛК ОВЕН (свет, отопление)

Программируемые реле ОВЕН ПР100, ПР102 и ПР200, часть 2: Изучаем среду OWENLogic (переменные, библиотеки, макросы)

Программируемое реле ОВЕН ПР200 с тестовой программой

Программируемое реле ОВЕН ПР200 с тестовой программой

Я продолжаю цикл постов про логические (программируемые) реле ПР от ОВЕНа. Напоминаю, что всё, что к этим реле относится (в том числе и предыдущая часть поста), доступно по тэгу «ПРххх».

Сегодня весь пост будет посвящён не программированию разных примеров, как было в Logo, а самой среде OWEN Logic. Потому что (как я уже в первой части упоминал), ОВЕН сделал её по мотивам CodeSys. А что это значит?

А то, что тут есть дофига разных настроек, фишек и куча параметров самого реле и проекта! Вот с ними мы сегодня поразбираемся, а потом создадим себе макрос (UDF) для импульсного реле, который заюзаем в третьей части поста!

1. Среда OWEN Logic. Особенности и принципы её использования. Как подключать ПРки?

Общий концепт программирования в OWEN Logic, конечно же, основан на языке FBD — вы при помощи разных блоков чертите схему, и она начинает у вас работать. Изначально текстовх языков программирования в OWEN Logic не было, но и не должно быть, так как сам продукт, под который заточена эта среда и называется «программируемое реле» — по определению простая штука. Хотя по фичам ПРки от ОВЕНа могут заткнуть за пояс и небольшие ПЛК! Однако с 2021 года в OWEN Logic постепенно внедряют текстовый язык ST. Про это мы поговорим в посте про реле ПР103, когда я получу его образцы.

Вот те главные фичи, которые я бы выделил (про них сегодня и будет разговор):

  • Есть нормальные типы значений — Булевый (Bool), Целый (Integer), С плавающей точкой (Float). Поддерживается ещё и преобразование типов друг в друга. У Logo этого НЕ было, а были только два типа — Digital (булевый) и Analog (знаковый с плавающей точкой).
    При этом ебучий Analog был знаковый, и задачка вида «выдать на устройство число 20, если вход активен и 1 если вход не активен» превращалась в тьму срани, потому что половину всего надо было переводить в тип Analog.
  • Есть переменные и константы, как в проектах для ПЛК. Всех трёх типов. Поэтому программировать тут — удовольствие! Вы можете обсчитать какой-то результат, сохранить его в переменную, а потом эту переменную использовать в других местах проекта — вам не надо всё «соединять» линиями, как в Logo было. А если есть константы — то можно вытащить их на краешек листа схемы и задавать какие-то системные настройки проекта (время длинных нажатий на кнопки например).
  • Есть МАТЕМАТИКА (и целочисленная и с плавающей точкой), сравнение и мультиплексирование! Урааа. Есть деление, умножение, сложение, вычитание, даже возведение в степень! Переменные можно сравнить на «равно» или «больше», а при помощи мультиплексора можно выдать на выход одно из двух значений (от других переменных или констант), которое выбирается через блок SEL (или fSEL для значений с плавающей точкой) в зависимости от значения входной переменной (True/False).
  • Есть работа с битами: сдвиг, чтение, запись, распаковка, запаковка. То есть можно прочитать WORD по ModBus от модуля дискретных входов (МВ110-224.16Д/ДН — вот пост про модули ввода-вывода от ОВЕН), разобрать его на биты и привязать эти биты к каким-нить входам кнопок.
  • Да-а-а-а! Есть НОРМАЛЬНАЯ работа с ModBus по RS-485! Нормальная — это значит то, что можно гонять пачками данные каждые 10 мсек (а не 80 и только по одной переменной, как у Logo) на скорости 115200 и не париться. Нормальная — это значит, что тут доступны флаги состояния устройства на шине (есть связь или устройство не отвечает), доступны все функции чтения и записи переменных (Read/Write Register/Coil), есть нормальная работа с битами, можно переставлять порядок байт для передачи Float…
  • Есть удобная работа с экраном в ПР200 (и будущих реле с экраном). Экраны поддерживают вывод и редактирование данных, можно переключаться с экрана на экран по разным событиям (кнопками или по изменению переменных). Редактирование делается «на месте»: если на экран выводится булевая переменная с заданным текстом «Авто»/»Ручн.», то и редактироваться она будет в виде этих же слов, а не внутренних значений или ещё какой-то херни.
  • Есть специальная задержка на один цикл программы! ААААА. Это то, чего в Logo решается через ёбаные чёртовы маркеры — когда сигнал с выхода какого-то блока надо подать на его же вход! Тут такая связь выхода со входом делается штатно, на уровне железа.
    Я проспойлерю, но с такой задержкой можно охуенно решать гонки во времени — например, когда подаются одновременно сигналы Store и Reset, и Store должен пройти чуточку быстрее, чем Reset! В Logo это делалось таймерами или маркерами, а тут — просто чертишь схему так же, как и чертил бы. Без лишней траты элементов схемы!
  • Библиотека компонентов, которую развивает и пополняет ОВЕН на основании разработок пользователей. OWEN Logic коннектится на сайт (FTP) ОВЕНа, предлагает выбрать разные компоненты (UDF-макросы) и быстренько подгрузить их в проект! То есть, в этом мире вы не одни — если вы хотите изобретать велосипед, то гляньте в библиотеке — вдруг кто-то уже сделал!
  • Есть такая фишка, как плагины. Один из них — это мастер тиражирования. Это удобная штука для потокового производства: вместо того, чтобы давать на производство исходник программы (проект OWEN Logic), вы из своего проекта создаёте один EXE-файл, который им и даёте. Файл умеет только запускаться и заливать программу в реле. Таким образом ваш проект налево не уйдёт, а в промке это бывает важно.

Но тем, кто пересаживается с Logo или других реле, будет немного плохо. Из-за того, что тут всё как в CodeSys — есть математика, ModBus, триггеры, самые простые таймеры, PID-регулятор — и всё. Все остальные вещи (импульсные реле, таймеры с остановкой по сигналу, лестничные реле для освещения), которые были в Logo готовенькие, тут надо писать самому. Да даже например «OR» на пять входов — и тот надо будет создавать ручками (или пихать OR каскадом). Зато вы можете отрисовать его именно на 5 входов, а не трахаться с Logoвскими четырьмя.

Я легко принял это, потому что делал так же в CodeSys. Сначала на это ругаешься («Как так нет импульсного реле?!»), а потом понимаешь, что и правильно что нет — потому что это реле удобнее написать с нуля СРАЗУ с нужными для тебя функциями (сохранение предыдущего состояния и восстановление его), чем дорабатывать уже написанное. Вон, как я в CodeSys 2.3 сделал:

Пример написанного самостоятельно продвинутого импульсного реле в CodeSys v2.3

В остальном OWEN Logic вас не удивит — тут есть всё, что надо — загрузка программы в реле, симулятор, проверка программы на ошибки (классная причём!), указатели занятой памяти по программе, переменным и Retain. Ну разве что обратно из реле считать программу нельзя (и это тоже хорошая защита от воров) — только загрузить в реле.

Основной минус OWEN Logic в том, что среда эта сложная в плане кучи режимов, окон, опций и фишек — и ОВЕН не всегда успевает быстро отслеживать и исправлять баги. Баги тут есть, но они относятся именно к интерфейсу OWEN Logic — у кого-то при определённом разрешении экрана где-то не вмещается текст, где-то не помещается окошко или не так работает перетаскивание или копирование чего-то. Все такие баги ОВЕН обсуждает у себя на форуме, набирает их список (я тоже набросил несколько правок и пожеланий), проверяет — и потом выпускает обновлённую версию программы.

Шаги создания проекта я бы выделил бы такие (если у вас есть немного опыта и вы знаете, что настраивать):

  • Настроить подключение к прибору (если там что-то поменялось);
  • Создать новый проект под наше реле (прибор). Возможно, обновить прошивку реле, если OWEN Logic это предложит сделать;
  • Пробежаться по настройкам реле в проекте (дисплей, входы, выходы, ModBus);
  • Поискать и создать все макросы, которые могут понадобиться в проекте;
  • Создать переменные (примерно, какие могут понадобиться);
  • …и вот тогда уже рисовать схему!

Поехали разбираться со всем этим детально! Запускаем OWEN Logic и видим пустой экран:

Главное окно среды разработки OWEN Logic без загруженного проекта

Будьте внимательны! Когда OWEN Logic запускается, она сразу же пытается подключиться к прибору и ждёт некоторое время, ничего не делая (при этом пункты меню доступны для выбора). Если вы запустили её просто так, без подключенного к компу прибора, то дайте ей подождать и выдать ошибку подключения — а после этого спокойно работайте.

Любая ПРка (которая тут называется «прибор»), которая подключается к компу через USB-шнурок, видится на компе как COM-порт (на всякий случай напоминаю свой пост про изменение нумерации COM-портов в винде — он до сих пор актуален). Чтобы OWEN Logic её видела, первое, с чего надо начать (если у вас есть живая ПРка и вы делаете проект для неё) — это с настроек связи.

Лезем в меню «Прибор -> Настройка порта…» и в диалоге выбираем настройки для последовательного пора — нужны COM-порт от USB-подключения ПРки. Все остальные параметры оставьте по умолчанию (9600, 8, N, 1, адрес = 16):

Команда меню и окно настроек подключения к ПРкам (USB/COM-порта)

Ещё есть возможность подключиться к ПРКе по TCP/IP. Это относится к тем случаям, когда ПРка имеет те коммуникационные модули для Ethernet/WiFi, про которые я упоминал в посте про аппаратную часть.

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

Создаём новый проект:

Меню создания нового проекта в OWEN Logic

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

Окно выбора модели устройства для проекта OWEN Logic

Если вы случайно выбрали что-то не то (или вам надо переделать проект с одной ПРки на ПРку другого типа), то вы можете поменять модель при помощи команды «Файл -> Смена целевой платформы».

Команда меню для изменения модели устройства, под которую сделан проект OWEN Logic

Откроется то же самое окно для выбора модели реле. Но теперь доступны в нём будут те модели, которые совпадают по количеству встроенного IO. То есть, переехать из проекта с 8I и 8Q на проект с 4I и 4Q не получится!

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

Окно среды разработки OWEN Logic со свежесозданным проектом

2. Настройки прибора (реле) в OWEN Logic: IO, ModBus-слоты.

Прежде, чем что-то рисовать, давайте залезем в настройки нашего реле и посмотрим, что там есть. Делается это через меню «Прибор, в котором — если проект открыт — доступно дофига разных пунктов.

Команды меню для работы с прибором (настройки и запись программы)

Здесь есть команда для записи программы в реле (напоминаю, что считать её оттуда никак и ничем нельзя), можно обновить прошивку самого реле (если среда видит, что в реле прошивка старая — то она автоматически предлагает её обновить, когда к нему подключается).

Также можно глянуть информацию про само реле, к которому мы подключились — версия прошивки и железа и версия проекта, который в неё залит. Версию проекта мы задаём ручками сами для себя в меню «Файл -> Сведения о проекте», и вот эта версия и выводится в информации о реле. Нужно это для нас самих, чтобы вспомнить, какую версию какой-нибудь программы мы вливали в реле и надо ли её обновить.

Вообще, меня прикалывает это всё у ОВЕНа — так получается, что тут сразу всё заточено на злую промку: программу считать нельзя (ибо копирайты), зато версию можно посмотреть. То есть нас толкают в ту же степь, как если бы мы пользовались какой-нибудь железкой, смотрели её версию прошивки и скачивали свежую версию с сайта производителя (с Мастером Тиражирования такое для ПРок возможно).

Все настройки реле выводятся в одном окне. Слева в дереве можно выбрать группу настроек, а справа — их параметры. Само дерево настроек нужно для того, чтобы можно было наглядно добавлять устройства ModBus и модули расширения.

Окно настроек прибора в OWEN Logic (настройки экрана)

Всякие обычные настройки типа часов и экрана (я пишу на ПР200 — так же интереснее вам про экраны рассказать) простые и тут ничего интересного нету. Я оставляю всегда включенную подсветку экрана, а часы реального времени в реле выставляю по часам компьютера.

Самое крутое, куда я стремился попасть, был ModBus (про него я расскажу в третьей части поста; в этой я покажу только то, что к шаблонам устройств относится). Тут есть всёёё! Можно добавить до двух слотов ModBus (вы помните, физически в ПРках может быть до двух ModBus), задать им режим работы (Master-Slave) и параметры связи. В дереве можно будет добавлять устройства ModBus и настраивать переменные для них.

Окно настроек прибора в OWEN Logic (настройки интерфейса ModBus)

Ради прикола я добавил пару слотов, один из которых Master, а другой — Slave. Вот в чём круть ПРок и концепта с переменными внутри OWEN Logic! Переменная внутри ПРки может просто всегда висеть в значении «134» — и она будет совершенно спокойно отдаваться по ModBus Slave на какую-нить панель оператора или «старший» ПЛК. Вообще круть!

В Logo есть огрызок работы с переменными — они там называются VM — Variable Memory. Но там работать с ними надо мутно — считать адреса по табличкам и подстраивать ModBus под них, а не наоборот.

Если наше реле имеет аналоговые входы и/или выходы, то для них нам тоже надо всё настраивать. Не забываем, что для ПР200 перемычки на плате и настройка входа в параметрах реле должны совпадать (правда, если они не будут совпадать, OWEN Logic заругается).

Окно настроек прибора в OWEN Logic (настройки аналоговых входов)

Если вы новичок в аналоговых входах (вот здесь вы можете прочитать большой пост про аналоговые входы и выходы), то я быстро расскажу о том, как работает и настраивается аналоговый вход. Сам прибор (или модуль ввода) никогда не знает и не понимает о том, что именно подключено на аналоговый вход. И ему, признаться, на это наплевать — так специально задумано.

АЦП в модуле ввода или в реле считывает напряжение или ток, а потом приводит их к обычному числу с нужной точностью. Например 4 мА (низ предела измерения) будет равно числу 0, а 20 мА (верх предела измерения) будет равно числу 10 000. А что дальше? А вот дальше только вы сами знаете, что именно вы меряете и как это должно выглядеть для вас.

Поэтому-то вам и надо задать числа, которые помогут привести те значения, которые намерил АЦП, к удобному для вас виду — верхнюю и нижнюю границу измерений. Вот там-то вы и можете сказать, что на самом деле ваши 4..20мА — это от 0 до 6 атмосфер давления! И математика измерений пересчитает всё таким образом, что в конце концов вы будете получать результат, намерянный по этому входу, именно в атмосферах, а не в чём-то ещё. Подробнее про это было рассказано в посте про аналоговые сигналы, ссылку на который я приводил выше.

И вот после того, как мы настроили наше реле (чтобы туда больше не возвращаться), мы можем начать разбираться с главным окном OWEN Logic.

Окно среды разработки OWEN Logic с пустым проектом после всех настроек

Вот какие элементы окна у нас есть (или могут быть):

  • Посередине окна есть поле для нашей программы. Размеры поля можно увеличивать и уменьшать по своему желанию, а заранее расставленные значки входов и выходов — двигать по своему усмотрению так, чтобы всё было наглядно для вас и тех, кто после вас будет разбираться в проекте.
  • Сверху есть панель инструментов, на которой есть очень важные кнопки (справа) работы с переменными и преобразованием типов значений. Тут можно вставить переменную (обычную, сетевую, из функционального блока), константу и обратную связь (задержку на один цикл программы).
  • Справа есть списки всех доступных компонентов, функций и макросов проекта. Нужные элементы перетаскиваются на поле в схему.
  • Справа снизу находится окно свойств того элемента, который выбран на поле для схемы — само поле (тут-то и можно его размеры подстроить), какая-нибудь переменная, функциональный блок, экран, группа экранов, и тому подобное.
  • Слева есть окно доступных переменных проекта (всех-всех, в том числе и ModBus). Оно нужно для того, чтобы можно было быстренько перетащить её в проект и куда-то вставить, а не выбирать элемент «Переменная», а потом задавать там нужную переменную (без клавиши Shift переменная перетаскивается как входная, а с Shift — как выходная). Ну и ещё оно помогает не забыть о том, какие переменные у вас есть и где они используются (если выбрать переменную, то снизу выводится список ссылок на неё).
  • Ещё слева хитро спряталось окно списка экранов. Оно появляется, если вы делаете проект на реле с дисплеем (пока это ПР200, но ходят слухи, что линейка будет расширяться вплоть до сенсорных). В этом окне можно создавать экраны (сообщения на физическом дисплее), их группы и условия того, как эти экраны будут между собой переключаться (по событиям, переменным или кнопкам).
  • В самом низу есть строка состояния, которая показывает то, сколько памяти занимает наша программа и переменные.
3. Что умеет OWEN Logic (функции, операции)?

Хммм! По идее, тут-то и должны быть все плюшки OWEN Logic, которые я радостно расписал в начале поста — про переменные, математику, преобразование типов 😉 Расписать-то расписал, но не показал списков всех операций и функций. Вот сейчас мы по ним и пробежимся, в виде краткой сводки.

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

Список доступных операций (функций) над переменными в OWEN Logic

Выделю то, на что стоит обратить внимание:

  • Некоторые функции есть и для целочисленного и для типа данных с плавающей точкой. Они абсолютно одинаковы, только у тех, которые используют тип с плавающей точкой, есть приставка «f» — fMUL, fPOW, fGT.
  • Все базовые операции (И, ИЛИ, исключающее ИЛИ) расчитаны только на два операнда. Если вам надо больше входов — то вы включаете их каскадом или, если вам часто нужна какая-то операция на, к примеру, 8 входов, делаете макрос.
  • Есть обычная математика: сложение ADD, вычитание SUB, умножение MUL, деление DIV, деление с остатком MOD. Вон Кирич уже зубы точит. «Я», — говорит, — «Буду импульсы от счётчиков воды дома считать Retain-счётчиками». А я ему: «А вот как раз потом к этим насчитанным импульсам прибавишь начальные значения цифр на счётчиках через ADD — и получишь реальные показания счётчика». Кстати, по Modbus потом эти показания можно вывести на ОВЕНские индикаторные дисплеи СМИ-2М (пост про них), которые могут менять цвет и мигание в зависимости от величины показания.
  • Отдельно напишу, что для float есть операция возведения в степень fPOW. Это ОЧЕНЬ важно, потому что она используется в тех случаях, когда мы получаем не готовое значение с плавающей точкой, а значение без точки и положение точки отдельно (10 в степени хх), например с модуля аналоговых вводов (ссылка на пост про модули ввода-вывода):

Таблица регистров ModBus для первого входа модуля МВ110-8А

Надо ли говорить, что с таким жирным списком операций тут можно намутить гораздо больше, чем на Logo? И что один камрад смог сделать на этом реле сценарное управление светом, которое на Logo сделать не получается! Вон он какой модуль разработал! Аж с настройками групп — какая группа в каком сценарии будет работать (чтением битов как раз).

Пример адски крутого макроса на управление светом по сценариям на OWEN Logic

Идём далее! Теперь разберёмся с тем, какие функциональные блоки нам тут доступны и что на них можно сделать:

Список доступных функциональных блоков в OWEN Logic

  • Самые базовые триггеры: RS, SR.
  • Детекторы фронтов сигналов: RTRIG, FTRIG.
  • Самый главный триггер всех и всея — D-триггер.
  • Самые базовые таймеры: задержка включения TON, задержка выключения TOF, формирователь импульса TP, мигалка BLINK.
  • Счётчики импульсов CT, CTU, CTN, интервальный таймер CLOCK и недельный CLOCK WEEK.
  • А на закуску блок PID-регулятора, который нужен для регулировки температуры или других параметров. Однако не забывайте, что такой реулятор может довольно часто включать и выключать нагрузку, и поэтому релюшки или контакторы к нему не подходят — он их защёлкает до смерти. Тут нужны твердотельные реле или другой способ регулирования (дискретное с гистерезисом)!

Что я там говорил про CodeSys? Вот вам скриншот самых стандартных функциональных блоков в CodeSys v 2.3 (в 3.5 они такие же, но тут нагляднее):

Самые базовые функциональные блок CodeSys (из стандартной библиотеки)

Тут даже BLINK нету, кстати! И вот если народ на этом пишет всё остальное — то, значится, и в ПРках тоже можно будет всё это понаписать! Так что можно ещё раз постебаться, что ПРки — это CodeSys в миниатюре, но с приличным функционалом и математикой! Я рад!

4. Переменные в OWEN Logic: их типы и таблицы (локальные и ModBus).

Как я уже раза два писал, переменные в OWEN Logic — это самый главный жЫр, благодаря которому программирование становится и наглядным, и удобным и техничным.

В Siemens Logo и других логических реле понятия переменных почти что нету, и там люди оперируют синалами: соединили блоки между собой линиями и что-то куда-то передали. Там это можно было называть сигналом, и из-за этого у меня возникала куча логических непоняток. Например, вместо переменной «Время», которую я могу через SEL выбирать и запихивать в таймер, в Logo были извраты с параметрами этих таймеров, которые могли подставляться только из определённого блока или места — и никаких вариаций больше нет.

Поэтому ОВЕНу за переменные ставим памятник, ибо логика работы с переменными тут похожа на обычные языки программирования: переменные можно хранить в памяти прибора (Retain), использовать в разных местах программы, получать и записывать в разные устройства или фунциональные блоки.

Например, у нас есть переменная «время работы вентилятора». Вот что мы с ней можем сделать (одновременно):

  • Вывести на экран ПРки для просмотра или изменения;
  • Объявить как Retain, чтобы значение переменной сохранялось на тот момент, пока на реле не подаётся питание;
  • Записать эту переменную в таймер, который управляет у нас вентилятором;
  • Одать её по каналу ModBus на какую-нибудь вентиляционную установку.

И это всё будет гораздо нагляднее, чем всякие линии соединений в Logo!

Переменные в OWEN Logic бывают такие (сами имена переменных можно давать любые, даже на русском языке):

  • Локальные (Стандартные). Это переменные, которые мы создали для нашего проекта и которые не относятся ко всяким внешним устройствам (ModBus). Имена переменных в пределах этого списка должны не повторяться.
  • Системные. Это переменные, которые относятся к самому реле. Чаще всего это часы реального времени и дата.
  • Сетевые. Это переменные, которые относятся к устройстам ModBus (их регистры). Переменные НЕ должны повторяться в пределах одного устройства ModBus. При этом в самом проекте может быть куча одинаковых устройств ModBus, внутри каждого из которых есть переменная, которая называется одинаково, и это не будет ошибкой. Когда вы выбираете сетевую переменную, OWEN Logic заставляет вас выбрать устройство, а потом переменную — вот путаницы и нету.
  • Чтение-Запись из ФБ. Отнесу это к переменным, хотя это больше подходит к функциям. В некоторые функциональные блоки (счётчики, таймеры) можно записывать значения или считывать их из них. Например, в таймер можно записать значение уставки времени, чтобы менять её в зависимости от условий программы.

Локальные переменные удобно редактировать через штатное окно, а переменные ModBus удобнее редактировать в «Настройках прибора», а в окне только просматривать или выбирать.

Лезем в меню «Прибор -> Таблица переменных»:

Меню открытия таблицы переменных проекта OWEN Logic

И первым делом видим локальные переменные нашего проекта. Список переменных можно фильтровать по каким-то словам, вбив их в верхнее поле. Переменную можно добавлять или удалять, выбирать тип и ставить флаг Retain.

Таблица переменных OWEN Logic (локальные переменные)

Справа этого окна есть вкладки, при помощи которых можно выбирать тип переменных, которые мы будем просматривать. Вот системные переменные, в которых ничего интересного, кроме даты-времени нету:

Таблица переменных OWEN Logic (системные переменные)

А вот список переменных ModBus, причём для конкретного устройства — RGBW-диммера DDL24. В этом списке переменные тоже можно добавлять и удалять, но ещё раз повторюсь, что удобнее это делать именно в настройках ModBus, так как там есть больше параметров для каждой переменной, которые важны.

Таблица переменных OWEN Logic (переменные одного из устройств ModBus)

Всё, что относится к работе с переменными и их типами, показано на скриншоте ниже (кнопки на панели инструментов как раз добавляют показанные элементы):

То, как переменные и преобразования типов выглядят в OWEN Logic

Мы можем преобразовать переменную к разным типам. Это иногда надо, если по ModBus мы читаем целое, а потом нам надо его поделить на что-то и получить результат типа с плавающей точкой. Тогда нам удобно преобразовать целое к плавающей точке и потом сделать fDIV для них.

Можем задать какую-нибудь константу (константа может быть всех трёх типов), ну и использовать локальные, сетевые переменные для чтения и записи. Локальные и сетевые переменные хоть и обозначаются разными значками, полностью одинаковы внутри одного проекта. То есть, если вам надо вытащить сетевую переменную на дисплей — то вы это делаете напрямую, сразу же.

5. Экраны (для ПРок с дисплеем) и работа с ними. Менеджер экранов.

Теперь будем разбираться с менеджером экранов, которые будут выводиться на дисплее ПР200 (на момент создания поста есть только такое реле). Работа с экранами имеет такую логику и концепты:

  • Экранов можно создавать несколько штук для разных задач и условий.
  • На каждый экран можно выводить статичный текст, переменные (и разрешать их изменение или нет), выбор значения из списка заданных (например «Авто», «Авто в морозы», «Ручное», «Запретить»).
  • Экран может содержать несколько строк, которые можно прокручивать вверх или вниз. И всё это будет один экран!
  • Можно настраивать условия, по которым будет делаться переход между экранами: по нажатию кнопок на реле, по изменению переменных внутри проекта.

В Logo у нас были просто некие «Сообщения», которых было много штук и которые мы могли только или показывать или скрывать по True/False для каждого сообщения. Вот так они редактировались (ссылка на пост про Logo):

Выводим сообщения в Logo: редактор блока сообщения

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

С сообщениями в Logo была жопа ещё и в том, что между ними было сложно переключаться. Скажем, у нас должны были быть сообщения вида «Запуск генератора», потом «Генератор запускается», «Генератор работает». Это были три экрана, каждый из которых можно было только включить через True/False. Надо было мутить дополнительный огрызок схемы, который управлял бы этими экранами, примерно так:

Пример неудобной работы с экранами в Siemens Logo: на каждый экран делается своя схема, которая должна его выводить

У ОВЕНа же всё можно сделать ещё проще: во-первых, экраны можно завязать между собой в цепочку. А во-вторых, как я говорил, привязать переходы по экранам к переменным. Например, есть у нас три переменных «Stop», «Starting», «Started» и мы делаем логику работы экранов именно по ним — без извратов.

Всё управление экранами прячется в окошке, название которого торчит ярлычком слева окна OWEN Logic — «Менеджер экранов». Если нажать на него, то окно раскрывается:

Экраны OWEN Logic (для ПР200) и окно управления ими

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

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

Вот я вверху экрана сделал текстовую метку (просто текст), а снизу поставил отображение переменной:

Конструирование одного из экранов в OWEN Logic (перетащили поле переменной и задали его свойства)

Если мы выводим переменную, то у неё есть куча интересных свойств, которые зависят от её типа. Можно задать текст для True/False, если она булевая. Можно задать текст до и после (чтобы значение сразу форматировалось в «Давление =» и «bar») и не надо было дописывать это текстом на экране. Можно запретить или разрешить редактирование переменной пользователем.

И конечно же выбрать переменную! Я сделал самое простое, что только можно было сделать! Создал две переменных: bDispTest и fDispTest и воткнул их на экране.

Выбрали переменную для экранного поля в OWEN Logic (для ПР200)

Особенность ПРок в том, что если в проекте есть только один экран, то ПРка сразу же его и будет показывать. Никакой код для этого писать не надо! И вот они — мои переменные:

Наш первый экран на ПР200 уже работает (отображаются две переменные)!

Наш первый экран на ПР200 уже работает (отображаются две переменные)!

Теперь давайте ещё раз проценим эту фичу! Я ТОЛЬКО лишь создал переменную и сразу же вытащил её на экран, причём разрешил её менять! Для этого никакую схему мне не пришлось чертить!

Если развивать прикол дальше — то из такой ПРки можно сделать лёгкую менялку переменных для какого-нить устройства по ModBus! =)) Берём переменные из ModBus и привязываем их сразу на экран, разрешаем изменение — и всё готово!

Чтобы изменить переменную на экране, надо нажать на реле кнопку «SEL». После этого одна из переменных начинает мигать, и её значение можно менять кнопками «Вверх» и «Вниз». Если переменных на экране много, то кнопка «SEL» перебирает их подряд, чтобы можно было выбрать именно ту, которую мы меняем.

Процесс изменения одной из переменных (Sel + стрелки)

Процесс изменения одной из переменных (Sel + стрелки)

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

Добавление строк экрана в OWEN Logic

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

Экран для реле ПР200, который содержит в себе несколько строк и будет прокручиваться

А вот пролистал его до третьей строки:

Мультистроковый экран в работе (прокрутили его на строку вниз, до третьей)

Мультистроковый экран в работе (прокрутили его на строку вниз, до третьей)

Итак, сделали вы себе разные экраны. А как теперь между ними переключаться?

Выбираем нашу группу экранов в менеджере и тыкаем пункт меню «Редактировать группу»:

Меню вызова редактора группы экранов в OWEN Logic

И у нас открывается редактор группы экранов. В этом редакторе показываются все экраны, которые входят в группу и их свойства.

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

Вот в свойствах-то и настраиваются условия перехода по экранам. Причём условий перехода может быть несколько штук одновременно (все они работают по «ИЛИ»). Чтобы добавить новый переход — выберите экран, ИЗ которого вы будете куда-то переходить, и нажмите кнопку с тремя точками в списке свойств (показано выше).

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

Задаём одно из условий перехода на другой экран в проекте ПР200

Условием может быть или аппаратная кнопка на реле (есть разные варианты их комбинаций) или булевая переменная, которую можно выбрать. Как только она меняется на True, то мы переходим на указанный экран.

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

Так как условия перехода на разные экраны можно добавлять несколько штук, то я сделал так: по «ALT+Вверх» я перехожу на экран «SubMain», а по «ALT+Вниз» — на экран «Error». Возврат с этих экранов делается по кнопке «ESC».

Все эти переходы отображаются в окне группы экранов линиями:

Схема экранов с переходами между ними по разным условиям (кнопки или переменные)

И вот я это тестирую. Зажал «ALT+Вниз» и получил свой экран аварии:

Тестируем переход: по Alt + Вниз перешли на экран 3 (Авария)

Тестируем переход: по Alt + Вниз перешли на экран 3 (Авария)

Применять экраны можно как угодно. Скажем, сделать один многострочный главный экран, где будет отображаться основное состояние системы, а в нём сделать булеву переменную «Режим» со значениями False/True, подписанными как «Работа»/»Настройки» и по ней переходить к другому экрану настроек, в котором забахать список меню настроек тоже через переменные. А по этим переменным включать другие экраны. А выход из всей этой вакханалии сделать по клавише Esc.

6. Менеджер компонентов. Загружаем компоненты и ModBus-модули от ОВЕНа!

Сейчас будет ещё одна фишка, за которую ОВЕНу надо ставить ещё один памятник! Это менеджер компонентов! Вызывается он из меню «Файл -> Менеджер компонентов»:

Меню, которое открывает менеджер компонентов в OWEN Logic

И вам открывается настоящий клондайк!

Окноно менеджера компонентов OWEN Logic (подгрузка шаблонов от ОВЕНа)

Менеджер компонентов — это онлайн-база (которая поддерживается и проверяется ОВЕНом), в которой есть много разных макросов для OWEN Logic, в том числе и шаблоны для модулей ввода-вывода серии Mx110 (RS-485). Прежде чем изобретать велосипед, стоит поискать его в этой базе!

База компонентов подгружается с сайта ОВЕНа, поэтому OWEN Logic будет проситься в инет. Можно пустить его один раз (что я и сделал), выбрать всё-всё-всё и загрузить его себе в локальную базу, а потом использовать оттуда.

Процесс выбора и загрузки нужных компонентов в OWEN Logic

Потом из локальной базы можно будет добавлять макросы в наш проект. Выбираем нужное и жмём кнопку «Загрузить в проект». Я себе регулятор с гистерезисом вот загрузил, хочу побаловаться им в тестовом примере.

Выбираем, какие из загруженных компонентов надо добавить в проект

После загрузки макрос этого регулятора появился у меня в списке доступных, и я перетащил его себе в схему-программу:

Наш компонент (из загруженных) добавился в раздел макросов, и мы можем его использовать

И — вуаля! Тот же механизм шаблонов поддерживается и на устройствах ModBus!! Вы заходите в настройки реле, тыркаете на слоте ModBus правой кнопкой и выбираете пункт «Добавить из шаблонов»:

Выбор шаблонов устройств ModBus (загруженных из менеджера компонентов)

У вас открывается окно для выбора файла шаблона (надо перейти в папки «Owen Logic\Library\PR200»). Я выбираю модуль аналоговых вводов:

Выбираем файл модуля аналоговых вводов, чтобы добавить его в шаблон

И он добавляется мне в устройства!

Добавили в интерфейс ModBus модуль аналоговых вводов из шаблонов

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

Я говорил, что кое-где интерфейс OWEN Logic немного не доработан. Вот, например, нет команды копирования устройства ModBus. И тут сохранение-загрузка шаблонов вас очень выручит.

Любое другое устройство ModBus (своё) можно тоже сохранить как шаблон

Я могу создать себе устройство (например, я сделал LED RGBW-диммер DDL24/DDL04R — вот пост про него), потом сохранить его как шаблон и несколько раз загрузить из шаблона. И я получу несколько его копий без ручного ввода всех переменых. Ну и конечно же, все свои любимые устройства можно себе сохранить как шаблоны и добавлять их в проект по мере надобности!

7. Макросы (аналог UDF в Logo). Сразу же делаем своё импульсное реле!

Помните, что я говорил? Что изначально OWEN Logic голый, как CodeSys! Поэтому, чтобы в следующем посте мне повторить примеры из Siemens Logo на импульсных реле — мне надо его создать! Я решил, что это хороший способ показать то, как в OWEN Logic программируются простые штуки и создаются макросы (которые в Logo звались UDF).

Макросами тут называются созданные нами функциональные блоки. Эти макросы имеют входы и выходы (любого типа, который доступен для переменных — Bool, Integer, Float), могут защищаться паролем (чтобы никто не спёр их внутренние исходники) и иметь параметры (для внутренних таймеров и прочих штук).

В новых версиях OWEN Logic появился текстовый язык ST, на котором гораздо удобнее писать некоторые вычисления (посмотрите этот пост как пример сложного задания, которое на ST легко решается). Пока ST есть только в макросах, но потом можно будет писать на нём и основную программу.

OWEN Logic предполагает, что макрос создаётся прямо внутри текущего проекта, а уже потом, если его надо сохранить отдельно (вне проекта), экспортируется во внешний файл. Ну и также можно загрузить макрос из внешнего файла. В этом случае он импортируется в проект. Также в макрос можно вложить другие маросы. Я знаю, что некоторые разработчики вообще почти весь проект фигачат в один большой макрос и ещё его паролем защищают!

В Logo макросы привязывались к файлам, из которых они подгружались в проект. С одной стороны это было удобно тем, что если ты обновил исходный макрос — то он обновится и в проекте. А с другой стороны это было плохо тем, что вместе с проектом надо было таскать ещё и все макросы. В OWEN Logic такого не будет: все нужные макросы станут частью одного файла проекта, а это удобнее для заказчика — получил файл с программой и пользуйся!

Итак, нам надо создать себе импульсное реле. Помнится, что для первого щита на ПЛК110 и CodeSys v2.3 я искал-искал импульсное реле… и дико тупил, потому совсем забыл книжки про цифровую логику, которые читал в детстве. Знаете, да? Такие книжки про микросхемы 155-ой серии, где рассказвали про всякие счётчики, триггеры, сдвиговые регистры. Так вот что такое импульсное реле, если описать его терминами цифровой логики? Это T-триггер — такой триггер, каждый импульс которого меняет состояние его выхода на противоположное.

Поэтому дальше нам надо найти информацию о том, что такое T-триггер и как его можно сделать. Ща вы будете ржать, потому что T-триггер — это частный случай D-триггера %) D-триггер — это самый навороченный вид триггера (на деле это не так, есть ещё круче — JK), и поэтому он поддерживается многими средами разработки, так как из него можно сделать все остальные виды триггеров (про триггеры можно почитать в Википедии).

Что умеет D-триггер? У него есть обычные для триггеров входы S и R, которые принудительно устанавливают триггер в «1» или в «0». А дальше начинается хитрость: D-триггер имеет вход «D» для сигнала (данных) и вход «C» для сигнала тактирования. Когда на «C» приходит сигнал, то то, что подавалось на вход D, записывается (передаётся) на выход триггера. Магия здесь следующая: если выход D-триггера подать через инвертор на его вход, то получится что по C триггер будет записывать в себя то «0», то «1» попеременно. Вот вам и импульсное реле =)

Итак, идём в меню «Файл -> Создать макрос…» (там же есть команды для импорта-экспорта макроса в файл):

Команда меню для создания макроса в OWEN Logic

Нас спрашивают о том, сколько входов и выходов будет иметь наш макрос:

Окно выбора количества IO-линий для макроса

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

После того, как макрос создан, линии IO тоже можно добавлять

Удаляются входы или выходы ещё проще: выбрали его и нажали «Delete».

После того, как мы создали макрос и нужное число входов и выходов, хорошо бы зайти в его свойства (ткнув на пустое место схемы) и задать ему название и описание для того, чтобы другие люди (или вы сами) вспомнили то, что делает этот макрос. Эти же название и описание будут потом отображаться в списке компонентов, так что не надо ими пренебрегать.

Свойства для того, чтобы изменять размер страницы поля для схемы

Ещё вы можете поменять размер листа со схемой макроса, задав нужные размеры (показаны рамкой на скриншоте выше).

Точно так же надо будет пройтись по входам и выходам макроса и задать им понятные названия и типы переменных (обязательно, так как по умолчанию все входы и выходы имеют тип Bool). Названия входов и выходов могут быть любые. Хорошим стилем именования будет, если их названия будут говорить о том, какие сигналы они принимают или выдают (Set, Reset, Clear, Out, Lamp и так далее).

Задаём свойства выхода нашего макроса (тип и название)

Теперь давайте наконец-то займёмся рисованием схемы нашего импульсного реле. Оно будет у нас совсем простое — вход для кнопки «Trig», вход для сброса «Reset» и выход на лампу «Out».

Перетаскиваем на нашу схему D-триггер (элемент DTRIG):

Перетаскиваем D-триггер в схему будущего макроса

И начинаем его подключать. Сначала самое простое — входы и выходы. В OWEN Logic нет специального режима для того, чтобы рисовать соединения. Вы просто подводите курсор мыши к концу нужного вывода, нажимаете и тянете линию:

Процесс рисования соединений между элементами схемы

Когда соединение уже сделано, вы можете выделить его и перетащить так, как вам удобно.

Нарисованные соединения можно отредактировать и передвинуть

В этом плане OWEN Logic рисует соединения поспокойнее, чем Logo Soft Comfort с его безумием и путаницей. Помните эту жесть?

Среда Logo Soft Comfort хреново рисует соединения — правим

Подключаем I1 на «C» триггера, I2 на «R» триггера, выход триггера «Q» — на Q1. И теперь нам нужно с выхода триггера через инвертор (NOT) завести сигнал на вход триггера «D».

И тут OWEN Logic на нас ругается:

Ошибка: цикличная связь между входами и выходами

Что это за хрень? А всё правильно он ругается! Мы же с вами зациклили триггер напрочь! ПРка будет бесконечно его переключать и зависнет! Правда, до ПРки дело не дойдёт, потому что такую программу нам не дадут никуда записать и пошлют в задницу.

Почему такое будет происходить? Помните старый-старый (но важный) пост о ПЛК и логических реле? Я там писал о том, что ПЛК и логические реле работают в циклах: берутся состояния внешних входов, потом обсчитывается схема, потом это выдаётся на внешние выходы. И так бесконечно в цикле. И вот представьте, что эту схему вы начертили так, что ПЛК/ПР получило команду: «Взять значение с выхода блока, подать его на вход — пересчитать блок — выход блока изменился — пересчитать всё, что относится к выходу блока — взять значение с выхода, подать на вход…» — и всё, аллес!

Что нужно сделать? Нужно каким-то образом разорвать этот бесконечный цикл зависаний. Например, сделать какую-то переменную, в которой мог бы быть промежуточный результат. С выхода записали его в переменную, потом прокрутили цикл, из переменной взяли и подали на вход. В Logo в этой роли у нас выступали маркеры «M (Flag)». Помните, во многих постах про Logo я про эти маркеры постоянно говорю и говорю, что хоть этих маркеров и будет 64 штуки, но они могут легко улететь на разные UDF, проброс кнопок для визуализации и другие задачки.

Так вот в OWEN Logic это знали (стопудово знали!), и решили эту задачу гораздо КРУЧЕ! Это ещё один случай, за который я хочу поставить памятник ОВЕНу! Вместо секса с маркерами и прочей сранью они создали специальный тип соединения в схеме, который называется «Линия задержки» и выбирается кнопкой на панели инструментов:

Злемент задержки для того, чтобы создавать цикличные связи правильно

Если прочертить соединение в схеме этим инструментом, то ПРка как раз-то и просчитает схему так, как мы хотели: «Подсчитай выход, потом погоди, потом подсчитай вход»!

Перечерчиваем этот кусок:

Теперь наша схема сделана правильно, задержка показана пунктиром

И ошибка исчезает — всё хорошо!

Линия задержки — это МЕГА-ВЕЩЬ!! Кроме этого примера с зацикливанием, линия задержки позволяет избавиться от гонок во времени. Помните мой UDF для Logo, который умел управлять светом, сохраняя и восстанавливая его значение? Вот он, посередине:

Мои блоки UDF для управления светом на Logo

Тут у меня есть сигналы «Set»/»Reset» и «Store»/»Restore». Первые принудительно включают или выключают блок, а вторые дают ему команду сохранить или восстановить значение. В чём тут сложность? А в том, что сигналы «Store»/»Restore» всегда должны срабатывать раньше сигнала «Reset», даже если они поданы на вход блока одновременно.

В Logo это приходилось решать коротенькими таймерами, которые давали мне задержку на сигнал Reset, тратили место в памяти и отнимали процессорное время. А вот у ОВЕНа я мог бы просто нарисовать на схеме задержку от входа Reset! ВОТ. И никаких дополнительных ресусов и памяти на это не потратилось бы!

Нам осталось проверить наше импульсное реле в работе. Для этого пользуемся встроенным симулятором OWEN Logic. Нажимаем на кнопку симулятора на верхней панели и запускаем его на нижней панели, которая появляется на экране:

Процесс тестирования нашего импульсного реле в симуляторе OWEN Logic

Я всё проверил: D-триггер переключается по I1, выход работает, I2 его принудительно сбрасывает и имеет приоритет выше, чем I1. Всё отлично! Наш макрос готов, и мы закрываем окно его редактирования.

Теперь он доступен для нашего проекта (ну и его можно экспортировать в файл, если мы захотим использовать этот макрос в других проектах).

Наш созданный макрос (импульсное реле) появился в списке доступных

А вот дальше в третьей части мы повторим классические схемы на импульсных реле, сделаем схему для управления вентилятором санузла и побалуемся с ModBus!

овен лоджик для чайников обучение

овен лоджик для чайников обучение

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

Но есть другой вариант, не намного дороже! Вместо релейной схемы автоматики, написать программу для программируемого реле ПР200.

Попробуем сегодня программировать Программируемое реле ПР200. Для начала нам необходимо скачать программу которой мы будем программировать.

В низу статьи можно скачать Руководство пользователя. Среда программирования OwenLogic, а также само программное обеспечение Среда программирования OwenLogic (версия 1.17.245)

Программное обеспечение OwenLogic

Алгоритм функционирования реле ОВЕН ПР определяется программой пользователя, которая создается в среде OwenLogic. В качестве языка программирования среда использует язык функциональных блоков, который полностью соответствует стандарту МЭК 61131-3/

Преимущества

Обзор функций и функциональных блоков

Запускаем среду программирования Owen Logic

Выбираем «Файл» > «Новый проект», в списке «Модели» выбираем наш прибор, в моем случае ПР200-24.2(4).Х

Для начала определимся с количеством входов и выходов:

Итак, у нас 7 входов и 6 выходов. Сразу записываем в порядке очереди:

Входа

Выхода

Вот в таком порядке мы и пишем программу.

овен лоджик для чайников обучениеБуду описывать самые важные моменты и выкладывать фото.

Овен лоджик для чайников обучение

В данном разделе на примерах объясняется процесс создания программ в OWEN Logic.

Включение света с автоматическим отключением

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

Задача — свет должен включаться на заданный интервал времени, например, у входной двери в квартиру, по следующему алгоритму:

Перед входной дверью устанавливаются датчик освещения (F1) и кнопка включения света ТАЙМЕР (SB1).

Если недостаточно естественного освещения, то светильник должен включаться кратковременным нажатием кнопки ТАЙМЕР на одну минуту – достаточно, чтобы найти замочную скважину и ключом открыть дверь.

Если удерживать кнопку ТАЙМЕР в течение 2 секунд, то светильник должен включаться на три минуты независимо от внешнего освещения – данный режим может потребоваться при уборке коридора.

Светильник должен управляться командами от внешних управляющих устройств или с помощью включателя СВЕТ (SA1), вне зависимости от внешнего освещения. Данный режим удобен во время приема гостей или для дальнейшей автоматизации квартиры в рамках системы «умный дом».

Светильник должен включаться только в вечернее и ночное время.

Выбор программируемого прибора

Для реализации данной задачи у управляющего прибора задействуются встроенные часы реального времени, три входа и один выход. Данный функционал обеспечивают приборы из серии ПР110, имеющие последнюю букву «Ч» в обозначении.

Для реализации системы на основе программируемого реле ПР110-24.8Д.4Р-Ч можно воспользоваться схемой на иллюстрации ниже.

овен лоджик для чайников обучение

SA1 — переключатель OFF-ОN;

SB1 — кнопка без фиксации OFF-ОN;

HL1 — световая лампа.

Создание программы

Электрическая схема для управляющей программы может иметь вид:

овен лоджик для чайников обучение

Выход Q2 используется как контрольный для проверки функционирования логической части (элементов D1–D6). Выход Q1 является основным и может включиться только в заданные таймером D7 интервалы времени в случае соблюдения логических условий, обеспечиваемых элементами D1–D6.

Описание работы схемы:

Если кратковременно (менее 2 с) нажать на кнопку ТАЙМЕР (SB1), логическая «1» поступает на вход логического элемента И (D2). Так как на втором входе D2 также присутствует логическая «1», на выходе D2 появится логическая «1», которая запустит формирователь импульса (D3) длительностью 1 мин. Данный импульс через элемент ИЛИ (D6) поступит на выход Q2.

Контакты датчика F1 замыкают цепь только в случае наличия естественного освещения – тогда логическая «1» на входе D1 преобразуется в логический «0» на выходе и поступает на вход логического элемента И (D2), что блокирует его работу. В данном случае нажатие кнопки ТАЙМЕР не включит выход Q2.

Если удерживать кнопку ТАЙМЕР более 2 с, на выходе блока D4 появится логическая «1», которая запустит формирователь импульса (D5) длительностью 3 минуты. Данный импульс через элемент ИЛИ (D6) поступит на выход Q2 (интервал действия импульса не зависит от состояния датчика F1).

Если тумблер СВЕТ (SA1) включен, то логическая «1» через элемент ИЛИ (D6) поступит на выход Q2 (на время включения тумблера СВЕТ SA1).

Если на второй вход логического элемента И (D8) поступает логическая «1» (от таймера реального времени D7) вместе с сигналом логической «1» с выхода элемента ИЛИ (D6), на выходе Q1 появится логическая «1» (выходное реле Q1 включится).

Холст проекта в OWEN Logic будет иметь вид:

овен лоджик для чайников обучение

Автоматическое управление электромотором мешалки

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

Задача обеспечить работу установки для перемешивания по следующему алгоритму:

В системе должны быть два режима работы: Автоматический и Ручной, переключаемых тумблером РЕЖИМ (SA1).

В автоматическом режиме электромотор должен включаться и отключаться нажатием кнопки ПУСК (SB1) через заданные интервалы времени (15 с – включен, 10 с – отключен). Установка должна отключаться через интервал в 5 минут или с помощью кнопки СТОП (SB2).

В ручном режиме электромотор должен управляться кнопками (без временных интервалов отключения).

В случае перегрузки электромотора (на котором устанавливается соответствующий датчик – F1) установка должна автоматически отключаться с индикацией режима Неисправность лампой HL1 и звуковым прерывистым сигналом (интервал повторения звукового сигнала – 3 с).

Звуковой сигнал должен отключаться кнопкой СБРОС (SB3).

С помощью кнопки КОНТРОЛЬ (SB4) должна проверяться исправность элементов сигнализации – работа лампы и звукового сигнала.

Выбор программируемого прибора

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

Для реализации системы на основе программируемого реле ПР110-24.8Д.4Р можно воспользоваться схемой:

Электрическая схема подключения: SA1 – переключатель OFF-ОN, SB1–SB4 – кнопки без фиксации OFF-ОN, M1 – электромотор, HA1 – звонок, HL1 – индикаторная лампа.

Работу программы прибора можно представить в виде цепей схемы, приведенной ниже (выходы Q1–Q3 соответствуют двум контактам клеммника программируемого реле ПР110-24.8Д.4Р).

овен лоджик для чайников обучение

Описание работы схемы

Цепь входа I2 (включение установки): в случае нажатия кнопки ПУСК (SB1) на входе S (D1) появляется логическая «1» – на выходе RS-триггера D1 установится логическая «1». Данный сигнал поступает дальше в зависимости от состояния включателя SA1:

если контакты SA1 (РЕЖИМ – Ручной) разомкнуты, логическая «1» проходит через элементы D8, D9 и поступает на выход Q1 (контактами выходного реле включится электромотор М1);

если контакты SA1 (РЕЖИМ – Автоматический) замкнуты, логическая «1» проходит только через элемент D3 для запуска работы блоков D4, D5.

Цепь входа I3 (отключение установки): при нажатии кнопки СТОП (SB2) или срабатывании датчика F1 на входе R (D1) появляется логическая «1» – на выходе RS-триггера (D1) установится логический «0» (включение выхода Q1 блокируется).

Цепь входа I1 (формирование интервалов работы электромотора): если триггер D1 включен и контакты включателя SA1 (РЕЖИМ – Автоматический) замкнуты:

сигнал логической «1» от SA1 проходит через элемент D3 и поступает на D4 (формирователь импульса с задержкой 5 мин). Данный импульс, проходя через элемент ИЛИ (D2), поступит на вход R триггера D1, и установка отключится;

сигнал логической «1» с выхода D3 поступает на D5 – генератор импульсов с параметрами: логическая «1» – 15 с, логический «0» – 10 с. Данные импульсы c выхода генератора проходят через элемент ИЛИ (D8) и поступают на выход Q1 для управления работой электромотора M1;

Если контакты включателя SA1 (РЕЖИМ – Ручной) разомкнуты, то логический элемент D3 заблокирован, и сигнал с выхода триггера D1 через элемент D6 сразу поступает на выход Q1, т. е. в данном режиме состояние выхода триггера управляет работой электромотора M1.

Цепь входа I6 (включение звуковой сигнализации): в случае срабатывания датчика F1 на входе S (D9) появляется логическая «1» – на выходе RS-триггера D9 установится логическая «1», которая включает генератор D10 с параметрами: логическая «1» – 3 с, логический «0» – 3 с. Данные импульсы проходят через элемент ИЛИ (D12) и поступают на выход Q2 для управления работой звонка HA1.

Цепь входа I7 (отключение звуковой сигнализации): в случае нажатия кнопки СБРОС (SB3) на входе R (D9) появляется логическая «1» – на выходе RS-триггера установится логический «0», и генератор D10 отключается.

Цепь входа I8 (контроль работы лампы и звуковой сигнализации): при нажатой кнопке КОНТРОЛЬ (SB4) логическая «1» через элемент ИЛИ (D11) поступает на включение выхода Q3 – лампа HL1 включится. Если контакты датчика F1 замкнуты, то выход Q3 включается. При нажатой кнопке КОНТРОЛЬ (SB4) логическая «1» через элемент ИЛИ (D12) поступает на включение выхода Q2, и звонок HA1 включится.

Холст проекта в OWEN Logic будет иметь вид:

Вывод значения переменной на экран

Задача – на приборе с подключенным к нему по интерфейсу связи модулю ввода необходимо считать значения на входах 1 и 2 модуля и вывести их на дисплей прибора.

Для разработки программы следует:

Создать новый проект в OWEN Logic.

Подключить шаблон сетевого устройства в проект. Для этого следует запустить менеджер компонентов и отсортировать компоненты по категории Шаблоны сетевых устройств. Из сгенерированного списка выбрать МВ110–8А и нажатием на кнопку Загрузить в проект скачать шаблон.

овен лоджик для чайников обучение

После добавления шаблона сетевого устройства в таблице переменных следует уточнить имена и типы переменных, которые планируется выводить на экран (Izm_fl1 и Izm_fl2). Это температуры, измеренные модулем, и передаваемые в прибор по протоколу Modbus. Переменные имеют тип с плавающей запятой.

овен лоджик для чайников обучение

Перейти в менеджер экранов.

Двойным нажатием по экрану открыть редактор экранов.

Из библиотеки компонентов добавить элемент Ввод/вывод (int/float).

Открыть свойства элемента и указать тип переменной – Вещественный. Затем в строке Переменная нажать на кнопку «».

овен лоджик для чайников обучение

В таблице переменных выбрать переменную Izm1 на вкладке RS-485, Слот1.

В поле Знаков в свойствах элемента указать необходимое количество знаков для вывода значения выбранной переменной. В поле После запятой указать количество дробных разрядов. В поле Длина указать общее количество знаков элемента. В поле Текст до набрать Т1 и поставить пробел для отделения значения от текста

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

На этом настройка одного элемента Ввод/вывод (int/float) завершена. Для упрощения дальнейшей работы следует скопировать элемент со всеми настройками, нажав на него ПКМ и выбрав в контекстном меню Копировать (или следует воспользоваться сочетанием клавиш Ctrl + C).

овен лоджик для чайников обучение

Вставить скопированный элемент поверх существующего, нажав ПКМ на экран и выбрав в контекстном меню Вставить (или воспользоваться сочетанием клавиш Ctrl + V).

На вставленном элементе изменить переменную на Izm_fl2 и заменить текстовый блок на Т2. Программа готова к загрузке в прибор.

Задание уставок таймеров с экрана

Задача – необходимо управлять задержками ФБ Blink (генератор прямоугольных импульсов) и TP (импульс включения заданной длительности) с дисплея прибора. Предусмотреть возможность преобразования задержек в миллиcекунды, секунды или часы. Дополнительно необходимо отображать заданную уставку ФБ на дисплее прибора.

Для реализации задачи был выбран ПР200.

Холст проекта с элементами приведен на иллюстрации ниже.

ФБ Blink (генератор прямоугольных импульсов) и TP (импульс включения заданной длительности) принимают в качестве уставок числа в целочисленном формате с дискретностью 1 мс.

Чтобы пересчитать уставки под нужные единицы времени следует:

для отображения значений в секундах, следует разделить введенное значение на 1000;

для отображения уставок в минутах следует разделить введенное значение на (60 ∙ 1000);

для отображения уставок в часах. следует разделить введенное значение на (60 ∙ 60 ∙ 1000).

овен лоджик для чайников обучение

Если необходимо выводить значение уставки с десятичными знаками, следует перевести число в тип с плавающей запятой и поделить на соответствующий коэффициент.

Пример

Для перевода 2500 миллисекунд в секунды следует: 2500 мс ÷ 1000 = 2,5 с.

Подключение ПР200 к OwenCloud через шлюз ПМ210 по протоколу Modbus RTU

Будем считать, что ПМ210 уже подключен к ПР200 и настроен для работы.

Для подключения следует:

Создать проект для ПР200 в OWEN Logic.

В окне настроек прибора задать параметры, как на иллюстрации ниже.

овен лоджик для чайников обучение

В настройках слота указать адрес 1 и добавить сетевые переменные, как на иллюстрации ниже.

овен лоджик для чайников обучение

Следует обратить внимание, что переменная с плавающей запятой (rVar) занимает два регистра в памяти прибора (в данном случае – 513 и 514).

Создать экран в менеджере экранов и добавить на него элементы Ввод-выход Int и Ввод-вывод Float. Привязать к ним переменные wVar и rVar. В настройках элементов для параметра Редактируемо следует поставить значение Да, чтобы иметь возможность изменять их с дисплея ПР200.

овен лоджик для чайников обучение

Загрузить проект в ПР200 (ПриборЗагрузить программу в прибор).

Зайти на главную страницу сервиса OwenCloud. Если еще не зарегистрированы в сервисе – необходимо пройти процедуру регистрации.

Перейти на вкладку Администрирование, открыть вкладку Приборы и нажать кнопку Добавить прибор ( овен лоджик для чайников обучение).

Указать следующие настройки:

Идентификатор – ввести IMEI сетевого шлюза (указан на корпусе шлюза);

Тип прибора – выбрать тип Произвольное устройство Modbus;

Адрес в сети – указать адрес 1;

Название прибора – ввести название прибора;

Часовой пояс – указать часовой пояс, в котором находится прибор.

овен лоджик для чайников обучение

Нажать кнопку Добавить.

Нажать на название прибора, чтобы перейти к его настройке:

овен лоджик для чайников обучение

На вкладке Общее/Общие настройки указать скорость опроса и настройки COM-порта прибора в соответствии с настройками в OWEN Logic. Нажать кнопку Сохранить для применения новых настроек. В случае необходимости можно изменить и другие настройки (например, период опроса).

овен лоджик для чайников обучение

На вкладке Параметры/Настройки параметров Modbus добавить параметры вручную. Следует обратить внимание, что адреса регистров указываются в шестнадцатеричной системе – поэтому используемые значения отличаются от тех, которые приведены в OWEN Logic – 512 (DEC) = 200 (HEX).

овен лоджик для чайников обучение

Перейти к просмотру значений параметров прибора. Изменить значения переменных с дисплея ПР200 и наблюдать соответствующие изменения в OwenCloud.

В случае необходимости изменения значений следует перейти на вкладку Запись параметров.

овен лоджик для чайников обучение

Упаковка/распаковка бит/целых чисел

Задача – необходимо считывать состояние входов прибора и выводить на экран состояние выбранного входа.

На иллюстрации ниже приведен холст проекта с использованием макросов из менеджера компонентов и настройки свойств элементов вывода на экран.

овен лоджик для чайников обучение

Обработка битовых переменных с помощью маски

Задача – по сигналу выходы включаются или выключаются. Если реализуется дополнительное условие — срабатывает вход 1, то выходы 2, 4, 6 и 8 должны принимать инвертированное состояние относительно текущего.

Для задания состояний выходов следует использовать макросы из менеджера компонентов — BOOL_INT и INT_BOOL.

Дополнительное условие данного примера можно реализовать с помощью побитного исключения XOR. В качестве маски можно воспользоваться целочисленной константой — 170 (10101010 в двоичном виде).

Холст проекта в режиме симуляции приведен ниже.

Овен лоджик для чайников обучение

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

Функциональная схема работы прибора:

овен лоджик для чайников обучение

Работу прибора можно представить в виде последовательно выполняемых шагов (рабочий цикл):

Время выполнения всех шагов зависит от сложности алгоритма программы (подробнее см. раздел Время цикла).

Разработка проекта и порядок работы

Создание и редактирование проекта

Для создания нового проекта следует:

Нажать кнопку овен лоджик для чайников обучениена панели инструментов или выбрать в главном меню Файл → Новый проект….

В открывшемся окне выбрать модификацию прибора и нажать ОК. Меню выбора прибора поддерживает фильтрацию по модели.

овен лоджик для чайников обучение

В главном окне OWEN Logic отобразится холст проекта, станут активными строка состояния, панели Библиотека компонентов, Свойства и Переменные.

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

Сохранить текущий или открыть сохраненный проект можно с помощью соответствующих кнопок на панели инструментов или в главном меню Файл.

Порядок программирования прибора в проекте:

Подключение прибора к ПК.

Загрузка разработанной программы в прибор.

Разработка программы

На холсте проекта создается программа на языке FBD с помощью блоков и элементов вставки из Библиотеки компонентов.

Отладка программы

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

Подключение прибора к ПК

Для подключения прибора к ПК следует настроить порт в OWEN Logic и с помощью кабеля подсоединить прибор. Далее на прибор подается питание (если требуется), и производятся настройки прибора в OWEN Logic.

Загрузка программы в прибор

После настройки соединения можно загрузить программу в прибор из OWEN Logic.

Онлайн отладка

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

Разработка программы

Разработку программы рекомендуется начать с планирования. План должен описывать все возможные состояния прибора во время функционирования (в виде диаграммы режимов, таблицы состояний, электрической или функциональной схемы и/или др.).

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

Размещение компонентов и создание связей

Компоненты размещаются на схеме путем выбора нужного компонента в панели Библиотека компонентов и перемещения на холст методом «drag & drop».

овен лоджик для чайников обучение

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

нажать ЛКМ на выход первого компонента. Линия присоединится к нему и потянется вслед за курсором мыши;

для создания изгиба линии следует нажать на холсте для отметки точки поворота линии;

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

овен лоджик для чайников обучение

Если типы входа и выхода компонентов не совпадают, то линия не создастся. Подробнее см. раздел Типы переменных.

Для выделения блока или компонента на схеме следует нажать по нему ЛКМ. Чтобы выделить несколько элементов схему, можно воспользоваться «лассо» – заключить нужные элементы внутрь растягивающегося вслед за курсором мыши прямоугольника, удерживая ЛКМ.

овен лоджик для чайников обучение

Настройка параметров компонентов

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

овен лоджик для чайников обучение

Свойства компонента или блока можно открыть с помощью контекстного меню.

овен лоджик для чайников обучение

Для разработки программы используются следующие блоки и функции, вызываемые на панели вставки:

Размещение текстового комментария на схеме

Размещение блока переменной для записи или чтения значений программы

Размещение блока с фиксированным числовым значением

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

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

Запись/чтение значений отдельных параметров из ФБ в переменную и наоборот

Конвертация значений различных типов для передачи

Переназначение порядковых номеров ФБ схемы

Изменение порядка вычисления значений выходов программы

Блок комментариев

Блок комментариев позволяет оставлять записи и комментарии на схеме проекта.

Чтобы добавить текстовый комментарий на схему, следует нажать на кнопку овен лоджик для чайников обучениена панели вставки. Затем удерживая ЛКМ начертить прямоугольную область блока комментариев на том месте схемы, где должен располагаться комментарий.

овен лоджик для чайников обучение

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

овен лоджик для чайников обучение

Чтобы цвет фона блока комментариев был виден, следует задать значение параметру Прозрачность фона более 20.

Для ввода текста следует дважды нажать ЛКМ на блок комментариев и ввести новый текст.

овен лоджик для чайников обучение

Блок переменной

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

Чтобы добавить блок переменной на схему, следует нажать на его пиктограмму на панели вставки:

овен лоджик для чайников обучениевходная переменная — для передачи значения в программу;

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

Затем нажать на схеме в то место, куда нужно поместить блок.

овен лоджик для чайников обучение

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

Для привязки переменной к блоку переменной следует:

Выделить блок переменной.

В свойствах блока переменной нажать кнопку «. » в поле Переменная или два раза нажать на блок переменной на схеме.

овен лоджик для чайников обучение

В открывшемся окне Таблицы переменных выбрать или создать новую переменную и нажать кнопку ОК. Выбранная переменная будет привязана к блоку.

овен лоджик для чайников обучение

Если после привязки блок переменной выделяется красным цветом, значит, присутствует ошибка. Сообщение об ошибке отображается в строке состояния.

овен лоджик для чайников обучение

Для блока выходной переменной доступна настройка Запись в конце цикла, которая служит для записи значения в переменную после всех операций чтения в рабочем цикле.

овен лоджик для чайников обучение

Блок константы

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

овен лоджик для чайников обучение

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

овен лоджик для чайников обучение

Значение константы можно отредактировать двойным нажатием на блок константы или выбором Изменить значение в контекстном меню блока.

овен лоджик для чайников обучение

Допустимые значения для типов константы:

Булевское от 0 до 1
Целочисленное от 0 до 4294967295
С плавающей запятой от –3,402823E+38 до 3,402823E+38

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

Линия задержки

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

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

овен лоджик для чайников обучение

Пример

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

овен лоджик для чайников обучение

Значения на входах и выходах блока:

Блок сетевой переменной

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

Для добавления на схему блока сетевой переменной следует нажать на кнопку:

овен лоджик для чайников обучение– передача значения из программы по сети;

овен лоджик для чайников обучение– получение значения в программу по сети.

Привязка переменной к блоку сетевой переменной

Для привязки переменной к блоку сетевой переменной следует:

Выбрать на схеме блок сетевой переменной.

Нажать на кнопку «. » в поле Переменная в свойствах блока сетевой переменной или два раза нажать на блок сетевой переменной на схеме.

овен лоджик для чайников обучение

В открывшейся таблице переменных выбрать или создать новую переменную для привязки и нажать кнопку ОК.

овен лоджик для чайников обучение

Присоединить выход/вход блока сетевой переменной к необходимому компоненту.

овен лоджик для чайников обучение

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

Блок чтения/записи в ФБ

Блок чтения/записи в ФБ используется для задачи или чтения значения параметра ФБ в процессе выполнения программы.

На схему могут быть добавлены блоки:

— записи значения в ФБ;

— чтения значения из ФБ.

Пример

В зависимости от значения на входе I1 в функциональном блоке BLINK1 значение параметра Длительность вкл. состояния будет иметь значение 2 или 10.

овен лоджик для чайников обучение

Для настройки блока записи значения в ФБ следует на панели свойств блока выбрать ФБ и имя переменной, в которую будет записываться значение.

овен лоджик для чайников обучение

Блок преобразования

Линия связи между компонентами программы может быть создана только для входа и выхода одного и того же типа: булевского, целочисленного или с плавающей точкой. Для создания линии связи между входом и выходом разных типов следует использовать блоки преобразования.

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

овен лоджик для чайников обучение

Типы блоков преобразования:

Преобразователь в булевское значение

Конвертация значения сигнала в булевское значение. Если значение на входе блока больше 0 (False), то на выходе блока будет 1 (True).

Преобразователь в целочисленное значение

Конвертация значения сигнала в целочисленное значение. Если на входе блока булевское значение 0 (False), то на выходе будет 0, если на входе 1 (True), то на выходе будет 1. Если на входе блока значение числа с плавающей запятой, то на выходе оно округляется с недостатком. Отрицательные значения с плавающей запятой конвертируются в 0.

Преобразователь в число с плавающей запятой

Конвертация значения сигнала в число с плавающей точкой. Для преобразования целочисленного в число с плавающей точкой добавляется дробная часть (int = 5 → float = 5,0000). Если на входе блока булевское значение 0 (False), то на выходе будет 0,0000, если на входе блока 1 (True), то на выходе будет 1,0000.

Перенумеровать компоненты

Для переназначения порядковых номеров компонентов на схеме следует нажать кнопку овен лоджик для чайников обучениена панели инструментов или выбрать в главном меню Сервис → Перенумеровать компоненты. Однотипные компоненты нумеруются по порядку сверху вниз и слева направо.

овен лоджик для чайников обучение

Порядок исполнения

Значения всех выходов и обратных связей в программе вычисляются в определенном порядке. Для изменения порядка вычисления следует нажать на кнопку овен лоджик для чайников обучениена панели отладки и в выпадающем меню выбрать Обратные связи или Выходы.

OWEN Logic перейдет в режим настройки порядка исполнения – на выходах и обратных связях отобразятся порядковые номера очереди исполнения.

Для изменения очередности исполнения следует дважды нажать ЛКМ на нужный выход или обратную связь и ввести число, какой по счету должна выполняться данная операция.

овен лоджик для чайников обучение

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

Программирование дисплея прибора

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

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

овен лоджик для чайников обучение

По умолчанию в Менеджере экранов отображается один экран.

овен лоджик для чайников обучение

Добавление экранов

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

Для добавления экрана следует кликнуть ПКМ по элементу Группа 1 и в контекстном меню выбрать Добавить экран.

овен лоджик для чайников обучение

Для удаления экрана следует кликнуть ПКМ по нужному экрану и в контекстном меню выбрать Удалить.

овен лоджик для чайников обучение

Для смены позиции экрана, его следует перетянуть, удерживая клавишу Shift, на новое место.

овен лоджик для чайников обучение

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

Свойства экрана

Для отображения свойств экрана на панели свойств следует дважды нажать на нужный экран в менеджере экранов.

Имя – для отображения в менеджере экранов и в заголовке редактора экранов;

Описание – текстовое описание экрана.

овен лоджик для чайников обучение

Переход к экрану

Если в проекте участвуют два или более экранов, то необходимо настроить переходы (условия переключения) между ними.

Для создания перехода следует:

Нажать ПКМ по элементу Группа 1 в дереве менеджера экранов и выбрать Редактировать группу в контекстном меню. Откроется вкладка редактора группы экранов.

Выбрать стартовый экран в редакторе группы экранов.

В свойствах экрана нажать «» в параметре Переход к экрану. Откроется меню создания перехода.

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

овен лоджик для чайников обучение

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

овен лоджик для чайников обучение

овен лоджик для чайников обучение

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

овен лоджик для чайников обучение

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

овен лоджик для чайников обучение

Редактор экранов

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

овен лоджик для чайников обучение

Экран может содержать несколько строк, переход к которым осуществляется с помощью кнопок прибора. Для добавления или удаления строк следует нажать на кнопку овен лоджик для чайников обучениеКонтекстное меню строки и выбрать необходимую команду.

овен лоджик для чайников обучение

В строках располагаются элементы управления, которые перетаскиваются из панели Библиотека компонентов методом drag & drop. Описания блоков приведены в разделе Элементы управления.

Копирование экранов

В менеджере экранов можно копировать экраны для вставки в текущий или другой проект. Для копирования выделенных экранов следует выбрать команду Копировать в контекстном меню экрана или группы экранов, либо нажать сочетание клавиш Ctrl + C. Несколько экранов можно выделить с помощью зажатой клавиши Ctrl или Shift.

овен лоджик для чайников обучение

Для вставки скопированных экранов следует выбрать в контекстном меню экрана или группы экранов команду Вставить, либо нажать сочетание клавиш Ctrl + V.

Вместе с экраном копируются все размещенные на экране элементы управления и свойства экрана. Привязанные к экрану переменные копируются в другой проект согласно разделу Копирование переменных.

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

Режим симулятора

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

Для перехода в режим симуляции следует нажать кнопку овен лоджик для чайников обучениена панели инструментов или выбрать в главном меню Сервис → Режим симулятора. Откроется панель симуляции.

Панель симуляции

овен лоджик для чайников обучение

Запуск симуляции в реальном времени

Пошаговая симуляция, выполняет 1 цикл программы

Пауза симуляции, повторное нажатие продолжает симуляцию

Остановка симуляции, переводит режим симуляции в первоначальное состояние

Поле ввода для задания периода обновления информации на схеме в миллисекундах

Поля ввода для задания времени цикла выполнения программы в режиме симулятора и выбора единиц измерения времени цикла

Открыть/закрыть окно для просмотра значений переменных на каждом шаге выполнения программы

Симулирование работы блоков часов

Для приборов с функцией часов реального времени открывается дополнительная панель, с помощью которой можно симулировать поведение ФБ CLOCK и CLOCK WEEK во времени.

овен лоджик для чайников обучение

Последовательность и правила работы в режиме симуляции

Порядок симуляции программы:

Запуск симулятора в одном из режимов: реального времени ( овен лоджик для чайников обучение) или в пошаговом ( овен лоджик для чайников обучение).

Задание значений входных сигналов на блоках программы:

овен лоджик для чайников обучение

Подбор значений параметров Период, мс и Время цикла для удобства симуляции.

Выход из режима симуляции для корректировки программы.

Режим симуляции работает по следующим правилам:

программа (вкладка Схема) и макросы моделируются по отдельности;

работа блоков, не имеющих связи ни с одним из выходов прибора или выходным блоком сетевой переменной, не симулируется;

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

Окно просмотра

Окно просмотра можно открыть или скрыть нажатием кнопки овен лоджик для чайников обучениена панели симуляции. Окно предназначено для просмотра значений переменных или входов/выходов на каждом шаге выполнения программы.

До запуска симуляции окно пустое.

овен лоджик для чайников обучение

Для добавления переменной для отображения следует нажать в пустое поле в колонке Имя, затем на кнопку «. ».

овен лоджик для чайников обучение

Откроется таблица переменных. В ней могут быть выбраны переменные проекта, входы и выходы.

овен лоджик для чайников обучение

Выбранные переменные добавятся в окно просмотра.

овен лоджик для чайников обучение

Также переменную можно добавить в окно просмотра нажатием ПКМ на переменную на схеме и выбором кнопки Добавить в окно просмотра в контекстном меню.

овен лоджик для чайников обучение

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

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

овен лоджик для чайников обучение

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

овен лоджик для чайников обучение

Настройка порта и подключение прибора

Чтобы открыть окно Настройки порта, следует выбрать в главном меню Прибор → Настройки порта или нажать на индикатор COM в строке состояния.

В окне Настройка порта выбирается номер используемого COM-порта и адрес подключаемого прибора, остальные настройки фиксированные и выводятся для справки.

овен лоджик для чайников обучение

Подключение прибора по USB

Для подключения прибора к ПК через порт USB следует:

Установить драйвер USB, который можно скачать на сайте www.owen.ru.

Подключить прибор к ПК и включить питание (если требуется). В зависимости от модели прибора для соединения используется комплект для программирования ПР-КП20 или кабель для программирования из комплекта поставки прибора. Номер эмулируемого COM-порта можно узнать в Диспетчере устройств ОС Windows.

овен лоджик для чайников обучение

овен лоджик для чайников обучение

Ввести номер COM-порта и адрес прибора (по умолчанию – 16) в окне Настройка порта и нажать ОК. Если подключение корректно, то в строке состояния отобразится наименование подключенного прибора.

Запись программы в прибор

Запись программы в прибор

Созданная программа записывается в ПЗУ прибора.

Для записи программы в прибор следует:

овен лоджик для чайников обучение

Если записывается программа с настройками для другой модели прибора, то появится следующее сообщение:

овен лоджик для чайников обучение

Переключение OWEN Logic в режим OFFLINE

Режим OFFLINE следует использовать, если в двух или более приложениях OWEN Logic на одном ПК настроена передача данных в один прибор. Приложения будут поочередно занимать порт, загрузка в прибор в таком случае прервется.

Приложения, которые не должны осуществлять загрузку, следует перевести в режим OFFLINE.

Режим OFFLINE включается/выключается кликом по имени прибора в строке состояния или в главном меню Сервис → Режим OFFLINE.

Онлайн отладка

Режим онлайн отладки служит для тестирования программы с реальными значениями с входов прибора. Для запуска режима онлайн отладки следует нажать на кнопку овен лоджик для чайников обучениена панели инструментов, OWEN Logic перейдет в режим онлайн отладки, в нем невозможно вносить изменения в проект. Откроется панель онлайн отладки. Онлайн отладка проводится только с подключенным к ПК прибором.

Последовательность и правила работы в режиме онлайн отладки

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

Для проведения онлайн отладки следует:

Запустить онлайн отладку нажатием на кнопку овен лоджик для чайников обучение.

овен лоджик для чайников обучение

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

Онлайн отладка доступна только для схемы проекта (для проверки работы макросов следует использовать режим симуляции).

Ручная задача значений

В режиме онлайн отладки на входы функций, ФБ и макросов можно задавать собственные значения, которые не будут зависеть от значений с входов прибора. Для задачи собственного значения в режиме онлайн отладки следует нажать на вход блока и ввести новое значение.

овен лоджик для чайников обучение

Если установить галочку Зафиксировать значение, то новое значение будет действовать в течение одного рабочего цикла и по окончании сбросится до значения с прибора или исходного значения.

В течение действия нового значения оно выделяется желтым цветом.

овен лоджик для чайников обучение

Если зафиксировать новое значение, то оно будет действовать каждый рабочий цикл до изменения вручную на другое или до отключения фиксации. Фиксация значений сбрасывается в случае выхода из режима онлайн отладки. Зафиксированное значение отмечается на схеме следующим образом.

овен лоджик для чайников обучение

Устранение неполадок

В случае обрыва связи с прибором режим онлайн отладки сбросится через 10 секунд, и прибор перейдет в рабочий режим. Если успеть восстановить связь, то онлайн отладка продолжится, но зафиксированные значения будут сброшены.

овен лоджик для чайников обучение

Сведения о проекте

Для запуска окна Сведения о проекте следует выбрать в главном меню Файл → Сведения о проекте….

Вкладка «Общие»

На вкладке Общие содержится информация о версиях OWEN Logic, в которых создавался и изменялся проект.

овен лоджик для чайников обучение

Вкладка «Алгоритм»

На вкладке Алгоритм можно указать и посмотреть информацию о группе, номере и версии программы для отображения в окне информации о подключенном приборе после записи.

овен лоджик для чайников обучение

Группа – определяет группу (семейство) алгоритмов;

Номер – определяет номер и позволяет отличать схожие алгоритмы в рамках группы;

Версия – определяет версию алгоритма. Рекомендуется для задания версии использовать формат Semantic Versioning.

Менеджер компонентов

Менеджер компонентов служит для загрузки в проект компонентов из онлайн-базы компании ОВЕН (требует подключение к Интернету) и управления компонентами, которые хранятся на ПК.

Для запуска менеджера компонентов следует выбрать в главном меню Файл → Менеджер компонентов.

Вкладка «Онлайн-база»

На вкладке Онлайн-база отображается список компонентов из онлайн-базы компании ОВЕН.

овен лоджик для чайников обучение

Выпадающее меню Компоненты позволяет отфильтровать список по типу:

овен лоджик для чайников обучение

Макросы дополнительно разделены на категории в зависимости от назначения:

овен лоджик для чайников обучение

Полное описание компонента можно прочитать, выделив его в списке. Описание компонента отображается в правой части окна. Для отображения полной документации к компоненту требуется Acrobat Reader.

овен лоджик для чайников обучение

Чтобы компоненты стали доступны без подключения к Интернету, следует их отметить галочкой и нажать кнопку Загрузить в библиотеку – компоненты загрузятся в локальное хранилище и будут отображаться во вкладке Библиотека.

Чтобы сразу загрузить компоненты в текущий проект, следует их отметить галочкой и нажать кнопку Загрузить в проект – компоненты будут добавлены в панель Библиотека компонентов в раздел Макросы проекта.

Успешная загрузка компонентов в локальное хранилище или текущий проект будет отображена в списке зеленой галочкой в графах Библиотека и Проект соответственно.

Для подключения сетевого шаблона к конфигурации прибора следует воспользоваться рекомендациями раздела Режим Master.

Вкладка «Библиотека»

На вкладке Библиотека отображается содержимое локального хранилища компонентов на ПК пользователя. Для загрузки компонентов в текущий проект следует выделить необходимые компоненты и нажать кнопку Загрузить в проект – компоненты будут добавлены в панель Библиотека компонентов в раздел Макросы проекта. Успешная загрузка компонентов в текущий проект будет отображена в списке зеленой галочкой в графе Проект.

овен лоджик для чайников обучение

Менеджер компонентов поддерживает следующие функции управления компонентами:

– импорт файла в локальное хранилище;

– экспорт файла из локального хранилища;

– удаление выбранных компонентов.

Импорт компонента

С помощью импорта можно загрузить хранящиеся на ПК компоненты, но не входящие в состав локального хранилища.

Для импорта компонента следует:

Нажать кнопку овен лоджик для чайников обучение.

В появившемся окне выбрать файлы для импорта.

Нажать кнопку Открыть. Файлы отобразятся на вкладке Библиотека.

Экспорт компонента

С помощью экспорта можно сохранить на ПК компоненты для дальнейшего изменения или передачи.

Для экспорта компонента следует:

Отметить галочкой необходимый компонент во вкладке Библиотека.

Нажать кнопку овен лоджик для чайников обучение.

В появившемся окне выбрать путь для экспорта.

Нажать кнопку ОК. Компонент сохранится в виде файла по указанному пути.

Прочее

Для документации к компоненту доступны функции в соответствии с установленной версией Acrobat Reader, в том числе сохранение файла в формате pdf и печать.

Для отображения результатов операций в менеджере компонентов следует нажать кнопку овен лоджик для чайников обучение– в нижней части окна раскроется строка сообщений.

овен лоджик для чайников обучение

Работа с макросами

Макрос – это пользовательский алгоритм для использования в проекте.

Основные действия с макросами:

сохранение в Библиотеке компонентов для дальнейшего использования в проекте;

экспортирование в файл для использования в других проектах;

импортирование созданных ранее макросов;

загрузка из онлайн-базы в проект.

Создание макроса

Для создания макроса следует:

Выбрать в главном меню Файл → Создать макрос. В открывшемся диалоговом окне задать количество входов и выходов в макросе:

овен лоджик для чайников обучение

Разработать алгоритм работы макроса во вкладке Редактор макросов, аналогично разработке программы на схеме.

овен лоджик для чайников обучение

Количество входов и выходов можно увеличить с помощью контекстного меню редактора или с помощью кнопок овен лоджик для чайников обучениеи овен лоджик для чайников обучение.

овен лоджик для чайников обучение

Чтобы удалить вход или выход, следует нажать по нему ПКМ и выбрать команду Удалить.

Задать имя и описание для макроса на панели свойств.

овен лоджик для чайников обучение

Введенное имя будет указано в заголовке редактора макросов и на схеме.

Для определения типа и имени входов/выходов выбрать вход или выход и настроить его на панели свойств.

овен лоджик для чайников обучение

Далее можно задать «видимость» из программы уставок ФБ, использованных в макросе.

овен лоджик для чайников обучение

Чтобы уставки выбранного ФБ были доступны во время использования ФБ в программе, следует настроить на панели свойств блока параметр Использование в макросе – Да.

После выбора варианта Да появится выпадающий список Переименование переменных с перечислением доступных переменных. Например, для ФБ BLINK:

овен лоджик для чайников обучение

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

Перед сохранением макроса можно заполнить поля: Имя, Описание, Автор, Имя группы и Пароль доступа.

овен лоджик для чайников обучение

Рекомендуется задавать недлинное и понятное имя макроса. Содержимое поля Описание отображается под изображением макроса в панели Библиотека компонентов.

Если пароль не задан (поле Пароль не заполнено), то доступ к редактированию макроса открыт для всех.

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

Макрос можно сохранить, выбрав в главном меню Файл → Сохранить макрос как или нажав на кнопку овен лоджик для чайников обучениена панели редактора макросов.

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

Выбрать раздел Макросы проекта на панели Библиотека компонентов и перенести макрос на холст проекта.

овен лоджик для чайников обучение

Создание макроса на схеме

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

овен лоджик для чайников обучение

Созданный макрос можно отредактировать в редакторе макросов, выбрав в контекстном меню блока Редактировать макрос.

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

Элементы, не попадающие в макрос при создании на схеме:

Если вышеуказанные элементы были выделены при создании макроса, то они будут соединены с соответствующим входом/выходом блока макроса. Если в выделенную область попал ФБ, в который записывается или считывается значение, то в макрос входит блок записи/чтения из ФБ, даже если он находится вне выделенной области.

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

Обновление макроса в программе

Если у используемого в программе макроса были изменены имя, тип, количество входов/выходов или добавлен элемент (переменная, константа) со свойством Использование в макросе – Да, то OWEN Logic потребует его обновить и отметит цветом на холсте. Макрос считается измененным после сохранения правок в Редакторе макросов.

овен лоджик для чайников обучение

Для обновления макроса на холсте следует:

Нажать по отмеченному цветом макросу ПКМ и в появившемся меню выбрать Обновить макрос.

овен лоджик для чайников обучение

После обновления макроса OWEN Logic автоматически перейдет к следующему макросу, требующему обновления.

Макрос обновляется в проекте по следующим правилам:

если в макросе изменен тип или имя входа/выхода с присоединенной связью, при обновлении связь будет разорвана;

если в макрос добавлены входы/выходы, при обновлении связи уже существующих входов/выходов не разрываются.

Быстрая замена макроса

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

овен лоджик для чайников обучение

Откроется окно «Заменить макрос».

овен лоджик для чайников обучение

Если в макросе изменен тип или имя входа/выхода с присоединенной связью, то при замене связь будет разорвана, остальные связи будут сохранены.

Экспорт макроса

Экспортировать макрос в файл возможно только при открытом окне редактора макроса. Для экспорта макроса следует выбрать в главном меню Файл → Экспорт макроса в файл.

Для экспорта макроса из панели библиотеки компонентов следует:

Открыть макрос в редакторе.

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

Выбрать в главном меню Файл → Экспорт макроса в файл.

овен лоджик для чайников обучение

В открывшемся окне выбрать место расположения и сохранить файл макроса с расширением *.tpl. После сохранения отобразится сообщение об успешном экспорте макроса.

Импорт макроса

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

Для импорта макроса следует выбрать в главном меню Файл → Импорт макроса из файла.

овен лоджик для чайников обучение

В открывшемся окне выбрать нужный файл и нажать кнопку ОК. Макрос будет добавлен в панель Библиотека компонентов в раздел Макросы проекта, теперь его можно использовать в проекте.

Читать:
Как нарисовать кольца олимпийских игр

Похожие статьи