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


Очередной вопрос по Labview+E-440

Вы не вошли.

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

Алексей С.
17.02.2005 09:45:42
#1

Гость

Очередной вопрос по Labview+E-440

Запускаю пример E440.vi, программа зависает на выполнении функции WGetModuleName. Что делать?

shadow
17.02.2005 09:59:33
#2

Гость

Re: Очередной вопрос по Labview+E-440

Попробуйте эту функцию обойти. Моя плата вообще не хочет обнаруживаться из прилагаемого п/о на С++, а также в PowerGraph, LGraph. Я эти опросы в файле ReadData закоментировал и дальше все работает. Выдается серийный номер и тд.

Алексей С.
17.02.2005 11:51:45
#3

Гость

Re: Очередной вопрос по Labview+E-440

Пытаюсь обойти, у меня следом не проходит функция WLOAD_LBIOS. Может поделитесь куском программы, связанной с инициализацией платы?

shadow
17.02.2005 14:23:53
#4

Гость

Re: Очередной вопрос по Labview+E-440

/ основная программа
//-- ----------------------------------------------------------------------
void main(void)
{
    printf(" ************************************/n");
    printf(" Console example for E-440 ADC stream/n");
    printf(" ************************************/n/n");

    // проверим версию используемой DLL библиотеки
    if(GetDllVersion() != LC_CURRENT_VERSION) { printf(" Dll Version Error!!!/n"); exit(1); }
    else printf(" Dll Version --> OK/n");

    // получим указатель на интерфейс
    pE440 = static_cast<ILE440 *>(CreateInstance("e440"));
    if(pE440 == NULL)  { printf(" Module Interface --> Bad/n"); exit(1); }
    else printf(" Module Interface --> OK/n");

    // попробуем обнаружить какой-нибудь модуль в нулевом виртуальном слоте
    if(!pE440->InitLDevice(0))  { printf(" InitLDevice() --> Bad/n"); exit(1); }
    else printf(" InitLDevice() --> OK/n");

    // прочитаем название модуля в нулевом виртуальном слоте
    //if(!pE440->GetModuleName(ModuleName)) { printf(" GetModuleName() --> Bad/n"); exit(1); }
    //else printf(" GetModuleName() --> OK/n");

    // проверим, что это 'E-440'
    //if(strcmp(ModuleName, "E440")) { printf(" The module is not 'E-440'/n"); exit(1); }
    //else printf(" The module is 'E-440'/n");

    // код LBIOS'а возьмём из соответствующего ресурса штатной DLL библиотеки
    if(!pE440->LOAD_LBIOS(/*"E440.bio"*/)) { printf(" LOAD_LBIOS() --> Bad/n"); exit(1); }
    else printf(" LOAD_LBIOS() --> OK/n");

    // проверим загрузку модуля
    if(!pE440->MODULE_TEST()) { printf(" MODULE_TEST() --> Bad/n"); exit(1); }
    else printf(" MODULE_TEST() --> OK/n");

    // получим версию загруженного LBIOS
    if(!pE440->GET_LBIOS_VERSION(&LbiosVersion)) { printf(" GET_LBIOS_VERSION() --> Bad/n"); exit(1); }
    else printf(" GET_LBIOS_VERSION() --> OK/n");

    // теперь проверим версию загруженного LBIOS
    if(LbiosVersion != LC_CURRENT_VERSION)  { printf(" LBIOS Version --> Error!!!"); exit(1); }
    else printf(" LBIOS Version --> OK/n");

    // обязательно проинициализируем поле size структуры MODULE_DESCR_E440

    md.size = sizeof(MODULE_DESCR_E440);
    // получим информацию из ППЗУ модуля
    if(!pE440->GET_MODULE_DESCR(&md)) { printf(" GET_MODULE_DESCR() --> Bad/n"); exit(1); }
    else printf(" GET_MODULE_DESCR() --> OK/n");

    // обязательно проинициализируем поле size структуры ADC_PARS_E440
    am.size = sizeof(ADC_PARS_E440);
    // получим текущие параметры работы АЦП
    if(!pE440->GET_CUR_ADC_PARS(&am)) { printf(" GET_CUR_ADC_PARS() --> Bad/n"); exit(1); }
    else printf(" GET_CUR_ADC_PARS() --> OK/n");

    // установим желаемые параметры АЦП
    am.CorrectionEnabled = true;                // разрешим корректировку данных

Александр
05.03.2005 15:30:11
#5

Гость

Re: Очередной вопрос по Labview+E-440

На нашем сервере появились новые примеры работы с E440 в среде Labview с подробным описанием. Скачать эти примеры Вы можете по следующей ссылке:
http://www.lcard.ru/download/e440lv.exe