Страница 1 из 1

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

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

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

Добавлено: 20 июл 2017, 08:45
Artem.spb
вы бы привели пример программы, которая зависает (и варианта, который не зависает), нам бы проще спиритические сеансы проводить было :)

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

Добавлено: 20 июл 2017, 08:49
Vitekkz88
НиколайV писал(а):Здравствуйте, такая проблема....
Здравствуйте! Приложите скриншот этого примера пожалуйста.
Возможно в нём идёт постоянная реинициализация прибора?
Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.
Так же попробуйте проводить опрос по кнопке. Поместите в case блоки запроса/ответа и по нажатию кнопки опрашивайте(Mechanicla Action для кнопки установите: Latch When Released). Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.
Так же в палитре драйверов к прибору могут быть функции типа Reset, возможно после каждого чтения необходимо проводить сброс прибора или какого-либо параметра.

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

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

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

Добавлено: 21 июл 2017, 12:07
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. Но не факт, что поможет.

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

Добавлено: 21 июл 2017, 14:08
Blackman
Я думаю, что проблема в использовании примера для однократного измерения параметра в режиме непрерывного измерения. Не просто же так в примере от разработчиков драйвера стоит функция задания параметра измерения "Enable Continuous Acquisition Mode=False". Здесь без изучения руководства по применению и программированию ловить нечего.

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

Добавлено: 21 июл 2017, 16:11
Николай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 в цикл. Все-таки вопрос, как так, что программа из примеров оказалась некорректно работающей..

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

Добавлено: 21 июл 2017, 17:44
Blackman
НиколайV, как только узнаете как работает команда *OPC? в протоколе IEEE-488, сразу же поймете где Ваша ошибка. :wink:

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

Добавлено: 21 июл 2017, 20:11
НиколайV
Blackman, после завершения текущей операции возвращает единицу в исходный буфер, причем другие команды невозможно выполнить до завершения выполнения этой (http://rfmw.em.keysight.com/bihelpfiles ... m#OPCQuest).
Очевидно, она не может завершиться и программа стопорится. Но почему именно на 5-й иттерации цикла, а первые проходят нормально? Тут я связи углядеть не могу. :think:

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

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

Возникает вопрос, можно ли вручную прописать что-либо аналогичное, что не будет сбрасывать порог? При подаче строки :CONF:FREQ либо пустой строки измерения проходят корректно с порогом, выставляемым в ноль либо в минус.