Работа с пересчетным устройством Tektronix

Радиотехника, платы, схемы, оборудование, фото- видео- приборы, компьютеры
Ответить
НиколайV
beginner
beginner
Сообщения: 23
Зарегистрирован: 19 май 2016, 11:14
Версия LabVIEW: 2015
Контактная информация:

Работа с пересчетным устройством Tektronix

Сообщение НиколайV »

Здравствуйте, такая проблема. Скачал драйвера с http://sine.ni.com для пересчетного устройства (ПУ) Tektronix FCA 3100. Запускаю одну из программ в examples, выводящую на экран с некоторым интервалом времени частоты срабатывания ПУ на входные сигналы. На 4-м значении программа стопорится, и останавливается только через abort execution. После этого для повторного запуска любой программы необходимо выткнуть-воткнуть usb-кабель прибора.
При этом программы без цикла так не зависают. Не подскажете, в чем может быть дело? В настройках ПУ полазил, но может что-то упустил.
Та же проблема наблюдается и при работе с ПУ Tektronix FCA 3103, так что индивидуальная "косячность" прибора исключается.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение Artem.spb »

вы бы привели пример программы, которая зависает (и варианта, который не зависает), нам бы проще спиритические сеансы проводить было :)
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение Vitekkz88 »

НиколайV писал(а):Здравствуйте, такая проблема....
Здравствуйте! Приложите скриншот этого примера пожалуйста.
Возможно в нём идёт постоянная реинициализация прибора?
Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.
Так же попробуйте проводить опрос по кнопке. Поместите в case блоки запроса/ответа и по нажатию кнопки опрашивайте(Mechanicla Action для кнопки установите: Latch When Released). Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.
Так же в палитре драйверов к прибору могут быть функции типа Reset, возможно после каждого чтения необходимо проводить сброс прибора или какого-либо параметра.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
НиколайV
beginner
beginner
Сообщения: 23
Зарегистрирован: 19 май 2016, 11:14
Версия LabVIEW: 2015
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение НиколайV »

пример программы, которая зависает (и варианта, который не зависает)
Прикрепляю вложения.
Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.
Поставил, никаких изменений кроме увеличения длительности не замечено.
Так же попробуйте проводить опрос по кнопке.
Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.
Первый опрос проходит удачно, независимо от того, была ли нажата кнопка сразу после запуска программы или спустя какое-то время. Но после него есть только маленькое временное окно (пара секунд), чтоб при следующем нажатии кнопки второй опрос был проведен удачно, в противном же случае снова спасает только abort execution и манипуляции с usb-кабелем для последующего запуска.
В то же время, если не использовать case а изменять время выполнения цикла, то измерений проводится одинаковое количество (4) независимо от того, выполняется цикл 1 или 4 секунды.
Так же в палитре драйверов к прибору могут быть функции типа Reset
Да, задействовал Reset, поместил его внутрь цикла, однако изменений все так же нету.
Вложения
Измерение без цикла (example).png
Измерение без цикла (example).png (7.88 КБ) 10129 просмотров
Измерение с циклом (example)
Измерение с циклом (example)
Измерение с циклом с элементами отладки
Измерение с циклом с элементами отладки
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение dadreamer »

НиколайV писал(а):На 4-м значении программа стопорится, и останавливается только через abort execution.
- На каком именно инструменте программа виснет? Что внутри инструмента?
- Стоит ли галка "Automatically Close VISA Sessions?" (Tools -> Options -> Environment)
- Остаётся ли открытая сессия после обычного останова и после Abort'а? (см. How Can I Get a List of Open VISA Sessions in LabVIEW?)
- Что за опция Enable Continuous Acquisition Mode?

Из того, что пока можно было бы предложить - VISA Close with Abort вместо (перед/после) TKFCA Close. Но не факт, что поможет.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Работа с пересчетным устройством Tektronix

Сообщение Blackman »

Я думаю, что проблема в использовании примера для однократного измерения параметра в режиме непрерывного измерения. Не просто же так в примере от разработчиков драйвера стоит функция задания параметра измерения "Enable Continuous Acquisition Mode=False". Здесь без изучения руководства по применению и программированию ловить нечего.
НиколайV
beginner
beginner
Сообщения: 23
Зарегистрирован: 19 май 2016, 11:14
Версия LabVIEW: 2015
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение НиколайV »

- На каком именно инструменте программа виснет? Что внутри инструмента?
Виснет на инструменте вывода значения измерения, том, который подписан "Single". Протестил его внутреннее содержимое: выполнение программы останавливается на блоке VISA READ (привел скриншот SubVI). Изменение режима с синхронного на асинхронный и обратно, а также изменение объема входного массива с 256 на другие величины результатов не дало.
- Стоит ли галка "Automatically Close VISA Sessions?" (Tools -> Options -> Environment)
Не стояла, но поставил, спасибо :) После этого манипуляции с usb-кабелем стали необязательны.
- Остаётся ли открытая сессия после обычного останова и после Abort'а?
Нет, не оставалась и без включенного "Automatically Close VISA Sessions"
- Что за опция Enable Continuous Acquisition Mode?
Если по описанию блока в help - настраивает прибор на работу в продолжительном режиме или на остановку после единичного измерения. Но, опять же, изменений от переключения режимов я не заметил.
Из того, что пока можно было бы предложить - VISA Close with Abort вместо (перед/после) TKFCA Close. Но не факт, что поможет.
Да, тоже не помогло)
Я думаю, что проблема в использовании примера для однократного измерения параметра в режиме непрерывного измерения.
Пример для однократного измерения запускал в непрерывном режиме в качестве теста. И если посмотрите на скриншоты - вся разница между примерами для однократного и непрерывного измерений - наличие цикла и его остановки при обнаружении ошибки. А насчет Enable Continuous Acquisition Mode уже написал чуть выше, изменений от переключения нету, по крайней мере в данных программах.

А теперь о хорошем: программу удалось запустить в цикличном режиме измерений внеся блок TFCA CLOSE в цикл. Все-таки вопрос, как так, что программа из примеров оказалась некорректно работающей..
Вложения
Отладочный скрн 2.png
Отладочный скрн 2.png (9.7 КБ) 10101 просмотр
Example с не внесенным в цикл CLOSE (как было)
Example с не внесенным в цикл CLOSE (как было)
Example с внесенным в цикл CLOSE
Example с внесенным в цикл CLOSE
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Работа с пересчетным устройством Tektronix

Сообщение Blackman »

НиколайV, как только узнаете как работает команда *OPC? в протоколе IEEE-488, сразу же поймете где Ваша ошибка. :wink:
НиколайV
beginner
beginner
Сообщения: 23
Зарегистрирован: 19 май 2016, 11:14
Версия LabVIEW: 2015
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение НиколайV »

Blackman, после завершения текущей операции возвращает единицу в исходный буфер, причем другие команды невозможно выполнить до завершения выполнения этой (http://rfmw.em.keysight.com/bihelpfiles ... m#OPCQuest).
Очевидно, она не может завершиться и программа стопорится. Но почему именно на 5-й иттерации цикла, а первые проходят нормально? Тут я связи углядеть не могу. :think:
НиколайV
beginner
beginner
Сообщения: 23
Зарегистрирован: 19 май 2016, 11:14
Версия LabVIEW: 2015
Контактная информация:

Re: Работа с пересчетным устройством Tektronix

Сообщение НиколайV »

Здравствуйте! В одном из драйверов пересчетного устройства, проводящем настройки измерения частоты (прикрепляю скриншот), формируется текстовое сообщение, которое подается на буферный вход SubVi "VISA Write". При этом, на момент измерения порог, выставленный ранее в режиме Man (mV), сбрасывается и принимает значение, сохраненное в ПУ по умолчанию в режиме Auto (%). Используя Highlight Execution, видно, что установленное значение порога меняется на дефолтное именно в момент, когда сформированная строка подается на VISA Write. Собственно, вот она: :CONF:FREQ (@1);:ACQ:APER 0.010000

Возникает вопрос, можно ли вручную прописать что-либо аналогичное, что не будет сбрасывать порог? При подаче строки :CONF:FREQ либо пустой строки измерения проходят корректно с порогом, выставляемым в ноль либо в минус.
Вложения
Главная программа. Измерение частоты при устанавливаемом пороге
Главная программа. Измерение частоты при устанавливаемом пороге
Настройка измерения и формирование строки для VISA Write
Настройка измерения и формирование строки для VISA Write
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Железо»