RS232 (Keithley 2010)

Dear All, Is there anyone who is getting data from Keithley 2010(or 2000) via RS232 input? Could you please tell me which instrument drive you use? I couldnt find the driver for Keithely 2010. Thanks.

Hi,
I'm not using that particular instrument, but Keyword Search: Keithley is the list of all the Keithley instrument drivers at www.ni.com/idnet.
You can check the manuals for similar instruments (2000, 2001). The command set for this instruments might be the same or very similar.
DiegoF
National InstrumentsMessage Edited by Molly K on 02-18-2005 11:06 PM

Similar Messages

  • Keithley 2010 resistance measurement via LabVeiw 8.5

    Hello!
    I have Keithley 2010 multimeter and I want to measure resistance with it under LabVeiw 8.5. I download needed configs from official web-site. It almost works, however there is one problem. After each resistance measurement multimeter switch to the voltage mode. It's look like: resistance measurement ->voltage mode ->resistance mode->resistance measurement ->voltage mode->resistance mode->... So it mesuare once per second or less. It's not enough fast for me, I need something about 10 times per second. Could you please help me? 
    Thanks in advance!
    Sergey
    P.S. http://forums.ni.com/t5/LabVIEW/Fast-readings-with-Keithley-2010-Multimeter/m-p/91867 - doesn't help

    I received this answer on Keithley forum: 
    *RST
    ENSE:FUNC 'RES'
    ENSE:RES:RANGE 10
    ENSE:RES:NPLC 0.01
    ENSE:RES:AVERTATE OFF
    For I = 1 to 100
    :READ?
    Now read the unit with a VISA READ
    Next I
    So I used SCIP commands via VISA WRITEs, and it helped me.
    Best regards and thanks,
    Sergey

  • How can i segregate an array of clusters with channels id in the cluster

    Hi All
    i am using a keithley 2010 DMM for power measurements,
    i am using the 2010 scan read VI which gives the reading output as an array of clusters, these clusters contain the measurement,units,channel.
    i have 6 channels for measuring voltage across and i want to make 5 readings per second on each channel which makes upto 30 readings per second.
    i want to segregate these clusters from the array according to the channel id and take the results,
    please tell me if we have function for this or you have any possible solution for the same.
    i would be very happy to hear from you and get this solved
    please help
    Thanks in advance
    Sandeep K Shyam

    yeah this looks great...thanks for your response,
    i have modified accordingly and attaching the VI, can you please look into this once
    also one more problem i have with this VI is whenever i am trying to run the VI, the  sub VI (Scan config.vi) gets popped up and waits for user response (next) cntrl+right arrow,  how can i get rid of this and run the VI in continues mode?
    i am attaching my VI along with the kei2010 lib,
    please check this
    Thanks again
    sandeep K shyam
    Attachments:
    sandeep-FinalKeithley20101.vi ‏822 KB
    kei2010.llb ‏901 KB

  • Peltier control with PID

    Hello,
    I have a Keithley 2400 source-meter, and a Keithley 2010 multimeter. I measure temperature of a water loop with a RTD, and I measure its 4W resisitivity with the K2010.
    I can cool and also heat this water loop via a Peltier heat-pump. The applicable range is -1Amp < current < +1 Amp. So I use the Keithley source-meter to drive the Peltier in this range. Negative current cools the water, positive current heats.
    I have the PID tool-kit with LabView 2011.
    My only question is that, if I give  +-1 as range input to the PID.vi, is it a proper way to implement this task?
    Thanks!
    Solved!
    Go to Solution.

    Hi blokk,
    "ok. so this is not implemented in the Pid toolkit. So when the PID vi using negative output, I have to set the Kc to negative. ... Because it should change the sign of Kc as early as it switches range polarity continuously."
    You don't need to change anything, when the PID control is running. You have to set the Kc once to the correct value, that's it! Kc is describing the PID behaviour in terms of "higher output results in heating up and lower output means cooling mode"...
    "Should I alter the pid.vi inside?"
    Never ever change vi.lib VIs! If you really want to change them (that isn't needed here!), make a copy of the VI and change the copy!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Hi, can someone help me how can i connected my multimeter to my pc with rs232, because my computer can´t recognize the device, i mean the multimeter, is a multimeter keithley serie 2400, and i already downloaded all the drivers for labview even the VISA

    hi, can someone help me how can i connected my multimeter to my pc with rs232, because my computer can´t recognize the device, i mean the multimeter, is a multimeter keithley serie 2400, and i already downloaded all the drivers for labview even the VISA

    Marco,
    Here are some suggestions:
    1) Check the manual the Keithley manual to see how to configure the RS-232.   
        On some models you need set Factory defaults to USER and turn on the RS-232.   
        Also there may be a setting for SCPI which you want on (probably on by default).
    2) On your PC - open Device Manager. See if a COM port exists and is functional.
         You must get this working before continuing.
          You can set the COM port parameters by right clicking and selecting Properties.  
         (On some PCs the onboard ports can be disabled in the BIOS)
    3) If step two was OK, open MAX (Measurement and Automation eXplorer).      
        On the left side, click on Devices and Hardware.   
        Click on Serial and Parallel.   
        Go to the COM port you found in Device Manager.   
        Open a VISA Test Panel.
        Now I don't have one I can look at right now, so this is general idea:
       Configure the COM port to match the Keithley settings (should be OK if step 2 worked)  
       Go to the (I think) Input Output tab (you want to send a command)   
       The command string input should already have a *IDN? entered, if not, type it in.   
       Click on the Query button to send the command and check the response.  
       If you get an ID string back (Company name, Model, FW Version ...) then it works.   
       (Disregard an error saying it did not get enough charcters back.) 
    I hope this helps,
    steve
    Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
    question. Give "Kudos" to replies that help.

  • Measure with Keithley 2000 over RS232

    Hey,
    ich have a problem with my Keithley 2000 by measurements over RS232.
    My programm is running, its a simple serial read and write VI. I send him an command to measure and nothing is happening. I got nothing back....
    I add the VI and the commands, maybe somebody knows whats wrong with my VI!
    Thanks a lot
    Greetings
    Ralf
    Attachments:
    RS232 Serial Write and Read.vi ‏22 KB
    Unbenannt.JPG ‏7 KB

    I have no time to look into your code, but most likley you miss the termination char. On a string constant you can switch to \-display and then use \n or \n\r depending on the settings. You can also look into the LV drivers for the keithley 2000, they are available on ni.com and/or on keithley.com
    Felix 
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml

  • Fp 2010 accés rs232

    Bonjour
    Je n'arrive pas à voir mon port COM (RS232) avec LabView 8.2 sur un FP 2010.
    Y a t il une manip à faire au préalable dans NI Max ?
    Merci  de votre aide
    Rémy

    Bonjour,
    Il vous faudra tout d'abord installer NI-Serial et NI-VISA sur votre FP. Cette documentation vous aidera à le faire.
    Voici les versions des drivers les plus récentes qui devraient être compatibles avec votre version de LabVIEW :
    NI-SERIAL 3.5
    NI-VISA 4.6.2
    Si une fois ces étapes faites, vous ne voyez pas le port sous LabVIEW, veuillez suivre cette documentation.
    Cordialement,
    Mathieu P. | Certified LabVIEW Associate Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • Keithley pci pio 24 conversion LV 5.0 - 2010

    Hey,
    Could someone convert the libraries in the attachment from Labview 5.0 to Labview 2010?
    Thanks,
    Rob
    Attachments:
    Keithley PCI PIO 24.zip ‏3777 KB

    Have no idea if the attached (recompiled for LabVIEW 8.2, which you can open) will work for you. The code was written using DLLs and CINs, which is not always a good combination in trying to upconvert.
    Attachments:
    Keithley PCI PIO 24.zip ‏2205 KB

  • Keithley 2400 Real Time Resistance Values in LabView 2010

    Hi,
    I keep getting Error 803 and Error -230 on my Keithley 2400 SourceMeter (connected NI-GPIB-USB-HS; everything is talking correctly) when I use the attached LabView program. I'm using the most updated drivers for VISA, 488.2, and the KE24XX. I've looked at the VI Tree and everything should be okay. Individually, the VIs are not causing errors. Also important to note is that when I take 4W resistance readings from the Keithley without the PC interface the Keithley's display indicate different settings, including ARM, while when recording from computer it displays AUTO and 4W. No data is displayed on the device while recording from computer, while data is displayed without recording from the computer. 
    Please let me know what you think. Thank you!
    Attachments:
    resistdatawrite.png ‏217 KB

    Hi coldcarbon!
    I did a search and it looks like this is not a totally uncommon occurrence with these devices.  I found a few forums searching google, and also was able to find a discussion forum at Keithley's website.  These drivers look like they were built by Keithley, and I would encourage you to get in touch with them to figure out what exactly is going on.  I wouldn't jump to that issue being a hardware problem just yet.
    Get back in touch with us after you talk to Keithley and we might be able to help you more with this issue, but it is probably an issue with the software, and Keithley would definitely be the people to talk to.
    Ben N.
    Applications Engineering
    Certified LabVIEW Developer

  • New and need help with keithley 2700 GPIB threw labview 2010

    Hello everyone,
    I have the drivers for the keithley 2700 dmm and its ok with labview idntifying the device.
    but when im trying to run the "Keithley 27XX Single Measurement.vi" and take a single resistance measurment
    I always get this error, (pic related)
    can anyone help please?
    btw, where can i start learn from zero how to program in labview in GPIB protocol (not visa) ?
    thanks alot.
    E.
    Attachments:
    Error.jpg ‏500 KB

    Zerez,
    Definately search the forums as I found another forum wher they tried troubleshooting a 2700 that was locking up. Unfortunately a resolution wasn't determined. 
    http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/keithley-2700-7700-4-wire-Measurement-GPIB/td...
    Can you use max to request values from the device? Using visa test panels. It should reply to the identification command if it is functioning properly.
    Kyle Hartley
    RIO Product Support Engineer
    National Instruments

  • Voltage sweep and measure current for Keithley 2400

    Dear All
    Hello,
    anybody can help me?
    In spite of nearlly10 days i am searchig to find any labview 2010 program for voltage sweep and measure current that works with RS-232, i has not able finde anything exept some exapmle that read single and multiple data. I has tried to learm labview and changed some prorgram from gpib to RS-232 but i couldn't.
    In another attempt i find a good "votltage sweep and measure current" VI that work with RS-232 in labview 5.1.1. i converted it to 2008 but it need to old driver (ke24xx.dll) and dont work in my labview 2010 and I could't find old driver.
    in these 10 days, my project on thesis has been stopped and i couldn't do anything for our keithley.
    Please helpe...
    in following i attached these files:
    1-first it is voltage sweep that works with GPIB
    2-Vi that i change gpib port to visa (rs232) that i don't know why it dosen't work.
    3-it is Vi related to "votltage sweep and measure current" that works with RS-232 but need to old dirver so i can not use it.
    4-SubVi needed to run program of 3 (but there is no driver for these subVIs) has been atached in reply post of this post
    if any body has this program ("votltage sweep and measure current" that work rs-232) please send for me
    thanks in advances.
    Solved!
    Go to Solution.
    Attachments:
    24xx Swp-V Meas-I gpib.llb ‏373 KB
    modifi- arash-24xx Swp-V Meas-I - VISA oNLY.llb ‏172 KB
    I V new2.vi ‏103 KB

    The first time you asked this exact same question, you were given the way to get the driver and told that one of the examples does exactly what you want to do. You have chosen to disreregard this and pursue other options for these close to 10 days. If your thesis is stalled, that is really your own fault for not listening to the answers you were given. I have no idea why you would do this but I would suggest you go back to the original thread, reread it. and if you want further help, explain what the problem with the NI driver is.

  • Keithley 2182A readout with GPIB

    I have trouble reading out the buffer in the keithley 2182A nanovlotmeter after a measurement sweep. I am using the Keithley 2182 buffer read.vi developed by Keithley, and am running on Labview 2010. 
    When i run the buffer read.vi it returns an array with the correct stored measurement values. When i run the vi as a subvi in my larger programme however (as I need to do), it returns an array with the correct number of elements, but with the first stored value in all of the elements of the array. 
    I believe the vi was originally made for LabView 8.5. 
    Has anybody encountered a similar problem with reading out buffers? Is it a timing issue that when run as a subvi it only reads the first element?

    Chris.smiet wrote:
    I use the 2182A nanovoltmeter in conjunction with a 6221 current source, connected with a trigger link cable. (I know i can also address the 2182A via the 6221's vi's and a rs232 cable, but i want to address it directly via GPIB for added flexibility). I perform a current sweep (with 1024 steps) with the 6221 and want to measure the resulant voltage and store it in the buffer of the 2182A. 
    The problem is that I cannot read out the buffer of the 2182A  using the given vi as a subvi (as it is supposed to be used). I tried a much simpler vi to store 10 random measurements (no wires attached, what is measured is random) in the buffer (trigger = timer). When I read out the buffer, the vi returns an array with all elements the same, and equal to the first element in the buffer (wich I can read out from the keithley by using the front panel)
    I use the "Keithley 2182 buffer read.vi" in the keithley 2182 version 6 driver library downloaded from  http://www.keithley.com/base_download?dassetid=10070 
    A trigger link cable? Doesn't that kinda raise a flag?
    Do you know what commands are in these VIs you are using? Do you understand what is happening with the triggering of measurements?
    Understanding *how* the instruments works is important. And it starts with *reading* the manual.

  • Most efficient way to constantly read, queue and parse multi-size​d RS232 data (multi-thr​eaded)

    I've tried tackling this problem a few different ways, and figured it was time to get some others' advice.  My system essentially works, although it looks like a hackjob and not entirely confident.
    My RS-232 connection has the following properties/constraints:
    -Will be getting unsolicited data at a high data rate.  (ya thats subjective, but assume near constant at whatever baud rate its set at up to 115200)
    -Different segment lengths of data receiving
    -Two stop bytes (0x10 0x03), while start byte is 0x10.  (Byte stuffing/packing implemented)
    -There is a size byte within a packet (3rd one in), however currently relying on stop bytes only.
    I have tried the ComCallback within CVI only to find that it is VERY slow at processing events compared to implementing it manually in its own thread.  In addition, it can only trigger 1 stop bit, not 2.  Triggering on size is sometimes okay, but I found that it was possible it would get triggered on only part of the data, the when its called the qlength be larger, and then sometimes I would only read part of a data packet, and half of my segment was still in the queue.  And sometimes, I would get semaphore locks and lots of waiting, and ya it was a mess (hence you will see lots of CMT locks commented out)
    I tried implementing a FIFO type queue (copied below), but I have very little experience in doing this, and may not be very efficient in the way I implemented and could definately use some advice in this area.  Also perhaps in how thread safe I have everything.
    I thought about a circular buffer, but since data can be different segment lengths, it kind of makes it difficult to cleanly wrap around and read.  I think its still possible, just may require additional checks which I haven't seen done anywhere when google searching. (and made me think a FIFO queue was better).
    So if anyone has any good suggestions or examples, that would be great.  Using Labwindows 2010.
    //in Main before GUI loaded
    programRunning = 1;
    CmtScheduleThreadPoolFunction (DEFAULT_THREAD_POOL_HANDLE, ComCallback, NULL, &funcID);
    /* Function Used to parse Com data */
    static int ComCallback (void *callbackData)
    static int bufLen = 0;
    int strLen,qLen=0;
    unsigned char tempBuf[1024];
    int packet_length = 0;
    char temp_string[250];
    unsigned char *start_ptr;
    int i;
    int start_offset;
    while(programRunning) {
    //First lets copy all data from com port to output buffer
    if( com_open) qLen = GetInQLen (comPort);
    if( qLen <= 0 ) {
    ProcessSystemEvents();
    } else {
    if( qLen > 1024) qLen = 1024-bufLen; //set max length to read
    strLen = ComRd (comPort, tempBuf, qLen);
    //CmtGetLock(lock);
    memcpy(readBuf+bufLen,tempBuf,strLen);
    bufLen += strLen;
    //CmtReleaseLock(lock);
    //Try to read until we hit stop bytes, or until we think we have at least 1 or 2 packets to process
    if(tempBuf[strLen-2] != 0x10 && tempBuf[strLen-1] != 0x03 && bufLen < 100 ) )
    goto skip;
    //ensure start pointer is at beginning command (0x10 0xAA) (in event we just started reading in middle of packet???)
    i = 0;
    while ( (readBuf[i] != 0x10) && (readBuf[i+1] != 0xAA) && (i < strLen) )
    //start_ptr++;
    i++;
    start_offset = i;
    parse_some_more:
    start_ptr = readBuf + start_offset;
    //lets try to do one packet at a time.
    for(i = start_offset; i < bufLen-start_offset-1; i++)
    if(readBuf[i] == 0x10)
    if(readBuf[i+1] == 0x03)
    i += 2;
    break;
    //trial of unpacking/unstuffing byte buffer
    else if( readBuf[i+1] == 0x10 ) //two tens in a row, remove it
    memmove( &readBuf[i],&readBuf[i+1],bufLen-i);
    bufLen--;
    //at this point, we should have a full packet. What if we don't....???
    packet_length = i - start_offset;
    //CmtGetLock(lock);
    ParseResponse(start_ptr,packet_length);
    PostPacketToOutputBuffer(start_ptr,packet_length);
    if(start_ptr[start_offset] == 0x10 && start_ptr[start_offset+1] == 0xAA )
    com_Send_Acknowledge(comPort);
    start_offset = packet_length + start_offset;
    if(start_offset < bufLen-1)
    goto parse_some_more;
    //For now, assume everything else we don't care about in buffer, however, probably shouldn't. Should it be bufLen -=start_offset; if so, need to handle partial data better; timeout??
    bufLen = 0;
    //CmtReleaseLock(lock);
    skip:
    return 0;
    Thanks!

    Hi ngay528,
    I think there is a great example for you to use that comes with CVI which can be found by clicking Find Examples on the splash screen or Help >> Find Examples in your project. From there, click into Optimizing Applications >> Multithreading. In that folder there is a project that is called BuffNoDataLoss that shows how to create a thread safe queue and setup a producer/consumer type program. In this example the data is a random sine wave but could be adapted to your RS232 data. If you have any questions concerning this example please let me know but this should be a great starting point.
    Patrick H | National Instruments | Software Engineer

  • Looking for examples/help on using Ethernet with Keithley 2701 DMM

    All of the example code utilizing their IVI driver is based on GPIB or RS232. I specifically bought the 2701 to utilize the Ethernet port, but cannot find CVI examples on how to do this. Can anyone point me to an ethernet example using their driver and the Ethernet port? Or perhaps post a non-Keithley ehternet driver and examples on its use?

    Hi Paul,
    What you have been told is exactly what you need to do.
    Here is a document in NI web that explains about it:
    How Can I Communicate With a Keithley 2701 DMM?
    There is also an Instrument driver that NI built for these DMM:
    LabVIEW Certified Plug and Play Instrument Driver
    To find this documents you need to go to NI.com and at the top on the search box enter 2701. That will give you all the documents related to this.
    Thank you
    Ricar
    do S.
    National Instruments.

  • Keithley 2400 voltage Issue

    Hello, I am using Labview 2010 to try to control a Keithley 2400 Sourcemeter by GPIB.  I am using the labview drivers from the Keithley 24XX drivers package which I downloaded from the "Find Instrument Drivers" in Labview.  
    I am trying to use the device as a current source to power an electromagnet.  I have the device set up and it will output current, but no matter how high I adjust the compliance value, the voltage output of the sourcemeter will not exceed 2 volts.  
    I'm pretty sure this is not a device limitation because when I adjust the compliance and current manually the device has no trouble.  For some reason when I control the device with labview it just won't go over 2 volts. Any help would be great.
    I have included my program here.  If anyone needs screenshots to diagnose this issue, let me know.   
    Solved!
    Go to Solution.
    Attachments:
    KeTest.vi ‏16 KB

    Yep, the "Compl" light is blinking, so it is the range compliance.  The range compliance is set at 2.1V.  I added the "Configure Measurement" vi and set the vi to Auto, but this didn't change the range compliance. 
    Also, I set the Auto to false and tried adjusting the "Manual Range."  When I get above 2.1 V, I get a message that says :
    Instrument reports:
    824,"Cannot exceed compliance range"
    I have included the latest VI here
    Is there a VI that changes the compliance range, or a VI that sets it to auto?
    Attachments:
    KeTest.vi ‏18 KB

Maybe you are looking for

  • I am unable to use services for objects  while creating a PO

    Hi All, I am unable to use services for objects  while creating a PO ie in me21n / Me22n . Our client wants to attach some doucument along with the PO, we want to use services for object for this. I use this services for objects in admin level , but

  • Restore a PDF file from SharePoint Content DB backup

    Hi Techys, Could you please help me for below scenario, I have only Content DB backup of SharePoint 2010, Now i want to restore a single file(madhu_Profile.docx) from that Backup. But, How? Let me know if you need any further information regarding th

  • Non-blocking execution with Pro*C/C++

    Hi readers, Is there any mechanism available through which Non-blocking execution with Pro*C/C++? I observe that Pro*C queries are hanged when the DB server (hardware) is down. I understand that OCI provides non-blocking mechanisms. Pro*C doesn't use

  • Extremely slow typing in E75

    Hello there! Since about a week, my telephone is extermely slow by typing. Whether I'm wrting a SMS or Active notes, the words in the display come long after I typed them in the keyboard. What coul it be the reason for it? Is there anyway to solve th

  • Error updating iWork '09

    I bought iWork back in '09 when I bought my MacBook Pro. I just updated to OS X Yosemite. Have versions: Pages v. 4.0.5 Numbers v. 2.0.5 Keynote v. 5.0.5 In my App Store it says I have updates for all 3 programs, but when I try to update it gives me