PDA

Просмотреть полную версию : ГАММА-8 чтение REAL с обратным порядком байт...


Dron
09.02.2010, 21:00
Новую тему нет возможности создать, пришлось писать в подобную...

Имеется контроллер ГАММА-8, из него необходимо получать данные REAL через MODBUS. Но порядок байт идёт старшим регистром вперёд (Swapped Floating Pt). Во всяких ОРС-серверах или в том же ModScan32 есть настройка читать данные в любом порядке, а как это сделать в SMH-2010?

Можно было бы разложить на биты (reg32->bits), потом пересортировать как надо и перевести обратно в REAL. Но вот такого блока (типа bits->reg32) я не нашёл?

Может кто уже сталкивался с такой проблемой? Кто что подскажет?..

Arsie
10.02.2010, 13:21
Новую тему нет возможности создать, пришлось писать в подобную...

Имеется контроллер ГАММА-8, из него необходимо получать данные REAL через MODBUS. Но порядок байт идёт старшим регистром вперёд (Swapped Floating Pt). Во всяких ОРС-серверах или в том же ModScan32 есть настройка читать данные в любом порядке, а как это сделать в SMH-2010?

Можно было бы разложить на биты (reg32->bits), потом пересортировать как надо и перевести обратно в REAL. Но вот такого блока (типа bits->reg32) я не нашёл?

Может кто уже сталкивался с такой проблемой? Кто что подскажет?..


Можно самостоятельно вычислять число исходя из формата "real": побитово выделять мантиссу, знак и экспоненту и подставлять в формулу -1^знак*мантисса*10^экспонента.



.

Dron
10.02.2010, 16:55
Можно самостоятельно вычислять число исходя из формата "real": побитово выделять мантиссу, знак и экспоненту и подставлять в формулу -1^знак*мантисса*10^экспонента.
так может макрос готовый есть?

Arsie
17.02.2010, 15:58
http://forum.segnetics.com/showthread.php?t=461

Саму тему перенесу в более подходящий для неё раздел.