
- •Андреев е.В., Брейдо и.В., Войткевич с.В., Пахомов в.В. Языки программирования промышленных логических контроллеров стандарта iec 61131-3
- •Андреев е.В., Брейдо и.В., Войткевич с.В., Пахомов в.В.
- •050718 «Электроэнергетика», 360240 «Автоматизация технологических процессов и производств»
- •О стандарте iec 61131-3
- •2. Язык программирования Instruction List (il)
- •3. Язык программирования Quick Ladder Diagram (ld)
- •4. Язык программирования Functional Block Diagram (fbd)
- •5. Язык структурированный текст (st)
- •6. Язык последовательных функциональных схем sfc
4. Язык программирования Functional Block Diagram (fbd)
Язык FBD - это графический язык. Операторы представлены функциональными прямоугольниками (рисунок 4.1). Функциональные входы присоединяются к левой части прямоугольника. Функциональные выходы присоединяются к правой части. Входы и выходы диаграммы (переменные) соединены с функциональными прямоугольниками при помощи логических связей. Выходы одного функционального прямоугольника могут соединяться с входами другого (рисунок 4.2).
а) б) в) г)
Рисунок 4.1 – Графическое обозначение функциональных блоков языка FBD
а) – элемент неравнозначность; б) – «2ИЛИ-НЕ»; в) – элемент «2И» с одним инвертированным входом; г) – элемент «4И» с тремя инвертированными входами.
а)
б)
Рисунок 4.2 – Логические схемы в различных редакторах языка FBD
a) – в редакторе среды IsaGRAF; б) – в редакторе среды LogoSoftComfort
Кроме базовых элементов, таких как «И», «ИЛИ», «НЕ», «функция Пирса», «функция Шеффера», «Исключающее ИЛИ», язык FBD использует специализированные блоки, связанные с обработкой аналоговых величин, математических преобразований, функций отсчета времени и д.р. (рисунок 4.3)
а) б)
Рисунок 4.3 – Примеры специализированных функциональных блоков языка FBD a) – в редакторе среды IsaGRAF; б) – в редакторе среды LogoSoftComfort
Многие редакторы (инструментальные среды) языков стандарта IEC 61131-3 ориентированы на программирование определенного типа контроллера (реже класса или группы) и не могут применяться для программирования аппаратно и программно не поддерживаемых ПЛК.
Пример 1: Рассмотрим создание простейшей логической схемы электронного голосования. Пусть имеется три пульта голосования, на каждом из которых установлены две кнопки «ЗА» и «ПРОТИВ» (соответственно логическая 1 и логический 0). Выходной сигнал также является бинарным, выдвинутое предложение ПРИНИМАЕТСЯ если хотя бы два пульта выдали сигнал логической 1 и ОТКЛОНЯЕТСЯ, если «ЗА» проголосовал только один участник (рисунок 4.4). Таблица истинности работы такого устройства приведена в таблице 4.1.
Таблица 4.1 – Таблица истинности устройства электронного голосования
Х2 |
Х1 |
Х0 |
Y |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
Х2, Х1, Х0 - являются входными сигналами с пультов голосования, а Y – принятым решением.
Рисунок 4.4 – Функциональная схема устройства электронного голосования
Записав СДНФ (совершенную нормальную дизъюнктивную форму) функции, получим следующие выражение:
На рисунке 4.5 приведена схема – решение в языке FBD.
Рисунок 4.5 – Программа устройства электронного голосования на языке FBD
Используя любой из методов минимизации, упростите схему устройства и наберите программу в языке FBD.
Пример 2: В качестве примера более сложного процесса рассмотрим автоматизацию изготовления деталей на токарном станке с пневмоприводом.
Задание: Процесс изготовления детали (рисунок 4.6) включает в себя пульт управления с кнопками «ПУСК», «СТОП» и индикационными лампами, компрессор для нагнетания сжатого под давлением воздуха, обрабатываемой детали, резца и двигателя станка (ДС).
После нажатия кнопки «ПУСК» происходит включение привода станка (ДС) (раскручивание детали) и сравнение показаний манометров (М1, М2 и М3): давление в расширителе компрессора (М1) должно соответствовать давлению на клапанах станка (М2, М3) (М1=M2=M3=25МПа контроль утечек из трубопровода). В случае, когда M1 < M2 или M3 (давление в расширителе компрессора меньше чем в трубопроводе) включается двигатель компрессора (ДК) и давление в расширителе повышается до тех пор пока не выполниться условие М1=M2=M3, на пульте управления загорается сигнальная лампа Л1. Если же M1 > M2 или M3 (давление в расширителе компрессора больше чем в трубопроводе) открывается клапан (КЛ1) и давление выравнивается М1=M2=M3, на пульте управления при этом загорается сигнальная лампа Л2. После стабилизации давления с выдержкой в 5 сек. открывается клапан (КЛ2), который обеспечивает движение штатива резца υ2 в вертикальном направлении (резец подводиться к детали). Движение происходит до срабатывания концевого выключателя (КВ1). Затем с выдержкой в 5 сек. открывается клапан (КЛ3) обеспечивающий движение резца υ1 в горизонтальном направлении (фаза обработки детали). Движение происходит до срабатывания концевого выключателя (КВ2).
При нажатии кнопки «СТОП» происходит мгновенное закрытие клапанов (КЛ1, КЛ2), отключение двигателя станка (ДС), на пульте управления загорается лампа Л3 и срабатывает звуковая сигнализация. Блок-схема алгоритма работы станка приведена на рисунке 4.7.
Рисунок 4.6 – Функциональная схема токарного станка
Решение: Действуя по аналогии с предыдущими решениями автоматизации ТП проанализируем количество и тип используемых сигналов ввода/вывода (таблица 4.2).
Таблица 4.2 – Сигналы ввода/вывода
Сигналы |
Комментарии |
Тип сигнала |
Входные: |
|
|
Пуск (Start) |
Нажатие кнопки «ПУСК» на пульте диспетчера |
дискретный |
Стоп (Stop) |
Нажатие кнопки «СТОП» на пульте диспетчера |
дискретный |
M1 |
Срабатывание датчика давления расширителя компрессора |
аналоговый |
M2 |
Срабатывание датчика давления горизонтального направления |
аналоговый |
M3 |
Срабатывание датчика давления вертикального направления |
аналоговый |
KB1 |
Срабатывание концевого выключателя вертикального направления |
дискретный |
KB2 |
Срабатывание концевого выключателя горизонтального направления |
дискретный |
Выходные: |
|
|
КЛ1 |
Открытие/закрытие клапана подачи сжатого воздуха в трубопровод |
дискретный |
КЛ2 |
Открытие/закрытие клапана вертикального направления |
дискретный |
КЛ3 |
Открытие/закрытие клапана горизонтального направления |
дискретный |
Л1 |
Сигнальная лампа (М1<М2,М3) |
дискретный |
Л2 |
Сигнальная лампа (М1>М2,М3) |
дискретный |
Л3 |
Сигнальная лампа остановки процесса |
дискретный |
ДК |
Включение двигателя компрессора |
дискретный |
ДС |
Включение двигателя токарного станка |
дискретный |
Рисунок 4.5 - Блок-схема алгоритма работы станка
Примечание: Сигнал управления звуковой сигнализацией объединен с сигналом управления лампой Л3.
различные редакторы языка FBD используют разный набор специальных блоков. В некоторых редакторах также имеется возможность создавать собственные блоки используя языки высокого уровня, к примеру С++.
Рисунок 4.6 – Программа управления станком в языке программирования FBD
Используя редактор LogoSoftComfort, составляем схему автоматизации технологического процесса управления станком в языке программирования FBD (рисунок 4.6).
Аналоговые сигналы (блоки Al1, Al2, Al3) приходящие с манометров М1, М2, М3 подвергаются аналогово-цифровому преобразованию аналоговыми триггерами (блоки В001, В002, В003) которые формируют сигнал логической единицы при переходе давлением порога в 25МПа.
Блок В004 является проверкой равенства показаний манометров М2 и М3, в случае их равенства происходит сравнение сигнала с показанием манометра М1 (блок В005). Если сигналы неравны, то в зависимости от неравенства (М1>М2 и М3 или М1<М2 и М3) через RS триггеры (блоки В006, В016) открывается клапан (КЛ1)+сигнальная лампа (Л2) или включается двигатель компрессора + сигнальная лампа (Л1). При выполнении равенства М1=М2=М3 через задержку времени 5сек. (формируется блоком On-Delay В008) открывается клапан (КЛ2). Он закроется при срабатывании концевого выключателя (КВ1) вход I3. Аналогично работает клапан (КЛ3).
Сигнал с кнопки «СТОП» полностью отключает систему и через блок синхронного генератора (В017) подает прерывистый звуковой и световой сигнал на пульт управления.
Модифицируйте программу таким образом, чтобы появилась дополнительная функция контроля верхнего уровня давления, к примеру - 30МПа. Т.е. при превышении уровня срабатывает защита, которая открывает все клапаны и стравливает давление в системе, отключая при этом двигатель компрессора, если он был запущен.
Выводы по языку: Подводя итоги по языку FBD можно сказать, что он по функциональному назначению идентичен языку LD. Несомненными преимуществами является возможность отслеживать все логические связи непосредственно на графической схеме, а так же богатство специализированных функций (блоков) и возможности их расширения. К недостаткам относится ограничение по количеству блоков извлекаемых на рабочее поле.