Тип данных в OPC UA

Здравствуйте.
Обнаружил не объяснимое логически преобразование типов, КМК.
Дано:

  • шаблон устройства Modbus RTU с регистрами типа s32
  • устройство на MOD3 и прекрасно опрашивается контроллером
  • топики MQTT отображают значения типа value

Задача - переложить топики в OPC UA.
Использую встроенный mqtt-opcua шлюз.
Но, тип данных, получаемых на выходе из шлюза Double (т.е. 8 байт), а не Float (4 байта, в которые казалось бы должен преобразоваться тип s32).
Прошу пояснения, что означает данное поведение шлюза в OPC UA.

Здравствуйте!
Наш шлюз работает с информацией, которая опубликована в MQTT брокере, а не напрямую с сервисом, читающим Modbus-регистры. В MQTT нет деталей об оригинальных типах регистров, так что для всех value мы используем Double.
Расскажите о вашей задаче, почему принципиально передавать Float?

Понятно. Сделано для всех вариантов.
Принципиально, т.к. в базе данных SCADA-системы double и float будут занимать разный объём и, соответственно, скорость увеличения объёма базы будет разная. В связи с этим, оценка времени, на которое рассчитано дисковое пространство под базу данных, будет меньше, что приведёт к необходимости выделения дополнительных объёмов, либо закупке новых дисковых массивов. Появятся ненужные расходы, а это плохо отразится на экономике проекта.