This is topic Преобразование 2х слов в реал in forum Пользователи для пользователей at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/50/t/000154.html

Posted by Артем ТрэйсМодФан (Участник № / Member № 9130) on :
 
Коллеги, прошу помощи:
Появилась трудность с преобразованием данных.
По ссылке ниже пример проектика в котором указал, что делаю, и указал ожидаемые данные (проект накидан в базовой бесплатной версии).
Коротко проблема в следующем: из ОВЕН ПЛК210 получаю два регистра типа WORD в скаду. Создав программу по склейке слов, ожидаю получить на выходе переменную с точкой типа FLOAT. У меня не выходит, что я делаю не так.
Заранее спасибо.
ссылка на проект: https://disk.yandex.ru/d/CRiQfvO9BDQm0A
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
WORD – целочисленное значение. Его нельзя просто так взять и привести к вещественному виду (FLOAT).

Обычно либо с устройства считывают непосредственно вещественное число с плавающей запятой, либо в описании к устройству указано как преобразовывать считанное значение в необходимое (какие операции необходимо провести, например, разделить на 10, что бы из 123 получить 12,3).

Так как Вам необходимо из двух целочисленных (431B и BD00) получить одно вещественное (155.74), то не достаточно "склеить" два целочисленных.

После склейки необходимо произвести преобразование из целочисленного в вещественное. Описание преобразования изложено в IEEE 754.

Рекомендую использовать FBD-блоки. Сначала разбить оба WORD'а на биты, из всех бит выделить биты знака, экспоненты и мантиссы. Затем собрать их в три числа и провести мат.обработку.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2