Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Серийный номер платы L-791: 4D904911
Недавно приобрели плату 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.
К теме долго никто не проявлял интерес, поэтому я перестал заглядывать на форум. С момента публикации сообщения компонент для E14-140 уже сильно переработан и исправлен. Написаны новые компоненты для L-791 и E-502. Если есть вопросы, мой e-mail av.gal@mail.ru
а пример из дистрибутива как себя ведет?
Уточнение "синий экран смерти" вызывается не функцией FillDAQparameters, а SetParametersStream! Пример из дистрибутива, действительно, не вылетает, я почему-то не догадался его проанализировать, прошу прощения за поспешность. Спасибо!
Уважаемые разработчики, помогите разобрать с проблемой! Модуль 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.
Страницы 1