PDA

Просмотр полной версии : Декодирование ответа в Delphi (модуль МВ210-101 по протоколу SNMP)



Anton_V_A
03.09.2024, 13:08
Приветствую коллег!

К аналоговому входу МВ210-101 подключен датчик ДТС медь 50 Ом.
Запрашиваю значение этого входа через процедуру Snmp.SendQuery с MIB, соответствующим значениям float. Получаю в ответ строку типа "ŸxAº€". Если использую MIB с веткой от целочисленных значений, то ответ адекватный, только его надо разделить на 10, чтобы точка встала в нужном месте.

Вопрос: как мне преобразовать символы строки ответа в значение с плавающей точкой?
Может быть кто-то уже проходил этот путь и подскажет решение.

С уважением, Антон.

Евгений Кислов
03.09.2024, 13:53
Добрый день.
Ответ надо интерпретировать не как строку, а как 7 байт.
Алгоритм их преобразования во Float описан по ссылке:
https://datatracker.ietf.org/doc/html/draft-perkins-float-00

melky
03.09.2024, 13:53
"ŸxAº€" - вы из вот этого хотите преобразовать? или из адекватного ответа, где надо делить на 10 ?

Anton_V_A
03.09.2024, 14:31
С адекватным ответом проблем нет. Хотелось бы попробовать получить данные float напрямую.