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

Стандарт 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:


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


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

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

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

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

LD

ЕСКД

Обозначение



И

О

_Tl

Нормально разомкнутый контакт

Нормально замкнутый контакт

Обмотка реле, исп. устройство

Простая релейно-контактная схема представлена на рисунке, Кнопкой S1 включается контактор K1, который остается включенным своими блок -контактами. Его контактами включается контактор K3, который отключает К1 и включает сигнальную лампочку H1. При повторном нажатии кнопки S1

включается контактор K2. При этом контактор K3 отключается и лампочка H1 гаснет.

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

Рис. 37. LD- программа релейной схемы

На рис 37б приведена программа, написанная на языке LD. Эта программа вместе с ядром-интерпретатором загружается в целевой ПЛК для исполнения. Ядро-интепретатор во время исполнения протранслирует эту программу в машинные команды. Эти команды будут управлять сигналами вводв/вывода ПЛК и тем самым лампочка Н1 будет вкючаться или выключаться.

Наши рекомендации