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

Driver NI-488.2 version 3.0 or earlier

$
0
0

Hi, we have an Aminco-Bowman 2 Espectrofluorimeter with a PCI-GPIB card. We need to work it on a computer with Windows XP SP3. The problem is that we can't find any NI-488.2 driver version 3.0 or earlier.
Any help, please?


control instrument VNA

$
0
0

I'm trying to drive old vna (vector network analyser) equipment. I have problem when I put logarithmic scale I lose control of the instrument during the second acquisition of data. I can't understand the relationship between losing control of the equipment and the scale. Does someone have an idea?

Installing multiple drivers of the same type

$
0
0

I am attempting to automate a capacitance measurement system and I have come to realize that the GPIB that I am trying to use is not supported in the most recent releases of 488.2.  I have already downloaded the correct version of 488.2 but I do not want to replace the newest version that is currently in use in the package manager.  Is there any way to go around this issue or do I have to replace my current version?

How to set up USB message received event using Ni Visa .NET (IEEE 488.2 Status Registers)

$
0
0

I spent the day trying to set up an event based message loop. I have a device that supports USBTMC communication. I can read and write to it using FormatedIO read and write methods. I was trying to attach an event to receive and route responses when they come in. However, I had a very hard time finding current documentation that explains the setup.

 

I have read the Ni Visa .NET reference document at:

 

C:\Program Files (x86)\IVI Foundation\VISA\Microsoft.NET\Framework32\v4.0.30319\NI VISA.NET 19.0\Documentation\_NINETVISAHelp.chm

 

However, this doesn't give much useful information about how to accomplish any task.

 

I found this visa events page but it provided no new information.

 

An example installed with Measurement Studio I found showed promise.

 

C:\Users\Public\Documents\National Instruments\NI-VISA\Examples\.NET\19.0\ServiceRequest

 

They setup events in a way that is intuitive to me.

 

// The Enable SRQ button writes the string that tells the instrument to // enable the SRQ bit private void enableSRQButton_Click(object sender, System.EventArgs e) { try { // Registering a handler for an event automatically enables that event. mbSession.ServiceRequest += OnServiceRequest; WriteToSession(commandTextBox.Text); updateSRQControls(false); updateWriteControls(true); } catch(Exception exp) { MessageBox.Show(exp.Message); } } private void OnServiceRequest(object sender, VisaEventArgs e) { try { var mbs = (MessageBasedSession)sender; StatusByteFlags sb = mbs.ReadStatusByte(); if ((sb & StatusByteFlags.MessageAvailable) != 0) { string textRead = mbs.RawIO.ReadString(); readTextBox.Text = InsertCommonEscapeSequences(textRead); } else { MessageBox.Show("MAV in status register is not set, which means that message is not available. Make sure the command to enable SRQ is correct, and the instrument is 488.2 compatible."); } } catch(Exception exp) { MessageBox.Show(exp.Message); } }

 

 

I then had to look into what an SRQ bit was. I found a useful page by NI that gave me a good grasp on how this works at a fundamental level. Skip about 1/4 down to the section titled, "IEEE 488.2 Status Register Overview". The rest was about LabView setup which wasn't helpful. I then found a page by Rhode&Schwarz that really helped me understand all the approaches to this and how to set things up.

 

I set up my own simple windows forms app to test this out.

 

private void ConnectToResourceButton_Click(object sender, EventArgs e) { try { using (ResourceManager resourceManager = new ResourceManager()) { usbSession = (UsbSession)resourceManager.Open(this.ResourcesListBox.SelectedItem.ToString()); // Enable the Message Available bit usbSession.FormattedIO.WriteLine("*SRE 16"); usbSession.ServiceRequest += UsbSession_ServiceRequest; } } catch (Exception ex) { this.richTextBox1.AppendText($"Failed to connect to resource. {ex.Message}\r\n"); } } private void UsbSession_ServiceRequest(object sender, Ivi.Visa.VisaEventArgs e) { try { Ivi.Visa.StatusByteFlags statusByteFlags = usbSession.ReadStatusByte(); if ((statusByteFlags & Ivi.Visa.StatusByteFlags.MessageAvailable) > 0) { string s = usbSession.FormattedIO.ReadLine(); this.richTextBox1.AppendText(s); } } catch (Exception ex) { this.richTextBox1.AppendText($"Service Request Error: {ex.Message}"); } }

 

This should have worked. Nothing. I tried enabling events and polling for it instead.

 

 

private void ConnectToResourceButton_Click(object sender, EventArgs e) { try { using (ResourceManager resourceManager = new ResourceManager()) { usbSession = (UsbSession)resourceManager.Open(this.ResourcesListBox.SelectedItem.ToString()); // Enable the Message Available bit usbSession.FormattedIO.WriteLine("*SRE 16"); usbSession.EnableEvent(Ivi.Visa.EventType.ServiceRequest); Task.Run(() => serviceRequestPoller()); } } catch (Exception ex) { this.richTextBox1.AppendText($"Failed to connect to resource. {ex.Message}\r\n"); } } private void serviceRequestPoller() { while (true) { try { // Will throw exception if no message received within timeout period of 1000 mS usbSession.WaitOnEvent(Ivi.Visa.EventType.ServiceRequest, 1000); Ivi.Visa.StatusByteFlags statusByteFlags = usbSession.ReadStatusByte(); if ((statusByteFlags & Ivi.Visa.StatusByteFlags.MessageAvailable) > 0) { string s = usbSession.FormattedIO.ReadLine(); this.richTextBox1.AppendText(s); } string s = usbSession.FormattedIO.ReadLine(); this.richTextBox1.AppendText(s); } catch (Exception ex) { this.richTextBox1.AppendText($"Service Request Error: {ex.Message}"); } } }

 

Nothing. I got no response. Only manual querying of the status register worked. However, the response would be received in the same receive queue as the message I would be waiting for. That defeated the purpose. So I despaired.

 

Until I thought to try another USBTMC instrument in the office. Everthing worked. The event based method without polling that I first showed worked flawlessly. Just as a word of warning, Rigol's DS4024 Status Register request via NI Visa does not work on at least FW v0.3.2.2. I grabbed a BK Precision variable load and things worked just fine. 

 

At the end of the day I'm really happy I worked this out and got event based message reception working. I am left with two frustrations. Rigol for their faulty FW, but mostly for NI having basically no RECENT and COMPILABLE tutorials for working with NI Visa .NET. Even the documentation is just class and namespace definitions. It's very hard to find anything that says what any of these items do. Am I missing some great resource somewhere? I am not using LabView. I am building and writing all of my applications on Windows Forms Apps in Visual Studio.

 

Bug in VISA Serial?

$
0
0

Hi

maybe some else used an ARDUINO with the VISA serial an founds the problem, that the software starts from the begining when the serial is initalised. This comes because the DTR is is connected to the Reset of the Arduino (via a Capcitor). Even when I setup no Hardware- Handshake the DTR is pulsing. I think it's a bug.

Any solutions?

Packmers...

GPIB on Ubuntu LINUX

$
0
0

Is there any chance to get NI 488.2 drivers running on a Ubuntu Linux?

 

I'm using an PCI-GPIB_TNT5004. The application is a 32-bit application.

Core dump GPBI 488.2 on CentOS 8

$
0
0

Hi,

the installation of NI4882-17.0.0f0.iso from the NI homepage worked and no errors were displayed.

But when starting the GPIB explorer, these error message is shown:

/usr/local/bin/gpibexplorer
Fatal Internal Error 0x90FFFA4E : "AppEntryPoint.cpp", line 86
LabVIEW version 15.0.1f7
You will lose any unsaved work. For assistance in resolving this problem, please relaunch LabVIEW, or contact National Instruments.
Aborted (core dumped)

 

Is ther any actual version of the 488.2 software which supports CentOS 8?

CentOS 7: updateNIDrivers failed

$
0
0

Hi,

I have a fresh installation of CentOS 7 (DVD CentOS-7-x86_64-DVD-1908.iso) with kernel

 

Linux <hostname> 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 

updateNIDriverers fails:

 

Configuring NI-KAL for kernel version 3.10.0-1062.el7.x86_64...
Building module nikal...
nikal: CC [M] /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.o
nikal: /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.c:2043:10: error: ‘GENL_ID_GENERATE’ undeclared here (not in a function)
nikal: .id = GENL_ID_GENERATE,
nikal: ^
nikal: /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.c: In function ‘nNIKAL100_initDriver’:
nikal: /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.c:2083:4: error: implicit declaration of function ‘genl_register_family_with_ops’ [-Werror=implicit-function-declaration]
nikal: if ((status = genl_register_family_with_ops(&nikal_netlink_family, nikal_netlink_ops, 1))) return status;
nikal: ^
nikal: /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.c: In function ‘nNIKAL240_do_munmap’:
nikal: /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.c:3723:4: error: too few arguments to function ‘do_munmap’
nikal: return do_munmap(mm, addr, len);
nikal: ^
nikal: In file included from /var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.c:61:0:
nikal: include/linux/mm.h:2088:12: note: declared here
nikal: extern int do_munmap(struct mm_struct *, unsigned long, size_t,
nikal: ^
nikal: cc1: some warnings being treated as errors
nikal: make[2]: *** [/var/lib/nikal/3.10.0-1062.el7.x86_64/nikal/nikal.o] Error 1
nikal: make[1]: *** [_module_/var/lib/nikal/3.10.0-1062.el7.x86_64/nikal] Error 2
nikal: make: *** [nikal.ko] Error 2
nikal: ERROR: failed to build nikal
nikal: ERROR: NI-KAL update failed.
nikal: ERROR: make of nikal kernel module failed, not installing kernel module.
nikal: ERROR: updateNIDrivers should be called again after fixing the problem.
nikal: ERROR: Update of National Instruments drivers failed.


CentOS 7.3: gpibexplorer not running

$
0
0

Because of installation problems in the last CentOS 7 version, I gave CentOS 7.3 a try. CentOS 7.3 is older than GPIB 488.2 drivers (17.0.0f0 is from 05.04.2017).

 

Now installation was working, kernel modules have been installed. Even the device was visible:

 

[root@ERBUSZE bin]# lsni
Scanning localhost for devices...

System Configuration API resources found:
GPIB0
[root@ERBUSZE bin]# lsni64
Scanning localhost for devices...

System Configuration API resources found:
GPIB0
ERBUSZE

 

But still gpibexplorer is not working:

 

Can't load library /usr/local/lib/liblvrt.so.15.0
libGL.so.1: cannot open shared object file: No such file or directory
To download the LabVIEW Runtime engine, go to http://www.ni.com/rteFinder?dest=lvrte&version=15.0&platform=Linux&lang=en

 

Installation of libGL.so.1 fails:

 

[root@ERBUSZE bin]# yum install libGL.so.1

...
Transaction check error:
file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-efi-1:2.02-0.44.el7.centos.x86_64
file /usr/share/dbus-1/services/org.freedesktop.PackageKit.service from install of gnome-software-3.28.2-3.el7.x86_64 conflicts with file from package gnome-packagekit-common-3.14.3-7.el7.x86_64

What value we have to choose for IQ rate in USRP

$
0
0

Hello Every one,

What value of IQ rate we have to give in IQ rate while transmitting. it depends on what?

i want to transmit a text in a packet based model. After packet formation i have 2 packets of 1124 bits. After modulation i have 20000 IQ data (for Example). 

1. How to set the IQ rate.

2. i want to know what is that 20000?

3. how to calculate the bandwidth? 

4. how to calculate the data rate?

5. if i want to increase the data transmission speed what i need to do?

please help to so solve this doubts. 

Thank you

NI Visa TCPIP Clear method

$
0
0

I am communicating with a Chroma 19036 via NI Visa V19.0 ( TCPIP /message based session ). I need to be able to clear the response buffer as a result of say, issuing multiple writes which generate a device response without a read between them, etc. I received method not supported error when using the session.clear() method and normal IOProtocol. I have tried changing the session IOProtocol to Ieee4882 and received the same error. The documentation seems to indicate that the clear method is in fact supported. Can anyone provide any guidance/help. Thank you in advance,

Ray.

Can USBTMC devices be accessed over a network using nivisaserver on Scientific Linux?

$
0
0

Hello,

 

I have v15.1 of NI-488.2 & NI-VISA running on Scientific Linux 6.7 on a 32-bit thin client computer. This computer has a PCI-GPIB adaptor installed and has several network/serial/USB ports. This allows all the equipment I have to be accessed over the network using VISA Remote Server.

 

I've just connected a USBTMC device (a Tektronix AFG3022C), but this doesn't appear under the list of devices being exposed by the NI-VISA server when viewed in MAX from my desktop PC.

 

Looking on the thin client, I see the device appears under \dev\usbtmc0 and doing an lsusb -v, I see the following:

 

Bus 002 Device 002: ID 0699:034a Tektronix, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0699 Tektronix, Inc.
idProduct 0x034a
bcdDevice 0.42
iManufacturer 1 Tektronix, Inc.
iProduct 2 Tektronix AFG3022C
iSerial 3 C021006
bNumConfigurations 1

 

Can nivisaserver (v15.1) be configured to enable the exporting of USBTMC devices over the network, just as it currently does GPIB and serial devices?

 

Best regards,

Alex

64 bit ni4882 support on Linux

$
0
0

I am trying to port a program written in Free Pascal that uses the ni4882 library from 32 bit Windows 7 to 64 bit Linux.  The program works fine on the 32 bit Windows machine.  I installed the latest OpenSuse distribution (Leap 15.1) and the latest NI488.2 software for Linux (17.0) from the NI website.  The NI488.2 software appeared to install without errors, and all the appropriate dynamic link libraries are installed in their appropriate folders (e.g., /usr/local/lib64), which are actually soft links to the actual files in /usr/local/natinst.  

 

The linux system is 64 bit, and the program is compiled as a 64 bit program, and I therefore presumably want to use the 64 bit NI4882 library (/usr/local/lib64/libni4882.so).  Using nm -D on this file shows me it has the correct symbols.  However, when I try to load the dynamic library using Pascal's LoadLibrary, the program crashes with a SIGABRT error, with no other information.  Loading another library in the same folder succeeds with no errors, giving a handle to the library as expected, so there is no problem with the code.

 

It looks like something is wrong with the dynamic library that is installed by the install program.  Any help with this problem would be greatly appreciated.

 

Venkat Chandrasekhar

 

Microcrocontroller based development boards interfacing to GPIB

$
0
0

Hi, 

I am working on a new multimeter design. I need to add the GPIB interface to this instrument. 

I found two chips supporting GPIB interface:

1. NI TNT4882

2. NI-NAT9914-Serie

 

Is there any reference designs available for using these chips. I am looking for a readily available microcontroller designs that can drive either of these interface chips. 

 

It would be great if someone can point me in the right direction.

 

Thanks, 

Arvind

Graphical Programming

$
0
0

the.jpgHi 

Can anyone help me solve this?

 

Thank you 


openSUSE leap 42.2 ERROR installing kernel module

$
0
0

In my fresh installed version of openSUSE leaf 42.2 the kernel module can not be build, while the kernel-source module is installed:

 

ERBUSZE:/usr/local/bin # ./updateNIDrivers
<11>Feb 25 22:41:06 nikal: ERROR: Error locating kernel sources for the requested kernel version (4.4.104-18.44-default).
usage: ./updateNIDrivers [--no-prompt] [kernelVersion]
kernelVersion
Specify the version of a kernel installed on the system.
A /lib/modules/<kernelVersion> directory should exist for each
kernel installed. The currently running kernel is the default
for ./updateNIDrivers if no argument is provided.
Run 'uname -r' at the command prompt to find the version of the
currently running kernel.
--no-prompt
runs in no prompt mode. Useful if calling this script from
another script. Messages are still printed to the screen and
the return value can be checked for status.
--fast
use fast shortcuts to determine whether modules need to be rebuilt.

 

Even providing the kernel version does not solve the problem:

 

ERBUSZE:/usr/local/bin # uname -a
Linux ERBUSZE 4.4.104-18.44-default #1 SMP Thu Jan 4 08:07:55 UTC 2018 (05a9de6) x86_64 x86_64 x86_64 GNU/Linux
ERBUSZE:/usr/local/bin # ./updateNIDrivers 4.4.104-18.44-default
<11>Feb 25 22:56:24 nikal: ERROR: Error locating kernel sources for the requested kernel version (4.4.104-18.44-default).

...

Private LAN, network in which LAN enabled instrument directly connected to computer

$
0
0

Test set-up under investigation is a networked in which LAN-enabled MDO4054C Oscilloscope and computer are directly connected, and not connected to site LAN, the image here depicts the error message seen when an example code received along with driver are run.

 

MDO4054_LAN Issue.png

 

 

 

How can I overcome this error#- 1073807194

OLD PCI - XP - Driver problem

$
0
0

Thank you all in advance for your assistance.

 

I have a National Instruments PCI-GPIB Card 183617G-01 and I am trying to get it installed on an XP machine SP3.  This is how it has to be since the instrument software is extremely old(designed to run on NT 4.0 - Hitachi HPLC d-7000).

 

Can anyone show me where to download the drivers to make the above happen 🙂

 

The worst-case scenario is to get an ISA slot motherboard and install NT 4.0 and install the NT-488.2M software and the AT-TNTpnp GPIB since this is what the HPLC is designed for, but I would like to get the above working.

 

I tried to install the PCI-GPIB 183617G-01 card with the XP sp3 machine(as stated above) with the NT-488.2M NT 4.0 (did not work) NT-488.2 v 2.4 (did not work)...windows could not load the drivers as stated in the device manager.  Is there a set of drivers in between those that might work?

 

Thanks

 

 

 

GPIBにて コントローラ側のデリミタを CRにしたい

$
0
0

GPIB-USBを使用しています。PCからコントローラ側へのデリミタを CRにしたいのですが NIMAX などで どのように設定したら良いのでしょうか

どなたか教えてください。

TNT5002 Boundary Scan

$
0
0

Hi,

 

From the pinout in the datasheet it looks like the TNT5002 is able to act as a boundary scan device. I might want to use this feature and therefore I have the following questions:

- Where can I find a BSDL file for the TNT5002?
- In the datasheet the JTAG pins are not described. Is there an example on how to use the those pins? Any special needs like pulldown or pullup resistors?

Thanks and best regards,
Patrick

Viewing all 5661 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>