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

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

Сложность программного обеспечения, возможности PLC/PAC и возможность портировать программный код являются ключевыми факторами при выборе языка программирования контроллера. Около 120 лет назад Марк Твен сказал «есть несколько способов снять шкуру с кошки».  Это клише все еще актуально в мире программирования контроллеров. 

Благодаря IEC (International Electrotechnical CommissionМЭК - Международная Электротехническая Комиссия) появились пять наиболее часто используемых стандартных языков программирования, которые в настоящее время используются для разработки программного обеспечения контроллеров. IEC  – это организация, которая разрабатывает и публикует международные стандарты для всех технологий, связанных с электрикой и электроникой, включая контроллеры.

Долго считавшиеся чисто европейским феноменом, языки программирования контроллеров IEC получают распространение в Соединенных Штатах. IEC разработала данные стандарты программирования, реагируя на увеличивающееся количество разработчиков систем автоматизации, возрастающую сложность приложений, и множество методов реализации функций управления.

Многие инженеры  в области АСУ ТП интересуются возможностями каждого языка программирования. В каких случаях предпочесть тот или иной язык?  Какие преимущества и недостатки каждого? В данной статье содержится краткий обзор и сравнение каждого из пяти основных языков программирования контроллеров.

Язык релейно-контактных схем (LD)

Этот язык программирования, изобретенный в США десятилетия назад, получил наиболее широкое распространение. Изначально изобретенный для замены  логических схем, выполненных на релейной технике, язык релейно-контактных схем является базовым в США на сегодняшний день, и применяется в 95% всех приложений. Визуально этот язык напоминает последовательность цепей управления, в которой все входы должны быть установлены в значение «истина» для активации одного или нескольких выходов.

Язык релейно-контактных схем получил такое широкое распространение, потому что на нем могут писать практически все программисты в любой стране.

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

Этот язык напоминает последовательность цепей управления, в которой все входы должны быть установлены в значение «истина» для активации одного или нескольких выходов.

Рис. 1. Этот язык напоминает последовательность цепей управления, в которой все входы должны быть установлены
в значение «истина» для активации одного или нескольких выходов.

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

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

Страницы

Теги: