Рассмотрим инновационный стандарт IEC61499, предназначенный для унификации правил создания распределенных приложений и применения функциональных блоков в измерительных и управляющих системах, и первую в мире реализацию этого стандарта в среде программирования контроллеров ISaGRAF.
Вначале вкратце остановимся на самом стандарте IEC61499 и истории его создания. Работа по разработке стандарта IEC61499 велась в рамках международной электротехнической комиссии МЭК (IEC, International Electrotechnical Commission) в рабочей группе WG63 технического комитета TC65. Обсуждение будущего стандарта IEC61499 началось в октябре 1990 года, активная работа над ним - в марте 1992 года, период апробации подготовленного проекта стандарта - в марте 2001 года и, наконец, завершение разработки - в 2005 году. Стандарт IEC61499 разделен на четыре части, но реализация стандарта IEC61499 в ISaGRAF основывается на первой и второй частях стандарта:
· Часть 1, Архитектура и функциональные блоки,
· Часть 2, Требования к программным средствам.
Официальный сертификат о полном соответствии ISaGRAF 5 стандарту IEC61499 выдан независимой компанией T?V Rheinland 10 июля 2007 года. Соответствующий список документов по сертификации ISaGRAF 5 доступен на сайте компании T?V Rheinland (http://www.tuvdotcom.com/) .
Весьма полезным документом при знакомстве со стандартом IEC61499 является сборник ответов на наиболее часто задаваемые вопросы по этому стандарту [1].
Стандарт IEC61499 определяет РАСПРЕДЕЛЕННУЮ, УПРАВЛЯЕМУЮ СОБЫТИЯМИ архитектуру и требования к программному инструментарию для инкапсуляции, встраивания, развертывания и интеграции программного обеспечения в интеллектуальных устройствах, машинах и системах. В основу проекта были положены такие стандарты, как IEC61131-3 и IEC61158 (Fieldbus).
Стандарт IEC61499 определяет распределенную модель как разбиение различных частей промышленного процесса автоматизации и сложной системы управления на функциональные модули, называемые функциональными блоками. Эти функциональные блоки могут распределяться и взаимодействовать по коммуникационной сети через множество контроллеров.
Приложение становится распределенным путем размещения экземпляров функциональных блоков на различных ресурсах в одном или более устройствах. Функциональные блоки являются атомарными элементами распределения. Приложение со многими функциональными блоками отображается как один элемент, хотя экземпляры функциональных блоков распределяются по ресурсам и устройствам.
Ключевой особенностью функциональных блоков IEC61499 является управление ими с помощью внешних событий, а не только с помощью входных данных. Рассмотрим пример с трамваем, в котором есть распределенное приложение, управляющее открыванием/закрыванием нескольких дверей в разных вагонах (рис.1). Все функциональные блоки IEC61499 одновременно, выполняют действие “Открыть” или “Закрыть” дверь, когда получено событие “Открыть” или “Закрыть”
Рис.1 Пример представления распределенного приложения управления дверьми в трамвае на основе функциональных блоков IEC61499
На рис.2 показан другой пример: система управления, имеющая много устройств, соединенных вместе с помощью управляющей коммуникационной сети. Также на рис.2 показаны приложения, распределенные по нескольким устройствам.
Рис 2. Пример системы управления с распределенными приложениями
Многие устройства соединяются вместе через коммуникационную сеть. В ISaGRAF устройство – это аппаратное средство (контроллер), способное выполнять цикл управления. Устройство – это контроллер, имеющий процессор, память и который также может присоединяться к коммуникационной сети, когда он используется в распределенном приложении. Устройства решают задачу управления или измерения и могут быть в составе интеллектуального исполнительного механизма, такого как клапан или расходометр. Любая полевая шина может работать как коммуникационная сеть. Среди часто используемых полевых шин (протоколов) – Profibus, DeviceNet, Industrial Ethernet. Некоторые сети являются более быстрыми, в то время как другие – более детерминированными. Выбор сети зависит от процесса управления.
Приложение может содержать один или более циклов управления. Например, ввод данных выполняется на одном устройстве, управление – на втором и преобразование выходных данных – на третьем устройстве. Эти совместные циклы управления разделяют данные предсказуемым и детерминированным образом, описанном в стандарте IEC61499. Стандарт IEC61499 вводит следующие понятия:
System (Система): Набор устройств, связанных и взаимодействующих друг с другом посредством коммуникационной сети, состоящей из сегментов и соединений.
Device (Устройство): Независимая физическая единица, способная к выполнению одной или более определенных функций в конкретном контексте и ограниченная интерфейсами устройства.
Resource (Ресурс): Функциональная единица, имеющая независимое управление её работой и которая обеспечивает различные сервисы для приложений, включая планирование и выполнение алгоритмов.
Application (Приложение): Программная функциональная единица, которая является специфичной для решения проблемы в системе управления и измерения. Приложения могут быть распределены между устройствами и могут взаимодействовать с другими приложениями.
Function block (Функциональный блок, ФБ): Программная функциональная единица, которая является наименьшим элементом в распределенной системе управления. Функциональный блок использует машину состояний (state machine) с диаграммой управления выполнением (execution control chart - ECC) для задания алгоритма работы ФБ.
На рис. 3 показана распределенная модель системы в соответствии со стандартом IEC61499.
Рис.3 Общая диаграмма системы в стандарте IEC61499
Рис.4 Представление распределенного приложения в ISaGRAF виде Модели Системы
В ISaGRAF каждая система может быть распределенной, и это может быть показано средствами ISaGRAF с различных точек зрения. Например, может быть показана Модель Системы как на рис.4. Все пиктограммы функциональных блоков (желтые символы) справа от имени приложения указывают на распределение по устройствам. Пиктограмма, показанная ниже устройства, означает, что программа имеет часть, выполняющуюся в этом устройстве. Отсутствие пиктограммы ниже устройства означает, что программа не имеет части, выполняющейся на этом устройстве. Коммуникационная сеть соединяет вместе устройства, которые являются частью распределенной системы. Коммуникационная сеть отображается в ISaGRAF, если она сконфигурирована в системе. Причем часть устройств могут использовать одну коммуникационную сеть, в то время как другие устройства – другую сеть. На рис.4 в качестве коммуникационной сети выступает Ethernet. Элементы ISaGRAF используют коммуникационную сеть в прозрачном режиме. При построении и компиляции приложения генерируются все требуемые для связи параметры.
Рис. 4 показывает систему, состоящую из устройств, коммуникационной сети и приложений, в виде Модели Системы в ISaGRAF. Приложение Application_A имеет части, работающие на первом, втором и третьем устройстве. Приложение Application_B имеет части, выполняемые на двух последних устройствах системы. Приложение Application_C работает только на первом устройстве. Каждая часть Application_A обменивается соответствующей информацией через коммуникационную сеть. Аналогично и для Application_B.
В представлении в виде Модели Системы двойной клик на приложении отображает его схематический вид. Схематический вид – это Модель Приложения (рис.5). В этом виде нет границ устройств. Это одна общая схема для распределенного приложения.
Рис.5 Представление Модели Приложения в ISaGRAF в соответствии с IEC61499.
Каждому функциональному блоку в приложении может присваиваться ресурс, который одновременно присваивается и устройству.
Событие и сигналы данных между функциональными блоками очень просто рисовать. Генератор распределения ISaGRAF создает все требуемые связи между этими сигналами. Эти связи обмениваются информацией прозрачно по коммуникационному интерфейсу. Средства ISaGRAF заботятся обо всех аспектах распределения приложения. В частности, в коммуникационный интерфейс и в алгоритм выполнения добавляются задержки, которые должны браться в расчет во время проектирования распределенного приложения.
Прежде всего, вспомним, как определялись функциональные блоки в стандарте IEC 61131-3 (рис.6). В IEC 61131-3 функциональный блок имел входные и выходные переменные. Входные переменные отображались слева от ФБ, выходные – справа. Был определён целый ряд стандартных (элементарных) функциональных блоков для различных типов данных. Алгоритм для стандартных функциональных блоков был жестко фиксирован, и сами стандартные ФБ составляли библиотеку стандартных функциональных блоков ISaGRAF. Пользователь мог создать свой собственный функциональный блок, определив его входные и выходные переменные, а также написав алгоритм преобразования входных переменных в выходные на определенном языке IEC 61131-3 (например, на языке структурного текста ST). В Приложении D стандарта IEC61499 описано преобразование функциональных блоков IEC 61131-3 в IEC 61499. Такой пример преобразования приведен на рис.6
Рис.6 Пример функционального блока в IEC 61131-3 (слева) и его преобразования в ФБ IEC 61499 (справа)
Различают базовые (рис.7) и композиционные (рис.8) функциональные блоки IEC61499. Композиционные функциональные блоки – это набор базовых функциональных блоков IEC61499. Для определения базового функционального блока IEC61499 надо задать следующие элементы: входные и выходные переменные, входные и выходные события, диаграмму управления выполнением (ECC – Execution Control Chart) и собственно алгоритм блока. Диаграмма управления выполнением – это описание реакций на внешние воздействия, в котором задается, что именно нужно сделать, если произошло конкретное событие. Входные события инициируют и управляют выполнением функционального блока IEC61499. Помимо внешних (входных) событий указывается (при необходимости), какие события будут генерироваться при окончании выполнения функций-обработчиков. Наиболее удобным языком для создания диаграмм управления выполнением является SFC (язык последовательных функциональных схем). Для описания алгоритма преобразования входных данных в выходные (алгоритма блока) используются языки стандарта IEC61131-3 (FBD, SFC, LD, ST, IL) и те же типы данных, что в IEC61131-3.
Рис 7. Пример базового функционального блока IEC61499
Рис.8 Формирование композиционного функционального блока IEC61499 из базового ФБ
Процесс выполнения функционального блока IEC61499 описывается следующим образом на основе анализа диаграммы управления выполнением.
· Инициализация и вызов экземпляра для проверки входного события
· Проверка на появление События
· Выполнение алгоритма функционального блока
· Генерация выходного события
В стандарте определены 18 типов функциональных блоков, некоторые из которых приведены на рис. 9. ISaGRAF v.5 поддерживает все типы функциональных блоков IEC61499.
Рис.9 Фрагмент библиотеки базовых функциональных блоков IEC61499
Для каждого типа функционального блока в IEC61499 дается его диаграмма управления выполнением. Такой пример приведен на рис. 10. В дополнение к стандартным обозначениям на языке SFC выходной сигнал EO на этой диаграмме обозначается прямоугольником с двойной правой стороной.
Рис. 10 ФБ «Разрешающее распространение события» и его диаграмма состояний в IEC61499
Экспериментальная проверка построения распределенной системы из 72 контроллеров с помощью ISaGRAF 5
Для экспериментальной проверки стандарта IEC61499 и его реализации в ISaGRAF компанией ICS Triplex использовались 72 низкостоимостных контроллеров NetBurner MOD5272-100CR (с микропроцессором Motorola ColdFire 5272), смонтированных в три группы. Каждый микроконтроллер оборудовался двумя кнопками и 2 переключателями в качестве входных сигналов и двумя зелеными и желтыми лампочками в качестве выходных сигналов. Эти контроллеры имеют Ethernet вход и выполняют операционную систему µC/OS. ISaGRAF был портирован на эти контроллеры и все коммуникации осуществлялись через TCP/IP.
Для убедительной демонстрации было разработано три приложения [1]. Все приложения использовали одни и те же аппаратные средства, описанные выше. Это были следующие приложения:
• Приложение по распространению сигнала: оно использовалось для измерения распространения сигнала и данных в приложении.
• Приложение симуляции поезда: это приложение использовалось для демонстрации использования базовых и композиционных функциональных блоков IEC61499 в симуляторе реальной системы.
• Приложение “оркестр”: оно демонстрировало мощь и гибкость IEC61499 в условиях реального мира.
Подробные результаты эксперимента изложены в статье [2]. Общий вывод по результатам тестирования показал следующее: реализация в ISaGRAF 5 стандарта IEC61499 позволяет использовать его для построения распределенных приложений в системах с большим числом контроллеров, давая в руки разработчиков такое очень мощное и гибкое программное средство, каким является ISaGRAF. На сегодняшний день в мире не существует другого аналогичного по своей функциональности программного средства программирования распределенных приложений в среде контроллеров.
Стандарт IEC61499 на базе ISaGRAF начинает воплощаться в реальные изделия. Первым в мире контроллером на основе ISaGRAF 5, в котором поддерживаются одновременно IEC61131 и IEC61499 стал контроллер Kingfisher PLUS+RTU компании RTUnet (Австралия, http://www.rtunet.com/products/kingfisher-plus).
Другим примером реализации контроллера с поддержкой ISaGRAF 5 и стандарта IEC61499 (http://www.isagraf.com/pages/newsletter/july2007.htm) являются встраиваемые web-контроллеры серии BECK IPC@CHIP SC123/SC143 компании Beck IPC GmbH (http://www.beck-ipc.com ).
Заключение: особенности и преимущества стандарта IEC61499
• Контролирует поток решений при управлении распределенной системой
• Гарантирует целостность распределенного приложения
• Обеспечивает целостность и непротиворечивость данных
• Предоставляет средства, гарантирующие надежную синхронную работу устройств
• Устраняет потребность в отдельных схемах синхронизации алгоритмов
• Значительно облегчает разработку надежных систем управления
• Существенно облегчает обслуживание распределенных систем управления
• Предоставляет механизм для распределения приложения и контроля за его выполнением в системах со многими устройствами
Видео-уроки по ISaGRAF 6 и ACP на английском языке
1. IEC 61499 Frequently Asked Questions. www.isagraf.com/pages/documentation/IEC%2061499%20FAQs.pdf
2. Julien Chouinard, An IEC 61499 configuration with 70 controllers; challenges, benefits and a discussion on technical decisions, http://www.icstriplex.ca/pages/documentation/ETFA07_SS1_Final17Oct2007.pdf
Инновационный стандарт IEC 61499 (”Function blocks for industrial-process measurement and control systems”), предназначенный для унификации правил создания распределенных приложений и применения функциональных блоков в измерительных и управляющих системах, еще недостаточно известен специалистам в области систем автоматизации. Поэтому представляют несомненный интерес публикации в СМИ по этому стандарту, подготовленные ведущими специалистами в этой области. В отечественной печати основное внимание уделено реализации этого стандарта в системе программирования ISaGRAF, которое достаточно полно отражено в статьях сотрудников компании «ФИОРД» на сайте «ISaGRAF-Россия».
Материалы по стандарту IEC 61499 и доступны для скачивания (в категории "Документация"). Архив материалов включает следующие документы:
Новые продукты
Уникальный пакет коммерческих и технических предложений для поставщиков и пользователей программируемых логических контроллеров (ПЛК) LinPAC и XPAC компании ICP DAS.
FIO-PAC Suite - уникальный пакет коммерческих и технических предложений для поставщиков и пользователей программируемых логических контроллеров LinPAC и XPAC компании ICP DAS.
http://isagraf.ru/isagraf-segodnya/isagraf-6-i-fio-pac-suite
Прототип ПЛК на базе отечественного 28-нм процессора Байкал-Т1
Прототип ПЛК на базе отечественного 28-нм процессора Байкал-Т1
WebDisCo
Если Вы заметили ошибку, то, пожалуйста, выделите фрагмент текста с помощью клавиатуры и нажмите Ctrl+Enter
© 1992-2024 Компания "ФИОРД". Все права защищены. При использовании материалов сайта ссылка на источник обязательна.