Перейти к основному содержимому

Шаг 1 — Использование 4diac локально (Blinking)

Источник

Эта страница является переводом официальной документации Eclipse 4diac, распространяемой по лицензии EPL-2.0. Оригинальный источник: eclipse-4diac/4diac-documentation.

Эта страница является частью пошагового руководства по основным возможностям 4diac IDE.

  1. Обзор 4diac IDE
  2. Использование 4diac локально (Blinking) (вы здесь)
  3. Распределённые приложения
  4. Удалённое развёртывание
  5. Создание собственных типов Function Block

В этом туториале вы создадите простое приложение Blinking — «Hello World» в мире автоматизации. Оно демонстрирует ключевые аспекты рабочего процесса 4diac IDE. Приложение работает локально, без подключения к ПЛК или внешнему оборудованию. Архитектура показана ниже.

Архитектура локального запуска

После изучения Шага 0 переключитесь в системную перспективу с помощью кнопки System.


Создание новой системы IEC 61499

  1. В левом верхнем углу системной перспективы находится главное меню. Создайте новый проект: File → New → 4diac IDE Project...
  2. Следуйте инструкциям мастера создания. В рамках данного руководства назовём систему BlinkTest.

Создание новой системы IEC 61499

Система появится в System Explorer слева. Раскройте дерево, кликнув на BlinkTest. Вы увидите три элемента:

  • BlinkTestApp — автоматически созданное начальное управляющее приложение. Имя можно изменить. Здесь находится ваше приложение.
  • System Configuration — определение устройств в системе.
  • Type Library — все доступные Function Blocks для данной системы.

По умолчанию новые системы содержат копию типов из Type Library. Если нужны другие типы (например, из другого проекта или другого инструмента IEC 61499), их файлы можно добавить, скопировав в нужную папку проекта. Type Navigator позволяет перетаскивать типы между проектами и внутри проекта.


Двойной клик на Application в System Explorer открывает Application Editor в области редактора.

  1. Перетащите следующие Function Blocks (FB) в редактор. Откройте палитру (если ещё не открыта) в правой части области редактора, нажав стрелку влево, или используйте Type Library в System Explorer. Все три FB находятся в папке events:

    • E_CYCLE
    • E_SWITCH
    • E_SR

    Также можно дважды кликнуть на область редактора и найти FB через поиск.

    Function Blocks для примера Blink

    подсказка

    Имя в центре FB — это его тип. Ctrl+клик на нём открывает определение типа, где видны интерфейс и принцип работы. Проверьте E_SWITCH и E_SR, перейдите на вкладку ECC, чтобы понять их поведение. Имя вверху FB — имя экземпляра. Два FB не могут иметь одинаковое имя экземпляра. Дважды кликните на него, чтобы изменить для лучшей организации приложения.

  2. Создайте соединения между FB.

    Событийные (зелёные, в верхней части FB) и данные-соединения (синие, в нижней части) создаются перетаскиванием от выхода к входу. Помните: событийные и данные-соединения не смешиваются. Событийные соединения поддерживают fan-in и fan-out. Данные-соединения поддерживают только fan-out.

    FB с соединениями для примера Blink

    Полезные подсказки:

    • При наведении на FB или конец соединения появляется информация о нём.
    • Попытка соединить несовместимые типы данных вызовет красную ошибку в строке состояния внизу IDE.
    • Выбранные FB можно параметризовать в Properties View внизу.
    • Цвета соединений можно изменить в Window → Preferences → 4diac IDE.
  3. Задайте входное значение данных для E_CYCLE. Вход DT функционального блока E_CYCLE должен быть установлен:

    • Двойной клик на соединении данных в Application Editor, или
    • Выбор DT блока и изменение значения в Properties View, или двойной клик на DT и ввод значения напрямую.

    Установите значение T#1s (1 секунда).

    За�вершённая FB-сеть Blink

Приложение готово. Попробуйте понять, как оно работает. Стартовое событие будет добавлено позже при конфигурации оборудования. А пока представьте, что событие поступает на E_CYCLE.START. Каждую секунду E_CYCLE.EO генерирует событие. E_SWITCH активирует EO0 когда G равно нулю, и EO1 когда G равно единице. E_SR устанавливает Q = TRUE при событии S и Q = FALSE при событии R. Проследите поток событий и поймите, почему Q переключается (начальное значение 0).


Конфигурация оборудования

Определим устройства, присутствующие в системе. Аппаратное обеспечение моделируется в System Configuration Editor — откройте его двойным кликом на узле System Configuration в System Explorer.

Перетащите из палитры:

  1. Устройство FORTE_PC
  2. Сегмент Ethernet

Соедините их: кликните на одном и перетащите к другому. Сегмент разделён на две зоны: левая — для перемещения, правая — для соединений. Устройство соединяется кликом на строке типа (вторая строка). В устройстве уже присутствует один ресурс EMB_RES. Значение MGR_ID равное localhost:61499 задаёт IP:PORT, по которому будет работать устройство — в данном случае локально на порту 61499.

Редактор System Configuration

Цвет устройства генерируется автоматически для удобства ориентации в системе. При нескольких устройствах или сегментах сразу видно, к какому из них относится FB. Цвет можно изменить в Properties View на вкладке Appearance.

Убедитесь, что в Properties View параметр Profile установлен в HOLOBLOC.

Дадим устройству имя testee. Имена устройств помогают их различать. Изменить имя можно в Properties View или двойным кликом на нём.

примечание

Ресурс создаётся автоматически для удобства. При необходимости можно добавить дополнительные ресурсы вручную.

EMB_RES расшифровывается как Embedded Resource. Назовём его Blinky_RES.

Переименование ресурса


Конфигурационный профиль устройства

Для поддержки разных механизмов загрузки необходимо задать профиль устройства. 4diac IDE поддерживает два профиля:

  • HOLOBLOC — соответствие профилю "IEC 61499 Compliance Profile for Feasibility Demonstrations". Поддерживается всеми устройствами FORTE и устройствами FBDK старше 2009 года.
  • FBDK2 — для устройств FBDK версии 2 и выше.

Маппинг FB-сетей на устройства/ресурсы

Маппинг — это определение того, на каком устройстве будет работать каждый FB. Все замапленные FB меняют цвет заливки на цвет соответствующего устройства.

Перейдите в Application Editor, выделите все FB (кликом или прямоугольником), затем:

Правый клик → Map to... → FORTE_PC → Blinky_RES

Маппинг FB в Application Editor

Для отмены маппинга используйте контекстное меню Unmap у соответствующего FB.


Настройка ресурса

Откройте Resource Editor двойным кликом на ресурсе (Blinky_RES) в System Configuration или в дереве System Explorer.

Здесь находится белый функциональный блок START — стандартный стартовый блок EMB_RES. Он генерирует событие COLD при запуске. STOP — при переходе ПЛК в состояние останова, WARM — при возврате из останова в режим работы.

Соедините оба выхода COLD и WARM с E_CYCLE.START.

Полностью подключённый ресурс

Здесь также видны ранее замапленные FB. Можно добавить новые FB прямо здесь — они автоматически окажутся замапленными на ресурс, или можно отменить маппинг существующих.


Обзор редакторов

Перед тестированием приложения подведём краткий итог элементов, с которыми мы работали:

ЭлементСозданиеРедактированиеИмя в руководстве
SystemNew Systemтолько дочерние элементыBlinkTest
Applicationпервое — автоматически, далее через менюApplication EditorBlinkTestApp
System Configurationавтоматически, одна на системуSystem Configuration Editor
DeviceSystem Configuration EditorSystem Configuration Editortestee
ResourceSystem Configuration EditorResource EditorBlinky_RES

Развёртывание приложения в 4diac FORTE

На этом шаге приложение Blink будет развёрнуто в 4diac FORTE, работающем локально.

  1. Выберите 4diac FORTE. Вы можете собрать его самостоятельно (см. установка) или скачать готовый бинари со страницы загрузок. Укажите путь к исполняемому файлу в настройках: Window → Preferences → 4diac IDE → FORTE Preferences → FORTE Location.

    Выбор 4diac FORTE

  2. Перейдите в Deployment Perspective с помощью соответствующей кнопки.

  3. Установите порт 61499 (как задано в localhost:61499 в System Configuration).

  4. Нажмите Launch Local 4diac FORTE.

  5. В консоли должны появиться путь к FORTE и кнопка Terminate.

  6. Выберите элементы для развёртывания — в данном руководстве выберите устройство testee. При наличии нескольких устройств можно выбрать конкретные устройства и ресурсы.

  7. Нажмите кнопку Deploy.

  8. Убедитесь, что в Deployment Console появился вывод и нет красных предупреждений.

Развёртывание приложения

примечание

С помощью Runtime Launcher можно запускать среды выполнения только на локальном компьютере. Для запуска на удалённых устройствах используйте специфичные для каждого устройства средства запуска.

Deployment Console автоматически очищается перед каждой загрузкой. Также очистить консоль можно кнопкой Очистить консоль в правом верхнем углу.

Выбрав Device или Resource, можно выполнить Clean (сброс конфигурации).

  • Delete All Resources — оставит устройство пустым.
  • Kill Device — остановит 4diac FORTE.
  • Delete Resource — удалит только выбранный ресурс.

Очистка устройства или ресурса


Мониторинг приложения

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

  1. Перейдите в Debug Perspective с помощью соответствующей кнопки.
  2. В System Explorer правый клик на системе → Monitor System.

Включение мониторинга

На иконке системы появится зелёный круг — мониторинг активен.

Чтобы отслеживать переменные:

  • Правый клик на FB → Watch All, или
  • Правый клик на переменной → Watch.

Выбор переменных для наблюдения

Данные и события отображаются в реальном времени: данные показывают текущее значение, события — количество срабатываний. Значения видны прямо на элементах или в окне Watches View.

Теперь вы видите, как true и false чередуются. Если бы к выходу контроллера было подключено реальное устройство, светодиод мигал бы с интервалом 1 секунда.

Мониторинг в режиме наблюдения

Можно принудительно задать значения входным данным или вручную сгенерировать событие: правый клик → выбрать соответствующую команду.

Принудительное задание значений


Что дальше?

  • Теперь, зная как создать централизованное решение, попробуйте распределить его: Шаг 2 — Распределённые приложения (доступен в официальной документации)
  • Шаг 0 — Обзор 4diac IDE
  • Вернуться к введению