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


IoAsync

Вы не вошли.

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

Семен
10.02.2006 17:35:39
#1

Гость

IoAsync

Привет!
Объясните пожалуйста подробно, как пользоваться функцией IoAsync. Например одиночное чтение данных с входа 16.
В хелпе прочитал - не понятно...
Заранее спасибо...

Семен
10.02.2006 17:36:56
#2

Гость

Re: IoAsync

Извините забыл написать: плата L-783.

NEWS
11.02.2006 17:19:39
#3

Гость

Re: IoAsync

Да у них вообще такая белиберда в chm файле по этому поводу!
Пишут надо использовать совместно со структурой ASYNC_PAR, а в описании DAC_PAR. У них ошибка в хелпе...
Видно что сделали на скорую руку, нашарика так сказать... Они то прибор сделали, а поддержка у них отвратительная. Отсюда и рвется форум от количества сообщений. Никакого порядка нет ни в документации ни еще в чем-либо. Виден ремесленный тип производства. Далеко им еще до серьезного рынка, потому что чего-то им не хватает smile))

NEWS
12.02.2006 15:18:43
#4

Гость

Re: IoAsync

Семен, а код программы?

13.02.2006 10:45:40
#5

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

Re: IoAsync

Примерно так :
// тест цифровых линий

   ASYNC_PAR pp;

   pp.s_Type = L_ASYNC_TTL_INP;
   pp.Data[0] = 1;
   pI->IoAsync(&pp);

только указать  что это L_ASYNC_ADC_INP....

Семен
13.02.2006 16:01:28
#6

Гость

Re: IoAsync

Спасибо конечно, но не работает!

    ASYNC_PAR asp;//!!!!!!!!!!!!!
    asp.s_Type = L_ASYNC_ADC_INP;//!!!!!!
    asp.Data[0]=1;//!!!!!!!!!!!!!
    if(pI->IoAsync(&asp)==L_ERROR)
/*
добавил оператор ИФ после неудачных попыток
оказалось постоянно дает ЛЕРРОР
*/
    {
        str1="ERROR!!!";
        MessageBox(str1, str1);
        return;
    }
    int i=asp.Data[0];
    str1.Format("Data: %i", i);
    MessageBox(str1);

Это не работает!
Впрочем как и это:

    ASYNC_PAR asp;//!!!!!!!!!!!!!
    asp.s_Type = L_ASYNC_ADC_INP;//!!!!!!
    asp.Chn[0]=1;//!!!!!!!!!!!!!
    if(pI->IoAsync(&asp)==L_ERROR)
//здесь тоже постоянно дает ЛЕРРОР
    {
        str1="ERROR!!!";
        MessageBox(str1, str1);
        return;
    }
    int i=asp.Data[0];
    str1.Format("Data: %i", i);
    MessageBox(str1);

Подскажите, пожалуйста, что-нибудь!

13.02.2006 16:41:42
#7

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

Re: IoAsync

более полный код примера дайте

Семен
13.02.2006 16:58:46
#8

Гость

Re: IoAsync

void CLCardTestDlg::OnButton1()
{
    // TODO: Add your control notification handler code here
    ADC_PAR ap;
    PLATA_DESCR pd;
    SLOT_PAR sl;
    ULONG slot = 0;
    CallCreateInstance("lcomp.dll");
    LUnknown* pIUnknown = CreateInstance(slot);
    IDaqLDevice* pI;
    HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
    CString str1="";
//    int decimal;
//    decimal = pI->LoadBios("l783");

   pIUnknown->Release();

/*    str1.Format("/n handle %x/n load status %d/n plata test %d",pI->OpenLDevice(),pI->LoadBios("l783"),pI->PlataTest());
    MessageBox(str1);
*/
   pI->ReadPlataDescr(&pd); // fill up properties

/*    str1.Format("/n SerNum %s/n BrdName %s/n Rev %c/n DspType %s/n IsDacPresent %d/n Quartz %d",pd.SerNum,pd.BrdName,pd.Rev,pd.DspType,pd.IsDacPresent,pd.Quartz);
    MessageBox(str1);
*/
   pI->GetSlotParam(&sl);

/*    str1.Format("/nSlot parameters/nBase    %8x/nBaseL   %8x/nMem     %8x/nMemL    %8x/nType    %8x/nDSPType %8x/nIrq     %8x",sl.Base, sl.BaseL, sl.Mem, sl.MemL, sl.BoardType, sl.DSPType, sl.Irq);
    MessageBox(str1);
*/
/*   ap.t1.s_Type = L_ADC_PARAM;
   ap.t1.AutoInit = 1;
   ap.t1.dRate = 200.0;
   ap.t1.dKadr = 0.0;
   ap.t1.dScale = 0;
   ap.t1.SynchroType = 3;
   ap.t1.SynchroSensitivity = 0;
   ap.t1.SynchroMode = 0;
   ap.t1.AdChannel = 0;
   ap.t1.AdPorog = 0;
   ap.t1.NCh = 4;
   ap.t1.Chn[0] = 0x0;
   ap.t1.Chn[1] = 0x1;
   ap.t1.Chn[2] = 0x2;
   ap.t1.Chn[3] = 0x3;
   ap.t1.FIFO = FIFO;
   ap.t1.IrqStep = IrqStep;
   ap.t1.Pages = pages;
   ap.t1.IrqEna = 1;
   ap.t1.AdcEna = 1;

   pI->FillDAQparameters(&ap.t1);
*/
//    PDAQ_PAR pdp;
//    DAQ_PAR pdp;
    ASYNC_PAR asp;
//    str1.Format("Data %u", asp.Data[0]);
//    MessageBox(str1);
//    asp.Data[0]=0;
    asp.s_Type = L_ASYNC_ADC_INP;
    asp.Chn[0]=1;
//    asp.Data[0]=1;
//    asp.Mode=15;
    if(pI->IoAsync(&asp)==L_ERROR)
    {
        str1="ERROR!!!";
        MessageBox(str1, str1);
        return;
    }
    int i=asp.Data[0];
    str1.Format("Data: %i", i);
    MessageBox(str1);
}

Семен
13.02.2006 17:03:40
#9

Гость

Re: IoAsync

без коментов так:

void CLCardTestDlg::OnButton1()
{
    ADC_PAR ap;
    PLATA_DESCR pd;
    SLOT_PAR sl;
    ULONG slot = 0;
    CallCreateInstance("lcomp.dll");
    LUnknown* pIUnknown = CreateInstance(slot);
    IDaqLDevice* pI;
    HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
    CString str1="";

   pIUnknown->Release();

   pI->ReadPlataDescr(&pd); // fill up properties

   pI->GetSlotParam(&sl);

    ASYNC_PAR asp;
    asp.s_Type = L_ASYNC_ADC_INP;
    asp.Chn[0]=1;
    if(pI->IoAsync(&asp)==L_ERROR)
    {
        str1="ERROR!!!";
        MessageBox(str1, str1);
        return;
    }
    int i=asp.Data[0];
    str1.Format("Data: %i", i);
    MessageBox(str1);
}

13.02.2006 17:21:43
#10

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

Re: IoAsync

без загрузки биоса не пойдет....

Семен
13.02.2006 17:27:45
#11

Гость

Re: IoAsync

Я вставлял эти строки
int decimal;
decimal = pI->LoadBios("l783");

Все равно не работает!!!

Семен
13.02.2006 17:33:21
#12

Гость

Re: IoAsync

Дает ошибку L_ERROR при загрузке биоса, хотя он есть в папке с проектом.

13.02.2006 20:11:44
#13

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

Re: IoAsync

Наша прога работает L-Graph ? Если биос не грузиться то естественно ничего работатьне будет....

Семен
14.02.2006 13:22:25
#14

Гость

Re: IoAsync

L-Graph работает.
Я поменял в своей проге местами функции и все вроде работает!
Но зачем так делать?
И если их нужно в определенном порядке загружать, а по-другому не получается сделать, хотелось бы видеть это в документации (в файле chm)...
А то "методом тыка" очень сложно все делать.
И еще в описании функции действительно ошибка!
Там используется другая структура (ASYNC_PAR вместо DAC_PAR).
Я буду очень рад если все мои пожелания будут воплощены в следующих версиях LCOMP!!!

14.02.2006 14:26:02
#15

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

Re: IoAsync

Какие функции местами? А примеры для чего написаны? Это тоже часть документации...
ASYNC_PAR имеет родителем DAQ_PAR....
DAC_PAR имеет тоже родителем DAQ_PAR...
и у функции соответственно DAQ_PAR как параметер...

Семен
14.02.2006 17:30:23
#16

Гость

Re: IoAsync

Хорошо, подскажите тогда пожалуйста как мне с 16 канала снять данные?
Chn[0]=16; /// - ?????
И как трактовать полученные в Data[0] данные в этом случае? (коэффициенты и так далее)?
К сожалению я этого в примерах не нашел.
Заранее спасибо.

14.02.2006 21:43:49
#17

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

Re: IoAsync

в печатной книжке раздел логический номер канала.

Семен
15.02.2006 13:32:43
#18

Гость

Re: IoAsync

Poul - добрейшей души человек!!!!!

Дмитрий
14.05.2007 07:01:06
#19

Гость

Re: IoAsync

Как трактовать полученные в Data[0] данные в этом случае?

14.05.2007 09:36:41
#20

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

Re: IoAsync

В смысле? Что в логическом номере запросили то и получили... полученный код АЦП масштабируйте по логическому каналу...