Проблема с VISA

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Проблема с VISA

Сообщение MillyVolt »

Всем привет!
Подскажите, пожалуйста, проблема с VISA, как мне представляется.
Делал пример их статьи уважаемого bomond http://easyelectronics.ru/znakomimsya-s-labview.html
При запуске программы возникает ошибка
Ошибка.jpg
Когда выставляю в инициализации порта COM3 в Measurement and Automation Explorer при попытке открытия VISA Test Panel для этого порта вылезает такая ошибка
Ошибка VISA.jpg
Хотя до выбора COM3 в инициализации порта тестовая панель открывалась нормально.
Ещё заметил, что при считывании с этого порта в тестовой панели первый раз всё нормально, считывает постоянно передаваемый байт 1С или 00011100
VISA Test Panel1.jpg
А начиная со второго раза при чтении с порта такая ошибка
VISA Test Panel2.jpg
Мне кажется, что проблема с VISA, смотрел с терминальных программ, байт исправно передаётся.
Может драйвера какие-то нужны?
Вложения
Ошибка VISA.jpg
Blackman

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

Re: Проблема с VISA

Сообщение Blackman »

Проблема не c VISA, а c программой и возможно с девайсом.
1. Ошибка парсинга строки функцией Scan From String в программе. В этом случае может оказать помощь только телепат), который сможет посмотреть BD :vi: на расстоянии.
2. VISA добросовестно сообщает, что ресурс существует, но в данный момент кем то занят и поэтому у нее нет к нему доступа. Закройте все программы которые могут использовать этот ресурс, включая тестовую панель.
3. Если это реальный ответ от девайса на ID запрос то он или не понимает этой команды или работает с ошибкой. Если это просто Read, то что это означает?
4. Это ошибка передачи девайса.
5. Какие настройки порта и что за девайс?
Blackman

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

Re: Проблема с VISA

Сообщение Blackman »

Посмотрел пример. Если сделано один в один: на выходе VISA Read должна быть ошибка таймаута -> Read buffer=Empty String (пустая строка) -> ошибка парсинга значения кода -> первый cкрин при Enable Automatic Error Handler.

При 9600 Baud: передача 1 байта = 1 ms с копейкой, читаем 200 байт = 200 ms с копейками, парсим один первый байт -> 1000 ms per second/ 200 ms = 5 отсчетов в секунду -> реальная скорость измерения (sample rate).
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Re: Проблема с VISA

Сообщение MillyVolt »

А почему с девайсом, смотрел через 2 терминальные программы,, девайс передает постоянно байт 00011100, как я его и программировал,, также через Test Panel первый раз при нажатии Read видит эти байты 1С или 00011100.
Девайс точно ничем другим не занят, так как ошибка при попытке открытия Test Panel возникает только когда в программе указываешь порт COM3, если этого не сделать, то ошибки нет, тестовая панель открывается и первая команда Read проходит нормально, начиная со второй, как писал выше появляется ошибка в тестовой панели.
-------------------
Настройки порта стандартные, ничего не менял, такие же, как на меге16 настроен UART
9600
No parity
1 stop bit
------------------
А что такое BD VS изопервогоопунктаовашегоосообщения? :)
------------------
Девайс - МК мега16, подключен через USB посредством платы на FT232, стоят драйверы, то есть комп видит COM порт, который является виртуальным и устройство USB serial port.
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Re: Проблема с VISA

Сообщение MillyVolt »

Заметил, что у меня не установлен пакет драйверов NI-DAQmx, он же в моём случае точно должен быть?
Или этот пакет нужен только для устройств от NI?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Проблема с VISA

Сообщение IvanLis »

MillyVolt писал(а):Заметил, что у меня не установлен пакет драйверов NI-DAQmx, он же в моём случае точно должен быть?
Или этот пакет нужен только для устройств от NI?
Его назначение немного шире, о чем можно прочесть: http://sine.ni.com/nips/cds/view/p/lang/ru/nid/10181
Но Вам он не нужен, для работы с портами достаточно NI-VISA: https://www.ni.com/visa/
Аватара пользователя
dadreamer

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

Re: Проблема с VISA

Сообщение dadreamer »

MillyVolt
1. Попробуйте безо всяких панелей сделать простое циклическое чтение данных из порта, без перевода из строки в число и логики, просто накопление строк и вывод на FP.
2. Обновите все дрова на ваш USB-переходник.
3. Попробуйте работать через функции FTD2XX.DLL: http://www.ftdichip.com/Support/Softwar ... abVIEW.htm (требуется драйвер D2XX) (это, если через Визу вообще никак не выходит).
4. Проверьте вашу программу на МК, может, там где-то собака зарыта.
5. Проверьте кабели и их распайку, мало ли.
MillyVolt писал(а):А что такое BD VS изпробелпервогопробелпунктапробелвашегопробелсообщения? :)
Не VS, а :vi: — Virtual Instrument / Виртуальный инструмент / Виртуальный прибор :wink:
Вложения
2016-03-24_10-59-34.jpg
Последний раз редактировалось dadreamer 24 мар 2016, 09:05, всего редактировалось 1 раз.
Blackman

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

Re: Проблема с VISA

Сообщение Blackman »

Делал пример ...
???
А что такое BD VI изопервогоопунктаовашегоосообщения? :)
:vi: - Virtual Instrument (программа)
BD - :vi: Block Diagram
FP - :vi: Front Panel

Ошибка на скрине 4 означает переполнение входного буфера FIFO виртуального COM порта. Это означает, что драйвер этого порта не смог переслать данные из FIFO в общую память системы, из которой их берут уже все остальные игроки, в том числе и VISA.
Используйте при работе с :vi: - NI IO Trace (старое название NI Spy) для более детального понимания, как взаимодействует VISA с системными драйверами.
P.S. Нельзя одновременно работать с Test Panel и программой. Только один игрок владеет мячом (портом)))
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Re: Проблема с VISA

Сообщение MillyVolt »

Blackman писал(а):P.S. Нельзя одновременно работать с Test Panel и программой. Только один игрок владеет мячом (портом)))
Да, была такая мысль :)
При чтении последовательного порта функцией Scan from String ошибка, что не тот формат данных, not expected data format.
Но например кол-во байт в строке считает правильно, в програме (скрин прикреплен), что набросал, когда меняется число байтов для считывания функцией Read VISA, числовой индикатор Numeric возвращает это число байт в буфере.
Программа.jpg
------
Программа на МК всё, что делает, это посылает по UART байт 0x001C. Проверял 2мя терминальными программами и VISA Test Panel, байт приходит. Настройки UART те же, что и у порта COM3, с которым работаю в LabView.
------
на всякий уточню, что NI VISA у меня установлена 15я, последняя версия на офф сайте, может поставить более старую, какую-нибудь 5ю с копейками?
------
dadreamer писал(а):MillyVolt
1. Попробуйте безо всяких панелей сделать простое циклическое чтение данных из порта, без перевода из строки в число и логики, просто накопление строк и вывод на FP.
2. Обновите все дрова на ваш USB-переходник.
Дрова поставил буквально перед использованием устройства в LabView, собсно для того всё и мутил :)
Извиняюсь, если глупый вопрос, как вывести данные с выхода Read в формате строки?
Последний раз редактировалось MillyVolt 26 мар 2016, 13:12, всего редактировалось 1 раз.
Аватара пользователя
dadreamer

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

Re: Проблема с VISA

Сообщение dadreamer »

MillyVolt писал(а):Извиняюсь, если глупый вопрос, как вывести данные с выхода Read в формате строки?
Так они у вас итак уже в строковом формате. Вот, на вашем скриншоте выше - розовый провод - это string. Заверните VISA Read в цикл While и сделайте накполение строк в сдвиговый регистр (если не таймаут; если таймаут, то ничего не делаем). Выведите на экран, чтобы посмотреть, какие данные приходят.
MillyVolt писал(а):на всякий уточню, что NI VISA у меня установлена 15я, последняя версия на офф сайте, может поставить более старую, какую-нибудь 5ю с копейками?
Зачем?
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Re: Проблема с VISA

Сообщение MillyVolt »

То, что строковый я уже понял, просто в LabView я совсем нуб, это мой первый опыт, вопрос был в том, как именно вывести, в принципе именно это я и пытаюсь сделать :)
Сейчас попробую.. значит нужны сдвиговый регистр и экран..
Не могли бы подсказать, как называются в LabView эти компоненты?
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Re: Проблема с VISA

Сообщение MillyVolt »

Уважаемый IvanLis, вас понял на будущее, а это сообщение напишу отдельно, чтобы тема обновилась.

Попробовал вывести string на индикатор, но он пуст, может что не правильно?
программа2.jpg
Аватара пользователя
dadreamer

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

Re: Проблема с VISA

Сообщение dadreamer »

MillyVolt, попробуйте вот этот пример.
Вложения
Untitled 1.vi
lv2013
(10.05 КБ) 316 скачиваний
Последний раз редактировалось dadreamer 26 мар 2016, 17:19, всего редактировалось 1 раз.
MillyVolt
beginner
beginner
Сообщения: 11
Зарегистрирован: 23 мар 2016, 00:43
Версия LabVIEW: 2013

Re: Проблема с VISA

Сообщение MillyVolt »

Вот что получилось, видео с экрана, так проще) (пардон, последние секунд 20 лишние)
2016_03_26_14_51_40_1920x1080.rar
(1.03 МБ) 231 скачивание
В окне Input Data пусто, после 1го нажатия Stop появляется ошибка, после неё ползунок справа в окне Input Data не останавливается(до появления ошибки останавливался), а постоянно уходит вверх, то есть приходят пустые байты что-ли постоянно.

Для модератора: слетела подписка на тему, уже 2й раз; из-за этого, когда 1й раз слетела, увидел ответы только через 2 дня, подставон :)
Blackman

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

Re: Проблема с VISA

Сообщение Blackman »

После первой же ошибки VISA Read уже не работает, так как на ее вход еггог in будет постоянно приходить ошибка из-за Shift Register, и VI будет "молотить" c максимально возможной скоростью нагружая проц.
А ошибка все та же. Покажите настройки COM3 на странице Advanced в Диспетчере Устройств, если такая страница есть для совместимости с UART.
Да, по поводу ошибки Scan From String. В прошлый раз упустил из виду. что передача в бинарном формате. В этом случае лучше всего конвертировать строку в массив U8 при помощи функции Tape Cast .
Последний раз редактировалось Blackman 26 мар 2016, 16:54, всего редактировалось 1 раз.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»