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


Инициализация LTR

Вы не вошли.

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

Alex
18.12.2008 07:07:05
#1

Гость

Инициализация LTR

Всем привет. У меня такой вопрос: Инициировать модули необходимо для каждого опроса или достаточно один раз инициировать, а дальше только открывать и закрывать?

Арсений
18.12.2008 10:06:07
#2

Гость

Re: Инициализация LTR

Как написано в руководстве программиста, для каждого модуля, инициализация структуры описывающей любой из модулей LTR необходима только в начале работы. Далее вы можете открывать и закрывать модуль. Смысл инициализации в установке начальных значений полей структуры.
Если вы проводите несколько опросов в одном сеансе своей программы, то нормально сначала провести инициализацию, потом открыть модуль, установить нужный режим сбора данных. Затем запустить сбор данных, собрать нужное количество, остановить сбор. Если в дальнейшем вам не понадобиться работать с модулем то закрыть его, а если вы собираете данные периодически то нет нужды закрывать и открывать его постоянно. Достаточно запускать и останавливать сбор данных.

Alex
18.12.2008 12:18:15
#3

Гость

Re: Инициализация LTR

Дело в том, что у меня полный 16-ти местный крейт и опрашиваю я периодически все модули.

Арсений
18.12.2008 16:25:16
#4

Гость

Re: Инициализация LTR

Создайте для каждого модуля свой экземпляр структуры , один раз инициализируйте его и подключайтесь к модулям, и всё, можете работать с каждым отдельно.

Alex
19.12.2008 05:53:14
#5

Гость

Re: Инициализация LTR

Еще один вопрос.
Пишу программу в VisualBasic 6, не могу определиться с переменными в функции инициации LTR (их типах), постоянно выходит ошибка при попытке открыть соединение. При запуске LTR-server все нормально. По-моему я не правильно определяю переменные и не могу поэтому идентифицировать модуль. Если можно помогите определиться с объявлениями переменных.

Арсений
19.12.2008 11:30:43
#6

Гость

Re: Инициализация LTR

Вы открываете соединение при запущенном LTR Server или нет?? LTR Server должен быть запущен. У меня сложилось впечатление, что вы запускаете их отдельно.
Пришлите пожайлуста ваш код на мой ящик, я посмотрю.

Alex
23.12.2008 13:38:53
#7

Гость

Re: Инициализация LTR

Открываю соединение при звпущенном LTR SERVER.
Проблема в том, что для вызова функции из DLL, я должен в нее(в эту функцию) передать описание структуры модуля. Вот здесь у меня загвоздка, я не могу состыковать типы данных в VB 6 и C++.

Арсений
23.12.2008 15:47:28
#8

Гость

Re: Инициализация LTR

в VB есть поддержка NET? Попробуйте использовать библиотеку LtrModulesNet.dll из комплекта библиотек идущих в поставке. Или всё-же вам нужно будет разобраться с преобразованием типов MSVC и VB. В поставке есть примеры под MSVC, для BorlandC++Builder, и для Delphi.

Maxim
26.12.2008 19:05:37
#9

Гость

Re: Инициализация LTR

ну можно конечно попробовать VS2003, она вроде бы более правильно конвертила старые проекты.

а так на VB это все будет выглядеть, наподобие :
Public Structure TLTR
        Public saddr As Long
        Public sport As Integer
        Public csn(15) As Byte
        Public cc As Integer
        Public flags As Long
...
    End Structure

Alex
12.01.2009 11:24:50
#10

Гость

Re: Инициализация LTR

Спасибо, понемногу сдвинулось. Но есть еще вопросы.
У меня используется, наравне с другими модуль LTR34-8, работает в режиме автогенерации, работают все каналы. Вопрос такой: если мне нужно изменить выходное напряжение на одном из каналов, то обязательно ли запускать LTR34_Reset. Я боюсь что в этом случае появится провал в выходном сигнале. И нужно ли перезаписывать остальные каналы?

Alex
12.01.2009 11:26:37
#11

Гость

Re: Инициализация LTR

На момент перезаписи, что будет на выхлде ЦАП? Нужно ли будет стартовать генерацию?

12.01.2009 12:38:10
#12

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Инициализация LTR

Alex. ЦАП в режиме автогенерации, по-сути, можно только остановить в асинхронный момент времени, при этом, на выходах ЦАП зафиксируются мгновенные значения на момент останова. Я полагаю, что в Вашем случае следует использовать потоковый режим LTR34.

Alex
12.01.2009 13:01:46
#13

Гость

Re: Инициализация LTR

Как мне применить потоковый режим если мне необходимо на выходах держать постоянное напряжение?

12.01.2009 13:29:26
#14

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Инициализация LTR

Если на выходах LTR34 нужно управлять постоянными значениями напряжений, то есть вариантов:
1. Перезапускать режим автогенерации.
2. Перезапускать потоковый режим.
3. Один раз в начале запустить потоковый режим и "редко кормить" LTR34 одиночными сэмплами тогда, когда Вам требуется изменить напряжение на выходе ЦАП  (для N-канального режима нужно кормить N сэмплами). Естественно, в этом случае  LTR34 будет работать почти всегда в режиме опустошения буфера, тем не менее каждый  выход ЦАП будут всегда удерживать последнее значение, которое было записано в этот канал. Таким образом, Вы будете работать в потоковом, но асинхронном режиме LTR34.

12.01.2009 13:33:09
#15

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Инициализация LTR

"есть варианты" - я хотел сказать...

12.01.2009 13:42:27
#16

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Инициализация LTR

Добавлю, что вариант 1 и 2 целесообразно использовать для приложений, в которых нужно получить максимально хорошее соотношение сигнал/шум выходных сигналов (где идёт борьба буквально за микровольты шума), в остальных случаях вариант 3 кажется наиболее простым.

Alex
13.01.2009 08:04:03
#17

Гость

Re: Инициализация LTR

Почему при опросе модуля LTR41_ReadPort возникает пауза порядка 6-8 секунд. Можно ли от нее избавиться?

Alex
13.01.2009 08:12:32
#18

Гость

Re: Инициализация LTR

Два модуля LTR27 опрашиваются быстрее, чем один LTR41.

13.01.2009 10:29:10
#19

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Инициализация LTR

1. "...возникает пауза порядка 6-8 секунд"
- Задержка получения данных на верхнем уровне  6-8 секунд?
2. Какая настройка USB порта: high speed или full speed?
3. Я так понял, что у Вас крейт LTR-U-16-1. Какую суммарную скорость передачи данных Вы хотите получить в направлениях от LTR-модулей, к LTR-модулям?
4. Как правило, значительно уменьшить задержки получения данных можно путём организации получения данных от каждого LTR-модуля в разных потоках.

Alex
13.01.2009 11:41:41
#20

Гость

Re: Инициализация LTR

1. "...возникает пауза порядка 6-8 секунд"
- Задержка получения данных на верхнем уровне 6-8 секунд?
Да задержка есть. Я могу послать кусок программы вам на мыло, может быть что-то напутал, подскажите.
Как узнать настройки USB порта не знаю.

13.01.2009 11:42:46
#21

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Инициализация LTR

5. Какой объём ОЗУ в компьютере? Какой процессор?

Alex
13.01.2009 12:28:02
#22

Гость

Re: Инициализация LTR

Процессор Intel Core2 Duo  2.00GHz
ОЗУ   1Гб

Арсений
13.01.2009 13:36:31
#23

Гость

Re: Инициализация LTR

Отправьте код мне на почту, так же поподробнее укажите какой у вас стоит софт, например антивирусные программы.

Арсений
13.01.2009 14:33:01
#24

Гость

Re: Инициализация LTR

Код посмотрел, ответил по почте.

Alex
14.01.2009 06:51:46
#25

Гость

Re: Инициализация LTR

Из антивирусов стоит Avast version 4.8 Professional.