Просмотр полной версии : 2 word to real
Добрый день! Как в 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?
Хотелось бы разобраться в данном вопросе, в смысле, откуда у Вас в ПР появилось сие, в смысле, два регистра переменной с плавающей запятой? Скорей всего Вы по сети получаете, может проще сразу их получать как переменную с плавающей запятой без всяких извращений?
Хотелось бы разобраться в данном вопросе, в смысле, откуда у Вас в ПР появилось сие, в смысле, два регистра переменной с плавающей запятой? Скорей всего Вы по сети получаете, может проще сразу их получать как переменную с плавающей запятой без всяких извращений?
Да, там переменная типа 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.
А проблема скорее всего, в не правильном порядке регистров и байт.
Какие регистры какого устройства опрашиваете?
Сергей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
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot