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


E20-10: консультация программиста

Вы не вошли.

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

Андрей
27.07.2011 20:41:01
#1

Гость

E20-10: консультация программиста

Здравствуйте!
Мы пишем собственное ПО под DELPHI/WinXP используя модуль Е20-10 (ревизия В)
Можно ли приехать в Ваш офис для консультации у программистов по модулю Е20-10 ?
Нужна ли персональная предварительная договоренность ?
Заранее спасибо

27.07.2011 22:32:06
#2

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

Re: E20-10: консультация программиста

позвоните предвариительно. а так почти в любое рабочее время. только уточните с какой библиотекой работает lcomp или lusbapi. Это разные программисты...

Андрей
28.07.2011 08:38:28
#3

Гость

Re: E20-10: консультация программиста

Отлично!
Мы работаем с LUSBAPI
И конечно предварительно позвоним
Спасибо

28.07.2011 09:42:05
#4

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

Re: E20-10: консультация программиста

А какие трудности возникли при работе с библиотекой Lusbapi?

Андрей
01.08.2011 15:39:15
#5

Гость

Re: E20-10: консультация программиста

Не сказал бы - ТРУДНОСТИ... Скорее - уточнения.
Например:
1) Если вызываю функцию ReadData, то как отличить случаи:
- тайм-аут
от
- ИНОЙ/РЕАЛЬНОЙ ошибки чтения
2) Можно ли задать БЕСКОНЕЧНОЕ ожидание внешнего сигнала старта АЦП (без тайм-аута) ?
3) Еще вопрос: а можно ли работать с блоком Е20-10 НЕ из потоков (синхронных/асинхронных) ?
Хорошо бы пример такой работы (чтение)
Если я непонятно сформулировал вопросы - уточните
Заранее спасибо

01.08.2011 18:17:40
#6

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

Re: E20-10: консультация программиста

1. Тайм-аут используется совместно с WinAPI функциями типа WaitForSingleObject() и предназначен для задания временных рамок ожидания выполнения запроса. Проверить были ли ошибки (например, переполнение внутреннего буфера модуля) в процессе сбора данных можно с помощью функции GET_DATA_STATE().
2. Так в модуле и нет никаких тайм-аутов на ожидание внешнего сигнала старта. Модуль не начинает сбор данных до тех пор, пока не придет внешний синхросигнал.
3. Не совсем понятно, что означает "можно ли работать с блоком Е20-10 НЕ из потоков".

Андрей
02.08.2011 10:05:08
#7

Гость

Re: E20-10: консультация программиста

Спасибо за разъяснения!
С 1) - вроде понятно.
По 2): перед вызовом функции ReadData я заполняю параметры вызова, где есть параметр TimeOut. Что тогда он означает ? АЦП стартован (Start_ADC), затем я читаю с него данные. Как можно понять (программно), что АЦП уже был запущен ВНЕШНИМ сигналом старта и уже подготовил данные ? Т.е что я не раньше времени вызову ф-ю ReadData ?
Ну а 3) - вроде сам понял, "туплю" (:-))
Очень жду Ваших пояснений!
Еще раз спасибо за ответы и оперативность!

02.08.2011 20:34:25
#8

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

Re: E20-10: консультация программиста

1. Согласно руководству программиста, поле TimeOut используется только в синхронном режиме (см. п.4.5.6 //'Получение данных АЦП//'). И опять же TimeOut предназначен для задания временных рамок ожидания выполнения запроса.
2. В асинхронном режиме функция ReadData() всего лишь поручает системе (ядру Windows) истребовать из модуля заданное кол-во данных. И этот запрос будет активным до тех пор, пока модуль не отдаст ВСЕ затребованные данные. А вот отслеживать завершенность запроса можно с помощью различных WinAPI функий: WaitForSingleObject, GetOverlappedResult, HasOverlappedIoCompleted и т.д. Как написано в руководстве программиста, функция ReadData() вполне можно вызывать заранее, т.е. до START_ADC().
Ваш алгоритм, схематично, можно представить так: а. предварительный асинхронный запрос ReadData();
б. запуск АЦП START_ADC();
в. периодическая проверка завершения запроса. Соответственно запрос завершится как только придет внешний синхросигнал и модуль передаст в РС затребованное кол-во данных.

Андрей
03.08.2011 09:41:54
#9

Гость

Re: E20-10: консультация программиста

Спасибо!
Вроде как разобрался...
Попробую все воплотить/проверить в кодах !
Еще раз - СПАСИБО ! Толковый, внятный, оперативный форум (самосвал камней в огороды других АЦП-шных компаний).
Теперь наверное можно обойтись и без личного визита (:-))