Приемы работы и примеры разработки пользовательских программ представлены
в документе «Первые шаги с CoDeSys V2.3» на сайте owen.ru.
Программные компоненты (POU)
Пользовательская программа создается в CODESYS на любом из доступных
языков программирования и может состоять из одного или нескольких
программных компонентов (POU).
К программным компонентам (POU) относятся:
-
программы;
-
функции;
-
функциональные блоки.
Отдельные POU могут включать действия (подпрограммы). Каждый программный
компонент состоит из раздела объявлений и кода. Для написания всего
кода POU используется только один язык программирования.
CODESYS поддерживает все описанные стандартом МЭК компоненты. Для
использования стандартных элементов достаточно включить в проект библиотеку standard.lib (подробнее о библиотеках см. раздел).
Программные компоненты могут вызывать другие программные компоненты,
но рекурсии недопустимы.
Главная программа, выполняемая циклически, должна называться PLC_PRG. В проекте могут быть определены несколько задач с различными
условиями выполнения. Работа с задачами описана в разделе «Конфигуратор
задач (Task Configuration)» документа «Руководство пользователя
по программированию ПЛК в CoDeSys V2.3».
Внимание
Если в окне «Конфигурация задач (Task Configuration)»
определена последовательность выполнения задач (см. раздел), то проект может не содержать PLC_PRG.
Нельзя удалять или переименовывать POU PLC_PRG в однозадачном проекте
– если не используется «Конфигурация задач (Task Configuration)».
В однозадачном проекте PLC_PRG является главной программой.
Программа
Программа – это программный компонент (POU), способный формировать
произвольное число значений во время вычислений. Значения всех переменных
программы сохраняются между вызовами. В отличие от функционального
блока, экземпляров программы не существует. Программа является глобальной
во всем проекте.
Программу нельзя вызывать из функции. Если вызвать программу, которая
изменит значения своих переменных, то при следующем вызове ее переменные
будут иметь те же значения, даже если она вызвана из другого POU,
что является главным различием между программой и функциональным блоком,
в котором изменяются только значения переменных данного экземпляра
функционального блока.
Список объявлений программы (в разделе объявлений окна редактирования)
начинается с ключевого слова PROGRAM и следующего за ним имени программы.
Функция
Функция – это программный компонент (POU), который возвращает только
единственное значение (которое может состоять из нескольких элементов,
если это битовое поле или структура). В текстовых языках функция вызывается
как оператор и может входить в выражения.
При объявлении функции следует указать тип возвращаемого значения
– после имени функции написать двоеточие и тип (см. рекомендации по
наименованию в приложении документа «Руководство пользователя по
программированию ПЛК в CoDeSys V2.3»). Правильно объявленная функция
выглядит следующим образом:
FUNCTION Fct: INT;
Имя функции используется как выходная переменная, которой присваивается
результат вычислений.
В функции, написанной на языке IL, используется три входных переменных
(par1–par3) целочисленного типа (INT, диапазон изменения
от –32768 до 32767) и возвращается результат деления произведения
первых двух на третью. Список объявлений функции в разделе объявлений
начинается с ключевого слова FUNCTION и следующего за ним имени функции,
за которым, отделенное двоеточием, указывается название типа возвращаемого
значения.
В языке ST вызов функции может присутствовать в выражениях как
операнд.
В языке SFC функция вызывается только из шага или перехода.
Примечание
Функция не имеет внутренней памяти, но CODESYS допускает
использование в функциях глобальных переменных, что является отклонением
от требований стандарта МЭК 61131-3, в соответствии с которыми выходное
значение функции должно зависеть исключительно от входных параметров.
Другими словами, функция с одними и теми же значениями входных параметров
всегда должна возвращать одно и то же значение.
Функциональный блок
Функциональный блок – это программный компонент (POU), который
принимает и возвращает произвольное число значений. В отличие от функции,
функциональный блок не формирует возвращаемое значение. Список всех
объявлений функционального блока в разделе объявлений начинается с
ключевого слова FUNCTION_BLOCK и следующего за ним имени блока.
Функциональный блок может имеет один или несколько экземпляров
(копий).
IL
В примере функциональный блок, написанный на языке
IL, имеет две входных и две выходных переменных. Значение выходной
переменной MULERG равно произведению значений двух входных переменных,
значение VERGL определяется в результате сравнения значений входных
переменных.
Переменные
Программные компоненты (POU) проекта обрабатывают переменные –
величины, значения которых могут меняться в ходе выполнения пользовательской
программы (в частных случаях переменные, обрабатываемые пользовательской
программой, могут быть и константами). Переменные могут использоваться
для хранения и передачи промежуточных результатов выполнения логических
операций, значений состояний входов или выходов функциональных блоков
программы, значений состояний входов или выходов ПЛК и др. Каждая
переменная имеет идентификатор.
Типы переменных
Переменные в CODESYS могут принадлежать к нескольким типам.
Переменные могут быть:
-
локальные – используются только в рамках текущего программного
компонента и задаются в разделе объявлений (см. раздел); -
глобальные – используются в рамках всего проекта (во
всех программных компонентах, входящих в его состав) и задаются в
разделе объявлений, вызываемом выбором объекта «Глобальные переменные»
(Global Variables) на вкладке «Ресурсы» организатора объектов.
Переменные также могут относиться к входным или выходным, а также одновременно к входным и выходным.
Если необходимо сохранять значения переменных, то их можно объявить
как перманентные переменные – такие переменные сохраняют свои
значения при определенных сбоях в системе. Перманентные переменные
бывают сохраняемые и постоянные.
Сохраняемые переменные обозначаются во время объявления ключевым
словом RETAIN. RETAIN-переменные сохраняют свои значения, даже если
произошла авария питания (выключение и включение) контроллера, что
равносильно команде «Сброс» (Онлайн → Сброс). Значения RETAIN-переменных
сохраняются в энергонезависимой памяти контроллера.
Примечание
Переменные, объявленные в окне «Конфигурация ПЛК»
в подэлементе «ModBus (slave)», являются сохраняемыми RETAIN-переменными.
Сохраняемая RETAIN-переменная
VAR RETAIN
rTemperature: REAL; (* Сохраняемая RETAIN-переменная *)
END_VAR
Контроллеры с версией ПО 1.0.х поддерживают следующие режимы работы
с энергонезависимой памятью:
-
запись по событию (используется по умолчанию) – RETAIN-переменные
записываются автоматически по сигналу об отключении питания контроллера.
Для записи используется накопленная энергия конденсаторов источника
питания ПЛК;Внимание
RETAIN-переменные не сохраняются
в следующих случаях:-
срабатывание сторожевого таймера (WatchDog);
-
перезагрузка контроллера по команде из пользовательской программы
или ПЛК браузера («PLC-Browser»).
В энергонезависимой памяти контроллера остаются значения,
записанные ранее. -
-
циклическая запись – RETAIN-переменные записываются
циклично. Период устанавливается пользователем в пределах от 1 до
1000 секунд. Для надежности запись ведется поочередно в две копии
RETAIN-переменных. В режиме циклической записи рекомендуется использовать
цикл ПЛК не менее 10 мс, так как запись RETAIN-переменных вызывает
дополнительную нагрузку на процессор контроллера.
Узнать или изменить активный режим работы с энергонезависимой памятью
можно в ПЛК-Браузере («PLC-Browser») с помощью специальных команд:
-
SetupRetainMode – просмотр активного режима работы с
RETAIN-переменными; -
SetCyclicMode XXX – выбор режима циклической записи,
где XXX – значение периода в секундах от 1 до 1000; -
SetCyclicMode 0 – отключение режима циклической записи
и переход к режиму записи по сигналу о пропадании питании контроллера.
Примечание
Для применения настроек режима работы с энергонезависимой
памятью следует перезагрузить ПЛК по питанию или командой rebooT.
Подробная информация и примеры проектов доступны в описании библиотеки
RetainControlLib в разделе CODESYS
V2 на сайте owen.ru.
Постоянные переменные обозначаются ключевым словом PERSISTENT.
В отличие от сохраняемых переменных постоянные переменные сохраняют
свои значения только в случае загрузки кода новой пользовательской
программы, но не в случае выключения питания или сброса. Значения
постоянных переменных размещаются вне энергонезависимого ОЗУ.
Подробнее о типах переменных см. Руководство пользователя по
программированию ПЛК в CoDeSys V2.3.
Объявление переменных
Для использования в POU переменная должна быть объявлена. Объявление переменных производится в разделе объявлений (см. раздел). Синтаксис, используемый при объявлении
переменных, соответствует стандарту МЭК 61131-3.
Раздел объявлений используется для объявления переменных POU, глобальных
переменных, описания типов данных.
В разделе объявлений зарезервированные слова, типы данных и сами
переменные автоматически подсвечиваются разными цветами.
Наиболее важные команды можно найти в контекстном меню, которое
появляется по щелчку ПКМ или по нажатию сочетания клавиш Ctrl +
F10.
Локальные переменные POU объявляются в разделе объявлений редактора
программного компонента. Локальными переменными могут быть входные
и выходные переменные, переменные, одновременно являющиеся входными
и выходными, локальные переменные, сохраняемые переменные и константы.
POU)
Методы объявления переменных
В CODESYS применяются следующие методы объявления переменных:
-
текстовый;
-
табличный;
-
автоматический.
Текстовый
Синтаксис объявления переменных
текстовым методом (наименования заключены в квадратные скобки):
<Идентификатор> {AT <Адрес>}:<Тип> {:=<начальное значение>};
Имена переменных не должны содержать пробелов и специальных символов,
должны объявляться только один раз и не должны совпадать с зарезервированными
словами. Регистр букв в имени переменной не имеет значения (т. е.
переменные Var1, VAR1 и var1 не различаются). В именах переменных
важен знак подчеркивания: переменные A_BCD и AB_CD считаются разными.
Идентификатор не должен содержать подряд более одного символа подчеркивания.
Длина идентификатора не ограничена, все символы являются значимыми.
Все переменные и типы данных можно инициализировать с помощью
оператора «=». Переменные простейших типов инициализируются константами.
По умолчанию все переменные инициализируются нулем.
iVar1:INT:=12; (*Переменная типа INT, инициализируемая числом 12*)
Если требуется поместить переменную по определенному адресу, то
следует объявить ее с ключевым словом AT.
Внимание
Не рекомендуется использовать прямую адресацию при помощи ключевого
слова АТ. Для прямой адресации компилятор не проверяет за пользователем
область памяти, на которую он ссылается при объявлении переменной.
Переменным, размещаемым в области конфигурации ПЛК, следует присваивать
имена непосредственно в области конфигурации. Дополнительное объявление
переменных, объявленных в области конфигурации, не требуется.
Табличное
Табличный способ объявления переменных
позволяет ускорить процедуру объявления переменных. Для вызова окна
табличного объявления следует выбрать команду Объявления в форме
таблицы контекстного меню окна раздела объявлений. На вкладках
окна редактора отображаются списки переменных различных типов. В ячейках
таблицы списки переменных могут быть дополнены новыми переменными.
Значения атрибутов переменных могут быть введены или отредактированы
также в ячейках таблицы. Кроме того, требуемые переменные могут быть
не только отредактированы, но и удалены из списков.
Автоматическое
Автоматическое объявление
переменных позволяет автоматизировать ввод значений ряда атрибутов
переменной, что позволяет ускорить и упростить процедуру ввода и одновременно
избежать ошибок, возможных при ручном вводе.
Для вызова окна
автоматического объявления переменных следует выбрать команду Авто
объявление… в контекстном меню окна раздела объявлений.
В открывшемся окне задается имя добавляемой переменной (в поле «Имя»).
В других полях окна значения задаются выбором из раскрывающегося списка
или списков, отображаемых в специальных окнах.
автоматического объявления переменной
Например, требуемый тип переменной можно выбрать в окне «Ассистент
ввода», которое открывается по нажатию кнопки с тремя точками, размещенной
у правого края поля «Тип».
переменной
Типы данных
Тип данных определяет род информации, методы ее обработки и хранения,
количество выделяемой памяти. Программист может непосредственно использовать
элементарные (базовые) типы данных или создавать собственные (пользовательские)
типы на их основе.
Базовые типы данных
Логический (BOOL)
BOOL – логический
тип данных, который может принимать два значения – ИСТИНА (TRUE) или
ЛОЖЬ (FALSE). Логический тип данных занимает 8 бит памяти (если не
задан прямой битовый адрес).
Целочисленный
BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT и UDINT – целочисленные типы данных, которые отличаются
диапазонами сохраняемых данных и требованиями к памяти. Характеристики
целочисленных типов данных приведен в таблице ниже.
Характеристики целочисленных типов данных
Тип | Нижний предел | Верхний предел | Размер памяти |
---|---|---|---|
BYTE |
0 |
255 |
8 бит |
WORD |
0 |
65535 |
16 бит |
DWORD |
0 |
4294967295 |
32 бит |
SINT |
–128 |
127 |
8 бит |
USINT |
0 |
255 |
8 бит |
INT |
–32768 |
32767 |
16 бит |
UINT |
0 |
65535 |
16 бит |
DINT |
–2147483648 |
2147483647 |
32 бит |
UDINT |
0 |
4294967295 |
32 бит |
Рациональный
REAL – данные в формате
с плавающей запятой, используются для сохранения рациональных чисел.
Для рационального типа требуется 32 бита памяти.
Диапазон значений
рационального типа от [1.175494351e-38] до [3.402823466e+38].
Строки
Строковый тип STRING представляет
строки символов. Максимальный размер строки определяет количество
резервируемой памяти и указывается во время объявления переменной.
Размер задается в круглых или квадратных скобках. Если размер не указан,
принимается размер по умолчанию – 80 символов.
Длина строки
в CODESYS не ограничена, но строковые функции способны обращаться
со строками от 1 до 255 символов.
Объявление строки размером до 35 символов:str:STRING(35):='Просто строка';
Время и дата
Форматы данных времени и даты:
-
TIME – представляет длительность интервалов времени
в миллисекундах. Максимальное значение для типа TIME: 49d17h2m47s295ms
(4194967295 ms); -
TIME, TIME_OF_DAY (сокр. TOD) – содержит
время суток, начиная с 0 часов (с точностью до миллисекунд). Диапазон
значений TOD: от 00:00:00 до 23:59:59.999; -
DATE – содержит календарную дату, начиная с 1 января
1970 года. Диапазон значений от: 1970-00-00 до 2106-02-06; -
DATE_AND_TIME (сокр. DT) – содержит время в секундах,
начиная с 0 часов 1 января 1970 года. Диапазон значений от: 1970-00-00-00:00:00
до 2106-02-06-06:28:15.
Типы TIME, TOD, DATE и DATE_AND_TIME (сокр. DT) сохраняются физически как DWORD.
Пользовательские типы данных
Кроме стандартных типов данных в проекте можно использовать определяемые
пользователем сложные типы данных: массивы, перечисления, структуры
и некоторые другие (см. раздел).
Подключение дополнительных программных модулей
Дополнительные программные модули (библиотеки) подключаются в окне
«Менеджер библиотек» (см. рисунок).
Окно «Менеджер библиотек» вызывается командой Окно → Менеджер
библиотек или выбором пункта «Менеджер библиотек» в дереве на
вкладке «Ресурсы» организатора объектов.
Для подключения библиотеки следует:
-
Выбрать команду «Добавить библиотеку» (Add library) в контекстном
меню списка подключенных библиотек (отображаемого в верхней левой
области окна «Менеджер библиотек») или команду Вставка → Добавить
библиотеку… в главном меню. -
В открывшемся окне выбора файлов выбрать файл требуемой библиотеки
и нажать кнопку «Открыть». Выбранная библиотека будет подключена к
проекту. Ее наименование отобразится в списке установленных библиотек
(в верхней левой области окна «Менеджер библиотек»).
Для удаления подключенной библиотеки следует:
-
Выделить требуемую библиотеку в списке подключенных (отображается
в верхней левой области окна «Менеджер библиотек»). -
Вызвать команду «Удалить» контекстного меню списка. Выделенная
библиотека будет отключена от проекта.
Для включения в проект дополнительного программного модуля (то
есть модуля, который содержится в подключенной к проекту библиотеке)
следует:
-
Перейти на вкладку «POU» организатора объектов.
-
В дереве программных компонентов объекта выбрать требуемый
компонент. -
Вызвать команду Правка → Ассистент ввода в главном меню
или команду «Ассистент ввода» в контекстном меню раздела объявлений. -
В открывшемся окне «Ассистент ввода» (см. рисунок), в левой части, где отображается перечень доступных
типов добавляемых объектов, выделить требуемый тип (в данном случае
– «Стандартные функциональные блоки»). В правой части окна отобразится
перечень доступных объектов выбранного типа. Если флажок переключателя
«Структурно» в нижней части окна установлен, то перечень отображается
в виде иерархического структурированного списка. В противном случае
перечень отображается в виде отсортированного по алфавиту линейного
списка. -
В перечне доступных объектов (в правой части окна) выбрать
требуемый объект и нажать кнопку «ОК» окна. Выбранный объект (в данном
случае – стандартный функциональный блок) будет вставлен в редактируемый
программный компонент проекта. Для отказа от добавления блока нажать
кнопку «Отмена».
Доступные дополнительные программные модули
Описания системных библиотек CODESYS доступны на сайте компании
3S Software и на странице CODESYS
V2 на сайте owen.ru.
ПЛК110 поддерживают следующие библиотеки
программных компонентов:
-
OwenLibFileAsync.lib;
-
OwenLibUSBSerial.lib;
-
OwenLibNetControl.lib;
-
OwenLibFactorySetups.lib;
-
OwenLibHidEvent.lib;
-
OwenLibPing.lib;
-
Timer.lib;
-
RetainControlLib.lib.
Рекомендуемые библиотеки:
-
Standart.lib;
-
Util.lib;
-
SysLibTime.lib;
-
SysLibCom.lib;
-
SysLibProjectInfo.lib;
-
SysLibMem.lib;
-
SysLibSockets.lib;
-
SysLibFile.lib;
-
SysLibPorts.lib;
-
NetVarUdp_LIB_V23.lib;
-
ComService.lib;
-
ModBus.lib;
-
OwenNet.lib;
-
Mercury.lib;
-
UNM.lib;
-
PID_Regulators.lib;
-
SmsOwenLib.lib;
-
OwenModbusSlave.lib;
-
Oscat_basic_333.lib;
-
Oscat_building_100.lib.
Установщик библиотек и их описания доступны на странице CODESYS V2 на сайте owen.ru. Помимо вышеперечисленных библиотек
в состав установщика включены и некоторые сопутствующие библиотеки.
Модуль работы с файлами OwenLibFileAsync.lib
Модуль OwenLibFileAsync.lib поддерживает сохранение в файлы произвольных
данных, чтение, удаление, копирование, переименование файлов и др.
в асинхронном режиме, так как встроенное ПО контроллера в новой версии
предусматривает работу с файловыми системами.
Примечание
Библиотека OwenLibFileAsync.lib рекомендуется для
всех новых разработок.
Файлы можно сохранять на следующие устройства хранения:
-
внешний накопитель, подключенный к порту USB-Host (например,
Flash-память, или жесткий диск); -
внутренний Flash-накопитель;
-
внутренний виртуальный RAM диск (64 килобайт).
На носителях поддерживаются подкаталоги, а также доступны операции
с файлами в директориях и просмотр содержимого директорий.
Устройство, на которое файл будет записываться, задается с помощью
префикса к имени файла:
-
ffs: – для внутренней Flash-памяти;
-
ram: – для виртуального диска
-
usb: – для внешнего накопителя, подключенного к порту
USB-Host.
Чтобы записать файл с именем «file1.txt» на разные носители,
следует преобразовать его в «ffs:file1.txt» для записи во внутреннюю
flash-память, «ram:file1.txt» – для записи на виртуальный диск и «usb:file.txt»
– для записи на внешний накопитель.
На ПЛК запущен TFTP-сервер для передачи данных по протоколу TFTP
(см. RFC 1350 – THE TFTP PROTOCOL (REVISION 2) http://tools.ietf.org/html/rfc1350). Следует обратить внимание,
что только RAM-диск доступен для TFTP протокола, а также отсутствует
функция разграничения доступа. Сервер доступен на всех интерфейсах
ПЛК по соответствующим IP-адресам на порту 69. Подробный пример доступен
в документе «Руководство по работе с файлами на ПЛК по протоколу
TFTP», который находится на странице CODESYS
V2 на сайте owen.ru.
Внимание
Не рекомендуется использовать встроенную Flash-память
для записи часто переписываемых файлов, так как ее ресурс ограничен
(около 50 000 циклов записи). В создаваемых пользовательских программах
для контроллера рекомендуется программировать сохранение файла с предпочтением
внешнего накопителя при его наличии.
Внимание
Виртуальный диск расположен в ОЗУ контроллера,
поэтому все файлы, записанные под именами с префиксом «ram:», будут
храниться в контроллере до первого его выключения. Для сохранения
файлов следует их копировать на Flash-носители – внутренний или внешний.
Примечание
Пользовательская программа может работать одновременно
максимум с пятью файлами.
Во время работы с USB-Host следует учитывать:
-
Суммарное потребление тока хабом и подключенными устройствами
не должно превышать 0,5 А; -
USB-Host имеет функцию защиты от перегрузки и короткого замыкания.
Срабатывание защиты приводит к выключению питания на USB-Host с последующими
периодическими попытками восстановления питания; -
к ПЛК могут быть подключены USB MassStorage и USB HID устройства.
Общее число подключенных USB MassStorage и USB HID устройств не должно
превышать 1 для каждого типа. Остальные устройства игнорируются. Устройства
инициализируются в порядке подключения. Если два USB MassStorage устройства
уже подключены и подается питание на ПЛК, то порядок их инициализации
непредсказуем; -
стек USB-Host поддерживает опрос не менее 1 устройства класса
USB HID; -
с помощью библиотеки OwenLibHidEvent.lib можно получать сообщения
от HID устройства, например мыши и/или клавиатуры; -
в ПЛК поддерживается класс USB MassStorage с файловой системой
FAT (12, 16, 32). Ограничения на размер накопителя налагаются только
ограничениями файловой системы FAT.Примечание
Рекомендуется
использовать файловую систему FAT32.
Запись на USB MassStorage накопитель происходит без кэширования,
т. е. для безопасного отключения накопителя следует:
-
Завершить все процедуры записи (остановить запись из программы
через библиотеку OwenLibFileAsync и закрыть открытые файлы, дождаться
завершения всех системных загрузок файлов, остановить работу модуля(ей)
архивации, остановить опрос файлов через 0x20 функцию ModBus slave). -
Дождаться прекращения активности на накопителе (если индикация
активности присутствует) или выждать не менее 3 секунд. -
Отключить накопитель.
Не рекомендуется подключать USB MassStorage устройства на базе
жестких дисков и SDD без дополнительного внешнего питания, т. к. это
может привести к перегрузке по питанию и циклическому включению/выключению
внешнего диска.
Примечание
Не гарантируется корректная работа ПЛК с USB устройствами,
если последние обратно не совместимы с протоколом USB 1.1.
В контроллере реализован асинхронный механизм доступа к файлам
из пользовательской программы. Асинхронный доступ гарантирует отсутствие
задержек в выполнении пользовательской программы при доступе к файлам,
в том числе расположенным на внешних носителях. Основной особенностью
использования модуля OwenLibFileAsync.lib является выполнение
функций в два этапа:
-
Подача команду для работы с файлом.
-
Проверка завершенности выполнения указанной команды и разрешение
для подачи следующих команд для дальнейших операций с файлом.
Любая функция библиотеки OwenLibFileAsync.lib возвращает
2 значения:
-
Состояние запроса к асинхронной библиотеке:
-
ASYNC_PAUSED -1000 (*Система по своим внутренним причинам приостановила
обработку асинхронных запросов*); -
ASYNC_QUERY_FULL -1001 (*более 5 запросов в очереди*);
-
ASYNC_BLOCK_ACCESS -1002 (*Запрос к уже обрабатываемому объекту
с другой функцией*); -
ASYNC_GENERAL_ERROR -1003 (*фатальная ошибка*);
-
ASYNC_INVALID_HANDLE_ERROR -1004 (*Запрос к неоткрытому/открытому
не через асинхронную библиотеку файлу*); -
ASYNC_WORKING 32766 (*идет работа асинхронной библиотеки*);
-
ASYNC_DONE 32767 (* работа завершена -> смотрите значение return
value *).
-
-
При получении ASYNC_DONE требуется посмотреть второе возвращаемое
значение, уже самой функции файловой системы:returnvalue:POINTER TO DWORD;
В этой переменной лежит возвращаемое функцией значение, и расшифровку
значения следует смотреть в описании соответствующей функции обычной,
синхронной библиотеки SysLibFile.lib.
Функции работы с файлами в асинхронном режиме:
-
OwenFileOpenAsync – используется для открытия существующего
или создания нового файла. Выход hFile (DWORD) сообщает дескриптор
файла. Он используется другими функциональными блоками для работы
с данным файлом; -
OwenSysFileCloseAllOpenAsync – функциональный блок закрывает
все открытые файлы. Имена или дескрипторы файлов не нужно сообщать,
поскольку они все уже известны системе; -
OwenSysFileCloseAsync – используется для закрытия файла.
После закрытия файл освобождается для других процессов, дескриптор
более не имеет значения; -
OwenSysFileWriteAsync – используется для записи данных
в файл. Файл должен быть предварительно успешно открыт с помощью SysFileOpenAsync; -
OwenSysFileReadAsync – используется для чтения данных
из файла. Файл должен быть предварительно успешно открыт с помощью
SysFileOpenAsync; -
OwenSysFileDeleteAsync – удаление файла с заданным именем;
-
OwenSysFileGetPosAsync – возвращает позицию (смещение
от начала файла в байтах) записи и чтения в файл; -
OwenSysFileSetPosAsync – задает позицию записи и чтения
в файл; -
OwenSysFileEOFAsync – возвращает TRUE, если текущая
позиция чтения/записи находится в конце файла, иначе возвращает FALSE; -
OwenSysFileGetSizeAsync – возвращает размер файла с
заданным именем; -
OwenSysFileGetTimeAsync – возвращает время создания,
последнего доступа и последнего изменения файла с заданным именем; -
OwenSysFileCopyAsync – копирование файла с заданным
именем в файл с другим именем; -
OwenSysFileRenameAsync – переименование (перенос) файла
с заданным именем.
Функция OwenSysFileOpenAsync
Функция OwenSysFileOpenAsync
возвращает значение типа DWORD и используется для открытия существующего
или создания нового файла. Возвращаемое значение – дескриптор файла,
либо «0» в случае ошибки. Дескриптор файла используется для доступа
к открытому файлу другими функциями библиотеки. В некоторых случаях
сообщение об ошибке имеет вид «16#FFFFFFFF» (в десятичной системе
это число 4294967295 при интерпретации как беззнакового числа или
число –1 при интерпретации как числа со знаком).
Входные переменные:
-
FileName типа STRING – имя файла;
-
Mode типа STRING – режим работы с файлом, может имеет
следующие значения:-
w+ – если требуется открыть файл только для записи.
Если файл существовал до начала записи, то он будет стерт и создан
пустой файл с заданным именем; -
r – если требуется открыть файл только для чтения;
-
a – аналогично w+, но если файл существовал до
начала операции, данные будут дописываться в конец файла.
-
Открытие файла в режиме «а» и разрешение на переход к
дальнейшим операциям с файлом на языке ST:
0:
res:=OwenFileOpenAsync(filename,'a',ADR(handle));
IF res=ASYNC_WORKING THEN
state:=1;
END_IF
1:
res:=OwenFileOpenAsync(filename,'a',ADR(handle));
IF res=ASYNC_DONE THEN
IF handle<>0 THEN
state:=2;
ELSE
state:=0;
END_IF
ELSIF res<0 THEN
state:=0;
END_IF
Функция OwenSysFileCloseAsync
Функция OwenSysFileCloseAsync
закрывает файл, открытый ранее функцией OwenSysFileOpenAsync, и возвращает
значение типа BOOL, которое равно TRUE при успешном закрытии файла,
иначе (например, если файл не был открыт) FALSE. Входным параметром
является дескриптор закрываемого файла.
Входные переменные:
-
hFile типа DWORD – дескриптор файла, число, которое
возвратила функция OwenSysFileOpenAsync.
Закрытие файла в режиме «а» и разрешение на переход к
дальнейшим операциям с файлом на языке ST:
res:=OwenFileCloseAsync(handle,ADR(result));
IF res=ASYNC_WORKING THEN
state:=7;
ELSE
state:=0;
END_IF
7:
res:=OwenFileCloseAsync(handle,ADR(result));
IF res=ASYNC_DONE THEN
IF result=0 THEN
state:=8;
ELSE
state:=8;
END_IF
ELSIF res<0 THEN
state:=8;
END_IF
Функция OwenSysFileWriteAsync
Функция OwenSysFileWriteAsync
записывает данные в файл, открытый с помощью OwenSysFileOpenAsync,
и возвращает значение типа DWORD – количество записанных байт данных.
Входные переменные:
-
File типа DWORD – дескриптор файла, число, которое возвратила
функция OwenSysFileOpenAsync; -
Buffer – адрес буфера, содержащего данные, которые необходимо
записать в файл, число, которое возвратила функция ADR с аргументом
– именем переменной-буфера, тип – массив, например, массив байт, или
строка; -
Size типа DWORD – размер буфера в байтах, может использоваться
функция SIZEOF с аргументом (именем переменной-буфера).
Запись значения «buffout» в файл в режиме «а» на языке
ST:
2:
res:=OwenFileWriteAsync(handle,ADR(bufout),14,ADR(result));
IF res=ASYNC_WORKING THEN
state:=3;
ELSE
state:=6;
END_IF
3:
res:=OwenFileWriteAsync(handle,ADR(bufout),14,ADR(result));
IF res=ASYNC_DONE THEN
IF result=14 THEN
state:=4;
ELSE
state:=6;
END_IF
ELSIF res<0 THEN
state:=6;
END_IF
Функция OwenSysFileReadAsync
Функция OwenSysFileReadAsync
считывает данные из файла, открытого с помощью функции OwenSysFileOpenAsync,
и возвращает значение типа DWORD – количество считанных байт данных.
Входные переменные:
-
File типа DWORD – дескриптор файла, число, которое возвратила
функция OwenSysFileOpenAsync; -
Buffer – адрес буфера, содержащего данные, которые необходимо
записать в файл. Число, которое возвратила функция ADR с аргументом
– именем переменной-буфера. Тип – массив, например, массив байт или
строка; -
Size типа DWORD – размер буфера в байтах, может использоваться
функция SIZEOF с аргументом – именем переменной-буфера.
Пример функции аналогичен функции OwenSysFileWriteAsync.
Функция OwenSysFileDeleteAsync
Функция OwenSysFileDeleteAsync
удаляет файл и возвращает значение типа BOOL: TRUE в случае успешного
удаления или FALSE в случае ошибки.
Входная переменная FileName типа STRING – имя удаляемого файла.
Функция OwenSysFileGetPosAsync
Функция OwenSysFileGetPosAsync
возвращает число типа DWORD – фактическое смещение в байтах от начала
до текущей позиции в открытом файле с заданным дескриптором. Число
определяет «место» в файле, откуда будет считана или куда будет записана
информация, если операция чтения или записи будет произведена без
дополнительного предварительного смещения позиции (см. функцию OwenSysFileSetPosAsync).
Входная переменная File типа DWORD – дескриптор открытого
файла.
Функция OwenSysFileSetPosAsync
Функция OwenSysFileSetPosAsync
устанавливает для открытого файла с заданным дескриптором позицию
чтения (записи) с помощью заданного смещения и возвращает значение
типа BOOL. Если позиция была установлена, то возвращается значение
TRUE, иначе возвращается FALSE.
Входные переменные:
-
File типа DWORD – дескриптор открытого файла, в котором
необходимо задать текущую позицию чтения (записи); -
Pos типа DWORD – позиция чтения (записи), заданная смещением
в байтах от начала файла.
Функция OwenSysFileEOFAsync
Функция OwenSysFileEOFAsync
определяет, достигнут ли конец файла, и возвращает значение типа BOOL,
равное TRUE, если текущим положением позиции чтения (записи) является
конец файла, иначе FALSE.
Входная переменная File типа
DWORD – дескриптор открытого файла, в котором проверяется достижение
текущей позицией конца.
Функция OwenSysFileGetSizeAsync
Функция
OwenSysFileGetSizeAsync возвращает размер файла в байтах в виде значения
типа DWORD.
Входная переменная FileName типа STRING –
имя файла.
Функция OwenSysFileGetTimeAsync
Функция
OwenSysFileGetTimeAsync определяет значения даты и времени создания,
последнего изменения и последнего доступа к файлу, и возвращает значение
типа BOOL: TRUE в случае успешного завершения выполнения функции и
FALSE в случае любой ошибки (например, доступа к файлу). Для хранения
трех значений времени в одной переменной используется структура FileTime,
приведенная ниже.
TYPE FILETIME
STRUCT
dtCreation:DT; (* Дата и время создания файла *)
dtLastAccess:DT; (* Дата и время последнего доступа *)
dtLastModification:DT; (* Дата и время последнего изменения файла *)
END_STRUCT
END_TYPE
Входные переменные:
-
FileName типа STRING – имя файла;
-
ftFileTime типа POINTER TO FILE TIME – адрес структуры,
в которую будут сохраняться считанные данные о времени создания файла,
последнего доступа к нему и его последней модификации. Извлекается
с помощью функции ADR.
Программа на языке ST, считывающая структуру со значениями
времени создания файла:
VAR
file_time:POINTER TO FILETIME;
returnvalue:POINTER TO DWORD;
w: FILETIME;
END_VAR
8:
OwenFileGetTimeAsync(filename, file_time, returnvalue);
w:=file_time;
ELSE
state:=0;
END_CASE
Функция OwenSysFileCopyAsync
Функция OwenSysFileCopyAsync
копирует один файл в другой (файлы задаются именами) и возвращает
значение типа UDINT, в котором содержится количество действительно
скопированных байт.
Входные переменные:
-
FileDest типа STRING – имя копии файла (файл-приемник);
-
FileSource типа STRING – имя копируемого файла (файл-источник).
Функция OwenSysFileRenameAsync
Функция OwenSysFileRenameAsync
переименовывает файл и возвращает значение типа BOOL: TRUE в случае
успешного переименования или FALSE в случае ошибки. Ошибка может возникать,
например, если попытаться переименовать открытый файл.
Входные
переменные:
-
FileOldName типа STRING – текущее имя файла;
-
FileNewName типа STRING – новое имя файла.
Модуль контроля выхода в интернет OwenLibNetControl.lib
Модуль-библиотека OwenLibNetControl.lib предназначена для
управления сетевыми устройствами в ПЛК. Библиотека позволяет включать/выключать
интерфейсы (если это разрешено), получать статус интерфейса, его тип,
атрибуты и адреса интерфейса (MAC, IP, APN, телефонный номер и т.
п.). Библиотека подключается аналогично стандартным библиотекам CODESYS.
В ПЛК интерфейсы Ethernet и PPP имеют, соответственно, номера 0
и 1.
Функция START_IFACE
отображение функции START_IFACE
Входная
переменная IFACE типа DWORD – номер запускаемого интерфейса.
Выходная переменная START_IFACE типа BOOL – значение, указывающее
на успешность выполнения команды. Если возвращается значение «0»,
запуск произошел успешно.
Функция STOP_IFACE
отображение функции STOP_IFACE
Входная
переменная IFACE типа DWORD – номер закрываемого интерфейса.
Выходные переменные STOP_IFACE типа BOOL – значение, указывающие
на успешность закрытия интерфейса. Если возвращается значение «0»,
интерфейс закрыт успешно.
Функция GET_IFACE_INFO
отображение функции GET_IFACE_INFO
Входная
переменная IFACE типа DWORD – номер интерфейса.
Выходная
переменная GET_IFACE_INFO типа POINTER TO IFACE_INFO возвращает
указатель на структуру, содержащую информацию об интерфейсе:
TYPE IFACE_INFO:
STRUCT
name: STRING(79); (* Имя интерфейса *)
itype: IFACE_TYPES; (* Тип интерфейса *)
addreses: ARRAY[0..9] OF ARRAY[0..31] OF BYTE; (* Все адреса интерфейса
(МАС, IP, имя порта) список зависит от типа *)
atributes: IFACE_ATRIBUTES; (* Атрибуты интерфейса *)
END_STRUCT
END_TYPE
Поля структуры параметра GET_IFACE_INFO:
-
IFACE_TYPES – типы интерфейсов, поле может принимать
следующие значения:-
NO_IFACE 0 – нет интерфейса;
-
ETHERNET_IFACE 1 – интерфейс Ethernet;
-
PPP_IFACE 2 – использование модема.
-
-
IFACE_ATRIBUTES – атрибуты интерфейса, поле может принимать
следующие значения:-
HAVE_STATUS 1 – возвращает статус;
-
AUTOSTART 2 – запускается автоматически;
-
USE_DHCP 4 – настроен в режиме DHCP.
-
-
IFACE_ADDRESS_TYPES – массив из 10 полей типа Array
[0..31] of BYTES, каждый элемент массива содержит информацию об определенных
адресах интерфейса:-
IFACE_MAC_ADDRESS 0 – массив, содержащий МАС-адрес;
-
IFACE_IP_ADDRESS 1 – массив, содержащий IP-адрес;
-
IFACE_IP_MASK 2 – массив, содержащий маску сети;
-
IFACE_IP_GATE 3 – массив, содержащий шлюз сети;
-
IFACE_TEL_NUMBER 4 – массив, содержащий телефонный номер
текущего дозвона; -
IFACE_APN_NAME 5 – массив, содержащий адрес APN-оператора.
-
Функция GET_IFACE_STATUS
отображение функции GET_IFACE_STATUS
Входная
переменная IFACE типа DWORD – номер интерфейса.
Выходная
переменная GET_IFACE_STATUS типа IFACE_STATUS возвращает статус
модема, битовые поля которого имеют следующие значения, по битам:
-
IFACE_NOT_PRESENT – если возвращается 0, то интерфейс
не запущен; -
IFACE_PRESENT – 0 – интерфейс запущен;
-
IFACE_CONFIGURED – 1 – интерфейс настроен (есть настройки);
-
IFACE_CONNECTED – 2 – есть физическое соединение;
-
IFACE_WORKING – 3 – есть логическое соединение;
-
IFACE_SEND_DATA – 4 – в течение 5 секунд была отправлена
посылка; -
IFACE_READ_DATA – 5 – в течение 5 секунд была получена
посылка; -
IFACE_HAVE_ERROR – 6 – есть ошибки;
-
IFACE_NO_IFACE – если возвращается 16#FFFF, то такого
интерфейса нет.
Модуль получения серийного номера USB-устройства OwenLibUSBSerial.lib
Модуль OwenLibUSBSerial.lib предназначен для получения статуса
подключенных к USB-Host устройств и доступа к их серийному номеру.
Модуль содержит только одну функцию – GETUSBSERIAL.
Входные переменные:
-
Unit типа DINT – номер устройства, обычно 0;
-
Buffer типа POINTER TO BYTE – указатель на массив размером
24 байт, куда будет записан серийный номер.
Выходной параметр GetUSBSerial типа DINT возвращает значения:
-
0 – чтение серийного номера прошло успешно;
-
(–1) – устройство USB не подключено;
-
(–2) – серийный номер прочитан с ошибкой.
Расшифровка массива, содержащего серийный номер USB:
Значения массива
Offset | Field | Size | Value | Description |
---|---|---|---|---|
0 |
bLength |
1 |
N+2 |
Size of this descriptor in bytes |
1 |
bDescriptorType |
1 |
Constant |
STRING Descriptor Type |
2 |
wLANGID[0] |
2 |
Number |
LANGID code zero |
… | ||||
N |
wLANGID[x] |
2 |
Number |
LANGID code x |
Расшифровка строки (вместо серийного номера):
Значения строки
Offset | Field | Size | Value | Description |
---|---|---|---|---|
0 | bLength | 1 | Number | Size of this descriptor in bytes |
1 | bDescriptorType | 1 | Constant | STRING Descriptor Type |
2 | bString | N | Number | UNICODE encoded string |
Модуль работы с HID-устройствами OwenLibHidEvent.lib
Модуль OwenLibHidEvent.lib предназначен для получения статуса подключенных
к USB-Host HID-устройств. Общее число Mass Storage Device и HID-устройств
не должно превышать 1 для каждого типа. Остальные устройства игнорируются.
Инициализация устройств в порядке подключения.
Модуль содержит только одну функцию – GETHIDEVENT.
Входная переменная pHIDEv типа POINTER TO BYTE – указатель
на массив, в котором будут храниться данные. Размер массива должен
быть равен 17 байтам.
Выходная переменная GetUSBSerial типа DINT возвращает указатель
на массив, где хранятся данные:
-
Code:DINT; (*или xChange для мыши*) (*Для клавиатуры Code
трактовать как DWORD*); -
Value:DINT; (*или yChange для мыши*) (*Для клавиатуры Value
трактовать как DWORD. Индицирует нажата/отпущена*); -
WheelChange:DINT; (*как и x(y)Change относительное перемещение*);
-
ButtonState:DINT; (*биты нажатых кнопок*);
-
Event_type:BYTE; (*==1 — мышь ==2 — клавиатура*).
Модуль PING OwenLibPing.lib
Модуль OwenLibPing.lib предназначен для посылки команды «ping»
по указанному адресу. Ответ ожидается в течение заранее установленного
тайм-аута.
Функция SENDPING
функции SENDPING
Входные переменные:
-
IFace типа DWORD – тип используемого интерфейса (0 –
Ethernet, 1 – PPP); -
IP_addr типа DWORD – IP-адрес устройства, которое требуется
пинговать (например, 16#0A020B32 – устройство с IP-адресом
10.02.11.50); -
timeout – предустановленный тайм-аут пинга в мс (минимум
50 мс, максимум 25000 мс).
Выходная переменная SendPing типа DINT возвращает статус
пинга:
-
PING_SERVICE_READY:=1(*?*);
-
PING_SERVICE_IFACE_NOT_READY:=-1 (*интерфейс не поднят*);
-
PING_SERVICE_SENDING:=2 (*?*);
-
PING_SERVICE_TIMEOUT:=-2 (*таймаут ответа*);
-
PING_SERVICE_ANSV_RECEIVED:=3 (*?*);
-
PING_SERVICE_BUSY:=-3 (*запрос был послан,интерфейс занят*);
-
PING_SERVICE_DEST_UNREACHABLE:=-4 (*?*).
Функция GETPINGSTATUS
представление функции GETPINGSTATUS
Функция
не имеет входных переменных.
Выходная переменная GetPingStatus типа DINT возвращает статус. Если ошибка или PING_SERVICE_ANSV_RECEIVED, то после чтения статус сбрасывается в PING_SERVICE_READY.
Модуль таймера Timer.lib
Модуль Timer.lib используется для работы со встроенным таймером,
по прерыванию которого может быть вызван отдельный программный элемент
(POU), не связанный с выполнением основной программы ПЛК.
Подробное описание модуля находится в разделе и на странице CODESYS
V2 на сайте owen.ru.
Модуль RetainControlLib.lib
Модуль RetainControlLib.lib используется для принудительной записи
RETAIN по команде из пользовательской программы.
Примечание
Использование модуля RetainControlLib.lib возможно
только в режиме записи по событию (SetCyclicMode установлен в значение
«0»).
Модуль имеет одну функцию SAVENOW, которая служит для принудительной
записи RETAIN-переменных.
Функция не имеет входных переменных.
Выходная переменная SAVENOW типа BOOL – флаг, возвращаемый
функцией по завершению записи.
Внимание
Использование функции приостанавливает выполнение
программы ПЛК до завершения полной записи RETAIN-переменных. Запись
длится около 30 мс, поэтому рекомендуется вызывать функцию SAVENOW
только когда значения RETAIN-переменных были изменены.
PROGRAM PLC_PRG
VAR
xSaveRetain: BOOL; (* Переменная управления сохранением RETAIN.
Запись происходит по переднему фронту *)
xDone: BOOL; (* Флаг завершения записи *)
END_VAR
VAR RETAIN
rSetPoint: REAL; (* RETAIN переменная, которую хотим принудительно
сохранить *)
END_VAR
IF xSaveRetain = TRUE THEN
xDone := SaveNow();
IF xDone = TRUE THEN
xSaveRetain := FALSE;
END_IF
END_IF
Создание и использование дополнительных программных модулей
Пользователь может разрабатывать и применять дополнительные программные
модули. Такая необходимость может возникнуть в том случае, если применяемая
программа должна содержать алгоритмы, которые не могут быть написаны
с использованием готовых программных модулей.
Для создания пользовательского программного модуля следует:
-
Создать новый проект (см. раздел).
-
В проекта создать объект типа «Функциональный блок» (см. рисунок).
Создание нового
функционального блока -
Написать программу функционального блока, которую предполагается
использовать в качестве пользовательского программного модуля.Пример кода нового программного компонента -
Удалить из проекта программный компонент PLC_PRG (команда «Удалить
объект» контекстного меню объекта в дереве объектов), оставив в нем
только созданный функциональный блок. -
Сохранить функциональный блок командой Файл → Сохранить
как, задав в открывшемся окне в поле «Тип файла» тип файла – «Внешняя
библиотека (*.lib)» и нажав кнопку «Сохранить». -
Сохраненный функциональный блок подключить к разрабатываемому
проекту аналогично тому, как подключаются готовые программные модули
(см. раздел). -
Новый функциональный блок отобразится в перечне доступных стандартных
функциональных блоков окна «Ассистент ввода» и может быть добавлен
в текущий проект аналогично тому, как это выполняется для функциональных
блоков из состава поставляемых библиотек (см. раздел).
Многозадачность
По умолчанию в проекте всегда создается единственная «главная»
программа PLC_PRG, выполняемая циклически (см. раздел). В проекте можно явно определить несколько задач с различными условиями выполнения. Задача – это единица обработки
программы.
Каждая задача имеет:
-
Название – служит идентификатором задачи;
-
Тип – определяет условие вызова задачи. Условием может
служить время (циклическое или свободное freewheeling выполнение),
внутреннее или внешнее событие (например, превышение заданного порога
глобальной переменной или прерывание в контроллере); -
Приоритет – задается числом (от 1 до 15) и в сочетании
заданными условиями вызова задачи определяет хронологический порядок
выполнения задач.
Для каждой задачи назначается ряд программ, которые будут в ней
выполняться. Если задача выполняется в текущем цикле, то выполняются
все включенные в нее программы (по одному циклу каждая). Порядок выполнения
задач определяется комбинацией приоритетов и условий вызова задач.
Для каждой задачи можно задать контроль времени выполнения («сторожевой
таймер»). Возможности его использования и настройки определяются целевой
платформой.
Выполнение каждой задачи можно разрешить или запретить независимо
от других.
Конфигурирование задач
Задачи определяются в окне «Конфигурация задач», которое открывается
на вкладке «Ресурсы» организатора объектов.
задач»
В левой части окна отображается перечень задач текущего проекта
в виде дерева конфигурации. В корневой позиции обязательно присутствует
элемент «Конфигурация задач», под ним раскрывается список задач, представленных
по именам.
Для добавления в проект новой задачи следует выбрать команду Вставка → Вставить задачу главного меню или команду «Вставить
задачу» контекстного меню дерева задач.
После добавления задачи в проект она включается в дерево задач
и снабжается пиктограммой, отображающей тип задачи:
-
– выполняемые по системным событиям (Старт, Стоп, Сброс);
-
– циклически выполняемые задачи;
-
– выполняемые по времени (свободному);
-
– выполняемые по событию (связанному с глобальными переменными
проекта); -
– выполняемые по внешнему событию.
В правой части окна отображаются поля задания атрибутов текущей
(выбранной в дереве задач) задачи. Набор полей соответствует атрибутам
задачи выбранного типа.
Задавая значения атрибутов, можно конфигурировать свойства задач
(Task properties), вызова программ (Program call), задавать связи
с системными событиями (System events). Эта возможность зависит от
выбора целевой платформы. Она должна быть поддержана в системе исполнения
и разрешена в опциях целевой системы. Если стандартный набор настроек
расширен специфическими параметрами, они будут представлены на отдельной
вкладке «Parameter» в правой части окна.
Внимание
Если в окне «Конфигурация задач» определена последовательность
выполнения задач, то проект может не содержать PLC_PRG. В противном
случае удалять или переименовывать программный компонент PLC_PRG нельзя.
PLC_PRG является главной программой в однозадачном проекте.
Конфигурирование задач типа «Системные события», то есть выполняемых
по одному из возможных системных событий включает:
-
Указание требуемого события – установкой флажка в поле
переключателя в требуемой строке списка системных событий; -
Указание имени программного компонента (POU), который
должен выполняться по наступлению события (ввод с клавиатуры в столбце
«Вызываемый POU» в требуемой строке списка системных событий). Если
POU с указанным именем не существует в текущем проекте, то активируется
кнопка «Создать POU <Имя POU>». По нажатию этой кнопки автоматически
формируется программный компонент проекта, имеющий указанное имя.
Он может редактироваться так же, как другие POU.
Конфигурирование задач других типов включает:
-
указание типа задачи – «Циклическая/Свободная/По событию/По
внешнему событию; -
для задачи циклического типа – указание интервала выполнения;
Указание интервала выполнения для задачи циклического
типа -
для задачи, выполняемой по событию – указание события, по нажатию
кнопки у правого края поля открывается окно «Ассистент ввода», в котором
можно выбрать требуемую переменную;Указание переменной
для задачи, выполняемой по событию -
для задачи, выполняемой по внешнему событию – указание события,
по нажатию кнопки у правого края поля открывается список задач, в
котором можно выбрать требуемую задачу;Указание переменной
для задачи, выполняемой по внешнему событию -
для задач любого типа задание параметров контроля времени выполнения
(«сторожевого таймера»), если эта опция доступна в используемом ПЛК.Указание параметров сторожевого таймера
Примечание
Не следует использовать одни и те же строковые функции
в разных задачах, что может привести к ошибкам перезаписи данных.
В режиме «Online» выполнение задач можно наблюдать в виде графической
диаграммы.
Обработка событий
Системные события, которые контроллер способен обрабатывать (см. рисунок):
-
start – вызов функции, если программа начала выполняться
(после загрузки в ОЗУ автоматически,либо по команде пользователя).
Функция выполняется до начала выполнения первого цикла программы; -
stop – вызов функции, если программа была остановлена.
Функция выполняется сразу после получения системой команды остановки
программы (из отладочной среды или с помощью управляющего тумблера
на передней панели); -
before_reset – вызов функции, если был произведен горячий
рестарт системы с помощью трехпозиционного переключателя (переключатель
удерживался пять и более секунд в положении «Сброс»). Функция выполняется
до перезагрузки контроллера; -
after_reset – вызов функции, если был произведен горячий
рестарт системы с помощью трехпозиционного переключателя (переключатель
удерживался пять и более секунд в положении «Сброс»). Функция выполняется
после перезагрузки контроллера. -
debug_loop – вызов функции, если включен режим отладки
и выполнение программы дошло до отладочной точки останова. -
Timer – вызов функции каждые 20 микросекунд.
Функции обработки событий должны иметь параметры, указанные во
вкладке «Системные события» окна «Конфигурация задач». В случае с
контроллером ПЛК110 функции обработки событий имеют одинаковый набор
параметров: входными параметрами являются dwEvent, dwFilter и dwOwner
типа INT, функция выдает значение типа WORD (см. Помощь по CODESYS
– «Система программирования CODESYS» – «Ресурсы» – «Конфигуратор задач»
– «Системные события»).
Отладка
Опция отладки заставляет компилятор формировать дополнительный
код, упрощающий поиск ошибок. Опция «Отладочный код» включается установкой
флажка переключателя «Отладочный код» в окне «Опции (Options)», вызываемом
командой Проект → Опции главного меню на вкладке Генератор
кода.
Точки останова
Точки останова – это места, в которых выполнение программы будет
приостанавливаться, что позволяет просмотреть значения переменных
на определенном этапе работы программы. Точки останова можно задавать
во всех редакторах. В текстовом редакторе точка останова устанавливается
на номер строки, в языках FBD и LD – на графический элемент, в языке
SFC – на шаг.
Внимание
Система исполнения CODESYS SP32 Bit Full автоматически
деактивирует сторожевой таймер задачи, если она выходит на точку останова.
Пошаговое выполнение
Примечание
Подробнее о пошаговом выполнении можно узнать
из встроенной помощи CODESYS:
-
Вызвать справку (F1 или в главном меню → Справка → Содержание…).
-
Выбрать в содержании Система программирования CODESYS →
Что есть что в CODESYS → Отладка и Online-функции.
Пошаговое выполнение позволяет проверить логическую правильность
программы. Под шагом подразумевается:
-
в языке IL – выполнить программу до следующего оператора
CALL, LD или JMP; -
в языке ST – выполнить следующую инструкцию;
-
в языках FBD, LD – выполнить следующую цепь;
-
в языке SFC – продолжить действие до следующего шага.
Выполнение по циклам
Команда Онлайн → Один цикл выполняет один рабочий цикл и
останавливает контроллер после выполнения.
Эмуляция
Режим эмуляции последовательно включается и отключается выбором
команды Онлайн → Режим эмуляции главного меню. Включенный режим
маркируется установленным флажком в строке главного меню и записью
«Эмул.» в строке состояния главного окна.
Во время эмуляции созданная программа выполняется не в ПЛК, а в
ПК, на котором запущено ПО CODESYS. В режиме эмуляции доступны все
функции онлайн, что позволяет проверить логическую правильность программ,
не используя контроллер.
Внимание
В режиме эмуляции функции внешних библиотек не
выполняются.
Бортжурнал (Log)
«Бортжурнал (Log)» хронологически записывает действия пользователя,
внутренние сообщения системы исполнения, изменения состояния и исключения
в режиме «Online», что позволяет анализировать условия возникновения
ошибки во время отладки программы.
Записи «Бортжурнала (Log)» можно просмотреть в режиме, вызываемом
командой «Бортжурнал (Log)» дерева ресурсов проекта на вкладке «Ресурсы»
организатора объектов.
Руководство по эксплуатации ПЛК160 [М02]
Рекомендации к применению
Для построения распределенных систем управления и диспетчеризации с использованием как проводных, так и беспроводных технологий:
- В системах HVAC
- В сфере ЖКХ (ИТП, ЦТП)
- АСУ водоканалов
- линии по дерево- и металлообработке (распил, намотка и т.д.)
- Для управления пищеперерабатывающими и упаковочными аппаратами
- Для управления климатическим оборудованием
- Для автоматизации торгового оборудования
- В сфере производства строительных материалов
- Для управления малыми станками и механизмами
Преимущества ОВЕН ПЛК160 [М02]
- Наличие встроенных дискретных и аналоговых входов/выходов на борту.
- Скоростные входы для обработки энкодеров.
- Ведение архива работы оборудования или работа по заранее оговоренным сценариям при подключении к контроллеру USB-накопителей.
- Простое и удобное программирование в системе CODESYS V.2 через порты USB Device, Ethernet, RS-232 Debug.
- Передача данных на верхний уровень через Ethernet или GSM-сети (GPRS).
- 3 последовательных порта (RS-232, RS-485):
- увеличение количества входов-выходов;
- управление частотными преобразователями;
- подключение панелей операторов, GSM-модемов, считывателей штрих-кодов и т.д.
- Наличие двух исполнений по питанию (220 В и 24 В).
Схема применения ПЛК160 [M02]
Сравнительная таблица ПЛК160 и ПЛК160 [М02]
ПЛК160 |
ПЛК160 [М02] |
|
Вычислительные ресурсы |
||
Центральный процессор |
RISC-процессор на базе ядра ARM-9, 32 разряда |
RISC-процессор Texas Instruments Sitara AM1808 |
Частота процессора |
180 МГц |
400 МГц |
Объем энергонезависимой памяти |
4 Мб (Flash) |
6 Мб (Flash) |
Объем Retain-памяти |
до 16 кБайт (SDRAM) |
16 кБайт (MRAM) |
Число циклов перезаписи |
50 000 |
не ограничено |
Внешние интерфейсы |
||
USB-Host (подключение переферии и архивация на флеш-накопители) |
Отсутствует |
Есть |
Питание +5 В в RS-232 |
Отсутствует |
Есть |
Работа в мобильных сетях1 |
SMS, CSD |
SMS, CSD, GPRS |
Быстродействующие дискретные входы |
||
Максимальная частота входного сигнала |
до 10 кГц |
до 100 кГц |
Клеммник |
||
Тип клеммника |
Съёмный |
Съёмный с невыпадающими винтами |
Батарея/Аккумулятор |
||
Источник питания для часов реального времени |
Аккумулятор LIR2466 |
Батарея CR2032 |
Источник питания для Retain-памяти |
Не требуется, используется MRAM |
|
Способ замены |
Требуется перепайка |
Простая замена, без перепайки |
Условия эксплуатации |
||
Диапазон рабочих температур |
-10…+55 °С |
-40…+55 °С |
ПО, Библиотеки и пр. |
||
Механизм записи Retain-памяти |
По событию (отключение питания) |
|
USB-драйвер для подключения ПЛК к CODESYS |
Windows XP |
Windows 7/8/10 |
Работа с быстрыми входами из прерывания высокочастотного таймера |
Не поддерживается |
Поддерживается |
Параметр |
Значение (свойства) |
||
ПЛК160-Х.А |
ПЛК160-Х.У |
ПЛК160-Х.И |
|
Питание |
|||
Напряжение питания: |
|||
– ПЛК160-24.Х [М02] |
от 9 до 30 В постоянного тока при Т > минус 20 °С минус 20 °С |
||
– ПЛК160-220.Х [М02] |
от 90 до 264 В переменного тока (номинальное 120/230 В) частотой от 47 до 63 Гц (номинальное значение 50 Гц) |
||
Потребляемая мощность, не более |
45 ВА |
||
Пусковой ток, не более |
10 А – при напряжении 90 В |
||
Длительность переходного процесса, не более |
3 мс – при напряжении 90 В |
||
Выходное напряжение встроенного источника питания: |
|||
– для исполнения 220 В |
24±3 В, ток потребления не более 400 мА |
||
– для исполнения 24 В |
пропорционально напряжению источника питания прибора |
||
Цифровые (дискретные) входы |
|||
Количество входов: |
16 |
||
Тип входов по ГОСТ Р 52931-2008 |
1 и 2 |
||
Напряжение питания дискретных входов |
24 ± 3 В |
||
Максимальный входной ток дискретного входа, не более |
7 мА – при питании 24 В |
||
Сигнал «логической единицы», соответствующий состоянию «Включено», дискретных входов для постоянного напряжения, (ток в цепи) |
от 15 до 30 В (ток от 3 до 15 мА) |
||
Сигнал «логического нуля», соответствующий состоянию «Выключено», дискретных входов для постоянного напряжения, (ток в цепи) |
от минус 3 до 5 В (ток до 15 мА) |
||
Минимальная длительность импульса, воспринимаемого дискретным входом |
1 мс – для обычных входов |
||
Подключаемые входные |
– коммутационные устройства (контакты кнопок, выключателей, герконов, реле и т. п.) |
||
Дискретные выходы (контакты электромагнитных реле) |
|||
Количество релейных выходных каналов |
12 |
||
Максимальный ток, коммутируемый контактами реле, не более |
3 А (~250 В, частотой 50 Гц и cos ᵠ > 0,4) |
||
Время переключения контактов реле из состояния «лог. 0» в «лог. 1» и обратно, не более |
50 мс (выходы DО1-DО12) |
||
Механический ресурс реле, не менее |
300 000 циклов переключений – при максимальной коммутируемой нагрузке |
||
Аналоговые входы |
|||
Количество аналоговых входов |
8 |
||
Тип поддерживаемых унифицированных сигналов |
Ток 0(4)…20 мА |
||
Разрядность АЦП |
14 бит |
||
Входное сопротивление, не более |
В режиме измерения тока 170 Ом В режиме измерения напряжения, не менее 200 кОм |
||
Период опроса одного входа |
10 мс |
||
Предел основной приведенной погрешности преобразования |
±0,25 % |
||
Предел дополнительной приведенной погрешности преобразования на каждые 10 градусов изменения температуры |
±0,05 % |
||
Аналоговые выходы |
|||
Количество аналоговых выходов |
4 |
||
Тип выходного сигнала |
Универсальный: ток 4…20 мА или напряжение 0…10 В |
Напряжение |
Ток |
Предел основной приведенной |
± 0,5 % |
||
Разрядность ЦАП (бит) |
12 |
10 |
10 |
Минимальный период обновления выходов |
100 мс |
||
Питание аналоговых выходов, внешнее |
24±3 В |
||
Предел допускаемой дополнительной приведенной погрешности аналоговых выходов, вызванной изменением температуры окружающего воздуха от нормальной на каждые 10 °С изменения температуры |
Не более 0,5 предела допускаемой основной приведенной погрешности аналоговых выходов |
||
Вычислительные ресурсы |
|||
Центральный процессор |
RISC-процессор Texas Instruments Sitara AM1808 |
||
Объем оперативной памяти (SDRAM) |
Пользовательская программа: 1 Мб |
||
Объем энергонезависимой памяти (FLASH) |
6 Мбайт доступно для хранения файлов и архивов |
||
Размер Retain-памяти (MRAM) |
16 Кбайт |
||
Количество сокетов |
30 |
||
Время выполнения пустого цикла |
Установленное по умолчанию (стабилизированное) – 1 мс |
||
Встроенное оборудование |
|||
Часы реального времени с собственным батарейным питанием погрешность хода, не более |
при температуре плюс 25 °С: 5 секунд в сутки |
||
Встроенный источник выдачи звукового сигнала |
|||
Трехпозиционный переключатель на передней панели контроллера |
|||
Заводские сетевые настройки |
|||
IP-адрес |
10.0.6.10 |
||
Маска IP-адреса |
255.255.255.0 |
||
IP-адрес шлюза |
10.0.6.1 |
||
DNS |
8.8.8.8; 8.8.4.4 |
||
Общие сведения |
|||
Габаритные размеры, не более |
(208×110×83) ± 1 мм |
||
Масса, не более |
1,2 кг |
||
Степень защиты корпуса по ГОСТ 14254–96 |
IP20 – со стороны передней панели, IP00 – со стороны клемм |
||
Индикация на передней панели |
Светодиодная |
||
Средняя наработка на отказ2 |
60 000 ч |
||
Средний срок службы |
8 лет |
||
Интерфейсы связи: |
RS-485 |
||
Максимальный ток питания подключаемых устройств |
До 250 мА3 (RS-232-Debug / RS-232) До 150 мА (USB-Host) |
Расположение контактов для подключения внешних цепей
Подключение входных устройств и схемы выходных элементов контроллера
Схема подключения контактных датчиков (S1–Sn) к входам контроллера
Подключение к дискретным входам датчиков (F1–Fn), имеющих на выходе транзисторный ключ n-p-n-типа
Подключение к дискретным входам датчиков (F1–Fn), имеющих на выходе транзисторный ключ p-n-p-типа
Выходные элементы типа Р контроллера с внешними цепями защиты при активной нагрузке, Rн – пользовательская нагрузка (двигатель, нагреватель, контактор и т.д.)
Подключение цепей защиты при реактивной нагрузке
Подключение аналоговых выходов типа «У» и «А»
Подключение аналоговых выходов типа «И»
Подключение цепей защиты при реактивной нагрузке
Кабели
Наименование |
Изображение |
Комментарии |
Длина, м |
КС14 |
Применяется для прошивки и программирования контроллера ПЛК160 [М02] (порт RS-232 DEBUG). |
1,8 |
|
КС16 |
Применяется для связи контроллера ПЛК160 [М02] (порты RS-232 DEBUG и RS-232) c панелями оператора ИП320 (порт RS-232), СП270, СП307, СП310 (порт PLC, RS-232). |
1,5 2,7 |
|
КС17 |
Применяется для связи контроллера ПЛК160 [М02] (порты RS-232 DEBUG и RS-232) и модема ПМ01 [М01]. |
1,5 |
Габаритные и установочные размеры
Программное обеспечение
Программное обеспечение |
|
Установочный файл CODESYS V2 |
Перейти |
Прошивки, таргет файлы и драйвер USB для ПЛК160 |
Перейти |
Примеры и инструкции |
|
Документация по CODESYS V2 |
Перейти |
Библиотеки для CODESYS V2 |
Перейти |
Примеры |
Перейти |
Утилиты |
|
EasyWorkPLC, PLC_IO |
Перейти |
Документация
Руководство по программированию ПЛК110/160 |
|
3.25 MB |
|
Инструкция по подключению ПЛК1хх к облачному сервису OwenCloud |
|
504.11 kB |
|
Руководство по эксплуатации ПЛК160 [М02] |
|
7.44 MB |
|
Инструкция по переносу проекта с ПЛК160 на ПЛК160 [М02] |
|
||
Сертификаты |
|||
Сертификат промышленной безопасности ПЛК |
ПЛК63, ПЛК73, ПЛК110, ПЛК160 |
zip |
513.32 kB |
Сертификат о соответствии на ПЛК |
7z |
2.02 MB |
|
Свидетельство о типовом одобрении ПЛК |
zip |
361.58 kB |
|
Сертификат соответствия в области пожарной безопасности для ПЛК160 |
zip |
548.11 kB |
|
Декларация о соответствии на ПЛК160 |
zip |
156.47 kB |
|
Сертификат соответствия ГАЗПРОМСЕРТ для ПЛК160 |
zip |
302.69 kB |
|
Сертификат средств измерений ПЛК160 |
Казахстан |
zip |
202.51 kB |
Сертификат средств измерений ПЛК160 |
Беларусь |
zip |
156.25 kB |
Сертификат средств измерений ПЛК160 |
Россия |
zip |
5.26 MB |
Более подробную информацию Вы можете найти на сайте производителя по ссылке: https://www.owen.ru/product/plk160
Рекомендуется к использованию
- В системах HVAC
- В сфере ЖКХ (ИТП, ЦТП)
- В АСУ водоканалов
- Для управления малыми станками и механизмами
- Для управления пищеперерабатывающими и упаковочными аппаратами
- Для управления климатическим оборудованием
- Для автоматизации торгового оборудования
- В сфере производства строительных материалов
Оптимально для построения распределенных систем управления и диспетчеризации с использованием как проводных, так и беспроводных технологий.
ОВЕН ПЛК160
Программируемые логические контроллеры ОВЕН ПЛК160 выполнены в полном соответствии со стандартом ГОСТ Р 51840-2001 (IEC 61131-2), что обеспечивает высокую аппаратную надежность.
По электромагнитной совместимости контроллеры соответствуют классу А по ГОСТ Р 51522-99 (МЭК 61326-1-97) и ГОСТ Р 51841-2001, что подтверждено неоднократными испытаниями изделия.
Вычислительные ресурсы
В контроллере изначально заложены мощные вычислительные ресурсы при отсутствии операционной системы:
- высокопроизводительный процессор RISC архитектуры ARM9, с частотой 180МГц компании Atmel;
- большой объем оперативной памяти — 8МБ;
- большой объем постоянной памяти — Flash память, 4МБ;
- объем энергонезависимой памяти, для хранения значений переменных — до 16КБ;
- время цикла по умолчанию составляет 1мс при 50 логических операциях, при отсутствии сетевого обмена.
Дополнительно
Широкие возможности самодиагностики контроллера.
Встроенный аккумулятор, позволяющий «пережидать» пропадание питания — выполнять программу при пропадании питания, и переводить выходные элементы в «безопасное состояние». Время «пережидания» настраивается пользователем при создании проекта.
Встроенные часы реального времени.
Возможность создавать и сохранять архивы на Flash контроллера.
Условия эксплуатации
- Расширенный температурный рабочий диапазон окружающего воздуха: от минус 10 °С до +50 °С
- Закрытые взрывобезопасные помещения или шкафы электрооборудования без агрессивных паров и газов
- Верхний предел относительной влажности воздуха — 80 % при 25 °С и более низких температурах без конденсации влаги
- Атмосферное давление от 84 до 106,7 кПа
По устойчивости к климатическим воздействиям при эксплуатации ПЛК160 соответствует группе исполнения В4 по ГОСТ 12997-84.
По устойчивости к механическим воздействиям при эксплуатации ПЛК160 соответствует группе исполнения N2 по ГОСТ 12997.
По устойчивости к воспламенению и распространению пламени FV1 корпус контроллера соответствует ГОСТ Р 51841, разделу 6.
Конструктивные особенности
Контроллеры выполнены в компактном DIN-реечном корпусе. Габаритные и установочные размеры отличаются в зависимости от модификации, и приведены в конце раздела.
Расширение количества точек вводавывода осуществляется путем подключения внешних модулей вводавывода по любому из встроенных интерфейсов.
Электрические параметры
Два варианта питания для каждого контроллера:
- переменный ток: (90-265)В, (47…63)Гц;
- постоянный ток: (18-29)В.
Небольшая потребляемая мощность до 10Вт.
Контроллер |
ПЛК160 |
Дискретные входы |
16 |
Дискретные выходы |
12 |
Аналоговые входы |
8 |
Аналоговые выходы |
4 |
Все дискретные входы контроллера измеряют сигнал 24В.
Тип сигнала может быть как n-p-n, так и p-n-p.
Количество «быстрых» дискретных входов зависит от модификации контроллера.
Дискретные выходы типа: Р — реле.
Количество быстрых дискретных выходов зависит от модификации контроллера.
«Быстрые» аналоговые входы, для подключения унифицированных датчиков тока, напряжения. Дискретные выходы контроллеров данной линейки могут быть настроены на выдачу ШИМ, или генератора с высокой точностью.
Аналоговые выходы могут быть
- По току 4-20мА
- По напряжению 0-10В
- Универсальные — программно переключаемые токнапряжение
Интерфейсы и протоколы
Все контроллеры данной линейки имеют большое количество интерфейсов на борту, работающих независимо друг от друга:
- Ethernet;
- До трех последовательных портов;
- USB Device для программирования контроллера.
Сервисное программное обеспечение ОВЕН ПЛК160
Программа обновления прошивки (внутреннее ПО) контроллера ОВЕН ПЛК160 и таргет файлы можно скачать в разделе «Сервисное ПО контроллеров ОВЕН ПЛК ПЛК110-30, ПЛК110-32, ПЛК110-60, ПЛК160».
Поддерживаемые интерфейсы и протоколы |
||
---|---|---|
Протокол |
Интерфейс |
Применение |
ОВЕН |
RS-232 RS-485 |
Поддержка модулей ОВЕН Мх110. Работа в сетях ОВЕН совместно с ТРМ2хх, ТРМ151, ТРМ148, ТРМ133 и т.д. |
Modbus RTU Modbus ASCII |
RS-232 RS-485 |
Поддержка модулей ввода/вывода и операторских панелей, связь со SCADA-системами |
Modbus TCP |
Ethernet 10/100 Mbps |
Поддержка модулей ввода/вывода, например ADAM-6000, связь со SCADA-системами |
DCON |
RS-232 RS-485 |
Поддержка модулей ввода/вывода I-7000, АDAM-4000, операторских панелей |
GateWay (протокол CoDeSys) |
RS-232 Ethernet 10/100 Mbps USB-Device |
Программирование контроллера, отладка пользовательской программы (в т.ч. высокоскоростная отладка в режиме Realtime по Ethernet). Работа с файлами на встроенном Flash-диске. Связь с контроллерами других производителей, сделанных на базе CoDeSys. Работа с OPC-сервером CoDeSys |
Mass Storage Device |
USB-Device |
Представление Flash-диска ПЛК как внешнего файлового накопителя. Работа с файлами архивов данных и файлами проекта |
Программирование
Программирование контроллеров осуществляется в профессиональной, распространенной среде CoDeSys v.2.3.x, максимально соответствующей стандарту МЭК 61131:
- поддержка 5 языков программирования, для специалистов любой отрасли;
- мощное средство разработки и отладки комплексных проектов автоматизации на базе контроллеров;
- функции документирования проектов;
- количество логических операций ограничивается только количеством свободной памяти контроллера;
- практически неограниченное количество используемых в проекте счетчиков, триггеров, генераторов.
Получить более подробную информацию по системе программирования CoDeSys и скачать её можно с нашего сайта или с сайта производителя www.3s-software.ru.
Программируются контроллеры данной линейки по любому из нижеперечисленных интерфейсов
- Ethernet
- Debug RS-232
- USB Device
Отличительные особенности линейки
- Небольшое количество точек вводавывода
- Расширенное количество интерфейсов «на борту» контроллеров
- Наличие порта Ethernet
- Поддержка протоколов обмена ModBus (RTU, ASCII), ОВЕН, DCon
- Возможность работы напрямую с портами контроллера, что позволяет подключать внешние устройства с нестандартными протоколами
- Контроллер имеет встроенные часы, что позволяет создавать системы управления с учетом реального времени
- Встроенный аккумулятор, позволяющий организовать ряд дополнительных сервисных функций: возможность кратковременного пережидания пропадания питания, перевод выходных элементов в безопасное состояние
- Наличие Flash памяти позволяет организовывать архивирование данных на самом ПЛК.
При покупке программируемого контроллера ОВЕН ПЛК предоставляются БЕСПЛАТНО
- Среда программирования CoDeSys
- Сбор готовых функциональных блоков
- Специальные сервисные утилиты для работы с ОВЕН ПЛК
- Для организации обмена с верхним уровнем предоставляются бесплатные OPC драйвера OPC, драйвер Gateway (от CoDeSys) и OPC драйвер ModBus (от ОВЕН)
Поддерживаемые интерфейсы и протоколы |
||
---|---|---|
Протокол |
Интерфейс |
Применение |
ОВЕН |
RS-232 RS-485 |
Поддержка модулей ОВЕН Мх110. Работа в сетях ОВЕН совместно с ТРМ2хх, ТРМ151, ТРМ148, ТРМ133 и т.д. |
Modbus RTU Modbus ASCII |
RS-232 RS-485 |
Поддержка модулей ввода/вывода и операторских панелей, связь со SCADA-системами |
Modbus TCP |
Ethernet 10/100 Mbps |
Поддержка модулей ввода/вывода, например ADAM-6000, связь со SCADA-системами |
DCON |
RS-232 RS-485 |
Поддержка модулей ввода/вывода I-7000, АDAM-4000, операторских панелей |
GateWay (протокол CoDeSys) |
RS-232 Ethernet 10/100 Mbps USB-Device |
Программирование контроллера, отладка пользовательской программы (в т.ч. высокоскоростная отладка в режиме Realtime по Ethernet). Работа с файлами на встроенном Flash-диске. Связь с контроллерами других производителей, сделанных на базе CoDeSys. Работа с OPC-сервером CoDeSys |
Mass Storage Device |
USB-Device (для ПЛК100) |
Представление Flash-диска ПЛК как внешнего файлового накопителя. Работа с файлами архивов данных и файлами проекта |
Технические характеристики
Общие сведения |
|
---|---|
Габаритные размеры |
208 х 110 х 73 мм |
Степень защиты корпуса |
IP20 со сторон передней панели, IP00 со стороны клемм |
Индикация на передней панели |
Светодиодная |
Масса, не более |
0,95 кг |
Питание |
|
---|---|
Напряжение питания: ПЛК160-24.Х-Х ПЛК160-220.Х-Х |
От 18 до 28 В постоянного тока (номинальное 24 В) От 100 до 240 В переменного тока (номинальное 220 В) |
Потребляемая мощность: ПЛК160-24.Х-Х, не более ПЛК160-220.Х-Х, не более: |
35 ВА 40 ВА |
Параметры встроенного источника питания |
Выходное напряжение 24±3 В, ток не более 400 мА |
Ресурсы и дополнительное оборудование |
|
---|---|
Центральный процессор |
RISC-процессор, 32 разряда, 200 МГц, на базе ядра ARM-9 |
Объем оперативной памяти |
8 МБ, из них 1МБ для кода пользовательской программы, 128кБ для переменных пользовательской программы |
Объем энергонезависимой памяти |
4 МБ, из них 3МБ доступно для хранения файлов и архивов |
Размер Retain-памяти |
не более 16 кБ (по умолчанию задано значение 4 кб) |
Время выполнения одного цикла программы |
— Минимальное (нестабилизируемое) — 250 мкс; — Установленное по умолчанию (стабилизированное) — 1 мс* |
Дополнительное периферийное оборудование |
— Часы реального времени с собственным аккумуляторным питанием — Встроенный источник выдачи звукового сигнала — Функциональная кнопка на передней панели контроллера |
Цифровые (дискретные) входы |
|
---|---|
Количество дискретных входов |
16 шт |
Подключаемые входные устройства |
— коммутационные устройства (контакты кнопок, выключателей, герконов, реле и т.п.); — датчики, имеющие на выходе транзистор n-p-n или p-n-p типа с открытым коллектором; — дискретные сигналы 24±3 В |
Гальваническая развязка дискретных входов |
Групповая |
Электрическая прочность изоляции дискретных входов |
1500 В |
Минимальная длительность импульса, воспринимаемого дискретным входом |
— 50 мкс в режиме счетчик импульсов (Входы DI1..DI4) |
Напряжение питания дискретных входов |
24 ± 3 В |
Ток «логической единицы» |
0…0,006 мА |
Напряжение «логического нуля» |
0…5 В |
Ток «логической единицы» |
6..10 мА |
Напряжение «логического нуля» |
15…27 В |
Аналоговые входы |
|
---|---|
Предел основной приведенной погрешности, % |
0,25 |
Разрешающая способность, бит, не менее |
12 |
Количество аналоговых каналов измерения |
8 |
Входное сопротивление в режиме измерения тока |
не более 170 Ом |
Входное сопротивление в режиме измерения напряжения |
не менее 200кОм |
Период обновления результатов измерения по каждому каналу, мс |
15 ± 2 % |
Цифровые (дискретные) выходы |
|
---|---|
Количество и тип дискретных выходов: ПЛК160-Х.Х-Х, электромагнитных реле: |
12 |
Гальваническая развязка дискретных выходов |
Индивидуальная |
Электрическая прочность изоляции дискретных выходов |
1500 В от схемы прибора; 500 В между выходами (или группами выходов) |
Время переключения из состояния «0» в состояние «1» и обратно: |
|
---|---|
Время переключения из состояния «0» в состояние «1» и обратно |
выходы DО1…DО12: 50 мс |
Максимальный ток, |
— не более 3 А (при напряжении не более 250 В переменного тока и cos j > 0,4) — не более 3 А (при напряжении не более 30 В постоянного тока) |
Механический ресурс реле |
— не менее 300 000 циклов переключений при максимальной коммутируемой нагрузке; |
Аналоговые выходы |
|
---|---|
Количество аналоговых выходов |
4 |
Разрядность ЦАП |
10 бит |
Тип выходного сигнала ПЛК160-Х.И ПЛК160-Х.У ПЛК160-Х.А |
Ток 4…20 мА Напряжение 0…10 В Ток 4…20 мА или напряжение 0…10 В |
Питание аналоговых выходов |
встроенное, общее на все выходы |
Гальваническая изоляция аналоговых выходов |
есть, групповая |
Электрическая прочность изоляции аналоговых выходов |
1,5 кВ |
Интерфейсы связи и программирования |
|||
---|---|---|---|
Интерфейсы связи |
Протоколы |
Скорости передачи |
Количество интерфейсов |
RS-485 |
— ModBus-RTU, — ModBus-ASCII, — DCON — GateWay (только |
(2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200) бит/с |
2 |
RS-232 |
1 |
||
RS-232-Debug |
1 |
||
Ethernet 100 Base-T |
— ModBus-TCP — Gateway — TCP-IP, UDP-IP |
(10, 100) Мбит/с |
1 |
USB-Device |
CDC |
115200 бит/с |
1 |
Программирование |
|
---|---|
Среда программирования |
CoDeSys 2.3 (версия 2.3.8.1) |
Интерфейсы для связи со средой программирования CoDeSys |
— RS-232-Debug; — USB-Device; — Ethernet |
Модификации
Обозначения при заказе |
Схемы подключения
Отраслевые применения
Применение в каталоге проектов и решений |
||
---|---|---|
Название проекта | Отрасль применения | Используемые приборы |
Автоматизированный комплекс управления автоклавным цехом силикатного завода подробнее |
Производство строительных материалов |
АС3-М, АС4, ТРМ200,БП15, ТРМ202 |
Система диспетчеризации в офисе «РИА НОВОСТИ» в Москве на базе ОВЕН ПЛК160 подробнее |
ЖКХ |
МВ110-220.8АС |
АСУТП энергоцентра в г. Коломна подробнее |
Электроэнергетика |
ПЛК150, ТРМ202 |
Диспетчеризация котельной с элементами управления подробнее |
ЖКХ |
МВ110-224.2АС,ТРМ201, МВ110-220.8АС |
САУ водозаборного узла с высокой степенью отказоустойчивости подробнее |
ЖКХ |
СП270 |
Типовой проект автоматизации дома подробнее |
ЖКХ, Решения для автоматизации инженерных систем зданий |
ПМ01 |
Автоматизированная система управления и диспетчеризации деаэратора подробнее |
Деревообрабатывающая промышленность, Тара, упаковка, полиграфия, Химическая отрасль, Производство строительных материалов, Пищевая промышленность, ЖКХ |
НПТ, БП60 |
Универсальный щит управления котловым агрегатом ЩУКА-004 подробнее |
ЖКХ, Решения для автоматизации инженерных систем зданий |
МК110-224.8Д.4Р,БП60, ТРМ202 |
Автоматизированная система управления и диспетчеризации котельной пос. Поляны Ленинградской области подробнее |
ЖКХ |
МВ110-224.16Д,МВ110-224.8А |
Автоматизация Мини ТЭЦ базы отдыха подробнее |
ЖКХ, Электроэнергетика, Решения для автоматизации инженерных систем зданий |
МВ110-224.8ДФ,ПМ01, АС4, МВ110-220.8АС, БП60 |
Автоматизированная система управления вентиляцией компрессорной станции подробнее |
Машиностроение и металлообработка, Химическая отрасль, Производство строительных материалов, ЖКХ, Металлургия, Электроэнергетика, Решения для автоматизации инженерных систем зданий |
СП270, МВ110-224.2А,МК110-220.4ДН.4Р,БП30 |
Комплектность
- Контроллер ОВЕН ПЛК 160
- Паспорт и руководство по эксплуатации
- Компакт-диск с программным обеспечением
- Кабель программирования
- Гарантийный талон
Вебинар «Контроллеры для малых и средних систем автоматизации ПЛК110 и ПЛК160»
Документация
В любой автоматизации главным «мозгом» системы является программируемый логический контроллер. В него можно заложить некоторое слабое подобие искусственного интеллекта (ИИ). Пускай хоть и примитивного. Система может чувствовать с помощью своих сенсоров и датчиков, и реагировать на различные изменения, как живой организм. Может собирать данные или клепать вам продукцию. С помощью какого ПЛК лучше всего делать? Всё зависит от задачи и требований. Конкретно эта статья будет нацелена на программирование ПЛК ОВЕН.
Из этой статьи вы узнаете:
Меня зовут ОВЕН ПЛК
Первые шаги по программированию ПЛК
Приветствую друзья, на связи автор блога, Гридин Семён. Я всегда рад тому, что всё больше и больше людей посещают блог. Это говорит о том, что тема востребованная и интересная. На самом деле у меня очень много материала, который хочется выложить на страницы блога. Медленно и верно решаю поставленную задачу.
Знаете, я в последнее время всё чаще и чаще встречаю в интернете материалы крутых ребят из Boston Dynamics. Их продукция реально впечатляет. Это реальный прогресс в области робототехники. Боюсь даже представить что будет дальше. И интересно и страшно.
Вот кстати одно из интересных решений. Робот пытается открыть дверь, несмотря на то, что человек мешает ему:
А мы приступим к нашей новой статье.
Меня зовут ОВЕН ПЛК
Среди множества промышленных контроллеров, как отечественных, так и зарубежных, оборудование ОВЕН является самым приемлемым, доступным и качественным.
Первое преимущество, которое бросается на глаза — это конечно цена.
Допустим стандартные и наиболее популярные контроллеры ПЛК100 и ПЛК150 вмещаются в цену в 15 т.р. При этом у них сразу на борту есть входы и выходы.
К ним не нужно добавлять дополнительно модули ввода/вывода по внутренней шине. К девайсам с внутренней шиной как раз относятся WAGO, Berghof, ABB. Их ценник просто зашкаливает в размере от 25 т.р. К сожалению в любом проекте внедрить их будет не так то просто.
Второе преимущество, качество и надёжность. Фирма ОВЕН со временем всё больше и больше набирает обороты. Их продукция с каждым годом всё качественнее и качественнее. Как бы народ не ругался. Все ошибки и баги со временем исправляют.
Так вот. Все ПЛК поддерживают среду разработки CoDeSyS версии 2.3. У вас есть возможность ознакомиться на сайте. Можете посмотреть примеры и применить их на практике. Есть отдельная статья с видеоуроками.
На сайте ОВЕН у вас всегда есть возможность получить кучу информации, кучу дополнительных примеров, круглосуточную и доброжелательную тех. поддержку. Вообщем рекомендую.
Из их продукции мне очень нравится работать с ПЛК63/73, ПЛК100 и ПЛК160. Эти контроллеры наиболее надёжные и стабильные. НО… Как и у любого другого оборудования, у них есть куча нюансов. Это нужно понимать.
Во всех статьях, включая и эту, все примеры я буду писать под ОВЕН ПЛК63. Так как у этого контроллера есть буквально ВСЁ, что нам необходимо для локальной автоматики.
У него есть и дискретные входы и дискретные выходы. Есть 8 универсальных аналоговых входов и 2 аналоговых выхода (Всё зависит от модификации). На аналоговые входы можно посадить различные датчики, начиная от термопары и заканчивая датчиком размера (4-20 мА либо 0-10 В). есть два интерфейса RS232 и RS485.
Минусы тоже есть. Один из этих минусов порт интерфейса 232. Порт не очень хороший, может периодически терять связь с компьютером, когда мониторится программа. А если рядом срабатывают контакторы, вообще труба.
Скорость опроса АЦП маленькая, в пределах 50-80 мс. В некоторых процессах может сыграть отрицательно. Лучше всего использовать для измерений температур, давлений и влажности в медленных процессах.
Для того, чтобы связаться с модулями ввода/вывода, нужно писать специальные библиотеки для опроса, простого конфигуратора в таргете ПЛК63 нет.
Такой контроллер лучше всего использовать для отопления, приточной вентиляции, умного дома или как сборщик информации, который скидывает показания в базу данных.
Есть ещё не плохой контроллер, но он будет подороже и побольше, только без экрана. Это ПЛК160.
Скорость опроса аналогового входа составляет около 20 мс (это включая все фильтры, скорость обработки операции и т.д.)
Ну это, как вариант.
Первые шаги по программированию ПЛК
Какие у нас будут следующие действия?
Сначала устанавливаем среду разработки CoDeSyS 2.3, необходимые библиотеки и таргет контроллера ПЛК63. После этого мы можем связываться с оборудованием и писать простенькую программку.
Давайте придумаем какую-нибудь задачу — выведем на экран контроллера наше стандартное «Привет мир!» и при включённом питании будет включать и выключать свой выход в течении определённого времени.
Для простоты понимания напишу программу на графическом языке CFC. Так как он наиболее наглядный и удобный.
Для того чтобы вывести на экран приветствие «Привет мир!» нужно установить специальные библиотеки Ind_Mode и Work_Mode и написать небольшой код:
Давайте обозначим состояние 1 выхода, и зададим время включения и выключения:
Вот что получилось на экране прибора:
В принципе, ничего супер сложного нет.
Если будут вопросы, пишите в комментариях, пишите письма, всегда рад общению. До встречи в новых статьях. Всего доброго, счастья вам.
С уважением, Гридин Семён
ОВЕН ПЛК160 – линейка программируемых моноблочных контроллеров с дискретными и аналоговыми входами/выходами на борту для автоматизации средних систем.
Оптимальны для построения систем автоматизации среднего уровня и распределенных систем управления.
Рекомендуется к использованию
- В системах HVAC
- В сфере ЖКХ (ИТП, ЦТП)
- В АСУ водоканалов (водоподготовка, насосные станции)
- Для управления пищеперерабатывающими и упаковочными аппаратами
- Для управления климатическим оборудованием
- В сфере производства строительных материалов
Отличительные особенности линейки
- Мощные вычислительные ресурсы и большой объем памяти.
- Наличие дискретных и аналоговых входов/выходов на борту контроллера.
- Наличие последовательных портов (RS-232, RS-485) на борту контроллера.
- Наличие порта Ethernet для включения в локальные или глобальные сети верхнего уровня.
- Поддержка протоколов обмена Modbus (RTU, ASCII), ОВЕН, DCON.
- Возможность работы напрямую с портами контроллера, что позволяет подключать внешние устройства с нестандартными протоколами.
- Контроллер имеет встроенные часы, что позволяет создавать системы управления с учетом реального времени.
- Встроенный аккумулятор, позволяющий организовать ряд дополнительных сервисных функций: возможность кратковременного пережидания пропадания питания, перевод выходных элементов в безопасное состояние.
Контроллер |
ПЛК160 |
Дискретные входы |
16 |
Дискретные выходы |
12 |
Аналоговые входы |
8 |
Аналоговые выходы |
4 |
Аналоговые выходы могут быть
- По току 4…20 мА
- По напряжению 0…10 В
- Универсальные — программно переключаемые токнапряжение
Интерфейсы и протоколы
Все контроллеры данной линейки имеют большое количество интерфейсов на борту, работающих независимо друг от друга:
- Ethernet;
- До трех последовательных портов;
- USB Device для программирования контроллера.
Поддерживаемые интерфейсы и протоколы
Протокол |
Интерфейс |
Применение |
ОВЕН |
RS-232 RS-485 |
Поддержка модулей ввода/вывода ОВЕН Мх110 Работа в сетях ОВЕН совместно с ТРМ2хх |
Modbus RTU Modbus ASCII |
RS-232 RS-485 |
Поддержка модулей ввода/вывода и операторских панелей (например, ОВЕН СП3хх), связь со SCADA-системами |
Modbus TCP |
Ethernet 10/100 Mbps |
Связь со SCADA-системами |
DCON |
RS-232 RS-485 |
Поддержка модулей ввода/вывода ICP DAS I-7xxx, АDAM-4xxx, операторских панелей |
GateWay (протокол CODESYS) |
RS-232 Ethernet 10/100 Mbps USB-Device |
Программирование контроллера, отладка пользовательской программы Связь с контроллерами других производителей на базе CODESYS Работа с OPC-сервером CODESYS |
Mass Storage Device |
USB-Device |
Работа с файлами архивов данных и файлами проекта |
Контроллеры данной линейки также поддерживают работу с нестандартными протоколами по любому из портов, что позволяет подключать такие устройства, как электро-, газо-, водосчетчики, считыватели штрих-кодов и т.п.
Программирование
Программирование контроллеров осуществляется в профессиональной, распространенной среде CODESYS v.2.3.x, максимально соответствующей стандарту МЭК 61131:
- поддержка 5 языков программирования, для специалистов любой отрасли;
- мощное средство разработки и отладки комплексных проектов автоматизации на базе контроллеров;
- функции документирования проектов;
- количество логических операций ограничивается только количеством свободной памяти контроллера;
- практически неограниченное количество используемых в проекте счетчиков, триггеров, генераторов.
Интерфейсы для программирования и отладки: Ethernet, USB, RS-232 (Debug).
При покупке программируемого контроллера ОВЕН ПЛК предоставляются БЕСПЛАТНО
- Среда программирования CODESYS
- Готовые библиотеки программных блоков
- Специальные сервисные утилиты для работы с ОВЕН ПЛК
- Руководство пользователя и обучающие видеокурсы
- Для организации обмена с верхним уровнем предоставляются бесплатные OPC-драйверы, OPC-драйвер Gateway (от CODESYS) и OPC-драйвер Modbus (от ОВЕН)
ПОДРОБНЕЕ
Функциональная схема ОВЕН ПЛК160
Сравнительная таблица ПЛК160 и ПЛК160 [М02]
ПЛК160 |
ПЛК160 [М02] |
|
Вычислительные ресурсы |
||
Центральный процессор |
RISC-процессор на базе ядра ARM-9, 32 разряда |
RISC-процессор Texas Instruments Sitara AM1808 |
Частота процессора |
180 МГц |
400 МГц |
Объем энергонезависимой памяти |
4 Мб (Flash) |
6 Мб (Flash) |
Объем Retain-памяти |
до 16 кБайт (SDRAM) |
16 кБайт (MRAM) |
Число циклов перезаписи |
50 000 |
не ограничено |
Внешние интерфейсы |
||
USB-Host (подключение переферии и архивация на флеш-накопители) |
Отсутствует |
Есть |
Питание +5 В в RS-232 |
Отсутствует |
Есть |
Работа в мобильных сетях1 |
SMS, CSD |
SMS, CSD, GPRS |
Быстродействующие дискретные входы |
||
Максимальная частота входного сигнала |
до 10 кГц |
до 100 кГц |
Клеммник |
||
Тип клеммника |
Съёмный |
Съёмный с невыпадающими винтами |
Батарея/Аккумулятор |
||
Источник питания для часов реального времени |
Аккумулятор LIR2466 |
Батарея CR2032 |
Источник питания для Retain-памяти |
Не требуется, используется MRAM |
|
Способ замены |
Требуется перепайка |
Простая замена, без перепайки |
Условия эксплуатации |
||
Диапазон рабочих температур |
-10…+55 °С |
-40…+55 °С |
ПО, Библиотеки и пр. |
||
Механизм записи Retain-памяти |
По событию (отключение питания) |
|
USB-драйвер для подключения ПЛК к CODESYS |
Windows XP |
Windows 7/8/10 |
Работа с быстрыми входами из прерывания высокочастотного таймера |
Не поддерживается |
Поддерживается |
1 При использовании модема ПМ01 с sim-модулем SIM800
2 Сохранение Retain из кода возможно только при использовании библиотеки RetainControlLib.lib
Технические характеристики
Параметр |
Значение (свойства) |
||
ПЛК160-Х.А |
ПЛК160-Х.У |
ПЛК160-Х.И |
|
Питание |
|||
Напряжение питания: |
|||
– ПЛК160-24.Х [М02] |
от 9 до 30 В постоянного тока при Т > -20 °С |
||
– ПЛК160-220.Х [М02] |
от 90 до 264 В переменного тока (номинальное 120/230 В) |
||
Потребляемая мощность, не более |
45 ВА |
||
Пусковой ток, не более |
10 А – при напряжении 90 В |
||
Длительность переходного процесса, не более |
3 мс – при напряжении 90 В |
||
Выходное напряжение встроенного источника питания: |
|||
– для исполнения 220 В |
24±3 В, ток потребления не более 400 мА |
||
– для исполнения 24 В |
пропорционально напряжению источника питания прибора |
||
Цифровые (дискретные) входы |
|||
Количество входов: |
16 |
||
Тип входов по ГОСТ Р 52931-2008 |
1 и 2 |
||
Напряжение питания дискретных входов |
24 ± 3 В |
||
Максимальный входной ток дискретного входа, не более |
7 мА – при питании 24 В |
||
Сигнал «логической единицы», соответствующий состоянию «Включено», дискретных входов для постоянного напряжения, (ток в цепи) |
от 15 до 30 В (ток от 3 до 15 мА) |
||
Сигнал «логического нуля», соответствующий состоянию «Выключено», дискретных входов для постоянного напряжения, (ток в цепи) |
от минус 3 до 5 В (ток до 15 мА) |
||
Минимальная длительность импульса, воспринимаемого дискретным входом |
1 мс – для обычных входов |
||
Подключаемые входные |
– коммутационные устройства (контакты кнопок, выключателей, герконов, реле и т. п.) |
||
Дискретные выходы (контакты электромагнитных реле) |
|||
Количество релейных выходных каналов |
12 |
||
Максимальный ток, коммутируемый контактами реле, не более |
3 А (~250 В, частотой 50 Гц и cos ᵠ > 0,4) |
||
Время переключения контактов реле из состояния «лог. 0» в «лог. 1» и обратно, не более |
50 мс (выходы DО1-DО12) |
||
Механический ресурс реле, не менее |
300 000 циклов переключений – при максимальной коммутируемой нагрузке |
||
Аналоговые входы |
|||
Количество аналоговых входов |
8 |
||
Тип поддерживаемых унифицированных сигналов |
Ток 0(4)…20 мА |
||
Разрядность АЦП |
14 бит |
||
Входное сопротивление, не более |
В режиме измерения тока 170 Ом В режиме измерения напряжения, не менее 200 кОм |
||
Период опроса одного входа |
10 мс |
||
Предел основной приведенной погрешности преобразования |
±0,25 % |
||
Предел дополнительной приведенной погрешности преобразования на каждые 10 градусов изменения температуры |
±0,05 % |
||
Аналоговые выходы |
|||
Количество аналоговых выходов |
4 |
||
Тип выходного сигнала |
Универсальный: ток 4…20 мА или напряжение 0…10 В |
Напряжение |
Ток |
Предел основной приведенной |
± 0,5 % |
||
Разрядность ЦАП (бит) |
12 |
10 |
10 |
Минимальный период обновления выходов |
100 мс |
||
Питание аналоговых выходов, внешнее |
24±3 В |
||
Предел допускаемой дополнительной приведенной погрешности аналоговых выходов, вызванной изменением температуры окружающего воздуха от нормальной на каждые 10 °С изменения температуры |
Не более 0,5 предела допускаемой основной приведенной погрешности аналоговых выходов |
||
Вычислительные ресурсы |
|||
Центральный процессор |
RISC-процессор Texas Instruments Sitara AM1808 |
||
Объем оперативной памяти (SDRAM) |
Пользовательская программа: 1 Мб |
||
Объем энергонезависимой памяти (FLASH) |
6 Мбайт доступно для хранения файлов и архивов |
||
Размер Retain-памяти (MRAM) |
16 Кбайт |
||
Количество сокетов |
30 |
||
Время выполнения пустого цикла |
Установленное по умолчанию (стабилизированное) – 1 мс |
||
Встроенное оборудование |
|||
Часы реального времени с собственным батарейным питанием погрешность хода, не более |
при температуре +25 °С: 5 секунд в сутки |
||
Встроенный источник выдачи звукового сигнала |
|||
Трехпозиционный переключатель на передней панели контроллера |
|||
Заводские сетевые настройки |
|||
IP-адрес |
10.0.6.10 |
||
Маска IP-адреса |
255.255.255.0 |
||
IP-адрес шлюза |
10.0.6.1 |
||
DNS |
8.8.8.8; 8.8.4.4 |
||
Общие сведения |
|||
Габаритные размеры, не более |
(208×110×83) ± 1 мм |
||
Масса, не более |
1,2 кг |
||
Степень защиты корпуса по ГОСТ 14254–96 |
IP20 – со стороны передней панели, IP00 – со стороны клемм |
||
Индикация на передней панели |
Светодиодная |
||
Средняя наработка на отказ2 |
60 000 ч |
||
Средний срок службы |
8 лет |
||
Интерфейсы связи: |
RS-485 |
||
Максимальный ток питания подключаемых устройств |
До 250 мА3 (RS-232-Debug / RS-232) До 150 мА (USB-Host) |
1 В зависимости от использования ресурсов (сокеты, конфигурация и др.).
2 Не считая электромеханических переключателей и элемента питания часов реально реального времени.
3 Допускается подключение линии питания только для одного из интерфейсов: либо RS-232, либо RS-232 Debug.