Автор работы: Пользователь скрыл имя, 18 Декабря 2009 в 10:25, Не определен
Контрольная работа
Входные и выходные переменные присоединяются к блоку линиями соединения. Входные и выходные переменные присоединяются к блоку линией. Выходная функция блока может быть присоединена к входу любого другого блока.
Типовой
пример использования – алгоритмы регулирования,
обработка (например, фильтрация) аналоговых
сигналов. В качестве пользователей предполагаются
специалисты в области автоматического
регулирования с привлечением квалифицированных
системных программистов в сложных случаях.
Основные недостатки МЭК 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, либо при
известной осторожности и наличии высококвалифицированных
кадров на основе чистого Си/Си++.
Список литературы
Информация о работе Промышленные контроллеры, их понятие и сущность