-
Пользователь
ТРМ138 чтение/запись уставки 'c.sP'
Здравствуйте.
Подскажите, пожалуйста, оптимальный алгоритм чтения/записи параметра 'c.sP' (уставка) в приборе ТРМ138В на Delphi 7 с помощью библиотеки owen_io.dll.
Причина вопроса.
Если в конфигураторе задать уставку 1 градус, то по формуле п. 5.1.2 Описания протокола получаю число "26". Число "4" и далее читаются нормально. Не могу выявить однозначную зависимость и алгоритм формирования чисел.
Буду копать дальше, конечно, но хотелось бы не изобретать колесо, а использовать решение специалистов.
Спасибо.
-
Пользователь
Фрагмент кода
На всякий случай привожу фрагмент своего кода.
var i, j, Addr: Cardinal;
pc: array[0..127] of Char;
val: cardinal;
znak: byte;
Exponent: byte;
Mantiss: word;
Result: real;
temp: word;
begin
StatusBar1.Panels[0].Text:='';
StatusBar1.Panels[1].Text:='';
try
Addr:=StrToInt(edAddr.Text);
except
exit;
end;
// 'c.sP' Уставка Целый с десятичной точкой
i:=0;
try
i:=ReadUInt(Addr, 0, 'c.sP', val, -1);
except
end;
znak:=Hi(val) and ($80);
Exponent:=Hi(val) and ($70);
Mantiss:=(val and $0FFF);
{}
Result:=Mantiss;
for j:=1 to Exponent do
Result:=Mantiss/10;
if znak=1 then Result:=Result * (-1);
{}
lblUstavka.Caption:=FormatFloat('0.00', Result);
{}
LastErrToStr(pc);
lblErr1.Caption:=IntToStr(i)+' '+pc;
StatusBar1.Panels[0].Text:=IntToStr(i);
StatusBar1.Panels[1].Text:=pc;
-
Пользователь
Вопрос снят, работаю с обычными целыми.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума