Добрый день. Пытаюсь с помощью SCADA-системы читать текущие значения активной и реактивной мощности. В итоге получается следующая картина (для реактивной мощности):
2021/11/12 16:12:29[T] 30 08 11 04 (83 75)
2021/11/12 16:12:29[R] 30 01 46 45 (7F 77)
........
........
2021/11/12 16:12:36[T] 30 08 11 04 (83 75)
2021/11/12 16:12:36[R] 30 00 F3 A1 (2C D7)
В описании протокола ничего не сказано про переполнение.
В первом ответе получается 177.34ВАр+655.35ВАр(переполнение) = 832.69ВАр. Что совпадает со значением, если опрашивать конфигуратором или OPC-сервером Mercury.
Во втором ответе получается 414.59ВАр, что совсем не совпадает с реальным значением мощности.
В протоколе написано, что 7 и 6 биты отвечают за направление активной и реактивной мощности. Но ничего не сказано, про младшие биты.
Я только предполагаю, что это переполнение, но не могу понять почему иногда оно работает у меня, а иногда выводит чушь, как в данном случае.
Будьте добры помочь разобраться с тем, как работает переполнение в данном протоколе
Переполнение при чтении мощности
Re: Переполнение при чтении мощности
А в логах OPC-сервера какая полная команда на запрос, и какой полный ответ?
Можете привести запрос и ответ в HEX-кодах полностью?
Можете привести запрос и ответ в HEX-кодах полностью?