How do I take A/D samples on a falling edge of pulse Train using PCI 6024E card?
Sampling using external triggers for A/D
Attachments:
DAQ_appln.doc 70 KB
Hello MWallace,
Is it triggering properly the first time? Since you have the timing VI outside of the while loop, it should only read in 4000 samples total, not 4000 each time you hit start. It is probably just reading the same data in the PC Buffer over and over, not getting new data every time. To prevent this, pull the timing VI into the while loop and clear the task every time (DAQmx Clear Task.vi).
If it is not triggering even the first time, take a closer look at signal on the PFI line. Is it actually starting at 5 V and going down to 0 V? Instead of using a PFI line, use the same setup on a counter source line. Open a test panel in the Measurement and Automation Explorer. On the Counter I/O tab change the mode to edge counting and see if it detects the falling edge.
Please let me know if you have any questions. Have a great day!
Sincerely,
Marni S.
Similar Messages
-
How can I take lion off of my MacBook Pro and go back to using Snow Leopard
How can I take lion off of my MacBook Pro because it has too much problems with the new operating system, I have talked to Apple support for both computers and still nothing happens I think they know that there's something wrong and they don't know how to fix it are there working on fixing it. So how can I put snow leopard Mac on my computer so that it works every time, there's a lot of good features in Lion but there's a lot of bad features and especially when it comes to turning on your computer and the memory that it has held so if one item is missing then it doesn't work and you have to reboot the computer to get it to work but I still like my Mac.
Take a look at this:
http://www.thesafemac.com/how-to-prepare-your-mac-for-sale/
Ciao. -
I would like to remove credit card info from account and only use iTunes prepaid cards. How do I take care of this and make sure payments are takin from the iTunes cards? Also, I need to change my last name and address on account.
Hi Alexis ...
I need to change my last name and address on account.
Help here > How to change the name you use for your Apple ID
I would like to remove credit card info from account and only use iTunes prepaid cards.
Help here > Create an iTunes App Store account without a credit card -
I am developing an application in VB6 for measurements with Agilent (HP)8510C network Analyser using NI-488.2 and National Instrument PCI-GPIB card. I want to take data for the whole 51 points. In HPBASIC which used to be employed for this purpose it is done using OUTPDATA command and the data is in a 2-dimensional array. How can I do this in VB6 with the hardware above.
kapilHi Kapil:
Please refer to a previous post on the same topic:
http://forums.ni.com/ni/board/message?board.id=140&message.id=7758#M7758
Although this is for C++, the basic functionality should be the same. Since OUTPDATA is from a specific instrument driver, your best bet will be comparing it to the instrument drivers mentioned in the previous post.
Thank you,
Emilie S.
National Instruments
Applications Engineer -
How to do a digital output triggered by the falling edge of a clock?
Hello !
I would like to do a digital output (on a given line of a pci 6602 card) triggered by the falling edge of a clock.
More precisely, a pulse train is generated. I have to output each bit of a variable (first, the LSB ; then, the others bits, until the MSB), each bit being transfered on a falling edge of the pulse train. How could I do that, please ?
Thank you for helping me.
Julian.see the following link (other forum same subject)
http://forums.ni.com/ni/board/message?board.id=40&message.id=1634 -
Hello!
My problem appeared when I tried to update my code from Traditional NI-DAQ Legacy to DAQmx.
I am using 2 counters (counter 5 and counter 7) from PCI-6602, to generate pulse train, and also the Digital I/O lines of the port 0 (the lines form 0 to 7). What I do in my application is that I am starting to generate the pulse train on the output of the 2 counters, and after that I am playing with the state of the digital lines.
In traditional there was no problem using the counters and the digital lines in the same time, everything was going perfectly, but in DAQmx this is not possible.
What happens: I start to generate pulse train on the output of the counters, no errors encountered, but when I try to modify the state of one line of the digital port the generation of the pulse train is stopped. This is happening when I start the task associated to the digital port.
My question is: it is possible to create a channel on the digital lines without altered the channels created for the counters?
Another thing what I manage to see using the "Measurement & Automation Explorer" and Test panels for PCI-6602, basically is the same thing, I generate pulse train on the output of the counter 7 and try to start a task on the digital line, but I get one error :
"Error -200022 occurred at Test Panel
Possible Reason(s):
Measurements: Resource requested by this task has already been reserved by a different task.
Device: Dev4
Terminal: PFI8"
Instead if I use the counter 0 or counter 1 to generate pulse train I don't encounter the same problem.
Which resources are used by the counters 2 to 7 from the PCI-6602 board and the counters 0 and 1 do not use?
Thank in advance for any replies!
Ciprian
Solved!
Go to Solution.Hello Jordan, thank you for your reply.
I am sorry but I can not see or run your example, I don't use LabView, I use Visual C++ for developing.
Here is the code for generating the pulse train:
GeneratePulseTrain(unsigned long ulCount1, unsigned long ulCount2)
short nStatus = 0;
nStatus = DAQmxCreateTask("",&m_taskHandle);
nStatus = DAQmxCreateCOPulseChanTicks (m_taskHandle, "Dev4/count5", "", NULL, DAQmx_Val_Low, 0.0, ulCount1,ulCount2);
if( bTriggerMode == true) // if hardware trigger is enabled
nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_ArmStartTrig_Type, DAQmx_Val_DigEdge);
nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Edge, DAQmx_Val_Rising);
nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Src,"Dev4/PFI17" );
//set the internal timebase
nStatus = DAQmxSetCOCtrTimebaseSrc(m_taskHandle,"Dev4/count5","20MHzTimeBase" );
nStatus = DAQmxStartTask(m_taskHandle);
return nStatus;
And the code where I try to set the digital line:
SetChannelState(short nState)
short nStatus = 0;
uInt8 wrtBuf0[1]={0};
nStatus = DAQmxCreateTask("",&m_taskHandle);
// Configure line as output
nStatus = DAQmxCreateDOChan (m_taskHandle, "Dev4/port0/line0", "", DAQmx_Val_ChanPerLine);
nStatus = DAQmxStartTask(m_taskHandle);
wrtBuf0[0] = nState;
nStatus =DAQmxWriteDigitalLines (m_taskHandle, 1, 0, 0, DAQmx_Val_GroupByScanNumber , wrtBuf0, NULL, NULL);
nStatus = DAQmxWaitUntilTaskDone(m_taskHandle,10);
nStatus = DAQmxStopTask(m_taskHandle);
nStatus = DAQmxClearTask(m_taskHandle);
m_taskHandle = 0;
return nStatus; -
How do you create a finite pulse train using a FP-CTR-502?
I have recently replaced my FP-PG-522 module with a FP-CTR-502 module, to achieve higher output frequencies (FP-PG-522 max output freq is 5kHz, wheras the FP-CTR-502 max output freq is 16 kHz).
I need to be able to generate a finite pulse train. Has anybody created a finite pulse train using a FP-CTR-502 module before? I have started to look into it, but my ideas so far have been complicated (compared to doing it in a PG module).
Any tips on this would be much appreciated.
Christopher Farmer
Certified LabVIEW Architect
Certified TestStand Developer
http://wiredinsoftware.com.au
Solved!
Go to Solution.I can answer this question myself!
The answer is in the *OLD* version (July 2000) of the operator's manual for the FP-CTR-502. For some reason, this has been removed from the latest version (June 2003).
See page 11 of this link for more information:
http://www.ni.com/pdf/manuals/322660a.pdf
Christopher Farmer
Certified LabVIEW Architect
Certified TestStand Developer
http://wiredinsoftware.com.au -
How do I generate two finite pulse trains using counters on PXI-6251
I'm trying to use Counter 0 and Counter 1 on the PXI-6251 to generate two finite pulse trains. But, I get this error: "The specified resource is reserved. The operation could not be completed as specified." See attached example.
Inside the disabled box is what I'd like to run on both counters. I stripped things down to creating the task, starting, and stopping. I then started to add things to see what my problem was. The timing VI seems to be what causes me issues but I don't know why.
My end objective is two identical pulse trains with one delayed by 5us, which I figured would be easy to do in the initial delay. I tried both in a single task and as separate tasks with no avail.
Attachments:
2_counter_outputs.vi 32 KBHi SirMutt,
Creating a finite pulse train requires
two counters. What’s really happening is that one counter is creating a
continuous pulse train while the other counter applies a finite pulse to “window”
the pulse.
What you want to do is correlated DIO. I’ve
done a search on our website for “correlated DIO” and have come up with a few
resources. Hopefully that will help you get started.
Digital Output and Pulse Generation
Performing Correlated Digital IO with an M Series Device in LabVIEW
M Series Hardware-Time DIO with Counter Clock Generation
Mark E.
Precision DC Product Support Engineer
National Instruments
Digital Multimeters (DMMs) and LCR Meters
Programmable Power Supplies and Source Measure Units -
HT4061 how do you take someone old own icloud off the phone
i have just got a iphone4 a ues on e but what i am wanting to no how to i take there old how do you take someone old own icloud off the phone so i can use the phone
Is the phone running iOS 7? If so, then you would need to know the Apple/iCloud ID and password of the previous owner in order to remove the iCloud account from the phone.
If you don't know the ID and password, then you should return the phone for a refund.
Sorry,
GB -
I need to send a continuous 2-10MHz TTL timing signal to a low pass filter (to set the cutoff frequency) while I collect data from one of the analog inputs. I'm hoping that I can send the TTL signal and collect the data through the same DAQ 6052E board.
I've been told that I can send a pulse train using one of the two counters on the board. But does anyone have more specific advice how to implement this using the NIDAQ Tools extensions to IGOR Pro? In particular I'm concerned about how I can send a continuous TTL signal and simultaneously read data. Or can you just turn on the timing signal and it stays on until it's
turned off again?
Thanks for your helpYou can program one of the counters to generate a continuous pulse train. Once programmed to do so the counter needs no further interaction. It will continue to generate the signal until stopped through SW. So you can start the counter using the functions provided to you, then forget about it and program the AI operations.
Christian Loew, CLA
Principal Systems Engineer, National Instruments
Please tip your answer providers with kudos.
Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense -
How much is the value of minimum delay of PCI-6024E?
Hello:
I use PCI-6024E board to do some work.when I use function "scan_op" of multichannels sample,I find I can't get a value in the help files.One of parameters of function "scan_op"---"scanRate" is so described:"When scanRate is not 0, scanRate must allow a minimum delay between the last channel of the scan and the first channel of the next scan." I want to ask how much is the value of minimum delay of PCI-6024E?If you know,please tell me,thanks.Hello;
For E Series devices, this delay corresponds to the speed of the board. So, for the 6024E case, as the maximum Sample Rate is 200kS/s, that means that the minimun delay will be 1/200k = 5u seconds.
Hope this helps.
Filipe
Applications Engineer
National Instruments -
How to get counter values from pci 6221 card?
Hii
I am using PCI 6221 card .. In that i am using the ctr o .. In my application i am using Linear encoder to measure the Lift movement.. so from software how to access the counter values i.e how much mm it moves...Measure Angular Position.vi in the LabVIEW examples will be a good starting point. Adapt it to Linear Encoder by clicking on the selector below DAQmx Create Channel.vi.
You can also create a corresponding DAQmx Global Channel (or task) in MAX and then use it in your code.
Feel free to post back if you need further help.
Message Edité par JB le 10-31-2008 02:15 PM -
Hello,
Here is my application: I need to use a 6602 counter/timer to generate a pulse train of certain frequency and duty cycle. On each rising edge of this pulse train, I need to output an arbitrary waveform on Ch. 0 of an niFGEN (5422) AND acquire data from CH. 0 of an niSCOPE (5124). I also need to synchronize the niFGEN and the niSCOPE to the same clock used for the pulse train (6602/ctr0). This process needs to continue until the user stops the system.
I can generate the pulse train using the 6602 just fine using ctr0, but the pulse train shows up on OUT0 by default. When setting up the niFGEN and niSCOPE to trigger on rising/positive slope edge, OUT0 is not an option for either device as a source for the digital rising edge (pulse train). The main options for both are PFI0-3 and RTSI lines.
Questions:
1.) Is there a way that I can direct the pulse train to a location (such as an RTSI line) where BOTH the niFGEN and the niSCOPE can use it as a start trigger for each rising edge? I noticed in MAX that a route can be made between ctr0's internal output and a trigger line and others. If this is a solution, could you please explain how to accomplish this?
2.) Once I configure the niFGEN and niSCOPE to be triggered on a digital rising edge, how can I effectively have this happen for every rising edge from the pulse train? In other words, can I just initiate the FGEN outside of the while loop and it will generate a waveform for each rising edge it sees at the source until the while loop is exitted?
3.) Is setting a reference clock for the niFGEN and the niSCOPE the same thing as synchronizing both devices using the same clock that generated the pulse train? It is not clear to me the difference, and why it would necessarily be useful.
Images of my current front panel and block diagram are attached. If you would rather have the actual VI's just let me know. Any help and/or explanation on this is greatly appreciated. Thanks in advance.
Attachments:
Front_Panel_Control.jpg 278 KB
Block_Diagram_Control.jpg 263 KBHello Cgifford,
Welcome to National Instruments Forums.
To output your signal to the PFI lines,
you can use external connectios between OUT0 and PFI lines. You can also use
the backplane to do so by routing into the same RTSI line.
1)
On the SCOPE and FGEN, the name of the
terminals are actually “PXI Trigger Line x/RTSIx” but on the 6602 you might
need to route the signal using the property:
You can also use the DAQmx route signal which perform the same opperation.
2)
This will depend on the frequency of
your pulse train. If this is lower than about 10 ms, then you can probably
place this on a loop and start and stop the acquisition every time. If the
frequency is higher than this, you will have to use:
- Scripting on the FGEN side (read more)
- MultiRecord Fetch (more information in the scope help file
section “Acquisition Functions Reading versus Fetching”).
3)
The short answer is yes. The longer one
might depend on how tight you need the synchronization to be (us, ns, ps). For
very tight synchronization, you should look into here.
Message Edited by Yardov on 06-18-2007 03:14 PM
Gerardo O.
RF Systems Engineering
National Instruments
Attachments:
property.JPG 7 KB -
How to change the frequency of pulse train on the fly using an array of values?
Hi all!
First I want to thank U for the great job you are doing for this forum.
Iam still busy trying to control a stepper motor, by sending pulses from my E-series 6024 to a compumotor s6- stepper Driver. I've managed to get it working. I desperately need to control the motor using the values from an array. I believe we can use two approaches for that:
1st - I can get an array of the "numbers of pulses". Each element must run for 10 milliseconds. Using that we can calculate the array of frequencies to send the number of pulses within 10 milliseconds for each specific element. Could we use the arrays of "number of pulses" and frequencies in a "finite pulse train " and up
date with each element every 10 millisecond?
2nd - Or Could we use of the frequency array in a "continuous pulse train vi" and update it every 10 milliseconds?
Please note that I must use the values as they are.
Can someone please built a good example for me? Your help will be appreciated.
Regards
Chris
Attachments:
number_of_steps.txt 17 KB
frequency.txt 15 KBTiano,
I will try to better explain the paragraph on LabVIEW. The original paragraph reads ...
"While in a loop for continuous pulse train generation, make two calls to Counter Set Attribute.vi to set the values for "pulse spec 1" (constant 14) and "pulse spec 2" (constant 15). Following these calls you would make a call to Counter Control.vi with the control code set to "switch cycle" (constant 7). The attached LabVIEW programs demonstrate this flow."
You can make two calls to Counter Set Attribute or you can make a call to Set Pulse Specs which, if you open this VI, you will see that it is just making two calls to Counter Set Attribute. What you are doing with the Counter Set Attribute VIs is setting two registers called "pulse s
pec 1" and "pulse spec 2". These two registers are used to configure the frequency and duty cycle of your output frequency.
The example program which is attached to this Knowledge Base demonstrates how to change the frequency of a continuous generation on the fly. Why continuous? Because changing the frequency of a finite train would be easy. When the train completes it's finite generation you would just change the frequency and run a finite train again. You would not care about the time delay due to reconfiguration of the counter.
If you would like to change the frequency of the pulse train using a knob, this functionality will have to be added in the while loop. The while loop will be continuously checking for the new value of the knob and using the knob value to set the pulse specs.
LabVIEW is a language, and as with learning all new languages (spoken or programatic) there is a lot of learning to be accomplished. The great thing is that LabVIEW is much easier than mo
st languages and the learning curve should be much smaller. Don't fret, you'll be an expert before you know it. Especially since you're tackling a challenging first project.
Regards,
Justin Britten -
No ISA slot available in PC. How can I use PCI-85 Modbus Plus card with Lookout?
My application is to communicate with two Modicon PLCs using Modicon's ModBus Plus (PCI based PCI-85) network card inside my PC, and using Lookout as an SCADA software. Since there is no ISA slot available in new PCs, I can not use Modicon's ISA-85 Modbus Plus networc card. But Lookout does not support PCI based PCI-85 card, how can I use PCI-85 card then, with Lookout? Why doesn't Lookout support it? I asked the following question from from the Modicon's representative about it:
If I purchase Modbus Plus Driver Suite CD (SWMXDS001, 05, or 10 etc),will I be able to use Lookout SCADA software (by the way, it supports standard MB+ prtocol) for my application? If yes, can I use any version of an
y of the ISA, PCI, or PCMCIA based MB+ card?
His answer was:
The Modbus Plus Driver Suite will talk to any version of card, PCMCIA, ISA, and PCI. The question now is will the SCADA package you are
planning on using be able to talk to the Modbus Plus Driver Suite? You must contact National Instruments and ask them if they support Modbus Plus, and if
they used the MB+ system developement kit to develop their product. Or if they wrote their own MB+ drivers, do they work with Modicon hardware?Hi,
currently Lookout does not support the PCI-85 card. The only card supported for Modbus Plus is SA-85. Please see for further information:
Where can I Find Drivers for Communicating to PLCs, RTUs, and Other Industrial Hardware?
How to configure the SA-85 card for Modbus Plus
Hope this helps
Roland
Maybe you are looking for
-
How to run ADF command-line test-client on standalone weblogic host
I have followed the steps to create a test client for the ADF application. In used the following link: http://download.oracle.com/docs/cd/B31017_01/web.1013/b25947/bcquerying007.htm The above link does not talk about how to setup the environment wher
-
Size of Aperture Libraries After Mt. Lion and Aperture 3.3.2
Has anyone else seen a major reduction in the size of the current Aperture library after updating to Mt. Lion and Aperture 3.3.2? Mine seems to be 1/3 the size of the old library. However, the other question is; does the old libarray need to be saved
-
I cannot select "selected folders" for home sharing for apple tv
please read my title......sorry new to this forum....
-
Problem with submission of forms
i'm using jwsdp-1.1 and j2sdk1.4.1 with window 2k OS. i've followed the webservice tutorial on how to setup tomcat. the enviroment parameters are set as shown below JAVA_HOME= c:\j2sdk1.4.1 ANT_HOME=C:\jwsdp\jakarta-ant-1.5.1 JWSDP_HOME=C:\jwsdp path
-
Hi, if i want to attach an attachment to the mail. how can i do that. please provide me guidance for that. thank in advance