Языки программирования контроллеров

Программа в ПЛК выполняется циклически с определённой частотой. Возможности зависят от контроллера, обычно это где-то 20, 50, 250 мс, 1, 2, 3, 4, 5 с. Естественно, это не гарантирует выполнение кода именно за такой промежуток времени, нельзя большие программы пихать в цикл 20 мс, к началу следующего цикла предыдущий должен быть завершён.

ПЛК программируются на языках, определённых стандартом МЭК61131:
1) IL (InstructionList)
— низкоуровневый ассемблероподобный язык.

Метка – код команды – адрес - ячейки памяти, с которой ведётся операция.

Список команд должен всегда начинаться с оператора LD (ко­манда загрузки аккумулятора) и заканчиваться оператором сохра­нения ST.

Пример сложения:

LD 10

ADD 25

ST A

Пример показывает загрузку литерала 10 в аккумулятор, добавление литерала 25 и внесение результата в регистр А. Содержимое регистра и аккумулятора теперь 35. Любая после­дующая команда работала бы с содержимым аккумулятора 35, если она не начинается с LD.

Пример сравнения:

LD B

GT 10

В примере значение регистра В загружено в аккумулятор и сравнивается с литералом 10. Если В меньше или равно 10, содержимое аккумулятора равно 0 (FALSE). Если В больше чем 10, содержимое аккумулятора есть 1 (TRUE).

 

Операнды. Операндом может быть регистр, структурированная переменная, выход FB/DFB или прямой адрес.

 

2)  LD (LadderDiagram) — графический язык, представляет собой программную реализацию электрических схем на базе электромагнитных реле. Придумано для тех “асушников”, которые больше электрики, чем программисты.

IL и LD легко конвертируются друг в друга.

Написанная программа выглядит интуитивно понятно, так что любой инженер-электрик сможет легко ее прочитать и понять, ведь логические операции здесь представляются в виде электрической цепи с разомкнутыми и замкнутыми контактами. Пара контактов отождествляется с логической переменной, а состояние этой пары  со значением переменной.

· ─┤ ├─ Нормально разомкнутый контакт разомкнут при значении ложь, назначенной ему переменной и замыкается при значении истина.

· ─┤/├─ Нормально замкнутый контакт, напротив, замкнут, если переменная имеет значение ложь, и разомкнут, если переменная имеет значение истина.

• Результат логической операции «ЛОЖЬ» или «ИСТИНА» в общем случае имеет под собой соответствующее состояние цепи: если ток течет — «ИСТИНА», «true», если тока нет — «ЛОЖЬ», «false».

 

 

Эта «лестничная» конструкция автоматически переводится на язык машинных кодов и транслируется в ПЛК. Язык LD удобен для программирования решения относительно несложных задач управления и является основным для многих ПЛК младших классов;

В Соединенных Штатах например, язык релейных диаграмм — самый распространенный язык для программирования ПЛК. Он также широко распространен по всему миру.

3) ST (StructuredText) — текстовый паскалеподобный язык, из всех самый удобный.
      ST — язык «структурированного текста». Язык ST относится к языкам высокого уровня, таким как BASIC и PASCAL, но приспособлен для решения задач программного уп­равления на базе ПЛК.

• Конструкции языка ST могут быть упот­реблены в составе языков LD и IL при решении сложных задач управления.

4) FBD (FunctionBlockDiagram) — своего рода графический язык, «блоксхемоподобный». Программа составляется из функциональных блоков, которые представляют собой подпрограммы, написанные на каком-либо из языков стандарта МЭК61131.

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

При программировании используются наборы библиотечных блоков и собственные блоки, также написанные на FBD или других языках МЭК 61131-3.  Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).

Рассмотрим кусочек программы, написанной на языке FBD: В умножить на 4, затем поделить на А, и записать результат в переменную result. В псевдокоде это будет выглядеть так: 

result:= B*4/A.

 

 

Техника проектирования на языке FBD сводится к отображению на дисплее компьютера системы управления в виде набора стандартных функциональных блоков (обычно в виде прямоугольников), соединенных между собой линиями, отображающими логические или иные связи между ними. Каждый блок обеспечивает реализацию той или иной логической или арифметической функции, функции сравнения, специальной функции управления (например, ПИД-регулятора, таймера) и др.

Язык FBD удобен тем, что позволяет наглядными гра­фическими средствами создавать управляющие программы прак­тически любой сложности.

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: