Введение
Международная электротехническая комиссия
Языки стандарта МЭК
1. Диаграммы SFC
2. Список инструкций IL
3. Структурированный текст ST
4. Релейные диаграммы LD
5. Функциональные диаграммы FBD
Основные недостатки МЭК 61131.
Возможные альтернативы стандарту МЭК61131-3.
Заключение
Список литературы
Введение
На современном этапе в качестве ядра любой системы промышленной автоматизации используется программируемый логический контроллер (ПЛК), к которому со стороны объекта автоматизации подключаются датчики и исполнительные органы.
Через датчики в ПЛК поступает информация о текущем состоянии объекта, а через исполнительные органы ПЛК может изменять состояние управляемого объекта. Эта базовая схема может усложняться. Например, ПЛК могут подключаться к автоматизированному рабочему месту (АРМ) оператора для супервизорного управления или к базе данных (БД) для накопления информации и интеграции в АСУ предприятия. Поскольку все ПЛК строятся на базе цифровой техники, естественным образом предполагаются некоторые языковые средства их программирования. Причем в силу специфики задачи алгоритмические языки программирования, такие как Си, Паскаль, Си++, не годятся для этих целей.
Специфика автоматизации предполагает наличие собственно системы управления, включающей датчики обратной связи и органы управления, и внешней (по отношению к системе управления) среды, на которую система управления воздействует через органы управления, – объекта управления – технической системы, реализующей некоторую производственную технологию. Воздействия – или, другими словами, реакция системы управления – определяются алгоритмом управления в зависимости от событий на объекте управления, информация о которых поступает через датчики обратной связи. Для цифровых систем это обстоятельство обусловливает цикличность управляющего алгоритма по схеме: считывание состояния входных сигналов через датчики – их обработка и формирование выходных сигналов – выдача выходных сигналов на исполнительные органы. Событийность предполагает алгоритмические изменения программы и набора обрабатываемых ею входных/выходных сигналов в зависимости от происходящих на объекте событий.
Алгоритм управления предполагает синхронизацию своего исполнения с физическими процессами во внешней среде, что обусловливает необходимость развитой службы времени и активную работу с временными объектами: задержками, паузами, таймаутами. Другая характерная особенность алгоритмов управления – логический параллелизм, отражающий
существование множества параллельно протекающих процессов в объекте управления. (Поскольку события, происходящие в различных компонентах системы, возникают независимо и в произвольной последовательности, то попытка задать реакцию системы единым блоком означает комбинаторный перебор большого числа вариантов и неоправданный рост сложности описания). Логический параллелизм предполагает наличие в алгоритме управления независимых или слабо зависимых частей – логически обособленных потоков управления.
Поскольку программы пишутся человеком и исключительно для человека, то в силу особенностей человеческой психики языки должны быть просты в изучении. Кроме того, языки должны предоставлять механизмы структуризации алгоритма (в нашем случае – языковые средства организации совместного функционирования логически параллельных частей) и механизмы абстрагирования (в нашем случае –понятийный переход от датчиков и исполнительных органов к целевому технологическому процессу). Т.е. программа должна быть организована в виде обозримых, информационно-изолированных компонентов, возможно иерархически вложенных друг в друга, и на некотором уровне иерархии программирование должно вестись в естественных терминах технологического процесса.
Перечисленные обстоятельства обусловливают разработку специализированных языков промышленной автоматизации.
Международная электротехническая комиссия
Современные программируемые логические контроллеры (ПЛК) программируются в соответствии со стандартом Международной электротехнической комиссии. В 1993 г. Международная электротехническая комиссия выпустила в свет стандарт МЭК 61131-3. Этот международный стандарт входит в группу МЭК 61131 стандартов, в котором описаны стандартизованные языки программирования, представляющие интерес для практического использования.
Международная электротехническая комиссия – это международный орган стандартизации, создающий базовые стандарты для последующей адаптации в национальных комитетах. Что касается стандартизации языков, используемых для программирования ПЛК, то эта проблема назрела давно. К концу 80-х десяток базовых концепций на практике был представлен более сотней вариаций. Их унификация сулила ощутимый экономический эффект. Для решения этой проблемы была создана рабочая группа, состоящая из представителей ведущих игроков на рынке автоматизации, которая начала работу.
Если посмотреть на языки стандарта МЭК с точки зрения современной информатики, то каждый их них можно подвергнуть оправданной критике. Вероятно, было бы более разумным, опираясь на опыт использования наиболее популярных языков, создать один хороший универсальный язык. Эта идея не нова. Все старое программное обеспечение для контроллеров просто нужно будет переписать с нуля. В условиях конкурентного производства очень важно проводить внедрение новой техники быстро. А для этого необходимо максимально задействовать отработанные решения.
Включение в стандарт пяти языков объясняется в первую очередь историческими причинами. Разработчики стандарта столкнулись с наличием огромного количества различных вариации похожих языков программирования ПЛК. Вошедшие в стандарт языки созданы на основе наиболее популярных языков программирования наиболее распространенных в мире контроллеров. Если взять любой контроллер, работающий в современном производстве, то его программу можно перенести в среду МЭК 61131 с минимальными затратами. Речь не идет о том, что программу можно будет использовать без какой-либо правки. Безусловно, потребуется некоторая адаптация и отладка, но несравненно меньшая, чем при создании проекта с нуля.
После принятия стандарта появилась возможность создания аппаратно - независимых библиотек. Это регуляторы, фильтры, управление сервоприводом, модули с нечеткой логикой и т. д. Наиболее удачные, отработанные востребованные библиотеки становятся коммерческими продуктами.
Среди языков , вошедших в МЭК оказались:
• язык последовательных функциональных схем SFC (Sequential Function Chart) для программирования алгоритмических действий
• язык релейных диаграмм LD (Ladder Diagram) только для булевых операций
• язык функциональных блоков FBD (Functional Block Diagram) для сложных циклических операций.
• язык структурированного текста ST (Structured Text) для циклических операций и уточнения шагов SFC.
• язык инструкций IL (Instruction List) для операций низкого уровня.
Языки стандарта МЭК
1. Диаграммы SFC
Язык последовательных функциональных схем SFC (Sequential Function Chart) -это графический язык, который используется для описания последовательных операций. Происхождение - язык Grafcet (Telemechanique-Groupe Schneider).
Язык используется для описания алгоритма в виде набора связанных пар: шаг (step) и переход (transition).
Шаг представляет собой набор операций над переменными. Переход - набор логических условных выражений, определяющий передачу управления к следующей паре шаг-переход.
Процесс управления представляется в виде набора определенных шагов (автономных ситуаций), связанных переходами. SFC программа - это набор шагов и переходов, соединенных вместе направленными связями. Действия внутри шагов описаны более детально при помощи других языков (ST, IL, LD, FBD), к каждому переходу прикреплено логическое условие. Основные графические правила для SFC:
- шаги не могут следовать подряд;
- переходы не могут следовать подряд.
Основные компоненты SFC
Основными компонентами языка являются:
- шаги и начальные шаги;
- переходы;
- ориентированные связи;
- прыжок на шаг;
- схождения и расхождения;
- макро шаги.
Описание действий выполняемых во время активности шага называют вторым уровнем шага SFC. Такое описание выполняется с использованием обычно языка ST (хотя и возможно использование и других языков) и дополнительных возможностей языка SFC так называемых текстовых возможностей. К ним относятся: