Доброго времени суток!
Столкнулся с такой проблемой: между панелью Weintek eMT3070B (master), ПР200 (slave) и контроллером генераторного агрегата (slave) организован обмен по Modbus RTU. Панель вычитывает из контроллера ГА значение текущей вырабатываемой мощности и отправляет в ПР200. При этом передача происходит с огромными задержками по времени (3 сек, 5 сек, бывало и 10 сек), а бывает и практически мгновенно.
Настройки устройства в панели следующие:
- интерфейс RS-485 2w
- протокол: RTU (Zero-based Addressing)
- COM1
- с битрейтом экспериментировал, ставил и 9600, и 115200 - результат не изменился, на данный момент 115200
- биты данных: 8
- число стоп-бит: 1
- четность: нет
- таймаут: по умолчанию, вроде 1 сек
- адрес устройства: 16, по умолчанию для ПР200.
Настройки на ПР200 и контроллере ГА аналогичные, отличаются только адреса.
Мощность из контроллера ГА вычитываю и отправляю с помощью макроса (GetData, SetData), тип переменной short.
Вроде бы делаю все правильно, и результат есть - на панели значение мощности появляется и отправляется в ПР200, только с гигантскими задержками, что непозволительно для корректной работы.
Пробовал исключить ПР200 из сети, обмен между панелью и контроллером ГА - просто летает. Пробовал сделать ПР200 мастером, убрать панель и вычитывать напрямую из ГА - тоже летает. Но как только соединяю все вместе начинаются лаги.
Может кто-то сталкивался с чем-то подобным? По крайней мере, хочется понимать, в какую сторону копать.