Промышленные контроллеры, их понятие и сущность
18 Декабря 2009, автор: пользователь скрыл имя
Описание работы
Контрольная работа
Файлы: 1 файл
промышленные контроллеры.doc
— 315.50 Кб (Скачать файл)
Входные и выходные переменные присоединяются к блоку линиями соединения. Входные и выходные переменные присоединяются к блоку линией. Выходная функция блока может быть присоединена к входу любого другого блока.
Типовой
пример использования – алгоритмы регулирования,
обработка (например, фильтрация) аналоговых
сигналов. В качестве пользователей предполагаются
специалисты в области автоматического
регулирования с привлечением квалифицированных
системных программистов в сложных случаях.
Основные недостатки МЭК 61131.
Даже
при первом взгляде виден перекос
в выборе языков. С
одной стороны, в стандарт попадает
ассемблер (IL), с другой
стороны, чрезвычайно мощная ветка т.н.
языков машин конечных состояний FSM оказывается
за рамками рассмотрения. Другим, некорректным
и дезориентирующим пользователей, решением
МЭК стала группировка языков в едином
стандарте, что в корне отличается от общепринятых
подходов к стандартизации языков программирования.
Третьим, технически слабым, местом
стандарта стало исключение вопросов
унифицированного представления графических
языков стандарта, что автоматически обусловило
проблемы совместимости продуктов разных
производителей. Кроме этого, в стандарте
МЭК61131-3 не рассматривается вопрос привязки
алгоритма к интерфейсной аппаратуре,
которая с необходимостью присутствует
в любой системе управления.
Возможные альтернативы стандарту МЭК61131-3.
В качестве альтернативы можно попытаться использовать средства, встроенные в SCADA-системы.
Разумеется,
такое решение допустимо лишь
в некритичных задачах
В принципе, допустимо решение об использовании для задач управления языков Си/Си++. Такой подход может быть оправдан при наличии штата квалифицированных специалистов, отлаженной культуре разработки ПО и больших объемах тиражируемых изделий. Си++ предоставляет хорошие возможности для адаптации языка к широкому спектру задач, так что создание паттернов и набора классов, ориентированных на приведенную выше специфику, вполне осуществимо. Однако при использовании алгоритмического языка для задач автоматизации невозможно обеспечить должный уровень контроля корректности программ, ее семантическую целостность. Сложность подхода – высокие квалификационные требования к программистам, существенные затраты на обеспечение надежности и низкая сопровождаемость программ, трудности с вовлечением в процесс разработки конечного пользователя.
Достаточно популярно в России обсуждение т.н. switch-технологии. В основе подхода лежит известная реализация конечного автомата, в котором состояния автомата (некий набор функций) пронумерованы, а номер текущего состояния хранится в выделенной ячейке памяти. Текущая функция определяется через Си-конструкцию табличного выбора switch (этот факт и был использован при выборе названия). Дополнительно к этой базе предлагается набор приемов по разработке алгоритма, его отладке, специфицируется идентификационная система для переменных. Подход обеспечивает цикличность, логический параллелизм, достаточную свободу в организации вычислений и, несомненно, имеет право на рассмотрение как вариант “пишу на Си”. Switch-подход успешно используется в учебном процессе. К сожалению, подход нуждается в проработке методов синхронизации, структуризации и абстрагирования.
Особый интерес вызывает работа над стандартом МЭК-61499, в котором разработчики предприняли попытку преодолеть ограничения языков МЭК61131-3 и скомбинировать в одном языковом средстве и поддержку логического параллелизма, и поддержку событийности. Цель стандарта – предоставить методологию разработки сложных алгоритмов. Программные компоненты представлены функциональными блоками специального вида: кроме обычных для языка FBD входных и выходных данных, интерфейс функционального блока стандарта МЭК-61499 предполагает событийные входы/выходы. Несомненно, это нововведение частично решает проблему событийности для классических функциональных блоков. К сожалению, этот несомненно прогрессивный стандарт не поддержан ведущими производителями ПЛК, и известные в настоящий момент реализации стандарта носят скорее исследовательский характер.
Для преодоления ограничений языков МЭК61131-3 на сложность алгоритма и недостатков прямого Си подхода в Институте автоматики и электрометрии СО РАН был разработан специализированный язык программирования Reflex, который также может рассматриваться в качестве варианта. По своим свойствам язык вполне конкурентоспособен. При его разработке ставилась цель легкости освоения, сопровождения и соответствия задачам автоматизации.
Язык Reflex выполнен как диалект Си, что обеспечивает его легкое освоение. В проекте Reflex язык Си расширен понятием процесса – циклически исполняемой, параллельной сущности. Программа описывается как совокупность взаимодействующих процессов. Процессы можно запускать, останавливать, проверять их текущее состояние. Поэтому язык Reflex иногда называют “Си с процессами”. Предусмотрена гибкая структуризация алгоритма управления. Событийность алгоритма обеспечивается через механизм состояний процесса. Синтаксис Си расширен средствами синхронизации. При программировании на языке Reflex пользователь освобожден от рутинных действий и может полностью сконцентрировать свое внимание на сути создаваемого алгоритма. Математическая модель программы терминологически ориентирована на современные тенденции в образовании, что позволяет снять психологические проблемы при освоении методики.
Язык
(используется с 1990 г.) прошел серьезную
проверку в серии проектов. В частности,
в задаче автоматизации выращивания монокристаллического
кремния, предполагающей работу с типичными
для промышленной автоматизации устройствами
(сетевые интеллектуальные датчики, 4-координатную
систему перемещений, приводы, дублированную
газовакуумную станцию, систему охлаждения,
термосистему, контроль и упреждение аварийных
ситуаций, набор аналоговых и дискретных
входов).
Заключение
Несмотря на недостатки, существуют вполне определенные ситуации, когда языки МЭК 61131-3 могут быть использованы на практике. В относительно простых задачах, не предъявляющих строгих требований по надежности, языки МЭК могут оказаться экономически эффективными. Даже в ситуации, когда языки МЭК слабо подходят для практической задачи, отказ от их использования совсем не очевиден. В первую очередь, это вызвано тем обстоятельством, что конечному пользователю или системному интегратору тяжело конкурировать с мега-корпорациями, разрабатывать и поддерживать альтернативные решения. Ведь, кроме собственно языка, в среду разработки входит набор вспомогательных программ и библиотек, существенно облегчающих работу по тестированию и настройке системы. Поэтому, несмотря на недостатки, языки МЭК 61131-3 вполне допустимо использовать.
Следует добавить, что использование языков МЭК 61131-3 может обеспечить упрощение программирования и системную интеграцию, т.к. для имеющихся на рынке МЭК-средств, как правило, существуют более-менее апробированные решения, которые можно использовать в качестве прототипов вашей системы. С другой стороны, решение об использовании МЭК-средства имеет смысл предварять тщательным анализом требований задачи.
Использование
одного из языков стандарта МЭК61131-3 в реальных
проектах может быть вполне успешным,
но при условии тщательной проработки
вопроса соответствия свойств выбранного
языка и требований задачи. Существенное
преимущество МЭК 61131-3 подхода – наличие
на рынке развитых сред разработки. При
определенных обстоятельствах вполне
допустимо использовать альтернативные
средства программирования ПЛК, либо на
основе FSM, таких, как язык Reflex, либо при
известной осторожности и наличии высококвалифицированных
кадров на основе чистого Си/Си++.
Список литературы
- Анисимов Н.А., Голенков Е.А., Харитонов Д.И. Композиционный подход к разработке параллельных и распределенных систем на основе сетей Петри // Программирование. 2001. №6.
- Арнольд Д. Смысл графических стандартов: коммерческая выгода и риск // Программирование. 1996. №6.
- Зюбин В.Е. К пятилетию стандарта IEC 1131-3. Итоги и прогнозы // Приборы и системы управления. 1999. №1.
- Зюбин В.Е. Графика или текст: какой язык нужен программисту? // Открытые системы. 2004. №1.
- Любченко В. О бильярде с Microsoft Visual C++ 5.0 // Мир ПК. 1998. № 1.
- Петров И.В. Стандартные языки и приемы прикладного программирования // М.: СОЛОН-Пресс. 2004.
- Шалыто А.А., Туккель Н.И. SWITCH-технология автоматный подход к созданию программного обеспечения “реактивных” систем // Программирование.
- 2001. №5.
- Шопырин Д.Г., Шалыто А.А. Объектно - ориентированный подход к автоматному программированию. 2003.
- Яков Розенберг Динамическая модификация алгоритмов. 2003.
- PLCopen
Устав Ассоциации. 1997. (http://www.PLCopen.org/
artass.htm)