языки программирования для плк
Язык программирования играет ключевую роль в разработке программного обеспечения для программных логических контроллеров (ПЛК). ПЛК являются важной частью автоматизации процессов в промышленности, управления технологическими системами и реализации различных функций в машинах и устройствах. В этой статье мы рассмотрим некоторые из наиболее популярных языков программирования, которые используются для разработки ПЛК систем.
Первым языком, который мы рассмотрим, является лестничная диаграмма (Ladder Diagram, LD). Этот графический язык программирования основан на представлении системы в виде набора контактов, катушек и промежуточных реле. Лестничная диаграмма проста в использовании и понимании, что делает ее популярным среди многих инженеров и специалистов по автоматизации.
Вторым языком программирования для ПЛК, который мы рассмотрим, является структурированный текстовый язык (Structured Text, ST). ST представляет собой текстовый язык программирования, основанный на языке программирования Pascal. Он позволяет разработчикам писать более сложные программы и реализовывать различные алгоритмы. ST является мощным инструментом для программистов, имеющих опыт в текстовом программировании.
Третьим языком, который мы рассмотрим, является графический язык высокого уровня (High-Level Graphical Language, HLGL). HLGL является комбинацией графического и текстового программирования и предлагает разработчикам более гибкий способ программирования ПЛК. Этот язык позволяет создавать более сложные алгоритмы и программы, объединяя графические элементы и текстовое программирование.
Однако, помимо этих языков программирования, существуют и другие, такие как инструкционный список (Instruction List, IL), функциональный блок диаграммы (Function Block Diagram, FBD) и последовательная функциональная схема (Sequential Function Chart, SFC). Каждый из этих языков имеет свои особенности и применяется для разных типов задач.
Выбор языка программирования для ПЛК может зависеть от ряда факторов, таких как сложность задачи, уровень знаний программиста и требования к производительности системы. Большинство ПЛК поддерживают несколько языков программирования, что позволяет разработчикам выбирать наиболее подходящий язык для каждой конкретной задачи.
В заключение, языки программирования для ПЛК представляют собой важный инструмент в разработке программного обеспечения для автоматизации и управления процессами. Лестничная диаграмма, структурированный текст и графический язык высокого уровня являются наиболее распространенными языками программирования для ПЛК. Выбор языка должен основываться на требованиях задачи и навыках разработчика. Сочетание различных языков программирования может быть эффективным решением для реализации сложных алгоритмов и функций в ПЛК системах.
- https://example.com
- — https://example.com
- — https://example.com
- языки программирования для плк
- https://sites.google.com/view/hosting-vps
Какие языки программирования являются графическими в плк
Главная Информация Основные языки программирования контроллеров PLC
Основные языки программирования контроллеров PLC
Главная задача ПЛК – это выполнение прикладной программы управления технологическим процессом. Очевидно, что незапрограммированный контроллер – это всего лишь пустая железяка, не приносящая никакой пользы человечеству.
Какие программы может выполнять промышленный контроллер? Ответ прост: практически любые. Современный контроллер свободно программируем, т.е. предоставляет разработчику возможность создавать пользовательские программы произвольной структуры без ограничений их функциональности, будь то программа управления пастеризатором на молочном комбинате или управление колонной ректификации на НПЗ. По сути, единственным ограничением здесь может быть объем свободных ресурсов контроллера.
Что нужно, чтобы запрограммировать ПЛК? Грамотный специалист. Во-вторых, персональный компьютер или портативный программатор, подключенный к контроллеру по сети. В-третьих, программный пакет разработки, поставляемый, как правило, за дополнительную плату. Иногда среда разработки входит в состав комплексного ПО для инсталляции и эксплуатации всей системы управления.
Современные средства разработки чрезвычайно функциональны и предлагают разработчику множество возможностей:
1. Разнообразные программные библиотеки, функциональные блоки, готовые процедуры и шаблоны. Использование предподготовленных компонентов сильно ускоряет процесс разработки программного обеспечения для ПЛК.
2. Инструменты для отладки, тестирования и симуляции прикладной программы. Последние позволяют выполнять программу ПЛК на персональном компьютере без загрузки в реальный контроллер.
3. Инструменты для автоматизированного документирования разработанной программы в соответствие с принятыми стандартами.
Но у программиста есть и более мощный инструмент. Дело в том, что современные средства разработки прикладного ПО для промышленных контроллеров, как правило, поддерживают до шести разных языков программирования.
Существует международный стандарт IEC 61131, разработанный Международной Электротехнической Комиссией (МЭК, IEC) и состоящий из восьми частей. Наиболее интересной является третья часть, IEC 61131-3, описывающая языки программирования ПЛК. Первоначальной целью стандарта IEC 61131-3 была унификация языков программирования ПЛК и предоставление разработчикам ряда аппаратно-независимых языков, что, по замыслу создателей стандарта, обеспечило бы простую переносимость программ между различными аппаратными платформами и снимало бы необходимость изучения новых языков и средств программирования при переходе разработчика на новый ПЛК.
К сожалению, цели в полном объеме достигнуты не были. Каждый производитель ПЛК сопровождает свой продукт собственной средой программирования, которая, как правило, не совместима с другими, да и о кросс-платформенности программного кода можно забыть. Тем не менее, в части описания языков программирования стандарт IEC 61131 остается чрезвычайно актуальным и является ориентиром для большинства разработчиков ПЛК.
Какие языки используются для программирования промышленных контроллеров? Ниже приведен краткий обзор языков стандарта.
Язык LD
Язык LD (LAD, Ladder) является графическим языком разработки, программа на котором представляет собой аналог релейной схемы. Пример программы на данном языке приведен на рис. 1. По идеи авторов стандарта, такая форма представления программы облегчит переход инженеров из области релейной автоматики на ПЛК.
К недостаткам данного языка можно отнести то, что по мере увеличения количества «реле» в схеме она становится сложнее для интерпретации, анализа и откладки. Еще один недостаток языка LD заключается в следующем: язык, построенный по аналогии с релейными схемами, может быть эффективно использован только для описания процессов, имеющих дискретный (двоичный) характер; для обработки «непрерывных» процессов (с множеством аналоговых переменных) такой подход теряет смысл.
Рис. 1. Язык релейных диаграмм LD.
Язык FBD
Язык FBD (Functional Block Diagram, Диаграмма Функциональных Блоков) является языком графического программирования, так же, как и LD, использующий аналогию с электрической (электронной) схемой. Программа на языке FBD представляет собой совокупность функциональных блоков (functional flocks, FBs), входа и выхода которых соединены линиями связи (connections). Эти связи, соединяющие выхода одних блоков с входами других, являются по сути дела переменными программы и служат для пересылки данных между блоками. Каждый блок представляет собой математическую операцию (сложение, умножение, триггер, логическое “или” и т.д.) и может иметь, в общем случае, произвольное количество входов и выходов. Начальные значения переменных задаются с помощью специальных блоков – входов или констант, выходные цепи могут быть связаны либо с физическими выходами контроллера, либо с глобальными переменными программы. Пример фрагмента программы на языке FBD приведен на рис. 2.
Практика показывает, что FBD является наиболее распространенным языком стандарта IEC. Графическая форма представления алгоритма, простота в использовании, повторное использование функциональных диаграмм и библиотеки функциональных блоков делают язык FBD незаменимым при разработке программного обеспечения ПЛК. Вместе с тем, нельзя не заметить и некоторые недостатки FBD. Хотя FBD обеспечивает легкое представление функций обработки как «непрерывных» сигналов, в частности, функций регулирования, так и логических функций, в нем неудобным и неочевидным образом реализуются те участки программы, которые было бы удобно представить в виде конечного автомата.
Рис.2. Функциональная схема FBD.
Язык SFC
Язык последовательных функциональных схем SFC (Sequential Function Chart), использующийся совместно с другими языками (обычно с ST и IL), является графическим языком, в котором программа описывается в виде схематической последовательности шагов, объединенных переходами. Язык SFC построен по принципу, близкому к концепции конечного автомата, что делает его одним из самых мощных языков программирования стандарта IEC 61131-3. Пример программы на языке SFC приведен на рис. 3.
Наиболее простым и естественным образом на языке SFC описываются технологические процессы, состоящие из последовательно выполняемых шагов, с возможностью описания нескольких параллельно выполняющихся процессов, для чего в языке имеются специальные символы разветвления и слияния потоков (дивергенции и конвергенции, в терминах стандарта IEC 61131-3).
Шаги последовательности располагаются вертикально сверху вниз. На каждом шаге выполняется определенный перечень действий (операций). При этом для описания самой операции используются другие языки программирования, такие как IL или ST.
Действия (операции) в шагах имеют специальные классификаторы, определяющие способ их выполнения внутри шага: циклическое выполнение, однократное выполнение, однократное выполнение при входе в шаг и т.д. В сумме таких классификаторов насчитывается девять, причем среди них есть, например, классификаторы так называемых сохраняемых и отложенных действий, заставляющие действие выполняться даже после выхода программы из шага.
После того, как шаг выполнен, управление передается следующему за ним шагу. Переход между шагами может быть условным и безусловным. Условный переход требует выполнение определенного логического условия для передачи управления на следующий шаг; пока это условие не выполнено программа будет оставаться внутри текущего шага, даже если все операции внутри шага уже выполнены. Безусловный переход происходит всегда после полного выполнения всех операций на данном шаге. С помощью переходов можно осуществлять разделение и слияние ветвей последовательности, организовать параллельную обработку нескольких ветвей или заставить одну выполненную ветвь ждать завершения другой.
Как и любому другому языку, SFC свойственны некоторые недостатки. Хотя SFC может быть использован для моделирования конечных автоматов, его программная модель не совсем удобна для этого. Это связано с тем, что текущее состояние программы определяется не переменной состояния, а набором флагов активности каждого шага, в связи с чем при недостаточном контроле со стороны программиста могут оказаться одновременно активными несколько шагов, не находящихся в параллельных потоках.
Еще одно неудобство языка связано с тем, что шаги графически располагаются сверху вниз, и переход, идущий в обратном направлении, изображается в неявной форме, в виде стрелки с номером состояния, в которое осуществляется переход.
Рис. 3. Язык последовательных функциональных схем SFC.
Язык ST
Язык ST (Structured Text, Структурированный Текст) представляет собой язык высокого уровня, имеющий черты языков Pascal и Basic. Данный язык имеет те же недостатки, что и IL, однако они выражены в меньшей степени. Пример программы на языке ST приведен на рис. 4.
С помощью ST можно легко реализовывать арифметические и логические операции (в том числе, побитовые), безусловные и условные переходы, циклические вычисления; возможно использование как библиотечных, так и пользовательских функций. Язык также интерпретирует более 16 типов данных.
Язык ST может быть освоен технологом за короткий срок, однако текстовая форма представления программ служит сдерживающим фактором при разработке сложных систем, так как не дает наглядного представления ни о структуре программы, ни о происходящих в ней процессах.
Рис. 4. Язык структурированного текста ST.
Язык IL
Язык IL (Instruction List, Список Команд) представляет собой ассемблероподобный язык, достаточно несложный по замыслу авторов стандарта, для его практического применения в задачах промышленной автоматизации пользователем, не имеющим, с одной стороны, профессиональной подготовки в области программирования, с другой стороны, являющимся специалистом в той или иной области производства. Однако, как показывает практика, такой подход себя не оправдывает.
Ввиду своей ненаглядности, IL практически не используется для программирования комплексных алгоритмов автоматизированного управления, но часто применяется для кодирования отдельных функциональных блоков, из которых впоследствии складываются схемы FBD или CFC. При этом IL позволяет достичь высокой оптимальности кода: программные блоки, написанные на IL, имеют высокую скорость исполнения и наименее требовательны к ресурсам контроллера.
Язык IL имеет все недостатки, которые присущи другим низкоуровневым языкам программирования: сложность и высокую трудоемкость программирования, трудность модификации написанных на нем программ, малую степень «видимого» соответствия исходного текста программы и решаемой задачи.
Пример программы на языке IL приведен на рис. 5.
Рис. 5. Язык инструкций IL.
Многие производители инструментальных средств, опирающиеся на стандарт IEC, не ограничиваются поддержкой рассмотренных выше пяти языков стандарта. Можно выделить, как минимум, еще один язык визуального программирования, который довольно популярен среди разработчиков.
Язык CFC
Язык CFC (Continuous Flow Chart) – еще один высокоуровневый язык визуального программирования. По сути, CFC – это дальнейшее развития языка FBD. Этот язык был специально создан для проектирования систем управления непрерывными технологическими процессами.
Проектирование сводится к выбору из библиотек готовых функциональных блоков, их позиционированию на экране, установке соединений между их входами и выходами, а также настройке параметров выбранных блоков. В отличие от FBD, функциональные блоки языка CFC выполняют не только простые математические операции, а ориентированы на управление целыми технологическими единицами. Так в типовой библиотеке CFC блоков находятся комплексные функциональные блоки, реализующие управление клапанами, моторами, насосами; блоки, генерирующие аварийные сигнализации; блоки PID-регулирования и т.д. Вместе с тем доступны и стандартные блоки FBD. Унаследовав от FBD саму концепцию программирования, язык CFC в наибольшей степени ориентирован на сам технологический процесс, позволяя разработчику абстрагироваться от сложного математического аппарата.
Рис. 6. Среда проектирования на языке CFC системы Simatic PCS7.
CFC прост в освоении, и при этом позволяет разрабатывать сложнейшие алгоритмы автоматизированного управления без каких-либо специфических знаний других языков программирования.
Наши услуги
- Модернизация и реконструкция БСУ
- Автоматизация складов цемента
- Производство весовых дозаторов
- Перевод дозаторов на тензометрическую систему взвешивания (без остановки производства)
- Разработка и создание автоматизированных систем управления заводами по производству бетона, асфальта, сухих строительных смесей
- Диспетчеризация инженерных обьектов
- Пуско-наладочные работы и адаптация систем управления БСУ импортного производства
- Разработка программного обеспечения верхнего и нижнего уровня АСУ ТП
- Информация
- Новости
- Чем мы занимаемся
- Документы
- Глоссарий
Языки стандарта IEC-61131 для вычислительных комплексов на базе отечественных микропроцессоров с архитектурой SPARC

Управление технологическими процессами, как правило, осуществляется с помощью программируемых логических контроллеров (ПЛК), или Programmable Logic Controller (PLC). ПЛК – комплекс электронных и программных компонент и средств (включая модули ввода-вывода), предназначенный для выполнения логических функций (не включает в себя сенсоры, исполнительные элементы и средства взаимодействия с оператором). ПЛК пришли на смену релейно-контактным схемам управления с жесткой логикой. Программируемые контроллеры упростили схему управления технологическими процессами и обеспечили высокий уровень надежности и долговечности.
В настоящее время ПЛК широко применяются в системах управления, решая локальные задачи участка технологического процесса и обеспечивая трансляцию данных о процессе в системы диспетчерского контроля и управления.
Современные вычислительные комплексы на базе отечественных микропроцессоров с архитектурой SPARC (МЦСТ R-500S) являются достаточно миниатюрными и имеют высокую производительность, что позволяет создавать на их базе ПЛК, отвечающие всем современным требованиям по производительности, надежности и защищенности, предъявляемым к этому классу устройств.
Раньше основными средствами написания прикладных программ для ПЛК были традиционные языки, такие как C или C++, следовательно, требовалась высокая квалификация инженеров, занимавшихся данным вопросом. С целью упрощения процесса создания прикладных программ для ПЛК был разработан международный стандарт IEC 61131-3, определяющий требования к высокоуровневым языкам программирования, которые ориентированы в первую очередь на инженеров-технологов, не имеющих специальных навыков в области программирования на традиционных языках. Поддержка языков данного стандарта является необходимым компонентом любого современного ПЛК.
Стандарт IEC 61131-3 устанавливает пять языков программирования ПЛК (три графических и два текстовых) со следующими названиями:
- структурированный текст (ST – Structured Text);
- последовательные функциональные схемы (SFC – Sequential Function Chart);
- диаграммы функциональных блоков (FBD – Function Block Diagram);
- релейно-контактные схемы, или релейные диаграммы (LD – Ladder Diagram);
- список инструкций (IL – Instruction List).
Языки IEC 61131-3 базируются на определённых принципах. Вся программа разбивается на множество функциональных элементов – Program Organization Units (POU), каждый из которых может состоять из функций, функциональных блоков и программ. Любой элемент IEC-программы может быть сконструирован иерархически из более простых элементов. Стандарт требует строгой типизации данных. Указание типов данных позволяет легко обнаруживать большинство ошибок в программе до ее исполнения. Имеются средства для исполнения разных фрагментов программы в разное время, с разной скоростью, а также параллельно. Для выполнения операций в определенной последовательности, которая задается моментами времени или событиями, используется специальный язык последовательных функциональных схем (SFC). Стандарт поддерживает структуры для описания разнородных данных. Например, температуру подшипников насоса, давление и состояние «включено-выключено» можно описать с помощью единой структуры «Pump» и передавать ее внутри программы как единый элемент данных. Стандарт обеспечивает совместное использование всех пяти языков, поэтому для каждого фрагмента задачи может быть выбран любой, наиболее удобный, язык. Программа, написанная для одного контроллера, может быть перенесена на любой контроллер, совместимый со стандартом IEC 61131-3.
Любой ПЛК работает в циклическом режиме. Цикл начинается со сбора данных с модулей ввода, затем исполняется программа ПЛК и оканчивается цикл выводом данных в устройства вывода. Поэтому величина контроллерного цикла зависит от времени исполнения программы и быстродействия процессорного модуля.
Процесс адаптации исполнительной части существующих средств программирования ПЛК, отвечающих стандарту IEC 61131-3, под архитектурное решение унифицированных электронных модулей процессоров, являющихся вычислительным ядром создаваемых ПЛК, включает в себя следующие этапы:
- адаптация и запуск среды исполнения программ на процессорных модулях ПЛК;
- разработка функциональных блоков для интерфейсов CAN, Modbus и т.д., обеспечивающих связь с удаленными модулями ввода-вывода, другими ПЛК и системами верхнего уровня;
- разработка функциональных блоков для обмена данными с драйверами создаваемых унифицированных электронных модулей ввода/вывода сигналов.
На данный момент существует ряд широко известных инструментов разработки прикладных программ для ПЛК на языках стандарта IEC 61131-3, например ISaGRAF, CoDeSyS и т.д. Но в процессе адаптации таких сред разработки для ПЛК с аппаратной частью на новой, нестандартной, архитектуре может возникнуть ряд проблем. Например, отсутствие необходимых компиляторов под конкретную архитектуру или невозможность внесения изменений, требующих доступа к исходному коду определённого компонента среды. Кроме того, данные инструменты являются коммерческим продуктом и для их применения необходимо пройти процесс лицензирования, требующий больших финансовых вложений. Существует и ряд других инструментов, одним из которых является свободно-распространяемая среда с открытым исходным кодом Beremiz (www.beremiz.org). Возможность иметь доступ ко всем её компонентам и вносить любые изменения даёт преимущества для адаптации данного инструмента под конкретную аппаратную архитектуру, поэтому для написания прикладных программ на языках IEC 61131-3 для вычислительных комплексов на базе отечественных микропроцессоров с архитектурой SPARC предлагается адаптировать среду разработки Beremiz.
Содержание:
Введение
Обзор Beremiz
Разработка плагинов
Обзор Cygwin
Обзор Crosstool
Код для размещения ссылки на данный материал в блоге: Как будет выглядеть ссылка:
Языки стандарта IEC-61131 для вычислительных комплексов на базе отечественных микропроцессоров с архитектурой SPARC
Применение инструментальных средств разработки прикладного программного обеспечения с использованием технологических языков стандарта IEC-61131 на ВК, построенных на базе отечественных микропроцессоров с архитектурой SPARC.
- Автор: И.А. Баранов, к.т.н. А.В. Глухов
- Дата: 27 июня 2012 года
- Тэги:Публикации, ТЕГ БЛОКА «SPARС», СМ 1820
Программируемый логический контроллер
Программиируемый логиический контроллер (ПЛК, Programmable Logic Controller, PLC) или программируемый контроллер — электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов. В качестве основного режима длительной работы ПЛК, зачастую в неблагоприятных условиях окружающей среды, выступает его автономное использование, без серьёзного обслуживания и практически без вмешательства человека.
Иногда на ПЛК строятся системы числового программного управления станком (ЧПУ, Computer numerical control, CNC).
ПЛК являются устройствами реального времени.
- микроконтроллера (однокристального компьютера), микросхемы предназначенной для управления электронными устройствами, областью применения ПЛК обычно являются автоматизированные процессы промышленного производства, в контексте производственного предприятия;
- компьютеров, ПЛК ориентированы на работу с машинами и имеют развитый ‘машинный’ ввод-вывод сигналов датчиков и исполнительных механизмов в противовес возможностям компьютера, ориентированного на человека (клавиатура, мышь, монитор и т. п.);
- встраиваемых систем — ПЛК изготавливается как самостоятельное изделие, отдельно от управляемого при его помощи оборудования.
Первые логические контроллеры появились в виде шкафов с набором соединённых между собой реле и контактов. Эта схема задавалась жёстко на этапе проектирования и не могла быть изменена далее.
Первый в мире ПЛК — MOdular DIgital CONtroller (Modicon) 084, имеющий память 4 кБ, произведен в 1968 году.
В первых ПЛК, пришедших на замену обычным логическим контроллерам, логика соединений программировалась схемой соединений LD (Ladder logic Diagram). Устройство имело тот же принцип работы, но реле и контакты (кроме входных и выходных) были виртуальными, то есть существовали в виде программы, выполняемой микроконтроллером ПЛК. Современные ПЛК являются «свободно программируемыми».
В системах управления технологическими объектами логические команды преобладают над числовыми операциями, что позволяет при сравнительной простоте микроконтроллера (шины шириной 8 или 16 бит), получить мощные системы действующие в режиме реального времени. В современных ПЛК числовые операции реализуются наравне с логическими. В то же время, в отличие от большинства процессоров компьютеров, в ПЛК обеспечивается доступ к отдельным битам памяти.
Виды ПЛК
Основные ПЛК
- Siemens — SIMATIC S5 и S7;
- VIPA 100V, 200V, 300S, 500S;
- Schneider Electric — PLC Twido и более функциональная серия Modicon: M340, M258, TSX Premium, TSX Quantum, TSX Atrium;
- Beckhoff;
- Rockwell Automation — ControlLogix L6x и L7x;
- ABB — 800xA Industrial IT;
- Omron CJ1, CJ2, CS1;
- Mitsubishi — серия Melsec (FX, Q);
- Овен ПЛК.
Программируемое реле
- Relpol NEED;
- Lovato Kinco;
- Siemens LOGO!;
- Schneider Electric — Zelio Logic;
- ОВЕН ПР110;
- Omron — ZEN;
- Moeller — EASY, MFD-Titan.
Программные ПЛК на базе IBM PC-совместимых компьютеров (англ. SoftPLC)
- MicroPC;
- WinCon;
- WinAC;
- CoDeSys SP/SP RTE;
- S2 Netbox.
ПЛК на базе простейших микропроцессоров (i8088/8086/80186 и т. п.)
Интерфейсы ПЛК
ПЛК в своём составе не имеют интерфейса для человека, типа клавиатуры и дисплея. Их программирование, диагностика и обслуживание производится подключаемыми для этой цели программаторами — специальным устройством или устройствами на базе более современных технологий — персонального компьютера или ноутбука, со специальными интерфейсами и со специальным программным обеспечением. В системах управления технологическими процессами ПЛК взаимодействуют с различными компонентами систем человеко-машинного интерфейса (например операторскими панелями) или рабочими местами операторов на базе ПК, часто в промышленном исполнении, обычно через промышленную сеть.
Датчики и исполнительные устройства могут подключаться к ПЛК:
- централизованно: в корзину ПЛК устанавливаются модули ввода-вывода. Датчики и исполнительные устройства подключаются отдельными проводами непосредственно, либо при помощи согласовательных модулей, к входам/выходам сигнальных модулей;
- или по методу распределённой периферии, когда удалённые от ПЛК датчики и исполнительные устройства связаны с ПЛК посредством каналов связи и, возможно, корзин-расширителей с использованием связей типа «ведущий-ведомый» (Master-Slave).
Коммуникации
- RS-232
- RS-485
- ProfiBus/MPI
- CAN
- Modbus
- AS-Interface
- Industrial Ethernet
Языки программирования ПЛК
Для программирования ПЛК используются стандартизированные языки МЭК (IEC) стандарта IEC61131-3
- Языки программирования (графические)
- LD — Язык релейных схем — самый распространённый язык для PLC
- FBD — Язык функциональных блоков — 2-й по распространённости язык для PLC
- SFC — Язык диаграмм состояний — используется для программирования автоматов
- CFC — Не сертифицирован IEC61131-3, дальнейшее развитие FBD
- IL — Ассемблер
- ST — Паскале-подобный язык
Инструменты программирования ПЛК на языках МЭК 61131-3 могут быть специализированными для отдельного семейства ПЛК (например, STEP 7 для контроллеров SIMATIC S7-300/400, VIPA) или универсальными, работающими с несколькими (но далеко не всеми) типами контроллеров (например CoDeSys)
Специальное использование
Для увеличения надёжности системы управления, построенной на ПЛК, применяется резервирование разных компонентов: шасси, источников питания, самих контроллеров.
Полезные ссылки

Программируемые логические контроллеры VIPA