Проблема со считыванием данных с ЛИР-940Р

Модератор: Денис Кашин

roach
Сообщения: 4
Зарегистрирован: 12 мар 2011, 11:01

Сообщение roach »

Михаил Поляков писал(а):hardCounter - текущее значение data = UpdateData_LIR

prevHardCounter - предыдущее значение data
каким образом считывать prevHardCounter ?
Михаил Поляков
СКБИС
СКБИС
Сообщения: 79
Зарегистрирован: 06 фев 2008, 16:10

Сообщение Михаил Поляков »

Код: Выделить всё

var
 // Глобальные переменные
 relativeCounter, prevHardCounterX, d, ReferentPoint:Integer;
const
 MaxCounter=16777216;  // =  1 shl 24    = 2^24


procedure TForm1.Timer1Timer(Sender: TObject);
var
StateByte, Ident : Byte;
hardCounterX, d,:Integer;


hardCounterX:= UpdateData_LIR (hFile, 2, ident, statebyte);

d:= hardCounterX - prevHardCounterX;

prevHardCounterX:= hardCounterX

if Abs(d) > (MaxCounter/2) then   d:=d-sign(d)*MaxCounter;

RelativeCounter = RelativeCounter + d;   // программно-аппаратный знаковый счетчик

if Ident=2 then begin
 ReferentPoint = RelativeCounter; // координата референтной метки
end;


dLabel.Caption:=inttostr(RelativeCounter);
end;
Последний раз редактировалось Михаил Поляков 21 мар 2011, 09:20, всего редактировалось 1 раз.
roach
Сообщения: 4
Зарегистрирован: 12 мар 2011, 11:01

Сообщение roach »

спасибо! все работает только вы забыли prevHardCounter:=hardCounter
Ответить