Напряжение питания:
-
ПЛК110-24.Х.Х-Х(М02)
от 9 до 26 В постоянного тока
при минус 40 °С > Т > минус 20 °С (номинальное 12 или 24 В)*
от 9 до 30 В постоянного тока при Т > минус 20 °С
-
ПЛК110-220.Х.Х-Х(М02)
от 90 до 264 В переменного тока,
либо постоянного тока (номинальное 120/230 В)
Потребляемая мощность, не более:
-
ПЛК110-24.Х.Х-Х(М02)
28 Вт
31 Вт
-
ПЛК110-220.Х.Х-Х(М02)
41 ВА
45 ВА
Пусковой ток, не более
-
при напряжении 90 В
11 А
10 А
-
при напряжении 230 В
41 А
44 А
-
при напряжении 264 В
55 А
54 А
Длительность переходного процесса, не более
-
при напряжении 90 В
3 мс
3 мс
-
при напряжении 230 В
2,5 мс
2,5 мс
-
при напряжении 264 В
2,5 мс
2,5 мс
Предупреждение
* Для питания
модификации ПЛК110-24.Х.Х-Х(М02) следует использовать только источник
питания со сверхнизким безопасным напряжением, двойной или усиленной
изоляцией и с потенциальной развязкой цепей. В противном случае в
цепях может появиться опасное напряжение, которое приведет к поломке
прибора.
Выходное напряжение вторичного источника равно входному
напряжению, ток не более 630 мА.
Дискретные входы
Максимальный ток «логической единицы»
9 мА (при 30 В)
Максимальный ток «логического нуля»
2 мА
Напряжение «логической единицы»
от 15 до 30 В
Напряжение «логического нуля»
от минус 3 до плюс 5 В
Минимальная длительность импульса, воспринимаемого дискретным входом:
-
для обычных входов
1,6
мс (меандр)
-
для быстродействующих
см. таблицу
Подключаемые входные устройства
коммутационные устройства (контакты кнопок, выключателей, герконов,
реле и т.п.)
трехпроводные датчики, имеющие на выходе транзистор
n-p-n или p‑n‑p‑типа с открытым коллектором
дискретные сигналы
с напряжением до 30 В
Параметры встроенного источника питания:
-
ПЛК110-24.Х.Х-Х(М02)
выходное
напряжение равно входному напряжению на клеммах питания ПЛК, ток не
более 630 мА
-
ПЛК110-220.Х.Х-Х(М02)
выходное напряжение 24 В ± 4
%, ток не более 400 мА
Количество входов
18
18
36
(из них быстродействующих)
(2)
(2)
(4)
Тип входов по ГОСТ Р 51841
1
Дискретные выходы (контакты
электромагнитных реле ПЛК110-Х.Х.Р(М02))
Количество релейных выходных каналов
12
14
24
Максимальный ток, коммутируемый контактами
реле, не более
3 А (для переменного напряжения
не более 250 В, частотой 50 Гц и cosφ > 0,4 – нагрузка для категории
использования АС-15 по ГОСТ IEC 60947-1);
3 А (для постоянного
напряжения не более 30 В – нагрузка для категории использования DC-13
по ГОСТ IEC 60947-1)
Время переключения контактов реле
из состояния «лог. 0» в «лог. 1» и обратно, не более
мс (выходы DО1…DО24)
Суммарный максимальный ток нагрузки группы реле:
-
COM1-COM2
3 А
3 А
3 А
-
COM3
3 А
12 А
3 А
-
COM4
3 А
12 А
3 А
-
COM5
12 А
12 А
2,5 А
-
COM6
12 А
—
6 А
-
COM7-COM10
—
—
12 А
Механический ресурс реле, не менее:
000 циклов переключений при максимальной коммутируемой нагрузке
нагрузки менее половины от максимальной
Дискретные выходы (транзисторные
ключи ПЛК110-Х.Х.К)
Количество транзисторных выходных каналов
12
14
24
(4 – DO1…DO4)
(4 – DO1…DO4)
(4 – DO1…DO4)
Максимальный ток транзисторного выхода, не более
-
для обычных
постоянного тока – нагрузка для категории использования DC-13 по ГОСТ IEC 60947-1)
-
для быстродействующих
в диапазоне от 12 до 30 В, от внешнего источника)
Характеристики встроенного выходного
защитного элемента подавления помех, возникающих из-за коммутации
индуктивностей (TVS диод)
SMBJ40A (напряжение срабатывания
от 44,4 В до 49,1 В)
Время переключения транзисторного
выхода из состояния «лог. 1» в состояние «лог. 0», не более
-
для быстродействующих
-
для обычных
мс (выходы DО5…DО24)
Вычислительные ресурсы
Объем оперативной памяти (тип памяти)
Пользовательская программа 1 МБ
Данные пользовательской программы 128 кБ
Heap до 4 Мб в
зависимости от использования ресурсов (сокеты, конфигурация и др.)
(SDRAM)
RAM-диск 8 МБ
Объем энергонезависимой памяти (тип
памяти)
6 Мб доступно для хранения файлов
и архивов
Объем Retain-памяти (MRAM)
16 кБ*
Количество сокетов
30
Время выполнения пустого цикла
Установленное по умолчанию (стабилизированное)
– 1 мс (настраивается в окне «Конфигурация ПЛК (PLC Configuration)
CODESYS. Настоятельно не рекомендуется устанавливать время цикла равное
0 мс
Центральный процессор
RISC-процессор Texas Instruments
Sitara AM1808
Встроенное оборудование
Часы реального времени с собственным батарейным питанием. Погрешность
хода, не более:
-
при температуре плюс 25 °С
-
при температуре минус 40 °С
секунд в сутки
сигнала
передней панели контроллера
Заводские сетевые настройки
Общие сведения
Габаритные размеры
(140 × 114 × 83) ±1 мм
(208 × 114 × 83) ±1 мм
Масса, не более
1,2 кг
Степень защиты корпуса по ГОСТ 14254
IP20 со стороны передней панели;
IP00 со стороны клемм
Индикация на передней панели
Светодиодная
Средняя наработка на отказ**
60 000 ч
Средний срок службы
* Работа с RETAIN
переменными описана в документе ”Руководство по работе с RETAIN переменными”.
** Не считая электромеханических переключателей и элемента питания
часов реально реального времени.
Приемы работы и примеры разработки пользовательских программ представлены
в документе «Первые шаги с 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)» дерева ресурсов проекта на вкладке «Ресурсы»
организатора объектов.
Питание
Напряжение питания:
-
ПЛК110-24.Х.Х-Х(М02)
от 9 до 26 В постоянного тока
при минус 40 °С > Т > минус 20 °С (номинальное 12 или 24 В)*
от 9 до 30 В постоянного тока при Т > минус 20 °С
-
ПЛК110-220.Х.Х-Х(М02)
от 90 до 264 В переменного тока,
либо постоянного тока (номинальное 120/230 В)
Потребляемая мощность, не более:
-
ПЛК110-24.Х.Х-Х(М02)
28 Вт
31 Вт
-
ПЛК110-220.Х.Х-Х(М02)
41 ВА
45 ВА
Пусковой ток, не более
-
при напряжении 90 В
11 А
10 А
-
при напряжении 230 В
41 А
44 А
-
при напряжении 264 В
55 А
54 А
Длительность переходного процесса, не более
-
при напряжении 90 В
3 мс
3 мс
-
при напряжении 230 В
2,5 мс
2,5 мс
-
при напряжении 264 В
2,5 мс
2,5 мс
Предупреждение
* Для питания
модификации ПЛК110-24.Х.Х-Х(М02) следует использовать только источник
питания со сверхнизким безопасным напряжением, двойной или усиленной
изоляцией и с потенциальной развязкой цепей. В противном случае в
цепях может появиться опасное напряжение, которое приведет к поломке
прибора.
Выходное напряжение вторичного источника равно входному
напряжению, ток не более 630 мА.
Дискретные входы
Максимальный ток «логической единицы»
9 мА (при 30 В)
Максимальный ток «логического нуля»
2 мА
Напряжение «логической единицы»
от 15 до 30 В
Напряжение «логического нуля»
от минус 3 до плюс 5 В
Минимальная длительность импульса, воспринимаемого дискретным входом:
-
для обычных входов
1,6
мс (меандр)
-
для быстродействующих
см. таблицу
Подключаемые входные устройства
коммутационные устройства (контакты кнопок, выключателей, герконов,
реле и т.п.)
трехпроводные датчики, имеющие на выходе транзистор
n-p-n или p‑n‑p‑типа с открытым коллектором
дискретные сигналы
с напряжением до 30 В
Параметры встроенного источника питания:
-
ПЛК110-24.Х.Х-Х(М02)
выходное
напряжение равно входному напряжению на клеммах питания ПЛК, ток не
более 630 мА
-
ПЛК110-220.Х.Х-Х(М02)
выходное напряжение 24 В ± 4
%, ток не более 400 мА
Количество входов
18
18
36
(из них быстродействующих)
(2)
(2)
(4)
Тип входов по ГОСТ Р 51841
1
Дискретные выходы (контакты
электромагнитных реле ПЛК110-Х.Х.Р(М02))
Количество релейных выходных каналов
12
14
24
Максимальный ток, коммутируемый контактами
реле, не более
3 А (для переменного напряжения
не более 250 В, частотой 50 Гц и cosφ > 0,4 – нагрузка для категории
использования АС-15 по ГОСТ IEC 60947-1);
3 А (для постоянного
напряжения не более 30 В – нагрузка для категории использования DC-13
по ГОСТ IEC 60947-1)
Время переключения контактов реле
из состояния «лог. 0» в «лог. 1» и обратно, не более
10 мс (выходы DО1…DО12)
10 мс (выходы DО1…DО14)
10
мс (выходы DО1…DО24)
Суммарный максимальный ток нагрузки группы реле:
-
COM1-COM2
3 А
3 А
3 А
-
COM3
3 А
12 А
3 А
-
COM4
3 А
12 А
3 А
-
COM5
12 А
12 А
2,5 А
-
COM6
12 А
—
6 А
-
COM7-COM10
—
—
12 А
Механический ресурс реле, не менее:
300
000 циклов переключений при максимальной коммутируемой нагрузке
500 000 циклов переключений при коммутации
нагрузки менее половины от максимальной
Дискретные выходы (транзисторные
ключи ПЛК110-Х.Х.К)
Количество транзисторных выходных каналов
12
14
24
(из них быстродействующих)
(4 – DO1…DO4)
(4 – DO1…DO4)
(4 – DO1…DO4)
Максимальный ток транзисторного выхода, не более
-
для обычных
400 мА (при напряжении не более 30 В
постоянного тока – нагрузка для категории использования DC-13 по ГОСТ IEC 60947-1)
-
для быстродействующих
400 мА (при напряжении постоянного тока
в диапазоне от 12 до 30 В, от внешнего источника)
Характеристики встроенного выходного
защитного элемента подавления помех, возникающих из-за коммутации
индуктивностей (TVS диод)
SMBJ40A (напряжение срабатывания
от 44,4 В до 49,1 В)
Время переключения транзисторного
выхода из состояния «лог. 1» в состояние «лог. 0», не более
-
для быстродействующих
0,002 мс (выходы DО1…DО4)
-
для обычных
5 мс (выходы DО5…DО12)
5 мс (выходы DО5…DО14)
5
мс (выходы DО5…DО24)
Вычислительные ресурсы
Объем оперативной памяти (тип памяти)
Пользовательская программа 1 МБ
Данные пользовательской программы 128 кБ
Heap до 4 Мб в
зависимости от использования ресурсов (сокеты, конфигурация и др.)
(SDRAM)
RAM-диск 8 МБ
Объем энергонезависимой памяти (тип
памяти)
6 Мб доступно для хранения файлов
и архивов
Объем Retain-памяти (MRAM)
16 кБ*
Количество сокетов
30
Время выполнения пустого цикла
Установленное по умолчанию (стабилизированное)
– 1 мс (настраивается в окне «Конфигурация ПЛК (PLC Configuration)
CODESYS. Настоятельно не рекомендуется устанавливать время цикла равное
0 мс
Центральный процессор
RISC-процессор Texas Instruments
Sitara AM1808
Встроенное оборудование
Часы реального времени с собственным батарейным питанием. Погрешность
хода, не более:
-
при температуре плюс 25 °С
5 секунд в сутки
-
при температуре минус 40 °С
20
секунд в сутки
Встроенный источник выдачи звукового
сигнала
Трехпозиционный переключатель на
передней панели контроллера
Заводские сетевые настройки
IP-адрес
10.0.6.10
Маска IP-адреса
255.255.255.0
IP-адрес шлюза
10.0.6.1
DNS
8.8.8.8; 8.8.4.4
Общие сведения
Габаритные размеры
(140 × 114 × 83) ±1 мм
(208 × 114 × 83) ±1 мм
Масса, не более
1,2 кг
Степень защиты корпуса по ГОСТ 14254
IP20 со стороны передней панели;
IP00 со стороны клемм
Индикация на передней панели
Светодиодная
Средняя наработка на отказ**
60 000 ч
Средний срок службы
10 лет
* Работа с RETAIN
переменными описана в документе ”Руководство по работе с RETAIN переменными”.
** Не считая электромеханических переключателей и элемента питания
часов реально реального времени.
ОВЕН ПЛК110 – линейка программируемых моноблочных контроллеров с дискретными входами/выходами на борту для автоматизации средних систем.
Оптимальны для построения систем автоматизации среднего уровня и распределенных систем управления.
Рекомендуется к использованию
- В системах HVAC
- В сфере ЖКХ (ИТП, ЦТП)
- В АСУ водоканалов (водоподготовка, насосные станции)
- Для управления малыми станками и механизмами
- Для управления пищеперерабатывающими и упаковочными аппаратами
- Для управления климатическим оборудованием
- Для автоматизации торгового оборудования
- В сфере производства строительных материалов
Отличительные особенности линейки
- Мощные вычислительные ресурсы и большой объем памяти.
- Наличие дискретных входов/выходов на борту контроллера.
- Наличие последовательных портов (RS-232, RS-485) на борту контроллера.
- Наличие порта Ethernet для включения в локальные или глобальные сети верхнего уровня.
- Поддержка протоколов обмена Modbus (RTU, ASCII), ОВЕН, DCON.
- Возможность работы напрямую с портами контроллера, что позволяет подключать внешние устройства с нестандартными протоколами.
- Контроллер имеет встроенные часы, что позволяет создавать системы управления с учетом реального времени.
- Встроенный аккумулятор, позволяющий организовать ряд дополнительных сервисных функций: возможность кратковременного пережидания пропадания питания, перевод выходных элементов в безопасное состояние.
Обозначения при заказе |
Линейка контроллеров ОВЕН ПЛК110
Параметр |
ПЛК110-30 |
ПЛК110-32 |
ПЛК110-60 |
Количество входов |
18 |
18 |
36 |
Быстрых входов |
2 |
2 |
4 |
Быстрых счетчиков |
2 |
2 |
4 |
Энкодеров |
1 AB |
1 AB |
1 ABZ или 2 AB |
Количество выходов |
12 |
14 |
24 |
Быстрых выходов (для ПЛК110 с транзисторными выходами) |
4 |
4 |
4 |
Количество портов RS-485 |
2 |
1 |
2 |
Поддерживаемые интерфейсы и протоколы
Протокол | Интерфейс | Применение |
ОВЕН | 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 (от ОВЕН)
|
|
Документация
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Контроллер / Характеристика |
ПЛК110-30 |
ПЛК110-32 |
ПЛК110-60 |
ОБЩИЕ СВЕДЕНИЯ |
|||
Габаритные размеры |
140х110х73 мм |
208х110х73 мм |
|
Степень защиты корпуса |
IP20 со стороны передней панели, IP00 со стороны клемм |
||
Температура эксплуатации |
от минус 10 до + 55 °С |
||
Светодиодная индикация на передней панели |
Состояние входов, состояние выходов, режим работы, наличие связи, заряд встроенной батареи |
||
Масса, не более |
0,6 кг |
1 кг |
|
ПИТАНИЕ |
|||
Напряжение питания: | |||
ПЛК110-24.Х.Х-Х |
От 18 до 28 В постоянного тока (номинальное 12 В или 24 В) |
||
ПЛК110-220.Х.Х-Х |
От 100 до 240 В переменного тока (номинальное 220 В) |
||
Потребляемая мощность: | |||
ПЛК110-24.Х.Х-Х, не более |
25 ВА |
35 ВА |
|
ПЛК110-220.Х.Х-Х, не более |
30 ВА |
40 ВА |
|
Параметры встроенного источника питания: |
Выходное напряжение 24±3 В, ток не более 620 мА |
||
ВЫЧИСЛИТЕЛЬНЫЕ РЕСУРСЫ И ДОПОЛНИТЕЛЬНОЕ ОБОРУДОВАНИЕ |
|||
Центральный процессор |
RISC-процессор, 32 разряда, 200 МГц |
||
Объем и тип оперативной памяти |
8 МБ, из них 1МБ для кода пользовательской программы, 128кБ для переменных пользовательской программы |
||
Объем и тип энергонезависимой памяти |
4 МБ, из них 3МБ доступно для хранения файлов и архивов |
||
Размер и тип Retain-памяти |
не более 16 кБ (по умолчанию задано значение 4 кБ) |
||
Время выполнения одного цикла программы |
Установленное по умолчанию (стабилизированное) – 1000 мкс* Возможность организации вызова подпрограмм по прерыванию – от 50 мкс |
||
Дополнительное периферийное оборудование |
Часы реального времени с собственным источником питания |
||
* Время выполнения одного цикла программы настраивается в окне PLC Configuration в среде CODESYS. Подробнее см. п.1.1 документа «PLC_Configuration_OWEN» на компакт-диске, входящем в комплект поставки. |
|||
ЦИФРОВЫЕ (ДИСКРЕТНЫЕ) ВХОДЫ |
|||
Количество дискретных входов |
18 |
36 |
|
– из них быстродействующих |
2 |
4 |
|
Тип подключаемых устройств |
коммутационные устройства (контакты кнопок, выключателей, герконов, реле и т.п.); датчики, имеющие на выходе транзистор n-p-n или p-n-p-типа с открытым коллектором; дискретные сигналы 24±3 В |
||
Гальваническая развязка дискретных входов |
Групповая |
||
Электрическая прочность изоляции дискретных входов |
1500 В |
||
МИНИМАЛЬНАЯ ДЛИТЕЛЬНОСТЬ ИМПУЛЬСА, ВОСПРИНИМАЕМОГО ДИСКРЕТНЫМИ ВХОДАМИ |
|||
Быстродействующие
DI1-DI2 – для ПЛК110-30, ПЛК110-32 DI1-DI4 – для ПЛК110-60 |
– 50 мкс в режиме счетчик импульсов |
||
Обычные
DI3-DI18 – для ПЛК110-30, ПЛК110-32 DI5-DI36 – для ПЛК110-60 |
3,3 мс (300 Гц) |
||
Напряжение питания дискретных входов |
24 ± 3 В |
||
Напряжение «логического нуля» |
минус 3…5 В |
||
Максимальный ток «логического нуля» |
1,5 мА |
||
Напряжение «логической единицы» |
15…30 В |
||
Максимальный ток «логической единицы» |
4…9 мА |
||
ЦИФРОВЫЕ (ДИСКРЕТНЫЕ) ВЫХОДЫ |
|||
Количество и тип дискретных выходов: | |||
– Для модификации с релейными выходами |
12 |
14 |
24 |
– Для модификации с транзисторными выходами |
12, из них 4 быстродействующих |
14, из них 4 быстродействующих |
24, из них 4 быстродействующих |
Гальваническая развязка дискретных выходов |
Индивидуальная или групповая (часть выходов собраны в группы по 2 или 4 шт. и имеют общую клемму) |
||
Электрическая прочность изоляции дискретных выходов |
1500 В от схемы прибора; 500 В между выходами (или группами выходов) |
||
ПАРАМЕТРЫ РЕЛЕЙНЫХ ВЫХОДОВ |
|||
Время переключения выходов |
50 мс |
||
Максимальный ток коммутации |
не более 3 А (при напряжении не более 250 В переменного тока и cos j > 0,4); не более 3 А (при напряжении не более 30 В постоянного тока) |
||
Механический ресурс реле |
не менее 300 000 циклов переключений при максимальной коммутируемой нагрузке; не менее 500 000 циклов переключений при коммутации нагрузки менее половины от максимальной |
||
ПАРАМЕТРЫ ТРАНЗИСТОРНЫХ ВЫХОДОВ |
|||
Время переключения выходов
– быстрые (DO1-DO4) – обычные |
20 мкс 20000 мкс |
||
Максимальный ток транзисторного выхода |
не более 400 мА (при напряжении не более 30 В) |
||
Напряжение питания дискретных выходов DO1…DO4 |
от 12 до 30 В |
||
Ток, потребляемый дискретными выходами DO1…DO4 |
не более 10 мА на все входы |
||
ПОДДЕРЖИВАЕМЫЕ ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ |
|||
Интерфейсы связи | Количество | Протоколы (тип связи и особенности работы) | Скорости передачи |
RS-485 |
2 (1 – для ПЛК110-32) |
Modbus-RTU, Modbus-ASCII, DCON, ОВЕН | 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 бит/с |
RS-232 |
1 |
Modbus-RTU, Modbus-ASCII, DCON, ОВЕН | 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 бит/с |
RS-232 Debug |
1 |
Modbus-RTU (только slave),
Modbus-ASCII, DCON, ОВЕН, GateWay |
1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 бит/с |
Ethernet 100 Base-T |
1 |
Modbus-TCP, TCP-IP, UDP-IP,
CODESYS Network Variables (over UDP), Gateway |
10, 100 Мбит/с |
USB Device |
1 |
CDC |
|
ПРОГРАММИРОВАНИЕ КОНТРОЛЛЕРА |
|||
Среда программирования |
CODESYS v2.3 |
||
Интерфейсы для связи со средой программирования CODESYS |
RS-232 Debug; USB Device; Ethernet |
Схемы подключения ОВЕН ПЛК110-30
Схемы подключения ОВЕН ПЛК110-32
Схемы подключения ОВЕН ПЛК110-60
Подключение входных устройств и схемы входных элементов контроллера ПЛК110
Схема подключения контактных датчиков (Sl-Sn) к входам ПЛК110 |
Обе схемы равнозначны, может использоваться любая. При применении контактных датчиков совместно с датчиками, имеющими на выходе транзисторный ключ, схема подключения должна определяться типом транзисторных датчиков.
Суммарный ток потребления всех внешних датчиков и всех подключенных дискретных входов (7 мА на вход) не должен превышать 620 мА. Если потребление датчиков и входов больше указанного, то для питания датчиков следует использовать внешний блок питания требуемой мощности.
Кабели
Наименование |
Изображение |
Комментарии |
Длина, м |
КС1 | Применяется для прошивки и программирования контроллеров:
– ПЛК110 (порт RS-232 DEBUG) |
1,5 2,7 |
|
КС2 | Применяется для соединения контроллеров ПЛК110 (порты RS-232 DEBUG и RS-232) с панелями оператора ИП320 (порт RS-232), СП270, СП307, СП310 (порт PLC, RS-232) |
1,5 2,7 |
|
КС3 | Применяется для соединения контроллеров ПЛК110 (порты RS-232 DEBUG и RS-232) с модемом ПМ01[M02] (порт RS-232, соединитель Х2) |
1,5 |
Комплектность поставки ПЛК110
- Прибор ПЛК110
- Диск с ПО
- Кабель для программирования КС1
- Паспорт и руководство по эксплуатации
- Гарантийный талон
Рекомендации к применениюДля построения распределенных систем управления и диспетчеризации с использованием как проводных, так и беспроводных технологий:
Преимущества ОВЕН ПЛК110[М02]
Линейка ПЛК110[М02]
Отличия обновленной линейки ПЛК110-24.30.Р-М[М02]
Сравнительная таблица ПЛК110 и ПЛК110[М02]
Расположение контактов для подключения внешних цепей ПЛК110-60Расположение контактов для подключения внешних цепей ПЛК110-32Расположение контактов для подключения внешних цепей ПЛК110-30Подключение входных устройств и схемы входных элементов контроллера ПЛК110Схема подключения контактных датчиков (Sl-Sn) к входам ПЛК110 Обе схемы равнозначны, может использоваться любая. При применении контактных датчиков совместно с датчиками, имеющими на выходе транзисторный ключ, схема подключения должна определяться типом транзисторных датчиков. Суммарный ток потребления всех внешних датчиков и всех подключенных дискретных входов (7 мА на вход) не должен превышать 620 мА. Если потребление датчиков и входов больше указанного, то для питания датчиков следует использовать внешний блок питания требуемой мощности. Выходные элементы типа Р контроллера с внешними цепями защиты при активной нагрузке, Rн – пользовательская нагрузка (двигатель, нагреватель, контактор и т.д.) Подключение цепей защиты при реактивной нагрузке Кабели
Габаритные размеры Программное обеспечение
|
- Описание
- Характеристики
- Чертежи, схемы, модели
- Габаритные размеры
- Комплектность
- Схемы подключения
- Документация и материалы
Выберите необходимые аксессуары
Выберите модификацию
ПЛК110-220.30.К-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-220.30.К-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-220.30.Р-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-220.30.Р-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-220.32.К-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-220.32.К-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-220.32.Р-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-220.32.Р-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-220.60.К-L Срок производства: 2 дней Цена: 54180 руб.
Купить |
ПЛК110-220.60.К-М Срок производства: 2 дней Цена: 58380 руб.
Купить |
ПЛК110-220.60.Р-L Срок производства: 2 дней Цена: 54180 руб.
Купить |
ПЛК110-220.60.Р-М Срок производства: 2 дней Цена: 58380 руб.
Купить |
ПЛК110-24.30.К-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-24.30.К-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-24.30.Р-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-24.30.Р-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-24.32.К-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-24.32.К-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-24.32.Р-L Срок производства: 2 дней Цена: 43200 руб.
Купить |
ПЛК110-24.32.Р-М Срок производства: 2 дней Цена: 47460 руб.
Купить |
ПЛК110-24.60.К-L Срок производства: 2 дней Цена: 54180 руб.
Купить |
ПЛК110-24.60.К-М Срок производства: 2 дней Цена: 58380 руб.
Купить |
ПЛК110-24.60.Р-L Срок производства: 2 дней Цена: 54180 руб.
Купить |
ПЛК110-24.60.Р-М Срок производства: 2 дней Цена: 58380 руб.
Купить |
ОВЕН ПЛК110[М02] – линейка программируемых моноблочных контроллеров с дискретными входами/выходами на борту для автоматизации средних систем.
Оптимальны для построения систем автоматизации среднего уровня и распределенных систем управления.
Рекомендации к применению
Для построения распределенных систем управления и диспетчеризации с использованием как проводных, так и беспроводных технологий:
- В системах HVAC
- В сфере ЖКХ (ИТП, ЦТП)
- АСУ водоканалов
- линии по дерево- и металлообработке (распил, намотка и т.д.)
- Для управления пищеперерабатывающими и упаковочными аппаратами
- Для управления климатическим оборудованием
- Для автоматизации торгового оборудования
- В сфере производства строительных материалов
- Для управления малыми станками и механизмами
Преимущества ОВЕН ПЛК110[М02]
- Наличие встроенных дискретных входов/выходов на борту.
- Скоростные входы для обработки энкодеров.
- Ведение архива работы оборудования или работа по заранее оговоренным сценариям при подключении к контроллеру USB-накопителей.
- Простое и удобное программирование в системе CODESYS v.2 через порты USB Device, Ethernet, RS-232 Debug.
- Передача данных на верхний уровень через Ethernet или GSM-сети (GPRS).
- 4 последовательных порта (RS-232, RS-485) для:
- увеличения количества входов-выходов;
- управления частотными преобразователями;
- подключения панелей операторов, GSM-модемов, считывателей штрих-кодов и т.д.
- Наличие двух исполнений по питанию (220 В и 24 В).
Линейка ПЛК110[М02]
Параметр |
ПЛК110-30[М02] |
ПЛК110-32[М02] |
ПЛК110-60[М02] |
Количество входов |
18 |
18 |
36 |
Быстрых входов |
2 |
2 |
4 |
Быстрых счетчиков |
2 |
2 |
4 |
Энкодеров |
1 AB |
1 AB |
1 ABZ или 2 AB |
Количество выходов |
12 |
14 |
24 |
Быстрых выходов (для ПЛК110 с транзисторными выходами) |
4 |
4 |
4 |
Количество портов |
|||
RS-485 |
2 |
1 |
2 |
RS-232 |
1 |
1 |
1 |
RS-232-Debug |
1 |
1 |
1 |
Ethernet 100 Base-T |
1 |
1 |
1 |
Отличия обновленной линейки ПЛК110-24.30.Р-М[М02]
- Увеличена скорость опроса быстрых дискретных входов (до 100 кГц).
- Интерфейсы RS-232 прибора позволяют осуществлять питание подключённых устройств.
- Ведение архива/хранение рецептов на USB-носителе.
- Расширенный температурный диапазон: от -40 до +55 °С.
Сравнительная таблица ПЛК110 и ПЛК110[М02]
Параметр |
ПЛК110 |
ПЛК110[М02] |
Вычислительные ресурсы Процессор ОЗУ FLASH-диск ПЛК Операционная система |
200 МГц 128 кБайт+2 МБ (размер heap варьируется) 4 МБ нет |
400 МГц 128 кБайт+3 МБ (размер heap варьируется) 6 МБ Есть, EmbOS Segger — ОС реального времени |
Интерфейсы |
RS-232 RS-232 Debug RS-485 (1 или 2) Ethernet USB Device |
RS-232 RS-232 Debug RS-485 (1 или 2) Ethernet USB Device USB Host |
Работа по беспроводным сетям |
SMS, CSD, GPRS |
SMS, CSD, GPRS |
Питание 5 В в RS-232 |
Нет |
Есть |
Температурный диапазон эксплуатации |
-10…+50 °C |
-40…+55 °C |
Источник питания для часов RTC |
Встроенный аккумулятор |
Заменяемая стандартная батарейка CR2032 |
Источник питания для Retain |
Встроенный аккумулятор |
Не требуется, используется MRAM |
Ведение архивов на USB Flash |
нет |
До 8 ГБ |
Быстрые входы |
Есть, до 10 кГц |
Есть, 100 кГц |
Быстрые выходы |
до 5 кГц |
До 100 кГц |
Функциональная схема
Функциональная схема ОВЕН ПЛК110[M02]
Характеристики
Параметр |
Значение (свойства) |
||
ПЛК110-Х.30[М02] |
ПЛК110-Х.32[М02] |
ПЛК110-Х.60[М02] |
|
Питание |
|||
Напряжение питания: | |||
ПЛК110-24.Х.Х-Х |
от 9 до 30 В постоянного тока при Т > минус 20 °С, от 9 до 26 В постоянного тока при минус 40 °С > Т > минус 20 °С (номинальное 12 или 24 В) * |
||
ПЛК110-220.Х.Х-Х | от 90 до 264 В переменного тока либо постоянного тока (номинальное 120/230 В) | ||
Потребляемая мощность, не более: | |||
ПЛК110-24.Х.Х-Х |
28 Вт |
31 Вт |
|
ПЛК110-220.Х.Х-Х | 41 ВА | 45 ВА | |
Параметры встроенного источника питания: | |||
ПЛК110-24.Х.Х-Х |
Выходное напряжение равно входному напряжению на клеммах питания ПЛК, ток не более 630 мА |
||
ПЛК110-220.Х.Х-Х | Выходное напряжение 24 В±4 %, ток не более 400 мА | ||
Цифровые (дискретные) входы |
|||
Количество входов (из них быстродействующих) |
18 (2) |
18 (2) |
36 (4) |
Тип входов по ГОСТ Р 51841–2001 |
1 |
||
Напряжение «логического нуля» |
минус 3 … 5 В |
||
Максимальный ток «логического нуля» |
2 мА |
||
Напряжение «логической единицы» |
15…30 В |
||
Максимальный ток «логической единицы» |
9 мА (при 30 В) |
||
Минимальная длительность импульса, воспринимаемого дискретным входом: | |||
— для обычных входов |
1,6 мс (меандр) |
||
— для быстродействующих | см. таблицу 3.1 | ||
Подключаемые входные устройства |
|
||
Дискретные выходы (контакты электромагнитных реле ПЛК110-Х.Х.Р) |
|||
Количество релейных выходных каналов |
12 |
14 |
24 |
Максимальный ток, коммутируемый контактами реле, не более |
3 А |
||
Время переключения контактов реле из состояния «лог. 0» в «лог. 1» и обратно, не более |
10 мс (выходы DО1…DО12) |
10 мс (выходы DО1…DО14) |
10 мс (выходы DО1…DО24) |
Суммарный максимальный ток нагрузки группы реле: | |||
COM1-COM2 |
3 А |
3 А |
3 А |
COM3 |
3 А |
12 А |
3 А |
COM4 |
3 А |
12 А |
3 А |
COM5 |
12 А |
12 А |
2,5 А |
COM6 |
12 А |
— |
6 А |
COM7-COM10 |
— |
— |
12 А |
Механический ресурс реле |
|
||
Дискретные выходы (транзисторные ключи ПЛК110-Х.Х.К) |
|||
Количество транзисторных выходных каналов, из них быстродействующих |
12 4 (DО1…DО4) |
14 4 (DО1…DО4) |
24 4 (DО1…DО4) |
Максимальный ток транзисторного выхода, не более | |||
– для обычных |
400 мА (при напряжении не более 30 В постоянного тока – нагрузка для категории использования DC-13 по ГОСТ Р 50030.1–2000) |
||
– для быстродействующих | 400 мА (при напряжении постоянного тока в диапазоне от 12 до 30 В, при этом используется внешний источник) | ||
Характеристики встроенного выходного защитного элемента подавления помех, возникающих из-за коммутации индуктивностей (TVS диод) |
SMBJ40A (напряжение срабатывания: от 44,4 до 49,1 В) |
||
Время переключения транзисторного выхода из состояния «лог. 1» в состояние «лог. 0», не более | |||
– для обычных |
5 мс (выходы DО5…DО12) |
5 мс (выходы DО5…DО14) |
5 мс (выходы DО5…DО24) |
– для быстродействующих | 0,002 мс (выходы DО1…DО4) | 0,002 мс (выходы DО1…DО4) | 0,002 мс (выходы DО1…DО4) |
Интерфейсы связи, количество |
|||
RS-485 |
2 |
1 |
2 |
RS-232 |
1 |
1 |
1 |
RS-232-Debug |
1 |
1 |
1 |
Ethernet 100 Base-T |
1 |
1 |
1 |
Наименование | Количество |
Контроллер ПЛК110 [М02] (исполнение в соответствии с заказом) | 1 шт. |
Кабель КС14 | 1 шт. |
Заглушка Ethernet | 3 шт. |
Паспорт и Гарантийный талон | 1 экз. |
Краткое руководство | 1 экз. |
Расположение контактов для подключения внешних цепей ПЛК110-60
Рисунок Б.1 – Схема расположения и назначение клемм на ПЛК110-220.60.Р. Схема для ПЛК110-24.60.Р – аналогична, полярность при подключении клемм питания аналогична рисунку Б.2 |
Рисунок Б.2 – Схема расположения и назначение клемм на ПЛК110-24.60.К. Схема для ПЛК110-220.60.К – аналогична |
Расположение контактов для подключения внешних цепей ПЛК110-32
Схема расположения и назначение клемм на ПЛК110-24.32.Р. Схема для ПЛК110-220.32.Р – аналогична |
Схема расположения и назначение клемм на ПЛК110-220.32.К. Схема для ПЛК110-24.32.Р – аналогична |
Расположение контактов для подключения внешних цепей ПЛК110-30
Схема расположения и назначение клемм на ПЛК110-24.30.Р. Схема для ПЛК110-220.30.Р – аналогична |
Схема расположения и назначение клемм на ПЛК110-220.30.К. Схема для ПЛК110-24.30.К – аналогична |
Подключение входных устройств и схемы входных элементов контроллера ПЛК110
Схема подключения контактных датчиков (Sl-Sn) к входам ПЛК110
Обе схемы равнозначны, может использоваться любая. При применении контактных датчиков совместно с датчиками, имеющими на выходе транзисторный ключ, схема подключения должна определяться типом транзисторных датчиков.
Подключение к дискретным входам датчиков (F1–Fn), имеющих на выходе транзисторный ключ n-p-n–типа |
Подключение к дискретным входам датчиков, имеющих на выходе p-n-p — транзисторный ключ |
Суммарный ток потребления всех внешних датчиков и всех подключенных дискретных входов (7 мА на вход) не должен превышать 620 мА. Если потребление датчиков и входов больше указанного, то для питания датчиков следует использовать внешний блок питания требуемой мощности.
Выходные элементы типа Р контроллера с внешними цепями защиты при активной нагрузке, Rн – пользовательская нагрузка (двигатель, нагреватель, контактор и т.д.)
Подключение цепей защиты при реактивной нагрузке
Отзывы покупателей
Рекомендации к применениюДля построения распределенных систем управления и диспетчеризации с использованием как проводных, так и беспроводных технологий:
Преимущества ОВЕН ПЛК110[М02]
Линейка ПЛК110[М02]
Отличия обновленной линейки ПЛК110-24.30.Р-М[М02]
Сравнительная таблица ПЛК110 и ПЛК110[М02]
Расположение контактов для подключения внешних цепей ПЛК110-60Расположение контактов для подключения внешних цепей ПЛК110-32Расположение контактов для подключения внешних цепей ПЛК110-30Подключение входных устройств и схемы входных элементов контроллера ПЛК110Схема подключения контактных датчиков (Sl-Sn) к входам ПЛК110 Обе схемы равнозначны, может использоваться любая. При применении контактных датчиков совместно с датчиками, имеющими на выходе транзисторный ключ, схема подключения должна определяться типом транзисторных датчиков. Суммарный ток потребления всех внешних датчиков и всех подключенных дискретных входов (7 мА на вход) не должен превышать 620 мА. Если потребление датчиков и входов больше указанного, то для питания датчиков следует использовать внешний блок питания требуемой мощности. Выходные элементы типа Р контроллера с внешними цепями защиты при активной нагрузке, Rн – пользовательская нагрузка (двигатель, нагреватель, контактор и т.д.) Подключение цепей защиты при реактивной нагрузке Кабели
Габаритные размеры Программное обеспечение
|