Nicolay B.
Junior Member / Новичок
Участник № / Member № 4338
отправлено / posted
Добрый день, уважаемая техническая поддержка. Возникли проблемы с вещественными числами. Получаю данные в двух запросах CALL.ChGroupReq целую и дробную части. Объединение этих частей произвожу в программе путем сложения, но на выходе из программы данные искажаются.
Пример: целая часть - 14098 дробная часть - 0,7398 после преобразования - 14098,7402
отправлено / posted
FLOAT по стандарту поддерживает только 6 значащих цифр. Чтобы получить более высокую точность, надо использовать формат LREAL. Такой результат можно сохранять в канале DFLOAT.
Nicolay B.
Junior Member / Новичок
Участник № / Member № 4338
отправлено / posted
Результат совсем не тот какой нужен.
В программе пытался делать смещение дробной части умножением, но без успешно. Может есть ещё какой нибудь способ объединить целую и дробную части числа?
Сообщения / Posts 30 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Результат математически точен.
Формат его отображения в окне "Просмотр компонентов" жесткий. Но на экране и в документе Вы можете задать нужный Вам формат.
Какими средствами Вы предполагаете получать исходные данные для программы? Каковы метрологические характеристики источника данных и измерительного канала в целом? Каким образом Вы собираетесь использовать результат "сложения"? Насколько метрологически обосновано использование формата DFLOAT?
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nicolay B.
Junior Member / Новичок
Участник № / Member № 4338
отправлено / posted
Задал формат на экране и всё получилось.
Исходные данные получаю по ModBusRTU. Двумя функциями Rin_Word(4)(целая часть) и Rin_Float(4)(дробная часть). Измерять собираюсь потребляемое тепло прибором ТСРВ-024М. Для начала вывод полученного результата на экран АРМа, а в дальнейшем и запись в БД для анализа тепло потребления. Коммерческий учет требует более точного измерения.
Сообщения / Posts 30 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Тепловычислитель ТСРВ-024М, согласно его документации, измеряет количество теплоты с точностью +- 0.5%. Это значит, что уже в целом числе 14098 погрешность составляет +- 70. В этих условиях работать с "дробной частью" метрологически нет оснований. При сдаче проекта метрологической экспертизе это будет признано некорректным.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |