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.
    Thanks

    Hi,
    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

  • How can I use the pulse train from a 6602 to trigger an niFGEN and niSCOPE on each rising edge of the pulse train?

    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 KB

    Hello 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

  • Rising Edge on AO Start

    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.
    Thanks

    Hi 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!
    Lars

    Here 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

  • Rising edge of square wave

    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

  • How do I perform a trigger that collect the data for every rising edge continuously and then automatically put the data in a .xls file??

    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?

    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.
    thx

    As 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

    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