Anatol_rus
20.10.2011, 16:17
Помогите не могу понять в чем косяк.
Имеется ПИД-регулятор ТРМ-101(адрес прибора в сети 164). Настройки и связь есть. Но возникает вот какая проблема:
Отсылаю ему запрос на чтение уставки SP,которая равна 7.86,(в руководстве - http://www.owen.ru/uploads/list_param_trm101_v02.0021.zip) адрес регистра - 9107, строка запроса такая :
#QKHGPHGNPPLL\r
В ответ приходит следующее :
#QKGJPHGNKGVROLTHIS\r
Переводя из символьного вида получаем(без начала и конца) :
A4 03 9107 40FB85 D12C
Откуда берем 3 байта данных, вот в этих 3 байтах данных и проблема, по формуле рассчета значения - (-1)^S * 10^(-Exponent) * Mantissa, мы не получим искомой величины 7.86.
Так как, число 7.86 в двоично-десятичном виде должно выглядеть, как :
0x100786, а в двоичной форме
0x1312.
Но при этом в конфигураторе, отображается нужная мне величина, вопрос, как он смог преобразовать
40FB85 в 7.86 преобразовать???
Вот лог запроса от конфигуратора к ПИД-регулятору :
http://rghost.ru/26380851/image.png
Вопрос также возникает, почему при чтении одного регистра, идет две операции записи/чтения в шину RS485?
Имеется ПИД-регулятор ТРМ-101(адрес прибора в сети 164). Настройки и связь есть. Но возникает вот какая проблема:
Отсылаю ему запрос на чтение уставки SP,которая равна 7.86,(в руководстве - http://www.owen.ru/uploads/list_param_trm101_v02.0021.zip) адрес регистра - 9107, строка запроса такая :
#QKHGPHGNPPLL\r
В ответ приходит следующее :
#QKGJPHGNKGVROLTHIS\r
Переводя из символьного вида получаем(без начала и конца) :
A4 03 9107 40FB85 D12C
Откуда берем 3 байта данных, вот в этих 3 байтах данных и проблема, по формуле рассчета значения - (-1)^S * 10^(-Exponent) * Mantissa, мы не получим искомой величины 7.86.
Так как, число 7.86 в двоично-десятичном виде должно выглядеть, как :
0x100786, а в двоичной форме
0x1312.
Но при этом в конфигураторе, отображается нужная мне величина, вопрос, как он смог преобразовать
40FB85 в 7.86 преобразовать???
Вот лог запроса от конфигуратора к ПИД-регулятору :
http://rghost.ru/26380851/image.png
Вопрос также возникает, почему при чтении одного регистра, идет две операции записи/чтения в шину RS485?