Модуль | Ім'я | Версія | Ліцензія | Джерело | Мови | Платформи | Тип | Автор |
---|---|---|---|---|---|---|---|---|
DAQGate | Шлюз джерел даних | 2.13 | GPL2 | daq_DAQGate.so | en,uk,ru,de | x86,x86_64,ARM | DAQ | Роман Савоченко |
Опис | ||||||||
Дозволяє виконувати шлюзування джерел даних віддалених OpenSCADA станцій на локальну.
Спонсорування, асинхронного запису, вдосконалення загалом та у повідомленнях з порушеннями та дій на 1.5 ЛД[!]: INSERTEC LTDA, Вінницька Птахофабрика |
Основною функцією цього модуля є віддзеркалення даних підсистеми "Збір даних" віддалених OpenSCADA станцій на локальні. В своїй роботі модуль використовує Власний Протокол OpenSCADA та сервісні функції підсистеми "Збір даних".
Модулем реалізуються наступні функції:
- Віддзеркалення структури параметрів підсистеми "Збір даних" віддаленої станції. Ця структура може періодично синхронізуватися при роботі.
- Доступ до конфігурації параметрів. Конфігурація параметрів контролерів віддалених станцій прозоро віддзеркалюється, що дозволяє змінювати її віддалено.
- Доступ до поточних значень атрибутів параметрів та можливість їх модифікації. Значення атрибутів параметрів оновлюються з періодичністю виконання локального об'єкту контролера. Запити на модифікацію атрибутів транслюються на віддалену станцію.
- Віддзеркалення архівів значень окремих атрибутів параметрів. Реалізовано віддзеркалення архівів двома способами:
- передбачає створення локального архіву для атрибута та його синхронізацію з віддаленим, при цьому підтримується відновлення архіву на час недоступності віддаленої станції;
- передбачає трансляцію запитів локального архіву до архіву віддаленої станції.
- Віддзеркалення повідомлень обраних джерел даних віддаленої станції в локальному архіві повідомлень з префіксом "{Станція}:", включаючи й порушення (негативний рівень). Процедура первинної синхронізації загалом передбачає:
- запит всіх активних порушень;
- запит повідомлень визначених джерел на глибину, вказану параметром "Максимальна глибина даних архіву значень та повідомлень для їх відновлення при запуску", та по час попереднього запиту, тобто коли нові активні порушення напевне не з'являться;
- перехід у нормальний режим відстеження нових повідомлень та порушень визначених джерел.
- Надання реалізації механізму вертикального резервування, а саме можливість відображення даних з декількох станцій одного рівня.
- Реалізація функції горизонтального резервування, а саме спільної роботи з віддаленою станцією цього ж рівня.
Використання доступних схем резервування наочно представлено на рисунку 1.
1 Об'єкт контролеру
Для додання джерела даних створюється та конфігурується об'єкт контролеру OpenSCADA. Приклад вкладки конфігурації об'єкту контролера даного типу зображено на рисунку 2.
За допомогою цієї вкладки можна встановити:
- Стан об'єкту контролера, а саме: статус, "Ввімкнено", "Виконується" та ім'я сховища, яка містить конфігурацію.
- Ручний перезапуск ввімкненого об'єкту контролеру викликає примусову пересинхронізацію за періодом синхронізації >= 0.
- Ідентифікатор, ім'я та опис контролеру.
- Стан "Ввімкнено" та "Виконується" в який переводити об'єкт контролеру при запуску.
- Політика планування та пріоритет задачі збору даних.
- Інтервал часу повторення спроби відновлення зв'язку із втраченою станцією, в секундах.
- Максимальна глибина даних архіву значень та повідомлень для їх відновлення при запуску, в годинах. Нуль для вимкнення доступу до віддаленого архіву.
- Асинхронний запис. Вмикає запис у загальному циклі опитування щодо буферу накопичених значень, одним запитом.
- Корисне для повільних та ненадійних мереж-підключень оскільки зберігає дані до відновлення підключення та реального запису.
- Рівень запитуваних повідомлень джерел даних. Також вмикає передавання DAQ-повідомлень функції API Користувача messSet() до нижчих станцій.
- Період синхронізації з віддаленою станцією у секундах. Нуль для виключення періодичної синхронізації та -1 також для виключення синхронізації при запуску.
- Віддалена станція віддзеркалених даних. Декілька станцій у переліку включають механізм вертикального резервування.
- Перелік віддалених об'єктів контролеру та параметрів, що віддзеркалюються. У переліку можна вказувати як тільки об'єкти контролерів, для відображення всіх їх параметрів, так і окремо взяті параметри.
- Команда переходу до конфігурації переліку віддалених станцій OpenSCADA.
- Здійснювати автоматичне видалення параметрів та атрибутів для актуалізації до поточного стану.
- Розташування різних контролерів до окремих віртуальних параметрів.
2 Параметри
Модуль хоча й надає можливість створення параметрів вручну, однак це позбавлено сенсу, оскільки такий параметр, при відсутності його на віддаленій станції, буде порожнім. Всі параметри створюються автоматично з урахуванням переліку об'єктів контролерів та параметрів віддзеркалення. Параметри можуть бути збережені в кеш для наступного їх створення навіть при відсутності зв'язку із віддаленою станцією. Приклад віддзеркаленого параметру наведено на рисунку 3.
3 Зауваження
У роботі із цим модулем загалом рекомендується наступний порядок:
- На час активної розробки, а відтак і зміни структури параметрів віддаленої станції, треба увімкнути синхронізацію з періодичністю секунд 60 та дозволити видалення параметрів і атрибутів.
- Перед запуском у виробництво треба: вимкнути періодичну синхронізацію (періодичністю 0) або навіть при запуску (періодичністю -1), заборонити видалення параметрів та атрибутів і зберегти поточну структуру параметрів через збереження об'єкту контролеру. Це потрібно для мінімізації трафіку та навантаження віддаленої станції обміном, що особливо важливо для високонавантажених ПЛК, оскільки синхронізація, хоча й розподіляє синхронізацію окремих параметрів за тактами циклу обміну, все-ж є ресурсомісткою функцію.
- Виконання сервісних змін структури треба здійснювати наступним чином:
- змінюється структура параметрів віддаленої станції;
- періодичність синхронізації встановлюється у 0, якщо стояло -1;
- об'єкт контролеру перезапускається, тобто перемикається стан "Виконується";
- очікується завершення синхронізації, тобто зникнення зі стану об'єкту контролеру "Синхронізація".
- періодичність синхронізації повертається у попереднє значення;
- зберігається структура віддзеркалених параметрів через збереження об'єкту контролеру шлюзу.