Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


L761 не измеряет

Вы не вошли.

 Поиск | Регистрация | Вход 

Николай
26.04.2005 15:38:14
#1

Гость

L761 не измеряет

Работаю с L761 на Delphi 7 под WinXPpro. Все делаю как мануале и примере L791.TST. Библиотека загружается успешно, но с АЦП что-то одно, например 0. Подключение по дифференциальному типу.
Код такой:

var i:word;
    ds:ASYNC_PAR;
begin
ds.s_Type:=L_ASYNC_ADC_INP;
ds.Chn[0]:=0;
If(pLDev.IoAsync(ds)=L_SUCCESS) then memo1.Lines.Add('Ok');
i:= ds.data[0];
lD.Caption:=IntToStr(i);
end;

Что здесь не так?

При этом программа L-Graph реагирует разумно.

26.04.2005 15:49:37
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L761 не измеряет

Полнее код надо... и что значит реагирует разумно.. чего измеряется? шум или сигнал какой...

Николай
26.04.2005 17:10:17
#3

Гость

Re: L761 не измеряет

Общая задача - контроль термопар. Измерял постоянное напряжение от внешнего источника.
При работе с L-Graph при изменении напряжения уровень сигнала смещается на величину изменения.

полный код:

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, create, ifc_ldev, ioctl;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    lD: TLabel;
    E1: TEdit;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
   function IoAsync(var sp:ASYNC_PAR):ULONG; virtual; stdcall; abstract;
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  pLDev: IDaqLDevice;
  pIUnknown:LUnknown;
  hr:Integer;
  dev: THandle;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

   Memo1.Lines.Clear;
   Memo1.Lines.Add('Testing library');
   if(CallCreateInstance('lcomp.dll')=1) then
   begin
      Memo1.Lines.Add('Loading library - success.');
      Memo1.Lines.Add('');
   end;

   pIUnknown:=CreateInstance(0);
   hr := pIUnknown.QueryInterface(IID_ILDEV,pLDev);
   if(not Succeeded(hr)) then MessageBox(0,'Get interface failed','Error',MB_OK);
   pIUnknown.Release;
   dev:=pLDev.OpenLDevice;

end;

procedure TForm1.Button1Click(Sender: TObject);
var i:word;
    ds:ASYNC_PAR;
begin
ds.s_Type:=L_ASYNC_ADC_INP;
ds.Chn[0]:=0;
If(pLDev.IoAsync(ds)=L_SUCCESS) then memo1.Lines.Add('Ok');
i:= ds.data[0];
lD.Caption:=IntToStr(i);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
   pLDev.StopLDevice;
   pLDev.CloseLDevice;
   pLDev.Release;
end;

end.

27.04.2005 09:24:29
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L761 не измеряет

А плата то какая? 791 или 761... для 761 надо биос грузить и флеш читать... для 791 флеш читать..

Николай
27.04.2005 10:06:08
#5

Гость

Re: L761 не измеряет

Плата у меня L761 как я в начале и писал.
А про биос и флеш помогло, все заработало.
Спасибо, очень помогли и оперативно!!