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

Радиотехника, платы, схемы, оборудование, фото- видео- приборы, компьютеры

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

Postby НиколайV on 19 Jul 2017, 21:48

Здравствуйте, такая проблема. Скачал драйвера с http://sine.ni.com для пересчетного устройства (ПУ) Tektronix FCA 3100. Запускаю одну из программ в examples, выводящую на экран с некоторым интервалом времени частоты срабатывания ПУ на входные сигналы. На 4-м значении программа стопорится, и останавливается только через abort execution. После этого для повторного запуска любой программы необходимо выткнуть-воткнуть usb-кабель прибора.
При этом программы без цикла так не зависают. Не подскажете, в чем может быть дело? В настройках ПУ полазил, но может что-то упустил.
Та же проблема наблюдается и при работе с ПУ Tektronix FCA 3103, так что индивидуальная "косячность" прибора исключается.
НиколайV
beginner
beginner
 
Posts: 22
Joined: 19 May 2016, 11:14
LabVIEW Version: 2015
Karma: 0

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

Postby Artem.spb on 20 Jul 2017, 08:45

вы бы привели пример программы, которая зависает (и варианта, который не зависает), нам бы проще спиритические сеансы проводить было :)
Artem.spb
expert
expert
 
Posts: 1221
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 214
CLD hardware I/O VIP freelance

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

Postby Vitekkz88 on 20 Jul 2017, 08:49

НиколайV писал(а):Здравствуйте, такая проблема....

Здравствуйте! Приложите скриншот этого примера пожалуйста.
Возможно в нём идёт постоянная реинициализация прибора?
Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.
Так же попробуйте проводить опрос по кнопке. Поместите в case блоки запроса/ответа и по нажатию кнопки опрашивайте(Mechanicla Action для кнопки установите: Latch When Released). Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.
Так же в палитре драйверов к прибору могут быть функции типа Reset, возможно после каждого чтения необходимо проводить сброс прибора или какого-либо параметра.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

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

Postby НиколайV on 21 Jul 2017, 11:27

пример программы, которая зависает (и варианта, который не зависает)

Прикрепляю вложения.
Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.

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

Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.

Первый опрос проходит удачно, независимо от того, была ли нажата кнопка сразу после запуска программы или спустя какое-то время. Но после него есть только маленькое временное окно (пара секунд), чтоб при следующем нажатии кнопки второй опрос был проведен удачно, в противном же случае снова спасает только abort execution и манипуляции с usb-кабелем для последующего запуска.
В то же время, если не использовать case а изменять время выполнения цикла, то измерений проводится одинаковое количество (4) независимо от того, выполняется цикл 1 или 4 секунды.
Так же в палитре драйверов к прибору могут быть функции типа Reset

Да, задействовал Reset, поместил его внутрь цикла, однако изменений все так же нету.
Attachments
Измерение без цикла (example).png
Измерение без цикла (example).png (7.88 KiB) Viewed 1510 times
Измерение с циклом (example).png
Измерение с циклом (example)
Измерение с циклом с элементами отладки.png
Измерение с циклом с элементами отладки
НиколайV
beginner
beginner
 
Posts: 22
Joined: 19 May 2016, 11:14
LabVIEW Version: 2015
Karma: 0

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

Postby dadreamer on 21 Jul 2017, 12:07

НиколайV wrote:На 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. Но не факт, что поможет.
User avatar
dadreamer
doctor
doctor
 
Posts: 2897
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 709
I/O VIP vision internet

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

Postby Blackman on 21 Jul 2017, 14:08

Я думаю, что проблема в использовании примера для однократного измерения параметра в режиме непрерывного измерения. Не просто же так в примере от разработчиков драйвера стоит функция задания параметра измерения "Enable Continuous Acquisition Mode=False". Здесь без изучения руководства по применению и программированию ловить нечего.
Blackman
leader
leader
 
Posts: 686
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 172

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

Postby НиколайV on 21 Jul 2017, 16:11

- На каком именно инструменте программа виснет? Что внутри инструмента?

Виснет на инструменте вывода значения измерения, том, который подписан "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 в цикл. Все-таки вопрос, как так, что программа из примеров оказалась некорректно работающей..
Attachments
Отладочный скрн 2.png
Отладочный скрн 2.png (9.7 KiB) Viewed 1482 times
Example с невнесенным CLOSE.png
Example с не внесенным в цикл CLOSE (как было)
Example с внесенным CLOSE.png
Example с внесенным в цикл CLOSE
НиколайV
beginner
beginner
 
Posts: 22
Joined: 19 May 2016, 11:14
LabVIEW Version: 2015
Karma: 0

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

Postby Blackman on 21 Jul 2017, 17:44

НиколайV, как только узнаете как работает команда *OPC? в протоколе IEEE-488, сразу же поймете где Ваша ошибка. :wink:
Blackman
leader
leader
 
Posts: 686
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 172

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

Postby НиколайV on 21 Jul 2017, 20:11

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

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

Postby НиколайV on 12 Dec 2017, 12:48

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

Возникает вопрос, можно ли вручную прописать что-либо аналогичное, что не будет сбрасывать порог? При подаче строки :CONF:FREQ либо пустой строки измерения проходят корректно с порогом, выставляемым в ноль либо в минус.
Attachments
Измерение частоты при устанавливаемом пороге.png
Главная программа. Измерение частоты при устанавливаемом пороге
Драйвер настройки измерения.png
Настройка измерения и формирование строки для VISA Write
НиколайV
beginner
beginner
 
Posts: 22
Joined: 19 May 2016, 11:14
LabVIEW Version: 2015
Karma: 0


Return to Железо

Who is online

Users browsing this forum: No registered users and 3 guests

cron