Работа с пересчетным устройством Tektronix
-
- beginner
- Сообщения: 23
- Зарегистрирован: 19 май 2016, 11:14
- Версия LabVIEW: 2015
- Контактная информация:
Работа с пересчетным устройством Tektronix
Здравствуйте, такая проблема. Скачал драйвера с http://sine.ni.com для пересчетного устройства (ПУ) Tektronix FCA 3100. Запускаю одну из программ в examples, выводящую на экран с некоторым интервалом времени частоты срабатывания ПУ на входные сигналы. На 4-м значении программа стопорится, и останавливается только через abort execution. После этого для повторного запуска любой программы необходимо выткнуть-воткнуть usb-кабель прибора.
При этом программы без цикла так не зависают. Не подскажете, в чем может быть дело? В настройках ПУ полазил, но может что-то упустил.
Та же проблема наблюдается и при работе с ПУ Tektronix FCA 3103, так что индивидуальная "косячность" прибора исключается.
При этом программы без цикла так не зависают. Не подскажете, в чем может быть дело? В настройках ПУ полазил, но может что-то упустил.
Та же проблема наблюдается и при работе с ПУ Tektronix FCA 3103, так что индивидуальная "косячность" прибора исключается.
-
- professor
- Сообщения: 3410
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
вы бы привели пример программы, которая зависает (и варианта, который не зависает), нам бы проще спиритические сеансы проводить было :)
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
Здравствуйте! Приложите скриншот этого примера пожалуйста.НиколайV писал(а):Здравствуйте, такая проблема....
Возможно в нём идёт постоянная реинициализация прибора?
Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.
Так же попробуйте проводить опрос по кнопке. Поместите в case блоки запроса/ответа и по нажатию кнопки опрашивайте(Mechanicla Action для кнопки установите: Latch When Released). Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.
Так же в палитре драйверов к прибору могут быть функции типа Reset, возможно после каждого чтения необходимо проводить сброс прибора или какого-либо параметра.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- beginner
- Сообщения: 23
- Зарегистрирован: 19 май 2016, 11:14
- Версия LabVIEW: 2015
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
Прикрепляю вложения.пример программы, которая зависает (и варианта, который не зависает)
Поставил, никаких изменений кроме увеличения длительности не замечено.Внесите frame с тайм-аутом между блоками отправки запроса и получением ответа, поставьте для начала 100 мс.
Так же попробуйте проводить опрос по кнопке.
Первый опрос проходит удачно, независимо от того, была ли нажата кнопка сразу после запуска программы или спустя какое-то время. Но после него есть только маленькое временное окно (пара секунд), чтоб при следующем нажатии кнопки второй опрос был проведен удачно, в противном же случае снова спасает только abort execution и манипуляции с usb-кабелем для последующего запуска.Возможно, что зависание не обязательно после 4-х считанных значений, а после кратковременной работы прибора.
В то же время, если не использовать case а изменять время выполнения цикла, то измерений проводится одинаковое количество (4) независимо от того, выполняется цикл 1 или 4 секунды.
Да, задействовал Reset, поместил его внутрь цикла, однако изменений все так же нету.Так же в палитре драйверов к прибору могут быть функции типа Reset
- Вложения
-
- Измерение без цикла (example).png (7.88 КБ) 10446 просмотров
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
- На каком именно инструменте программа виснет? Что внутри инструмента?Николай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. Но не факт, что поможет.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Работа с пересчетным устройством Tektronix
Я думаю, что проблема в использовании примера для однократного измерения параметра в режиме непрерывного измерения. Не просто же так в примере от разработчиков драйвера стоит функция задания параметра измерения "Enable Continuous Acquisition Mode=False". Здесь без изучения руководства по применению и программированию ловить нечего.
-
- beginner
- Сообщения: 23
- Зарегистрирован: 19 май 2016, 11:14
- Версия LabVIEW: 2015
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
Виснет на инструменте вывода значения измерения, том, который подписан "Single". Протестил его внутреннее содержимое: выполнение программы останавливается на блоке VISA READ (привел скриншот SubVI). Изменение режима с синхронного на асинхронный и обратно, а также изменение объема входного массива с 256 на другие величины результатов не дало.- На каком именно инструменте программа виснет? Что внутри инструмента?
Не стояла, но поставил, спасибо :) После этого манипуляции с usb-кабелем стали необязательны.- Стоит ли галка "Automatically Close VISA Sessions?" (Tools -> Options -> Environment)
Нет, не оставалась и без включенного "Automatically Close VISA Sessions"- Остаётся ли открытая сессия после обычного останова и после Abort'а?
Если по описанию блока в help - настраивает прибор на работу в продолжительном режиме или на остановку после единичного измерения. Но, опять же, изменений от переключения режимов я не заметил.- Что за опция Enable Continuous Acquisition Mode?
Да, тоже не помогло)Из того, что пока можно было бы предложить - VISA Close with Abort вместо (перед/после) TKFCA Close. Но не факт, что поможет.
Пример для однократного измерения запускал в непрерывном режиме в качестве теста. И если посмотрите на скриншоты - вся разница между примерами для однократного и непрерывного измерений - наличие цикла и его остановки при обнаружении ошибки. А насчет Enable Continuous Acquisition Mode уже написал чуть выше, изменений от переключения нету, по крайней мере в данных программах.Я думаю, что проблема в использовании примера для однократного измерения параметра в режиме непрерывного измерения.
А теперь о хорошем: программу удалось запустить в цикличном режиме измерений внеся блок TFCA CLOSE в цикл. Все-таки вопрос, как так, что программа из примеров оказалась некорректно работающей..
- Вложения
-
- Отладочный скрн 2.png (9.7 КБ) 10418 просмотров
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Работа с пересчетным устройством Tektronix
НиколайV, как только узнаете как работает команда *OPC? в протоколе IEEE-488, сразу же поймете где Ваша ошибка.
-
- beginner
- Сообщения: 23
- Зарегистрирован: 19 май 2016, 11:14
- Версия LabVIEW: 2015
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
Blackman, после завершения текущей операции возвращает единицу в исходный буфер, причем другие команды невозможно выполнить до завершения выполнения этой (http://rfmw.em.keysight.com/bihelpfiles ... m#OPCQuest).
Очевидно, она не может завершиться и программа стопорится. Но почему именно на 5-й иттерации цикла, а первые проходят нормально? Тут я связи углядеть не могу.
Очевидно, она не может завершиться и программа стопорится. Но почему именно на 5-й иттерации цикла, а первые проходят нормально? Тут я связи углядеть не могу.
-
- beginner
- Сообщения: 23
- Зарегистрирован: 19 май 2016, 11:14
- Версия LabVIEW: 2015
- Контактная информация:
Re: Работа с пересчетным устройством Tektronix
Здравствуйте! В одном из драйверов пересчетного устройства, проводящем настройки измерения частоты (прикрепляю скриншот), формируется текстовое сообщение, которое подается на буферный вход SubVi "VISA Write". При этом, на момент измерения порог, выставленный ранее в режиме Man (mV), сбрасывается и принимает значение, сохраненное в ПУ по умолчанию в режиме Auto (%). Используя Highlight Execution, видно, что установленное значение порога меняется на дефолтное именно в момент, когда сформированная строка подается на VISA Write. Собственно, вот она: :CONF:FREQ (@1);:ACQ:APER 0.010000
Возникает вопрос, можно ли вручную прописать что-либо аналогичное, что не будет сбрасывать порог? При подаче строки :CONF:FREQ либо пустой строки измерения проходят корректно с порогом, выставляемым в ноль либо в минус.
Возникает вопрос, можно ли вручную прописать что-либо аналогичное, что не будет сбрасывать порог? При подаче строки :CONF:FREQ либо пустой строки измерения проходят корректно с порогом, выставляемым в ноль либо в минус.
- Вложения
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 16 Ответы
- 3265 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 224 Просмотры
-
Последнее сообщение Andrew Lunev