PDA

Просмотр полной версии : Считывание температуры с ТРМ 101 (owen_io.dll)



alexdarh
12.10.2009, 11:55
Всем доброе время суток...!
Написал тестовую программку чтобы понять принципы работы с прибором ТРМ101, за Delphi очень недавно сижу...

Вот код:



procedure TForm1.Button1Click(Sender: TObject);
var
res: real;
value:Single;
begin
LibHandle := LoadLibrary('C:\Lib\owen_io.dll');
if LibHandle >= 32 then begin
ShowMessage('Ok');
end;
res := OpenPort(0, spd_115200, 0, databits_8, stopbit_1, RS485CONV_AUTO);
if(res < 0) then
begin
ShowMessage('Ошибка открытия порта');
exit;
end;
ShowMessage(IntToStr(ReadFloat24(0,0,'B8DF',value , -1)));
FreeLibrary(LibHandle);

end;

end.


Возвращает значение "-104". Как посмотреть из-за чего возникла данная ошибка?? И возможно у меня ошибка в коде?? Заранее спасибо...

alexdarh
12.10.2009, 13:16
procedure TForm1.Timer1Timer(Sender: TObject);
var
res: integer;
value:Single;

begin



//ShowMessage(IntToStr(value));
Form1.Label1.Caption:= IntToStr(ReadFloat24(0,0,'PV',value , -1));


FreeLibrary(LibHandle);
ShowMessage(FloatToStr(RoundTo(value,-2)));

end;

При таком варианте постоянно выдает 12 в showmessage

alexdarh
12.10.2009, 13:54
И еще.... параметр "o" он считывает нормально, При считывании "Pv"пишет всегда - 12, хотя температура меняется от 200 до 400 градусов. При попытке прочитать "SP" возникает ошибка -104...

в ТРМ 101 есть параметр "p" и он равен 12....похоже что он читает только первую букву параметра...
То есть если написать вот так: ReadFloat24(0,0,'PVgjhgjhbjhbjjn',value , -1)) он все равно получает 12.... :((