Digital Output sequence (variable pitch) NI 9472

Hello

Just wondering if anyone has any suggestions for the creation of a VI to do the following:

I have 6 valves that I want to control with a module OR digital 9472 (8 outputs). The valves have a fixed sequence of 6 stages, each at different times (which I wish I could vary)

I have 3 of the above configuration (IE 3 sets of 6 valves) I want to control the same way but independent of each other.

I have attached a diagram of the installation of the valve and the sequencing I want to achieve.

Thanks for your ideas.

Installation program:

Chassis OR cDAQ-9174

3 x NI 9472 24V sourcing module.


Tags: NI Software

Similar Questions

  • How to generate the digital output of the variable duty cycle and clock source being contrary?

    I want to generate a digital pulse every front amount of my pulse counters. He must have a variable duty cycle. until now, I've been able to generate a digital output, but I can't change its duty cycle.

    pls tell how I should proceed?

    Thank you in advance...


  • digital output remain on inout end is off

    Hello

    I've been rattleing my head on this for the last two days with no luck.

    What I try to do is the following:

    Send a signal in a NI9421 Module, when the module receives this signal, it should exit on the NI 9472. These 2 steps I've completed and work however is the next part whicc I have problems with.

    When the input signal is removed from NI9421 I would kepp receives a signal from the NI9472 for a period which can be easily adjusted.

    I tried to highlight delays / waits (FOR loops behave as counters), while loops etc, but this doesis delays the time between entry Street to before the output turns on. for example. If I put in a 5 second delay, entry must be closed 5 seconds before the output turns on, and output will then stay on for another 5 dry.

    Any help is very appreciated.

    Thank you

    John

    Hi John,.

    Take a look at the sample code below along with a description, if all goes well it will help you get started.

    The while loop in the early polls pin digital input and a real wait to exit the loop and enter Assistant2 DAQ. The while loop in it has a wait of 10ms. This is to avoid it running fast and hogging all you time CPU. Since the output of the DAQ Assistant, in the while loop is a table, table VI Index allows to get a value that is wired in the loop condition.

    The yellow lines used throughout of are lines of error and these can be very useful in LabVIEW to synchronize / order parts of your code. Following the order of the execution rule of in that the DAQ Assistant2 will not begin until all loop has finished running.

    I then used a flat sequence order within 3 seconds (with error lines) between the second DAQ Assistant and the third that turns off the digital output.

    Hope this is clear and useful

  • clock calendar - digital output

    Hi all!

    I need timing equipment impliment on a few digital output lines.  That's what I have so far:

    I didn't get an oscilloscope for her yet, but I'm fairly certain that it works.  Please note that in this example, I use a PCI-6115.  I have 2 questions:

    (1) make what I do look reasonable at a quick glance?

    (2) I'm kinda mistified by the entry of clock source to the example of the clock function.  The analysis that I read just still confuses me.  I understand that the clock is what dictates the sequence of material.  I do not understand how to choose the appropriate clock source correctly.  More specifically, in the above example, I've only had the program work when I chose "20MHzTimebase".  What is c? Why this work?

    When I try to select ' Dev1 / / SampleClock ", I get the following error:"attempted to perform a route when the source and destination are the same point."

    When I try to select "Dev1/PFI0" or "RTSI0/DEV1", I get a timeout error in the wait_until_done.vi--> it does not appear that the waveforms are executed.

    That means the PFI and RTSI acronym for, and why they appear as options when you select a source of the clock?  Furthermore, why have they not worked as a clock source?

    I would be very grateful to anyone who could clear things for me a little.  Thank you!

    Have you read the http://digital.ni.com/manuals.nsf/websearch/01C075FB9478F94A8625786A007435BA? manual The definition of PF and RTSI are here. They are designed using external clock signals. You have the choice of using the internal clocks of analog output (20 MHz) or external clocks. If you do not connect the RTSI bus or PF what, whether you have no clock so no data will be output. Selection of as source does not work because it is not a source. You provide a source for it.

  • Digital output with timer (Simulation)

    Hello everyone, I just found out how LabVIEW program a week ago. I try to do a simulation of digital output by LabVIEW (my attachment). In this simulation, I have a slider as an input (0-10 V), two digital controls (upper limit and lower limit), a waveform graph draw these 3 evaluates and two Boolean LED (P0.0 and P0.1) as indicator. In this simulation, you can fill any number (between 0 and 10) in numerical order as a limit for your entry cursor. If the entrance of a cursor exceeds these upper and lower limit, then the Boolean LED lights, P0.0 so exceeds the upper limit, and if P0.1 exceeds the lower limit. The problem is that I do not know how the timer for those Boolean LED. As an example:

    (1) make an entry of cursor,

    (2) if entry (1) exceeds the upper limit, P0.0 lights for 5 seconds, then turn to during 10 second.

    (3) if only 10 seconds, you change the entry back to normal (between high and low limit) then P0.0 will stay turn of until the cursor entry exceeds the upper limit again,.

    (4) If, in this second 10 you has not changed the entry (the stay exceeds the upper limit) then P0.0 repeats the process (2) until you the entrance to cursor back to normal.

    (Same process for entries exceed the lower limit).

    Can you help me do this timer? Thank you

    Concerning

    Juventom

    Hello

    If you don t mind I would just give you some advise to your code. To determine the data stream you can also use only the error wire connected to the loop. So Don t you really need, it's beter not not to use variables. For your solution, you can use something similar to what I tried for the upper limit in your program. It is added as an image.

    Hope it helps

  • Acquire the values only when the digital output is high.

    Hello

    I work with test of transistor, whose door is controlled by the digital release of USB6289, related to BNC2120.

    Test plan:

    Door 1.transistor is enabled for 5seconds, with P0.0 for example

    2. then, everything remains off for 1secondes.

    3.p0.1 is used as digital output to activate the circuit passing him curent through in the opposite direction, P0.1 goes high for 3 seconds, PS: Gate is off.

    4. the same cycle repeats again.

    My question is to store values to the output of the transistor when P0.0 and P0.1 goes high, and these values should not change until my digital outputs respective again go high.

    I can access transistor by continiously read out my power supply values.

    and in the State off I want to read AI0 because at that time, my power supply is off, so that I can activate the circuit to pass the current in the opposite direction.

    Again, my question is to gain the output through power value when P0.0 is high and store them until the transistor turns on.

    and even for P0.1, acquire the value of output through AI0, when P0.1 is high and store it until it goes high again.

    Hopefully, I'm able to explain my problem clearly.

    Please help me.

    Concerning

    Anurag

    Think about what States (object:statemachine and determine when to use sequence Structures) do you want from t0... t(n-1), IF DAQmx generates outputs and/or inputs are absorbed and what needs to happen (event timed out), before move you on to the next 'State '.

    type def 'enum' with your different States:

    • initialize
    • wait (the user initializes times (sec) set for States, or whatever and presses button 'Start')
    • T0 (generate DigOutputs, store acquired data AnalogOutput (string output number) the register shift, before moving to the next State > user 'set time' must elapse (Note: the wait function allows you to control the rate of execution of loop and allow the CPU to respond to external events and system tasks and avoid using wait functions at the same time an operation of software...))
    • ...
    • t(n-1) if ' end (made requirement) "> goto 'stop', ' another (not requirement not)" > goto regardless of 'State '.
    • stop
    • write a text file of data (string).
  • Issue of two-channel digital output

    Hello world

    I need some aid on two output digital channel design

    In short, I want to use a PCI-6731 with BNC2110 output. Two digital output channels will be used, eg Dev1/port0 / line0:1. I hope that $line0 could output a stable finite samples in f1 (for example 10 kHz) frequency and the total number of samples as N1 (e.g. 1E6); in the meantime, I hope that line1 could output samples finished frequency f2 = f1/M (for example 2 kHz) and the number of samples as N2 = N1/M (e.g. 2E5). In other words, I expect $line0 and line1 out same time length samples with different frequencies and different number sequence. Please note that setting should be controllable, and sometimes N2 and f2 are not exactly an integer (then we take round value).

    Thank you for your help in advance.

    Joined a vi that does what you want, I think. It uses two digital outputs timed by a meter. The digital outputs are fed waveforms generated by two frequencies with a full report. You can change the part of the code that generates the waveform as you wish and use the rest to make the exit.

    Richard

  • NEITHER 9205 digital output configuration with DAQ Assist

    Hello

    I have two NI 9205 Analog Input Modules which I have configured to read from each of their 32 channels.  I used the DAQ Assistant help generate the vi which contains the task out - DAQmx event and also the DAQmx Read vi.

    I used the Wizard twice, once for each module 9205 and then put the playback functions in a sequence structure so that only read would be carried out at the same time.  It all works very well!

    Now, I want to add in the code to wait in a loop before all loop containing playback functions, so that the user can press the GUI to send a logic 1 to the unit under test, and after it is sent immediately starts collecting data.

    The DAQ Assistant Help does not recognize the module 9205 when I try to set up a task to write a digital output.  9205 a 1 digital output so why is the wizard does not recognize this?  I also tried to create a task manually, but I got stuck.

    Someone please help.  I can reach the source if needed, but I thought that the descriptions above were sufficient.

    Thank you

    Gary

    Hello

    You are right it shows a line in this user manual, and in fact, you have found an instance where an important piece of information was left out of the documentation. This digital output line is actually only available when you use a cRIO chassis. It will not work with the chassis for the acquisition of data compact 9172. Here is a knowledge base that explains it. I'll also go ahead and file a request for corrective measures so that this note be included in the next version of this manual. Thanks for the comments.

    Chris

  • 6534 PCI for digital output finished generates a continuous output

    Hello

    I use 6534 PCI for my application, where I generate a digital output, a model finished variable length in a continuous loop.  the code runs without error, but I'm not able to justify the behavior of the map. I intend to use the code inside the while loop as a Subvi and if I change the 'command' at the entrance table during each call to the Subvi, the output should vary according to the directives of the entry of the 1 d array.

    But this is not the case, the loop displays the previous value that has been given to Scripture DAQmx. If the control panel is changed the output instantly does not change. It takes a while before the actual output changes. The length of the array command I give is also 88 & 133. When I realize that the output is wrong, I disable the DAQmx write vi by a structure of the case, I would expect an error that the output buffer is empty, but rather the old value is generated whenever the start Daqmx vi task is exectuted without.

    My tax any problem is that the output buffer is not get replaced with the new value, but I'm specifyng the size of buffer, performing a registration every time and start the task, waiting until the task is done and the task stop. Each stop & writing should delete and empty the buffer, but I did not understad what goes wrong.

    Also, I thought that maybe that orders are put in queue up in the output buffer, acual generation is not as fast as the call of the DAQmx write & start, but if that's the case then even if I stop the vi the generation should be until the buffer is empty, but that doent happen VI, break breaks of generation. the number of iterations is equal to the generated models. If anyone can help as to what could be the problem?  find code attached below.

    Hello

    If I understand the problem you are experiencing, then the reason for the typical behavior when you run the VI, it is that you are not clearing the DAQmx task whenever you intend to go for a fresh DIO write. You stop just the DAQmx task that seems however to clear the buffer on board space.

    With this post, I am enclosing a VI of the sample that should work according to your expected behavior. You can even call this VI as a Subvi and can use it to update the DIO port with a digital model of variable length fees. Another fact that I would like to point out, is that, once you have initalised one table, it is not possible to reduce the length of the array. You can only increase by adding new elements. According to your needs given that the digital model that needs to be updated will be of variable length, each time you cll the Subvi, you must create a freash of appropriate length and feed it as input to the Sub - VI. Inside the Subvi, according to the length of this array of entry appropriate buffer space is allocated.

    Do trust this solution help solve you the problem, otherwise do not hesitate to go back.

    Best regards,

    Sagar G yapi | Application engineer | National Instruments - India

  • 6008 daq digital outputs to control relays

    Hi all, I'm looking to help create a VI to send out digital to a daq 6008 to control relays. What I'm trying to do is when you press start and a condition is met send a digital output to control a relay for 30 seconds or so to take a measured voltage to be taken an analog voltage. After 30 seconds, I want the first relay to switch off and the next relay lights for the same amount of time. I want to continue this sequence to 7 readings, blood for every step and send the data to an excel file. I know it's basic stuff, but my experience with labview is limited! Any help would be greatly appreciated.

    Thank you

    Paul

    Hi Paul,.

    I looked on your problem this afternoon and I agree completely Fan Ravens that the state machine is in fact the most appropriate architecture for such a task of data acquisition. A state machine architecture is one of the most commonly used in LabVIEW design patterns and is especially suitable for any program where you have clearly defined the steps that can be represented by the States and rules for the transition between these States.

    There is a model of Machine of State Standard contained in LabVIEW which should give you an idea of the underlying architecture and is a good starting point. To give you a better idea of how this architecture can be applied to a data acquisition task, I would recommend that you look at This example. Although States will be slightly different in your case, this should provide you with a good understanding of how you can architect such a request.

    I hope this helps.

    Best regards

    Christian Hartshorne

    Technical sales engineer

    National Instruments UK

  • audio output: optical digital output port (no sound!) macbook pro retina 15 mid 2015

    My new recently Mbpr 15 inch has suddenly lost its sound, I went through the process of the toothpick etc but nothing. It worked perfectly fine earlier today, but I put in a mini jack into the headphone port and after to achieve 30 minutes later and taking the cable to THE that I had not his, then I had the red light coming out of the helmet but now its does not come in red and in the sound settings in system preferences its impasse on "optical digital output Port.

    I now have to wait a week to wait until I can get seen at my apple store closet, I coming projects upward and in the middle of deadline and really using this Mbp to work, I literally only had a TI surly less than two months, I shouldn't have any problems. So if anyone knows anything I would appreciate it a lot! I need help to get this resolution as soon as possible! the last post I saw this was in 2006-2012 no new thread on this recently!

    Thank you!

    Jasonwaterz wrote:

    I then had the red light coming out of the helmet but now its does not come in red and in the sound settings in system preferences its impasse on "optical digital output Port.

    Try resetting the NVRAM/PRAM http://support.apple.com/kb/ht1379 memory

  • Realtek integrated sound card is stuck in digital output

    I can't get this thing off the digital output mode. Now I have no sound because all analog ports do not work. Telling me that nothing is plugged. I can't reset the analog speaker because it is grayed in Vista. This problem seems to be very common with computers using Realtek and Vista, just do a google search and see for yourself.

    I have a feeling it has software problem between Vista and Realtek. But I really think Realtek is just terrible to began with and should not be put in any period of the computer. If I can't get this thing works here tomorrow I will get a good real map.

    Message edited by hn333 on 09/04/2009 21:02

    I had very similar problems and finally managed to solve it.

    Something seems to be borked with drivers realtek about automatic jack detection.

    After attempting to use the method described here (easier if you can) http://freeweelee.wordpress.com/2008/12/09/vista-and-realtek-front-panel-audio-not-working-solution/, I discovered that I was completely unable to cut jack detection in audio Manager Realtek (no folder icon).

    For those of you who (like me) have no icon file, I managed to find another way to disable the detection of jack.

    Using the registry editor, find all instances of ForceDisableJD and change the value from 00 to FF.

    After making sure that I got all of them, I was able to reboot and everything works fine now.

  • No digital output on a Satellite P200

    I just bought a Satellite P200 and am trying to put it to the test. Today I tried recording on a digital audio recorder (Edirol R-4) connected to the output digital output jack but can get no signal. I can get a signal from the analog headphone jack.

    I have no problem with digital recording of my desktop PC which has an installed Sound Blaster card so it doesn't seem to be an incompatibility or a problem with the connecting cable.

    I tried to set the default output to digital mode in the setup of REALtek but no difference.

    Any suggestions gratefully received.

    David

    Anyone else had this problem?

    David

  • Synchronization of analog and digital output with the external sample clock

    Hello

    First of all sorry for my English, I will try to explain what I want to do.

    I want my PCIe-6321 to send two custom signals (modification sawtooths) on a mirror controller. I would also like to generate output with my card at the beginning of each tooth of saw. Everything must be synchronized with an external k-clock signal of 100 kHz. The idea is that whenever the PCI receives a trigger to external clock, it sends two analog output voltages and when he received 1024 clock ticks it will also send a pic of triggering TTL. What I do is first prepare the map and after that in a loop sending and modifing the output values of the two signals and at the same time send a digital signal Boolean in each arch, so when's done it 1024 iterations of the loop I send an event to the digital port. Attached you can see.

    The problem is that I don't know how to synchronize both. Can I use the sample clock just to the analog output? I can use sample for the two outputs clock, or do I need to use the output of the meter? If don't know how to use it here.

    If I do nothing else bad/wrong, I would be grateful for feedback.

    Thanks in advance,
    Pablo

    I don't know how but I find the solution. I'm generating more than a positive value (as I was triggered maybe very fast the oscilloscope has been absent there). If I put the sample clock of digital output to use the sampling/ao/Dev1 clock that it doesn't, but if I put to use the same source as the OD (terminal where my external clock is connected), but the trigger to start the DO to be Dev1/ao/StartTrigger this works. I don't really know why, but it does.

    Thank you for your patience and your help. I put here the final code.

  • redeclenchables strange behavior digital output

    I created a redeclenchables digital dashboard task (finished) digital output as follows: (in DAQmx C)

    DAQmxCreateTask("",&_taskHandle);
    DAQmxCreateDOChan(_taskHandle,"/Dev2/port0/line6","",DAQmx_Val_ChanPerLine);
    DAQmxCfgSampClkTiming (_taskHandle, "" / Dev2/Ctr0InternalOutput ", _clockRate, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, static_cast (_sampleCount)");
    DAQmxCfgOutputBuffer (_taskHandle, static_cast (_sampleCount));
    DAQmxCfgDigEdgeStartTrig (_taskHandle, "/ Dev2/PFI4", DAQmx_Val_Rising ");
    DAQmxSetStartTrigRetriggerable (_taskHandle, true);
    DAQmxWriteDigitalLines (_taskHandle, static_cast(_sampleCount), FALSE,-1, DAQmx_Val_GroupByChannel, _pDigital, NULL, NULL);
    DAQmxStartTask (_taskHandle);

    sample clock:

    DAQmxCreateTask ("", & _taskHandleCO);
    DAQmxCreateCOPulseChanFreq (_taskHandleCO, "/ Dev2/ctr0","", DAQmx_Val_Hz, DAQmx_Val_Low, 0,0, _clockRate, 0.5 "");
    DAQmxCfgImplicitTiming (_taskHandleCO, DAQmx_Val_ContSamps, _numSamples);
    DAQmxStartTask (_taskHandleCO);

    When I run the task without redeclenchables parameter, it output a correct signal. However, if I run with redeclenchables it out almost exactly 2 times faster than normal. For example, a pulse whose width of 10 ms became 5 ms and repeats again to be 2 pulses of 5 ms. This is repeatable, no matter how much or how fast triggers provided.

    My card is PCIe-6363. I do not know what causes this strange behavior, and I hope someone can help on this.

    Thank you.

    It disappears after reset configuration. Might be interesting for future reviews.

Maybe you are looking for