Проблема с VISA

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

Проблема с VISA

Postby MillyVolt on 23 Mar 2016, 00:59

Всем привет!
Подскажите, пожалуйста, проблема с 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, смотрел с терминальных программ, байт исправно передаётся.
Может драйвера какие-то нужны?
Attachments
Ошибка VISA.jpg
MillyVolt
beginner
beginner
 
Posts: 11
Joined: 23 Mar 2016, 00:43
LabVIEW Version: 2013
Karma: 0

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

Postby Blackman on 23 Mar 2016, 09:53

Проблема не c VISA, а c программой и возможно с девайсом.
1. Ошибка парсинга строки функцией Scan From String в программе. В этом случае может оказать помощь только телепат), который сможет посмотреть BD :vi: на расстоянии.
2. VISA добросовестно сообщает, что ресурс существует, но в данный момент кем то занят и поэтому у нее нет к нему доступа. Закройте все программы которые могут использовать этот ресурс, включая тестовую панель.
3. Если это реальный ответ от девайса на ID запрос то он или не понимает этой команды или работает с ошибкой. Если это просто Read, то что это означает?
4. Это ошибка передачи девайса.
5. Какие настройки порта и что за девайс?
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby Blackman on 23 Mar 2016, 10:13

Посмотрел пример. Если сделано один в один: на выходе 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).
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby MillyVolt on 23 Mar 2016, 11:41

А почему с девайсом, смотрел через 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
 
Posts: 11
Joined: 23 Mar 2016, 00:43
LabVIEW Version: 2013
Karma: 0

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

Postby MillyVolt on 23 Mar 2016, 23:07

Заметил, что у меня не установлен пакет драйверов NI-DAQmx, он же в моём случае точно должен быть?
Или этот пакет нужен только для устройств от NI?
MillyVolt
beginner
beginner
 
Posts: 11
Joined: 23 Mar 2016, 00:43
LabVIEW Version: 2013
Karma: 0

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

Postby IvanLis on 24 Mar 2016, 08:29

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

Его назначение немного шире, о чем можно прочесть: http://sine.ni.com/nips/cds/view/p/lang/ru/nid/10181
Но Вам он не нужен, для работы с портами достаточно NI-VISA: https://www.ni.com/visa/
User avatar
IvanLis
professor
professor
 
Posts: 4639
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 728
hardware VIP bloggers teachers

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

Postby dadreamer on 24 Mar 2016, 09:03

MillyVolt
1. Попробуйте безо всяких панелей сделать простое циклическое чтение данных из порта, без перевода из строки в число и логики, просто накопление строк и вывод на FP.
2. Обновите все дрова на ваш USB-переходник.
3. Попробуйте работать через функции FTD2XX.DLL: http://www.ftdichip.com/Support/Softwar ... abVIEW.htm (требуется драйвер D2XX) (это, если через Визу вообще никак не выходит).
4. Проверьте вашу программу на МК, может, там где-то собака зарыта.
5. Проверьте кабели и их распайку, мало ли.
MillyVolt wrote:А что такое BD VS изпробелпервогопробелпунктапробелвашегопробелсообщения? :)

Не VS, а :vi: — Virtual Instrument / Виртуальный инструмент / Виртуальный прибор :wink:
Attachments
2016-03-24_10-59-34.jpg
Last edited by dadreamer on 24 Mar 2016, 09:05, edited 1 time in total.
User avatar
dadreamer
professor
professor
 
Posts: 3150
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 801
I/O VIP vision internet

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

Postby Blackman on 24 Mar 2016, 09:04

Делал пример ...

???
А что такое 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 и программой. Только один игрок владеет мячом (портом)))
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby MillyVolt on 26 Mar 2016, 13:06

Blackman wrote: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 wrote:MillyVolt
1. Попробуйте безо всяких панелей сделать простое циклическое чтение данных из порта, без перевода из строки в число и логики, просто накопление строк и вывод на FP.
2. Обновите все дрова на ваш USB-переходник.

Дрова поставил буквально перед использованием устройства в LabView, собсно для того всё и мутил :)
Извиняюсь, если глупый вопрос, как вывести данные с выхода Read в формате строки?
Last edited by MillyVolt on 26 Mar 2016, 13:12, edited 1 time in total.
MillyVolt
beginner
beginner
 
Posts: 11
Joined: 23 Mar 2016, 00:43
LabVIEW Version: 2013
Karma: 0

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

Postby dadreamer on 26 Mar 2016, 13:29

MillyVolt wrote:Извиняюсь, если глупый вопрос, как вывести данные с выхода Read в формате строки?

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

Зачем?
User avatar
dadreamer
professor
professor
 
Posts: 3150
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 801
I/O VIP vision internet

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

Postby MillyVolt on 26 Mar 2016, 13:33

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

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

Postby MillyVolt on 26 Mar 2016, 13:47

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

Попробовал вывести string на индикатор, но он пуст, может что не правильно?
программа2.jpg
MillyVolt
beginner
beginner
 
Posts: 11
Joined: 23 Mar 2016, 00:43
LabVIEW Version: 2013
Karma: 0

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

Postby dadreamer on 26 Mar 2016, 13:53

MillyVolt, попробуйте вот этот пример.
Attachments
Untitled 1.vi
lv2013
(10.05 KiB) Downloaded 170 times
Last edited by dadreamer on 26 Mar 2016, 17:19, edited 1 time in total.
User avatar
dadreamer
professor
professor
 
Posts: 3150
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 801
I/O VIP vision internet

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

Postby MillyVolt on 26 Mar 2016, 14:55

Вот что получилось, видео с экрана, так проще) (пардон, последние секунд 20 лишние)
2016_03_26_14_51_40_1920x1080.rar
(1.03 MiB) Downloaded 120 times


В окне Input Data пусто, после 1го нажатия Stop появляется ошибка, после неё ползунок справа в окне Input Data не останавливается(до появления ошибки останавливался), а постоянно уходит вверх, то есть приходят пустые байты что-ли постоянно.

Для модератора: слетела подписка на тему, уже 2й раз; из-за этого, когда 1й раз слетела, увидел ответы только через 2 дня, подставон :)
MillyVolt
beginner
beginner
 
Posts: 11
Joined: 23 Mar 2016, 00:43
LabVIEW Version: 2013
Karma: 0

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

Postby Blackman on 26 Mar 2016, 16:39

После первой же ошибки VISA Read уже не работает, так как на ее вход еггог in будет постоянно приходить ошибка из-за Shift Register, и VI будет "молотить" c максимально возможной скоростью нагружая проц.
А ошибка все та же. Покажите настройки COM3 на странице Advanced в Диспетчере Устройств, если такая страница есть для совместимости с UART.
Да, по поводу ошибки Scan From String. В прошлый раз упустил из виду. что передача в бинарном формате. В этом случае лучше всего конвертировать строку в массив U8 при помощи функции Tape Cast .
Last edited by Blackman on 26 Mar 2016, 16:54, edited 1 time in total.
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

Next

Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 5 guests

cron