1073807202 error in Keithley 2401 SMU

Every one.
I am using Labview 2012. I am trying to interface Keithley 2401 SMU with laptop via Keithley-GPIB KUSB 488B. When I am trying to run the program, it is indicating error 1073807202. I have reinstalled all the labview software, NI-VISA (latest), drivers and 2401 library files, but the problem remain as the same.
Can any one hepl me. I need to fix this problem as soon as possible as I need this for my research purpose.
Also can u suggest me the SOP (Standard operating procedure) sequence for installing labview, NI-VISA and instrument driver.
Thanking you
Avishek Das

The error is probably due to your use of a Keithley controller instead of one from NI. Have you checked with them about using their hardware? How does the controller show up in MAX?

Similar Messages

  • Keithley 236 SMU and Keithley 2182

    Hi
    I am new in labview and I would like to measure voltage from Keithley 2182 triggered from Keithley 236 SMU in delta mode.
    I did not see any command for delta mode in Keithley 236 SMU. So I don`t know how to send two opposite current and read in the Nanovoltmeter.
    Is there any simple vi. for this operation
    Thanks
    Ser.

    Hello 454,
    Have you downloaded the LabVIEW drivers from Keithley's website?
    http://www.keithley.com/support
    I took a look at what's available and there are triggering examples in the .llb files.
    Best Regards,
    Andrew S.
    Application Engineering Specialist
    National Instruments

  • Errors in Keithley 237 sourcemeter GPIB drivers

    I've just gotten back to working with our KE237 sourcemeter. I just discovered a couple of new bugs in the LV drivers posted here and at Keithley. It's a pretty unique old instrument, and we're lucky that they still make it, but it has some rough edges. The drivers are a free download, so when we find bugs, the best we can do is tell Keithley and share what we know. Caveat emptor. Beats starting from scratch.
    In the Keith 237 Basic Config vi, The enumerated type control for integration time has the text for 60 hz line cycle, and 50 hz backwards. This is hard to spot, since the instrument only displays "LINE CYCLE INTEGRATION" on the front panel once this has been programmed. Happened to look at the actual string going out to the instrument and noticed it.
    Easy to fix, just change the enum text labels for selection #2 to read 60HZ, and #3 to read 50HZ. So, if you've noticed that your instrument seems noisier running under Labview, this might be why. 
    While I'm at it, I also found a non-optimum feature of the SMU Device Errors query vi. It will overwrite any upstream error messages in the LV error cluster. For instance, if you call it twice along the communication chain connected by the error cluster, if it finds an illegal instruction error in the instrument in the first call, since the first call cleared the error condition in the unit, the later call sees nothing wrong and wipes the error cluster clean, even though the unit wasn't successfully configured. i sprinkle these error queries through my apps pretty liberally.
    Easy fix is to add an outer case structure around what's already there to simply pass through upstream errors with no new action taken. 

    Hi Bill,
    Thanks for bringing this to our attention, it's great to have these workarounds online where they can help other users!
    As you suggested, the best way to get these changes implemented is to contact Keithley directly. Because NI doesn't make these drivers, we can't modify them ourselves.
    Thank you,
    Emily C
    Applications Engineer
    National Instruments

  • -1073807202 error

    Hello there, we have a labview 7 program controlling 2400 Keithley source meter. It was working perfeclty okay until yesterday. Now the write visa is not doing its  job and showing error -1073807202
    please help.

    LabVIEW gives the following error description for that code:
    VISA:  (Hex 0xBFFF009E) A code library required by VISA could not be located or loaded.
    Note that you can find this yourself by either right clicking on the error code in the error cluster and selecting Explain Warning or by selecting Help»Explain Error... from the help menu and pasting in the error code.  As aestet said, this is probably due to something being installed or uninstalled and your VISA library getting removed.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Keithley 2410 hardware error

    Hey, guys.
    I'm very new in this of labview, I do some programs using always drivers to control instruments. So recently I have the job to control a Keithley 2410 SMU. I do a simple program to source constant voltage, and measure current vs time. This program works wells in short periods and the Keithley functions very well. But a week ago, I have to used for 20 hrs, the problem was that at 45 min of functioning, the frontal screen of SMU unit went off, the labview show an I/O error that can communicate with the instrument, and when I reboot the instrument it can't do anything, and the labview is not capable of communicate with the instrument. The unit is manufactured when is functioning as a source and measurement unit to not to be damaged with high currents, and so the last measurements was about 100mA when the compliance level was at 1A. When I power on the unit, I only hear the fans and I can't do nothing, I look for the fuse but It was ok.
    So I know this is a Keithley Hardware error not related to NI. But I have the idea that maybe something that i put in my program damage the instrument in some way.I control the instrument with a serial cable, and I used the drivers that I downloaded from a NI page, dont remember what version was. Just need help to see if it's something bad that I do, damaged the instrument
    Greetings to all.
    Solved!
    Go to Solution.
    Attachments:
    Constant Voltage.vi ‏101 KB

    While there are some poor programming choices in that code, ther is nothing that should have caused damage to the Kiethley in code.  Something in hardware should be suspected.
    Jeff

  • Error using the Keithley 2400

    Hi, I am pretty new to LabVIEW and right now I am just trying to set up a simple test (source current, measure voltage) using the Keithley 2400 and Labview 8.2
    I got the driver for this instrument off of NI's website at
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=25B255F3AA83660EE0440003BA7CCD...
    In the Measurement and Automator it sees the Keithley (GPIB0::14::INSTR) and I also gave it an alias so it is easier to find amungst the other hardware current set up.
    I wrote a simple program using some of the VIs in the driver to source a current and read a voltage.  When the program runs, it errors out, and then after it errors the keithley still runs the test.  I can see the measurement on the front panel of the instrument however it does not send anything back to the computer.
    I then tried to just run an example found in the driver and I get the exact same error.
    Error -1074000000 occurred at Keithley 24XX.lvlib:Error Query.vi
    Possible reason(s):
    Instrument reports:
    -113,"Undefined header"
    0,"No error"
    Complete call chain:
         Keithley 24XX.lvlib:Error Query.vi
         Keithley 24XX.lvlib:Read (Multiple Points).vi
         Keithley 24XX.lvlib:Read (Single Point).vi
         Keithley 24XX Read Single.vi
    Anyone have any idea's as to what might be causing this error?  Any help would be greatly appreciated
    Nolan

    Hello nblue:
    Can you communicate with the Keithley 2400 in Measurement and Automation? Do you know if there is a query command for the instrument, if so can you test to see if you can query the instrument to make sure it is working.
    Regards,
    Roland A.
    Applications Engineer
    National Instruments
    Check out VI Roadshow

  • Communicat​ing with Keithley 2602A using python script

    Hi everyone,
    I want to enable communication between my PC and Keithley 2602A SourceMeter Instrument so that I can send commands to the SMI without using Test Script Builder (TSB) - a scripting/remote controlling program that enables communication between itself and the host computer.
    The reason why I want to do this is because I want to program in Python to carry out a series of tasks involving other hardwares and adjusting the voltage on the SMI at the same time. I can't use TSB to do this because TSB is solely for controlling the SMI and not other hardwares. I need to use Python scripts to consolidate all the hardware control. So far, communicating with other hardwares from my PC using Python scripts is not a problem because I have readily available libraries for them.
    I have found PyVisa which I thought could solve the communication problem. So I installed PyVisa and wrote the following code to test the communication.
    import visa
    keithley = visa.instrument("COM1")  #SMI connected to COM1
    keithley.write("smua.source.output = smua.OUTPUT_ON")  #send this command to SMI
     However, the communication was not successful as I got the error message as shown below:
    C:\Documents and Settings\cho\Desktop\Python Ex>keithley_test.py
    Traceback (most recent call last):
      File "C:\Documents and Settings\cho\Desktop\Python Ex\keithley_test.py", line 2, in <module>
        keithley = visa.instrument("COM1")
      File "C:\Python26\Lib\site-packages\pyvisa\visa.py", line 292, in instrument
        return SerialInstrument(resource_name, **keyw)
      File "C:\Python26\Lib\site-packages\pyvisa\visa.py", line 680, in __init__
        "delay", "send_end", "values_format")))
      File "C:\Python26\Lib\site-packages\pyvisa\visa.py", line 358, in __init__
        "lock")))
      File "C:\Python26\Lib\site-packages\pyvisa\visa.py", line 132, in __init__
        keyw.get("lock", VI_NO_LOCK))
      File "C:\Python26\Lib\site-packages\pyvisa\vpp43.py", line 753, in open
        byref(vi))
      File "C:\Python26\Lib\site-packages\pyvisa\vpp43.py", line 398,
    in check_status raise visa_exceptions.VisaIOError, status
    pyvisa.visa_exceptions.VisaIOError: VI_ERROR_RSRC_BUSY: The resource is valid, but VISA cannot currently access it.
    Can anyone tell me what went wrong? How can I control the Keithley 2602A using a Python script run from my PC?

    Hi DavItron, this is a very old thread but it's one of the top google results when I looked up info on how to implement some Python code with PyVISA to drive the Keithley 2602A so I will post this response so that other searchers can find the info.
    You can store data in named variables in the Keithely 2602A and then "print" them to the remote interface using something like the following:
    import visa
    ps = visa.Instrument("GPIB::Address of your instrument")
    ps.write("smua.source.levelv=10")
    ps.write("smua.source.output=smua.OUTPUT_ON")
    ps.write("currenta, voltagea = smua.measure.iv()")
    ps.write("smua.source.output=smua.OUTPUT_OFF")
    current = ps.ask("print(currenta)")
    voltage = ps.ask("print(voltagea)")
    For what I do which is mostly setting and measuring a bias point, then holding that while I trigger a measurement on another instrument, this is fine for me.  If you want to do  sweeps with a lot of data points it's probably more efficient to use the buffers directly, but I haven't needed that yet.
    Hope that helps somebody!

  • Keithley 224 Current Source, 199 DMM Control

    Hi everyone,
    I can't control some hardwares. Actually, i changed my computer and again install labview, gpib driver etc but i can't control some devices.
    Labview connect to Keithley 224 but it can't operate the device.
    * Connected to: GPIB0::17::INSTR
    -> *IDN?
    <- NDCI+0.0000E+0,V+3.0000E+0,W+5.0000E-2«x0D»
    I found some topic related my problem but i can't solve that problem. 
    i solved this problem in past but i don't remember how i can that. 
    About my system;
    * NI Labview 2013 64 bit
    *Agilent GPIB 82357A USB to GPIB
    *Keithley 224 Programmable Current Source
    *Keithley 199 System DMM/Scanner 
    *Keithley 196 System DMM
    *Keithley 2401 Sourcemeter (i can control this device)
    *SR530 Lock-in Amplifier Stanford Research System
    etc
    i attached below some screenshot and my vi's
    Attachments:
    agilent.JPG ‏84 KB
    keithley 224 2.JPG ‏152 KB
    keithley 224.JPG ‏120 KB

    Ozkur wrote:
    Hi everyone,
    I can't control some hardwares. Actually, i changed my computer and again install labview, gpib driver etc but i can't control some devices.
    Labview connect to Keithley 224 but it can't operate the device.
    * Connected to: GPIB0::17::INSTR
    -> *IDN?
    <- NDCI+0.0000E+0,V+3.0000E+0,W+5.0000E-2«x0D»
    I found some topic related my problem but i can't solve that problem. 
    i solved this problem in past but i don't remember how i can that. 
    About my system;
    * NI Labview 2013 64 bit
    *Agilent GPIB 82357A USB to GPIB
    *Keithley 224 Programmable Current Source
    *Keithley 199 System DMM/Scanner 
    *Keithley 196 System DMM
    *Keithley 2401 Sourcemeter (i can control this device)
    *SR530 Lock-in Amplifier Stanford Research System
    etc
    i attached below some screenshot and my vi's
    You'll need LabVIEW 2013 32-bit to work with Agilent 82357A.
    You will also need to read http://digital.ni.com/public.nsf/allkb/F7C187DBF09EBE1186256F550065BD32

  • Different number of parses with different providers

    I tried to figure out
    how could I control number of parsing from MS ADO app.
    To my surprise it seems that there is no general way to do it.
    The behaviour is heavily dependent on underlying OLEDB provider,
    and for some of the providers (Oracle's own including)
    I did not manage to reduce number of parses.
    I wrote a simple vbs script that:
    1. Opens the connection for the given provider
    2. Executes ALTER SESSION SET session_cached_cursors=100
    3. Creates ADO command with 'SELECT ... FROM USER_TABLES..'
         and with one parameter
    4. Opens ADO recordset with this command, reads from and closes it
    Here is the script:
    'TestADOCommandParsing.vbs
    Dim stConnectString
    Dim stUID
    Dim stPWD
    Dim stTestTag
    Dim stServer
    Dim cn
    Dim cmdALTER_SESSION
    Dim cmdUserTables
    Dim rsUserTables
    Dim param
    Dim nRows
    Dim I
    Const c_stProvider = "Ora" '"MS" '"ODBC" '
    Const adVarChar = 200
    Const adParamInput = 1
    Const adUseServer = 2
    Const adOpenStatic = 3
    Const adLockReadOnly = 1
    stUID = "..."
    stPWD = "..."
    stServer = "..."
    stTestTag = "TestParsesADO_" & c_stProvider & "_1"
    If c_stProvider = "MS" Then
    stConnectString = "Provider=MSDAORA;" & _
    "User ID=" & stUID & ";Password=" & stPWD & ";Data Source=" & stServer & ";"
    ElseIf c_stProvider = "Ora" Then
    'Oracle provider.
    'The PLSQLRSet attribute [=1] specifies whether OraOLEDB needs to parse the PL/SQL
    'stored procedures to determine if a PL/SQL stored procedure returns a rowset:
    stConnectString = "Provider=OraOLEDB.Oracle;PLSQLRSet=0;" & _
    "User ID=" & stUID & ";Password=" & stPWD & ";Data Source=" & stServer & ";"
    ElseIf c_stProvider = "ODBC" Then
    stConnectString = "Provider=MSDASQL.1;Extended Properties=" & _
    """DRIVER={Microsoft ODBC for Oracle};" & _
    "UID=" & stUID & ";PWD=" & stPWD & ";SERVER=" & stServer & ";"""
    End If
    wscript.echo "Provider = " & c_stProvider
    wscript.echo "stConnectString = " & stConnectString
         Set cn = CreateObject("ADODB.connection")
         cn.Open stConnectString
         Set cmdALTER_SESSION = CreateObject("ADODB.Command")
    With cmdALTER_SESSION
    .CommandType = 1 'adCmdText
    .Prepared = False
    .CommandText = _
    "BEGIN EXECUTE IMMEDIATE 'ALTER SESSION SET session_cached_cursors=100'; END;"
    Set .ActiveConnection = cn
    End With
    cmdALTER_SESSION.Execute
         Set cmdALTER_SESSION = Nothing
         Set cmdUserTables = CreateObject("ADODB.Command")
    With cmdUserTables
    Set .ActiveConnection = cn
    .CommandType = 1 'adCmdText
    'The Recordset parameters
    'CursorLocation, CursorType, LockType
    'seem to be irrelevant for reparsing of Oracle cursor.
    'Oracle session_cached_cursors parameter also has no effect.
    'Command.Prepared setting affects it, but only for ODBC-based provider:
    'False: N parses, N executions
    'True: 1 parse, N executions
    .Prepared = True
    .CommandText = _
    "SELECT TABLE_NAME FROM USER_TABLES " & _
    stTestTag & " " & _
    "WHERE TABLE_NAME LIKE ? " & _
    "ORDER BY TABLE_NAME"
    Set param = .CreateParameter("TABLE_NAME_Pattern", adVarChar, adParamInput, 30, "%")
    .Parameters.Append param
    End With
         Set rsUserTables = CreateObject("ADODB.Recordset")
    For I = 1 To 10
    cmdUserTables.Parameters("TABLE_NAME_Pattern").Value = "QU_%"
    With rsUserTables
    'The Recordset parameters:
    'CursorLocation, CursorType, LockType
    'seem to be irrelevant for reparsing of Oracle cursor:
    '.CacheSize = 100 'Irrelevant
    '.CursorLocation = adUseServer 'adUseClient 'Irrelevant
    '.CursorType = adOpenStatic 'adOpenForwardOnly 'Irrelevant
    '.LockType = adLockReadOnly 'Irrelevant
    .Open cmdUserTables
    While Not .EOF
    nRows = nRows + 1
    .MoveNext
    Wend
    wscript.echo CStr(I) & ". nRows = " & CStr(nRows)
    .Close
    End With
    Next
    Before running tests:
    VARIABLE SQLTextPattern VARCHAR2(100);
    COLUMN HASH_VALUE FORMAT 9999999999
    COLUMN SQL_TEXT FORMAT A40
    COLUMN "Invalids" FORMAT 9999999
    COLUMN "Parses" FORMAT 9999999
    COLUMN "Execs" FORMAT 9999999
    COLUMN "Parses/Execs" FORMAT 9999.99
    COLUMN CH# FORMAT 999
    COLUMN ROWS# FORMAT 9999
    I ran TestADOCommandParsing1.vbs script 3 times with
    different providers and table aliases to distinguish
    SQL from different tests:
    host cscript.exe TestADOCommandParsing1.vbs
    After each run I changed table alias var:
    EXEC :SQLTextPattern:='%TestParsesADO_Ora_1%';
    or
    EXEC :SQLTextPattern:='%TestParsesADO_ODBC_1%';
    or
    EXEC :SQLTextPattern:='%TestParsesADO_MS_1%';
    and queried V$SQL, V$SYSSTAT.
    Before running the tests:
    SYSTEM@ADAS> SELECT NAME, VALUE
    2 FROM V$SYSSTAT
    3 WHERE NAME = 'session cursor cache hits'
    4 ;
    NAME VALUE
    session cursor cache hits 91051
    Test with Oracle OLEDB provider:
    SELECT
              SUBSTR(SQL_TEXT,1,200) SQL_TEXT
              ,PARSE_CALLS PARSES
              ,EXECUTIONS EXECS
              ,CHILD_NUMBER CH#
              ,FIRST_LOAD_TIME
              ,ROWS_PROCESSED ROWS#
         FROM V$SQL
         WHERE SQL_TEXT NOT LIKE '%SQL_TEXT%'
              AND SQL_TEXT NOT LIKE '%SQLTextPattern%'
              AND SQL_TEXT LIKE :SQLTextPattern
         ORDER BY CH#
    SQL_TEXT PARSES EXECS CH# ROWS#
    SELECT TABLE_NAME FROM USER_TABLES TestP 21 0 0 0
    arsesADO_Ora_1 WHERE TABLE_NAME LIKE :1
    ORDER BY TABLE_NAME
    SELECT TABLE_NAME FROM USER_TABLES TestP 0 10 1 230
    arsesADO_Ora_1 WHERE TABLE_NAME LIKE :1
    ORDER BY TABLE_NAME
    SELECT NAME, VALUE FROM V$SYSSTAT...
    NAME VALUE
    session cursor cache hits 91062
    Test with ODBC OLEDB provider:
    SELECT ... FROM V$SQL ...
    SQL_TEXT PARSES EXECS CH# ROWS#
    SELECT TABLE_NAME FROM USER_TABLES TestP 1 0 0 0
    arsesADO_ODBC_1 WHERE TABLE_NAME LIKE :V
    001 ORDER BY TABLE_NAME
    SELECT TABLE_NAME FROM USER_TABLES TestP 0 10 1 230
    arsesADO_ODBC_1 WHERE TABLE_NAME LIKE :V
    001 ORDER BY TABLE_NAME
    SELECT NAME, VALUE FROM V$SYSSTAT...
    NAME VALUE
    session cursor cache hits 91062
    Test MS OLEDB provider for Oracle:
    SELECT ... FROM V$SQL ...
    SQL_TEXT PARSES EXECS CH# ROWS#
    SELECT TABLE_NAME FROM USER_TABLES TestP 11 0 0 0
    arsesADO_MS_1 WHERE TABLE_NAME LIKE :V00
    001 ORDER BY TABLE_NAME
    SELECT TABLE_NAME FROM USER_TABLES TestP 0 10 1 230
    arsesADO_MS_1 WHERE TABLE_NAME LIKE :V00
    001 ORDER BY TABLE_NAME
    SELECT NAME, VALUE FROM V$SYSSTAT...
    NAME VALUE
    session cursor cache hits 91062
    As you see the number of parses (both soft and hard) differ from
    provider to provider.
    Provider Hard parses Soft parses Executions
    ODBC 1 0 10     
    MS for Oracle 11 0 10     
    Oracle 11 10 10     
    It looks like there is no way to control this 'bad' behaviour of
    OLEDB providers, at least from ADO level. I looked through the docs on
    Oracle provider for 8.1.6, but found nothing.
    There is a temptation to drop all this stuff in favour of SQL
    incapsulated in PL/SQL procedures...
    Any comments?

    D.Bender wrote:
    Hello,
    What's very confusing is that it doesn't always return the same number of readings. Sometimes it is 5, then 7 and afterwards 6 without changing anything. Since it is the first program for the Keithleys at work nobody can help me. I already tried highlighting execution and retain wire values. This way I saw that the VISA write command should give the correct command but the VISA read does not return the right number of readings. In addition to that I don't get any readings on the second iteration, so I can only see some on the first. The Keithley also does not show any new measurements (at least it does not show any numbers, only the typical "----").
    I can't view your file but I have experience with the Keithley 2400 so here is my opinion.  
    This is a common problem for new users working with buffers.  The most likely cause is that you are reading the buffer BEFORE it is full.  If you initiate the second measurement immediately, you will likely see a Keithley error caused by trying to set the buffer values while a measurement is in progress.  The keithley will immediately return the buffer contents when asked to.  You, as the programmer, must set up your LabVIEW code to wait for the buffer to fill, then read the values.  While a fixed delay before reading could work, here is a better solution.
    I posted my code for a I-V sweep (set voltage, measure current over a linear range) here http://forums.ni.com/t5/LabVIEW/Error-code-110-in-​keithley-2400/m-p/2680579#M797618.  (sorry I don't have access to the files right now to upload them here.  The idea is first set the registers to watch for the buffer to become full.  When full, the SRQ bit will be set to 1.  After starting the measurement, i probe the SRQ value in a while loop.  Once it's set to 1, read the buffer and reset registers.  This method is outlined in the Keithley 24xx SMU manual (I can't remember which page).

  • C# VISA wait on RQS

    I'm trying to write a simple C# (.NET 4.0) program to control a Keithley 2400 SMU over VISA GPIB and I'm having trouble with getting the program to wait for the Service Request that the Keithley sends at the end of the sweep.
    The sweep is a simple linear voltage sweep, controlled internally by the Keithley unit. I've got the unit set up to send a ServiceRequest signal at the end of the sweep or when compliance is reached.
    I'm able to send the commands to the SMU and read the data buffer, but only if I manually enter a timeout between the sweep start command and the read data command.
    One issue I'm having is that I'm quite new to C# - I'm using this project (porting parts of my LV code) to learn it. 
    Here is what I have so far for my C# code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using NationalInstruments.VisaNS;
    private void OnServiceRequest(object sender, MessageBasedSessionEventArgs e)
    Console.WriteLine("Service Request Received!");
    // open the address
    Console.WriteLine("Sending Commands to Instrument");
    instrAddr = "GPIB0::25::INSTR";
    mySession = ResourceManager.GetLocalManager().Open(instrAddr);
    // Cast to message-based session
    mbSession = (MessageBasedSession)mySession;
    // Here's where things get iffy for me... Enabling the event and whatnot
    mbSession.ServiceRequest += new MessageBasedSessionEventHandler(OnServiceRequest);
    MessageBasedSessionEventType srq = MessageBasedSessionEventType.ServiceRequest;
    mbSession.EnableEvent(srq, EventMechanism.Handler);
    // Start the sweep (SMU was set up earlier)
    Console.WriteLine("Starting Sweep");
    mbSession.Write(":OUTP ON;:INIT");
    int timeout = 10000; // milliseconds
    // Thread.Sleep(10000); // using this line works fine, but it means the test always takes 10s even if compliance is hit early
    // This raises error saying that the event is not enabled.
    mbSession.WaitOnEvent(srq, timeout);
    // Turn off the SMU.
    Console.WriteLine("I hope the sweep is done, cause I'm tired of waiting");
    mbSession.Write(":OUTP OFF;:TRAC:FEED:CONT NEV");
    // Get the data
    string data = mbSession.Query(":TRAC:DATA?");
    // Close session
    mbSession.Dispose();
    All the above is supposed to mimic this LabVIEW code:
    So, any ideas on where I'm going wrong?
    Thanks,
    Solved!
    Go to Solution.

    It turns out that I need to enable the event as a Queue rather than a handler:
    mbSession.EnableEvent(srq, EventMechanism.Handler);
    Should actually be:
    mbSession.EnableEvent(srq, EventMechanism.Queue);
    Source: The documentation under "Remarks". It was a pain to find the docs on it... NI needs to make it easier :-(.
    With this change, I also don't need to create the MessageBasedSessionEventHandler.
    The final, working code (with fluff like namespaces and classes removed) looks like:
    rm = ResourceManager.GetLocalManager().Open("GPIB0::25::INSTR");
    MessageBasedSession mbSession = (MessageBasedSession)rm;
    MessageBasedSessionEventType srq = MessageBasedSessionEventType.ServiceRequest;
    mbSession.EnableEvent(srq, EventMechanism.Queue); // Note QUEUE, not HANDLER
    int timeout = 10000;
    // Start the sweep
    mbSession.Write(":OUTP ON;:INIT");
    // This waits for the Service Request
    mbSession.WaitOnEvent(srq, timeout);
    // After the Service Request, turn off the SMUs and get the data
    mbSession.Write(":OUTP OFF;:TRAC:FEED:CONT NEV");
    string data = mbSession.Query(":TRAC:DATA?");
    mbSession.Dispose();
    I hope this helps future programmers.

  • I have an array of clusters of 4 numeric indicators and i want to plot 2 of them in a xy graph for the entire array? How can you seperate out 2 of the indicators of each cluster for the entire array

    I have keithley 238 SMU, which when used in sweep mode returns the value in a array of cluster of 4 numeric indicators of which 2 are voltage and current and other two are step size and delay....I want to plot
    I-V curves, how to do that?

    Hello aby
    this could be a possible solution to separate 2 values from an array of 4 elements clusters an create 2 arrays suitable for graphing.
    Hope it helps.
    Alipio
    "Qod natura non dat, Salmantica non praestat"
    Attachments:
    a_solution.vi ‏24 KB

  • Facebook login problem

    Hi I'm Verdict
    I downloaded the facebook app on my BB and when I try to login it says, you have entered an incorrect email/ password combination. I have tried reinstalling my phone, restarting it and changing my login details but it still won't work.
    What do I do?
    Solved!
    Go to Solution.

    Immutable_V wrote:
    I meant reinstalling the app. The error code is 2401
    Hello again...for the benefit of others, here's the relevant KB:
    KB25378 Facebook 2000 series error codes in Facebook for BlackBerry smartphones
    Cheers!
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Acquiring data faster

    Hi, I am changing a code to operate a  Keithley 2401 sourcemeter. I want to be able to change the voltage applied on a solar cell and record the corresponding current in different bias modes, IV curves. Also, I want to repeat measurements in defined amount of time. Finally, all data should be saved in text files automatically. I have changed the original code and I achieved what I wanted my problem is that it takes a while to acquire data. It takes 30 min to run 100 IV curves with 50 points in the bi directional mode. Is there any way to make it faster? I am very knew to labview so my code is probably full of mistakes, all suggestions are very welcomed. I am using Labview 2014.
    Thanks.

    Is there a hardware limitation to your speed? Can the Keithley keep up? You have Wait nodes in the VI which could slow down the timing, but it sounds like your instrument communication is the limiting factor because those waits aren't long enough to cause it to take 30 minutes with 5000 data points.
    Is there a sample rate setting that you need to configure on your Keithley? It looks like you're reading a certain number of points and waiting until all of those points come in before moving on. If you Keithley is only giving you those points at a slow rate, then that would limit how fast you can run this applcation.
    (This is the most likely fix to your slow rate, find the sample rate setting and increase it. Maybe this has something to do with the "Step Delay" input, which is 2 seconds?)
    I don't know much about the VIs your using. Do you need to "Configure", "Enable", and "Read" multiple times each loop, every single loop? The only thing that looks to be changing with each iteration is the Index that you write to the "Save" VI.

  • Keithley 2635a source meter error 5038

    Hi All,
    I'm trying to control a Keithley 2635a source meter using labview but my source meter outputs an error every time I try to run the VI "error 5038: SMUA index exceeds maximum reading"
    I've looked at one other post on this topic but I can't figure out  why I keep getting this error.
    I've attached my VI's to this post.
    Thanks for your help.
    Attachments:
    Keithley source and average 5.vi ‏46 KB
    IV sweep 0V to Vhigh to Vlow to 0V_Version5.vi ‏78 KB

    I fixed the problem.
    I wasn't setting the number of measurements to be taken by the buffer. I needed to use a Keithley sub VI called configure measure so that the measure sub VI would know how many
    measurements to take.
    If anyone has a similar problem using the buffer on a Keithley 2600 series SMU then reply to this post and I'll see if I can help you out.
    Thanks again.

  • Error 1073807202 occurred at Property Node (arg 1) in VISA Configure

    I am working with the 30-day evaluation version of LabVIEW
    (Version 9.0 32-bit).  I am attempting to perform the serial loopback test
    described in NI's Developer Zone Tutorial, executing Basic Serial Read and
    Write.vi.  When I click the Run arrow a dialog box appears with the
    following legend:
    "Error 1073807202 occurred at Property Node (arg 1) in VISA Configure
    Serial Port (Instr).vi>Basic Serial Read and Write.vi.  LabVIEW: VISA or
    code library could not be located.  ...required drive not installed..."
    I can find the "smplserl.vi" driver in the /examples folder on my PC.
    What's wrong?

    Did you do a search for that error? Install NI-VISA.

Maybe you are looking for

  • Problem linking A/R invoice table INV1 and Credit memo table RIN1

    Hi Experts, I have developed a sales report by picking data from the A/R invoice table INV1, BP partner table OCRD and Charts of accounts table OACT and the report is working fine. The only problem is I am having a challenge linking the above tables

  • Another solution for the "caller can't hear me" pr...

    Ran into a problem with my cell phone the other day...  I could hear the caller, but he could not hear me.  Also, the Voice Recorder would not hear me either.  All of which suggested the microphone was not working. I rummaged the web, tried the vario

  • How to use signed classes/Jars in Java Stored Procedure?

    I am using java encryption API in my java application that I want to deploy as java stored procedure. The API is kept in the signed jar files. The Application is running in the MS-DOS environment but not in Oracle8i. It gives me following error. java

  • Colors in pdf files changed when I open those files in the iPad.

    I usually use iPad and Goodreader for reading journal articles. There is one big problem reading the papers using iPad because colors in pdf files looks abnormal. When I use my labtop and desktop, I can see whole colors in the pdf files, so I can see

  • How do I get indesign to work

    I just bought creative cloud.  Everything downloaded except indesign.  Well, it downloaded but said I needed to update it.  Every time I tried I got the same error.  The adobe site said close creative cloud and reopen.  I did this but still didn't wo