Лекция 5. Правила программирования и конструкции языков программирования СПЛК

 

В рамках стандарта МЭК 61131-3 для программирования используется три разновидности языков программирования: язык списка операций STL, язык релейно-контакторных схем LAD, язык функциональных блоков FBD.

Программирование контроллеров фирмы Siemens производится в среде создания и управления проектами Simatic Manager. На рисунке 5 приведена иерархия языков программирования этой среды. Язык программирования С7(М7) предназначен для программирования системных функций контроллеров и не используется потребителями контроллера, а значит, этот язык не открыт для широкого круга пользователей. Все программное обеспечение Siemens базируется на языке S7 или STEP7. STEP7 - это язык программирования для любого пользователя. Программирование заключается в пошаговом описании ситуации технологического процесса. В язык STEP7 входят язык LAD – язык контактного плана, язык STL – язык список инструкций ассемблера, а также язык FBD - язык функциональных блок-диаграмм.

 

Рисунок 5 - Состав программного продукта контроллера Simatic.

 

Язык контактного плана LAD (рисунок 6) представляет собой последовательность из электрических сетей. Правый контакт сети (условно «плюс») уже имеется, пользователь набирает эту сеть и должен закончить катушкой или блоком. Автоматически появляется двойная шина электрической сети, условный минус.

 

Рисунок 6 - Язык контактного плана LAD

 

Язык STL (рисунок 7) также может состоять из последовательности сетей, а может быть написан в одной сети. Логически каждая сеть представляет собой отдельную технологическую ситуацию, поэтому каждая сеть должна завершиться командой, изменяющей область памяти котроллера. Изменению могут подлежать внутренние области памяти контроллера, область памяти выходов и не могут быть изменены программно области памяти входов. Это понятно, изменения в области памяти входов связаны с изменениями входной информации, то есть с изменением состояния реальных физических устройств на входах контроллера. Реальные физические устройства на выходах контроллера изменяют свое состояние с изменением от программных единиц контроллера.

 

Рисунок 7 - Язык список операций STL

 

Язык программирования FBD (рисунок 8) предназначен для инженеров системотехников, привыкших конструировать ситуации технологического процесса в виде функциональных блоков.

 

 

 

Рисунок 8 - Язык программирования FBD

 

Язык программирования LAD предназначен для инженеров по автоматизации, привыкших проектировать технологические ситуации на релейно-контакторных схемах. Наиболее экономичным с точки зрения занимаемого объема памяти и наиболее быстродействующим является программа, написанная на языке STL. Также в настоящий момент на рынке труда больше программистов, чем инженеров наладчиков релейно-контакторных схем. Поэтому наиболее актуальным является обучение на языке STL. Все операции рассмотрим на этом языке.

Рисунок 9 - Структура команд на языке STL

 

Метка - это не обязательный компонент операции, должна состоять не более чем из четырех символов, начинается с английской буквы или с символа “_”, а заканчивается двоеточием. Действие – это есть оператор языка, действию подлежит переменная, находящаяся по конкретному адресу: описание задания для CPU (такие задания, например, как load [загрузить], scan [считать], compare [сравнить] и т.д.).Адрес - информация, необходимая для выполнения действия (например, абсолютный адрес IW12, символьный адрес некоторой переменной ANALOGVALUE_1 или некоторой константы W#16#F001 и т. д.). Отдельные операторы не требуют задания адреса. Комментарий – не обязательный компонент, начинается с 2-х косых черт ”//”.