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


Работа L-305

Вы не вошли.

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

Алексей
04.03.2014 20:32:32
#1

Гость

Работа L-305

Здравствуйте!!! Очень нужна ваша помощь. Есть плата L-305 (ISA).
Компьютер старый и на нем стоит DOS. На компьютере есть Turbo Pascal 7.0
(собственно только им я и умею пользоваться). Мне необходимо создать такую
программу в (TP 7) которая бы за некоторое число раз (задается пользователем)
снимала с первого канала L-305 некоторое число измерений (точек) (задается пользователем).
Причем в течении каждой серии измерений (на некоторой точке)(задается пользователем)
нужно чтоб с ЦАПа подвавался прямоугольный импульс небольшой длительности.
Работа АЦП и ЦАП должна происходить одновременно и независимо.
Несколько серий измерений необходимо чтоб провести синхронное накопление.
Почитал о работе встроенных процедур и вот все что смог сделать:
begin
SetBaseAddress($300);
if(Plata_Test = 1) then begin writeln(/'No Board Detected/');
exit;
end;
  Chan := 0;
  Rate := 255;
  Dmm:=0;

for n:=1 to cik do begin
         SET_DA_NUMBER(1,0);
         DMAONE(@Data, NPoint, Chan, Rate, Dmm);
                   STREAM_OUTDA(2047);
           delay(10);
           STREAM_OUTDA(0);
           delay(1);
          while DMA_TEST=0 do DMA_OFF ;
            SET_DA_NUMBER(0,0);           
            for m:=1 to NPoint do begin
        Perevod[m]:=Data*5.12/2048.;
        Usred[m]:=((n-1)/n)*Usred[m]+(1/n)*Perevod[m];
                        
     end;
end;
Здесь cik- количество циклов (серий измерений).
Но увы  работает не так и как организовать импульс с определенной точки???
Помогите пожалуйста!!!!

04.03.2014 22:00:16
#2

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Работа L-305

Алексей, если надумаете обновлять аппаратуру, то могу проконсультировать по выбору оборудования, исходя из Вашей задачи. Кстати, под DOS могут  работать и современные платы АЦП/ЦАП PCI и PCI-Express от L-Card.

05.03.2014 11:42:55
#3

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

Re: Работа L-305

Только если одиночные чтения с АЦП (SAMPLE) и в нужный момент  вывод на ЦАП все в одном цикле. но это смотря до какой скорости...

Алексей
06.03.2014 17:15:18
#4

Гость

Re: Работа L-305

Спасибо!!!Так я уже делал. Но так все равно получается, что когда подается импульс чтение с АЦП простаивает. А больше никак это не организовать?

06.03.2014 17:19:52
#5

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

Re: Работа L-305

Надо посмотреть время выполнения операция вывода на цап и чтения с ацп. профилировать цикл и после вывода на цап начала импульса продолжать ввод с ацп, а не ждать в delay. потом положим через один или два цикла с ацп, дать вывод на цап завершения импульса... кк-то так, но это зависиит от нужных скоростей и длительностей импульсов...

Алексей
06.03.2014 17:38:48
#6

Гость

Re: Работа L-305

Как я понял должно быть что то типа(???):
Procedure SnimSignal;
begin
   SetBaseAddress($300);
   if(Plata_Test = 1) then begin
   Writeln(/'No Board Detected/');
   delay(1000);
   exit;
   end;
     for n:=1 to cik do begin
     for m:=1 to col do begin
                 OUTDA(0);
           SETCHANNEL(0);
           Dat[m]:=SAMPLE*5.12/2048.;
            if m=imp then
         begin
         OUTDA(2047);         
             end; 
        Usred[m]:=((n-1)/n)*Usred[m]+(1/n)*Dat[m];     
      end;
      end;
end;
Импульс нужен чтобы подавать своевременно пуск на вход генератора. А чтение с АЦП нужно чтоб зарегистрировать отклик длительность которого примерно 15 милисек.

Алексей
06.03.2014 17:40:28
#7

Гость

Re: Работа L-305

для пуска генератора delay(10) мне хватало

06.03.2014 18:23:45
#8

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

Re: Работа L-305

ну где то так. ту только импульс будет довольно короткий.

Алексей
06.03.2014 18:39:49
#9

Гость

Re: Работа L-305

Спасибо.