Разработчики: | 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) выводит перечень всех блокированных переменных.Как с помощью EvaProject и EvaWiki построить прозрачную бесшовную среду для успешной работы крупного холдинга
Функция статуса контроллера (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 |
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Бипиум (Bpium) (10)
Другие (389)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
КРИТ (KRIT) (2)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (592, 304)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Сбербанк (1, 2)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Другие (9, 9)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
Солар (ранее Ростелеком-Солар) (1, 6)
Мобильные ТелеСистемы (МТС) (1, 4)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Robin (Робин) (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Оператор Газпром ИД (ГИД) (1, 1)
Другие (12, 12)
Распределение систем по количеству проектов, не включая партнерские решения
Solar appScreener (ранее Solar inCode) - 48
Hyperledger Fabric - 23
Windows Azure - 20
FIS Platform - 15
Форсайт. Мобильная платформа (ранее HyperHive) - 12
Другие 324
Solar appScreener (ранее Solar inCode) - 8
FIS Platform - 4
Парадокс: MES Builder - 2
Java - 2
Siemens Xcelerator - 2
Другие 22
Solar appScreener (ранее Solar inCode) - 11
BSS Digital2Go - 3
Форсайт. Мобильная платформа (ранее HyperHive) - 3
Cloud ML Space - 2
Nexign Microservices Framework - 1
Другие 8