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

E502 внешняя синхронизацмя

Вы не вошли.

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

12.07.2017 10:52:18
#26

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

Re: E502 внешняя синхронизацмя

stix_s пишет:

В штатном примере попробуйте выставить внешнюю синхронизацию.
Запустить сбор.
И выставить асинхронно выходы.
Ваш пример дает ту же ошибку - 1004. Поверьте.

По этому поводу я писал:

Алексей L Card пишет:

Проблема  может быть в том, что используется одна частота для ввода и вывода, а асинхронный вывод эмулируется через синхронный, поэтому при запуске сбора от внешней частоты и ее отсутствии вывод сделать действительно не получится...

Если нужен вывод на фоне ввода, то наверное только если использовать постоянную частоту и сбор выполнять с АЦП и цифровых входов и уже синхронизацию делать программно селекцией данных по нахождению нужного фронта, если частоты позволяют...

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

12.07.2017 10:55:20
#27

Участник
Здесь с 19.01.2017
Сообщений: 82

Re: E502 внешняя синхронизацмя

Алексей L Card пишет:

По поводу двух пропущенный импульсов, я не увидел, что Вы настраиваете не только частоту от SYN2, но и старт от него же. В этом случае действительно повторяется пропуск двух импульсов,

Да, но почему это происходит только после переключения из режима
X502_SYNC_INTERNAL  в X502_SYNC_DI_SYN2_FALL?
может необходимо выставить некую задержку после
err = X502_Configure(workX502.hndX502, 0);?

Алексей L Card пишет:

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

Ну такова задумка электронщиков.

Алексей L Card пишет:

т.к. если Вы старт настроите INTERNAL, то в любом сбор запустится сразу но первый отсчет будет оцифрован только по первому фронту.
В режиме старта INTERNAL модуль должен работать всегда предсказуемо, что нужно добавить один лишний импульс (т.к. последнее измерение как бы застревает в модуле и не передается). Попробуйте с такой настройкой.

То есть
err = X502_SetSyncMode(workX502.hndX502, X502_SYNC_INTERNAL);
и
err = X502_SetSyncStartMode(workX502.hndX502, X502_SYNC_DI_SYN2_FALL);
так?

12.07.2017 11:02:24
#28

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

Re: E502 внешняя синхронизацмя

наоборот, я имел ввиду так:

err = X502_SetSyncMode(workX502.hndX502, X502_SYNC_DI_SYN2_FALL);
err = X502_SetSyncStartMode(workX502.hndX502, X502_SYNC_INTERNAL);

С точки зрения синхронизации на мой взгляд этот режим по смыслу не будет отличаться от Вашего предыдущего, кроме более очевидного момента старта (т.к. сбор будет уже запущен к моменту первого импульса)

12.07.2017 11:03:15
#29

Участник
Здесь с 19.01.2017
Сообщений: 82

Re: E502 внешняя синхронизацмя

Спасибо, буду размышлять, как выкрутиться.
Непонятно, Куда пропадают отчеты с АЦП sad
И что делать с тем значением, которое остается на конвейере.
Получается, что при следующем запуске измерений я первым отчетом получу старое непонятного срока? Или при
err = X502_StreamsStart(workX502.hndX502);
идет сброс и буфера и конвейера?

12.07.2017 11:14:29
#30

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

Re: E502 внешняя синхронизацмя

Да, идет сброс конвеера при старте, так что если Вы перезапускаете сбор после этих 20 импульсов, то единственное изменение, которое потребуется, это один дополнительный лишний импульс в конец, а с точки зрения программы все будет как будто этой проблемы нет.

Этот лишний семпл придется учитывать только в случае, если у Вас могут идти почки по 20 импульсов, между которыми Вы не будете делать останов/старт.

При таких настройках синхронизации данные с АЦП все равно неверные?

12.07.2017 11:27:42
#31

Участник
Здесь с 19.01.2017
Сообщений: 82

Re: E502 внешняя синхронизацмя

Алексей,  после переключения из режима
X502_SYNC_INTERNAL  в X502_SYNC_DI_SYN2_FALL
нужна задержка после
err = X502_Configure(workX502.hndX502, 0);
чтобы в модуле настройки по регистрам разбежались ?
если да, то какая?

12.07.2017 11:48:43
#32

Участник
Здесь с 19.01.2017
Сообщений: 82

Re: E502 внешняя синхронизацмя

Алексей L Card пишет:

При таких настройках синхронизации данные с АЦП все равно неверные?

Угу sad

adcData: 0 Value: -0,0032
adcData: 1 Value: 0,0016
adcData: 2 Value: -0,0140
adcData: 3 Value: 0,0016
adcData: 4 Value: 1,1000
adcData: 5 Value: 0,0012
adcData: 6 Value: 0,0020
adcData: 7 Value: 0,0024
adcData: 8 Value: -0,0900
adcData: 9 Value: 0,0028
adcData: 10 Value: 0,0020
adcData: 11 Value: 0,0016
adcData: 12 Value: 0,0008
adcData: 13 Value: 0,0012
adcData: 14 Value: 0,0028
adcData: 15 Value: 0,0024
adcData: 16 Value: 0,0024
adcData: 17 Value: 0,0024
adcData: 18 Value: -0,0130

А должно быть

adcData: 0 Value: 0,5
adcData: 1 Value: 0,0016
adcData: 2 Value: 1,8
adcData: 3 Value: 0,0016
adcData: 4 Value: 1,1000
adcData: 5 Value: 0,0012
adcData: 6 Value: 0,0020
adcData: 7 Value: 0,0024
adcData: 8 Value: -0,0900
adcData: 9 Value: 0,0028
adcData: 10 Value: 0,5
adcData: 11 Value: 0,0016
adcData: 12 Value: 1,8
adcData: 13 Value: 0,0012
adcData: 14 Value: 1,1000
adcData: 15 Value: 0,0024
adcData: 16 Value: 0,0024
adcData: 17 Value: 0,0024
adcData: 18 Value: -0,0130

12.07.2017 11:49:06
#33

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

Re: E502 внешняя синхронизацмя

После того как функция вернула управление, то значения по регистрам уже должны "разбежаться"

12.07.2017 11:51:14
#34

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

Re: E502 внешняя синхронизацмя

Кроме режима синхронизации есть какие-то отличия при получении первой и второй последовательности данных.

А что именно подключено к входам АЦП? Что за источники напряжения? они постоянны?

12.07.2017 13:19:00
#35

Участник
Здесь с 19.01.2017
Сообщений: 82

Re: E502 внешняя синхронизацмя

Алексей L Card пишет:

А что именно подключено к входам АЦП? Что за источники напряжения? они постоянны?

Алексей, спасибо, нашел свою ошибку в настройках стенда.

21.07.2017 09:21:59
#36

Участник
Здесь с 19.01.2017
Сообщений: 82

Re: E502 внешняя синхронизацмя

Алексей L Card пишет:

наоборот, я имел ввиду так:

err = X502_SetSyncMode(workX502.hndX502, X502_SYNC_DI_SYN2_FALL);
err = X502_SetSyncStartMode(workX502.hndX502, X502_SYNC_INTERNAL);

Алексей, а возможен вариант

err = X502_SetSyncMode(workX502.hndX502, workX502.hndX502, X502_SYNC_DI_SYN1_FALL);
и
err = X502_SetSyncStartMode(workX502.hndX502, X502_SYNC_DI_SYN2_FALL);

То есть на один вход подаем сигнал старта, а на другой частоту синхронизации.
И все с внешнего устройства.

21.07.2017 09:55:15
#37

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

Re: E502 внешняя синхронизацмя

Да, такой режим возможен

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск