Стандарт IEC 61131-3 описывает синтаксис и семантику пяти языков программирования ПЛК:
1. SFC (Sequential Function Chart) - графический язык, который используется для описания алгоритма в виде набора связанных пар: шаг (step) и переход (transition). Шаг представляет собой набор операций над переменными. Переход - набор логических условных выражений, определяющий передачу управления к следующей паре шаг-переход. По внешнему виду описание на языке SFC напоминает хорошо известные логические блок-схемы алгоритмов. SFC имеет возможность распараллеливания алгоритма. Однако, SFC не имеет средств для описания шагов и переходов, которые могут быть выражены только средствами других языков стандарта. Происхождение этого языка - Grafcet (Telemechanique-Groupe Schneider).
2. LD (Ladder Diagram) - графический язык программирования, являющийся стандартизованным вариантом класса языков релейно-контактных схем. Логические выражения на этом языке описываются в виде реле, которые широко применялись в области автоматизации в 60-х годах. Ввиду своих ограниченных возможностей язык дополнен привнесенными средствами: таймерами, счетчиками и т.п. Происхождение: различные варианты языка релейно-контактных схем (Allen-Bradley, AEG Schneider Automation, GE-Fanuc, Siemens).
3. FBD (Functional Block Diagram) - графический язык по своей сути похожий на LD. Вместо реле в этом языке используются функциональные блоки, по внешнему виду - микросхемы. Алгоритм работы некоторого устройства на этом языке выглядит как функциональна схема электронного устройства: элементы типа "логическое И", "логическое ИЛИ" и т.п., соединенные линиями. Происхождение: вариант G- языка прогаммирования LabView.
4. ST (Structured Text) - текстовый высокоуровневый язык общего назначения, по синтаксису ориентированный на Паскаль. Самостоятельного значения не имеет: используется только совместно с SFC. Происхождение: Grafcet (Telemechanique-Groupe Schneider).
5. IL (Instruction List) - текстовый язык низкого уровня. Выглядит как типичный язык Ассемблера, что объясняется его происхождением: для некоторых моделей ПЛК фирмы Siemens является языком
6. Ассемблера. В рамках стандарта IEC 1131-3 к архитектуре конкретного
7. процессора не привязан. Самостоятельного значения не имеет:
8. используется только совместно с SFC. Происхождение - STEP 5
9. (Siemens).
10.Этот стандарт имеет очевидные преимущества: получение качественного
11.программного продукта, сопрягамость отдельных программных подсистем на
12.уровне исходных текстов, независимость от типа операционной системы и от
13.субъективных особенностей программиста, использование общего языка
14.общения в среде разработчиков и пользователей программного обеспечения
15.(ПО) и, наконец, сокращение финансовых затрат на разработку проектов в
16.целом за счет сокращения времени разработки ПО.
Языки стандарта используются ведущими фирмами изготовителями
ПЛК, достаточно распространены и известны специалистам АС. Набор
средств разработки обычно исполняется на компьютере проектировщика,
например, компьютере типа IBM PC, и состоит из редактора, отладчика и
препроцессора, который подготавливает описанный проектировщиком
алгоритм к формату, "понятному" ядру-интерпретатору программы
проектирования. Этот набор имеет современный пользовательский
интерфейс, позволяет тестировать алгоритм в режиме эмуляции и получать
листинг алгоритма на языках его описания. В результате проектирования
пользовательская программа совместно с ядром-интерпретатором
загружается в целевой ПЛК для исполнения. Ядро-интерпретатор, как
следует уже из его названия, транслирует пользовательский алгоритм в
«машинные команды» во время исполнения. Это позволяет
сконцентрировать машинно-зависимый код и таким образом снизить накладные расходы при переходе на другой ПЛК.
Для исполняющей системы контроллер с загруженной программой может быть представлен в виде, показанном на рисунке 36:
![]() |
Рис.36 Контроллер с загруженной программой
Как только сформулирована задача программирования логики контроллера, то сразу встает вопрос о соответствующем программном инструментарии для решения этой задачи.
Считается, что для специалистов КИПиА наиболее понятен язык LD-
релейных диаграмм (Ladder Diagrams). Программа контроллера,
написанная на этом языке, представляет собой релейную диаграмму в виде
двух вертикальных «шин питания», между которыми располагают
горизонтальные цепи, образованные контактами и средством возбуждения
исполнительного устройства (обмоткой реле, спиралью лампы и др.).
Количество контактов в цепи произвольно, средство возбуждения
исполнительного устройства одно. Соответствие операторов программы и
элементов релейной логики приведено в таблице 3
Таблица 3 Соответствие ЕСКД обозначений и LD операторов.
LD
ЕСКД
Обозначение
И
О
_Tl
Нормально разомкнутый контакт
Нормально замкнутый контакт
Обмотка реле, исп. устройство
Простая релейно-контактная схема представлена на рисунке, Кнопкой S1 включается контактор K1, который остается включенным своими блок -контактами. Его контактами включается контактор K3, который отключает К1 и включает сигнальную лампочку H1. При повторном нажатии кнопки S1
включается контактор K2. При этом контактор K3 отключается и лампочка H1 гаснет.
Рис. 37. LD- программа релейной схемы
На рис 37б приведена программа, написанная на языке LD. Эта программа вместе с ядром-интерпретатором загружается в целевой ПЛК для исполнения. Ядро-интепретатор во время исполнения протранслирует эту программу в машинные команды. Эти команды будут управлять сигналами вводв/вывода ПЛК и тем самым лампочка Н1 будет вкючаться или выключаться.