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

27 Jun Оновлення прошивки 3.1

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

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

  1. Додано переклад польською мовою
  2. Додано перевірку наявності інтернет-з’єднання під час оновлення прошивки
  3. Під час вимкнення WebHMI дописує всі записи з WAL-файлу в основну базу даних
  4. Покращено механізм очищення журналу WebHMI
  5. Виправлено деякі помилки в роботі технології Сomet
  6. Виправлено помилку із сортуванням поточних аварій у діалоговому вікні
  7. Додано групування TCP-з’єднань на одну й ту саму IP-адресу та порт
  8. У таблиці регістрів додано відображення UnitID для Modbus TCP з’єднань
  9. Повністю перероблено дешборди

Переклад польською мовою

Завдяки старанням наших польських партнерів Andy Lovberg і Marcin Faszczewski WebHMI отримав переклад інтерфейсу польською мовою. Тепер клієнти з Польщі можуть користуватися нашим продуктом рідною мовою.

Групування TCP-з’єднань

Ми розробили кешуючий шлюз Modbus RTU в Modbus TCP. Він обладнаний двома портами RS-485, Wi-Fi, двома портами Ethernet, двома реле. Його основне завдання – забезпечити швидкий і зручний спосіб опитування великої кількості повільних пристроїв за протоколом Modbus RTU.

Фактично, це класичний RTU-TCP шлюз, але він відрізняється тим, що кешує всі запити і в WebHMI віддає останні прочитані значення дуже швидко, не чекаючи відповіді від пристроїв повільною шиною RS-485. Також він оснащений Wi-Fi і Ethernet Switch на два порти. Це дає змогу під’єднувати його до мережі просто та зручно навіть у найбільш важкодоступних місцях.

7bit Modbus Proxy вдало підійде для задач диспетчеризації великої кількості холодильних контролерів, контролерів вентиляції та інших аналогічних пристроїв. Також він дає змогу розділити одну велику шину RS-485 на кілька менших сегментів. Завдяки цьому прокладання дротів по великому об’єкту істотно спрощується. Також, одним із побічних ефектів від застосування Modbus Proxy є гальванічна сегментація шини RS-485. Це корисно в тих випадках, якщо окремі пристрої можуть давати перешкоди на цю шину. Їх можна помістити у свій окремий сегмент і вони більше не будуть погіршувати роботу всієї шини.

Для оптимізації роботи з 7bit Modbus Proxy WebHMI тепер групує TCP-з’єднання для всіх пристроїв з однаковою парою IP-адреса/порт. Тобто до такого шлюзу буде відкриватися всього один TCP-сокет, незалежно від кількості UnitID, які він обслуговує. Раніше WebHMI відкривав окреме TCP-з’єднання для кожного UnitID на таких шлюзах.

Нові екрани

Рушій відмальовування екранів було переписано з нуля. Раніше він покладався на окремі HTML5-елементи для відтворення всіх елементів. Тепер усі елементи керування малюються за допомогою технології Canvas. Це дало змогу вирішити багато концептуальних проблем і реалізувати нові ідеї та можливості.

Давайте зробимо невелику екскурсію основними відмінностями.

Спаси і збережи

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

Тепер редагувати екрани зовсім не небезпечно. Поки ви не натиснули кнопку “Зберегти” ваші зміни не набувають чинності. Це дає змогу не боятися вносити зміни.

Для ще більшої зручності ми додали поєднання клавіш Ctrl+Z і Ctrl+Shift+Z. Вони скасовують або повторюють останні дії.

Коліщатко мишки дає змогу змінювати масштаб екрана. Так, можна збільшувати масштаб до 4х для точнішої роботи з дрібними елементами.

Так само працюють комбінації клавіш Ctrl+X, Ctrl+C, Ctrl+V. Набагато краще працює виділення безлічі елементів. Усі елементи тепер можна обертати.

Більше динаміки

Майже всі властивості елементів управління тепер можна змінювати на льоту в процесі роботи. Біля таких властивостей з’явилася кнопка з іконкою блискавки:

Якщо вона підсвічена зеленим кольором, це означає, що адміністратор задав правила для його зміни, і ця властивість – динамічна. Якщо не підсвічена – статична.

Після натискання на цю кнопку відкривається спливаюче вікно з налаштуваннями, які визначають як слід змінювати цю властивість.

Давайте розглянемо як це працює на конкретному прикладі. Припустимо, ми хочемо розфарбувати колір тексту в кольори, які відповідають стану регістра “Demo Registers”. Раніше для цього в інтерфейсі була галочка “Colorize”. Тепер необхідність у ній відпала. Давайте подивимося як можна домогтися того ж ефекту.

Натискаємо на кнопку з блискавкою біля властивості “Value color” і у спливаючому вікні, що з’явилося, обираємо регістр, від якого буде залежати значення цієї властивості. У нашому випадку вибираємо регістр “Demo Registers” (D1).

У випадаючому списку “Change property” вибираємо “by register’s state”. Це означає, що при зміні стану регістра значення властивості буде замінено відповідно до нового стану. Нижче ми побачимо список усіх можливих станів і нові значення свойтва для кожного з них. За замовчуванням кольори для цих станів підтягнуться з кольорів станів для обраного регістра, але за бажання їх можна тут перевизначити. Якщо поставити галочку в колонці “Blink”, то цей колір ще й буде блимати.

Натискаємо “Save” і наше спливаюче вікно закриється. Усе. Тепер при зміні стану, колір тексту буде змінюватись на льоту. Не забудьте зберегти екран натиснувши кнопку “Save” у правому верхньому кутку редактора екранів.

Також можна змінювати властивість залежно від:

  • значення регістра
  • діапазону значень регістра
  • значення конкретного біта в регістрі

Аналогічно можна присвоювати властивості значення регістра. Наприклад, можна взяти значення регістра і підставити його в координати об’єкта. Або, наприклад, за допомогою скрипта записати новий колір у регістр і використовувати його значення для розфарбовування фону об’єкта.

Шрифты

У всіх елементах, які виводять текст, з’явилася можливість задавати шрифт і абсолютне значення розміру тексту.

Шари

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

Шкала стану

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

О, так, додався круглий стрілочний індикатор.

Зворотна сумісність

На жаль, новий движок у редакторі екранів радикально відрізняється від попередньої версії, і старі екрани не будуть сумісні з новою версією.

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

Тобто ви можете імпортувати старі проєкти і вони працюватимуть як і раніше. Ми плануємо підтримувати старий редактор до версії 4.0. У ній його буде видалено з прошивки.