Понимание языков программирования IEC61131-3

Список инструкций (IL)

Любой человек с опытом программирования микропроцессоров или программирования на Ассемблере увидит сходство с программированием на языке IL. Этот язык состоит из строк кода, в котором одна строка содержит одну операцию. Таким образом, программа представляет собой пошаговый список операций, в который можно легко вводить последовательности простых математических функций.  К тому же, если программист использует только команды, определяемые IEC, программу, написанную на этом языке можно легко использовать на различных аппаратных платформах. Эти преимущества сделали данный язык очень популярным в Европе, что удивляет многих программистов в США, которые предпочитают более удобные графические языки.

Список инструкций состоит из многих строк кода, в котором в каждой строке содержится только одна операция.

Рис. 4. Список инструкций состоит из многих строк кода,
в котором в каждой строке содержится только одна операция.

Язык IL – это язык нижнего уровня, и как таковой работает в ПЛК быстрее графических языков. Этот язык также более компактен и потребляет меньше памяти ПЛК.  Метод построчного текстового ввода, поддерживаемый этим языком, также позволяет очень быстро вводить программу, при этом не требуется мышка или функциональные клавиши. Программы в современных системах автоматизации, написанные на этом языке, легче воспроизводить и редактировать на портативных устройствах, для чего не требуется дополнительного программного обеспечения или ноутбука. 

Несмотря на преимущества данного языка, инженеры по обслуживанию его не очень любят. Возможно, это вызвано тем, что он менее нагляден, чем язык релейно-контактных схем, и поэтому труднее понять, что делает программа, и какие ошибки имеют место быть в ней. Аналогично релейно-контактной схеме по мере увеличения сложности ПЛК, в списке инструкций могут возникнуть сложности при вводе таких сложных функций, например, ПИД – регулирование. Это также относится и к сложным математическим расчетам.  Список инструкций не очень подходит для таких форм структурного программирования, как диаграмма состояний или  ступенчатая многозвенная схема, что ограничивает его полезность для реализации больших программ. Также спорным является факт, что преимущества скорости и компактности утрачивают свое значение по мере увеличения скорости работы современных ПЛК и большого объема доступной памяти. 

Структурированный текст (ST)

С его петлями IF…THEN, CASE селекторами, и окончанием строк точкой с запятой, язык ST сильно напоминает языки программирования верхнего уровня, такие как  PASCAL или C. Ранее упомянутый обзор Control Engineering показывает, что из всех языков программирования  IEC61131, язык ST получает самое быстрое распространение.

Язык ST сильно напоминает языки программирования верхнего уровня, такие как  PASCAL или C.

Рис. 5. Язык ST сильно напоминает языки программирования верхнего уровня, такие как PASCAL или C.

Этот язык лучше всего подходит для сложного программирования ПЛК, такого как, например, управление процессами в производстве пластмасс или химической промышленности. Тригонометрические функции, математические вычисления и анализ данных на этом языке можно реализовать легче, чем на языке релейно-контактных схемах или языке списка инструкций. Циклы выбора и указатели  (переменные, используемые для косвенной адресации) позволяют реализацию более компактных программ, чем могут быть созданы на языке релейно-контактных схем. Для написания программы на языке ST используется удобный текстовый редактор, который облегчает ввод комментариев в программу, а также позволяет использовать знаки абзацев и пробелы для выделения связанных участков кода. Это облегчает задачу структурирования комплексных программ. Текстовый, неграфический характер языка ST, похожего на язык IL, позволяет создавать программы, которые работают гораздо быстрее, чем программа созданные на языке LD. Дополнительным преимуществом языка ST является то, что он ближе других языков программирования подошел к достижению переносимости, обещанной стандартом  IEC61131. Копирование и вставка в языке ST из редактора одного программного пакета в другой часто может быть выполнено с минимальными изменениями, освобождая программиста от аппаратной платформы. Окончательным преимуществом является то, что многие студенты инженерных специальностей лучше владеют компьютерными языками, чем основами электротехники, и поэтому лучше владеют языком ST, чем LD.

Недостаток языка ST заключается в том, что для многих старых специалистов в области программирования и отладки среда языка ST является чем-то незнакомым и неудобным. В определенном смысле, код и структура необходимые, чтобы сделать поддержку этого кода удобной, снижают преимущества, связанные с компактностью программ.  В результате основной тенденцией использования языка ST является его использование так сказать «за сценой». Например,  IEC61131 позволяет программисту реализовать функции на одном языке, а затем использовать их в другом языке. Таким образом, программист, скорее всего, включит программу на языке ST внутрь команды, вызываемой  на языке LD.  Это не обязательно является недостатком, но программисту понадобится тщательно протестировать любой «скрытый» код, и удостовериться в отсутствии ошибок, поскольку у других, кто будет использовать этот код, возможно доступа к данному коду не будет.

Страницы

Теги: