PDA

Просмотр полной версии : ТРМ138Р "подвисает"



balepa
09.10.2007, 08:10
По прошествии некоторого времени опрос ТРМ-138 замедляется, т. е. если в самом начале (при старте Execute) опрос происходит 34-35 раз в сек, то минут через 5-10 1 раз в 2-3 сукунды и новые значения не считываются в данный момент tm = 32086 и неизменяется. Помогает только отключение от питания ТРМ. Ошибка - "Устройство неотвечает". Как это победить ?
Адаптер АС3
owen_io.dll от 13 декабря 2006 г., 13:19:54

Ниже привожу код опроса:



procedure TSborCom1.Execute;
var
value: Single;
difference,beg: Cardinal;
mwSum: Double;
begin
Com1Open:= false;
count:= 0;
mwSum:= 0;
difference:= 1001;
if (OpenPort(COM_1,spd_115200,prty_NONE,databits_8,st opbit_1,RS485CONV_MANUAL) <> (-1)) then begin
Com1Open:= true;
while Com1Open do begin
if difference>1000 then beg:= GetTickCount;
if ReadIEEE32(0,0,'rEAd',value,tm1,0)>=0 then begin
mwUnit1:= value;
end;
if ReadIEEE32(1,0,'rEAd',value,tm2,1) >=0 then begin
mwUnit2:= value;
end;
mwSumm:= mwUnit1 + mwUnit2;
mwSum:= mwSum + mwSumm;
difference:= GetTickCount-beg;
inc(count);
//if difference<=1000 then inc(count)
//else begin
Form1.AverageDL.Caption:= FloatToStrF(mwSum / count,ffFixed,6,2);
// mwSum:= 0;
// count:= 0;
//end;
//Form1.StatusBar1.SimpleText:= IntToStr(count);
Synchronize(ShowMW);
end;
end;
Terminate;
end;

Малышев Олег
09.10.2007, 09:29
При "холодном" старте прибора на приборе пишется версия прошивки обычно это значение от 0031 до 0037. Последняя версия 0037. Если версия "ниже" возможны вышеописанные проблемы. Перешить прибор можно в сервисцентре

balepa
10.10.2007, 06:13
При "холодном" старте прибора на приборе пишется версия прошивки обычно это значение от 0031 до 0037. Последняя версия 0037. Если версия "ниже" возможны вышеописанные проблемы. Перешить прибор можно в сервисцентре

Версия прошивки 037.

Alexandr
12.10.2007, 13:17
// mwSum:= 0;
// count:= 0;
Обнулять пробовали? Может просто идет переполнение памяти?

balepa
15.10.2007, 07:01
Обнулять пробовали? Может просто идет переполнение памяти?

Какое переполнение памяти ? ТРМ'ка просто перестает опрашиваться пока её не выключиш и не включиш снова.