Светофор На Плк – Все Языки Iec 61131-3

В предыдущей статье Светофор на ПЛК – 30 блоков Программа для ПЛК светофора написана только на FBD. Новая программа использует все 5 языков стандарта МЭК 61131-3. Первый раздел по Иллинойс .

Это язык, похожий на ассемблер.

В разделе всего 2 строки: LD - загрузка значения в аккумулятор S — установка переменной значения true, если аккумулятор равен true, в противном случае переменная не изменяется.



Светофор на ПЛК – все языки IEC 61131-3

Генератор импульсов с периодом 0,5 секунды записан в ФБД , как и в предыдущей версии.



Светофор на ПЛК – все языки IEC 61131-3

Основная часть написана на СФК .

Мне кажется, что это самый сложный язык для использования в стандарте MЭK 61131-3. Программа состоит из шагов и переходов.

При запуске программы выполняется шаг Init. Следующий шаг выполняется, если условие, следующее за ним, истинно.

Шаг можно выполнять с задержкой, время шага можно ограничить.

На рисунке ниже только один переход содержит условие.

Остальные переходы выполняются всегда.

В конце цепочки осуществляется безусловный переход на метку WaitPeople.

Светофор на ПЛК – все языки IEC 61131-3

Каждый шаг выполняется с задержкой, соответствующей необходимому времени пребывания светофора в заданном состоянии.



Светофор на ПЛК – все языки IEC 61131-3

Каждый шаг выполняет определенное действие.

Моя программа настроена на выполнение раздела на языке ST.

Светофор на ПЛК – все языки IEC 61131-3

В проект добавлена переменная uState, соответствующая состоянию светофора.

Вот содержание всех разделов, выполненное пошагово:

Светофор на ПЛК – все языки IEC 61131-3

Раздел о СТ в зависимости от состояния uState записывает значение в логические переменные, которые затем будут записаны на выходы.

Это можно было бы сделать в разделах stStep_1.stStep_8, но тогда вы бы не увидели оператор CASE и не поняли бы, что ST — наиболее близкий для программиста язык из стандарта МЭК 61131-3. В этом разделе также представлена защита от ошибок программного обеспечения в виде мигания желтым цветом в неопределенном состоянии.



Светофор на ПЛК – все языки IEC 61131-3

Язык ЛД вблизи релейных логических цепей.

Основа ЛД — контакты и катушки.

На схеме видно, что слева находится проводник, от которого «напряжение» (истинное) распространяется вправо по ветвям.

Нормально открытый контакт (похожий на конденсатор) закрывается, если привязанная к нему переменная имеет истинное значение.

Нормально закрытый контакт (похожий на конденсатор с косой чертой внутри) замыкается, если присоединенная к нему переменная ложна.

Катушка (2 скобки) пропускает через себя «напряжение» и переписывает его значение (ложное или истинное) в привязанную к нему переменную.

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

Зеленый свет загорается только в том случае, если на этом светофоре нет красного, а на другом – зеленого.



Светофор на ПЛК – все языки IEC 61131-3

Результат программы: http://youtu.be/FkFliyZVwtw Использование всех 5 языков в одной программе не оправдано.

Но в реальных проектах иногда приходится использовать 2.3 языка одновременно.

Чаще всего использую СТ, реже ФБД и еще реже ИЛ.

Мне не приходилось использовать SFC и LD в реальных проектах.

УПД.

Сделал исправление - убрал лишний ноль из названия стандарта как отмечено РуР УПД2. Незначительные изменения в описании LD. УПД3. Исправлены грамматические ошибки.

Теги: #plc #PLC #IEC 61131-3 #Quantum #unity #fbd #S@T #il #ld #SFC #программирование #Промышленное программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.