PDA

Просмотр полной версии : 2 word to real



Ильнур
07.04.2026, 17:12
Добрый день! Как в Owen Logic склеить 2 word?

kondor3000
07.04.2026, 17:43
Добрый день! Как в Owen Logic склеить 2 word?

Исправленный вариант -2 (Последняя версия), сборки WORD2_ТО_REAL __выложил capzap ___ https://owen.ru/forum/showthread.php?t=37203&page=10#95

И кстати интересно, зачем он вам?
В 98 % случаев достаточно прочитать REAL (Float) и в мастере переставить регистры, при неправильном отображении.

Сергей0308
07.04.2026, 20:54
Добрый день! Как в Owen Logic склеить 2 word?

Хотелось бы разобраться в данном вопросе, в смысле, откуда у Вас в ПР появилось сие, в смысле, два регистра переменной с плавающей запятой? Скорей всего Вы по сети получаете, может проще сразу их получать как переменную с плавающей запятой без всяких извращений?

Ильнур
08.04.2026, 08:35
Хотелось бы разобраться в данном вопросе, в смысле, откуда у Вас в ПР появилось сие, в смысле, два регистра переменной с плавающей запятой? Скорей всего Вы по сети получаете, может проще сразу их получать как переменную с плавающей запятой без всяких извращений?

Да, там переменная типа UDINT (Целочисленный тип). Опрашиваю устройство, если значение указываю вещественное (в этом типе и надо), почему то, данные нет, ставишь целочисленный тип-данные появляются, хотя понимаю , что-то не так, пока не разобрался. В справке указано Целочисленный - 4байта размер и Вещественный 4 байта, вот и решил, может с этой стороны попробовать решить задачу.
По поводу устройства-оно норм опрашивается ModbusPoll, то есть значения приходят правильные. Настроил 2 порт RS485 ПР103 под это устройство-данных нет (значение по 0). Решил проверить обмен-подцепляюсь преобразователем к 2 порт RS485 ПР103, запуска. Modbus Slave на ПК, задаю такие же параметры связи (как для устройства) и данные есть. Вот пока решаю данную задачу.

kondor3000
08.04.2026, 08:52
Да, там переменная типа UDINT (Целочисленный тип). Опрашиваю устройство, если значение указываю вещественное (в этом типе и надо), почему то, данные нет, ставишь целочисленный тип-данные появляются, хотя понимаю , что-то не так, пока не разобрался. В справке указано Целочисленный - 4байта размер и Вещественный 4 байта, вот и решил, может с этой стороны попробовать решить задачу.
По поводу устройства-оно норм опрашивается ModbusPoll, то есть значения приходят правильные. Настроил 2 порт RS485 ПР103 под это устройство-данных нет (значение по 0). Решил проверить обмен-подцепляюсь преобразователем к 2 порт RS485 ПР103, запуска. Modbus Slave на ПК, задаю такие же параметры связи (как для устройства) и данные есть. Вот пока решаю данную задачу.

Если у вас целочисленные UDINT, то зачем вам REAL тогда?
Чем писать муть, лучше бы написали, что прочитал ModbusPoll и какое правильное число получилось. И что прочитали в 2 word на ПР103.
А проблема скорее всего, в не правильном порядке регистров и байт.

Dimensy
08.04.2026, 08:58
Какие регистры какого устройства опрашиваете?

Сергей0308
09.04.2026, 07:59
Да, там переменная типа UDINT (Целочисленный тип). Опрашиваю устройство, если значение указываю вещественное (в этом типе и надо), почему то, данные нет, ставишь целочисленный тип-данные появляются, хотя понимаю , что-то не так, пока не разобрался. В справке указано Целочисленный - 4байта размер и Вещественный 4 байта, вот и решил, может с этой стороны попробовать решить задачу.
По поводу устройства-оно норм опрашивается ModbusPoll, то есть значения приходят правильные. Настроил 2 порт RS485 ПР103 под это устройство-данных нет (значение по 0). Решил проверить обмен-подцепляюсь преобразователем к 2 порт RS485 ПР103, запуска. Modbus Slave на ПК, задаю такие же параметры связи (как для устройства) и данные есть. Вот пока решаю данную задачу.

Так ПР в режиме мастер(ведущее устройство) поддерживает UDINT, в смысле, ничего дополнительно не требуется применять!
Если переменная DINT(знаковая) и надо в ПР это значение показывать, то я 100 раз макросы выкладывал для преобразования!

https://owen.ru/forum/showthread.php?t=39392&page=9&p=434001&viewfull=1#post434001