Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Как я понимаю вторичную синхронизацию Вы еще не реализовали . Стоит задача: по приходу импульса начинать собирать данные по 2048 отчетов на канал. С этой платой можно такое реализовать ?
Здравствуйте, можете подсказать как настроить синхронизацию по логическому каналу на плату на языке c#?. В библиотеке для платы L780 были поля: номер канала, порог, тип синхронизации. В библиотеке для платы L502 есть что то подобное? .
Здравствуйте, мне нужно собрать данные с 25 каналов по 8192 отчетов с каждого в течение 2 сек
По расчетам получилось то что нужно выставить dRate = 102,4 (фактическая чистота дискр - 4096).
Дальше пошли проблемы с настройкой буфера
adcPar.t1.FIFO = 8192;
adcPar.t1.IrqStep = 8192;
adcPar.t1.Pages = 25;
adcPar.t1.IrqEna = 1;
adcPar.t1.AdcEna = 1;
Размер большого буфера указал 204800
Выставил такие значения , но плата не не приняла adcPar.t1.FIFO , выставляет 7169(что то вроде того).
Можете показать как надо настроить АЦП для моих нужд. Может после вашего примера пойму логику.
Еще вопрос. Как хранятся отчеты в большом буфере? n1,n2,n3...n?(где n - один отчет с канала) или сначала отчеты 1 канала (например 2048) потом 2 канала(2048) и тд
Если я хочу собрать данные с 24 каналов 2048 отчетов с каждого канала с частотой 2048Гц, то я должен выставить такие настройки ?
DWORD tm = 49152;
//выделяем буффер
ULONG status = pI->RequestBufferStream(&tm, L_STREAM_ADC);
adcPar.t1.s_Type = L_ADC_PARAM;
adcPar.t1.AutoInit = 0;
adcPar.t1.dRate = 49.152;
adcPar.t1.dKadr = 0;
adcPar.t1.dScale = 0;
adcPar.t1.SynchroType = 3; //3
adcPar.t1.SynchroSensitivity = 0;
adcPar.t1.SynchroMode = 0;
adcPar.t1.AdChannel = 0;
adcPar.t1.AdPorog = 0;
adcPar.t1.NCh = 24;
adcPar.t1.Chn[0] = 0x20;
adcPar.t1.Chn[1] = 0x21;
adcPar.t1.Chn[2] = 0x22;
adcPar.t1.Chn[3] = 0x23;
adcPar.t1.Chn[4] = 0x24;
adcPar.t1.Chn[5] = 0x25;
adcPar.t1.Chn[6] = 0x26;
adcPar.t1.Chn[7] = 0x27;
adcPar.t1.Chn[8] = 0x28;
adcPar.t1.Chn[9] = 0x29;
adcPar.t1.Chn[10] = 0x2a;
adcPar.t1.Chn[11] = 0x2b;
adcPar.t1.Chn[12] = 0x2c;
adcPar.t1.Chn[13] = 0x2d;
adcPar.t1.Chn[14] = 0x2e;
adcPar.t1.Chn[15] = 0x2f;
adcPar.t1.Chn[16] = 0x30;
adcPar.t1.Chn[17] = 0x31;
adcPar.t1.Chn[18] = 0x32;
adcPar.t1.Chn[19] = 0x33;
adcPar.t1.Chn[20] = 0x34;
adcPar.t1.Chn[21] = 0x35;
adcPar.t1.Chn[22] = 0x36;
adcPar.t1.Chn[23] = 0x37;
adcPar.t1.FIFO = 2048;
adcPar.t1.IrqStep = 24;
adcPar.t1.Pages = 2048;
adcPar.t1.IrqEna = 1;
adcPar.t1.AdcEna = 1;
Спасибо, помогли разобраться
Должен быть одиночный импульс после вызова LTR22_ SyncPhaze и одиночный импульс после старта. Вызов LTR22_ SyncPhaze() у Вас какой результат то возвращает?
Возвращает ERROR_NO_CMD_RESPONSE
Я сейчас ничего не подаю и ожидаю вот такой реакции от программы
"Если сигнал синхронизации фазировки не приходит, то модули Slave
переходят в бесконечный режим ожидания сигнала синхронизации фазировки, для выхода из
него необходимо их обресетить."
У LTR22 нет режима работы от внешней частоты, есть только синхронизация старта, при этом она должна проходить в два этапа: до старта от внешнего сигнала сигнала старта должна быть выполнена синхронизация фазы АЦП по внешнему сигналу с помощью LTR22_ SyncPhaze, как описано в пункте 3 описания http://www.lcard.ru/download/ltr22api.pdf
Какой сигнал надо подавать на SYN_IN ?
Сделал все как в инструкции, но все равно ошибка
Требуется реализовать синхронизацию по внешнему сигналу.
Указал все значения связанные с синхронизацией.
hltr22.SyncMaster = false;
hltr22.SetSyncPriority(false);
err = hltr22.StartADC(true);
Выдает ошибку - LTR_ERROR_NO_CMD_RESPONSE Нет ответа на переданную команду
Подаю сигнал на SYN_IN - 5В с частотой 50Гц.
Не подскажите в чем может быть проблема?
Здравствуйте, может кто сможет помочь. С АЦП LTR22 собираю данные 0.5 сек с частотой 4006 Гц, получается 2003 значений, но для БПФ нужно количество отчетов кратные степени 2. Как быть в такой ситуации? Заполнять нулями не получается, теряется точность.
Здравствуйте, можете проверить методы
hltr22.fillUserCalibOffset(0, hltr22.FreqDiscretizationIndex, ltr22api.AdcRange.Range_0_3, -0.027f);
hltr22.fillUserCalibScale(0, hltr22.FreqDiscretizationIndex, ltr22api.AdcRange.Range_0_3, 1.00000f);
Как мне кажется они не корректно работают. Исходное значение 0.483 переводят в 48300, хотя в Lgrath2 эти коэфф переводят корректно
а тестовые проекты не открываются в 17 студии? L7XX.TST например...
Открываются, но хочется в другой директории работать. Разбирал тестовый пример, так и не понял что нужно добавить в свой проект, хотя все файлы из LIBRARY перенес в свою папку с проектом
Не могу запустить проект в студии
Ошибка LNK2001 неразрешенный внешний символ ""struct IDaqLDevice * (__cdecl* CreateInstance)(unsigned long)" (?CreateInstance@@3P6APAUIDaqLDevice@@K@ZA)" ConsoleApplication2
Ошибка LNK2001 неразрешенный внешний символ "_IID_ILDEV2" ConsoleApplication2
Ошибка LNK2001 неразрешенный внешний символ "_IID_ILDEV" ConsoleApplication2
Ошибка LNK1120 неразрешенных внешних элементов: 4 ConsoleApplication2
Ошибка LNK2019 ссылка на неразрешенный внешний символ "struct HINSTANCE__ * __cdecl CallCreateInstance(char *)" (?CallCreateInstance@@YAPAUHINSTANCE__@@PAD@Z) в функции _main ConsoleApplication2
Какие файлы нужно добавить проект? И желательно сказать как ?
#include "..\include\ioctl.h"
#include "..\include\ifc_ldev.h"
#include "..\include\create.h"
#include "..\include\pcicmd.h"
эти библиотеки он видит
Как задать пользовательскую калибровку на языке С#?
В примерах не нашел.
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск