Перейти к содержанию
    

Kira_strike

Новичок
  • Постов

    3
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Да, я так и сделал неделю назад. Пришлось откатиться, по сути исходник взял с экземпляра предложенного в руководстве Tektronix. Там внутри одного файла все заголовки и определения функций, можно просто скомпелировать, только нужно подкл библ visa. Только тут в явном виде указывается имя устройства с которым сеанс запускается, не через функцию viFind поиск main.cpp
  2. Спасибо за подсказку, но навряд ли проблема с пакетами, потому что .deb пакеты выцепил из одного большого .run поставляемый keysight. При использовании их установщика работает все корректно (проверка проводилась в отдельном экземпляре виртуальной системы, где установка велась целиком через .run пакет), однако они добавляют в автоматическую загрузку скрипт, который, такое чувство, меняет какие-то настройки сеанса, возможно те же регистры. Вмешательство процесса фирмы keysight просто очевидное, так как при проверки количества экземпляров используемых модулей usbtmc через lsmod, автоматически инкрементируется при обнаружении устройства.
  3. Здравствуйте, хотелось бы найти человек который сможет помочь с решением вопроса. За две недели накипело... Буду крайне благодарен за помощь Проблема связана с удаленным общением с устройством Tektronix PWS4323 через команды visa библиотеки. после подключения к устройству со стороны хоста, а именно: обнаружение устройства системой добавление файла устройства usbtmc открытие сеанса вызовом viOpenDefaultRM открытие сеанса с устройством viOpen успешно выполняются все команды на запись и не требующие ответа, со статусом VI_SUCCESS (включая команды "*RST", "VOLTAGE 3V", "SYSTEM:REMOTE" ....), передача которых осуществляется через вызов viWrite, также операции на чтение и запись в регистры выполняются без ошибок viSetAttribute, Однако команды требующие чтения на запрос через viBufRead или viScanf зачастую не выполняются, возвращая ошибку VI_ERROR_TMO . Почему так написал, выглядит как-будто устройство не успевает выполнить запить в буфер чтения. Например команды *ESR?, *TST?, возвращающие короткий ответ в несколько символов, в случае дополнительной задержки по времени после операции записи, viRead может отработать корректно, без ошибок. Однако в случае с командой *IDN? Ошибка наблюдается всегда, успешно только один раз из 1000. Что может послужить причиной такого поведения? Спасибо за помощь. Дополнительная информация: работа осуществляется в системе LINUX, установка библиотек visa была выполнена вручную через зависимые deb пакеты. libivivisa0_7.0.0-0_x86_64.deb, libivivisa0-devel_7.0.0-0_x86_64.deb, libivivisa-confmgr0_7.0.0-0_x86_64.deb, libivivisa-confmgr0_7.0.0-0_x86_64.deb, libivivisa-utilities0_7.0.0-0_x86_64.deb. После открытия сеанса также были попытки наладить работу через установку атрибутов: VI_ATTR_TMO_VALUE, VI_ATTR_TERMCHAR, VI_ATTR_TERMCHAR_EN, VI_ATTR_SEND_END_EN.
×
×
  • Создать...