Мегаобучалка Главная | О нас | Обратная связь


Функциональные диаграммы FBD



2019-12-29 398 Обсуждений (0)
Функциональные диаграммы FBD 0.00 из 5.00 0 оценок




FBD (Function Block Diagram) — это графический язык программирования. Диаграмма FBD очень напоминает принципиальную схему электронного устройства на микросхемах. Позволяет создать программную единицу практически любой сложности на основе стандартных кирпичиков (арифметические, тригонометрические, логические блоки, PID-регуляторы, блоки, описывающие некоторые законы управления, мультиплексоры и т.д.). Это языковое средство использует технологию инкапсуляции алгоритмов обработки данных и законов регулирования. Все программирование сводится к "склеиванию" готовых компонентов. В результате получается максимально наглядная и хорошо контролируемая программная единица.

Этот язык позволяет пользователю строить сложные процедуры обработки данных и управления объектами. В языке используются существующие библиотеки функций и связывание их в функциональную схему или диаграмму решающую данную задачу. Основной формой представления функциональных блоков являются следующие изображения.

 

Входные и выходные переменные присоединяются к блоку линиями соединения. Входные и выходные переменные присоединяются к блоку линией. Выходная функция блока может быть присоединена к входу любого другого блока.

 Типовой пример использования – алгоритмы регулирования, обработка (например, фильтрация) аналоговых сигналов. В качестве пользователей предполагаются специалисты в области автоматического регулирования с привлечением квалифицированных системных программистов в сложных случаях.

Основные недостатки МЭК 61131 .

Даже при первом взгляде виден перекос в выборе языков. С одной стороны, в стандарт попадает ассемблер (IL), с другой стороны, чрезвычайно мощная ветка т.н. языков машин конечных состояний FSM оказывается за рамками рассмотрения. Другим, некорректным и дезориентирующим пользователей, решением МЭК стала группировка языков в едином стандарте, что в корне отличается от общепринятых подходов к стандартизации языков программирования. Третьим, технически слабым, местом стандарта стало исключение вопросов унифицированного представления графических языков стандарта, что автоматически обусловило проблемы совместимости продуктов разных производителей. Кроме этого, в стандарте МЭК61131-3 не рассматривается вопрос привязки алгоритма к интерфейсной аппаратуре, которая с необходимостью присутствует в любой системе управления.

Возможные альтернативы стандарту МЭК61131-3.

В качестве альтернативы можно попытаться использовать средства, встроенные в SCADA-системы.

Разумеется, такое решение допустимо лишь в некритичных задачах супервизорного контроля. В большинстве случаев штатная эксплуатация систем управления не предусматривает наличие средств проектирования алгоритмов. Стандартный подход – это создание базового алгоритма с возможностью его настройки через ограниченное число доступных пользователю параметров. Это позволяет проектировать базовый алгоритм управления квалифицированными специалистами и адекватными языковыми средствами, а сопутствующую этому сложность “скрывать” за дружественным интерфейсом оператора, который создается, например, с помощью тех же 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, либо при известной осторожности и наличии высококвалифицированных кадров на основе чистого Си/Си++.

Список литературы

1 Анисимов Н.А., Голенков Е.А., Харитонов Д.И. Композиционный подход к разработке параллельных и распределенных систем на основе сетей Петри // Программирование. 2001. №6.

2 Арнольд Д. Смысл графических стандартов: коммерческая выгода и риск     // Программирование. 1996. №6.

3 Зюбин В.Е. К пятилетию стандарта IEC 1131-3. Итоги и прогнозы                  // Приборы и системы управления. 1999. №1.

4 Зюбин В.Е. Графика или текст: какой язык нужен программисту?                   // Открытые системы. 2004. №1.

5 Любченко В. О бильярде с Microsoft Visual C++ 5.0 // Мир ПК. 1998. № 1.

6 Петров И.В. Стандартные языки и приемы прикладного программирования // М.: СОЛОН-Пресс. 2004.

7 Шалыто А.А., Туккель Н.И. SWITCH-технология автоматный подход к созданию программного обеспечения “реактивных” систем                              // Программирование.

8 2001. №5.

9 Шопырин Д.Г., Шалыто А.А. Объектно - ориентированный подход к автоматному программированию. 2003.

10 Яков Розенберг Динамическая модификация алгоритмов. 2003.

11 PLCopen Устав Ассоциации. 1997. (http://www.PLCopen.org/artass.htm)



2019-12-29 398 Обсуждений (0)
Функциональные диаграммы FBD 0.00 из 5.00 0 оценок









Обсуждение в статье: Функциональные диаграммы FBD

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (398)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)