В видеоуроке на примере простейшего терморегулятора для ПЛК ОВЕН ПР114 показано, как работать с вещественными переменными типа Float в среде ОВЕН Лоджик. Рассматриваются настройка аналогового входа (4–20 мА), масштабирование сигнала, создание уставки, гистерезиса, логики включения/выключения дискретного выхода, а также формирование аналогового выходного сигнала и проверка алгоритма в режиме эмуляции.
- 00:05 Введение: переменные Float и аналоговые сигналы
- 00:18 Аналоговые входы и выходы ПР114
- 01:00 Настройка аналогового входа и масштабирование
- 03:41 Создание уставки и констант
- 05:15 Арифметические операции и сравнение для Float
- 07:37 Логика терморегулятора с гистерезисом
- 11:19 Масштабирование уставки для аналогового выхода
- 13:31 Проверка работы в эмуляции
- ОВЕН ПР114
- ОВЕН Лоджик
Кому полезно: Инженерам АСУ ТП, программистам ПЛК, изучающим ОВЕН Лоджик и работу с аналоговыми сигналами.
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:05 В этом видео мы разберем работу с переменными типов лот и будем использовать аналоговые входы и выходы для создания новых алгоритмов. Несколько раз уже говорилось и в книге, и в процессе наших видеоуроков о том, что устройства марки пр 114 могут иметь несколько аналоговых выходов, это зависит от той. Модификации, которую вы заказываете и, соответственно, 4 входа в 114 могут быть использованы вами как аналоговые для измерения сигналов от 4 до 20 миллиампер и от 0 до 10 вольт.
0:48 Соответственно, работа с этими аналоговыми сигналами, то есть с цифрами, с 10 100 и прочими долями подразумевает добавление и использование системы программирования овен лоджик нового. Типа данных нового типа перемен, то есть до этого мы с вами использовали дискретные значения. Например, когда вот такие вот брали дискретные входы или дискретные выходы, кроме того. Мы с вами использовали целое значение, например, для того, чтобы подсчитывать импульсы для того, чтобы, допустим, задавать время работы таймеров или что то в этом соответственно теперь. Нам понадобится использовать переменные вещественные переменные типа флот с плавающей запятой. Но по разному они могут называться, но, по сути, это 1 и тоже значит для того, чтобы. Нам с вами опять же это показать, как то более наглядно. Да давайте мы на примере простейшего терморегулятора, ну на примере алгоритма, скажем, прибора. 3 1 Я думаю, многие из вас с ним. Знакомы не разберем работу с этими вещами, то есть попробуем простой терморегулятор Вовин. Лоджик для АПР 114 сейчас создать, что нам с вами для этого понадобится, нам с вами понадобится. 1 Аналоговый вход, это, собственно, измеренное значение. Предположим, температуру задайте устройство, можно следующим образом вы выделяете вход. Ну, например, это будет вход номер 9 и. Дальше заходите в его свойство. Раньше мы с вами говорили, что входы с 9 по 12 можно настраивать на дискретный режим работы. Сейчас же мы с вами оставляем режим работы аналоговый.
2:31 Ну и будем считать, что у нас с вами приходит сигнал от 4 до 20 миллиампер, и вы используете для подключения физически этого сигнала. Тот резистор, который имеется в комплекте поставки п 114 номинал которого 50. Здесь же можно. Настроить фильтрацию, как правило, в этом нет необходимости. Да, здесь же очень важно отмасштабировать сигнал, то есть задать какое значение у вас соответствует 4 милям 1 какой. 20 Милям делается это вот в этих вот 2 пунктах. Ну предположим, что у нас с вами температура изменяется на входе от она 50, она до 150 зададим такой диапазон изменений, естественно. В реальности вам необходимо посмотреть на тот датчик, который вы используете, какие реально значения. Он передает, используя диапазон от 4 до 20 милям помимо измеренной. Температуры нам для алгоритма терморегулятора понадобится значение уставки. Давайте его сформируем, предположим, что наша с вами уставка будет зафиксирована на значении 70 ты.
3:41 Задаем на рабочую область блок Константы с помощью вот этой вот кнопки в свойствах константы, мы указываем, что переменная. Обратите внимание, у нас с вами будет с плавающей запятой. Это важно, поскольку это значение, мы сейчас будем записывать у ставку, а уставку соответственно сравнивать уже с температурой. Ну и для того, чтобы эти значения можно было сравнить, они обязательно должны быть 1 и того же. Типа, с плавающей запятой, так и значение Константы. Мы здесь с вами оставляем 70 она, и вот это вот значение. Нам необходимо записать в промежуточную переменную, которую сейчас создадим, создаем вот такой блок выходной переменной.
4:27 Опять же, в его свойствах указываем тип переменной с плавающей запятой имя переменной. Ну, например, уст уставка можно задать ее энергонезависимый. Если хотите, но в данном случае это не принципе. Если температура у нас с вами будет больше, чем уставка + некое значение дистрезиса, ну, например, 10 мирка, тогда необходимо будет. Ну, допустим, какую то сигнализацию на дискретном выходе. На Шевроле включить, к примеру, мы с вами будем использовать 5 выход, выделяем выход, переходим на его свойства и указываем тип выхода. Дискретно режим работы дискретный то, что нужно.
5:15 Движемся дальше, важный момент заключается вот в чем. При работе с переменными типа флоуд при работе с переменными, с типами данных, с плавающей запятой в библиотеке компонентов. Нам с вами необходимо выделять арифметические операции, функции сравнения.
5:36 Отдельную группу, вот они для работы с переменными типа Фло. Да, здесь также есть арифметика, сложение, вычитание, умножение. Да, здесь есть возведение в степень взятия модуля, числа здесь есть. Блок проверки больше меньше, хорошо? Давайте мы с вами для начала сформируем ааа сигналы, уставка + гистерезий сустав, как она гистерезис. Да, для этого добавляем на рабочую область блок Эф Адд.
6:09 Ну и, соответственно, добавляем блок входной переменной переменная уст, выделяем его в свойствах, указываем имя переменной, вот она переменная отлично. Здесь же задаем константу равную, 10 то есть ставка. + 10 Это верхняя граница сигнализации и включения уставка, она 10, это ее нижняя граница соответственно отключения. Задаем константу. В ее настройках в ее свойствах указываем, опять же, с плавающей запятой и значение. 10 Кстати, небольшой момент, если вам необходимо будет сдавать значение с 10 сотами долей, здесь вы можете использовать. И точку, и запятую, да все это у Вин Лоджик одинаково успешно у вас вас при ну соответственно там, где десяток 100 долей. Нет, есть только целая часть указывать эти вещи, естественно, не обязательно.
7:15 Так и аналогичный блок, но уже теперь вычитания добавим чуть чуть ниже. В библиотеке компонентов выбираем блок Ф. Саб. Переносим его на рабочую область, ну и, собственно, те же самые сигналы, по сути, на него задают. В библиотеке компонентов находим блок проверки блок сравнения, и соответственно нам своим необходимо проверить следующее. Что, если температура, измеренная на 9 входе, будет больше, чем уставка + Гистерезис, тогда мы с вами, используя блок.
8:01 СР СР Триггер, да задавая его на рабочую область, сможем сигнализацию включать. же в библиотеке компонентов на вкладке функции снова находим блока и в жить и добавляем еще 1. И теперь говорим следующее, что если ставка ты 10. Будет у нас с вами больше, чем измеренное значение температуры. Ну или, другими словами, температура будет меньше, чем уставка, вода есть, Терезис тогда соответственно. Мы с вами сигнализацию сбрасываем, ну и с выхода блока СР тащим сигнал на собственно наш выходной. Вот такой простейший терморегулятор у нас с вами получился.
8:50 В этом же задании давайте посмотрим, каким образом мы можем из нашей программы из нашего алгоритма подавать сигнал на аналоговый выход, то есть формировать. Например, сигнал на выходе ну либо от 4 до 20 миллиампер, либо от 0 до 10 вольт зависимости от того, какие выходные элементы установлены на заказано вами пр 114.
9:14 Значит, вне зависимости от режима работы и выхода в его настройках выделяем выход. Ну, например, 8 выход в моем случае да смотрим его свойства. Тип выхода у вас здесь должен быть аналоговый и на самом деле неважно физически, это. Будет токовый выход или выход по напряжению. Принципиально важно, что в программе вот на этот элемент вы должны подавать значение типа флот, то есть значение с плавающей запятой, до который изменяется от 0 до единиц в случае. Тока у выхода 0 у вас будет соответствовать 4 миллиампером единица 20 миллиампером. Да, если вы задаете 5 ты ,10 ну и, соответственно, будет 12 миллиампер, то же самое с напряжением. 0 Это будет 0 Вольт, единица, это соответственно. Будет сигнал 10 вольт, сразу хочу обратить ваше внимание еще на 1 момент, но так, чтобы вы тоже чуть чуть ориентировались. Да еще раз повторимся сигналы точнее линии, по которым передаются дискретные сигналы в Овен Лоджии. Подсвечиваются вот таким вот образом черным цветом до целочисленные значения передаются по линии красного цвета. Что же касается сигналов с плавающей запятой, то они подкрашены фиолетовым цветом соответствующей линии связью на. Это тоже обращайте внимание, хорошо? Давайте представим себе ситуацию, что, допустим, то же самое значение уставки нам необходимо куда то дальше передать. Допустим, на контроллер или, может быть, в какую нибудь скаду систему и для? Этого планируется использовать сигнал от 4 до 20 миллиампер, то есть взять значение уставки и подать его на аналоговый выход нашего пр. 114 Для этого значения уставки нам необходимо преобразовать. Ну, предположим, уставка в. Программе у нас будет изменяться, ну, например, от 20 до 80, и соответственно нам нужно задать соответствующим образом. Да что, допустим, 4 миллиампера на выходе у нас будет соответствовать 20:20 Миллиампер, будет соответствовать 80 ты?
11:19 Преобразуем сигнал из переменной уст, давайте еще раз добавим блок входной переменной в его свойствах, найдем переменную уст, так и затем. Мы с вами из текущего значения переменной отнимем ее нижнюю границу диапазона. То есть сначала задать константу в ее свойствах укажем, что? Константа это будет с плавающей запятой и иметь значение 20. Затем в библиотеке компонентов найдем блок Ф суп. То есть вычитание чисел с плавающей? Запятой добавим на рабочую область, подведем соответствующие линии связи. И теперь для того, чтобы отмасштабировать сигнал, окончательный нам. Необходимо полученное значение Ставка ты 20 разделить на полный диапазон, то есть на 60 она от 20 до 80, что для этого дела задаем еще 1 константу.
12:23 В ее свойствах опять же указываем, что она будет плавающей запятой. Еще раз обращаю ваше внимание, вводим лоджик, мы всегда складываем, вычитаем, сравниваем числа только 1 типа с флотом целые, с целыми булевой. Переменной взаимодействуют только с болевыми, за этим последить так конструкция, так константа с плавающей запятой значение 60 и дальше. Используя блок ф диф, то есть деление вещественных чисел чисел типа. Флоуд мы производим вот такую операцию, Делим. В результате на выходе у нас с вами будет получаться значение как раз от 0 до единицы. Если уставка будет равна, 20 будет, 0 если ставка будет равна, 80 будет. Единица, если уставка будет равна, да 8? Ну, к примеру, 50, ты на выходе вот этого блока и, соответственно, на выходе нашего с вами реле будет значение, 0 5 которое прибор преобразует соответствующее количество.
13:31 С этим Тума все более или менее понятно. Давайте теперь вот эту вот нашу схему запустим на исполнение в эмуляции. Помните о том, что перед этим полезно проект сохранять, так? Хорошо, ну и давайте смотреть для того, чтобы вам проверить работу с аналоговым входом. Вы нажимаете на этот самый аналоговый вход? Левой клавишей мыши задаете какое то новое значение. Ну, допустим, 90, ты нажимаете окей. Естественно, перед этим полезно осуществить запуск аккумулятора. Вот они наши, 90%, соответственно, не больше, чем уставка. + Гистерезис, вы видите, у нас сигнализация с работы, если мы с вами изменим значение температуры, допустим, на 70%. Прежнему ничего не меняется, то есть, несмотря на то, что теперь температура меньше, чем у ставку + гестрезис. Она не выскочила за нижнюю границу, когда же мы с вами на входе зададим? Ну, например, 50, ты то после этого вы видите, что сигнализация у нас отключается.
14:43 Хорошо, думаю, с этим все более менее понятно. То есть тут достаточно простые, такие арифметические операторы? Самое главное, что необходимо было понять из этого видеоурока. Это то, что у нас с вами аналоговые входы. Аналоговые выходы во 1 настраиваются во 2, они работают с переменными типа флот со значениями типов. Лоуд, которые задаются Овен, лоджик передаются по линиям связи. Вот такого вот фиолетового цвета за этим последить.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.