|
|
IoAsync
Привет!
Объясните пожалуйста подробно, как пользоваться функцией IoAsync. Например одиночное чтение данных с входа 16.
В хелпе прочитал - не понятно...
Заранее спасибо...
|
|
|
Re: IoAsync
Извините забыл написать: плата L-783.
|
|
|
Re: IoAsync
Да у них вообще такая белиберда в chm файле по этому поводу!
Пишут надо использовать совместно со структурой ASYNC_PAR, а в описании DAC_PAR. У них ошибка в хелпе...
Видно что сделали на скорую руку, нашарика так сказать... Они то прибор сделали, а поддержка у них отвратительная. Отсюда и рвется форум от количества сообщений. Никакого порядка нет ни в документации ни еще в чем-либо. Виден ремесленный тип производства. Далеко им еще до серьезного рынка, потому что чего-то им не хватает ))
|
|
|
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 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....
|
|
|
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);
Подскажите, пожалуйста, что-нибудь!
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 23.04.2014
- Сообщений: 3,727
|
Re: IoAsync
более полный код примера дайте
|
|
|
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);
}
|
|
|
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);
}
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 23.04.2014
- Сообщений: 3,727
|
Re: IoAsync
без загрузки биоса не пойдет....
|
|
|
Re: IoAsync
Я вставлял эти строки
int decimal;
decimal = pI->LoadBios("l783");
Все равно не работает!!!
|
|
|
Re: IoAsync
Дает ошибку L_ERROR при загрузке биоса, хотя он есть в папке с проектом.
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 23.04.2014
- Сообщений: 3,727
|
Re: IoAsync
Наша прога работает L-Graph ? Если биос не грузиться то естественно ничего работатьне будет....
|
|
|
Re: IoAsync
L-Graph работает.
Я поменял в своей проге местами функции и все вроде работает!
Но зачем так делать?
И если их нужно в определенном порядке загружать, а по-другому не получается сделать, хотелось бы видеть это в документации (в файле chm)...
А то "методом тыка" очень сложно все делать.
И еще в описании функции действительно ошибка!
Там используется другая структура (ASYNC_PAR вместо DAC_PAR).
Я буду очень рад если все мои пожелания будут воплощены в следующих версиях LCOMP!!!
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 23.04.2014
- Сообщений: 3,727
|
Re: IoAsync
Какие функции местами? А примеры для чего написаны? Это тоже часть документации...
ASYNC_PAR имеет родителем DAQ_PAR....
DAC_PAR имеет тоже родителем DAQ_PAR...
и у функции соответственно DAQ_PAR как параметер...
|
|
|
Re: IoAsync
Хорошо, подскажите тогда пожалуйста как мне с 16 канала снять данные?
Chn[0]=16; /// - ?????
И как трактовать полученные в Data[0] данные в этом случае? (коэффициенты и так далее)?
К сожалению я этого в примерах не нашел.
Заранее спасибо.
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 23.04.2014
- Сообщений: 3,727
|
Re: IoAsync
в печатной книжке раздел логический номер канала.
|
|
|
Re: IoAsync
Poul - добрейшей души человек!!!!!
|
|
|
Re: IoAsync
Как трактовать полученные в Data[0] данные в этом случае?
|
|
- Сотрудник "Л Кард"
- Откуда: Москва
- Здесь с 23.04.2014
- Сообщений: 3,727
|
Re: IoAsync
В смысле? Что в логическом номере запросили то и получили... полученный код АЦП масштабируйте по логическому каналу...
|