I want to use a PFI pin to function as external clock for my analog output which is located in the FIFO buffer on the card. But I dont want a while loop to handle it since its triggering up to 10kHz. I found programs doing this here, but they were meant for E series and not my 6713.
You can use a PFI pin to function as an external update clock for your AO. The default one to perform this task for both E-Series and the 671X family is the PFI5/UPDATE pin. You can find which exact pin is this one in the User Manual of the board. However, you can used any PFI line. You just have to indicate it in your program.
I don't know what programming environment you are using (LabVIEW? LW/CVI? etc). There are some good shipping examples that apply to your need. In LabVIEW, the example is called "Continuous Generation Using an External Update Clock". In LW/CVI, the example is called "WFMsingleBufExtUpdate". Those are examples that do apply to your board.
Nevertheless, I don't understand what you mean by "don't want a while loop to handle it".
Finally, I hope you find this information helpful.
I work in LabView 6.0.2 and I found that example ("Continuous Generation Using an External Update Clock") before posting this question. The VI says "E-series only". And it doesnt work for me. I tried to modify it but havent found the right modification yet, hence my post here. "Dont want a while loop to handle it", by this I mean that I dont want to have to tell the card to be ready for another trig through LabView. The example you mentioned is exactly how I want it except its for E-series only.
I was working on this issue, and I connected a pulse train to the PFI5/UPDATE pin, as well as the pulse train's ground to the AOGND of the daq board, and worked with the LV "Continuous Generation Using an External Update Clock.VI", and everything worked fine. I also used another daq board, for the pulse train generation, and terminal blocks for connecting the I/O connectors of both boards.
I worked for me, maybe you are misconnecting something.
Yes, I DO have a 6713 board and a PCI-MIO-16E-4! I worked with them on April 5th, and everything worked fine for me.
I am noticing something in your comments to Filipe, which might be causing a little misunderstanding. You are talking about triggering and in other places, you are talking about update clock. It is important to mention that those two things are not the same. Can you clarify that for me?
I did test the update clock signal, and I could see the results with no problems. However,I did not test the AO digital triggering.
By the way, I do agree with you, I don't think the RTSI will help you solve your issue at this moment.
First, thanks for your time trying to help me. Now lets try to clarify things. I want one trig pulse (low-to-high) to trig my 6713 to generate a pulsetrain (which I have in the FIFO on the card, the 6713 that is). I want the 6713 to remember that I want this done for every trig it gets through that PFI pin. I cant keep reminding it via LV since the trigs comes at up to 10kHz. (during testing I run at lower speeds or simply one pulse at a time). I'm attaching a small VI, not functional or meant to be, but maybe you can understand me better through it. I talked about update clock signal cause that maybe was a way for me to go, but it wasnt I think.
Since what you want is to retrigger an analog output channel instead of update channel. I found an example which might help you. This is not my example, but it does until some point what you want. I hope you find this helpful.
This is the explanation of the example:
Title: Retriggerable Analog Output Waveform Generation with E-series board and Labview Description: This Vi shows how to perform a retriggerable Analog Output waveform generation. None of NI DAQ boards have the retriggerable Analog Output feature, but, you can overcome that limitation by using the two general purpose counters of the board to do that. To accomplish that, you need to configure the first counter as retriggerable pulse generation. Th e output of that counter will be used as the gate input of the second counter, which will be configured as gated pulse train generation. Then, you can use each pulse of that second counter as the update clock of your board. Based upon the update rate needed for the analog output channel, you can determine the frequency of the second counter output pulse train, which is going to be the analog output update rate. You need to make sure tough, that the burst time set at the front panel of the VI is shorter than the time in between trigger pulses, otherwise, you will loose some trigger pulses.
VI Instructions: - Set the desired update rate, cycles in the buffer, and time of burst in between trigger pulses - Set the gate source where the external trigger pulse train will be connected to (the default is PFI0)
I/O Connections: - If you leave the gate source control at the Front Panel of the VI as default - connect the external trigger pulse train to PFI0 - Otherwise the external t rigger pulse train must match the selection made at the gate source Front Panel control
The way to go about that is to set up the external pulse train to be the AO Update signal. By doing that, you will have a hardware clock updating the output channels. You can find examples for the different programming languages that can be used with NI-DAQ. You can go to C:\Program Files\National Instruments\NI-DAQ\examples\VisualC\AO; if you want to use NI-DAQ function calls and to Search Examples->I/O Interfaces->Data Acquisition->Analog Output; if you are using Labview. Hope this helps. Filipe