analog on variable

Hi all

I may be obtuse here, but is it possible to generate a variable voltage AO without use of tampons and waveforms, i.e. just send a single value to the analogue as and when desired?

I got it to work by creating a waveform where the offset is the desired voltage level and the amplitude and frequency are zero, but it seems to be a long way round to achieve what is necessary.  Also because I create the tension of the AO as a servo motor control signal, I need to be able to have a quick response to the location information.  I found that the buffer size and sampling frequency that give time to cycle/day can cause failures if the buffer is too small, or it seems, if the computer is busy elsewhere.

Ideas/thoughts gratefully received

Happy holidays to all

Andy

Using LV8.5 + XP + PCI-6733 AO/CTR map

Have you looked at the DAQmx examples? There is an update to call Gen tension. Writing DAQmx has simply 1Ch 1Samp.

Tags: NI Hardware

Similar Questions

  • variable phase shift between two analog output signals

    Hey! I would drive two different piezo elements with an sine - / square signals and have a phase shifted output signals. After some trail and error, I was able to get a second analog output on my card PCI-6221 (using LabView 8.2) also allowed me to have different amplitudes for both signals. However, I could not output signal having a frequency different and most importantly to my request to have one of the signals variably shifted phase.

    Thanks for the very useful suggestion. I have attached the file .vi installation I've run so far.

    Hello!

    A way to generate waveforms is using the analog waveform Toolbox. I created an example VI that is attached and that shows you a way to use the base generating function VI. I saved for LabVIEW 8.2.

    I hope this helps!

  • Variable 0 to 28v analog output of +/-10v on a NOR-USB-6003

    Someone here has some thoughts on how I can convert the +/-10V analog USB-6003-NOR module to a low current (under 100 MA) voltage of 0v to 28v input outputs?

    I have a legacy Test Set with a few old k potentiometers 20 wired up as shown in the attached diagram.   Looking to upgrade the entire facility a little, but I am fighting with them?

    I'm open to dumping the 6003 module... do not know what would be a good replacement?

    http://sine.NI.com/NIPs/CDs/view/p/lang/en/NID/212385

    Thank you

    Thanks for you help guys, apparently, I just need to talk through the problem...

    I made a mistake on my initial assessment and did not read my meter properly.   The legacy circuit is 100uA of reading, I need to pay more attention.

    That said, I found a nice guide online for scalability and the polarization of analog circuits: http://www.symres.com/files/scalebias.pdf

    I have a circuit prototype built with components specified above, and it seems to work fine.   I had to do two things:

    (1) I had to re - scale of +/-10V input 0 - 10V

    (2) I had to increase my voltage 31V rail Op Amp

    I still need to change the values of resistance a bit, but I'm almost the entire range deflection.   I'm 0.46V including power - 10V and 27.85V with a + 10V input, and there is no "blind spots", as with the old potentiometers.    This is a fast circuit simulation that I whipped out:

  • NEITHER 9234 with quasi static analog voltage

    Hello

    I have a NI 9234 (4 channels + / IEPE 24-bit 5V) attached to a chassis cRIO module. This module is ideal for accelerometers and microphones where the tension is in constant evolution (ie; measures of variation rates).

    I also have a module OR 9237 (4 channels 24-bit full-bridge module analog input) attached to the same cRIO. This module is ideal for measure variable voltages of strain gauges (quasi static and dynamic loads).

    The attached graph shows the two channels, collected synchronously, but as you can see the (red trace) cell breaks down (as it should), but then drifts back to zero on its own, when in fact it should remain low just like the extensometer is beam. After all, the two sensors are physically secured.

    Q1: Would that have something to do with AC/DC module 9234 internal coupling?

    Q2: Is it really possible to collect "quasi static" ongoing tensions by using a NI 9234 module?

    No explanation as to why this occurs, or if there is a way to remedy this would be appreciated.

    Kind regards

    Andreas

    Coupling AC/DC must do a lot with your question. In mode AC voltages static will be fitered outside and the 9234 measure indeed only change voltages. In DC mode, the voltage goes directly to the AD converter and you can also detect static tensions.

    A minute of Googling gave me the answer, this load cell electric piezo can measure dynamic changes, as any charge will escape the path the lowest resistance and the signal will go to zero after a certain time. I guess the other device you were using higher internal resistance (which is relatively low on the 9234), so it takes more time to what he flees, but he also took on the picture you attached your second try.

    Here you can find more example under the title

    "WHY ONLY DYNAMIC FORCE CAN BE MEASURED WITH SENSORS OF POWER PIEZOELECTRIC"

    http://www.PCB.com/techsupport/tech_force

    Andreas Jost

    Technical sales engineer

    National Instruments

  • To input analog shutdown when the analog output is completed and synchronization

    Hello

    I'm trying to get my LabVIEW program to send analog output to a computer and read acceleration using the cDAQ-9184. Chassis output that I use is the NI 9263 and the chassis of entry is the NI 9234. I generate a signal of white noise using LabVIEW Express signal generator.

    The first problem I have is the synchronization. I had an old VI that has begun to measure the acceleration just about a second after the entry has been given to the machine. I used the LabVIEW tutorial on how to sync the analog input and output, only to discover that it does not work with two different hunts. Then I found another tutorial that shows how to synchronize different frames between them.

    The second problem is the cessation of the LabVIEW program. What I want to do is to generate the signal and then simultaneously send and read the input and output analog, respectively. It is because I don't want a phase difference or any shorter signal for a direct comparison. But as soon as the signal is sent to the machine, I want the entry to stop analog playback and then then the LabVIEW program must stop. I want to be able to choose any length of signal to be generated and stop as soon as the entire duration of the signal has been sent to the machine.

    I tried 'DAQmx stop', "DAQmx Timer" and 'DAQmx's task made?' and none of them have worked for me. It is also my first time on a forum posting, so I hope I gave enough information. I enclose my VI as well. The VI shows I read an entry for the analog input voltage, but I am only using this to try to get to the work programme.

    I'd appreciate any help I could get.

    Thanks in advance

    Peter

    Hi Peter,.

    I have some recommendations for you that I think you will get closer to your solution. First of all, I assumed you meant that you had 1 chassis (cDAQ-9184) who had two modules in it (NOR-9263 and NOR-9234). My next steps are based on this assumption, so if it's wrong, please let me know.

    For your first question about the synchronization, the code you provided is very close to what you need. You need to do, however, implement architecture master/slave for startup tasks DAQmx functions. To do this, you can add another frame to the flat sequence structure and put the master start task (input voltage) after the start slave (output voltage) task.

    To manage your second question and that the program ends at the point where you, the first step is to get rid of all the logic that you use with the local variable of length of time. Rather than use this logic, just wire the node "task performed?" of "is task performed?" operate to stop the loop. This will cause your loop to stop as soon as the signal is sent to the machine.

    I have some other recommendations for you that will increase the performance of your program:

    (1) rather than writing on file inside the last loop, you can use the DAQmx Configure Logging (PDM) .vi. You will place this VI between DAQmx Timing.vi and DAQmx Start Task.vi to the task of the analog input voltage.

    (2) after the last while loop, you want to stop the task and analog outputs as well with another DAQmx stop Task.vi.

    (3) rather than using a local variable for the entrance of displacement and wiring it in the DAQmx Write.vi, you can wire directly from the output waveform of the wave to build function node.

    That should help you get started in the synchronization of these tasks.

    -Alex C.

    Technical sales engineer

    National Instruments

  • Shared variable RT FIFO (multi element) - read both

    Hi all!

    I'm trying to collect data from analog inputs on my cRIO with a time step of 1 second. For this I use a timed loop and a variable shared with RT FIFO active (several table of doubles). Along with the timed loop, I also use a while loop that is significantly slower (lets say 10 sec period) who must read all the berries stored in the FIFO and write it in a .txt file (everything is run locally on target RT). Is it possible to empty the shared variable RT FIFO at the same time, and if not how can I get a number of tables that are currently stored in a shared variable?

    What is the difference between one created using the palette of FIFO of Real-Time/RT and RT FIFO created by a shared variable? I prefer to use the shared variable instead of Real-Time/RT FIFO allowing also time stamp.

    Best regards

    Marko.

    Marko,

    We recommend that the nondeterministic loop run faster than your deterministic loop and remove samples when they become available. If you don't want to do this, you can simply place your RT FIFO loop for the value to perform 10 iterations and then put that in your loop. For more information about the differences between the RT FIFO and Variables shared with RT FIFO active, please see pages 32 to 35 of the CompactRIO Developers Guide link below.

    http://www.NI.com/PDF/products/us/fullcriodevguide.PDF

    I hope this helps!

  • RT update to include new Variables of FPGA/controls

    I feel ridiculous to have to ask the question, but I had to face for 2 hours now nothing works.  I have a target FPGA and host RT that work very well together (sbRIO-9636).  I recently decided to add 4 new controls (analog input) to the sbRIO.  I added the to the FPGA module and they measure and read very well.  However, when I try to use the ' read/write of FPGA control' on my RT host these new four variables do not display upwards.  I created variables shared for them and deployed them, but still nothing.  When I perform a variable node shared, I can see them as options, but I can't access their analog data in the RT vi module.  Should I perform a refresh?  I ran the RT and the autonomous FPGA and they run fine.  I'm just not get all the data passed to the host of the RT.

    Any help is appreciated.

    gerin99

    You should also check the FPGA reference that you use in your code of RT. If the reference points to the previous bitfile rather than your news, then the controls will not be displayed because they are not in the old file. This has triggered me a couple of times in the past.

    Warrior of wire

  • Acquisition of analog and video synchronized

    Hello experts tiara,.

    I am curious about this example Diadem DAC:

    http://zone.NI.com/reference/en-XX/help/370858M-01/explonl/explonl/explonl_dac_video/

    He claims to be able to acquire analog and video synchronized.  Anyone can determine how to properly synchronize these two data flows are?  Because it is a desk, probably Windows machine and no trigger material between video and analog devices, I'm guessing that the two are, at best, on +-1 second.

    Can anyone solve this problem?  I see in the manual use tiara (here) that NEITHER has done some work in order to study how the clocks are accurate in Diadem.  And they even mention a few points of 100 msec.  But I don't really trust this number when it comes to acquiring analog and video data simultaneously.

    Thank you, John

    Hi John,.

    You ask an interesting question, and I had contact with the developer of R & D responsible for this service and received an explanation on his part on the works of this feature.

    The target application for this specific feature is not for use cases where the exact synchronization between the measurement and data acquisition are required (i.e. a crash test of vehicles with more than 1000 frames / second video recording). This feature is implemented for users who wish to have the possibility to use webcams to get insight into what their machine or test do any recoding data at the same time. We should ask this 'parallel acquisition data and video' and not 'synchronous acquisition' - which suggests that it is a way to ensure that the data and the video are actually synchronized during the acquisition process. The original entered German aid system speaks 'parallel' instead of 'synchronous' acquisition, the English translation incorrectly uses the word 'synchronous' instead of 'parallel '. I contacted our documentation team to clarify this part of the help system.

    Accurate synchronization to achieve, especially between multiple streams of data acquisition and a camera, the application must use frame grabber hardware - hardware specifically designed to support the capture video or image.

    This is how DIAdem DAC addresses this type of application, I hope this information is helpful to you and others to this feature:

    Tiara DAC is a top priority on the acquisition and the release of the data to and from data acquisition equipment. The video recording feature is less of a priority and is not controlled by tiara constantly. The video recording process is triggered as closely as possible to the data acquisition process. The current local time stamps of two triggers (data and video) is registered allows us to determine the exact time for the two signals of reading according to DIAdem, i.e. If there is a delay in the start of video recording, is considered for reading in MODE of DIAdem.

    Our tests with made with a camera (not multiple, which is supported by MODE of DIAdem) and data acquisition equipment NOR (not several devices, which is also supported by DIAdem). In these tests, that we have seen the video and data were generally synchronous within some frameworks (no real 100% synchronicity) - which was quite thin which this solution based on USB low-cost camera technology was designed for. It is generally better than +/-1 second depending on the application, but also synchronized to the millisecond like material systems would be able to achieve.

    There are several factors that influence the results of the tests carried out in this area of application: PC hardware (CPU, RAM, disk system), the tasks of measures, other software running on the computer chassis, the camera and the framework, software drivers, etc.. There are too many variables beyond the control of tiara that can influence the synchronicity of the acquisition of data and images based on the software only, so true synchronicity can be achieved using equipment designed for this purpose.

    I hope that clarifies the DIAdem DAC functionality a little better. Thank your for having pointed out the misuse of the book 'synchronous' in the help system, going as fixed for the next release of DIAdem. Please let us know if you have any other questions.

    Best regards

    Otmar

  • How can I check if the counter entry is synchronized with the analog output?

    Hello

    I'm working on an application for counting photons.  I use two channels of analog output on a PCI-6713 card to send a frame model to a set of XY scan mirrors.  I then a photon count unit that emits a TTL signal when the photons are detected as a result of this raster analysis.  I then use a surfboard USB-6211 to count the edges on this TTL signal.

    I have problems that seem due to synchronization problems.  I use the sample AO on the PCI-6713 card clock like the door of my meter on the map USB-6211.  I use a trigger to start digital to analog output and a trigger of arms for the entrance to counter early. Is there a way to check that the analog output and counter entry of start of operations at the same time and are are synchronized?  I basically want to monitor and compare the ao real sample of the PCI-6713 card clock door signal used by the jury of the USB-6211.  I was able to export the sample AO clock and watch it on my oscilloscope, but not the signal from the door of the USB-6211.

    Thanks for your help,

    Brian

    Update... It turns out that there is no problem of synchronization between my meter input and the analogue output.  There was a difference of impedance when I connected my unit of counting photons to my USB-6211.  This caused an error variable count rate.  After accouting for this shift, the problem disappeared.

  • Stopping the engine Service Variable OR in Windows 7 64 bit

    Operating system: Windows 7 (64-bit)

    Version 9 of Labivew.

    I configured puts some Boolean and Out entries and an analog input (Double) for monitoring purposes. I use a server OPC Mitsubishi with Labview 2009. (It worked great for over a year)

    When I delopy the Variable Libray it works very well for about 1 minutes, then NI Variable Engine Service STOPS. (As shown in the Attached files)

    But if I remove the analog input, the Variable does not stop and works very well.

    In the first attempt I stretched the Labview and 2nd attempt re-installed Labivew 2009 as well as Windows but still the same problem.

    If his problem installing then why it works for Boolean types

    Windows event monitor has additional information as to why the service stopped? If you create a new project with a library of double of accommodation and Boolean variables which also stops after a minute?

    Also can you us more info on the double in question. Is this a normal SV or is it bound to an OPC tag? If unbind you it the EVS will remain after a minute?

  • global variable functional to read and write data from and to the parallel loops

    Hello!

    Here is the following situation: I have 3 parallel while loops. I have the fire at the same time. The first loop reads the data from GPIB instruments. Second readers PID powered analog output card (software waveform static timed, cc. Update 3 seconds interval) with DAQmx features. The third argument stores the data in the case of certain conditions to the PDM file.

    I create a functional global variable (FGV) with write and read options containing the measured data (30 double CC in cluster). So when I get a new reading of the GPIB loop, I put the new values in the FGV.

    In parallel loops, I read the FGV when necessary. I know that, I just create a race condition, because when one of the loops reads or writes data in the FGV, no other loops can access, while they hold their race until the loop of winner completed his reading or writing on it.

    In my case, it is not a problem of losing data measured, and also a few short drapes in some loops are okey. (data measured, including the temperature values, used in the loop of PID and the loop to save file, the system also has constants for a significant period, is not a problem if the PID loop reads sometimes on values previous to the FGV in case if he won the race)

    What is a "barbarian way" to make such a code? (later, I want to give a good GUI to my code, so probably I would have to use some sort of event management,...)

    If you recommend something more elegant, please give me some links where I can learn more.

    I started to read and learn to try to expand my little knowledge in LabView, but to me, it seems I can find examples really pro and documents (http://expressionflow.com/2007/10/01/labview-queued-state-machine-architecture/ , http://forums.ni.com/t5/LabVIEW/Community-Nugget-2009-03-13-An-Event-based-messageing-framework/m-p/... ) and really simple, but not in the "middle range". This forum and other sources of NEITHER are really good, but I want to swim in a huge "info-ocean", without guidance...

    I'm after course 1 Core and Core 2, do you know that some free educational material that is based on these? (to say something 'intermediary'...)

    Thank you very much!

    I would use queues instead of a FGV in this particular case.

    A driving force that would provide a signal saying that the data is ready, you can change your FGV readme...  And maybe have an array of clusters to hold values more waiting to be read, etc...  Things get complicated...

    A queue however will do nicely.  You may have an understanding of producer/consumer.  You will need to do maybe not this 3rd loop.  If install you a state machine, which has (among other States): wait for the data (that is where the queue is read), writing to a file, disk PID.

    Your state of inactivity would be the "waiting for data".

    The PID is dependent on the data?  Otherwise it must operate its own, and Yes, you may have a loop for it.  Should run at a different rate from the loop reading data, you may have a different queue or other means for transmitting data to this loop.

    Another tip would be to define the State of PID as the default state and check for new data at regular intervals, thus reducing to 2 loops (producer / consumer).  The new data would be shared on the wires using a shift register.

    There are many tricks.  However, I would not recommend using a basic FGV as your solution.  An Action Engine, would be okay if it includes a mechanism to flag what data has been read (ie index, etc) or once the data has been read, it is deleted from the AE. 

    There are many ways to implement a solution, you just have to pick the right one that will avoid loosing data.

  • read the output of a path of analog output current voltage

    In DAQmx if you are unsure of the status of a digital output port, you can take a reading on this subject.  When I try this on an analog output, I get an error.  Is it possible to query the status of the output of an analog output?  I realize that I could follow the State with a variable, but a direct reading would be really handy.

    Hello, GIS.

    There is no way to read the output in the AO modules without wiring physically the signal to a module to HAVE.  You are able to use a variable to read the current value of the output, as you mentioned earlier.

    Channels AO multifunction boards, however, can be read through tasks of entry by rounting in-house channel to read ao vs aoground.

    Lisa

  • Blocking of blue screen with the analog voltage (WinXP, PCI-6251)

    Hello

    I'm looking to solve a problem of blue screen with my measure blocking
    application, which I am developing with C++. Blocking seems manifest
    a little random after a variable amount (500-50 000) of voltage analog
    measures. My application needs to make a huge amount of these digitally
    trigger voltage measures after a certain period of time, and I'm using a
    unique
    task to do. The task is stopped and started after a single measure
    is
    which is done around 10 000 - 100 000 times per second. For this
    because I do synchronized with the PCI-6251 map data acquisition and
    one
    Ztec oscilloscope card. It seems that the probability of blocking could be
    associated with
    the frequency of measurements of voltage that I perform.

    The
    the app itself is multithreaded, but I'm blocking concurrent access
    TO
    the card with lock - all access to the card are behind a single mutex

    lock, so simultaneous access is blocked. In any case, all data acquisition
    access
    o the map is initially a single thread, which is dedicated to the acquisition of data
    operations.

    I also did stress tests with Ztec scope map, which does not
    result
    in all the problems. I also disabled in order of acquisition of Ztec map data
    TO
    Make sure that it wasn't the card scope, the origin of the problems - the problem
    persistent, so this seems to point towards the direction of the nidaq map.

    The deadlock appeared when I used the original supplied with drivers
    the
    card. I installed the latest drivers (removed the device from)
    ' Windows
    Device Manager and your application Measurement & Automation, reinstalled), but the blue screen still appears.

    Blue screen gives me a few debug data, but it does not mention any

    files .dll or something that would be of course point to a specific file (driver). I enclose at least partially matching code snippets.

    Hello again! I've been in contact with a local support person, who suggested that I have use DAQmx_Val_FiniteSamps instead of DAQmx_Val_HWTimedSinglePoint. I don't have any other changes, but this (see below) and the problem disappeared, so this seems to be an acceptable solution, because I don't see at all why not do this way. (Thanks Henry!)

    DAQmxErrChk (DAQmxCfgSampClkTiming (task_reader, NULL, 100000.0, DAQmx_Val_Rising, DAQmx_Val_HWTimedSinglePoint, 1));
    DAQmxErrChk (DAQmxCfgSampClkTiming (task_reader, NULL, 100000.0, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, 2));

  • Can I have the user enter a variable that will be used to Signal Express?

    We seek to use the Signal Express to collect data of analog sensors and load cells. We would like the user to be able to enter a variable that the program Express of Signal can act on. Is it possible within Signal Express?

    Hello

    When you select 'Change destination', it will fill with all stage settings that are supported for the given control used.  Not all the steps or step settings are able to be adjusted when the operator mode.  That is why you were only able to bind controls to step DAQmx Acquire and filter (they are only available to bind in your configuration steps settings).  The forumla node is not able to reference an entry of order of the operator interface. You must manually configure the formula tab of configuration step for that particular step.

    I would recommend if you want that more customized the user interface and approach programming using an application development environment.  Signal Express is ideal for acquisition of signals and perform analysis and basic treatment, but if you want more functionality LabVIEW would be a better option.

  • cRIO, shared Variables & stand-alone application

    Hello!

    I developed an application very simple acquisition of analog (NI9215) and the activation/deactivation of outputs signals digital (NI9472) using a cRIO (9012). Data are transmitted to the host through shared variables program.

    I created an executable of the code to be run by the cRIO, set it to the "launch on startup" and it worked.

    I did the same thing with the hosting program and created an exe installer. As I use variables shared the result of acquisition of pipes, I have them placed in the support directory (data) when you generate the executable file (Distribution.exe).

    This executable works perfectly on my computer.

    I used the Setup program to install the program on another computer. This computer as its IP address in the same subnet as my computer. But shared variables ever offer data other than their default values so I guess there is a problem of communication...

    Can someone help me?

    Hi zyl7,

    Thanks for the post!

    This is a common problem - I think...

    The problem is that you need to deploy two seté variables shared by two of the llb. You need 'real' variables on the cRIO - and deploy manually (see link) and a second llb on the host pc, which are related to real variables on the cRIO. This is because the local computer get variables shared, which of course are not those with the cRIO data locally.

    Perhaps in clearer terms.

    When you make an exe of a project using shared variables, you must have a local copy of the variables on the deployment computer which are then related to the 'real' shared variables stored on the target - cRIO, in this case.

    This means that in the view of your project:

    (1) Create static variable in the normal Manor on the cRIO.

    (2) create variables shared on the host PC - llb under the Pc host in the project and then select the aliasing and how to link to YOUR PSP.

    Let me know how it works,

    Kind regards

Maybe you are looking for