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

Keithley 617 Error using GPIB vi's and VISA

$
0
0

 Hi,

I have few problems while trying to talk to this old piece of equipment.

First, I want to mention that I am familliar with this post over here: 

https://forums.ni.com/t5/Instrument-Control-GPIB-Serial/Communication-with-a-Keithley-617/m-p/3610793#M74493

 

The idea is that I want of course communicate with a device. I wanted to do this by GPIB vi's. What I try to accomplish is sending GPIB bus specific commands like SDC, REN LLOetc. to device, and later sending some Device Specific Commands to K617(to setup device properly like in the link above (commands like U0X, U1X, F1X, etc.)

 

Question at this moment:

1. Is it possible to send those commands(REN SDC LLO etc) using VISA vis so I dont need to use GPIB vis? 

 

First problem occured when I try to use any of GPIB vis. error_1.png

error_2.png

 

setup.png

So, what is my setup? I installed most recent version of NI 488.2 drivers (18.5) and also most recent VISA drivers (18.5)

I am using Agilent/Keysight 82357B USB/GPIB Interface with Keysight Connection Expert IO Suit installed.

 

Next problem is that if I want to send command like U0X to the device using VISA then it works but under specific condition. I need to explicitly type full resouce name in VISA control to the device if i want to make it work. But if i want to chose interface from drop down  menu it doesnt work. Simillar to the topic over here: https://forums.ni.com/t5/LabVIEW/The-pop-up-menu-of-VISA-resource-name-comes-nothing-except/td-p/3351839/page/3 . Even if I type allias name for the VISA resource name in  NI MAX it throws an error posted below. Here are some pics:

 

working_visa.png

 

selection_visa.png

 

error_3.png

 

Sending commands like U0X in NI MAX works, and in Keysight Connection Expert also works. But I cannot do this using GPIB and VISA if I do not explicitly tell the resource name. Because if i do then i receive response with success from device. So, are any solutions for those errors? I dont know what to do with them (tried to solve the problem all day). I can use VISA but is it possible to send those SDC, DCL LLO commands? What about those errors then?

 

Keithley 617 Datasheet:

https://www.univie.ac.at/photovoltaik/umwelt/ws2015/K617_original.pdf

 

Installed driver for K617:

http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=E3B19B3E94A2659CE034080020E74861

 

What I tried:

- Enabling Tulip passport in NI MAX

- Changing default VISA implementation in NI MAX to Agilent VISA or NI's VISA.

- Entering Keysight Connection Expert and chosing option for 488 gpib card device. Described here:

https://www.keysight.com/main/editorial.jspx?cc=US&lc=eng&ckey=2457831&nid=-33257.0.00&id=2457831

 

Thanks in advance.


CRIO 9045 as Modbus master RS485

$
0
0

I am looking to use CRIO 9045  as master for my slaves rs485 slaves. But I can't find any documentation on same. Have any of guys have experience usign Crio as modbus master rather than labview application as master.

 

 

NI VISA USB (RS-232 by CH340) - Read error, undefined characters

$
0
0

Hi Al,

I am working on NI-VISA to get information from analog interface DIGIFLOW-MINI1 by USB (this is RS-232 to USB adapter on CH340 chip, a driver for this chip is instaled).
I use a simple program (VI is attached) to read information from COM chanel. According to the manual (file is attached) I must to receive a string of 55 ASCII characters every 100ms, but I get only set of undefined characters (photo is attached).
Voltage is correct, PC found com port, windows 10, LabView 2016.
I feel that the solution is simple, but looking for the decision on the forums did not bring results.
If someone can help me out of this it will be great. Kindly forward me any support if you have worked on this issue before. Thanks in advance.

Fluke instrument not found on NI MAX (even though it had previously worked)

$
0
0

Hi,

I have connected a Fluke 5502E to my computer using GPIB-USB-HS+ cable.

Next I tried to detect my Fluke 5502E on NI MAX using the following steps:

My System -> NI GPIB-USB-HS+ "GPIB0" -> Scan for instrument.

 

But no instrument was found during the scan even though the Primary Address on NI MAX is the same as the instruments GPIB Port Address.

 

This is confusing as NI MAX had previously found the instrument and this only stopped working after I had connected a second instrument using a separate GPIB-USB-HS+ cable.

 

Would anyone be able to guide me on how to fix this?

NAT9914 Not able to get into Standby State

$
0
0

Using the NAT9914 with a PIC18F47J53.

We to take control and become a CIC, but when we call the aux command to clear the IFC (100us after asserting it), the IFC line goes inactive as expected but the state machine does not enter the StandyBy State, it goes to Idle. The ISR2.CIC  and ADSR.ATN bits are both clear (0).

 

We follow the documentation and other examples we’re seen for NAT9914 initialization.

We can run all the Test.c test routines (from AN110) successfully.

Any Clues?

 

Chad

 

The Init routine

void GPIBInit(void)

{

// now initialize the 9914

                PORTBbits.RB2 = 0;  // reset line for 9914 - line pulled high, force low

                Delay10TCYx(20);

                PORTBbits.RB2 = 1;  // reset line for 9914 - line pulled high, force low

               

               

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_ch_rst); // goes to PON

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_swrst); // goes to operational

                // now we have to set the clock divisors.  Since we have to set the MICR bit, we have to go to 7210 mode

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_sw7210);  // now 7210 mode

                gpibRegWrite(NAT9914reg_AUXCR, 0x50);  // 7210 page-in of ICR2 (7210-mode only register)

                gpibRegWrite(3, 0x81);  // sets the MICR bit

                gpibRegWrite(5, 0x15);  // sets the chip back to 9914 mode

 

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_piaccr); // page-in for hidden reg

                 // (0x20 accesses the ICR) target is a 1MHz internal clock.  12 MHz from me, MICR set divides by 2 =                          // 6MHz, then divide by 6 to get 1 MHz

                gpibRegWrite(NAT9914reg_ACCR, 0x20 | 6); // hidden ACCRA

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_clrpi); //  page-out

 

                gpibRegWrite(NAT9914reg_ADR, 0);  // @@@will change to set address later    

                gpibRegWrite(NAT9914reg_SPMR, 0); //@@@4);  // parallel poll not supported on first -00 HW

                gpibRegWrite(NAT9914reg_IMR0, 0);  // not using interrupts, all polled

                gpibRegWrite(NAT9914reg_IMR1, 0);

                gpibRegWrite(NAT9914reg_IMR2, 0);

 

                // Set T1 delay default of 2us

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_vstd1N); //

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_std1N); //

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_piaccr); //

                gpibRegWrite(NAT9914reg_ACCR, 0xE0); // hidden ACCRI

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_clrpi); // page-out

 

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_swrstN); // goes to operational

 

                if(GPIB_IAmSystemController) gpibControllerBecome();

}

 

The Take Control routine.

static unsigned char gpibControllerBecome(void)

{

                unsigned char rr = 0;

                // we will not listen when controller for now.

                // we will also not allow taking control automatically for now (we'd need to do more work)

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_piaccr); // page-in 

                gpibRegWrite(NAT9914reg_ACCR, 0xA5);  // ACCRB features LWC | ATCT

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_clrpi);

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_sic);

                Delay100TCYx(24); // delay 200 us [100us is required] (2400 instructions - 2400/12e6=2e-4)

                getCIC();

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_sicN);  //@@@ doesn’t go to Standby State, CIC = 0, goes to Idle.      

                getCIC();

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_sreN);

                getCIC();

                Delay100TCYx(24); // delay 200 us [100us is required] (2400 instructions - 2400/12e6=2e-4)

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_sre);

                getCIC();

                gpibRegWrite(NAT9914reg_AUXCR, NAT9914AUXCR_gts);

                getCIC();

                rr = gpibRegRead(NAT9914reg_ISR0); // check BO is set

                gpibIsSysController = 1;

                gpibTalkerLast = 0xfe;

                gpibListenerLast = 0xfe;

                return 0;

}

 

 

ATMEGA 32 interfacing with LabVIEW

$
0
0

Hi

I want to make a mini project for temperature sensing and monitoring on LabVIEW 

I coded me ATmega32 on C language and burn code on chip using Boot loader 

Now i dont have any board or USB port like Arduino etc.

 

How i interface my ATmega32 with labview ?

which hardware is required more ?

 

Kindly help me !

 

Arduino Error 5003

$
0
0

Hello,

I am trying to connect my arduino uno to labview and am getting error 5003 "A timeout occurred while trying to read from the arduino". I verified that the 'blink' example program in the Arduino software works and so the arduino is able to connect to my computer. I am attaching my program below where I also tried to increase the timeout time to 100ms. I am not sure if the send receive vi is hooked up correctly, but everything else is exactly as I have seen it in numerous other examples on the web. I do knot know where the problem could be .

 

Thanks for your help,

Dan

Data Outliers in NI IoT Sensors

$
0
0

Hi all,

Good morning,

 

1) In general, may I know why are there many outlier data when using IoT sensors ?
You know the outliers can be so many, that they form data clusters. You can read more on https://www.cio.com/article/3151081/internet-of-things/worm-on-the-sensor-what-happens-when-iot-data-is-bad.html
 
2) What is so special on IoT sensor that it produce so many outliers compared with traditional sensors ?
 
3) Does it have to do with the IoT sensor technology or it is a quality issue ? 
 
Hope to hear from you. Thank you very much.
 
Regards, 
Vincent Lee

CAN USB with raspberry

SMC 100 Code

$
0
0

Hello,

 

So I am a newbie at this and have no clue what I am doing. I have an SMC100 connected to an actuator, I have no idea how to make it run. I downloaded the labview examples from the Newport website, I tried to run them but multiple errors came up, which I don't understand. Also, if the code works, when I run it does that mean it automatically detects the motor and runs it? What is there I need to do? Any guidance, step by step would be super helpful.

 

Also, incase some information is needed, I need to have the motor oscillate from a set distance, to another over a period of time, and have it loop until I stop the code. 

Error -1073807346

$
0
0

when I tried to run the Agilent 415X Series Dual Source Sweep Display.vi, always to get the message below,

Error -1073807346 occurred at VISA Open in Agilent 415X Series.lvlib:Initialize.vi->Agilent 415X Series Dual Source Sweep Display.vi

 

I don't understand what does this mean and how to fix it.

Thanks!

How to Set Watlow Ez-Zone Controller Set Point

$
0
0

Hi all,

 

I am totally new to Watlow Temperature Controller.

I need to set watlow temperature controller using labview but i have no idea on how to do it.

The drivers provided by Watlow allows me to read/ write.

I am able to read the temperature reading using USB communcation.

 

However, but i have no idea on how to send command to set the Set Point for the controller.

 

Please advise. Thanks so much.

USB COM Probe stops if not instr class

$
0
0

USB communications gives intermittent error "The resource is valid but VISA cannot currently access it". The main program accesses the same subroutine to communicate with the USB instrument in two places (ptA and ptB). If the Visa Resource Name line is probed, the program interrupts (breaks) only when the subroutine is accessed from ptB. The reason is that the tab marked 'Condition' has both 'Is session valid?' and 'Is Instr' 'stop if not valid' boxes checked, and it reports both as invalid.  It does not display anything on the 'general' tab for 'Canonical VISA resource name' when it interrupts the program execution.

I placed an 'Instrument Property Node'  and checked the Rsrc Name, Rsrc Class, Intf Type, and Intf Inst Name, and now it is running fine. 

Any ideas on why it runs from ptA but not ptB, and from ptB if instrument property node is checked?

Drivers and PCI-1426 Library

$
0
0

Hello everyone,,

Sorry in advance if this is not the correct location to post this in.

I'm trying to install an NI PCI-1426 frame grabber and I'm getting a complaint from my app that the SDK and library aren't installed.

 

I've tried installing the NI-IMAQ package, which the documentation for the 1426 calls for, and the device was able to properly install the drivers, but I'm failing to find the library and SDK for this device. Are these still available anywhere?

 

Thank you!

 
 

Instrurment drivers are not visible in LabVIEW palette


Instrument divers are not visible in LabVIEW palette

VISA ERROR : 0xBFFF00A7 using the instrument device R&S FSH 20

USB-8473 python

$
0
0

Hello,

 

Does anyone know how to send data via the USB-8473 using python?

I have already installed the NI-CAN 16 driver but I would like to have an example program of how to send data via CAN using Python

 

Kikusui PWX1500L Error Query

$
0
0

Hi there,

 

I'm experiencing an error when I try and run the example VIs for a Power Supply I want to control.

 

The instrument report error is -133, "Undefined header", I've looked in the instrument's manual and found;

  "An error in the range [ -199, -100 ] indicates that an IEEE 488.2 syntax error has been detected by the instrument’s parser. The occurrence of any error in this class shall cause the Command Error (bit 5) in the event status register to be set."

 

The labview error code is -1074000000 and the example VIs were obtained from the instrument driver network;

 

http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=52F46F728B235F89E05400144FFBB30D

 

Could I have some pointers on how a debug/problem solve this please. This is the first time I've experienced instrument errors with LabVIEW and I'm not sure where to begin.

 

Kind Regards,

 

Olly

0V & 0A DC/AC Negative Tolerance (34410A / 34401A / 34465A)

$
0
0

Note: Duplicate of https://community.keysight.com/message/91866

 

What are the negative fluctuations that we expect with preferably the 34410A (or the 34401A) when we are in an open circuit or when a device is turned off for DC&AC Voltage&Current measurements?

 

I want to avoid the -0 issues with automated measurements, however I need to have a valid reason to put a negative value as a low limit.

 

MeasurementRangeAccuracyMathTolerance
DC Voltage100mV0.0050+0.00350.000035*0.1mV3.5 uV

AC Voltage

100mVrms0.5+0.030.0003*0.1mV30 uVrms
DC Current100uA0.05+0.0250.00025*100uA0.025 uA??
AC Current100uArms0.1+0.040.04*100uA0.04 uA??

 

If I consider full range for reading:

MeasurementRangeAccuracyMathTolerance
DC Voltage100mV0.0050+0.00350.000085*0.1mV8.5 uV

AC Voltage

100mVrms0.5+0.030.0053*0.1mV0.530 mVrms
DC Current100uA0.05+0.0250.00075*100uA0.075 uA
AC Current100uArms0.1+0.040.14*100uA0.14 uA

 

Can anyone confirm or correct? Especially for AC since the specs are for at least 0.3% of range and a frequency over 3Hz.

 

Thanks

Viewing all 5661 articles
Browse latest View live


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