Оновлення прошивки 3.0

23 Mar Оновлення прошивки 3.0

Вийшла нова версія прошивки WebHMI 3.0.5278

Основні зміни:

  1. Новий механізм оновлення даних у веб-інтерфейсі за допомогою технології Comet
  2. Додався інструмент для оперативної діагностики якості з’єднань
  3. Таблиця повідомлень тепер доступна на всіх екранах в окремому спливаючому вікні
  4. Додано протокол BACnet IP
  5. Суттєво збільшено максимальну довжину шини 1-Wire на наших USB-1Wire перетворювачах. Тепер можна підключати шину довжиною 200 м.
  6. Тепер під час зміни значення регістра, прив’язаного до словника, користувач може вибрати нове значення зі списку, що випадає, замість введення числового значення.
  7. Додано валідацію мінімального/максимального значення для регістрів у рецептах
  8. Елемент “Зображення” тепер може блимати
  9. Виправлено деякі помилки
  10. Оновлена операційна система OpenWRT, ядро Linux і супутні утиліти

Оновлення даних за допомогою технології Comet

У попередніх версіях ПЗ WebHMI для оновлення даних на екранах, трендах і в списках регістрів використовувався метод періодичного запиту значень усіх регістрів. Зі зростанням проєктів стало зрозумілим, що це спричиняє перевантаження каналів передавання даних – така кількість даних не завжди могла бути швидко передана від WebHMI до веб-браузера. Тому було запроваджено дві оптимізації – запит значень регістрів тільки з тих з’єднань, які зараз видно на екрані. А також, адаптивна зміна інтервалу опитування WebHMI для підлаштування під повільні комутовані з’єднання. Браузер міг сам збільшувати інтервал опитування, якщо бачив, що дані не встигають приходити із заданою періодичністю. На якийсь час ці заходи вирішили проблему.

Однак, наші клієнти йдуть далі і створюють проєкти все більші й більші. У типовому супермаркеті в єдину систему об’єднуються десятки холодильних контролерів з тисячами регістрів. У такій ситуації стара система оновлення даних стає неефективною і ми замінили її новою, більш досконалою.

Технологія Comet дає змогу відправляти в браузер тільки ті дані, які фактично змінилися. Причому це відбувається з мінімальними затримками. Так, якщо у вас 1000 регістрів на 20 контролерах, то немає сенсу передавати в браузер значення всіх цих 1000 регістрів по кілька разів на секунду. Малоймовірно, що всі вони змінилися. Натомість WebHMI формує пакети тільки з тими даними, які були фактично змінені, і надсилає їх у браузер одразу ж, а не тоді, коли браузер їх запитає в наступний інтервал часу.

Це дає змогу радикально знизити вимоги до каналу передавання даних, знизити витрати на трафік, а також навантаження на браузер, якому більше не потрібно перемальовувати елементи інтерфейсу, що не змінилися, зайвий раз.

Окремим позитивним боком технології Comet є зниження затримок у циклі “зміна регістра – оновлення даних на екрані браузера”. За досить короткого скану, помітити оком затримку між зміною стану входу ПЛК/УСО і зміною значення регістра в інтерфейсі WebHMI практично неможливо.

Для оптимізації роботи з повільними 3G-з’єднаннями ми зробили групування пакетів. WebHMI збирає повідомлення про оновлення значень регістрів у “пакети” і відправляє їх не частіше, ніж задано в системних налаштуваннях. Це дасть змогу уникнути занадто частих надсилань даних і знижує накладні витрати на передавання даних мережею. Інтервал для групування в пакети гнучко налаштовується в діапазоні від 100 мс до 5 с.

Діагностика якості з’єднань

WebHMI дає змогу об’єднувати в єдину систему управління найрізноманітніші інженерні системи – від освітлення і кліматики до холодильних контролерів. Через великий “зоопарк” різних контролерів опитування всіх регістрів може займати тривалий час. WebHMI оснащений спеціальними механізмами для оптимізації часу сканування. Однак, якщо якийсь із контролерів вимикається на обслуговування або ремонт, то час сканування може збільшуватися, чим уповільнювати час відгуку системи на дії оператора..

А таке уповільнення дуже сильно дратує користувачів і робить роботу з системою некомфортною. Дуже неприємно очікувати ввімкнення освітлення по 5-10 секунд. Як же зрозуміти, що відбувається і чому час сканування різко змінився?

Раніше для цього було потрібно заводити внутрішні регістри з кодами помилок обміну, дивитися в логи тощо. Що не зовсім зручно й інтуїтивно зрозуміло.

У новій прошивці ми додали новий інструмент “Діагностика з’єднань”. Він доступний у спливаючому віконці зі статусного рядка. Тепер користувач може оперативно і просто подивитися скільки часу витрачається на обмін з найповільнішими з’єднаннями і чи є помилки зв’язку в цих з’єднаннях. Це дасть змогу моментально виявляти будь-які збої у зв’язку та розуміти причину зміни часу реакції системи.

Таблиця повідомлень на всіх екранах

Тепер на всіх екранах можна оперативно переглянути останні повідомлення про роботу системи. Це дає змогу, з одного боку, підвищити зручність роботи та поінформованість персоналу, а з іншого – візуально “розвантажити” дашборди і прибрати з деяких із них таблиці з повідомленнями.

Додано протокол BACnet IP

На поточний момент реалізовано запити Read Property і Write Property. Читаються Present Value властивості. Читаються і пишуться такі типи регістрів:

  • Analog Input
  • Analog Output
  • Analog Value
  • Binary Input
  • Binary Output
  • Binary Value
  • Multi State Input
  • Multi State Output
  • Multi State Value

Детальніша інформація про цей протокол знаходиться у нас у вікі.

Оновлена операційна система OpenWRT, ядро Linux і супутні утиліти

Ми оновили практично все програмне забезпечення до актуальних версій з патчами безпеки. Це дало змогу скоротити витрату пам’яті, ресурсів процесора і загалом підвищити безпеку системи.

Оновлення з версії 2.10 і нижче

Технологія Comet вимагає наявності спеціальних модулів в операційній системі WebHMI. Також, необхідно оновити абсолютно все ПЗ.

Вбудована функція оновлення оновлює тільки код SCADA-системи і не зачіпає операційну систему. Тому, на жаль, оновитися з версій 2.Х до версії 3.0 вбудованими засобами не вийде. Старі WebHMI можуть бути оновлені тільки нами вручну (за запитом).

Нові WebHMI з квітня 2018 р. постачатимуться з новою прошивкою.