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


Форум

Вы не вошли.

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

#2 Техническая поддержка » L-791 "Недостаточно свободных ресурсов для работы данного устройства" » 01.09.2016 10:19:07

Анатолий
Ответов: 3

Недавно приобрели плату L-791 (сер. №4D904911), при установке в слот расширителя PCI PX-10S-RS-R50 с материнской платой WSB-H610 (промышленный ПК PICMG 1.0), операционная система Windows 7 ultimate (x86), при включении получаем предупреждение: "Недостаточно свободных ресурсов для работы данного устройства (код 12)". После перезагрузки ПК, плата определяется и работает. На других компьютерах плата работает нормально. Решения приведенные ранее на форуме, не могут быть использованы ввиду отсутствия соответствующих настроек в Биосе. Использование расширителя PCI PX-10S-RS-R50 с материнскими платами WSB-G41A и WSB-9454 проблем не вызывало. Производитель материнских и расширительной плат IEI Technology Corp. Посоветуйте, пожалуйста, какие еще могут быть решения данной проблемы.
PS
При необходимости, можем приложить описание материнской платы WSB-H610.

#3 Re: Техническая поддержка » Компонент модуля E14-140 для Delphi » 28.02.2016 16:01:00

К теме долго никто не проявлял интерес, поэтому я перестал заглядывать на форум. С момента публикации сообщения компонент для E14-140 уже сильно переработан и исправлен. Написаны новые компоненты для L-791 и E-502. Если есть вопросы, мой e-mail av.gal@mail.ru

#4 Техническая поддержка » Компонент модуля E14-140 для Delphi » 28.07.2015 14:31:57

Анатолий
Ответов: 4

Написал компонент для E14-140 под Delphi, предлагаю для использования в ваших приложениях. Описание компонента и тестовой программы здесь. Буду благодарен за отзывы и замечания.
Анатолий.

#5 Re: Техническая поддержка » Проблема с программированием E14-140 » 17.04.2015 15:51:28

Poul пишет:

а пример из дистрибутива как себя ведет?

Уточнение "синий экран смерти" вызывается не функцией FillDAQparameters, а SetParametersStream! Пример из дистрибутива, действительно, не вылетает, я почему-то не догадался его проанализировать, прошу прощения за поспешность. Спасибо!

#6 Техническая поддержка » Проблема с программированием E14-140 » 17.04.2015 14:25:33

Анатолий
Ответов: 2

Уважаемые разработчики, помогите разобрать с проблемой! Модуль E14-140, Windows 8.1, 64 разряда, среда разработки Delphi XE2. При попытке заполнить внутреннюю структуру параметров сбора данных функцией FillDAQparameters(FADCParam.t1) стабильно получаю "синий экран смерти" с сообщением system_thread_exception_not_handled. Ниже текст программы. Descriptor модуля считывается корректно.
Заранее спасибо.

unit SimplTest140Unit;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Create, ifc_ldev, ioctl, Vcl.StdCtrls;

type
PData = ^TData;
TData = array[0..4096*10-1] of ULong;
PSyncE140 = ^ULong;
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
   FpLDev: IDaqLDevice;
   FADCParam: ADC_Par;  //параметры работы АЦП модуля
   FData: PData;  //указатель на начало большого буфера
   FSync: PSyncE140;  //указатель на переменную синхронизации
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var FpIUnknown: LUnknown; hr: integer; SizeBuf: ULong; slPar: Slot_Par;
     FPlataDescr: PLATA_DESCR_E140;
begin
if boolean(CallCreateInstance('lcomp.dll')) then
  begin
   FpIUnknown:=CreateInstance(0);
   if FpIUnknown <> nil then
    begin
     hr:=FpIUnknown.QueryInterface(IID_ILDEV,FpLDev);
     FpIUnknown.Release;
     if Succeeded(hr) then
      if FpLDev.OpenLDevice <> Invalid_Handle_value then
       with FplDev do
        begin
         GetSlotParam(slPar);
         ReadPlataDescr(FPlataDescr);
         with FADCParam.t1 do
          begin
           NCh:=2;
           Chn[0]:=$20;
           Chn[1]:=$21;
           s_Type:=L_ADC_Param;
           AutoInit:=0;
           dRate:=10;
           dKadr:=0;
           dScale:=0;
           SynchroType:=0;
     //      SynchroSrc:=0;
           FIFO:=0;
           IrqStep:=2;
           Pages:=4;//FADCMeasuringCount;
           IrqEna:=1;
           AdcEna:=1;
          end;
         SizeBuf:=4096*10;
         RequestBufferStream(SizeBuf,L_Stream_ADC); //выделение памяти под большой кольцевой буфер
         StopLDevice;
         if FillDAQparameters(FADCParam.t1) = L_SUCCESS then //заполним внутреннюю структуру параметров сбора данных
           //настраивает плату на заданные параметры ввода
          if SetParametersStream(FADCParam.t1,SizeBuf,FData,FSync,L_Stream_ADC) = L_SUCCESS then
           if InitStartLDevice = L_SUCCESS then //инициализирует внутренние переменные драйвера перед началом сбора

        end;
    end;
  end;
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
if FpLDev <> nil then
  begin
   FpLDev.StopLDevice;
   FpLDev.CloseLDevice;
   FpLDev.Release;
   FpLDev:=nil;
  end;
end;

end.