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


L783+Delphi+цифровой вход

Вы не вошли.

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

Артём
16.09.2009 21:59:44
#1

Гость

L783+Delphi+цифровой вход

Здравствуйте, прошу помочь. Проблема в следующем.
Разработка: на цифровой вход поступают данные пачками(массив word), по моему запросу. Я произвожу считывание тоже пачками, потом вновь посылаю запрос и т.д... Всё это в отдельном потоке.
Проблема в том, что из этой пачки иногда пропадают интервалы данных(по несколько слов) запрос и считывание произвожу след. образом:

pp.s_Type := L_ASYNC_TTL_OUT;
{хххх запрос хххх}

pp.s_Type := L_ASYNC_TTL_INP;
N:array[1..count] of word;
i:=0;
repeat
pLDEv.IoAsync(pp);
if хххххххх then
begin
i:=i+1;
N[i]:= word(pp.Data[0]);
end;
until i=count;

всё проверил-перепроверил, пришёл к выводу, что иногда функция IoAsync приотормаживает на несколько сот микросекунд и поэтому пропускает несколько слов данных.
1)В чём может быть причина?
2)Как это исправить?
3)Если можно для этой задачи пользоваться другими функциями, например inword, то прошу привести подробный пример, буду прмного благодарен.

17.09.2009 09:12:39
#2

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

Re: L783+Delphi+цифровой вход

1 так и должно быть
2 исправить можно если биос свой написать  для платы чтобы там на уровне платы осуществлятьВаш алгоритм...

Артём
17.09.2009 16:26:14
#3

Гость

Re: L783+Delphi+цифровой вход

1)должно быть что ioasynс тормозит и данные пропадают? почему?
2)можно подробнее, как это сделать? какие нужны материалы для этого, примеры? кроме делфи, ни на чём не программировал никогда.
3)для чего существуют функции inword, otword и т.п.?

18.09.2009 09:34:52
#4

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

Re: L783+Delphi+цифровой вход

1 так устроен DeviceIoControl виндовый что он медленный
2 исходник биоса как пример и средства разработки для него. подробнее позвоните в Л-Card и спросите консультацию у Тихомирова Сергея.

3 ряд функций это последовательно нескольких вызовов inword outword, те это еще более низкий уровень, но они тоже медленные.