МЭК 61131-3
(Перенаправлено из IEC-61131-3 )
Эта статья в значительной степени или полностью опирается на один источник . ( март 2017 г. ) |
IEC 61131-3 — третья часть (из 10) международного стандарта IEC 61131 для программируемых логических контроллеров . Впервые оно было опубликовано в декабре 1993 года. [1] МЭК ; текущее (третье) издание вышло в феврале 2013 года. [2]
Часть 3 стандарта IEC 61131 посвящена базовой архитектуре программного обеспечения и языкам программирования управляющей программы в ПЛК . Он определяет три графических и два текстовых стандарта языков программирования:
- Лестничная диаграмма (ЛД), графическая
- Функциональная блок-схема (FBD), графическая
- Структурированный текст (СТ), текстовый
- Список инструкций (IL), текстовый ( устарел в 3-м издании стандарта). [3] )
- Последовательная функциональная схема (SFC), имеет элементы для организации программ последовательной и параллельной обработки управления , графическая.
Типы данных
[ редактировать ]- Элементарный тип данных
- Битовые строки – группы значений включения/выключения.
- INTEGER – целые числа (учитывая размер байта 8 бит)
- SINT – короткое целое число со знаком (1 байт)
- INT – целое число со знаком (2 байта)
- DINT – двойное целое число со знаком (4 байта).
- LINT – длинное целое число со знаком (8 байт).
- USINT – короткое целое число без знака (1 байт).
- UINT – целое число без знака (2 байта).
- UDINT – двойное целое число без знака (4 байта).
- ULINT – длинное целое число без знака (8 байт).
- REAL – с плавающей запятой IEC 60559 (то же, что IEEE 754-2008 )
- РЕАЛЬНЫЙ – (4 байта)
- LREAL – (8 байт)
Единица | Описание |
---|---|
д | День |
час | Час |
м | минута |
с | Второй |
РС | Миллисекунда |
нас | микросекунда |
нс | наносекунда |
- Продолжительность [4]
- ВРЕМЯ – (зависит от реализатора). Литералы в форме T#5m90s15ms
- LTIME – (8 байт). Литералы расширяются до наносекунд в форме T#5m90s15ms542us15ns.
- Дата
- ДАТА – календарная дата (зависит от исполнителя)
- LDATE – календарная дата (8 байт, наносекунды с 1 января 1970 г., кратно одному дню).
- Время суток
- TIME_OF_DAY/TOD – время на часах (зависит от разработчика)
- LTIME_OF_DAY/LTOD – время часов (8 байт)
- Дата и время суток
- DATE_AND_TIME / DT – время и дата (зависит от разработчика)
- LDATE_AND_TIME/LDT – время и дата (8 байт, наносекунды с 1 января 1970 г.)
- Символ/строка символов
- CHAR – однобайтовый символ (1 байт, ограничено символами от 0 до 255 по ISO/IEC 10646).
- WCHAR – двухбайтовый символ (2 байта, ограничено символами от 0 до 65535 по ISO/IEC 10646).
- STRING – однобайтовая символьная строка переменной длины. Литералы, указанные в одинарной кавычке: «Это литерал STRING».
- WSTRING – двухбайтовая символьная строка переменной длины. Литералы, указанные в двойной кавычке: «Это литерал WSTRING».
- Продолжительность [4]
Escape-последовательность | Производит |
---|---|
$$ | $ |
$' | ' |
$л | перевод строки |
$N | новая строка |
$П | страница (фид формы) |
$R | возвращаться |
$Т | вкладка |
хх долларов | шестнадцатеричное значение |
- Общие типы данных – доступны только для входных/выходных/входных переменных определяемых системой организационных единиц программы (POU, см. ниже).
- ЛЮБОЙ
- ЛЮБОЙ_DERIVED
- ЛЮБОЙ_ELEMENTARY
- ANY_MAGNITUDE
- ANY_NUM
- ANY_REAL: LREAL, REAL
- ANY_INT
- ANY_UNSIGNED: ULINT, UDINT, UINT, USINT
- ANY_SIGNED: LINT, DINT, INT, SINT
- ANY_DURATION: TIME, LTIME
- ANY_NUM
- ЛЮБОЙ_БИТ: LWORD, DWORD, WORD, BYTE, BOOL
- ЛЮБЫЕ_СИМВОЛЫ
- ANY_STRING: STRING, WSTRING
- ЛЮБОЙ_CHAR: CHAR, WCHAR
- ЛЮБАЯ_ДАТА: DATE_AND_TIME (DT), DATE_AND_TIME(LDT), DATE, TIME_OF_DAY (TOD), LTIME_OF_DAY(LTOD)
- ANY_MAGNITUDE
- ЛЮБОЙ
- Пользовательские типы данных
- Перечислимый тип данных
- Перечисляемый тип данных с именованным значением
- Тип данных поддиапазона – накладывает ограничения на значение, т.е. INT(4 .. 20) для текущего
- Тип данных массива – несколько значений, хранящихся в одной переменной .
- Структурированный тип данных – составной из нескольких переменных и типов.
- Непосредственно производный тип данных — тип, производный от одного из вышеуказанных типов, дающий новое имя и начальное значение в качестве типа.
- Ссылки — разновидность строго типизированного указателя. Арифметические операции над значением этого типа запрещены.
Переменные
[ редактировать ]Атрибуты переменных: RETAIN, CONSTANT, AT.
- Глобальный
- Прямой (местный)
- Сопоставление ввода-вывода — ввод, вывод, ввод-вывод
- Внешний
- Временный
Конфигурация
[ редактировать ]- Ресурс – как процессор
- Задачи — может быть несколько для каждого процессора .
- Программы – могут выполняться один раз, по таймеру, по событию.
Программный организационный блок (POU)
[ редактировать ]- Функции
- Стандарт: ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR и т. д.
- Обычай
- Функциональные блоки
- Стандарт:
- Пользовательский — библиотеки функций могут предоставляться поставщиком или третьей стороной.
- Программы
Конфигурация, ресурсы, задачи
[ редактировать ]- Конфигурация — ресурсы обработки, память для ввода-вывода, скорость выполнения, количество задач.
Объектно-ориентированное программирование (ООП)
[ редактировать ]- Третья редакция стандарта описывает, как реализовать ООП в рамках прикладного программирования.
Ссылки
[ редактировать ]- ^ Стевич, Том (5 мая 2017 г.). «Очень краткая история платформ программирования ПЛК» . Дизайн управления . Проверено 11 сентября 2021 г.
- ^ «МЭК 61131-3:2013» . Международная электротехническая комиссия (МЭК) . Проверено 11 сентября 2021 г.
- ^ PLCopen: Третье издание IEC 61131-3.
- ^ «Литералы продолжительности времени (IEC 61131-3)» .
Внешние ссылки
[ редактировать ]- PLCopen
- IEC 61131-3:2013 Программируемые контроллеры. Часть 3. Языки программирования.
- CODESYS важная реализация, независимая от производителей устройств, включает в себя объектно-ориентированное программирование (ООП) в качестве опции.
- Реализация de:STEP 7 только для устройств Siemens