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

Similar Messages

  • While updating my apps, I lost my wi-fi connection.  I have since tried to update the apps several times...but none of them are updating.  Each time I try to update the apps, I enter my password, but then nothing happens.  Thank you - Chris

    While updating my apps, I lost my wi-fi connection.  I have since tried to update the apps several times...but none of them are updating.  Each time I try to update the apps, I enter my password, but then nothing happens.  Thank you - Chris

    Hold the power button and the home button down until the screen goes black and the apple logo appears. This will do a reset and you should be able to update your apps then.

  • I am trying to update software for face time on my iPad 2, but it won't connect.

    I am trying to update software for face time, but it won't connect.

    There is no update for FaceTime as it is included with iOS 7.0.4.
    What specifically is your problem with FaceTime? Do you have a wifi/internet connection?
     Cheers, Tom

  • HT201210 Hi. During the process of updating my ipad to IOS 6 utilizing iTunes, I received the error #1602. I tried the update procedure again, this time itunes does not recognize the devise. The pad is displaying USB connecter to iTunes. Does anyone recom

    Hi. During the process of updating my ipad to IOS 6 utilizing iTunes, I received the error #1602. I tried the update procedure again, this time itunes does not recognize the devise. The pad is displaying USB connecter to iTunes. Can anyone recomend a fix?
    Thank you

    There is only one fix now. The message on the screen means that you have to restore the iOS software on the iPad now. Read the part at the very end about using recovery mode.
    iTunes: Restoring iOS software - Support - Apple
    About the error code.....
    Error 1600, 1601, 1602
    Follow the steps listed above for Error 1604. This error may also be resolved by disabling, deactivating, or uninstalling third-party security, antivirus, and firewall software. See steps in this article for details on troubleshooting security software.
    If needed.....
    Additional Information
    If your device is continually restarting, not responding, or showing the Apple logo with no progress bar or a stopped progress bar, place the device into recovery mode and try restoring again.

  • I want to be able to tweak the graphic equalizer in real time while recording - and have this have the audible effect written to the recording.   At the moment i have to go into post-production and manually set the graph equalizer at various time points .

    i want to be able to tweak the graphic equalizer in real time while recording - and have this have the audible effect written to the recording.
    At the moment i have to go into post-production and manually set the graph equalizer at various time points ...

    This won't be real-time as you record, but you could tweak the EQ in real-time after the recording thus:
    Record what you want to tweak into GB with no effects.
    Solo the track and output it into something like Audacity.
    Start Audacity recording, then play your track in GB as you make those tweaks. That's what Audacity will record.
    Get that file from Audacity and put it into GB, then you'll have that effect.
    Sorry if it's complicated, but that's what came to mind. Hope it works.

  • Real-time PID control and continuous buffered acquisition. Does it work together?

    I use the "real-time PID control.vi" that acquires single AI point and generate single AO point in every "while loop" iteration to control a piezo actuator motion. Simultaneously I need to do (in another loop) a continuous buffered acquisition of another two AI channels (in the same rate as first AI channel).
    It does not work together.
    Does anybody know how to fix it?
    Platform: LabVIEW 6.1
    Board: PCI-6024E

    Hi,
    I would try to avoid the idea of using a separate loop since the PID
    loop is a continuous acquisition and will require un-interrupted access
    to the Analog DAQ system of the board. The last thing it needs is for
    you to attempt to start other AI functions at the same time.
    Configure your AI in the PID loop to read in multiple channels (Just add
    some more channels to the Input Channels Control. Separate the data as
    it comes out of the AI single Scan function using Index Array or other
    Array functions into that needed for the PID and that needed for your
    other data (the example is already doing this to make sure it only gets
    1 channel of data into the PID). If you don't need to sample all your
    channels of data all the time you can throw some data away as
    required.
    Obviously your other channels are now arriving one sample at a time so
    if you might need to build an array, insert into an array or use Auto
    Index on the loop if you are data logging.
    Regards,
    Dave R.
    varmih wrote:
    > I use the "real-time PID control.vi" that acquires single AI point and
    > generate single AO point in every "while loop" iteration to control a
    > piezo actuator motion. Simultaneously I need to do (in another loop) a
    > continuous buffered acquisition of another two AI channels (in the
    > same rate as first AI channel).
    > It does not work together.
    > Does anybody know how to fix it?
    >
    > Platform: LabVIEW 6.1
    > Board: PCI-6024E

  • Real-time pid control

    Hi,
    I found a real-time PID control in LabView examples, for E Series boards. I used one of this boards a time ago and used this control. It works very well.
    Now, I have a M series board (PCI-6221, LabView 7.0) and I would like to use a similar program. I tried to use the DAQmx assistant and look at the examples, but I did not find anything similar.
    Could you please take a look in this example (attached) and help me in configuring the PCI-6221 to work in similar way?
    I really apreciate your support.
    Thanks,
    Jeferson
    Attachments:
    Real-Time PID Control2.vi ‏131 KB
    simple PID.vi ‏53 KB

    Jeferson,
    I no longer have LabVIEW 7.0 on my machine, but I know that in LabVIEW 7.1, DAQmx installs an example called "PID Control-Single Channel.vi." This should be exactly what you are looking for. It can be found in the LabVIEW Example Finder (Help->Find Examples) by searching for "PID."
    Basically, this VI uses hardware timing (the rate will depend on your computer specifications) to acquire a single point, calculate the PID output, then output that value on the next sample clock.  Please let us know if you have any additional questions!
    Hope this helps,
    Ryan Verret
    Product Marketing Engineer
    Signal Generators
    National Instruments

  • Windows 7 offline files do not sync real time while online?

    I have network folders setup for use offline. When im online and another user deletes files from those folders, i dont see those deletions until i reboot or force a manual sync. How do you make that to show real time. So that when another user deletes files
    in folders i have set to use offline... however im online connected/authenticated to the network, i can see those changes real time.
    thanks,

    Wow, nearly two years since this question was posted and still no worthwhile contribution from Microsoft. 
    We are also seeing behavior similar to this.  We're running Windows 7 clients on a SBS 2011 network.  We are not doing folder redirection, but rather we have users taking certain file shares offline to work from home or on the road (works much
    better/faster than the VPN).  However, when they get back to the office occasionally they find themselves editing the same file another user is, or referring another user to check out a file they created while offline which is not actually in the share.
    Turns out their PC is using the local cache and not the network cache for some file access, but it insists that the user is working online.  Typically if the user forces a manual sync and resolves any conflicts or errors that arise, they can be 99 percent
    sure they are working online for real, but without double-checking against open files on the server there's really no way to know for sure.  This has absolutely destroyed user confidence in this technology which used to work OK (where this is concerned
    anyway - it still had some flaws) in Windows XP. 
    I saw a post in the partner forum where a moderator basically said "oh yeah, I can totally reproduce that in my lab and that's a shame...try Sharepoint."  Absurd.
    Seems like Microsoft is basically taking the stance that Offline Files is only worth using for folder redirection where only one user is likely to be using the files.  If that's the case then as long as the data syncs eventually it's probably not
    a huge deal that this happens.  If, however, you're using Offline Files to sync a shared directory this can have disastrous consequences with documents being edited simultaneously for hours or even days before finally someone realizes the problem and
    then one user or the other gets to redo their changes.
    If they can't make them work right, then they could at least give us more transparencey so the user can see what's going on.  I hated the stupid "you are now working offline" popups in Windows XP as much as the next guy, but I'd kill to get them
    back now, if only to avoid this stuff.  When a user browses to their share that's been made "always available offline" and it says "Offline status: Online" then it should be using files from the LAN, not the cache.

  • How to update List in Real time

    Hallo, i have a little problema with the List component (spark). I linked that list with my database e adding and removing data from that list with addItem and removeItem. This works fine with List because the List items appears and disappers in real time after user events. My problem is when I update a item of the list. The name doesn'r change in real time as i want.. This is normal cause i have not a function like addItem and removeItem for updating my List.. What is this function??
    Thanks and sry for bad english
    Max

    Hallo, I am Max even if i write with my Friend account. I can't see any invalidateList() function, I only see invalidateDisplayList().. Why?
    Thx
    Max

  • Shared Variables for Real-TIme Robot Control

    I'm really stuck in my efforts to use LV real-time in my hardware control application. I have a 6-axis industrial robot arm that I must control programmatically from my PC. To do this I've developed a dynamic link library of functions for various robot control commands that I can call using Code Interface Nodes in LV (using 8.5). This has worked great, that is, until I tried to port parts of the application to a real-time controller. As it turns out, because the robot control dll is linked with and relies so heavily upon several Windows libraries, it is not compatible with use on a RT target, as verified by the the "DLL Checker" application I downloaded from the NI site. When the robot is not actually executing movements, I am constantly reading/writing analog and digital I/O from various sensors, etc.....
    This seemed to suggest that I should simply segregate my robot commands from the I/O activities, using my host PC for the former, and my deterministic RT loop on the target machine for the latter. I set up a Robot Controller Server (RCS) vi running on my host PC that is continuously looking for (in a timed loop) a flag (a boolean) to initiate a robot movement command. Because several parameters are used to specify the robot movement, I created a custom control cluster (which includes the boolean variable) that I then used to make a Network Shared Variable that can be updated by either the RT target or the host PC running the RCS. I chose NOT to use buffering, and FIFO is not available with shared variables based on custom controls.
    Here's sequence of events I'd like to accomplish:
    1) on my host PC I deploy the RCS, which continuously pools a boolean variable in the control cluster that would indicate the robot should move. The shared variable cluster is initialized in the RBS and the timed loop begins.
    2) I deploy the RT vi, which should set the boolean flag in the control cluster, then update the shared variable cluster.
    3) an instance of the control cluster node in the RCS should update, thereby initiating a sequence of events in a case structure. (this happens on some occassions, but very few)
    4) robot movement commands are executed, after which the boolean in the control cluster is set back to its original value.
    5) the RT vi (which is polling in a loop) should see this latest change in the boolean as a loop stop condition and continue with the RT vi execution.
    With the robot controller running in a timed loop, it occassionally "sees" and responds to a change of value in members of the shared variable cluster, but most times it does not. Furthermore, when the robot controller vi tries to trigger that the movement has completed by changing a boolean in the control cluster, the RT vi never sees it and does not respond.
    1) Bad or inappropriate use of network shared variables?
    2) a racing issue?
    3) slow network?
    4) should I buffer the control cluster?
    5) a limitation of a custom control?
    6) too many readers/writers?
    7) should I change some control cluster nodes to relative, rather than absolute?
    8) why can't I "compile" my RT vi into an executable?
    Any help would be greatly appreciated. Unfortunately, I'm writing this from home and cannot attach vi files or pictures, but would be happy to do so at work tomorrow. I'm counting on the collective genius in the universe of LV users and veterans to save my bacon.....
    David

    Hi David,
    I'm curious why you decided to build a CIN instead of developing the code in
    LabVIEW.  Is there some functionality that that LabVIEW couldn't
    provide?  Can you provide some more information about the LabVIEW
    Real-Time target you're using?  What type of IO are you using?
    It is impossible to get LabVIEW Real-Time performance on a desktop PC running
    an OS other than LabVIEW Real-Time.  Even running a timed loop in LabVIEW
    for Windows won't guarantee a jitter free application.  Also, no TCP based
    network communication can be deterministic.  This means Network Shared
    Variables are also not deterministic (they use a TCP for data transport) and I
    advise against using them as a means to send time critical control data between
    a Windows host and a LabVIEW Real-Time application.
    In general, I would architect most LabVIEW-based control applications as
    follows:
    - Write all control logic and IO operations in LabVIEW Real-Time.  The
    LabVIEW Real-Time application would accept set points and/or commands from the
    'host' (desktop PC).  The Real-Time controller should be capable of
    running independently or automatically shutting down safely if communication to
    the PC is lost.
    - Write a front-end user interface in LabVIEW that runs on the desktop
    PC.  Use Shared Variables with the RT-FIFO option enabled to send new set
    points and/or commands to the LabVIEW Real-Time target.
    Shared variable buffering and RT-FIFOs can be a little confusing.  Granted
    not all control applications are the same, but I generally recommend against
    using buffering in control applications and in LabVIEW Real-Time applications
    recommend using the RT-FIFO option.  Here's why:  Imagine you have a
    Real-Time application with two timed loops.  Time-loop 'A' calculates the
    time critical control parameters that get written to hardware output in
    timed-loop 'B'.  Loop 'A' writes the outputs to a RT-FIFO enabled variable
    with a RT-FIFO length of 50.  Loop 'B' reads the outputs from the shared
    variable, but for some reason, if loop 'B' gets behind then the shared variable
    RT-FIFO will now contain several extra elements.  Unless loop 'b' runs
    extra fast to empty the RT-FIFO, loop 'B' will now start outputting values that
    it should have output on previous cycles.  The actual desired behavior is
    that loop 'B' should output the most recent control settings, which means you
    should turn off buffering and set the RT-FIFO length to 1.
    There is also a clear distinction between buffering and the RT-FIFO
    option.  The RT-FIFO option is used to add a non-blocking layer between
    network communication and time-critical code in LabVIEW Real-Time
    applications.  It also provides a safe mechanism to share data between two
    loops running in a Real-Time application without introducing unnecessary
    jitter.  Network buffering is a feature that allows a client to receive
    data change updates from the server even if the client is reading the variable
    slower than the server is writing to it.  In the example I presented above
    you don't need to enable networking because the shared variable is used
    entirely within the Real-Time application.  However, it would be
    appropriate to send control set points from a Windows PC to the Real-Time
    application using network published shared variables with the RT-FIFO option
    enabled.  If it is critical that the Real-Time application executed all
    commands in the sequence they were sent then you could enable an appropriate
    buffer.  If the control application only needs the latest set point
    setting from the Windows host then you can safely disable network buffering
    (but you should still enable the RT-FIFO option with a length of 1 element.)
    Network buffering is especially good if the writer is 'bursty' and the reading
    rate is relatively constant. In the robot application I can imagine buffering
    would be useful if you wanted to send a sequence of timed movements to the
    Real-Time controller using a cluster of timestamp and set point.  In this
    case, you may write the sequence values to the variable very quickly, but the
    Real-Time controller would read the set points out as it proceeded through the movements.
    The following document presents a good overview of shared variable
    options:  http://zone.ni.com/devzone/cda/tut/p/id/4679
    -Nick
    LabVIEW R&D
    ~~

  • Error 53 PID Autotune with Real-time fieldpoint control

    Hi!
    I cannot perform the autotuning PID parameters in fieldpoint cFP-2000 (Real-time control).
    It gives me the error 53 as you see in the attachment file. It seems to be because of the autotune wizard vi...???
    How can i solve this problem?
    Thanks for your help!
    Nunix
    Portugal
    Attachments:
    error 53.bmp ‏166 KB

    Hello,
    LabVIEW RT does not currently support the autotuning feature, because the procedure invokes a wizard that requires user interaction. LabVIEW RT does not support this type of user interface. This wizard is tightly integrated with the PID function itself and would require significant redesign to work in LabVIEW RT.
    It is the autotuning VI itself that is not compatible with LabVIEW RT. You can use the "PID Autotuning.vi" as long as you are not targeted to your RT engine. Run your VI in development mode with the "PID Autotuning.vi" in your code. After you receive your tuned gain settings, replace the autotuning vi with the normal "PID.vi" and use your tuned gains for the inputs. You can now target to your RT engine with tuned gains.
    Hope it s help.
    Isabelle
    Ingénieur d'applications
    National Instruments France

  • How would people like me link DSLR cameras to an iPad 2/3 for real time shooting control?

    Is it possible to link a DSLR camera to an iPad 2 (and 3) via HDMI in real time? I wish to use the new iPad 3 as a high resolution preview monitor to help me frame my shots (still and HD video). I know a few users have been asking similar types of questions, but I feel that my approach hasn't been fully thought out yet. I know many people want to use the camera display kit in tandem with their DSLR and SD card to obtain this mythic ideal, but obviously the camera display connector seems to be too slow.
    Will a hdmi connector theoretically help solve this or am I still at the mercy of the actual pin connector on the iPad itself?
    Thanks guys and gals in advance.
    Cheers!

    Yeah I was wondering if I could patch both the camera kit and the HDMI connector together to make this happen... seems like some hig level coding would be needed to create a working solution.
    Thanks for the fast reply!

  • MSA 4.0 SP8 : Campaign description not updated in real time while saving?

    with reference to this thread : refresh/update a list , I prefered creating my own instead of upping the older one
    So the problem deals with data refreshing, or data updating into the objects :
    When creating a campaign, after saving, the campaign description seems not to be updated. While we can see the right value we just entered,
    - in the Campaign Search menu, the description is either empty (upon creation of a new campaign) or displays the old value if the description was modified.
    - we have a Crystal report based on the campaign details (among other things), and the Description field (linked to the same datasource) is either empty or has the old value.
    All is back to normal if we go to the Search menu, search the Campaign and open it.
    Also, when creating a new campaign, and after saving (so there would be the Description bug), right-clicking on the tile and selecting the "Refresh All" option, it displays the campaign displayed before choosing to create a new one.
    What is happening ? The controls involved are still standard, so is the "Refresh bug" a known one ? (I am comforting in this idea since i found the thread linked at the beginning)
    Thanks and Regards,
    François

    Hi,
    this is a well-known issue of 4.0 (I remember that I have read that this should be changed in 5.0 by defining a specific relation type for BO relations).
    The detail tile is based on business object data but the search list is based on a record set retrieved by the search.
    For all linked fields/properties there is an automatic refresh but NOT for data which is stored in a dependent object.
    In your example campaigns are stored in BO BOCAMPAIGN with underlying IDES table smopccampn but the campaign short texts are stored in a separate object using table smopccamna.
    Unfortunately this is a very technical explanation but at least it is one...:-))
    Regards,
    Wolfhard

  • I have a big delay in my real time pid control

    hi ,
    since i don't have a digital input module i tried to use the serial port RS232 on my Crio to read the data from an absolute encoder in order to perform PID control for  a dc motor, but the problem is that the data took too match time to be read; there is a big delay between the first read position and the next one,and when i change the slide controller the indicator took time to change, although it should be instantinouse, here is
    a snapshot of my vi. 
    please i need help.

    Hi Moho,
    Looking at your code I see a couple of things that might be causing the issue. How long is the delay that you are experiencing? You are trying to transfer 2000 bytes every loop which will cause some delay. You also have a lot of mathematical operations that can take time between loop iterations. Also what is the VI that you have manipulating your waveform? Have you looked into the PID VIs?
    Scott B.
    AE NI

  • Real time 5.1 with adobe auditio

    im trying to create a 5. soundtrack for a movie in adobe audition, but i cannot hear all of the channels in real time while i preview.
    heres what im using:
    soundblaster audigy 2 platinum with optical in/out, and spdif in/out.
    sony 5. reciever with digital coaxial and optical input.
    i've tried going optical input and coaxial, but neither work for real time preview /to listen to each channel discretely. i can only hear the right and left front channels. i have also tried this in adobe premiere.
    is there another device i have to use to get real time preview with my current setup without having to encode my project everytime i want to preview the other channels?
    any help would be extremely appreciated!-
    -Cody

    Just finished solving this same problem. If you read the fine print in the SB manual you will find that the SB will not encode the six channels from the Audition Multi-channel encoder to the necessary Dolby or DTS signal to use the Coxial or Optical outputs so you must use the analog output on the SB PC board. You will need three 3.5 Stereo to RCA spliters. Check your manual for which connectors on the SB PC board is which. 2 analog channels will come out from each connector via the spliters and all of these must be connected to the multi-channel inputs on the amplifier. In the SB speaker setup, set it for 6. with the digital signal turned off. I tried it with 5. but it only came out in stereo.

Maybe you are looking for