209 похожих чатов

Люди добрые подскажите)))) Имеем: нест сервис, связь с оборудованием

по модбасу, получившийся сервис на скрине 1. Проблема: есть два адреса оборудования, а считывает только с того который последний (скрин 2) . Вопрос, где я туплю?

7 ответов

24 просмотра

А точно можно несколько конекшенов держать в одном инстансе класса сервера? Первое что бросается в глаза

Скорее всего последующие подключения перетирают предыдущие да и зачем там мап непонятно, тоже самое зачем там костыль с интервалом, когда есть нормальный модуль для выполнений крон джобов и тд.

Павел-Еременко Автор вопроса
Антон Горбачёв
Скорее всего последующие подключения перетирают пр...

Антон) Я случайно залез на фулстек, на эту работу шел как фронт))) а костыль с интервалом там, потому что надо оборудование раз в секунду опрашивать.

Павел Еременко
Антон) Я случайно залез на фулстек, на эту работу...

Лучше вот так опрашивать - https://docs.nestjs.com/techniques/task-scheduling

Если подключение перезатирается, то в this.server можно ложить мапу, ключом в которой будет айпи адрес, а велью это инстанс ModbusRTU. Инициализировать инстансы на старте, а дальше уже при опросах каждую секунду брать нужный инстанс из мапы по айпи и вызывать у него readInputRegisters

Похожие вопросы

Обсуждают сегодня

Карта сайта