Agilent 33521A control VI

Hi, 
I am a newbie to labview and currently struggling to in writing VI for controlling Agilent 33521A function generator. 
Basically, I would like to control the function generator and receive its output from the oscilloscope. 
I have attached the image of my current VI which contains the SCPI code for controlling outputs from the function generator. 
However, I would like to give specific frequency of the output for given time and other frequency (same waveform with different F) after some fixed time. 
Thus, I want a frequency stored (like "a=frequency") and  an user control knob or a box in the front panel for this frequency user input. And possibly use this stored value to somewhere else; like calculating time division at oscilloscope capture. 
I am sorry if this is not clear enough. Any advise would be a great help. 
Thanks!
Attachments:
VI.jpg ‏234 KB

You just need make another loop for controlling your function generator.  As long as you know the commands, just build them up and send whenever you need to.  I would also recommend looking for a driver and use that instead of building the SCPI commands yourself (see here).  It makes life a little easier.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

Similar Messages

  • "an error occurred saving the activex control"

    I'm trying to compile an executable in Labview 5.1. When I run the build app, it gets about half way done then pops up the error:
    "an error occurred saving the activex control"
    After clearing the error message, it proceeds to go through the motions of compling the app, but no exe is generated.
    The design mode progam run operates fine, and it saves fine as well in design mode.
    Thanks!

    wawatts,
    Though Brian and I got a broken arrow because we didn't have the necessary ActiveX component installed, I imagine you get no errors on the development system because you do have the component.
    This problem would be much harder to pin down on your side given the lack of development-environment errors and the sprawling design of the main VI. One possible troubleshooting approach would be the LabVIEW Find functionality (Edit >> Find). ActiveX functionality typically involves the use of Property Nodes and Invoke Nodes, so if you search for any Invoke Nodes (Select Object, then Functions >> Communication >> ActiveX >> Invoke Node) in the scope of your main VI and its subVIs, you could perhaps have turned up some hits that take you to the subVI that has the control that is presumably causing the problem.
    Unfortunately, I fear that finding the problem area doesn't solve the problem. It seems to me that either the LabVIEW app builder or the ActiveX component is doing something unexpected or nonstandard that is leading to the error message.
    I'm going to stick to my "upgrade the software as much as possible" guns:
    1. Install the LabVIEW 5.1.1 patch I linked to above, if it isn't already installed. There were fixes to the development environment and changes to the app builder that might resolve your problem. This is a free patch.
    2. Consider upgrading the ActiveX control. I think that the latest version is called IntuiLink for 54600-series Oscilloscopes, Version 3.1, and it's available here on the Agilent site.
    It was easy to do a simple test using your Xezgetsetup.vi on my system (LabVIEW 7.1.1, XP) with the updated ActiveX control. First, I installed the Agilent software. Then, I right-clicked inside the ActiveX control on the front panel of Xezgetsetup.vi, chose Insert ActiveX Object, and selected Agilent 54600 Scope Control from the list. Then I had to go to the block diagram and relink a few of the property and invoke nodes by just left-clicking on broken nodes and re-selecting the items that your code was already displaying. That fixed the VI so that it would run again.
    Then I built that VI into an EXE and got no errors.
    Perhaps all this proves is that you would have clear sailing if you upgraded to LabVIEW 7.1 and got the most recent Agilent ActiveX control--and maybe this is a good reason to bite the bullet and do that upgrade now--but it's certainly possible that you can do the same thing in 5.1 and solve your problem. Worth a shot.
    Hope that helps,
    John

  • GPIB instruments connected through Agilent USB/GPIB Interface can bee seen in MAX but can't communicate in labview

    I have an Agilent 82357B USB/GPIB Interface connected to my computer. 
    Attached to that, I have two lock-in amplifiers (an SR830, and an SR
    850).  I would like to be able to communicate with them through GPIB.
    I have downloaded and installed the software for the Agilent device
    (Agilent IO Control), and I can see the interface and the two devices
    in that software.  Here's what is configured in this software, that I
    can see:
    The VISA interface ID is GPIB0, and its address is 0
    The VISA addresses of the devices are GPIB0::4::INSTR and GPIB::12::INSTR, and the GPIB addresses are 4 and 12
    In Measerment and Automation Explorer (MAX), I made sure that the
    Passport for Tulip box was checked.  Once it was, I could see the
    devices in the Configuration window under Devices and Interfaces ->
    Miscellaneous VISA Resources.  There, I see GPIB0::INTFC, GPIB0::4::INSTR and GPIB::12::INSTR.
    I can right click on either of the instruments, and "Open VISA Test
    Panel" where I am successfully able to send commands and read from both
    devices.
    HOWEVER, when I am running an actual LabView program, I am unable to communicate with the devices. 
    For example, when I try to communicate to the devices through VISA,
    using the 'Basic Serial Write and Read.vi' (while VISA Resource Name is
    GPIB0::12::INSTR), I get an error:
    Error -1073807331 occurred at Property Node (arg 2) in VISA Configure Serial Port (Instr).vi->Basic Serial Write and Read.vi
    Possible reason(s):
    VISA:  (Hex 0xBFFF001D) The specified attribute is not defined or supported by the referenced resource.
    When trying to communicate with them through GPIB (which is what I want
    to do in the end), using 'GPIB.vi' I also get an error.  Here, GPIB
    address is 12, and I am just trying to give it the command *IDN?
    GPIB Write returned error code:
    EDVR: Error connecting to driver or device
    What's going on?

    You can use VISA Write and VISA Read. You just can't use the example called Basic Serial Write and Read because that is specifically for the RS-232 port. The GPIB-VISA is one of the shipping examples. Start the example finder and go to the search tab. Search for VISA.
    Again, no you cannot use the GPIB functions with a non-NI controller. The low level functions for an NI board and an Agilent one are completely different. You can rewrite the driver to use VISA or you can rewrite it to use the low level functions that Agilent provides. You use the Call Library Function Node, I believe to access their GPIB driver.
    I hate to say it but the $20 difference between the Agilent and the NI controller does not seem like much of a saving.

  • 5734 noise

    We are using a NI 5734 digitizer + PXIe-7966R FPGA combination to monitor an ultra-low noise sensor. These sit in a PXIe-1082 chassis with PXIe-8133 controller. We notice that our noise budget is presently dominated by the DAQ itself. Using terminated inputs (no external device attached) and sampling (AC coupled) for a few tens of microseconds at 120 Ms/s we observe an rms noise in the blank waveforms of 0.2 mV. There are no significant spikes in the frequency spectrum of this noise, which is well described by a 1/f spectrum. In order to reach our goals we would need to improve the stability of these blank waveforms by just a tad (factor of two or so). We have observed no improvement in removing other modules present in the chassis, or moving the digitizer to positions away from the controller. Is this level of waveform stability typical of this digitizer and chassis combination? If so, can anything be done to improve it some? (lower noise chassis?)
    Thanks in advance.

    Hi Nathan,
    We are measuring two different signals right now for the sake of troubleshooting.
    The first is the output of a function generator (Agilent 33521A) that is operating a pulse signal with a pulse height of 100 mV, a duration of 100 us, a rise and fall time of 10 ns and a frequency of 1 Hz. The second is a terminated channel. We are taking data at 50 MS/s. Our traces are usually 20.000 samples long (i.e. 400 us).
    As suggested we have changed the gain on the NI5734 to lower our noise. This step works as expected and the noise really dropped by a factor of ~4 at 12 dB gain. We also know that the gain has really changed measuring the 100 mV output of the Agilent. So thanks again for pointing this out.
    But now we are facing a different problem. Once I access the gain on the NI5734 we see a new kind of noise ripples/bunches in the traces that have not been there before. During those noisy periods that are usually about 60 us long the digitizer noise doubles from about 30-40 channels to about 60 channels for a terminated channel. Those ripples are usually on the order of 300~400 us apart within a single channel. The ripple in one channel is usually 100 us ahead/ behind of the ripple in another channel.
    The situation gets worse once we acquire traces from the function generator (or any other source). Then those noise ripples are no longer confined to ~60 channels but we see spikes in the signals that are 10.000 channels big or more. It's usually only one sample that's out of the order, whereas the sample before and after looks normal. But we can have multiple (20+) of those spikes in a 5000 sample trace.
    I am certain that this is not a problem with the FIFOs, the general structure of my FPGA code or the host application as it works fine as long as I don't try to change the gain. Could it be that the attenuator is messing up the signal, or that the gain control puts out a 10 kHz signal to ensure that the digitizer is still in the right gain setting, which messes up the digitization?
    Thank you very much,
    Bjorn

  • Subvi error at error out dialog box

    i using the driver supply by agilent to control the agilent 8163a lightwave multimeter. The problem i m facing right now is that when i run the program, the xxx.vi will pop up at the error out status dialog box. This problem occurs at all the sub-vi provide by Agilent.How can i solve this problem.

    Hello,
    I think the problem that you are seeing is due to the automatic error handler being turned on. For information about enabling and disabling this feature as well as other new features of LabVIEW 7.0, please see the LabVIEW 7.0 Upgrade Notes here:
    http://digital.ni.com/manuals.nsf/websearch/E8D86CD680B0753D86256D2C005D8EA0
    Hope this helps!
    Regards,
    Steven B.
    Applications Engineering
    National Instruments

  • Using gpib-32.dll in Labview 7.0

    Hi there,
    I am relatively new to Labview and I need some help trying to program an old HP3488A switch/control unit using the Call Library Function Node. I would like to convert the existing VB6 code, which uses gpib-32.dll, into Labview. What I have done in the VB code is to call the ibdev function to set up the HP instrument. I would like to do the same in Labview. How would I even go about setting up the .dll files as I am revamping the existing code (running on a Pentium II computer) and trying to create an identical code in Labview (running on a Pentium III computer). Also, after I have set up the .dll files (done any system configurations if necessary), how do I actually implement this file in Labview?
    I have tried calling the ibdev function in the properties of the Call Library Function. I created 6 parameters of return types with ranges of type long. Then I pass integers into the input of this node and when I tried running it I get an error exception within the external code as follows:
    "An exception occured within the external code called by a Call Library Node. This might have corrupted Labview's memory. Save any work to a new location and restart Labview. VI "switch.vi" was stopped at Call Library Function Node 0x1D7C of subVI "switch.vi"
    Can someone please help me? Thanks.

    I actually tried that before. As the HP3488A switch instrument is very old and came out before IEEE488.2 got introduced, it still uses IEEE 488.1, or HPIB commands. When I try using MAX or even my Agilent IO Control, it shows that there is an instrument connect to GPIB address 10, but neither programs can auto-identify the instrument using the *IDN? query. Even so, I tried typing ID? in both programs and I got no data back from the instrument. I'm not too sure as to what the problem is since I always get "\n" back from the instrument's reply. I even tried changing the termination character enable to TRUE and I still got nothing back.
    However, on the front local display of the switch, I can see arrow indicators moving between TALK and LISTEN whenever I perform a write or write/read command. But no data gets sent or received because I couldn't perform any write commands to change the switch. If anyone can tell me what the real problem is that would be great. But if not, then I will have to use the Call Library Node because I know that my VB6 code actually works on the HPIB instrument and I could simply use this gpib-32.dll file on Labview and perform the same instructions, which should allow me to talk to the switch. Can anyone tell me how to properly set up a Call Library Function Node as I have errors using the gpib-32.dll file (please see my previous message)?

  • N6705B connectivity via GPIB interface in UNIX

     Hi
    i had an N6705B device my requirement is like below
    I need to control this device via an GPIB interface in linux PC.
    for the above i am using an GPIB to GPIB cable and connected the N6705B and amy linux device.
    Now i have to connect/login in to the N6705B device and do the settings like setting voltage for the DUT (IC chip) and collect measurement for various test scenarios of DUT.
    For example i have to set the input voltage as 3.7v to my test device(which is an wifi device) and connect it to an access point(connection will be done manaully) so during the connection stage i have to measure the current consumed by the device (taken across power amplifer). 
    I think there are SCPI commands whcih i notice in the AGilent 14585 control software which do the same (the software support is there in windows 7 via an GUI), is there any posibility now this commands i can send to the agilent N6705B device by logging into it from a linux PC.
    Thanks
     Varun.P

    Duplicate: http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/SCPI-commands/m-p/2959241#M65332

  • Error Code 0xC0000025 (labview 2014)

    Hello Everyone,
    My labview program is communicating with a function generator (Agilent 33521A) and a frequency counter (Agilent 53230A) using the standard device drivers available on NI's website. I have recently upgraded from 2012 version and my labview program is consistently crashing. I get the same error code each time but the crash is random. Moreover if I run the code for function generator separately it completes the required number of iterations. But crashes if both instruments are used simultaneously. I have attached the screen shots of  front panel/block diagram along with the VI.
    I will be grateful if anyone can help me.
    Hamza
    Solved!
    Go to Solution.
    Attachments:
    Front_Panel.png ‏80 KB
    LabView_Code.png ‏62 KB
    Frequency Sweep + Counting.vi ‏50 KB

    Driver specific questions are hard to get answers from: but here are a few things to try.
    [before you start: I do not have these drivers installed, these are just things I noticed poking the Block Diagram]
    Are you intending to close the generator duding each for loop run? On the next loop, the ref to that address has been destroyed.
    You are using error mannaged drivers, Do you want the system to handle errors from previous loops?
    This is a pictrure of how I would restructure
    Remember you can add a contitional terminal to a for loop (right click border) to have the For loop end early on boolean or (more usefully) error. 

  • How do I use LabVIEW to control and vary the voltage on my Agilent Power Supply and simultaneously record temp from 1 DMM and voltage from another DMM?

    I am using an Agilent Power Supply  to apply a voltage to a
    thermistor to heat an Al chassis.  I want to use LabVIEW to tell
    the power supply to apply 5V for 10 minutes, then step to 7V for 10
    minutes, etc.  I am completely new to LabVIEW, so any help would be greatly appreciated!
    In addition to that, I want to place a type J thermocouple onto the Al
    surface and use a Keithley 2000 DMM to monitor the temperature (it has
    a built in conversion from V to Temp for type J).  I will also be
    using another Kelthley 2000 DMM to record the output voltage of a new
    uncalibrated thermocouple.  I would like to collect the output
    voltage for this uncalibrated thermocouple and the temperature reading
    from the type J simultaneously.  How should I go about doing this
    in LabVIEW?  I will be using version 6.1.  The power supply
    and DMMs will be connected to a PC using GPIB.
    Again any suggestions would be greatly appreciated- I have no idea
    where to begin on such a project.  I have taught myself how to
    make a basic VI- converting temp in oC to oF, but  that is as far
    as my knowledge goes.

    What you want to do should be fairly straightward and a good way to learn labview. 
    First off, if you haven't already, I would download the drivers for the Keithley and Agilent instruments.  I found the keithley drivers at the link below.  You will need to find the labview drivers for the Agilent PS at their website.  Drivers are the VI's you will use in your program to control the insturments.
    http://sine.ni.com/apps/we/niid_web_display.download_page?p_id_guid=E3B19B3E90B0659CE034080020E74861
    If you open Labview and go to the help menu and click on Labview bookshelf there is alot of information on getting you started coding labview.   This should get you started, if you have anymore questions just ask in this same thread and I am sure you will get all the help you need.
    Brian
    Message Edited by BrianPack on 09-14-2005 05:21 PM
    Message Edited by BrianPack on 09-14-2005 05:21 PM

  • Controlling Agilent E4438C ESG using NI-VISA GPIB

    Hii all,
    I am controlling Agilent E4438C ESG using NI VISA GPIB...Whenever i want to set the amplitude and frequency, i will send it the commands....but when i want to capture the information i am unable to do it....
    I gone through the VISA GPIB user and programing manual ..there is various functions such as ibwrt etc..How can i use those commands in the LabVIEW...
    One thing more ..i wanna to know, the commands vary according to the instrument type..
    If yes from where i can get those commands for Agilent E4438C ESG....
    Puneet
    CLA 2014
    CCVID 2014

    You should download the driver. The main search page is at http://sine.ni.com/idnetwork/. Just enter 4438 into the search field and you will find the driver.
    Your comment about capturing the information is not clear. What exactly do you want to read back from the instrument? You should spend some time reading the programming manual for the instrument. When you find the query (a command terminated with a '?") you want to issue, you would see if it exists in the driver. If it does, just execute the driver function. If it doesn't, then you do a VISA write of that command and then do a VISA Read.
    p.s. The programming manual is available from the vendor.
    Message Edited by Dennis Knutson on 02-13-2008 09:18 PM

  • Working with Agilent 54XX VIs, want to change control style

    I'm writing a master control VI for an Agilent 54624A oscilloscope that uses a USB/GPIB connection, using the VI libraries that LabVIEW has.  When I create a control for one of the VIs by right-clicking on an input terminal, the master VI drops down one of the ugly-as-sin Classic controls.  I tried setting the default control style in my VI through File>>VI Properties, tried the same thing on the Agilent VIs, and I tried using the Replace option in the right-click menu (but it only replaces it with an empty control.  I found this VI that kinda works, but it changes everything in my VI, not just the Classic controls, which leaves me right where I started with the controls I don't want changed.  Is there a way to directly edit the style of a control, without losing the properties (for example, change a Classic Enum to a System Enum and keep all of its Items)?

    Right click Replace shouldn't cause you to lose the elements in your enum.
    To solve your problem in the future for new controls created by right click Create on the subVI's, go to the Agilent VI library.  Edit each of the VI's there to replace the controls and indicators with the style you want.  Controls and indicators are inserted with the style of whatever VI they are being created from no matter what your default settings are for new controls.  (It is more like a copy of the subVI's control rather than creating a new control.)  Fix the subVI's, and you won't have problems in the future.

  • Trying to update channels in real time while controlling Agilent 34970a

    Hello all,
    I've gotten such valuable help on these forums and I am hoping that someone will be able to point me in the right direction with this issue. I'm still pretty new to LabVIEW so please bear with me.
    I am working with the LabVIEW driver for the Agilent 34970A connected over a GPIB-ENET 100/1000. The device was detected and works just fine. The reason I am writing today is that I am trying to update the channel list in real time. Currently I need to stop the whole process in order to edit the channel list but due to the nature of the tests we will be performing it is important that I can add more channels as I go without interrupting the testing going on.
    I've searched the forums and tried modifying the channel string control to "Update value while typing," and "Limit to single line." The motivation behind the latter change was so that I could modify the channel list and use the ENTER key to execute. I've also tried creating a while loop with shift registers but the construction ws so clumsy that it did not work either.
    I am pretty sure that the modification should occur right at the string control but cannot be certain since the pint is for it to reinitialize what channels to scan and that occurs further down in the VI. I've attached the VI I am working with; it is an only slightly modified version of the driver's Advanced Scan Example. 
    Thank you all in advance,
    Yusif
    Solved!
    Go to Solution.
    Attachments:
    HP34970A Advanced Scan Example_YN_5-16a-12.vi ‏77 KB

    You may have added a shift register, but you're not actually comparing anything. You need to compare the value of the control to the value of the data coming from the shift register to see if it changed. If so, change the scan list.
    If you need to have a delay after changing the scan list, then you should add the delay inside the case structure that calls the VI to reconfigure the scan list. You can use the Time Delay VI to cause the delay to occur after configuring the scan by using the error wires to force execution order.
    P.S. Your naming scheme for VIs implies that you are probably not using a source code control system. If so, you would be well served in taking the time to learn about source code controls systems and installing one. It's very easy, and there have been numerous threads in the LabVIEW forum on recommendations of source code control systems.
    Attachments:
    changed.png ‏15 KB

  • Labview drivers for agilent e4432b ,can`t find way to control multitone ???

    labview drivers for agilent e4432b ,can`t find way to control multitone ???How to deal with it
    Solved!
    Go to Solution.

    Hello Brownheart,
    Drivers for box instruments are not meant to cover all applications of an instruments use, only the most common uses. Regardless of discussing whether multitone is a common use for this instrument, a cursory examination of the available functions in the driver does not reveal this functionality.
    What you will have to do is create your own config VI using the information from the programming manual of the device. Not ideal, but at least the provided NI driver gives you a starting point from which to add this functionality.
    Regards,
    Dan King

  • Using Labview control Agilent 33120A signals generated occurs an error occurs

    hello,
    The signal generator is the Agilent (33120A)
    In Measurement & Automation which have caught this device (see below)
    But VI execution to half Shique the following error window
    in Initialize.vi, there is a problem
    Such as photos
    Seems to be unable to distinguish the devices?
    How can i solve this problem? thanks~

    Hi
    Noticed that you are using serial port to communicate to instrument. Would you please double-check the serial setting parameters, such as Baud Rate, Flow Controls and etc. are insistent with the configuration on instrument? Or would you please try to use other interface rather than serial port.
    If you have tried everything I mentioned above and it still raised that error, please manipulate the NI I/O Trace (You could find it in Windows Start menu) tool to trace and log the communication between PC and instrument. I should be helpful to analyze the root course if you investigate into that trace log. It would be great if you post it here!
    Thanks,
    - Charles

  • Error on using IVI driver to control Agilent E4407B

    Hi,
    I'm now using LabVIEW7 to control Agilent E4407B Spectrum Analyzer through GPIB. I can control it properly in MAX by sending GPIB commands. However, I got an error when I program it in LabVIEW by using the IVI instrument driver. The error code is -1073807339 which is timeout expired before operation completed. I just used the Getting started.vi to try but it failed in the initialize vi. I didn't change any setting and the address was mateched. The analyzer indicated that it turned to remote mode but it showed "Query UNTERMINATED" when the program run Call Library Function to access the ivi.dll. Do I miss any drivers or settings? Thanks.
    Bill

    Hi,
    I developed this driver with E4401B and I do not have any troubles. Please can you use NI Spy for VISA and attach spy report.
    NI Spy you can find in Start menu National Instruments>>Ni Spy. Press blue arrow icon. Now you can start Getting started example. In spy window you should see all VISA calls. When getting started example finish, stop capture in NI Spy and save report file.
    Thanks,
    Zdenek

Maybe you are looking for

  • Problem typing keyboard

    THE LETTERS I TYPE ARE NOT THE LETTERS THEY ARE SUPPOST TO BE. HOW CAN I FIX THIS? EXAMPLE  A = Q

  • Why are icons not included sometimes after build in Xcode 5.0.2

    Sometimes after doing Build in xcode 5.0.2 the iconset is ignored, relaced by the default in displays, even though they remain in the Images.xcassets file. I have to re-import them. What might have I done to cause this? It seems to be a random occurr

  • Back/Previous page function

    When reading a page on a website there is aften a third party link to take you to another page. When I've finished reading I used to be able to scroll back or click the back arrow to return to my original page - now I have to close Safari altogether

  • Failed while installing SSAJS 8.2 on Fedora

    Hi all, I have problem when installing Sun Java System Application Server 8.2 on my Fedore Core 2 machine, i use jdk1.5.0_04, the error report is like this: Installing Sun Java System Application Server Platform Edition |-1%--------------25%---------

  • How to verify my account

    How to verify my account