05 Mar Налаштування WebHMI для роботи з повільними та нестабільними з’єднаннями
Часто під час диспетчеризації великих об’єктів, як-от продуктовий магазин, спортивний клуб тощо, інтегратори стикаються з проблемою опитування великої кількості повільних контролерів на одній шині RS-485. Проблема виникає через необхідність читання сотень, а то й тисяч регістрів з безлічі контролерів, які працюють на швидкостях, наприклад, 9600 бод.
Під час читання регістрів у цих системах на обмін даними йде занадто багато часу через повільну роботу послідовного інтерфейсу. Повний цикл опитування всіх регістрів може займати десятки і сотні секунд. При цьому втрачається чутливість системи – реакція на дії оператора застосовуються і відображаються в інтерфейсі зазвичай за 2 цикли (у першому відбувається запис, у другому – вже можна прочитати нові значення зі зміненого регістра). Виходить, що час реакції інтерфейсу і механізмів на дії оператора в таких системах виходить занадто великим. Оператор може і не дочекатися реакції системи на свій вплив. Що ж робити?
WebHMI має великий набір різноманітних інструментів, які дають змогу тримати час опитування пристроїв під контролем. Серед них такі можливості:
- Якщо пристрій не відповідає на кілька запитів поспіль, то система може припинити подальше опитування цього контролера для економії часу.
- Якщо в кількох послідовних сканах неможливо прочитати кілька регістрів зі з’єднання, то система може вимкнути це з’єднання на кілька хвилин для того, щоб не витрачати час на його опитування надалі.
- Можна групувати запити в протоколі Modbus в один пакет для економії трафіку і часу опитування.
- Можна багато регістрів читати не в кожному скані, а зі своїм окремим інтервалом опитування. Наприклад, раз на хвилину або ще рідше.
- Можна розбити регістри на групи з високим і низьким пріоритетом і обмежити час сканування до фіксованої величини. Регістри з високим пріоритетом читатимуться в кожному скані (відповідно до налаштованого інтервалу опитування), а регістри з низьким пріоритетом – у міру можливості, якщо в скані залишився вільний час.