Quantcast
Channel: Instrument Control (GPIB, Serial, VISA, IVI) topics
Viewing all 5674 articles
Browse latest View live

488.2 devel lib missing

$
0
0

Dear NI community!

 

We have been using NI data loggers with a self-created linux program for years. For this we use the header file ni4882.h, which according to this info (https://download.ni.com/ni-linux-desktop/2020.07/readme/drivers/readme_NI-488_2) should actually be installable via libni4882-devel in the package sources.

However, this package does not seem to exist in the package sources (anymore?). The package sources can be searched via this link: https://download.ni.com/ni-linux-desktop/2020.07/rpm/ni/

 

Does anyone have an idea where I can get the header/development files now?

 


xx

GPIB-USB-HS

$
0
0

Hello everybody ,

I have a problem with my measurement instrument: When i send * IDN? No problem the instrument answer ( i can read the name of the instrument )  but when i sends  other SCPI commands to the instrument dont answer and i have an error out.

I use an GPIB -USB-HS to control the instrument.

Error -1073807346 randomly showing up only in specific VI

$
0
0

Hi to Everyone,

 

i am currently working on an internship project and have come to a point were I have to integrate a "MCC-1" programmable dual axis stepper motor controller from Phytron into an existing LabVIEW application in order to move a stepper motor. I was setting the system up to get it to run with the already exisiting program by simply using the Phytron LabIEW VI's for the controller which were included in delivery. I've already been able both to communicate and move my stepper motor with every single VI's which was delivered. Everything worked fine.

Until out of all sudden random "Error -1073807346: Given Session or Object Reference Invalid" errors started to show up when I was trying to use the so called "Directmode" VI which let's you send commands to the motor itself by using VISA write and VISA read functions (i.e. move 5000 steps in positive direction). It's behaving like no Controller was connected to the specified COM-Port.

 

I am connecting the controller via an USB-A/B series connector directly with an USB input of my computer.

The COM shows up both in LabVIEW and NI MAX as I expected it would. Also in Windows.

What's confusing to me is that other VI's which were included in the delivery actually still work with the same controller (for instance the Counter VI which is not giving out a write comment but only read commands) and with the same COM-Port. The only VI not working is the "Directmode" VI which is attached below when I am using it "directly".

 

Please note that I've been connecting a whole lot of other instruments to my Labview program via RS232 (among others). For this I am using third party Serial to USB Adapters which are made for USB 2.0 although I am only having USB 3.0 USB ports available on my computer. Might this have anything to do with "too much traffic" going on?

 

As I have somewhat of a profound knowledge about and experience with LabVIEW from my studies myself I was trying to figure out the problem myself, but as this seems to be a VISA problem of bigger scale and I've been trying to fix this problem for more than 3 days without no success I am really getting frustrated.

I tried changing the VISA read and write functions from Asynchronous and synchronous and vice versa. I searched the internet everywhere but nobody seems to have experienced this particular error behavior.

 

I have uploaded the occuring error messages from the broken VI and the VI itself.

The VI's can also be found on the manufacturers website:

https://www.phytron.eu/products/communication-programming/labview-vi-mcc/

 

I am kindly asking for help for this problem.

 

Cheers

 

Immanuel

Agilent MXA Series Instrument Driver hangs and makes LabView hang

$
0
0

Hello NI,

 

I am controlling a Agilent / Keysight N9000B CXA Signal Analyzer, but should be applicable to other Signal Analyzers from Keysight.

 

When I am in Mode "Swept SA" and sending command ":FETC:OBW1?;" which is a command designed for "Occupied Bandwidth" mode, then the driver and also LabView 18 IDE completely hangs and I have to destroy the LabView IDE process through task manager.

 

The Driver I use:

Agilent MXA Series Instrument Driver Readme
To rate this instrument driver, go to the driver download page on the Instrument Driver Network.
1. Overview
Instrument Driver Technology: LabVIEW Plug and Play (project-style)
Manufacturer: Agilent-Keysight Technology
Supported Language(s): LabVIEW
Supported Model(s): N9020A, N9010A, N9030A, N9000A, M9290A
Model(s) Tested: N9020A, M9290A
Interface(s): GPIB, Ethernet, USB
Firmware Revision(s) Tested: A.01.14(N9020A), A.14.75(M9290A)

Certified: Yes
NI Supported: Yes
Source Code Available: Yes

Driver Revision: 1.3.1
Original Release Date: 11/06/2007
Current Revision Date: 10/2015

 

Place where this error occures:

 

OBW Icon.jpgOBW Send Read Command.jpg

 

Occures while Reading 4096 bytes.

Setting the timeout has no effect !!!

 

On the screen of the SignalAnalyzer a message pops up that a wrong command was sent. But the LabView driver should not hang.

 

Could you check and correct the driver?

 

Thanks and BR

Eugen Wiebe

How to open an Instrument using it's known USB Serial Number?

$
0
0

Hello,

I write an application to open two the same counters CNT-91 (Pendulum) to be connected to USB of one PC.

These counters have an identical USB VID, PID and are distinguished by Serial Number (SN).

But I can't open the counter using USB SN.

 

My app correctly sends and gets the NI VISA commands because I can open and control one CNT-91 using it's VID (VI_ATTR_MANF_ID==0x14EB) and get the SN.

Here are NI VISA used and correctly worked NI VISA functions, the status after execution and the SN in answer of CNT-91:

 

viOpenDefaultRM(@RM) : OK (Status=0)

    SN1=PChar('USB?*INSTR{VI_ATTR_MANF_ID==0x14EB}')
viFindRsrc(RM, SN1, @findList, @numInstrs, Resource1) : OK

viOpen(RM, Resource1, 0, 0, @CNT1) : OK
viSetAttribute(CNT1, VI_ATTR_TMO_VALUE, 1000) : OK

viWrite(CNT1,'*IDN?\n',b,@RetCount) : OK
viRead(CNT1,buf,MAX_CNT,@RetCount) : OK
   PENDULUM, CNT-91, 976722, V1.21 03 Dec 2007 :Result for '*IDN?\n' request, it contains the Serial Number 976722
viClose(CNT1) : OK
viClose(RM) : OK

 

The SN is 976722 in answer of CNT-91.
I also check this SN in Windows' Device Manager when connecting CNT-91 to USB.

 

But there are errors when I try to open the instrument using SN:

viOpenDefaultRM(@RM) : OK (Status=0)

    SN1=PChar('USB?*RAW{VI_ATTR_USB_SERIAL_NUM==976722}')
viFindRsrc(RM, SN1, @findList, @numInstrs, Resource1)          : VI_ERROR_RSRC_NFOUND (Status=0xBFFF0011)

 

In datasheet for CNT-91 the feasibility to use SN to open the instrument is proclaimed.

 

How one may correctly find and open the instrument using SN?

 

==

I also tried

    SN1=PChar('USB?*INSTR{VI_ATTR_USB_SERIAL_NUM==976722}')     //*INSTR vs *RAW

but with the same error.

 

I read the topic viFindRsrc using VI_ATTR_USB_SERIAL_NUM

but link in the second post for 'How do I Find All VISA Instrument Resources Using LabWindows?' is wrong.

 

 

Error -1073807360 in LabVIEW Serial connection to Granville-Phillips 350 via UDS2100

$
0
0

If i try connecting to the Granville-Philips 350 Ion Gauge with the labview programm with the VISA it gives the error.

Is my concern right that LabVIEW cant establish a proper connestion to the Ion Gauge?

Is there a way to check if the Ion Gauge is found via the network?

I tried the programm with different values for the VISA, the ones in the constant titles are the recomended from the manual.

 

The UDS2100 is installed via the Lantronix Device Installer and is shown there, but it is not visible in the Windows device manager.

 

The physical composition:
The PC is connected to a ethernet switch via a ethernet cable.

The Ethernet Switch is connested th the UDS2100 via a ethernet cable.

The UDS2100 is connected to the Granville-Philips Ion Gauge via a 9-pin Serial cable.

 

I would like to avoid to connect the serial port directly to he PC because it is part of a experiment in a lab and therefore not easy to rearrange.

RS-485, Unable to generate desired serial data frame

$
0
0

Hi Reader,

 

Hope you are doing good,

 

I am trying to communicate to a feedback device which I believe, follows UART based, 2-Wire, RS-485 communication at 9600 Baud. I went through some examples and physically set up the RS-485/422 port on sbRIO-9638 to support 2-wire setup.

 

Created a VI just to make sure that I can setup VISA Module first and send desired signals out. I know what the "Data format" / "Serial Data Frame" should look like but I am unable to re-create it. I tried sending out [HEX, Decimal, String and Binary] values to String to "VISA Write" but I think I am doing something fundamentally wrong here, not sure what.

 

I do not have background knowledge for serial communication so basically going by hit and trial and reading material online to confuse myself. After 4 days with no success, I am hoping if anyone can direct me in the right direction.

 

At max, I am able to match the first 8 bits of the data and then after that it is just something random. Also, voltage levels look different as compared with how signals appears on probing the working communication between master and slave. 

 

1) When device is communicating (High state is at +2.5V and Low is at -2.5 Volts, and goes to zero at what appears to be a timeout period)

DS1Z_QuickPrint6.png

 

2) Signals when I attempt to generate them: (High at +5V and Low at 0 V). Starts at around 2.5V.

DS1Z_QuickPrint7.png

I have added technical details on the block diagram on the VI.

Any help is much appreciated! Thank you for reading.


Drivers created by company only will work with one VISA resource (COM)

$
0
0

Hi,

 

I have a bank of syringe pumps I am trying to control using the drivers created by the company who manufactured the syringe pumps. Chemyx. I have a case structure with a flat sequence structure inside. Each page is intended to control one pump. Inside the flat sequence structure I have drivers that were created by the company which set units, flowrate, volume output, among other things all in different cells and then exiting the flat sequence structure is a "close" visa resource. The problem that I am running into is when I try to utilize the same Chemyx drivers on different pages it will not let me change the COM port its communicating with. If anyone has any suggestions I am all ears/eyes.

 

Thank you,

 

Dom

Will NI release a .NET Standard version of the NI-VISA .NET library?

$
0
0

I am in general very interested to know of NI's plans to move it's .NET DLLs to .NET Standard such that the DLLs can be run both under .NET Framework and .NET 5 (this is the new name for .NET Core).

 

I am in particular interested in NI-VISA, since that would be a huge start and seems like it should be the easiest to port. What this would enable is a huge step forward in being able to use other languages with NI hardware. For example, with a .NET Standard NI-VISA DLL, one could use C# or F# on a cRIO running NI Linux Real-Time.

 

Even better if LabVIEW could call .NET Standard DLLs on Linux.

 

What NI's strategy to support .NET Standard DLLs and thus .NET 5? This includes releasing .NET Standard DLLs and updating LabVIEW to be able to call and build .NET Standard DLLs.

PXIe-8431 data corruption with parallel channel access

$
0
0

I am using a PXIe-8431/16 module for serial communication with multiple devices. The PXIe-8880 controller is provisioned with NI Linux RT. I am using a C++ application that reads and writes to the ttys ports directly (as opposed to using the NI Visa library). I am having an issue with data corruption when trying to access multiple channels at the same time at 1562500 baud rate. Below is a more detailed description:

The external devices operate at different baud rates (115200, 921600, 1562500). I use NI MAX to set the baud rate of each channel. My C++ program also uses termios to configure each channel accordingly. All of this seems to be working for single channels. When the C++ program is single threaded I am able to communicate with a single device successfully (good data in and out for all baud rates). When I introduce multiple threads (one thread per channel), I am seeing data corruption at the 1562500 baud rate.

If I instantiate threads for each of the 921600 channels, communication is good on all channels. If I instantiate threads for each of the 1562500 channels, the first channel operates nominally, but all additional threads/channels have corrupted data. 

With all of that being said, it is apparent that there is an issue with parallel access at higher baud rates. Is there anything else I can try to get this to work?

How to sniff sent data over GPIB bus?

$
0
0

Hello,

a customer is using an old MS-DOS measurement program (no sourcecode available) which is talking to an GPIB instrument.

How can i grab the SCPI data that is sent through this bus using a laptop with two GPIB-cards.

The idea is something like.

 

PC -> GPIB -> GPIB1_IN -> Laptop -> GPIB2_OUT -> GPIB -> INSTRUMENT

 

How can this be done?

 

Thanks for ideas or better solutions

How to open case of GPIB-USB-HS+

$
0
0

Hi all,

Following my recent experience with the serial EEPROM in my GPIB-USB-HS losing its memory, I thought I should open up my GPIB-USB-HS+ and take an image of its EEPROM.

 

Unfortunately I've failed at the "first base" - undo two Philips screws, and then what? Case doesn't want to open and I don't wish to break it! I thought there might be another screw under of the labels, but if there is, I can't find it by the usual trick of pressing on the label which normally reveals the location of screws or screw holes.

 

Does anyone know how to get inside these?

 

Thanks
David

GPIB-ENET 100 - SCPI commnds visible with wireshark?

$
0
0

Hello,

i am using a GPIB-ENET 100 interface to send and read SCPI commands an instrument.

Does someone know what i see when using Wirkeshark?

 

Are the sent SCPI commands readable in there?

 

Or is it somehow encypted?

 

Thx

Cannot Open TCPIP SOCKET to a Device I can Ping

$
0
0

I'm working on an automated test setup for some products our company makes, and part of that setup includes communicating via TCP/IP with an NHR4700 resistive load bank.  This thing has been the cause of the vast majority of the issues we have experienced with getting this test setup together.  The TL;DR is that I can ping the device and even its specific port using nmap, so I know it is there, but I cannot open its socket connection in NI-MAX.  And we have had the device working for MONTHS without any major issue using the socket and SCPI (as opposed to the daily issues when we had it initialized as an intr0 VISA resource and the NHR-provided LabVIEW library).  After weeks of support over several different instances across several years, NHR's support has basically given us a shrug and a "I dunno," when we bring up the issues.

 

Here is the incredibly nitty-gritty details of our setup:

 

PC: Windows 7 with 2 Network Adapters

Adapter 1 (used to connect PC to intranet):

 - IP Address Type: Static

 - IPv4 Address: 10.8.0.93

 - Subnet Mask: 255.255.255.0

 - Default Gateway: 10.8.0.1

 - Interface Metric: 2

 

Adapter 2 (Used to connect to hardware test devices):

 - IP Address Type: Static

 - IPv4 Address: 192.168.0.1

 - Subnet Mask: 255.255.255.0

 - Default Gateway: intentionally unset

 - Interface Metric: 1

 - IPv4 Checksum Offload: disabled

 

As per the instructions for the NHR4700, there is no firewall enabled on Adapter 2, User Account Controls are disabled, and the following command was added to the Route Table:

   route -p ADD 255.255.255.255 192.168.0.1 METRIC 1

 

Adapter 2 then connects to a router, which itself connects to a power supply and a load.  The power supply is configured for IP 192.168.0.2, and the load's remote communication IP is 192.168.0.14.  We have never had an issue communicating with the power supply, only the load.  The load's IP address uses different sockets for different kinds of communication.  5024 I believe is used for normal inst0 type control, while port 5025 is the one used for socket control.  And again, until recently, we have been able to control it fine.

 

So, all that being said, I can successfully ping 192.168.0.14 from the command line.  I can open nmap and run the command "nmap -p 5025 192.168.0.14" and get a response back.  But in NI-MAX, when I try to validate the connection (TCPIP0::192.168.0.14::5025::SOCKET), I get VISA error code 0xBFFF0011 "Insufficient location information or the device or resource is not present in the system."

 

I'm at an absolute loss.  I feel convinced that the load itself is somehow to blame for this, but it just doesn't make sense to me how I can do simple communication with it through the terminal yet cannot open its VISA connection in NI-MAX.  Any help at all would be greatly appreciated.

 

EDIT: Fixed the NI-MAX error code.


Measurement issue with Keysight DAQ 34970A

$
0
0

Hi all,

 

We run a self-written Labview software (version 2014) using a Keysight 34970A DAQ on our production floor. 

The system worked perfectly, but we've seen two failures at one work station for a couple of months now, where the DAQ shows failures:

 

- 103 (invalid separator)

- 113 (undefined header)

 

The equipment is connected to the PC via a serial RS232-cable and a USB-to-RS232-adaptor. The OS is Windows 10.

I already touched base with Keysight. The issue isn't related to the device itself, since it works at other work stations.

 

I would be glad if anyone could help me. Have anyone made the same experiences?

Of course I will provide more information if needed.

 

P.S. We installed another device which also uses Labview (higher version than 2014). Could that have an effect on it?

 

Thanks,

Adrian

Operating issues with calibrator Fluke 5720A

$
0
0

Hi.

 

I'm using a usb-gpib-hs to communicate with a Fluke 5720A through a self written code with pyVisa. I'm having trouble when i try to apply voltages above 22V, i'm able to put the voltage value in the calibrator, but i can't apply the operate command, the operate command takes the equipament off the standby mode.

Samples collected in pc from USRP receiver port

$
0
0

Hi, I am collecting IQ samples at the receiver port of USRP-2900. Now, do these sample values represent the voltage levels or is there any any conversion to be done? I am asking this because when I am perform an averaging over magnitude squares of these samples, and taking log of this gives be power in dBfs. I need power in dbm. So, if the IQ values are in volts then (I^2 + Q^2)/(2*R)  can give me power in dBfs. So please let me know if they are in volts and also is R=50ohms in USRP 2901?

ROI when using IMAQdx

$
0
0
Hi, 
I am trying to control a camera (FLIR, Grasshopper 3) via LabView, using IMAQdx. I can get it to work with default settings but when I try to change the ROI, I get an error message that 'the attribute value is out of range'. 
 
I get the message when I try to change the width to under 2000 pixels or offsets to any value other than 0. Changing height seems to work fine.
 
Attached is the image of the VI that I have so far. 
 
The ROI adjustment works fine in NI Max but on switching to Labview VI, I get the error. So, I guess it has probably something to do with my way of calling the IMAQdx property node?
 
Any help/suggestions would be very useful. 
 
Thanks

Power Meter and LabView

$
0
0

Hi everyone, i am following a project in the company where we have a Schneider Power Meter model iem 2155 and it is connected via usb/rs485 to a pc, I wanted to know if you know a "universal" project to see the measurement of the Power Meter on Labview. Thanks everyone in advance.

Viewing all 5674 articles
Browse latest View live