NI 4472 coupling on Labview

Hi everybody,
I have a PCI 4472 acquisition board, Labview 2010 and DAQmx 9.3. The board accepts both AC and DC coupling and I can successfully set it in the Test panel on NI MAX, but I can't find a function to set the channels coupling on Labview.
Thanks for the help
Tommaso
Solved!
Go to Solution.

Hi Tommaso,
AC/DC coupling can be set in a couple of ways in LabVIEW. One is to use the DAQ Assistant in the DAQmx palette. The other one is to use the Channel node, still in the DAQmx palette, and select Analog Input -> General Properties -> input Configuration -> Coupling. Then adding a constant you can choose the right coupling for you.
Hope everything works out!

Similar Messages

  • TCP/IP coupled Hardware (@ Labview)

    how is the way to develop external Hardware (with proprietary TCP/IP coupled Hardware) in Labview.

    The tcp/ip functions come with LabVIEW and you don't require additional drivers. If you wish to use VISA for communication like instruments from Agilent, Keithley, etc., then you need to install NI-VISA. Look at any driver that supports Ethernet for an example.

  • Run a LabVIEW VI from VB without compiling

    I've got a couple of LabVIEW VI's that I want to run from VB without having to compile them.  I can run them fine on the development machine using:
        CreateObject("LabVIEW.Application")
    When I try this command on another machine that has the LV Runtime Engine installed it returns a run-time error "429: ActiveX component can't create component"
    I've read a few posts with similar problems however they don't seem to provide any real solutions.
    All tips/help are greatly welcome.
    Woody

    Hey Woody,
    this is an extract from a example of a VB app using LV VIs.
        'Create a reference to LabVIEW
        Set lvApp = CreateObject("ETLKWP.Application")
        'Assign an object reference to VI
        Set VI_open = lvApp.GetVIReference("ETLKWPOpenCommunication.vi")
        Set VI_close = lvApp.GetVIReference("ETLKWPCloseCommunication.vi")
        Set VI_DeviceType = lvApp.GetVIReference("ETLKWPDeviceType.vi")
    This code will load the application, here ETLKWP, and three VIs. These VIs will be found by the app on the VI search path. Since one part of the search path is "all subfolders" you can place them in any subfolder of the folder where your app is.
    Private Sub DeviceType_Click()
      Dim ParamNames(0 To 8) As String
      Dim ParamVals(0 To 8) As Variant
       ParamNames(0) = "PrimTarget"
       ParamNames(1) = "PrimIndex"
       ParamNames(2) = "Source"
       ParamNames(3) = "DeviceType"
       ParamNames(4) = "DeviceIndex"
       ParamNames(5) = "Syyy"
       ParamNames(6) = "Hyyy"
       ParamNames(7) = "SerialID"
       ParamNames(8) = "ErrorNumber"
       ParamVals(0) = PrimTarget
       ParamVals(1) = PrimIndex
       ParamVals(2) = 0
       ParamVals(3) = 81
       ParamVals(4) = 1
       Call VI_DeviceType.Call(ParamNames, ParamVals)
       SW_Stand = ParamVals(5)
       HW_Stand = ParamVals(6)
       Serienid = ParamVals(7)
    End Sub
    This part of code will call the VI DeviceType.vi. The parameters 0 - 4 are controls and 5 - 8 are indicators which are connected with the connector pane. This VI will send a message over a serial connection to an external device and the device will answer with its firmware, hardware and serial information. This information is now available in the VB program.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Levy flight or firefly algorithm in Labview or matlab

    Hello,
    Has anyone used Levy flight algorithm with Labview. Is there any toolkit  or library to implement this algorithm in Labview or at least a Matlab code that can be coupled with Labview via Mathscript??
    Thanks,
    Zied

    If you search the Web for "Levy Flight", you will find Matlab code.
    Bob Schor

  • Best approach for adding configurations to deployed system

    I have been using Property Loader steps to accomplish three things on a deployed system:
    Define equipment ID,s calibration, slots, etc. for the hardware of the deployed system
    Define behavior for the deployed system station (paths, test multiple versions of a module or only the most recent, allow x seconds for UUT boot up time)
    Define limits for the multiple versions of a module (K uses board 1, M uses board 2, each with different images for connection instructions, each version has a combination of software revisions and a different path to find the software to load to the module, component limits may change with each rev)
    We need to load all these properties because we intend to build a duplicate of the system and once it's on the production floor we are not allowed to change it without going through a lengthy verification and validation process.
    I am finding that especially items 2 and 3 are cumbersome to maintain and may actually work against my intent - each time a new rev or behavior is needed, I have to build a new deployment containing the latest information. I've come to the conclusion that I need to provide a utility to change these settings on the fly, so that the utility can be validated once and the settings can be changed and confirmed for future releases without requiring a new deployment to be built.
    Ideally what I would like to do is:
    Read the current file (which is in Property Loader format)
    Display a UI showing the current file contents
    Allow the user to change the contents
    Provide Save command to change the file, or Save As command to write a copy of the file (for new revs of the same module). Keep these files in the same Poperty Loader format.
    My questions:
    Is this achievable in TestStand only?
    If not, what would be best practice?
    Should I switch to INI files so I can use the Write and ReadEx methods, and if so, how does one write/read multiple variable mixed between FileGlobals and StationGlobals?
    Thanks in advance!
    Gizmogal

    Hi,
    If you have validation requirements I think you definitely want to isolate and minimize just the part that changes, and separate that from the validated, unchanging part. Sounds like you are doing that. I also think separating the "station" properties from test-related "limits" properties makes sense.
    You should be able to swap out property files without doing a deployment. In the part where you said, "Ideally what I would like," you have two choices in implemeting that. 1) translate the property loader file to the UI, then back again as you describe. or 2) write your own property loader. Many have done this. You get the Property Loader source code with TestStand, I've written a couple in LabVIEW. You can make either tool available in the Configure or the Tools menu.
    The difference between property loader and Write and ReadEx is, I think, Write and ReadEx serializes a single property, which is usually a container. Property loader recurses through a bunch of containers in a bunch of steps. Also the file formats are different. I use both depending on the project. If you look in the process model sequences you can see that Write and ReadEx is used to copy values between Locals and Parameters of different sequences. Maybe you could use those for StationGlobals and FileGlobals and Property Loader for steps.
    cc

  • Sound and Vibration toolkit 3.1

    Hi
    I acquired 2-channel Acceleration data using NI PCI/PXI 4472 along with Labview DAQ Assistant. I received tdms files and converted them in excel files.
    Now I need to carry out spectral analysis of data. I am using Labview 8.6 and am also provided with Sound and vibration toolkit 3.1.
    I want final output in the form of a waterfall diagram that I can include in my thesis. I tried using excel data in Matlab but no luck.
    I know basic use of Labview but completely new to SVT 3.1.
    Can anyone please help me in explaining the basics of using waterfall display Palette in SVT 3.1 along with excel data?
    Thanks.

    Thanks Jared,
    I tried searching for examples and found SVXMPL_Waterfall Display (Simulated). I guess that is the one you are referring to.
    I tried to run that one but it ended with Error 1445.
    I went through another thread on error 1445 (http://forums.ni.com/t5/LabVIEW/SVT-3-1-LabView-8-Error-1445/m-p/310575/highlight/true#M161064) and the referred knowledge base (http://zone.ni.com/reference/en-XX/help/371361G-01/glang/open_vi_reference/) but could not get how to correct the error. I am attaching the screent shot of the VI.
    It would really be of great help if I can get an idea on how to solve error 1445 for this VI.
    Attachments:
    SVXMPL_Waterfall Display (Simulated) VI screenshot.JPG ‏89 KB

  • Question about opening a vi reference in a sub-vi in a loop

    I have a weird question that has to do with a performance change I saw between Labview 7.1 and 8.2.  Maybe someone knows something about this.
    Basically when I upgraded to 8.2 I found a couple of memory leaks in my code.  They didn't really cause memory to increase actually, but they caused labview to take several minutes to close if I hit the abort button.  I tracked it down to a couple of spots where I was inadvertently calling a vi reference in a sub-vi in a loop.
    So if I run this in either 7.1 or 8.2, I can call hundreds of thousands of instances of the vi ref in a loop.
    But if I take the above code and sub-vi it like this:
    Now if I run this for a couple seconds labview takes a long time to close, and if I run this for several minutes labview will basically hang entirely when I abort the vi.
    But if I do the same thing in Labview 7.1 the performance is exactly teh same regardless of whether the open vi reference is in a sub-vi or not.
    So what changed?  I don't really care about the difference, as I probably shouldn't be doing this in a loop anyway, but what is different in 8.2 that caused the change?
    -Devin
    I got 99 problems but 8.6 ain't one.

    Of course, but I am interested in knowing what changed, just for my own edification. 
    Obviously something changed between the two versions.  And what is strange is that there is no problem at all opening millions of vi references as long as I am not passing the reference control out of a sub-vi terminal.
    There is an openG function that did this exact function, and I was actually using it in one of the states in a state machine.  So the state machine would continually go through a repeating cycle, and after several days I would start to notice labview would take forever to close if I stopped the vi.  So its not like I did something as noticably dumb as the example I showed, but it is interesting to me what is actually occuring inside labview here, and why it didn't have a problem in 7.1.  I find the more i know about the innards of labview's memory allocation and management, the easier it is to good-performing code.
    -Devin
    I got 99 problems but 8.6 ain't one.

  • Generating AO based on the value of AI?

    Hello all,
    I am new to labview and require help in putting together an application.
    I have a PCI-6229 card hooked up with a set of 64pin- BNC converters.
    The DAQ card has 32 analog inputs and 4 analog outputs. I have an
    analog input which is pressure data coming from a analog pressure
    transducer. This pressure data ranges between 0 mm Hg to 140 mm Hg.
    When the pressure reaches 20mm Hg, I want to generate an analog output
    on the 4 analog channels and stop this generation once the pressure
    goes beyond 50mm Hg. This generated analog output is used to control
    the motion of 4 linear actuators hooked onto each analog output channel.
    I would appreciate it, if someone could help me out with this project.
    Thanks
    Murali.

    Hi Murali,
    You will need to use triggering for your application.  In this case, you have a few options of how you want to program it.  Your application is going to require 2 triggers: one to start the analog output and one to stop the analog output. 
    You can use the analog input from the pressure transducer as one of your triggers.  You can acquire the pressure as a voltage and trigger the analog output off of the voltage level.  You will have to use software for the other trigger.
    For example: you can continuously acquire your analog input data and use a start trigger based on that analog signal to start your analog output.  Then you can use a software trigger to stop your analog output when your analog input voltage reached a defined level. I created an example program by modifying a couple of LabVIEW shipping examples programs to show you this.
    The LabVIEW example finder is another great resource.  I recommend looking at 2 examples:
    1. Continuous Acquire and Graph Voltage Internal Clock which is located in Help>>Find Examples>> Hardware Input and Output>>DAQmx>> Analog Measurements>> Voltage.
    2. Continuous Generate Voltage Waveform Internal Clock Analog Start which is located in Help>>Find Examples>> Hardware Input and Output>>DAQmx>> Analog Generation>> Voltage.  This example will generate an analog output after receiving an analog trigger.
    I hope this information helps you with your project.
    Regards,
    Hal L.
    Attachments:
    analog input analog output triggering.vi ‏172 KB

  • Where can I find the amplitude and phase frequency response when the AC coupling is set on the 4472

    My friends,
      I need to know the amplitude atenuation but most important, the phase distortion introduced on the low frequency components of the signals when the AC coupling is setted (i.e. when the high pass filter is connected) on the 4472 and 4472B DAQBoard.
      I can construct the amplitude frequency response by generating and aquiring a sine waveform of a knew amplitude. But I cannot construct the phase distortion introduced by the circuitry. 
      However, I assume that this crucial information should be available in the DAQ Manual or  in the website of NI, but untill now I haven´t found it.
    Thankning in advance,
    crimolvic from Chile

    crimolvic,
    Here are the Specifications and Datasheet for the 4472.  They indicate a phase non-linearity of less than 0.5 degrees across all frequencies.
    For information on how this varies with frequency, see the attached
    spreadsheet.  This response was the result of testing on a single
    4472.  Although this is classified as a "typical" response, it is
    not gauranteed.
    Have a great, day!
    Travis
    Attachments:
    4472 Phase Linearity.xls ‏21 KB

  • USB 9234 coupling settings in Mac OS X Labview?

    Hi folks, 
    I have Labview on OS X here connected to a USB-9234. I'm just thrilled to see this hardware supported on OS X; NiDAQmx Base works great with it. However, I can't for the life of me figure out how to set the AC/DC and IEPE settings. I noted that the readme file references these coupling parameters as "properties". How do I set properties for this device? Any general pointers would be deeply appreciated. 
    Regards, 
    Tom 
    Solved!
    Go to Solution.

    Hi Tom-
    I'm glad to hear you're seeing good results with your USB-9234 and NI-DAQmx Base.
    In order to adjust the coupling and excitation settings, you will have to use the new (as of NI-DAQmx Base 3.2) NI-DAQmx Base Properties feature for LabVIEW.  The properties interface was one of the last features we implemented for the NI-DAQmx Base 3.2 release that we are planning to potentially add more properties to and fully document in a future release.  However, I made sure to add the excitation and coupling properties for the USB-9234 since those are such differentiating hardware features.
    You can't find the properties VIs on the NI-DAQmx Base palettes in LabVIEW, so you will have to browse to them.  They can be found in Applications::National Instruments::<LabVIEW dir>::vi.lib/_DAQmxBase/Internals/Properties.  You will want to use the DAQmxBase Get/Set Property VIs found there.
    For the USB-9234, you can either specify settings for all channels (by leaving ActiveChannel unwired),  or you can specify settings on a per-channel basis by wiring a string to ActiveChannel that descibes the channel you want to use.  Note that you can only specify ActiveChannel in the form "DevX/aiY", so you might need to call the VI multiple times to set properties for various channels.
    One other catch with the USB-9234: you can not use IEPE excitation when DC coupling is enabled.  Because of the way we implemented the properties interface, settings are immediately validated when they are adjusted.  So, if you want to disable IEPE excitation for a channel you will have to first switch that channel to DC coupling.  The order of operations is important, and you will be presented with a descriptive error if things are done out of order.  
    One other caution- the coupling and excitation settings do not take effect immediately when they are set with the properties interface.  Instead, they take effect when DAQmx Base Start Task is called.  You also can not update coupling or excitation while a task is running, so you would need to call DAQmx Base Stop Task, adjust properties, and then re-start the task.
    I added property settings to the ContAcq&GraphVoltage example (attached here, in LabVIEW 8.5) and also took a couple of screenshots in case you are using a different LabVIEW version.
    Please let me know if you have any other questions.
    Message Edited by Tom W [DE] on 01-20-2009 10:09 AM
    Tom W
    National Instruments
    Attachments:
    Cont Acq&Graph Voltage-Int Clk(mod).vi ‏47 KB
    Picture 1.png ‏10 KB
    Picture 2.png ‏11 KB

  • 4472 doesn't seem to work on PC without labview

    Hello,
    I have a PC that does not have Labview installed.  It has a 4472 pci card and all the drivers and NI-DAQ installed.  When I run an executable on this PC, the executable should call by reference a vi that I wrote that uses the AI config, AI Start, etc......vis to gather data from the card.  However this vi does not execute when I run it.  It seems to work fine on a pc with labview.  As far as I know, NI-DAQ should have all the drivers and libraries for the card.  I've tried several versions of NI-DAQ including the legacy and 6.9 and 7.3.  Am I missing anything else that I need, seems like I am missing libraries or something.  The test panel for the 4472 card seems to work so I know the drivers are working.  The vis were written with labview 6.1.
    Thanks for any help.

    Hi Atapi,
    What is the error message you're getting?  Could you post a screenshot?
    Perhaps this KB will help:
    http://digital.ni.com/public.nsf/websearch/5EB3B1EA7C41267E86256C95006F488D?OpenDocument
    I'd recommend having both systems have the same version of NI-DAQ, whatever they may be.  The most recent version of NI-DAQ that is supported for LabVIEW 6.1 is NI-DAQ 7.4 (not 7.4.1) -- you can get that at http://digital.ni.com/softlib.nsf/websearch/C36A54ADDA3DC33D86257038004E55E6?opendocument&node=13207...
    Thanks,
    mike

  • Intensive slider control use may lead to LabVIEW hang and system instability when coupled to event loop "Value Change"

     Occasionally, over the past year or two, I have noticed on different machines and versions of LabVIEW (8.0 and 8.5) that intensive operation of the LabVIEW slider control (holding down the left mouse button and shaking the mouse quickly back and forth to move the slider for several seconds) may cause LabVIEW to hang with high CPU usage (50% on my current test machine, which has a Pentium IV "hyperthreaded" processor, so 50% is the max that a single thread can take up). In some instances, after the LabVIEW process is forced to quit, the system itself becomes unstable (more high CPU usage) or hangs, up to and including the need for a hard restart. I have seen this behavior both when handling slider change events the "old fashioned" way with a while loop and a case structure; and also when using a while loop with an event structure handling the "Value Change" event for the slider. 
    Attached is an .rtf file dump of the front panel and block diagram of a simple test VI that replicates this problem in my hands (using an event structure). The loop count runs to at least several hundred iterations before the crash occurs.
    At least for the "old fashioned" loop handling method, adding a forced wait of a few dozen msec per loop didn't seem to be a workaround. I haven't tried this idea with the event structure, but don't expect joy to follow. The possibility of a system hang discourages aggressive experimentation. 
    Is this a known issue? Can anyone else replicate it (carefully)? In any case, I'd welcome other suggestions for workarounds.
    Thanks,
    Darin Nelson
    Attachments:
    Hang Slider.rtf ‏683 KB

    Thanks for all your responses, and especially to those who are waggling their mice around trying to reproduce this. I'll respond to (most aspects of) the last several posts in one message.
    LabViewGuruWannabe:
      I'll see if I can get the original code to post in a separate message, I posted the .rtf originally because I thought there might be filtering on forum posts (I'm sort of new here). But I doubt you re-created it wrong.
      The "more modern" test hardware was an Intel Core2 , 2.4 GHz, 2Gb RAM, on an Intel 965 family motherboard. As I said, it took me two tries to trigger the error on this hardware; in the case where it triggered, I was at almost 12000 iterations before things went south. 10000 iterations, therefore, might not be enough--or you might never get it, for all I know. My Pentium 4 Hyperthreaded machine (3.2 GHz, 2 Gb RAM) triggers the hang much more easily (always within 2500 iterations, usually within 1000), so there seems to be some hardware dependence here. Maybe the workaround is just to use hardware recent enough that no one not under the influence of strange compulsions will accidentally trigger the hang.
    TonP:
      After reading your suggestion, I tried something even more radical  -- getting rid of the handling code altogether. I took the slider node out of the while loop, and removed all code inside the "Slide" case of the event structure.
     On my Pentium 4 machine, the hang triggered after 677 iterations.
    Brian Beal:
    <!--
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    {mso-style-parent:"";
    margin:0in;
    margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:12.0pt;
    font-family:"Times New Roman";
    mso-fareast-font-family:"Times New Roman";}
    span.EmailStyle15
    {mso-style-typeersonal;
    mso-style-noshow:yes;
    mso-ansi-font-size:10.0pt;
    mso-bidi-font-size:10.0pt;
    font-family:"Courier New";
    mso-ascii-font-family:"Courier New";
    mso-hansi-font-family:"Courier New";
    mso-bidi-font-family:"Courier New";
    color:windowtext;
    mso-text-animation:none;
    font-weight:normal;
    font-style:normal;
    text-decoration:none;
    text-underline:none;
    text-decoration:none;
    text-line-through:none;}
    @page Section1
    {size:8.5in 11.0in;
    margin:1.0in 1.25in 1.0in 1.25in;
    mso-header-margin:.5in;
    mso-footer-margin:.5in;
    mso-paper-source:0;}
    div.Section1
    {pageection1;}
    -->
     Huh, I never even noticed that checkbox existed. Anyway, yes, I
    kept the default to lock out the front panel while the event process. If I
    disable it… I still get the hang.
    Message Edited by dman on 02-04-2008 06:36 AM

  • How to design a microphone array to find direction of sound source using 4472?

    I am trying to implement Labview to find the Time delay of arrival of a single sound source. How can do that using NI 4472 DAQ device?

    Hi, nil,
    First you can use Measurement & Automation Explore to check your hardware. It will appear in My System -> Devices and Interfaces -> NI-DAQmx Devices. Select 4472, and click Test Panels menu. I'm not sure if your microphones need ICP supply, but I guess most of the array microphones need this. So you need to enable the IEPE, and make sure choosing AC Coupling. Change the Acquisition Mode to Continuous. You can test if your microphones is working well one by one.
    You can refer to Hardware Input and Output -> DAQmx -> Analog measurements ->Sound Pressure -> Cont Acq Snd Pressure Samples-Int Clk VI.
    If you use more that 8 microphones, you have to use more than one 4472 boards. You need to synchonize the signals received by different boards. A good example is Hardware Input and Output -> DAQmx -> Synchronization -> Multi-Device -> Multi Device Sync-AI-Shared Timebase & Trig-DSA VI.

  • PXI-4472 Problem: Several channels always oscillating between +/- 10 V

    Hello,
    Hoping that someone has seen a similar problem. This just recently came up. Observable when running LabView VI's as well as in MAX test panels.
    Any ideas on the cause? Any ideas on the fix?
    Would appreciate your help,
    Hunter

    Hello, Shea
    To answer your questions:
    Yes, we see this on top as well as when no signals are connected.
    We are looking at voltages from eddy current prox probes in the 0 to -5 V range, using DC coupling.
    Yes, as I stated earlier, this oscillation are seen both in LabView and in MAX.
    This board is mounted in a PXI-1002 chassis. The chassis incorporates a MXI-3 board and three 4472 boards.
    This problem board is located in the master slot beside the MXI-3. The other two 4472 boards seem to be operating fine.
    Look forward to hearing your thoughts ASAP.
    Thanks,
    Hunter

  • Configure 4472 in NI-DAQmx

    Hi, I am switching from NI-DAQ traditional to NI-DAQmx.
    Can someone provide an example to implement the following simple task using NI-DAQmx.
    Hardware PCI 4472, software LabVIEW 7.1, NI-DAQmx 7.4
    Channel settings
    Chan0 DC couple
    Chan1 AC couple
    Chan2 AC couple + ICP (IEPE)
    Chan3 DC couple
    Chan4 DC couple
    Chan5 AC couple
    Chan6 AC couple + ICP (IEPE)
    Chan7 AC couple + ICP (IEPE)
    The acquired data should be in a 2D array in the order of Chan0 to Chan7.
    Thanks.
    Ian

    Hi Ian,
    Please review the following online example developed in LabVIEW 7.0 (should transparently convert to 7.1).
    NI-DAQmx: Creating an Analog Input Task with Multiple Measurement Types
    http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=CA272F2D99585A8AE034080020E74861&p_node=201210&p_source=External
    Best Regards,
    Evan R.
    Applications Engineer
    National Instruments
    http://www.ni.com/support

Maybe you are looking for