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

Отладка 4diac приложений

Уровни логирования FORTE

# Запуск с подробным логированием
forte --loglevel DEBUG

# Уровни: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE

Лог FORTE

[INFO]  Starting 4diac FORTE Runtime
[INFO] Waiting for connections on port 61499
[DEBUG] FB E_CYCLE: Event EO triggered
[DEBUG] FB MY_FB: Algorithm MAIN executed
[ERROR] Connection failed: timeout

Типичные проблемы и решения

FB не получает события

Причина: Неправильное соединение или FB не запущен.

Решение:

  1. Проверьте Watch Mode — есть ли события на выходе источника?
  2. Убедитесь, что ресурс запущен (зелёный статус)
  3. Проверьте маппинг FB на правильный ресурс

Данные не обновляются

Причина: Событие приходит, но данные не сопровождают его.

Решение: В IEC 61499 данные передаются только вместе с событием. Убедитесь, что соединения по данным привязаны к нужным событиям через With ассоциации.

FORTE падает при старте ресурса

Причина: Ошибка в алгоритме или неправильный тип данных.

Решение:

# Смотрим детальный лог
forte --loglevel DEBUG 2>&1 | grep ERROR

Проблема производительности

# Профилирование на Linux
perf record -g ./forte
perf report

Удалённая отладка через IDE

  1. Run → Debug Configurations → 4diac Remote Debug
  2. Укажите IP:порт FORTE
  3. Устанавливайте точки останова на переходах ECC
примечание

Удалённая отладка замедляет выполнение — не использовать в продакшне.