Is there "rising edge"-block in labview?
And block down counter? rising edge comes from button, digital line etc..
Hi
I want to detect rising edge of FPGA DIOs(trigger0 in attachment) to the RT side.if rising edge happen i have to send some data to FPGA. For this i took while loop on RT side and read boolean indicator(DIO trigeer 0) from FPGA to RT and inplimented some logic to detect rising edge(plz see in attachment). if this indicator(2v on DIO) is true i am executing true case shown in attachment(dont consider logic inside true case).My problem is on RT side true case(plz see in attached file) is executing for both rising and falling edge.As per the logic imlimented to detect rising true case should execute only for 0v to 2v change on pin but this true case is execute for 2v to 0 v change on DIO pin.Why this happen.Can any one plz tell me.
I am testing this with power supply appalying 0v and 2v across the DIO pin no 86 of sbrio 9606.
Attachments:
FPGA.png 163 KB
RT.png 151 KB
Similar Messages
-
Is there a "signal builder" block in labview
Hi all,
I am new to labview and i have the following question. I have build a vehicle model in simulink in which i have applied different types of road inputs. The inputs have been created with the signal builder block, because some of them are really customised potholes and bumps. I am trying to build the same model with labview simulation module. Is there a similar block in order to create my input and if not, do you have any idea how is this possible. I also tried to translate my model into labview but the build the translator was not able to translate the build signal blocks.
ThanksHi,
If you are using the Simulation Module, you can actually do the profile easily by combining the Lookup Table block with the Simulation Time. See the VI and picture attached.
Barp
LabVIEW R&D - Control Design and Simulation Group - National Instruments
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments
Attachments:
Special Profile.PNG 35 KB
LUT Problem.vi 151 KB -
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 -
DASYLAB : start acquisition on rising edge during a certain period of time
Hello,
I would like to know how to do on Dasylab to start acquire data on rising edge and during 0.6s exactly.
Secondly, I've a little problem with the module "Integer". I displayed an acceleration and I would like to have the speed and position with a double integer but I did'nt find how to do this on Dasylab...
Thanks,
Morgane Charbonneau.
Solved!
Go to Solution.Hello,
do you know this link?
http://digital.ni.com/public.nsf/allkb/AE0A4D71F0CD603786256D9C0075B95B?OpenDocument
http://digital.ni.com/public.nsf/allkb/91D44FC21F0DF0CE86256BB1003F6CD9?OpenDocument
http://digital.ni.com/public.nsf/allkb/77F973851F041E0F86256BB1003EB94C?OpenDocument
Regards
Samuel G. | Application Engineer Team Leader
Certified LabVIEW Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Été de LabVIEW 2014
12 présentations en ligne, du 30 juin au 18 juillet -
PFI0 Trigger : howto plot PFI0 and record dateTime of Rising Edge ?
Hi,
I'm acquiring an analog signal on my PCI 6250, triggered on PFI0. For this test, I use DAQ Assistant
I use VS2010, MS2013, DAQmx 14.0 .
I acquire at 1MHz, 5,000,000 of samples (5 seconds)
I would like to plot on a Digital Graph my PFI0 signal, which shows on horizontal axis Date Time. I would like also to know if it possible to record the DateTime of each Rising edge detected (Rising edge period on PFI0 may be faster than 5s) in parallel of my Analog Acquisition or at least the DateTime of the rising edge which has triggered the Analog acquisition.
Kind Regards,Hello Charly,
Yes you could start 2 differents tasks, one analog aquisition to plot your signal and at the same time one numeric like a counter to mesure your rising edges.
Hope this will help you,
Kind regards,
Maxime G. | Application Engineer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
LabVIEW Tour
Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014 -
Hi,
I'm using a PXI 6251 Daq card.
On this one, I'm generate on analog output a finite signal.
I would like to initiate a rising edge on PXIx terminal when the Output analog task is realy run.
In fact i would like to provoq an output trigger when the analog task is start.
Is it possible ?
Thanks for reply.
Regards
=========================
Bonjour,
Je dispose d'une carte PXI 6251
Sur celle-ci je génére un signal Analogique Finit.
Je souhaite provoquer un front montant sur une sortie PFIX quand la tache de génération à démarrer. Puis que cette sortie tombe à 0 quand la tache est stopée....
Est-ce possible ?
Merci pour vos réponses.
Solved!
Go to Solution.Hello __KB__,
I think you should start from this example : https://decibel.ni.com/content/docs/DOC-5374
Then, you'll have to adapt it in order to define a pattern which generates a high level as soon as the analog task starts and which generates a low level at the end of the finite acquisition.
In order to know which digital line matches with your PFI line, you will have to look at the documentation of the PXI 6251 (http://www.ni.com/pdf/manuals/371291h.pdf, page 14). You can also get the information from MAX.
Regards,
Jérémy C.
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Travaux Pratiques d'initiation à LabVIEW et à la mesure
Du 2 au 23 octobre, partout en France -
Is it possible to import simulink blocks into labview
Hi,
I was wondering if it is possible to import the MATLAB/simulink blocks into labview.
thanks,
Baran.Hi Baran,
There is no way to directly import any of the programing blocks from The MathWorks, Inc. Simulink® software into LabVIEW.
However if you wanted to use your own code that you programed using The MathWorks, Inc. Simulink® environment in LabVIEW, we do have the NI Simulation Interface Toolkit which you can use.
<Brian A | Applications Engineering | National Instruments> -
Configure PXI-2567 to Trigger on Rising Edge using LabWindows​/CVI
I need some help configuring the trigger edge for a PXI-2567 using Labwindows/CVI. I have been able to successfully create and execute a scan list using both the ni-switch and daqmx APIs. However, currently the PXI-2567 triggers on the falling edge of an input trigger. I need to configure it to trigger on the rising edge of an input trigger. Every function I could find in the daqmx API for configuring the trigger edge gave a non-fatal runtime error, and I could find no such functions in the ni-switch API.
Any help configuring the input trigger edge on the PXI-2567 using Labwindows/CVI would be appreciated.
ThanksHi JonRice,
You can configure the scan list to execute on the rising edge of an input trigger. Here are the Labwindows/CVI and LabVIEW functions you would want to use to retrieve, specify or verify the edge of a digital signal that advances to the next entry in a scan list.
NI-DAQmx C Property: More >> Advance >> Digital Edge >> Edge
You can get/set/reset this property using:
DAQmxGetDigEdgeAdvTrigEdge
DAQmxSetDigEdgeAdvTrigEdge
DAQmxResetDigEdgeAdvTrigEdge
NI-SWITCH C Attribute: NISWITCH_ATTR_TRIGGER_INPUT_POLARITY
You can get/set/check this attribute using:
niSwitch_GetAttributeViInt32
niSwitch_SetAttributeViInt32
niSwitch_CheckAttributeViInt32
NI-DAQmx LabVIEW Property: More:Advanceigital Edge:Edge
DAQmx Trigger Property Node
Short Name: Adv.DigEdge.Edge
NI-SWITCH LabVIEW Property: Trigger Input Polarity
niSwitch Property Node
Short Name: Trigger Input Polarity
Hope this helps! Let me know if you have further questions.
Chad Erickson
Switch Product Support Engineer
NI - USA -
6602: Rising edge capturing hardware interrupt
I have this signal in input:
I have to do something on rising edge as soon as possible.
My idea is to receive an hw interrupt from the board, and to write an isr soubroutine.
I read about callback function so i write some code.
But when i call:
DAQmxErrChk ( DAQmxCfgChangeDetectionTiming ( udpTaskHandle,
"Dev1/Ctr0",
"Dev1/Ctr0",
DAQmx_Val_ContSamps,
1));
I have an error for the ctr0, it seems i can use onli the port0.
Now my question.... is there on port0 a software thread that read continuosly the value of the pins?
Or is there an hardware interrupt anyway ?
I think that a software thread has a big latency for me, at this point don't need the 6602 board,
i could read the signal on LPT standard port.
Thank you for the answer.
There are 10 kinds of people. Those who understand binary notation, and those who do not.
Solved!
Go to Solution.Sorry if it's passed a long time, i tryed to do as you suggested, but if i set DAQmx_Val_HWTimedSinglePoint how can i have a continuos acquisition?
that's my code, it seems that thecallback function is called only once.
#include <stdio.h>
#include <NIDAQmx.h>
#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else
int32 CVICALLBACK TriggerDetectionCallback(TaskHandle taskHandle, int32 signalID, void *callbackData);
void Cleanup (void);
static TaskHandle taskHandle=0;
int main(void)
int error=0;
int32 read;
uInt32 data[1000];
char errBuff[2048]={'\0'};
// DAQmx Configure Code
DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
DAQmxErrChk (DAQmxCreateCICountEdgesChan(taskHandle,
"Dev1/ctr1",
DAQmx_Val_Rising,
0,
DAQmx_Val_CountUp));
DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle,
"/Dev1/PFI35",
1000.0,
DAQmx_Val_Rising,
DAQmx_Val_HWTimedSinglePoint ,
1000));
DAQmxErrChk (DAQmxRegisterSignalEvent(taskHandle,
DAQmx_Val_SampleClock ,
0,
TriggerDetectionCallback,
NULL)
// DAQmx Start Code
DAQmxErrChk (DAQmxStartTask(taskHandle));
printf("Continuously reading. Press Ctrl+C to interrupt\n");
while( 1 ) {
Error:
puts("");
if( DAQmxFailed(error) )
DAQmxGetExtendedErrorInfo(errBuff,2048);
if( taskHandle!=0 ) {
// DAQmx Stop Code
DAQmxStopTask(taskHandle);
DAQmxClearTask(taskHandle);
if( DAQmxFailed(error) )
printf("DAQmx Error: %s\n",errBuff);
printf("End of program, press Enter key to quit\n");
getchar();
return 0;
int32 CVICALLBACK TriggerDetectionCallback(TaskHandle taskHandle, int32 signalID, void *callbackData)
int32 error=0;
uInt32 data[200]={0};
int32 numRead;
uInt32 i=0;
char errBuff[2048]={'\0'};
static int count =0;
count++;
printf("\n\n%d", count);
if( taskHandle ) {
// DAQmx Read Code
DAQmxErrChk (DAQmxReadCounterU32(taskHandle,1000,10.0,data,1000,&numRead,NULL));
printf("\n%d",data);
return 0;
Error:
if( DAQmxFailed(error) )
DAQmxGetExtendedErrorInfo(errBuff,2048);
Cleanup();
printf("DAQmx Error: %s\n",errBuff);
return 0;
void Cleanup (void)
if( taskHandle!=0 )
// DAQmx Stop Code
DAQmxStopTask(taskHandle);
DAQmxClearTask(taskHandle);
taskHandle = 0;
Message Edited by blacksocket on 30-03-2010 03:56 PM
There are 10 kinds of people. Those who understand binary notation, and those who do not. -
Rising edge analysis RS FlipFlop without the Reset
Hello, I am a starter with LabView and am trying to create a rising edge analysis. With the first rising edge of a Boolean Signal (an Input) a variable (and an Output) should be set and the second rising edge should reset this variable. It is like a RS Flip-flop with the second Set Signal as Reset.
By pressing an external pushbutton (my Input) my program should switch on/off my output to control an electrical system.
Maybe anyone can help me, Thank You!
LarsHere is a simple vi that does the trick. Substitute Boolean with your input and substitute Boolean 2 with your output. You can also make this into a LV2 functional global by moving the Boolean and Boolean 2 out of the loop and making the loop execute only once (replace Stop and Not with False constant). Call the functional global from your main with your input to the connector pane left side and the output comes from the connector pane right side.
- tbob
Inventor of the WORM Global
Attachments:
FlipFlop.vi 19 KB -
Hi all,
I'm wondering how I would go about finding the rising edge of a square wave. I can trigger true when the rising edge of a sine wave occurs but it doesn't work for a square wave.
Any ideas would be excellent!winterfresh11 wrote:
So I actually discovered the answer to that question I had, but thank you for your response!
And what was your answer? Please share since somebody else might run into the same issue and this thread might be able to help them.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
I need to collect the data for every rising edge a trigger perfoms. So far I could collect the data but it seems that it only collect the data in the start of triggering, but not continuously. I also want to put the data in an excel spreadsheet and automatically add new set of data when the next rising edge occur. Please help.
thanks a lot.LabWindows/CVI actually ships with a comprehensive set of examples for just about every area of programming you can use it in, including triggered analog data acquisition and ActiveX control of Microsoft Excel for data logging. Go to the following two directories on your computer to find respective examples for the two areas you are inquiring about:
1) C:\MeasurementStudio\CVI\samples\DAQ\Ai\DAQsingleBufExtTrig.PRJ
2) C:\MeasurementStudio\CVI\samples\activex\excel\excel2000dem.prj
Just make sure to study the examples carefully so that you fully understand the processes followed for triggered analog acquisition and the process of launching an ActiveX automation server for control, and then you should be able to merge the concepts shown in both of the example
s to make the application you desire.
Jason F.
Applications Engineer
National Instruments
www.ni.com/ask -
How to take the screen shot of my computer page by using Labview.... is there any funtions available in Labview?
Another thread about this theme.
Waldemar
Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions -
How can i get the every rising edge's time value with usb 6212 counter continues acquisition
i have a usb 6212,and now i can get every pluse 'period ,frequency。
i want to know how to get the every rising edge's time point value by DAQmx Counter.
thxAs you already know YouTube doesn't play in the background, that's why I wasted my time trying to give you an alternative.
-
On receiving jpegs via email, sometimes they get corrupted, and there are horizontal blocks appearing on the image that distort the image. Help???
Hi Bruce523,
Let's get to the bottom of this, your efforts are greatly appreciated! What is the software version on your device:http://vz.to/ZVhZsh ? I look forward to hearing from you soon.
Thanks for your contribution to our community forums,
AyaniB_VZW
Follow us on Twitter @VZWSupport
Maybe you are looking for
-
ORA-01653:enable to extend table APPLSYS.FND_LOGIN by 128
Hi, I am facing the below error while running the concurrent program: ORA-01653:enable to extend table APPLSYS.FND_LOGIN by 128 in Tablespace FND_TAB. Could you please suggest me something on this. Thanks
-
T410 enhanced backup using ThinkPad secure HDD 500
The ThinkVantage program is not recognizing this drive when using enhanced back-up and restore. Drive works otherwise. Is this a problem with the enhanced back-up and restore, and is there a fix?
-
Can I run ADF BC tester as thin client using embedded Tomcat or Websphere?
Hi folks, I fired up JDev and ADF BC after a long hiatus and was pleased to find my old friend, the appmodule tester. I will probably be demo'ing the tester tomorrow at my new job. I would like to show the AppModule tester as a thin client applicatio
-
How to avoid StartMonth being smaller than &CurFstMo?
Happy Friday 13th! Please take a look at my situation: Planning Data Forms: Two scenarios: Forecast -> CurYr (Jan - Jun: Read only. Actuals are copied over at the end of Jun. Jul - Dec: Input) Budget -> NextYr (Jan-Dec: Input) Issue: When adding a TB
-
Pixel Bender only available for jpg files?
I'm running Photoshop CS5 on a brand new macbook. Everything has been working fine. I recently installed Pixel Bender and started playing with it. It seems to work fine on .jpg files, but whenever I open any PSD files, (or raw files from my Nikon) th