Сравнение языков программирования для ПЛК
Современный программируемый логический контроллер (ПЛК) может использовать множество языков программирования в рамках стандарта МЭК 61131-3. Двумя наиболее распространенными являются язык релейной (лестничной) логики и структурированный текст. Давайте рассмотрим каждый из этих языков, их сходства и различия.

Структурированный текст
Структурированный текст (ST) является признанным языком программирования в рамках стандарта МЭК и все чаще используется в автоматизации. Язык ST представляет собой урезанную версию языка компьютерного программирования C или C++. Синтаксис очень похож, поэтому, если вы знакомы с одним из языков типа C, язык ST будет вам очень удобен.
Язык ST использует серию операторов для управления переменными и выходными данными. Если вы хотите сравнить логическое выражение, вы можете использовать оператор IF. Некоторые операторы позволяют программисту перебирать массив данных и выполнять некоторые функции, в то время как другие операторы выполняют задачу до тех пор, пока логическое выражение не станет истинным или ложным. Вот пример на языке ST.
PROGRAM_CYCLIC
IF pbStart THEN
MotorON := TRUE;
ELSIF pbStop THEN
MotorON := FALSE;
END_IF
END_PROGRAM
Использование этих операторов позволяет программисту создавать разделенный или функциональный код. Программист может разбить код на задачи или классы, содержащие функции или конечные автоматы. Язык ST дает программисту большую степень свободы в отношении того, как код будет выполняться и реагировать на ввод и вывод.
Практически любой сценарий управления автоматизацией может быть реализован с помощью языка ST. Конечные автоматы можно использовать для упорядочивания, циклы FOR можно использовать для обработки данных, а циклы WHILE можно использовать для циклических операций.
Производители ПЛК разрабатывают аппаратное обеспечение, родным языком которого является ST, главным образом из-за программного обеспечения, используемого для программирования ПЛК. Программисты могут преобразовывать входные и выходные сигналы в переменные, доступные в коде, и иногда сложный код может быть легко представлен с помощью программирования на языке ST.
Язык релейной логики
Язык релейной (лестничной) логики был первым языком, использованным в ПЛК. Он был предназначен для представления электрической схемы, поскольку ПЛК был разработан для замены больших электрических панелей с сотнями реле. Язык релейной логики – это графический язык, который легко читается и используется во всем мире в качестве стандарта для автоматизации оборудования.

Входы и логические переменные представлены электрическим символом контакта, а выходы представлены катушкой. Более сложные функции, такие как инструкция MOVE, которая перемещает данные из одной переменной в другую, представлены блоком с заголовком MOV, например, для команды перемещения.
ПЛК были разработаны для использования релейной логики, какое-то время это был единственный язык, который можно было использовать в ПЛК. Некоторые производители ПЛК включают функциональные блоки секвенсора, а совсем недавно – функциональные блоки цикла FOR.

Язык лестничной логики хорошо работает для простой автоматизации. Почти каждый может легко понять его, он очень гибкий, и его легко настраивать с помощью графического представления. Релейная логика превратилась в совместимый язык с возможностью отправлять сообщения на компьютеры или другие устройства Ethernet и обрабатывать большие сложные структуры данных. Язык релейной логики может использоваться и используется практически в любом проекте автоматизации, который вы можете реализовать.
Структурированный текст и язык релейной логики: сходства и различия
Наиболее очевидное отличие заключается в том, что язык релейной логики является графическим, тогда как в синтаксисе ST используются слова и специальные символы. Эта разница кажется препятствием, которое некоторые люди не могут преодолеть, в зависимости от опыта и типа обучения.
Еще одно различие между языками заключается в том, что контакты и катушки лестничного языка меняют цвет при подаче питания. Но в ST вам нужно будет использовать окно просмотра программного обеспечения для программирования или инструменты отладки, чтобы узнать состояние переменных. Наблюдение за ходом кода и знание того, какая переменная является истинной или ложной, могут упростить устранение неполадок.
Код обоих языков обычно выполняется слева направо, сверху вниз по циклическому шаблону. Обе системы также обычно используют программирование на основе меток или переменных, что означает, что вы можете указать свои метки или переменные в любом тексте, который хотите.
Какой язык программирования для ПЛК выбрать
На этот вопрос нет правильного или неправильного ответа. Некоторые люди предпочитают ST просто потому, что он компактнее и его легче читать. Некоторые люди предпочитают язык лестничной логики, потому что это то, что они его давно знают и любят. Если посмотреть на этот вопрос с чисто эстетической точки зрения, сложный код можно представить на ST в компактном виде. Язык ST использует меньше места, чем языки релейной логики, для тех же задач.
Большинство производителей ПЛК в настоящее время поддерживают подпрограммы и некоторые формы функций, которые можно использовать для повторяющегося кода. Это означает, что язык релейной логики может использовать те же функции для экономии места, что и в ST, только на языке релейной логики. И Rockwell, и Siemens позволяют использовать ST и релейную логику в одной и той же программе. Siemens даже позволяет использовать ST и язык релейной логики в одном функциональном вызове или функциональном блоке.
© digitrode.ru