Проектирование программного обеспечения ПЛК

Стандарт 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 является языком


Ассемблера. В рамках стандарта IEC 1131-3 к архитектуре конкретного

процессора не привязан. Самостоятельного значения не имеет:

используется только совместно с SFC. Происхождение - STEP 5

(Siemens).

Этот стандарт имеет очевидные преимущества: получение качественного

программного продукта, сопрягамость отдельных программных подсистем на

уровне исходных текстов, независимость от типа операционной системы и от

субъективных особенностей программиста, использование общего языка

общения в среде разработчиков и пользователей программного обеспечения

(ПО) и, наконец, сокращение финансовых затрат на разработку проектов в

целом за счет сокращения времени разработки ПО.

Языки стандарта используются ведущими фирмами изготовителями
ПЛК, достаточно распространены и известны специалистам АС. Набор
средств разработки обычно исполняется на компьютере проектировщика,
например, компьютере типа IBM PC, и состоит из редактора, отладчика и
препроцессора, который подготавливает описанный проектировщиком
алгоритм к формату, "понятному" ядру-интерпретатору программы
проектирования. Этот набор имеет современный пользовательский
интерфейс, позволяет тестировать алгоритм в режиме эмуляции и получать
листинг алгоритма на языках его описания. В результате проектирования
пользовательская программа совместно с ядром-интерпретатором
загружается в целевой ПЛК для исполнения. Ядро-интерпретатор, как
следует уже из его названия, транслирует пользовательский алгоритм в
«машинные команды» во время исполнения. Это позволяет

сконцентрировать машинно-зависимый код и таким образом снизить накладные расходы при переходе на другой ПЛК.

Для исполняющей системы контроллер с загруженной программой может быть представлен в виде, показанном на рисунке 36:



 


Рис.36 Контроллер с загруженной программой

Как только сформулирована задача программирования логики контроллера, то сразу встает вопрос о соответствующем программном инструментарии для решения этой задачи.

Считается, что для специалистов КИПиА наиболее понятен язык LD-
релейных диаграмм (Ladder Diagrams). Программа контроллера,
написанная на этом языке, представляет собой релейную диаграмму в виде
двух вертикальных «шин питания», между которыми располагают
горизонтальные цепи, образованные контактами и средством возбуждения
исполнительного устройства (обмоткой реле, спиралью лампы и др.).
Количество контактов в цепи произвольно, средство возбуждения
исполнительного устройства одно. Соответствие операторов программы и
элементов релейной логики приведено в таблице 3

Таблица 3 Соответствие ЕСКД обозначений и LD операторов.


LD


ЕСКД


Обозначение