stop propperly generation of continuous signals (analog)

Hello

I want to generate a continuous wave-output analog (sine, for example) using NI-Daqmx. The example program in http://www.ni.com/example/29872/en/ works very well and does everything I want, but there are two problems:

(1) I want to count the number of waveform periods that are executed.

(2) if I press the stop button (or another event occurs), the program should not interrupt the generation of signals anywhere. It should complete the last period and than stop running.

I tried to solve this problem in timing the loop while I have exactly one period per loop. It works very well for small frequencies, but for higher frequencies (for example 100 Hz - 1000 Hz) not more

A second method used ends generation (always generate a period in a loop). But with this method there is an another serious proplem: if I make higher frequencies (for example 100 Hz or more) the loop requires too much time and the signal isn't continuous more because there is a short break between each period.

I am new to LabVIEW, could find a solution so far and would be very happy if someone could help me with this :-)

The key step is to make sure that the stop button is not connected to stop your loop.  In a 'simple' control system, there is a single loop, and the stop button (and everything else!) lives inside the loop.  When you press Stop, if it is connected to the loop Stop, everything stops.

What you want is for the Stop button to report a condition, namely 'Stop at the end of the current cycle'.  If you generate data of a point at a time, you should be able to tell (by looking at the phase of the signal) when you are at the end.  One thing you could do would be to ask (for each iteration of the loop) "I am the end cycle, i.e. the Phase 0?  If this is true, and the Stop button is pressed, Stop.

BS

Tags: NI Software

Similar Questions

  • 6733 continuous signal output generation.

    Hello

    I want to use an NI PCI-6733 map for generation of continuous signal output.

    I downloaded the modules OR measure small DDK OR 671 x & 673 x examples (PCI & PXI) and run the samples.

    Our goal is to put a few samples in the FIFO buffer and use the external update (on PFI5) to send the samples to the exit.

    Essentially a combination of AOEX4.cpp and AOEX6.cpp example should work.

    However, example 6 uses board-> DACDirectData0.writeRegister (.) to set an output value.

    To update the output, I use the following code to generate a wave of block.

    Sub
    NIPCI6733Card:nPoll_Test_T6() / / function called at 5 kHz
    {
    t67xx * Council const = & GetNI();
    Support * const theSTC = & GetSTC();

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    theSTC-> Joint_Reset.writeAO_Configuration_Start (1);
    theSTC-> Joint_Reset.setAO_Configuration_Start (0);
    theSTC-> Joint_Reset.setAO_Configuration_End (1);
    theSTC-> Joint_Reset.flush ();
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Board-> DACDirectData0.writeRegister ((OutputHigh). 0400:0 x 0 x 0);
    Board-> DACDirectData1.writeRegister ((OutputHigh). 0400:0 x 0 x 0);
    Board-> DACDirectData3.writeRegister ((OutputHigh)? 0100:0 x 0 x 0);

    OutputHigh =! OutputHigh;

    }

    My frequency of update of application (the election) is 5 kHz. The output should run on 15, which means that each update I need to resolve before the 3 samples. I want to use FiFo for this.

    (Note: the output is triggered by PFI5 at 15 kHz)

    My idea is to 3 samples in the FiFo buffer each update of the application and leave the external trigger update of the output.

    Example 4 uses the FiFo. However, this example stops after 5 running running the same fifo data.

    How can I set up FiFo continuous data?

    370735e.PDF manual describes the following:

    With non-regeneration, old data will not be repeated. New data should be
    continuously written to the buffer. If the program don't write new data to
    the buffer at a speed fast enough to deal with the generation, the buffer
    will be negative and cause an error.

    This is what I want. Is there an example?

    Kind regards

    Peter

    Dennis,

    Thanks for your reply.

    I have whil post-its on the correct Board.

    I implement for IN-Time. It is a time real OS for Windows.

    Kind regards

    Peter

  • videos start but stop even if its continuous

    Videos will start sound but the video stops while the sound continues. If I move my pointer on the video, it will pass to where the progress bar indicates where the video at its current time of reproduction. How can I solve this problem?

    If you have any problems with the current versions of Shockwave Flash plugin then check this:

    • see if there are updates for your graphics card disk drivers

    https://support.Mozilla.org/KB/upgrade-graphics-drivers-use-hardware-acceleration

    • Disable protected mode in the plugin Flash (Flash 11.3 + on Windows Vista and later versions)

    https://forums.Adobe.com/message/4468493#TemporaryWorkaround

    • turn off hardware acceleration in the Flash plugin

    https://forums.Adobe.com/thread/891337
    See also:

  • Amplitude measurement of a continuous signal in a given time window

    I'm working on an acquisition system that acquires a continuous signal of 250 kHz. My goal is to measure the amplitude peak-peak of the first reaction of signal, the problem with my setup, this is the first part of the signal is always higher than the part of the signal that I'm interested. If I try to use the measure of max from Ridge to ridge of signal VI then responds with the measure of Ridge Crest of the initial part of the signal. See the attachment for a better understanding, I would still like to view the raw signal as is, but I would like to measure the peak voltage at peak of the signal between the yellow sliders.

    Thanks in advance...

    If transient initial always occurs in the first 12 microseconds, you can use any subset of table or similar wave function to retrieve the last part of the wave. Then use the measurement from Ridge to Ridge on this subset.

    Lynn

  • weak continuous signal low-pass filtering

    I get continuous signals to the NI USB-6259 of multifunction DAQ device is acquiring its signals to 1000 Hz. The rate of data acquisition can be changed through the GUI, but that

    is for later analysis. The main issue here is labwindows offers many options for filtering. I was wondering if someone could recommend the best option for a LP

    Filter on a frequency of 50 or 60 Hz. are there - it implemented an easy way to put this. Basically, I want to filter the data acquired and then store it in the file that is currently present.

    I was also wondering if material 6259 filtering, if it's a better road then should I use the filter material to clean noise signals?

    mdmorar,

    The reason why you get this error is the low-pass filter property is is not supported on the USB-6259. You will need to use a filter software for your application, because there is no low-pass filter in the material. If you look under the range of libraries in CVI and select Signal Processing > IIR digital filters > features of filtering in a single step, it will give you options for different low-pass filters. They have some low-pass filters here that should help you.

  • I have to wait for photoshop 14 to stop the generation of thumbnails before moving on to another catalog?

    I am converting all my Photoshop 14 catalogues.  I have to wait for the system to stop the generation of thumbnails in a catalogue before moving on to another catalog?

    Waltard wrote:

    I am converting all my Photoshop 14 catalogues. I have to wait for the system to stop the generation of thumbnails in a catalogue before moving on to another catalog?

    No, you can switch to another catalog without waiting for the generation of thumbnails. The process will resume the next time that you open this catalog.

  • When I stop the noise still continues

    When I stop the noise still continues. When I test the movie in the timeline and use the chronology does not break the sound with the image, it continues up to the stop, the problem is that I have very long sounds and he plays to the end.

    I'm guessing that the sound is embedded in the timeline panel. If this is the case, select the keyframe where the sound starts and then in the Properties window, set the property of synchronization for the sound selected 'Stream '.

  • How to stop the generation FND_USER.customer_id when using LDAPUserImport

    When a user is created in the form of 'set the user' R12.1.3, no customer_id is created in the fnd_user table.

    When a user is created using LDAPUserImport (from a ldfiwrite against OID), the customer_id is filled.

    How to stop the generation customer_id when you import users in R12?

    I tried to disable all these events business (except the last 2), but not of joy:

    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustAccount.create
    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustAccountRole.create
    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustAcctRelate.create
    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustAcctSite.create
    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustAcctSiteUse.create
    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustProfileAmt.create
    People with DISABILITIES Oracle Trading Community oracle.apps.ar.hz.CustomerProfile.create
    ACTIVE Trading of Oracle community oracle.apps.ar.hz.OrgCustBO.create
    ACTIVE Trading of Oracle community oracle.apps.ar.hz.PersonCustBO.create


    (For OrgCustBO.create and PersonCustBO.create, the status field is fixed... cannot change)

    All advice appreciated.

    Thank you

    Hello

    Pdf linked in document 261914.1 utility MOS LDAPUserImport has a parameter named - tcaRecord
    which takes either y or N as parameter (is default).
    I guess that if you fill in this parameter with N, no record CAW (customer) will be created...

    Concerning

  • In fact, I have problem in adding music to be played across all folios, the problem happened when I simply lock the ipad and open it, the publication is always open and I can browse, but the music stops and cann't continue. How can I solve this t

    In fact, I have problem in adding music to be played across all folios, the problem happened when I simply lock the ipad and open it, the publication is always open and I can browse, but the music stops and cann't continue. How can I solve this problem to continue after the opening of the ipad and continue to navigate the digital publication.

    The background sound plays only if the application is open. Once the device is locked or the user switches to another application the audio will stop.

  • How to stop the generation of the trace of the files concern the particular user

    Dear all,

    Please advice:

    Is it possible to stop the trace file that is created by a user for a particular job (sql/exp)

    For example:
    Create trace files whenever the user has run the sql/exp command from the application server.
    Which created a large files and caused the file system is full (not in bdump but it's generation in the home directory of the user application).
    Is there a method to stop the generation of trace records relate to the particular user base on this job.

    Thank you
    Nathalie

    Dear GEORGE

    This trigger will be created for that specific user by dba or anyone with sysdba privileges. It will be triggered at the time of login of this user and edit the sqltrace.

    for example, we write a trigger in our database for each ddl operation in the database.

    CREATE OR REPLACE TRIGGER "SYS." "' SYS$ DDLTRIG" after the DDL on the database
    declare
    v_machinename VARCHAR2 (100);
    v_osuser VARCHAR2 (100);
    v_dbuser VARCHAR2 (100);
    v_host VARCHAR2 (100);
    v_program VARCHAR2 (100);
    v_instance VARCHAR2 (100);
    T_DATE VARCHAR2 (100);
    Start
    Select to_char (sysdate, ' dd-mm-yyyy HH24:MI:SS), user, sys_context (' userenv ',' OS_ ")
    USER'), sys_context ('userenv', 'HOST'), (select instance_name of v$ instance), (se
    You can select program session $ v where sid = (select distinct sid from v$ mystat)), (se
    machine READING of session $ v where sid = (select distinct sid from v$ mystat)) int
    o T_DATE, v_dbuser, v_osuser, v_host, v_instance, v_program, v_machinename of double;
    IF ora_sysevent = 'DROP' or ora_sysevent = 'CANCEL' or ora_sysevent = 'GRANT' or
    ora_sysevent = 'CREATE' or ora_sysevent = 'TRUNCATE' or ora_sysevent = 'CHANGE '.
    Then
    insert into ddl_log_new (T_DATE, v_dbuser, v_osuser, v_host, v_instance, v_program, v_m
    achinename, V_EVENT, V_OBJECT_NAME, V_OBJECT_TYPE, V_OBJECT_OWNER) values (T_DATE, v_
    dbuser, v_osuser, v_host, v_instance, v_program, v_machinename, ora_sysevent, ora_dict_
    obj_name, ora_dict_obj_type, ora_dict_obj_owner);
    END IF;
    END;

    I hope that above example will be useful to you,

    Concerning
    Evelyne

    Published by: ambrishr24 on 5 December 2012 17:02

    Published by: ambrishr24 on 5 December 2012 17:05

    Published by: ambrishr24 on 5 December 2012 17:20

  • I want to do simultaneous 180 continuous signal phase (square) to 2 analog outputs

    Hello

    I would like to use a meter to trigger (internally) 2 outputs analog, such as the continuous AC signal to each output is shifted 180 degrees.

    I hoped to do with no external connection in addition to the ao0 and ao1 was to use a timer as a trigger counter and have a trigger analogOutput on the front and the other trigger on the falling edge to get the required result.

    However, it doesn't matter how I get there.   An absolute requirement is that two continuous AC signals are present to ao0 ao1 outputs and they are out of phase by 180 degrees and all trigger occurs on the PXI bus with no other connections external that is frequency of 25 Hz.  My card is an SMU-6363.

    I was hoping to get the hardware to do all the work of relaxation but if there is a trigger of software approach that would be

    Thank you

    That's what I ended up doing.   microseconds is quite good enough.

  • Order of generation of the signal with the command START/STOP (State Machine approach)

    Hello

    I met the problem with the realization of control (START/STOP) signal generation using state machine.

    There are 4 States in the computer status (see 4 screenshots below).

    The problem is when I click the button START, only a short series of generated pulses.

    What is the staff of task_in/task_out issue, which is not properly managed?

    Thanks in advance

    Pavel.

    Oh... you have defined with the mechanical switch action up to published... Right click and go to mechanical Action > latch when released. Do the same for your Start button.

    You took a second to read down hold value, because your writing acquisition takes on this subject for a long time, apparently.

    The stop button the Application, I did switch when set to released. It is set to the switch so that it can be used as a local variable in the Acquisition State stop as Idle.

    Here's more info on mechanical actions.

  • Generation and acquisition of analog signals simultaneously on USB-6212

    Hello, I am novice programmer DAQ trying to create (what I think is) something very simple.

    I use a box NI USB-6212 and LabVIEW 8.5 is trying to generate a pulse train analog while recording a simultaneous analog input.

    My first question is, is it possible?

    Since I'm new to this, I use the DAQ assistant in LabVIEW.  I can acquire a signal, I can also generate the desired signal, but I can't seem to operate simultaneously.

    I have been successful in obtaining my program to work with both USB-6212, but I have to be able to do this with a single.

    I have attached the block diagram and vi, I hope that's easy to answer the question, even if my research so far has left me empty handed.

    Any help would be greatly appreciated!

    Jon L

    Hi Jon,

    Well, first of all welcome to the DAQ programming! I took a peek at your code and published it with a device simulation very well, so I ran with the PCI 6251 card in my computer and he did not also get errors.  Could you post the error code you get?

    If I could figure out what is your error, I would say you encounter errors of buffer because it is too much overhead in the DAQ to wizards in the face of data rates.  My suggestion would be to use the example called "Multi-Function Synch AI - AO.vi.  This program can be found in the Finder for example of NOR (see Help"find examples in LabVIEW).  "" It appears in the input and output material"DAQmx ' synchronization ' Multi-Function.

    Can you give that a try and let me know how it goes?  Thank you!

  • Continued use of digital dashboard to stop a generation pulse train

    Hello

    I need to generate a train of pulses for a period of time. However, this period is variable, and because of that I can't

    Use the finite number of samples.

    The pulse train must be output depending on the State of the digital I/o. When the line output goes high, must be output of the pulse train.

    and when he goes down the pulse train should be stopped.

    I use a USB-6212, but is already using one of the available counters for the measurement of pulse width. I tried to do a

    AND logic with the pulse train and line activate, but due to the execution time of vi this solution modifies the pulse train

    frequency, which is not acceptable.

    Thanks in advance,

    Mariana.

    Hi Marianne,.

    Your previous message mentioned "line in/out" (in the singular) and "enable line" (in the singular), isn't "the i/o lines" (in the plural). Are the two edges on the same line in/out? Or are they on separate i/o lines (for example, climbing on PFI0, falling on PFI1)? Can you clarify your needs?

    If the fronts and sides come from the same line of output, then a relaxing break seems to do what you want: cause the meter generate impulses while the input/output line is high and cause the meter to stop while the input/output line is low. However, if you start the job, while the input/output line is high, it will immediately start out impulses. If you want to wait the first front line input/output to generate impulses, you can use a trigger 'start of arms' (which is just below "break" in the node property). When the trigger 'arms beginning' arrives, the meter will be armed, and therefore, the task uses the break to determine when to generate impulses. Using pause and start the same counter task returns error-200146, "put in Pause and start triggers cannot be active in this task," but using break and triggers 'arms beginning' in the same task of counter should be correct.

    If you want to increase the edges of PFI0 to start the meter and the fall of the edges of PFI1 to stop the meter, which is more complicated and it will take thought additional (and possibly additional hardware).

    Brad

  • Continually acquire analog input, internal clock, break, Multiple device

    I have a PXI chassis with 6 cards SMU-6363.  I want to acquire data on the channels of each SMU-6363 map continuous AI, using the internal clock for timing.  I need to use a trigger to pause reading of a DI on one of the cards SMU-6363 for a break and to reactivate the acquisition.  I came across this example: https://decibel.ni.com/content/docs/DOC-12256/ , but keep getting error-201019 DAQmx start task "trigger break is not supported in a task to more devices.  To configure the start of break in a multi-device configuration, you must use no more than one device per task and route manually clock in demand signals. »

    The problem is that the configuration of I is made during execution by the operator.  Sometimes they want to acquire data on one HERE through all 6 cards SMU-6363, sometimes they want to acquire data on each channel of AI through all 6 cards SMU-6363.  What makes the task definition until manually route clock signals between devices for each rather difficult task.

    Is there a simpler way to solve this problem?

    Set a task to output counter - something like this:

    Next, configure your task of analog input to use the sample clock output of the meter:

    Best regards

Maybe you are looking for

  • Some problems of AppStore after update of the Sierra

    Hi, after update my Mac to Sierra, there are a few problems of the AppStore: The Pages app updated to v6 and numbers to v4, Keynote, but fails to Update v5 (iWork ' 09) I've been on the program of public beta for Sierra but have now updated to the re

  • Strange question WLAN - can't access secure sites

    Hello! I just bought a Toshiba L100-120. All right, except the following. I can't access the sites secured with the Intel 3945abg built-in. Other sites are OK. If I connect LAN, all is well. If I insert my Wireless PCMCIA card, it works also. The onl

  • error 0271 but keyboard in the bios, not working (T400)

    Hello everyone. I have error 0271 (date and time) with too many beeps After the seizure setup.my keyboard stop working and only Fn, caps lock, shift, num lock work.when I press other keys that I get the beeps, I can't access my F1 bios.also... F9 doe

  • How to implement logical equations such as LabView?

    Hello I have this bit logical test I need to implement a Labview code. Can I use formula node or anything similar to this already in Labview? "((var & (1

  • Wanted to highlight this, as I still receive a satisfactory answer...

    "got Windows 7 about a month ago and ever since then, from time to time, whenever I try to watch a video on Youtube, or any kind of video, by the way, the video program will crash, forcing me to restart the computer." I'm sure that my flash player is