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


LTR11 и Labview

Вы не вошли.

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

Новосёлов Михаил
19.02.2011 06:00:14
#1

Гость

LTR11 и Labview

Доброго времени суток.

Есть вопросы по примеру ltr11 labview.
1. Не могу понять, почему при макисимальном значении логических каналов равных 128, размер массива LchTbl - 132? На мой взгляд противоречит техдоку.

2. При считывании 100000 буфера, при настроенных 4-х логических каналах, функцией Recv, затем в ProcessData передаётся размер массива не 100000, а 100000/25, не пойму.

Заранее благодарен за ответ.

21.02.2011 13:48:58
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,304

Re: LTR11 и Labview

Здравствуйте.
1.    Тут явно ошибка в примере.  По-видимому, просто было перепутано, что цифра в LabView означает текущую позицию в массиве, а не просто его размер. Массив должен быть, конечно, на 128 каналов . Причем именно на 128 (т.е. 128-ой элемент нужно инициализировать чем-либо, например нулем, даже если каналов используется реально меньше).
2.    По сути, в примере это означает, что обрабатывается лишь только 1/25 часть данных. Вы можете, конечно, передавать тот же размер на ProcessData, что и на Recv, если хотите обрабатывать все данные. (Кстати, еще правильнее передавать в ProcessData в качестве размера результат Recv , если он положителен, на случай, если за заданный таймаут не будут приняты все данные, что запрашивались)

Новосёлов Михаил
22.02.2011 08:33:33
#3

Гость

Re: LTR11 и Labview

Спасибо за ответ.

Пример ltr11_l8.vi

re 1: Там не цифра - позиция, там задан массив-константа размером 132 элемента, 0-9 инициализированны значениями, далее нулями, а 128-131 значениями. Пример как таковой, как и на дельфи и VC, демонстрирует работу 4-х логических каналов, описанных к тому-же 128-131. Отсуда у меня и вопросы.

re 2: Тут всё понятно - спасибо.

22.02.2011 18:06:29
#4

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,304

Re: LTR11 и Labview

Да, пример на 4 логических канала, соответственно имеют значения элементы 0-3 в массиве на 128 элементов. Элементы 128-131 были созданы и инициализированы ошибочно и реально значения не имеют. Я просто в своем сообщении предположил, что ошибка возникла в связи с тем, что не было замечено, что текущия позиция в массиве 128, и вместо элементов 0-3 были случайно заданы 128-131.

Недоумение понятно. Пример поправим.

Новосёлов Михаил
22.02.2011 21:03:44
#5

Гость

Re: LTR11 и Labview

Спасибо за ответы.