Списка инструкций (СИ).

Обзор языков и сред программирования ПЛК

ПЛК – это логические контроллеры. Они в первую очередь были предназначены для замены релейных элементов схем, работающих, как известно, по принципу «включено / выключено». Это не говорит о том, что с их помощью нельзя обрабатывать аналоговые сигналы. В некоторых типах контроллеров уже заложена возможность обработки таких сигналов, в других - эта задача может решаться применением специальных модулей расширения (как в контроллерах LOGO, например).

В любом случае, первое, с чем надо определиться перед составлением программы, - каким образом “объяснить” контроллеру то, какую задачу он должен выполнить. В разных языках программирования это делается по-разному.

 

2.1 Языки релейно-контактных схем (РКС)и

Перед программированием на языке релейно-контактных схем нужно выполнить несколько предварительных этапов.

· Надо переопределить все составляющие оборудования в символы, понятные для контроллера. Он ведь ничего не знает о реле, выключателях, двигателях. Он может только оценить состояния входов ( включено / выключено) и по введённой в него программе принять решение о том, включить или выключить состояния тех или иных выходов.

· Заменить источник питания. В РКС для этого использованы две вертикальные прямые с обеих сторон окна описания программы. Можно считать одну из них плюсовой шиной питания, а другую – минусовой.

· Присвоить символы входам и выходам.

Как пройти эти этапы составления программы, показывается на примере простейшей задачи. На рисунке 1.16 приведена схема подачи питания на контроллер. Оно включается нажатием кнопки Start, а отключается кнопкой аварийного или штатного останова (с индексом 3). Если предположить, что некоторый контроллер по своей программе должен включить питание на контроллер, изображённый на рис.1.16, а под кнопками с ручным управлением понимать управляемые контакты, то в символике языка РКС это можно представить следующим образом.

Назначим символы входам и выходам.

Вход (X1) – нормально открытый (разомкнутый) контакт. При срабатывании кнопки Startэтот контакт замкнётся.

Вход (X2) – нормально закрытый (замкнутый) контакт. При срабатывании кнопки останова этот контакт разомкнётся.

Выход (Y1) – цепь питания контроллера, обозначающая в данном примере некоторую коммутируемую нагрузку.

Программа включения будет выглядеть так:

 

В реальных программах взаимодействует много сигналов, и отдельные строки записываются одна под другой (лестницей, ступеньками). Видимо поэтому язык РКС в англоязычной литературе часто обозначается как LAD (Ladder Diagram), т.е. лестничных диаграмм.

Отметим, что рассмотренную задачу включения нагрузки можно представить иначе. Речь идёт о языке, который называется “Список Инструкций” (СИ). Поскольку среда программирования MELSEC MEDOC FX / WIN позволяет составлять программу и в одном языке, и в другом, то, чтобы избежать излишних повторений при их описании, одни и те же примеры будут рассмотрены параллельно и записаны в форматах представления обоих языков (РКС и СИ).

В языке РКС и типы контактов, и их взаимодействие отображаются в тексте программы путём указания вида их соединения.

В языке СИ и тип контакта, и способ взаимодействия обозначаются соответствующей командой.

Самые простые КОМАНДЫ обозначают только тип контакта.

1. Команда LD.

 

И графическое отображение в РКС, и команда LDв СИ обозначают нормально открытый (незамкнутый) контакт. При замыкании X0 выход Y0 перейдёт в состояние ON (включено).

2. Подобно этому символ и команда LDI обозначают нормально закрытый (замкнутый) контакт X1, при срабатывании которого выход Y1 перейдёт в состояние OFF (выключено).

 

Значительная часть КОМАНД определяет характер взаимодействия сигналов.

3. Команда AND –логическое умножение (конъюнкция). Результатом операции является «истина», если оба операнда принимают значение «истина», и «ложь» - во всех других случаях.