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


Программирование ЦАП L791

Вы не вошли.

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

pups
30.04.2013 12:19:24
#1

Гость

Программирование ЦАП L791

Здравствуйте!
На базе указанного модуля мне необходимо осуществить следующую задачу управления:
- подать напряжение на первый канал ЦАП и считывать данные с датчика температуры на первом канале АЦП;
- когда эти данные достигнут определенного значения, убрать напряжение с первого канала ЦАП и подать напряжение на второй канал ЦАП, и продолжить считывание данных с первого канала АЦП;
- когда данные температуры достигнут определенного значения, убрать напряжение и со второго канала ЦАП.
Я прошу помощи именно с логикой. С тем как опрашивать датчик и как подавать требуемое напряжение на каналы ЦАП я разобрался. А вот как переключить каналы ЦАП я еще не понял, то есть поменять их состояние в требуемый момент.
Спасибо!

30.04.2013 12:22:03
#2

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

Re: Программирование ЦАП L791

Ну тут как минимум нужны временные-скоростные рамки всех этих управляющих воздействий. Если все делается через IoAsync это одно, а если все быстро в синхронном режиме, то другое....

pups
30.04.2013 12:49:16
#3

Гость

Re: Программирование ЦАП L791

Я делал как описано в примере, то есть скорее всего в синхронном режиме, поскольку с IoAsync (то есть с цифровыми линиями) я не работал.

30.04.2013 13:18:42
#4

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

Re: Программирование ЦАП L791

IoAsync он  и одиночный отсчет читает с АЦП и на ЦАП может вывести... вопрос  в таймингах всего этого...

pups
21.05.2013 09:04:46
#5

Гость

Re: Программирование ЦАП L791

А как вывести одиночный отсчет на канал ЦАП через IoAsync ?

pups
22.05.2013 18:42:57
#6

Гость

Re: Программирование ЦАП L791

Как считывать один отсчет с АЦП через IoAsync еще можно разобраться, а вот про ЦАП не слова нигде нету

23.05.2013 00:12:21
#7

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

Re: Программирование ЦАП L791

в описании IoAsync есть. в manual.pdf или lcomp.chm

pups
27.05.2013 12:32:51
#8

Гость

Re: Программирование ЦАП L791

Как данные заносить таким методом?

вот кусок программы нерабочий, что необходимо тут исправить?
for(int i=0; i<2000; i++){
       if(i<1001){
               dac_data[i]=((USHORT)(V)&0xFFF)|1<<12;
               dac_data2[i]=((USHORT)(0)&0xFFF)|1<<16;
               }
         if(i>1000){
               dac_data[i]=((USHORT)(0)&0xFFF)|1<<12;
               dac_data2[i]=((USHORT)(V2)&0xFFF)|1<<16;
               }
          pp.s_Type = L_ASYNC_DAC_OUT;
         pp.Mode = 0;
         pp.Data[0] = dac_data[i];
         pI->IoAsync(&pp);
          pp.s_Type = L_ASYNC_DAC_OUT;
         pp.Mode = 1;
         pp.Data[0] = dac_data2[i];
         pI->IoAsync(&pp);
      }

27.05.2013 12:41:34
#9

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

Re: Программирование ЦАП L791

Для вывода отсчета на ЦАП надо заполнить структуру ASYNC_PAR так:
            s_Type -L_ASYNC_DAC_OUT;
            Chn[0] -(0/1) выводить на 0 канал;
            Chn[1] -(0/1) выводить на 1 канал;
            Data[0] — данные для 0 канала;
            Data[1] — данные для 1 канала;

между выводами  ioasync задержку  небольшую сделайте...