From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Documents/How to/Debug and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська

Автор: Роман Савоченко

Якщо Ви суворо дотримуєтесь посібнику зі швидкого старту то Ви не зустрінете жодних проблем, однак якщо Ви робите щось своє тоді Вам може знадобитися деяке налагодження. OpenSCADA надає широкі можливості налагодження та виявлення проблем програмування у загальному користувацькому просторі OpenSCADA та проблем самої OpenSCADA та її частин.

Основні підходи користувацького налагодження передбачають:

  • Створення зовнішніх атрибутів для огляду за проміжними значеннями та спостереження за поточним контекстом виконання.
  • Створення налагоджувальних повідомлень, також для огляду за проміжними значеннями та спостереження за послідовністю виконання.

Основні механізми налагодження розширено у останніх версіях OpenSCADA на предмет:

  • Користувацького контролю за налагодженням, за посередництвом категорії налагоджувального повідомлення для частин OpenSCADA та повідомлень простору користувача.
  • Специфічне налагодження та оточення діагностики деяких частин OpenSCADA, таких як: джерела даних (об'єкти контролерів) та інтерфейси СВУ (проекти СВУ).

1 Налагодження поточного контексту виконання

Цей метод налагодження передбачає спостереження за контекстом виконання за значеннями змінних, включаючи додання проміжних значень, для деталізації.

Потоковий контекст виконання процедур Збору Даних Ви можете спостерігати на відповідній сторінці об'єкту виконуваного контексту на кшталт: вкладка "Атрибути" логічного рівня параметрів (Рис. 1), вкладка "Обчислення" обчислювача заснованого на Java (Рис. 2) та подібне. Для додання деяких проміжних значень Ви можете тимчасово додати (або встановити режим атрибуту "Тільки для читання") та підключити деякі атрибути до шаблону або додати та прив'язати деякі ВВ до функції.

Рис. 1. Вкладка "Атрибути" параметру Логічного рівня.
Рис. 2. Вкладка "Обчислення" обчислювача заснованого на Java.

Потоковий контекст виконання СВУ процедур (процедури віджетів) Ви можете спостерігати на вкладці "Атрибути" відповідної сторінки або віджета сеансу виконуваного проекту (Рис. 3). Для додання деяких проміжних значень Ви можете тимчасово додати та підключити низку атрибутів до віджету/сторінки.

Рис. 3. Вкладка "Атрибути" сторінки або віджету сеансу виконуваного проекту.

2 Налагодження послідовності виконання

Даний метод налагодження передбачає розташування та/або включення налагоджувальних повідомлень та подальше спостереження за ними у загальному інтерфейсі архівації та спостереження повідомлень (Рис. 4) або у відповідному інтерфейсі частини OpenSCADA:

  • Вкладка "Діагностика" об'єкту контролера джерела даних (Рис. 5).
  • Вкладка "Діагностика" об'єкту проекту СВУ у конфігураторі (Рис. 6) або властивостях проекту режиму розробки UI.Vision (Рис. 7).
Рис. 4. Загальний інтерфейс архівації та спостереження повідомлень.
Рис. 5. Вкладка "Діагностика" об'єкту контролера джерела даних.
Рис. 6. Вкладка "Діагностика" об'єкту проекту СВУ у конфігураторі.
Рис. 7. Вкладка "Діагностика" властивостей проекту режиму розробки UI.Vision.

Для додання повідомлень рівня налагодження, або інших рівнів, до своєї процедури Ви можете використовувати наступні функції:

  • Загальне: SYS.message(), SYS.mess{Debug,Info,Note,Warning,Err,Crit,Alert,Emerg}() — для формування загальних повідомлень з довільною категорією, які переважно доступні для спостереження із загального інтерфейсу архівації та спостереження повідомлень (Рис. 4).
  • Загальне: SYS.*.messSys() — для формування системних повідомлень програми зі шляхом вузла у якості категорії та з читабельним шляхом перед повідомленням. Повідомлення будуть доступні для спостереження у відповідному інтерфейсі діагностики частини OpenSCADA (Рис. 5, 6, 7).
  • СВУ: this.mess{Debug,Info,Note,Warning,Err,Crit,Alert,Emerg}() — для формування системних повідомлень програми з категорією, як шлях віджету. Повідомлення будуть доступні для спостереження з інтерфейсу діагностики СВУ (Рис. 6, 7).

At.png Налагоджувальні повідомлення (суфікс "Debug" або рівень 0), на останніх версіях OpenSCADA, будуть доступні для спостереження тільки після включення налагодження: встановлення поля "Найменший рівень" у "Налагодження (0)" (Рис. 8) та обрання категорії повідомлень (Рис. 9), детальніше читайте тут! Включення та виключення налагоджувальних повідомлень дозволяє вставляти налагоджувальні повідомлення у процедури на постійній основі, з відповідною категорією розташування. Всі інші, неналагоджувальні, повідомлення будуть відображатися завжди, для рівнів вище або рівним вказаним глобально (Рис. 8).

Fig. 8. Встановлення поля "Найменший рівень" у "Налагодження (0)".
Fig. 9. Обрання категорій вузлів для налагодження та налагоджувальних повідомлень.

At.png Внутрішні або системні частини об'єкту контролера джерела даних включаються для діагностики незалежно, встановленням властивості "Рівень" у "Налагодження (0)" на відповідному інтерфейсі діагностики (Рис. 5).