From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview VISA USB RAW Communication

 

I have a system with a USB RAW communication with PC.

 

When I use Java USB interface to communicate with my device. It works perfectly. But with same sources and bulk in and out parameters I lose some data on Labview VISA. 

 

I used FX3 interface for USB and VISA can get most of data(app. 80%) but cannot get 20% of data which java can get. 

Are there any suggestions for this situation in Labview?

0 Kudos
Message 1 of 7
(4,577 Views)

Hey optoni11,

 

Can you go into a bit more detail into the issue you are having. It will definitely give other users more context to help answer your issue.

 

Michael B.

Applications Engineer

National Instruments 

0 Kudos
Message 2 of 7
(4,533 Views)

I am using bulk communication with USB Raw. I have Cypress FX3 USB device and I am using slave fifo interface. Bulk communication protocol is same also. Java can get signals perfectly, but when it is made by labview bulk in communication labivew starts to make some unstable 1 and 0 signals for my control on reading. I am trying to read approximately 2 MB from USB with VISA_read function

0 Kudos
Message 3 of 7
(4,522 Views)

Hi optoni11,

 

It is an interesting problem that you are describing. I am not sure why you are seeing this loss of data. Perhaps if you can post your LabVIEW and Java code more forum users will have some idea of potential problems and insight to why this is happening.

 

Michael B.

Applications Engineer

National Instruments 

0 Kudos
Message 4 of 7
(4,503 Views)

I am using java/c code of cypress which is wrritten for FX3 devices for Slave Fifo interface for usb communication.(

http://www.cypress.com/file/136056/download


I am using usb device with USB Raw communication Making connections with  the NI VISA wizard to create the .inf file and succesfully installed it. the device is recognized by NI MAX. Bulk in and out connections are also same.

My NI Labview code is added. Using USBTMC for this device can be a solution?

When NI makes USB Raw device driver becomes WİnUSB(1.0.0.0) from WinUsb(6.7.xxx.xxx)

0 Kudos
Message 5 of 7
(4,493 Views)

Hi optoni11,

 

Perhaps you should try re-posting into our instrument control forum board in order to reach out to users who are more familiar with VISA communication. Perhaps these users will be able to share some insight into the issue you are seeing.

 

Here is the link to that forum board:

https://forums.ni.com/t5/Instrument-Control-GPIB-Serial/bd-p/140

 

Michael B.

Applications Engineer

National Instruments 

0 Kudos
Message 6 of 7
(4,480 Views)

USBTMC is most certainly not an option. This is a specific USB protocol using a similar structure as USB Mass Storage devices, but specifically designed for communication with test and measurement devices. Aside from a very specific configuration of the USB endpoints and the way bulk transfers are supposed to be done it also includes a higher level specification that uses the IEEE 488.2 standard commands. I would be very surprised if Cypress chose both the USBTMC compatible device profile as well as supporting the IEEE 4888.2 commands like your *IDN?. Nowhere in the document does it say anything like that (but I only scanned it briefly).

To implement the USB Raw communication on VISA USB Raw you will have to do considerably more effort than just use a VISA Opem, VISA Write and VISA Read. You also need to configure the correct communication endpoints, pipes and possibly interrupt transfers and the likes. That's the difference between communicating on USB Raw rather than a specific device profile like USB TMC or USB HID, where this kind of things are specifically defined by the device profile.

 

But VISA only supports USB Raw and USB TMC. So other USB protocols need to be either implemented on USB Raw but in most cases it is easier to use an alternative APIs from some DLL and integrate that through the Call Library Node. 

Rolf Kalbermatter
My Blog
0 Kudos
Message 7 of 7
(4,470 Views)