Tag Archives: ПЛК ОВЕН

Прием СМС сообщений в программе ОВЕН ПЛК

В данном примере будет показано, как организовать удаленное управление при помощи СМС сообщений.

Программа ПЛК

Список переменных:

PROGRAM PLC_PRG

VAR

                Com                      :OpenPort;

                cfg                         :FB_SMS_CFG;

                sms                        :FB_SMS_SR;

                DevNum             :WORD;

                cfg_ok: BOOL;

                 var1                      :WORD;

                 var1_Alarm       :WORD :=5000;

                CheckListNum: STRING                :=’79012345678;7987654321′;

END_VAR

Как и в предыдущих примерах необходимо добавить в конфигурацию ПЛК модуль Universal Network Module, произвести его настройку. Также необходимо в программе открыть порт и произвести настройку модема. (Можно взять за основу пример http://plc24.ru/otkrytie-porta-i-nastrojka-modema-dlya-oven-plk/)

Зависимость поведения ФБ от значений на входах «CheckNum» и «CheckNumList» представлена в следующей таблице:

Вход «CheckNum» Вход «CheckNumList» Результат
1 Flase любое Принимает все входящие СМС
2 True Пустая строка (‘’) Не принимает входящие СМС
3 True Номер или список номеров (‘79012345678;7987654321’) Принимает СМС только с указанных номеров

Блоки 9-16 нужны для расшифровки текста сообщения: блоки 9,10,13 выделяют командное слово, блоки 11,12 выделяют значение переменной из текста.

Как только сообщение будет принято на выход «NewInRing» будет подан единичный импульс (одновременно с этим будут обновлены значения на выходах «NewInSmsText», «NewInSmsTime» и «NewInSmsNum»), что совместно с блоками 14,15 позволяет осуществить однократную запись нового значения в переменную «var1_Alarm». Это может быть полезно, если значение этой переменной задается несколькими способами, например, еще и с панели оператора.

Выход «NewInSmsNum» позволяет организовать разделение абонентов по уровням доступа.

Мой блог находят по следующим фразам

Отправка СМС сообщений нескольким получателям из программы ОВЕН ПЛК.

Пример аналогичен предыдущему (http://plc24.ru/otpravka-sms-soobshhenij-iz-programmy-oven-plk/) с той разницей, что сообщение с одним и тем же текстом надо отправить нескольким получателям сразу. Для этого можно использовать ФБ «FB_SMS_SL», входящий в состав  библиотеки SmsOwenLib.

Программа ПЛК

 

Список переменных

PROGRAM PLC_PRG

VAR

Com                      :OpenPort;

cfg                         :FB_SMS_CFG;

sms                        :FB_SMS_SR;

 

cfg_ok                  :BOOL;

DevNum             :WORD :=0;

 

var1                      :WORD;

var1_Alarm       :WORD :=5000;

 

sl                            :FB_SMS_SL; (*дополнительный блок для отправки группе получателей*)

listNum                :ARRAY [0..2] OF STRING(10):=3(‘79012345678’); (*массив номеров получателей, обязательно с начинаться должен с нуля*)

END_VAR

 

Мой блог находят по следующим фразам

Открытие порта и настройка модема для ОВЕН ПЛК

Вначале необходимо добавить в конфигурацию ПЛК модуль Universal Network Module, указать к какому интерфейсу будет подключен модем.  Затем произвести настройку порта (указать скорость, число стоп-битов и т.д.), рис.1. Режим можно указывать любой, как ASCII так и RTU.

Рис.1. Настройка модуля Universal Network Module.

Программа:

Рис.2. Алгоритм работы программы.

Список переменных проекта:

PROGRAM PLC_PRG

VAR

Com                      : OpenPort;

cfg                         :FB_SMS_CFG;

cfg_ok                  :BOOL;

DevNum             :WORD :=0;

END_VAR

В данном примере порт будет открыт всегда, при необходимости освободить его достаточно подать на вход «Enable» ФБ «com» значение False.

ФБ «cfg» по окончанию конфигурации модема установит на выходе «Done» значение True в не зависимости от того, были ли ошибки или нет, поэтому необходимо проверять значение на выходе «ErrCode». В данном примере в случае возникновения ошибки блок будет перезапущен и конфигурация модема будет произведена повторно.

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

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

 

Мой блог находят по следующим фразам

Работа с подменю ПЛК63,73

Подмодули (подэлементы) пользовательских параметров могут добавляться или удаляться пользователем в модулях (элементах) конфигурации «SubMenu (Ветки пользовательского меню)». Настройка пользовательских параметров производится аналогично настройке фиксированных модулей. Процедура добавления параметров проиллюстрирована на рисунке 1.

Рисунок 1 – Подключение нового уровня вложенности либо нового пользовательского параметра

При добавлении пользовательских параметров требуется задавать их тип – «Конфигурационный» либо «Оперативный» (см. рисунок 2). Конфигурационные пользовательские параметры – значение этих параметров считывается из EEPROM при запуске контроллера. Конфигурационные пользовательские параметры доступны для редактирования с передней панели и для чтения / записи по сети (при условии установленных атрибутов). Введенные в ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») новые значения этих параметров не сохраняются в EEPROM и не доступны по сети RS.

Введенные с передней панели ПЛК или по сети значения конфигурационных параметров сохраняются в EEPROM, и при выключении питания будут сохранены. Оперативные пользовательские параметры доступны для редактирования с передней панели, по сети (при условии установленных атрибутов) и из ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») при редактировании значения канала в рамках установленных минимального и максимального значения. Значения оперативных параметров сохраняются в ОЗУ, и при выключении питания последнее значение параметра не будет сохранено. При включении питания значение параметра примет значение, установленное по умолчанию.

Рисунок 2 – Задание типа пользовательского параметра

 Подэлемент «SubMenu (Ветка)»

В модули «SubMenu (Ветки)» можно добавлять подмодули (подэлементы) «SubMenu» (Ветка), представляющие собой вложенные ветви меню для объединения параметров по группам (веткам). Вложенность Submenu может достигать четырех уровней.

Пользовательские параметры

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

Параметры типа «DateTimeP», «DateP», «TimeP» не влияют на задание значений часов реального времени ПЛК, а служат для передачи в пользовательскую программу информации об определенном времени, например – о времени включения какого-то устройства или о времени и дате перехода в специальный режим.

«FloatP» – подэлемент, задающий число с плавающей точкой типа Real (IEEE Float 32); имеет канал типа «Real». Для задания номера регистра по протоколу Modbus следует учитывать, что значение должно быть четным, т.к. параметр занимает 2 регистра (4 байта).

«IntP» – подэлемент, задающий целое число в диапазоне от 0 до 65535; имеет канал типа «Int».

«ByteP» – подэлемент, задающий значение стандартного типа Byte.

«DateTimeP» – подэлемент, содержащий дату и время; имеет канал типа DWord, в котором хранится значение времени и даты в специальном формате.

Значение параметра задается в формате ДД.ММ.ГГГГ ЧЧ:ММ:СС, см. рисунок 3. Максимальное и минимальное значение для данного параметра не устанавливается.

Для преобразования данных подэлемента «DateTimeP» в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

Рисунок 3 – Формат значения параметра «DateTimeP»

 − «DateP» – подэлемент, устанавливающий дату; имеет канал типа DWord, в котором хранится значение даты в специальном формате.

Значение параметра задается в формате ДД.ММ.ГГГГ. Максимальное и минимальное значение для данного параметра не устанавливаются. Для преобразования данных параметра «DataP» в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

«TimeP» – подэлемент, задающий время; имеет канал типа DWord, в котором хранится значение времени в специальном формате. Значение параметра задается в формате ЧЧ:ММ:СС. В аналогичном формате задается минимальное и максимальное значение.

Для преобразования данных параметра TimeP в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

«BoolP» – подэлемент, задающий булевский параметр: состояние «Вкл.» (Включено) или «Выкл.» (Выключено); имеет канал типа Bool. Максимальное и минимальное значение для данного параметра не устанавливается.

«StringP» – подэлемент, задающий строку; имеет канал типа String 16. Параметр может использоваться для передачи в программу ПЛК строковой информации по сети. Параметр не доступен для изменения с передней панели.

Если установлен флажок переключателя «Разрешить изменения значения по сети», то параметр доступен для изменения его по сети и из программы ПЛК.

Если флажок не установлен, то в параметр можно записывать только значения из программы ПЛК.

Если для параметра задан тип «Конфигурационный», то параметр будет отображать статическую строку, недоступную для редактирования ни с передней панели ПЛК, ни по сети.

«EnumP» – подэлемент, имеющий вид списка с набором заранее определенных значений; при редактировании параметра с передней панели на ЖКИ отображаются строки из списка. Список изначально определен в ПО контроллера и не может быть изменен пользователем. Модуль имеет канал типа Byte, в котором содержится позиционный номер выбранного элемента списка.

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

Рисунок 4 – Формат значения параметра «EnumP»

«PointP» – подэлемент задает точку графика – соотношение значений переменных (X и Y). Добавив требуемое количество подэлементов, можно определить зависимость (график) Y=f(X). Значение вводится в поле «Значение /По умолчанию» в формате: «Координата Х; Координата Y». Диапазон задания координат Х и У от минус 3276.7 до 3276.7. Модуль имеет канал типа DWord имеющий формат: 4-х байтовое поле, в котором первые 2 байта – это значение координаты Y, вторые два байта – координаты X, значения которых умножено на 10 в степени, заданной параметром «Знаков после запятой»(см. рисунок 5).

Значение параметра «Знаков после запятой» (0, 1, 2 или 3) задается для обеих координат. На ЖКИ будет отображаться столько знаков после запятой, сколько указанно в этом параметре. Например, если в поле «По умолчанию» указаны значения 11; 12.5 , а параметру «Знаков после запятой» задано значение 2, то на ЖКИ отобразятся значения 11.00 и 12.50.

Для преобразования координаты точки графика в стандартный формат используется специальная функция «DWORD_TO_POINT» из библиотеки «Owen_specific_tools». Для преобразования из стандартного формата в фор-мат «DWORD» используется функция «POINT_TO_DWORD» из библиотеки «Owen_specific_tools».

Рисунок 5 – Формат значения параметра «PointP»

 − «Graph8P», «Graph5P», и «Graph3P» – подэлемент задает совокупность точек графика – соотношения значений переменных (X и Y) в точках, количество которых определяется наименованием выбранного подэлемента – 8, 5 или 3,. Добавив требуемое количество подэлементов, можно определить зависимость (график) Y=f(X). Каждый подмодуль представляет из себя «ветку» конфигурации, содержащую группу параметров (каналов) и параметр – количество точек.

Рисунок 6 – Формат значения параметра «Graph8»

 Число одновременно отображаемых переменных в окнах отладки и/или визуализации сокращено. Точное количество переменных для отладки зависит от их типа и от частоты их обновления, но в среднем количество переменных для отладки и визуализации не должно превышать 30-50 штук. Это ограничение не относится к общему количеству переменных, используемых в проекте.

Модуль дискретных входов (Discrete input) ОВЕН ПЛК

Модуль дискретных входов (Discrete input) отображает в области памяти ввода/вывода значения дискретных входов ПЛК. ID=100.

Модуль имеет 8-ми битовый канал.

Параметры модуля:

«Время фильтрации» (Time of filtration) – диапазон значений от 0 до 10000, значение по умолчанию – 10 (1 ед. = 100 мкс, 10 ед. = 1 мс).

На вкладке модуля дискретных входов представлены восемь одноименных параметров «Время фильтрации» – для каждого битового канала (входа), соответственно.

«Видимость» (Visibility) – задает видимость параметров модуля в программе EasyWorkPLC. Значения выбираются из списка «yes» и «no», значение по умолчанию – «yes».

Список подмодулей: Триггер (Trigger), счетчик (Counter) и энкодер (Encoder).

Параметр «Время фильтрации» (Time of filtration)

Время фильтрации – это период 1 опроса значения входного сигнала, задается в сотнях микросекунд (1 ед. = 100 мкс, 10 ед. = 1 мс).

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

Принцип действия фильтрации:

  • при 8 последовательных выборках из входа, если число единиц <2, то результатом фильтрации является логический нуль, >5 – логическая единица 5 если единиц 2 – состояние не изменяется.

Фильтрация осуществляется в диапазоне от 1 до 10 000 (0.0001..1 с на выборку).

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

Параметр «Видимость» (Visibility)

Работа конечного пользователя с Конфигуратором может осуществляться с помощью специализированной программы EasyWorkPLC разработки ПО «Овен». При установке для конкретного модуля значения «yes» параметра «Видимость», параметры этого модуля становятся видны в программе EasyWorkPLC.

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

Описание канала модуля конфигурации ОВЕН ПЛК

В составе модуля есть каналы – битовые и байтовые. Канал – это переносчик единицы информации (данных) от внешнего оборудования в область памяти ввода/вывода. Каждому каналу соответствует переменная в области ввода/вывода. Канал и соответствующая ему переменная могут быть поименованы, и по присвоенному имени к переменной можно обращаться в программе, либо в программе возможен вызов переменной канала по тому адресу, который у нее установлен аппаратно: например, %IX 0.0.1 8-ми битовый канал может быть использован в программе как 8-битное число, либо как 4 или 8 отдельных друг от друга битов. Именование канала производится следующим образом: двойным щелчком манипулятора «мышь» при курсоре, установленном в начале строки названия канала, осуществляется переход в режим редактирования и вводится имя переменной канала.

1. Имя состоит из латинских букв, цифр и знака «_» (подчеркивание).

2. Имя должно начинаться с буквы или знака «_».

3. Имя должно быть уникальным.

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

Экранная форма, представленная ниже, иллюстрируют процесс именования канала – появление поля ввода символов.

Ввод и редактирование имени переменной канала

 Данные, появляющиеся во вкладке «Базовые параметры», носят информационный характер и не редактируются. Для канала программа выводит следующую информацию:

  • комментарий – характеристика канала (например, для модуля дискретных входов – «8 discrete inputs» = «8 дискретных входов»);
  • идентификационный номер канала в общей иерархии;
  • класс;
  • размер (в битах).

Для битового канала программа выводит только комментарий с номером битового канала, например, «Bit 3».

Представление модулей в экранной форме Конфигуратора ОВЕН ПЛК

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

Вкладка базовых параметров (Base parameters) идентична для всех модулей и содержит следующие значения:

  • идентификационный номер модуля – Modul id;
  • положение модуля на его уровне иерархии в общей конфигурации – Node id. Это значение можно редактировать, в таком случае аналогичные идентификаторы других модулей одного уровня иерархии будут сдвигаться;
  • адреса областей ввода-вывода – Input, Output, Diagnostic Address – приводятся конкретные номера. Они могут понадобиться при программировании, если будет необходимо обращаться к ним.

Значения недоступны для редактирования.

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

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

Вторая вкладка правой части экранной формы – «Параметры модуля» (Module parameters) – содержит параметры модуля, представленные в виде таблицы, содержащей столбцы: номер параметра (Index), имя (Name), значение текущее (Value), значение по умолчанию (Default) и минимальная (Min) и максимальная (Max) величины диапазона возможных значений.

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

Модуль дискретных входов. Вкладка «Параметры модуля»

 

 

Типы модулей в Конфигурации ОВЕН ПЛК

В Конфигурации присутствуют 3 типа модулей:

  • фиксированные – жестко задаются и не могут быть удалены или заменены. Допускается только редактирование их параметров;
  • тип SLOT – означает, что зарезервировано место для модуля, которое может быть занято или оставлено пустым. На одно зарезервированное место может быть установлен 1 модуль;
  • свободный тип (VAR) – означает возможность установить любое количество модулей (с учетом физических возможностей области ввода/вывода).

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

Добавление модулей типа SLOT и VAR осуществляется инициированием опции Append Subelement («Добавление подэлемента») в контекстном меню, вызываемом нажатием правой кнопки манипулятора «мышь» при установке курсора в дереве Конфигурации ПЛК, и последующим выбором конкретного модуля из выпадающего списка. После появления экранной формы модуля его параметры соответствующим образом настраивается, как это необходимо для функционирования этого подэлемента

Запуск конфигуратора ОВЕН ПЛК

Утилита PLC Configuration (Конфигуратор ПЛК) доступна пользователю на вкладке ресурсов (Resources) Организатора объектов среды разработки CoDeSys (далее – CoDeSys). Конфигуратор является редактором ресурсов ПЛК, относящихся к области ввода-вывода, через которую программа ПЛК осуществляет информационный обмен с внешней средой. В конфигурации присутствуют модули, отвечающие за структурирование областей ввода и/или вывода, каждый из которых может содержать вложенные подэлементы (субмодули и каналы). Для каналов могут быть назначены символические имена. Прямые МЭК адреса отображаются в конфигурации для каждого символического имени.

Первоначальный вид экранной формы редактора конфигурации в окне CoDeSys задают файл (файлы) конфигурации *.cfg. Они располагаются в директории, определенной в целевом файле (Target file) и считываются при открытии проекта в CoDeSys.

Запуск Конфигуратора ПЛК

 Окно редактора конфигуратора ПЛК разделено на две части. В левой части окна отображается иерархическая структура – дерево Конфигурации ПЛК. Структура и компоненты дерева могут быть изменены пользователем CoDeSys. В правом окне показаны доступные в момент работы пользователя диалоги конфигурации в виде одной или нескольких табличных вкладок. В этих таблицах задаются значения параметров элементов Конфигурации ПЛК

В работе пользователя при переходе от Target file иного производителя к Target file разработки ОВЕН в окне PLC Configuration возникает следующая ситуация: дерево Конфигурации отсутствует. Для создания стандартной Конфигурации пользователь вызывает в главном меню среды разработки опцию Extras|Standard Configuaration.

Примечание. Если потенциально возможен переход от одного Target File фирмы Овен к другому, существенно отличающемуся от первого (например, от ПЛК100 к ПЛК150), необходимо задавать переменные в области программ (POU) или глобальных переменных (Global Variables), т.к. при задании Standard Configuaration пропадают переменные, заданные в редакторе PLC Configuration, и ранее созданное распределение и именование переменных теряется. При объявлении глобальных переменных их имена не будут потеряны, и при переходе к другому Target File останется только скорректировать адреса.

 

Запуск стандартной Конфигурации

 При настройке конфигурации пользователь может изменить параметры функционирования ПЛК, установленные по умолчанию :

Минимальное значение цикла работы ПЛК, в мс (MinCycleLength, ms) – параметр определяет минимальный период, с которым ПЛК выполняет полный цикл своей работы. Диапазон значений от 1 до 50 мс, значение по умолчанию – 1 мс.

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

Максимальное значение цикла работы ПЛК, в мс (MaxCycleLength, ms) – параметр определяет максимально допустимое время, за которое ПЛК выполняет полный цикл своей работы. В случае превышения этой величины при работе ПЛК будет принудительно перезагружен. Диапазон значений от 1000 до 10000 мс, значение по умолчанию – 1000 мс.

Параметры работы ПЛК

Установка выходного значения модуля аналогового вывода IPC-7021 с периодичностью 1 с и изменение значения с ОВЕН ПЛК

Производится запись одного выходного значения у модуля IPC-7021 с шестнадцатиричным адресом 18.

Описание формата обмена с модулем IPC-7021:

Формат запроса:

#AA(данные)[CRC][CR]

где: # – разделитель;

AA – адрес прибора;

+025.12 – выходное значение (5 чисел + знак + точка) итого семь символов

CRC – контрольная сумма;

CR – перевод строки.

Формат ответа:

![CRC][CR]

где: ! – разделитель в случае положительного ответа;

CRC – контрольная сумма;

CR – перевод строки.

Окно конфигурирования модуля DCON (Master) с подключенным к нему модулем Universal DCON device, настроенным для периодической записи выходных значений в модуль IPC-7021, проиллюстрировано на рисунке 1.

Рисунок 1 – Окно конфигурирования модуля Universal DCON device модуля DCON (Master) для периодической записи выходных значений в модуль IPC-7021

Данные, посылаемые в модуль IPC 7021, задаются во входной переменной «power» типа Float (REAL) модуля Universal DCON device.

Модуль Universal DCON device настраивается следующим образом:

Request format – формат строки запроса – #18[7f][+],

где: # – символ разделителя команды опроса входов;

18 – адрес прибора в шестнадцатиричном формате (для букв используется верхний регистр!);

[7f] – спецкоманда, указывающая на то, что семь символов запроса должны быть сформированы в виде числа в формате [знак]число..число.число..число. Данные должны быть взяты из входной переменной, которая должна иметь формат float;

[+] – спецкоманда подсчета и добавления в конец запроса контрольной суммы «по модулю 256».

Внимание! Символ возврата каретки вставляется автоматически!

Good response format – формат положительного ответа – !,

где: ! – начальный символ строки положительного ответа. В рассматриваемом случае положительный ответ не содержит значащей информации, для его идентификации достаточно одного первого символа.

Bad response format – формат отрицательного ответа – ?,

где: ? – начальный символ строки отрицательного ответа. В рассматриваемом случае отрицательный ответ не содержит информации, для его идентификации достаточно одного первого символа.

Max response timeout – максимальное время ожидания ответа – 50 мс. Задается в соответствии с рекомендациями производителя прибора.

Work mode – режим работы – both (по времени опроса и смене значения одной из входных переменных). Этот режим позволяет генерировать запросы по таймеру (параметр Polling time) и при изменении значения входной переменной модуля.

Polling time – время опроса – 1000 мс.

Задает период записи значения в модуль IPC-7021.

Мой блог находят по следующим фразам