Разработчики: | ISaGRAF Inc |
Технологии: | Средства разработки приложений |
Содержание |
ISaGRAF — инструментальная графическая среда разработки прикладных программ для программируемых логических контроллеров (ПЛК) на языках стандарта IEC 61131-3 и IEC 61499, позволяющая создавать локальные или распределенные системы управления.
Основа технологии — среда разработки приложений (ISaGRAF Workbench) и адаптируемая под различные аппаратно-программные платформы исполнительная система (ISaGRAF Runtime).
2015: ISaGRAF ACP 6.4 и ISaGRAF 6 Target
Вебинар "Новые версии: ISaGRAF ACP 6.4 и ISaGRAF 6 Target" (2015)
В вебинаре дается представление об изменениях, выполненных в среде разработки приложений для контроллеров ISaGRAF ACP 6.4 и исполнительной системе ISaGRAF 6 Target, на основе версии пакета PRDK 5.50.
2014
ISaGRAF 6.1
Программный пакет ISaGRAF - встраиваемое ПО и инструментальные средства промышленной автоматизации, совместимые со стандартами IEC 61131-3 и IEC 61499. ISaGRAF 6.1 включает в себя важные новшества в среде разработки (Workbench) и новую версию 5.3 C5 среды исполнения (firmware). Имея в своей основе мощный инструментарий Microsoft Visual Studio 2010, теперь ISaGRAF 6.1 Workbench стал гораздо быстрее, предлагает новый и усовершенствованный пользовательский интерфейс и расширенное управление пакетами.
ISaGRAF 6.1 Workbench - это модульная и гибкая среда, которая дает возможность пользователям добавлять или удалять компоненты. Каждый компонент в Workbench был разработан по технологии ISaGRAF на основе Microsoft® .NET Framework, называющейся Единой Платформой Автоматизации (ACP, Automation Collaborative Platform), и осуществляет взаимодействие при помощи этой технологии. ISaGRAF ACP обеспечивает способность добавлять или удалять различные плагины для выполнения специальных требований продукта автоматизации.
ISaGRAF 6.1 включает в себя интерфейсы программных расширений (плагинов, plugins) для добавления новых возможностей, а также плагины для реализации ряда функций, которые сделали ISaGRAF 5 таким популярным среди заказчиков по всему миру. В ISaGRAF 6.1 Workbench вновь представлен редактор IEC 61499. Другие доступные языки включают языки LD, FBD, ST, SFC и SAMA.Еще одной важной и доступной теперь функцией в этом последнем выпуске является контроль версий (Version Source Control), который обеспечивает средства для совместной работы нескольких пользователей над одними и теми же элементами (например, такими как устройство, ресурс, POU) посредством регистрации входа/выхода из системы. Это также дает возможность пользователям работать с несколькими версиями проекта, создавать резервные копии и восстанавливать целые проекты или отдельные элементы проекта и сравнивать файлы, выполненные в разных версиях.К другим новым возможностям ISaGRAF 6.1 относятся прерывание пользователя (User Interrupt), восстановление после отказа (Failover), дерево зависимостей (Dependency Tree), библиотека блоков, монитор блокировок переменных (Variable Lock Monitor) и статус контроллера (Controller Status).Поскольку разные типы приложений требуют разных типов прерываний (например, время, импульс, ввод/вывод...), реализация прерываний в ISaGRAF обеспечивается с помощью набора инструментальных средств (toolkit), который позволяет изготовителям оборудования (OEM-производителям) определить и отобразить свои прерывания в приложении ISaGRAF. Toolkit также включает в себя плагины для конфигурирования и программирования прерываний конечным пользователем.
Восстановление после отказа (Failover) - это режим работы, при котором функции системы управления принимает на себя вторичная система управления в том случае, когда главная система становится недоступной из-за отказа оборудования или при запланированном простое. Эта функция используется для того, чтобы сделать систему управления более отказоустойчивой. Функция восстановления после отказа в ISaGRAF 6.1 дает возможность пользователям модифицировать решения управления и менять условия, при которых контроллер получает или теряет управление.Плагин, реализующий дерево зависимостей (Dependency Tree), дает пользователям полный обзор всех связанных элементов в приложении, так что они могут видеть все зависимости переменных, а также восходящие и нисходящие зависимости для каждой переменной.Библиотека блоков - это усовершенствование пользовательского интерфейса, которое дает пользователям возможность перетаскивать (drag and drop ) любую функцию или функциональный блок в программу вместо осуществления выбора из селектора блоков. Функции и функциональные блоки являются контекстно-зависимыми от выбранного проекта, устройства или ресурса, они группируются по диапазону или категории, и пользователи могут также выполнять поиск названия блока.Монитор блокировок переменных (Variable Lock Monitor) выводит перечень всех блокированных переменных.Цифровизация строительства: особенности рынка, многообещающие технологии, ключевые ИТ-поставщики. Обзор TAdviser
Функция статуса контроллера (Controller Status) обеспечивает пользователей основной информацией о контроллере, включая версию проекта, с которой они работают, а также время цикла и число блокированных переменных.Новая версия 5.3 C5 Firmware имеет несколько новых шаблонов, в том числе, шаблоны Microsoft Windows и Linux для новых функций пользовательского прерывания и восстановления после отказа. К числу других новых характеристик относятся приоритеты SFC для одновременного перехода в случае OR-ветвления.В ISaGRAF 6.1 по-прежнему входит бесплатная версия, состоящая из ISaGRAF Free Firmware, работающего на платформе XP Embedded, 32- и 64-битной версии Windows XP®, Windows Vista® & Windows 7®, и полностью функционирующая версия ISaGRAF 6.1 Workbench, с помощью которой разработчики могут создавать законченные приложения. ISaGRAF Free Firmware включает в себя драйверы Modbus TCP Client, а также Modbus TCP Server.
Режим резервирования и восстановления (Failover) в ISaGRAF 6.1
В ISaGRAF 6.1 реализована поддержка режима резервирования и восстановления после отказа (Failover). Восстановление после отказа – это режим работы, при котором функции системы управления принимает на себя вторичная система управления в том случае, когда главная система становится недоступной из-за отказа оборудования или при запланированном простое. Использование этой функции повышает отказоустойчивость системы управления. Функция восстановления после отказа в ISaGRAF 6.1 дает возможность пользователям модифицировать систему управления и менять условия, при которых контроллер получает или теряет управление. В режиме Failover среда ISaGRAF 6.1 реализует следующие ключевые возможности: безударный переход на резервную машину, работа с любым типом POU (SFC, FBD, LD, ST, 61499), автоматическая загрузка проекта (одновременно на первичную и вторичную станцию), автоматическое переключение из Workbench на нужную станцию в режиме отладки, автоматическое переключение OPC-серверов. В данный момент не реализована поддержка хранимых (retain) переменных.
Рассмотрим реализацию режима Failover в ядре исполнительной системы ISaGRAF. После загрузки приложения на активный контроллер автоматически выполняется его передача на резервный контроллер. Оба контроллера начинают параллельно выполнять одно и то же приложение. Входные переменные передаются из основного контроллера в резервный контроллер перед каждым циклом выполнения. В конце каждого цикла выполняется проверка по вычисленной контрольной сумме, чтобы гарантировать целостность данных и результатов. В случае расхождения на резервный контроллер передается вся область данных активного (основного) контроллера. При сбое на активном контроллере резервный контроллер становится активным (основным) и начинает управлять процессом. Для связи между основным и резервным контролером по умолчанию используется сеть TCP/IP, но могут быть использованы и другие сети (последовательный канал, UDP, оптоволокно). Допускается настройка условия, при котором происходит смена основного контроллера. Конфигурирование Failover состоит из установки следующих параметров: IP-адрес, номер порта и значения тайм-аутов.
Результаты тестирования режима Failover компанией ISaGRAF Inc.
Условия тестирования: 85 тыс. переменных пользователя, 4 тыс. входных переменных, объем TIC-кода равен 247k, размер буферов связи 64k, основной контроллер работает под управлением ОС Windows 7, резервный под управлением VMware ОС Windows XP. Результаты тестирования: время цикла 1 мс с отключенным режимом Failover, время цикла 13 мс с включенным режимом Failover и полной синхронизацией данных (88102 байта в 2 фреймах), время цикла 6 мс с включенным режимом Failover и частичной синхронизацией данных (4127 байт в одном фрейме).
Результаты тестирования режима Failover на контроллерах LinPAC (ICP DAS) специалистами компании «ФИОРД»
Исходные данные:
- 1. Контроллер LP-5131 (ICP DAS) – 1 шт.
- 2. Контроллер LP-8441 (ICP DAS) – 1 шт.
- 3. Исполнительная система ISaGRAF5++ ACE Target
- 4. Среда разработки проектов ISaGRAF Workbench v. 6.1.
Для проверки опции резервирования в среде разработки приложений ISaGRAF Workbench v 6.1 был создан проект и программа, где переменная-счётчик на каждом цикле (200мс) инкрементируется, включен режим Failover и значения таймаутов выставлены по умолчанию.
Загрузка проекта осуществлялась на первичный контроллер (`Primary Device`), после чего встроенный механизм Failover передавал код проекта на вторичный контроллер (`Secondary Device`) автоматически. Каждый из контроллеров находился в одном из трех состояний: Running (активный), Standby (резервный), Error (ошибка). Но в каждый момент времени один и только один из них находился в состоянии Running (активный).
Моделирование ситуаций.
Ситуация 1.
Остановка вторичного контроллера, его статус меняется с Standby на Error. Перезапуск вторичного контроллера – его статус снова Standby. Вывод: При работающем первичном контроллере вторичный контроллер восстанавливает свой статус после перезагрузки.
Ситуация 2:
Остановка первичного контроллера: статус первичного контроллера Running меняется на Error; статус вторичного контроллера Standby меняется на Running. Перезапуск первичного контроллера приводит к тому, что статус первичного контроллера меняется с Error на Standby, первичный контроллер становится резервным. Вывод: После выхода из строя первичного контроллера вторичный контроллер становится активным контроллером. После восстановления или перезагрузки первичного контроллера, вторичный контроллер остается активным до момента его остановки или выхода из строя.
Ситуация 3:
Разрыв физической связи(Ethernet) между контроллерами без остановки контроллеров. Статус первичного контроллера из Running переходит в Error, статус вторичного контроллера переходит из Standby в Running.
После восстановления связи между контроллерами статус вторичного контроллера из Running переходит в Standby, а статус первичного контроллера из Error переходит в Running. Вывод: При обрыве связи активным становится вторичный контроллер, но после её восстановления первичный контроллер снова становится активным, а вторичный контроллер возвращается в режим резервного.
NB. На данный момент нельзя использовать в проекте одновременно прерывания и Failover.
Заказчик | Интегратор | Год | Проект |
---|---|---|---|
- Actia | Фиорд (Fiord) | 2018.05 | ![]() |
- Газпром трансгаз Югорск | Калининградгазприборавтоматика (КГПА), Фиорд (Fiord) | 2016.04 | ![]() |
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)