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


Проблема с E330

Вы не вошли.

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

Дмитрий
19.08.2008 17:59:12
#1

Гость

Проблема с E330

Здравствуйте.
Возникла проблема с модулем Е330.
Написал программу, которая просто считывает при помощи функции SOFT 2 канала 10000 отсчетов и заполняет массив из 20000 элементов соответственно.
Проблема заключается в том, что она зависает первые 2-3 раза сразу после включения компьютера, потом работает нормально.

Кусок кода инициализации:

#include <vcl.h>
#include <LCARD_AD.h>
#pragma hdrstop
//-- -------------------------------------------------------------------------
USEFORM("Unit3.cpp", Form1);
USEFORM("Unit4.cpp", Form4);
int Nch=2, Rate=10, TimerScale=10, fifosize=400;
WORD Channels[2]={0,1};
//-- -------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    try
    {
        Application->Initialize();
        SET_BOARD_TYPE(9);
        SET_BASE_ADDRESS(0x378);
        if (LOADBIOS("LB_WIN20", 1)) {
        Application->MessageBox("Плата не обнаружена", "Ошибка", MB_ICONERROR);
        return 0;}
        SET_WAIT_STATE(0);
        INTR_SETUP(7);
        SET_EPP_MODE_E330(0);
        POWER_AND_PRINTER_E330(0,0);
        SET_TIMER_SCALE(TimerScale);
        SYNCHRO_MODE(0, 0, 0, 0);
        SET_TIME_PARAMETERS_E330(Rate);
        SET_SOFT_PARM_E330(Nch, Channels);
        SET_FIFO_PARAMETERS_E330(fifosize, 0);
        Application->CreateForm(__classid(TForm1), &Form1);
        Application->CreateForm(__classid(TForm4), &Form4);
        Application->Run();

и собственно сам вызов функции (происходит в таймере):

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        SOFT(Data, Nkadr, Channels, Nch, Rate);
        STOP_FUNC_E330();
        Caption=Data[9997];
}

до этого прописывались переменные:

#define Npoint 20000
#define Nkadr 10000
int Nch=2, Rate=10, TimerScale=10, fifosize=400;
WORD Channels[2]={0,1};
WORD *Data=new WORD[Npoint];

Дмитрий
19.08.2008 20:47:23
#2

Гость

Re: Проблема с E330

Из связки
SET_WAIT_STATE(0);
INTR_SETUP(7);
SET_EPP_MODE_E330(0);
POWER_AND_PRINTER_E330(0,0);
SET_TIMER_SCALE(TimerScale);
SYNCHRO_MODE(0, 0, 0, 0);
SET_TIME_PARAMETERS_E330(Rate);
SET_SOFT_PARM_E330(Nch, Channels);
SET_FIFO_PARAMETERS_E330(fifosize, 0);
оставил только POWER_AND_PRINTER_E330(0,0);

Заметил, что зависания проявляются только после первого обращения (после загрузки винды) к POWER_AND_PRINTER_E330(0,0) в течении 40-50 секунд.
Получается, что АЦП переключается на рабочий режим в течение 40-50 секунд?

20.08.2008 09:42:10
#3

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

Re: Проблема с E330

может быть.... а если инициализацию возложить на LSETUP,  то как получается?

Дмитрий
21.08.2008 18:50:37
#4

Гость

Re: Проблема с E330

пробовал с ними тоже самое плюс еще некоторые зависания появились, поэтому пришлось отключить

22.08.2008 08:50:02
#5

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

Re: Проблема с E330

значит это такая фича...