NiScope: acquire indefinately upon trigger

Hi all,
I am getting some headaches with the pxi-5122. I had it working great when I was acquiring a fixed number of samples upon an external trigger. But now, I need to acquire indefinitely upon getting an external trigger.
On the web, there is a "stream to disk queues" example that is close to what I want. In the example, they use a "software ref trigger" and set "Fetch relative to" = "read pointer" and "min record length" is left as the default of 1000. Then after initiating acquisition, a loop monitors "fetch backlog" until it is bigger than "samples per fetch", then a fetch is performed until the user stops the loop. It acquires indefinately presumably because "min record length" is ignored.
I tried to adapt the example to use an external trigger by using an "analog edge ref trigger". I set "Fetch relative to"="trigger", I don't set "min record length" to anything.  I then copied from the "fetch in chunks" example, and set and maintained the "fetch offset" in the loop so that it would always grab the next available chunk of samples. After all of this the best I could do was to get the default record length of 1000 samples in the scope memory and it stops after that. I can increase the "min record length" to something arbitrarily long of course, but I would rather not do that. I am supposing that when I use "fetch relative to"="trigger", niscope thinks I am doing fixed length acquisition. Is this the case?
To sum up my question: How do I correctly configure niscope to acquire indefinitely upon an external trigger?
Thanks!
-AT.

You don't need to use the DAQmx Connect Terminals.
The NI-Scope property you want is Synchronizationtart Trigger (Acq. Arm)ource
(This is different from the Arm Reference Trigger)
I see that you want to use the BNC Trig connector.  This connector cannot be used as the Start Trigger source, because that input is for analog triggers only.  What you really want to use is PFI 0 (or 1), which is exposed as one of the pins in the AUX I/O Connector at the bottom of the front panel.  There is a pinout diagram for this connector in the NI High-Speed Digitizers help file, under Devices>>NI 5122>>Front Panels>>NI PXI-5122 Front Panel.  This help file also has a lot of information you may want.
You may want to contact an NI internal sales rep to get an adapter for the AUX I/O connector if you don't have one.
To summarize:
The property to set is: Synchronizationtart Trigger (Acq. Arm)ource
The value you should set on this property is: "VAL_PFI_0" or "VAL_PFI_1"
That will route the PFI 0 pin to the Start Trigger.

Similar Messages

  • Waveform generation upon trigger start for one cycle

    Hi there,
    I am trying to generate one cycle of a waveform(triangle wave) upon recieving a trigger signal from another input.
    I have the waveform generation working however it generates more than one cycle and also stops before a whole waveform is generated. The waveform generated can have a different duration than the trigger signal (frequency).
    How would I change the program to have it generate only one waveform upon trigger. 
    Please see the attached VI in Labview 8.5.
    Attached is also what  the program should do as JPEG image diagram.
    Thank you!
    ~Anthony
    Attachments:
    cycle.vi ‏117 KB
    waveform.png ‏6 KB

    Anthony,
    I played around with your vi for a little bit, and it seems that the easiest way to manipulate your data of the triangle wave is to wire an input to the sampling info of the vi. The input is looking for a cluster of 2 doubles, 1 being sampling rate, 1 being # of samples. In the vi I built, I just set rate to always be 1000 times the frequency, and the samples to always be 1000, giving you 1 period. 
    Hopefully this helps!
    Chris Van Horn
    Applications Engineer
    Attachments:
    cycle.vi ‏117 KB

  • 6536 acquire continuous with trigger - need faster solution

    Hello,
    I use a PCIe-6536 card to control a image sensor with ansi C, Microsoft Visual Studio and DAQmx 8.3 . Im able to generate the requiered signals and the sensor send also data back. To acquire data I have to trigger at one control signal, which starts one measure each 240us.
    I tried to aquire the data like this:
        DAQmxErrChk( DAQmxCreateTask("read",&taskREAD));
        //create channel with 4 lines(port 2 lines 0,1,2,3)
        DAQmxErrChk( DAQmxCreateDIChan(taskREAD,DEV1/port2/line0:3,"", DAQmx_Val_ChanForAllLines));
        //set sample clock for reading 20MHz ( 2000 samples)
        DAQmxErrChk( DAQmxCfgSampClkTiming (taskREAD, "OnBoardClock", 20000000, DAQmx_Val_Rising , DAQmx_Val_FiniteSamps, 2000));
        //set trigger
        DAQmxErrChk( DAQmxCfgDigEdgeStartTrig (taskREAD, "/DEV1/PFI0", DAQmx_Val_Falling ));
        while(1)
            //start reading
            DAQmxErrChk( DAQmxReadDigitalU8 (taskREAD,2000,timeout, DAQmx_Val_GroupByChannel,inBufffer,2000, &read,NULL));
            //wait until buffer is full
            DAQmxErrChk( DAQmxWaitUntilTaskDone (taskREAD, timeout))
           //process and save data
    Actually everything works, but the problem is, to read once it needs about 2ms.  But I want to use the sensor at maximal rate, it means 10 time faster.
    Any ideas to solve this problem?
    Thanks
    marc
    Message Edited by stehsegler on 11-06-2007 05:34 AM

    Hello Stefan and Ryan
    Thank you both for the answers.
    So the problem is that my system (PC) need this 2ms to recognise the trigger event and to react at this.
    The Pause trigger punctuate reading data, right. Is it possible to
    detect when the task is paused? If it isnt possible, then Im not able
    to process data during aquiring and the best way to be faster is like
    this:
    - increase the in buffer and use pause trigger
    - after x burst stop aquiring
    - process/save data
    - aquire agian.
    In this way, the software waste the time not for every burst.
    Would that work?
    Thank and best regards
    Marc

  • 6534 card does not output data immediatel​y upon trigger

    I am trying to loop to output buffers of data one after another using an external trigger. I am finding that unless I allow a significant amount of extra time (about 3 times the time it takes to output the data) between triggers, the data is output some time after the trigger has ocurred, in a kind of consistent, but unsynchronized to the trigger, manner.
    I am using NI-DAQ 6.9.2 and VC++. I can reproduce this on a simpler application (based on the NI example code DOsingleBufPatternGen653x.C) than mine and using a function generator to generate a square wave as the trigger.
    I also have DSP and JTAG PCI cards running on this PC. On another system, without the DSP card and program running I do not
    see this problem.
    Is this a PCI bandwidth issue or memory transfer issue. I am using DMA transfers so I did not think CPU bandwidth should be an issue.
    I am really frustrated with this card, it is pretty buggy. Another issue I have is, I need to have a 0 value as the first buffer element or else I get the output going high and remaining high at the end of a buffered output.
    What are the system requirements for this card? Does it matter which PCI slot the card is in?
    Attachments:
    DOsingleBufPatternGen653x.Cpp ‏5 KB
    DOTest.dsp ‏5 KB
    DOTest.dsw ‏1 KB

    David
    I think the problem you are seeing is with how the NI 6534 device sets up pattern generation.
    PCI bandwidth is a limiting factor in how fast the computer can transfer the data to the device to generate. Because of this, all of the data to be generated is first preloaded onto the onboard memory of the device. This way the pattern can be generated at full speed without having to worry about PCI bus bandwidth limitations during the generation. For example, if you are going to output a 20 MB pattern, all 20 MB will be preloaded onto the device before the generation begins. This will cause a small delay before the pattern generation begins.
    This can be disabled however. To do this this in VC++, call Set_DAQ_Device_Info function and set the ND_FIFO_Trans
    fer_COUNT to ND_NONE. (In LabVIEW this is done with DIO Parameter VI, setting the Scarabs Preload Enable attribute to OFF.)
    When you have done this, it will start generating the data as soon as it starts to trasfer the data across the PCI bus.
    Brian

  • What is the maximum number of samples that can be acquired with a single trigger using PCI-6036E DAQ card?

    1. My PCI-6036E card has a FIFO of 1024 bytes in AI. Maximum how many samples can be acquired with single trigger for digitizing a waveform?
    2. PCI-6036E DAQ card has got a AO with 10ks/s update rate? Can I generate a pulsed output with the AO of this card? I need a pulse of, say, 5 V and 1 kHz frequency.

    Giri,
    1.The trigger is usually for enabling the acquisition. I mean, when it is logic zero, you acquire nothing; however, when it is logic one, you start acquiring your waveform,and you can acquire continuously without having to worry about how many samples, unless you want to set your program for doing so. You can acquire continuously by implementing buffer acquisition. Finally, the FIFO that is in the board will not affect the buffer acquisition.
    2.Yes, you can do that! You can generate your 5V signal with that specific frequency, and you should not have any problems, because the freq fits in the update rate.
    I hope this information is helpful.
    L Aguila
    Applications Engineer
    National Instruments

  • How do I acquire waveforms in LabVIEW on multiple trigger conditions on a Tektronix TDS5000 scope? The signals are fast, so is there a way not to use a simple loop in LabVIEW?

    The signals are fast, so is there a way to acquire them without losing information? Do I have to use a loop in LabVIEW that just acquires when the trigger conditions are met?

    Hi,
    I would assume that the instrument has some sort of buffer that could store data while you are trying to download it. If this is not possible, you could use one of our DAQ cards to acquire data.
    Hope this helps.
    Best Regards,
    Aaron K.
    Application Engineer
    National Instruments

  • How can I acquire and record pre trigger samples

    Hi I would like to acquire and record pre trigger samples. I have used many different methods including: 
    http://digital.ni.com/public.nsf/allkb/9DE9E3E4DAD​9EE93862579C60018B6EA
    the problem is I would like to acquire pre trigger samples before start trigger not reference trigger. I think reference trigger is used for stop triggering not start triggering. Could you please help me on this
    Thanks? 

    Hi tintin_99,
    I hope you are well and thank you for posting your issues to the forum. 
    I wanted to ask you some further information in regards to your application:
    - What version of LabVIEW do you have?
    - What operating system (OS) are you running on your PC/laptop?
    - Which application programming interface (API) are you using? NI-DAQmx, NI-Scope?
    When you mention you want to acquire the pre-trigger samples before the start trigger and not the reference trigger, how are you currently doing this? Would you be able to post up your code so that everyone can have a look at it?
    Here are some further links to look at:
    - Continous Analog Input Acquisition with Pre-trigger Scans using 2 E-series Boards
    - How Can I Acquire Pretrigger Samples with NI-SCOPE?
    - Software Analog Trigger with Pre-Trigger Samples
    - Synchronized Analog Input/Ouput with an Analog Trigger and Pre-Triggered Samples
    I hope this is alright for now.
    Kind Regards,
    Dom C

  • Writing waveforms from Ch. 0 of niSCOPE to binary file in a multi-record setup?

    Hello,
    I am not very experienced with niSCOPE and writing waveform records, so I need some expert help here.
    Here is my application:
    I am generating a pulse train using a 6602 counter/timer. Each rising edge of this pulse train triggers an niFGEN to generate a single sawtooth waveform output to another device and, at the same time, acquiring data from Ch. 0 of an niSCOPE. I am fetching one record per rising edge of the pulse train for the niSCOPE (multi-record setup).
    The attached VI is where I am at thus far. All triggering and reading/fetching of the waveforms seems to be working just fine when testing with an oscilloscope. I now need to save each waveform record along with the timestamp of its rising edge trigger to a binary file. The bottom of the VI is where my attempt is at saving the waveforms to a binary file, so the attention should be there when looking at it.
    I am running LabVIEW from a computer connected to the NI PXI-Chassis using a cross-over cable.
    Questions:
    1.) Do I need to convert the data coming in on Ch. 0 of the niSCOPE to digital? Does it come in as analog from an oscilloscope? If I need to do this, how can I accomplish this?
    2.) When I try to run an example VI to write a waveform to a binary file by choosing "My Computer" in the bottom left of the VI window, it works it saves the file just fine. When I change this to run on "PXI2", a file is not even created and I get an error on File Dialog (code# 7, I think) each time the file is attempted to be closed. This may be a stupid question, but why can I not save data to a file on my computer if running the VI on "PXI2"?
    3.) Assuming the saving of each waveform to a binary file is working (read: (2) is successfully addressed), how can I also write the timestamp of the starting trigger for the waveform along with the waveform in the binary file? An example VI of how I can accomplish this would be fantastic, but I haven't been able to find one thus far.
    4.) When I was messing around and trying to accomplish this, it seemed that doing this writing may slow down the entire process too much. I need to record data to the extent of the sawtooth waveform generated by the niFGEN AWG for each trigger. Is there any changes I should make to my acquisition process in the niSCOPE section so that I can read each waveform, along with keeping the timestamp for each, and write this information to a binary file?
    I need to get this working quickly, so any help on this is greatly appreciated. Thanks in advance.
    Attachments:
    5124_update.vi ‏157 KB

    Thank you so much for your reply, David. Let me try and explain my
    situation and setup a little better, as well as discuss the points you
    made in your reply. Beware, you may want to refill your coffee as this
    post is long .
    I am using an embedded controller in a PXI-1044 chassis. I now have the
    chassis hooked up to our local network, and I am deploying my project
    to the chassis over the network as I am also connected to the local
    network. I have an oscilloscope next to me that takes as input the
    pulse train for a trigger and the generated sawtooth from the niFGEN
    for each trigger (rising edge of the pulse train from the 6602
    counter). Just to make sure synchronization is taking place, the
    sawtooth is also fed as input to the niSCOPE for acquisition.
    "PXI2" is what shows up when I choose to run a VI on the PXI chassis
    rather than "My Computer"; not sure why the 2 is there either, but that
    is what it says. I may have tracked down the issue I was having with
    writing, but more about that a little later...
    The attached VI is an update, although not much has changed. My
    application design is like this (keep in mind that some values for VI's
    are still constants in the block diagram while others are controls on
    the front panel): I am using the 6602 to generate a 1 KHz pulse train
    and routing this pulse train to PXI_Trigger0/RTSI0. I am also using the
    PXI_Clock (10) as a sample clock for this, and also using this same
    clock as the reference clock for both the 5422 and the 5124 (as per the
    synchronization help file mentioned for synchronizing multiple
    devices). Both the 5422 and the 5124 are triggered by a digital rising
    edge (from the pulse train) on PXI_Trigger0/RTSI0 (as it was routed
    there). For each trigger, the niFGEN generates a sawtooth waveform
    using a stepped trigger mode and outputs it. For each trigger, the
    niSCOPE acquires data. They are both synchronous, which is tough to see
    since one has its trigger source on the front panel and the other has
    its trigger source on the block diagram. All devices use PXI_Clock so
    they are synchronized.
    The expected behavior is to only generate a single sawtooth waveform
    per trigger with a certain number of sample points. I want to acquire
    the same number of samples using the niSCOPE, which is what I meant by
    "the extent of the waveform" in my previous post. So, should I change
    the 8192 to 1000 for the number of samples for the niSCOPE? What would
    you recommend for the sampling rate? I have been using 5 MHz for the
    niFGEN and 5 MHz for the niSCOPE...this is how it should be done,
    correct? If it is different in the VI, please let me know. For some
    reason, I have to adjust all of the values each time I open it since
    the default values are not the ones I want.
    I want to generate and acquire one waveform per trigger (one waveform
    per record). However, I want to be able to record a large number of
    records so I have enabled the circular buffer-like treatment of the
    acquired waveforms. The 100 or 1000 records is actually just a number I
    am giving it for now to make sure it is working before recording many
    more records.
    As for saving the niSCOPE data, I would like to save all data in a
    single file that is NOT ascii (to save space). I have been looking at
    the HWS file format, and would like to use it. I think the attached VI
    includes this at the bottom of the while loop. For each trigger, I
    would like to save the time (as accurate as possible) that the trigger
    occurred for the record/waveform, which appears to be (absoluteInitialX
    - relativeInitialX) as you said in your post (thanks!). I just need to
    store as much information about the waveform and time information for
    it as possible with the waveform in the file. So it looks like I will
    need to use the wfm info for that information, providing portions of it
    as waveform attributes in the HWS VI's?
    What format of data do you recommend I fetch, and will I be fetching a
    "Single waveform" or "Multiple waveforms"? Should I use I32, DBL, WDT,
    or other for the format? A balance between good precision in values and
    time it takes to fetch/record would be best.
    Given all of the above, I am having one troube with saving data to a
    file. As a reminder, I am deploying the project to the chassis over the
    network. When I choose a location and/or file to save the HWS data to,
    I only get choices that are on the PC's hard disk (such as C:\Documents
    and Settings\cgifford\...) NOT the chassis's hard disk. When I choose
    something other than "C:\" I get an error that the file could not be
    opened. However, when I choose "C:\" everything goes fine. The saved
    data is nowhere to be found on my PC though, so I am assuming that it
    is being stored on the internal 60G hard disk in the chassis that must
    be named "C" by default or something!?
    I have been told by phone support that I should be able to make a
    direct connection with the chassis just like another PC, and should be
    able to access the information on its internal hard disk in a drag and
    drop fashion. I however cannot directly connect to the PXI chassis to
    get the data that has been saved on the hard disk. We are running
    Windows XP on the PC. We did some poking around and noticed that the
    chassis is not running Windows file sharing, and only has ftp and http
    running. We tried to access it using ftp, but we didn't have a username
    and password to supply it. So, how can we enable Windows file sharing
    on the chassis? How can I connect to it to do drag and drop to get
    saved waveform data off of it? This is the main problem I am now
    facing. Eventually we would like to store data to an external hard disk
    connected to the chassis, which assumes that I can have access to the
    internal storage to tell it to save files to the external hard disk.
    For now saving it to the internal hard disk is just fine until
    everything is proven to work, but I would like to get the data off of
    the internal hard drive to put on another computer.
    Any answers/suggestions on my above questions are greatly appreciated.
    I also want to thank you for reading this long post . I eagerly await
    a reply. Thanks again in advance.
    Chris
    Attachments:
    5124_update.vi ‏143 KB

  • Unexplaine​d Trigger Delay in NI-SCOPE Software

    Hello,
    I am using NI-SCOPE to configure my 5122 digitizer card for multi-record acquisition.  My trigger signal is connected to the TRIG input of the card, and my data will be acquired on Channel 0.
    I have an X stage that I move in to position.  Then I configure my SCOPE software to begin acquiring data on an External Trigger, and initiate the acquisition.  Then I begin moving my X stage and after it moves 20 microns the first trigger is generated.  After the initial trigger, subsequent triggers are generated every N microns, where N can vary between different scans but is a constant within a scan.  After the acquisition is complete I display the resulting waveforms.
    Please refer to the attached vi (LabVIEW 8.0) and jpg of the block diagram to see how I have the code set up.  I've combined a few different sections of my code into this single vi.
    You'll see that I have a trigger delay - in this vi it is a constant, but in my application it is a Control.  I've run various tests and for some reason my data is always offset by 1.04E-5 seconds, which is why I've had to put in that trigger delay.  What I mean is that if I set the trigger delay to 0, then the first 1.04E-5 seconds of my data is noise.  After I use this trigger delay, my data is accurate beginning with the first data point.
    Can anyone figure out where this trigger delay comes from?  Thanks.
    Steve
    Attachments:
    5122 Scope Test.zip ‏88 KB

    Hi Steve_G,
    There doesn't seem to be anything fundamentally wrong with your VI and so there should not be any delay between your trigger and your data acquisition. I suspect that you may be generating your trigger signal a bit prematurely and that your step motor may not have settled to its final value. This will cause your digitizer to acquire unsettled data and this may be why you are seeing noise. Also, I noticed that you have set some wait timers in your VI and although these will delay your data fetch, it will not delay your data acquisition. So although you are delaying your data fetch call, as soon as the "niscope initiate acquisition" is called, your hardware is configured and is programmed to start acquiring data onto your on-board memory buffer as soon as it receives a trigger signal.
    One way to troubleshoot this system would be to simply acquire both the trigger channel and your input channel to see if the trigger lines up with your data. This will give us a good indication if we are in fact seeing any delays. I would also like to point out that there are tons of great NI-Scope shipping examples in LabVIEW that you could refer to. You can view these in your Example Finder by accessing it under Help  Find Examples.... The examples we are particularly interested in should be under Hardware Input and Output » Modular Instruments » NI-Scope » Continuous Acquisition.
    I hope this helps,
    S_Hong
    National Instruments
    Applications Engineer

  • NI-5122 Multiple records: different trigger for first record

    Hi,
    I’m using a NI-5122 high-speed digitizer to acquire multiple records (say 100 of length 20 each), triggered by an external 1kHz source, and clocked by an external 80MHz clock.
    Is it possible to start the whole acquisition process (i.e. the first record) with a certain trigger signal (e.g. from PFI0), but trigger subsequent records with a different trigger signal (e.g. from TRIG)?
    Thanks in advance for your suggestions!

    TobiSL,
    Yes, what your asking for is possible, and the two trigger types you mentioned are called repectively: Start Trigger, and Reference Trigger.  You can configure each of these triggers separately.  To configure the Reference trigger you use the "niScope Configure Trigger vi".  To configure the start trigger, all you need to do is specify the source of the start trigger, using the niScope property node: "Start Trigger Source".  
    Hope this helps!
    Product Support Engineer
    National Instruments

  • How to use Counter/timer PWM Pulse as a trigger to aquire data??

    (1) I'm using the NI DAQpad 6015 multi-function card with the new DAQmx Driver. I'm using the counter/timer (counter 0, and counter 1) to generate 2 different PWM pulses to supply my sensor circuit. each pulse is a 1 second in duration. The pulse with 5m.sec duty cycle is the supply for my sensor. In addition to that, I'd like to use the 5 m.sec as a trigger to aquire the sensor reading. The DETECTIN POINT should be the middle of the HIGH State of the 5m.sec pulse (i.e just at the 2.5 m.sec point of the high state).  
    (2) another point is: how to display the counter/timer pwm output pulses on the front pannel?? 
    Attached is the VI i'm using (Complete PWM.vi)
    regards,
    Attachments:
    Complete PWM.vi ‏49 KB

    Hello alaali,
    It sounds like what you need is a trigger delay property node.  This property node specifies an amount of time to wait after the Start Trigger is received before acquiring or generating the first sample. This value is in the units you specify with Start.DelayUnits.  This way you can still acquire using the trigger, and you can specify the delay to be 2.5 ms so that the point that you actually acquire will be 2.5 ms after the trigger.
    Hope this helps.
    Regards,Message Edited by Raajit L on 04-23-2007 04:34 PM
    Raajit L
    National Instruments
    Attachments:
    DAQmx Trigger Delay.jpg ‏6 KB

  • Self made trigger for third party device?

    Hi, everyone! I am new to labview programming. 
    Recently I have been trying to realize a function to trigger(or start) the third party device to do acquisition. I want to use the DAQmx to acquire one channel signal(which is continous pulse signal). And use this DAQmx acquired signal to trigger the third party device. I want each pulse signal to start the third party device to do acquisition.
    Could someone give me some advice or suggestions? I would be grateful for any of your help. Thanks in advance.

    Hi, Lynn
    Thank you very much. I am glad to get your reply. First I am sorry for my lack of knowledge of Labview. I will learn and be more careful of using the terminology. 
    I have "NI PCI-6052E" as the hardware device. And I use "BNC-2120" connector block to connect the trigger source. I useonly one channel of 6052E to acquire the signal. This trigger signal actually is periodic pulse signal of voltage ranging from 0 to 5V. The pulse voltage is 0V, all other are 5V. 
    I give my answers to your questions as followings.
    What kind of signal does the third party device require for triggering?Is it a physical signal like a voltage or current?
    The third party device actually doesn't have to use this pulse trigger to start, I just want to make a customized trigger to sync the third party device with the pulse signal. And each pulse make the device start working. This pulse trigger is a voltage signal that can be linked to 6052E by BNC connectors.
    Is it a message transmitted via USB, Ethernet, or tin cans and a string?
    I am sorry, I don't get this. I guess it transmitted by BNC.
    What is the timing of the signal you are acquiring? 
    I used the sample clock in DAQmx timing function. 
    How much latency can you tolerate between the acquired signal and the trigger to the third party device?
    I actually can control the interval time between each pulse. I require this interval time to be more than 1s and during this time the third party device can do acquisition itself. So the latency I think should be in the range of ms.
    Do you need to do any signal processing or analysis on the acquired signal to generate the trigger?
    The trigger signal is pulse signal. Actually I don't know much about signal processing, I don't know what kind signal is better for my application. If you have any better idea, please let me know.
    Thanks a lot.
    Yu

  • Analog trigger with 6071e in C

    I'm using the NI6071e MIO board and what I need is to perform SCAN_Op continously on 4 AIs. When a trigger of 1.1V reached in AI2 - stop trigger, I need 300 samples pretriggered plus 200 samples of poasttrigger data (total of (300+200)*4 = 2000 samples. I'm writing code in C, using the Microsoft VisualStudio and the traditional NI-DAQ library. Does anyone can explain on how I should perform it? Does anyone have similar code?
    I've been directed to a LAB View example that unfortunatly I can't read.
    Thanks,
    Nir.

    Hello,
    I'll try to offer some tips. It looks like you are trying to set up two different triggers for an analog input. This can not be done. Some different options for you are to use pause triggering, reference triggering, or some sort of software triggering. Pause triggering will allow you to collect data when the voltage is above (or below) some trigger value. When the voltage drops below (or above) the trigger value it will no longer acquire data. Another option is using a reference trigger. You can set up a reference trigger to acquire a predetermined number of data points before and after a trigger. Another option might be to use your analog signal as a start trigger for a continuous acquisition. Then, in software, monitor the data being acquired from the trigger channel. When the trigger channel acquires some data that is below your trigger level, stop the acquisition in software (after you have acquired all of your post-trigger data points). I hope this information helps!
    -Alan A.

  • Multiple channel trigger

    I want acquire from 4 channel using a ni 6110 and bnc 2110, but instead to use a single trigger i would like to use a multiple trigger, one for each channel and if even just one of them is verified acquire all!
    i tried to acquire  continuously and trigger the signal by labview but is too slow and i lose samples.
    do you have any idea?
    Thanks

    Hi tj.diego
    Triggers are configured on a per task basis. All line configured in the
    same analog input task will trigger the same. For each task (AI or AO or DIO or Ctr), you have
    the option to configure a start, reference, and pause trigger. 
    You can't set more than a trigger for your Ai task. if your triggers are digital signals, you can try to realize a digital OR, reading with the digital lines the signals and starting the AI task as soon as the ReadDIO returns a TRUE.
    As an alternative you can try to implement what is suggested into KB 1VQ9J3LL.
    I hope this can help you!
    Good work

  • Action - Display smartform in PDF format

    Hi All,
    I have a requirement whereby on triggering of a print form action in crmd_order, the smartform should be displayed in PDF format and from there, user should be able to choose whether to save or to print the form. How can this be done?
    Thanks!
    Cady

    Hi,
    Here's the solutions.
    1 .Show the PDF as pop-up upon trigger, very much the same how PDF attachment always pops up in the internet explorer. But this pops up in GUI.
    Call the smartform FM with the GETOTF checked,
    control_parameters-GETOTF = 'X'.
    control_parameter-no_dialog = 'X'.
    control_parameter-langu = <ur language>.
    output_options-tddest = 'LOCL'.
    output_option-tdimmed = 'X'.
    output_option-tddelete = 'X'.
    i_otf = job_output_info-OTFDATA.
    CALL FUNCTION 'SSFCOMP_PDF_PREVIEW'
      EXPORTING
        i_otf                          = i_otf
    EXCEPTIONS
       CONVERT_OTF_TO_PDF_ERROR     
       CNTL_ERROR                   
       OTHERS                        
    2. Triggering action in ICWC and PDF pops up in new window.
    Call function 'SSF_GET_DEVICE_TYPE'
        EXPORTING
          i_language             = sy-langu
        IMPORTING
          e_devtype              = devtype
        EXCEPTIONS
          no_language              
          language_not_installed
          no_devtype_found       
          system_error             
          others                       
    control_parameters-langu = sy-langu.
        control_parameters-no_dialog = 'X'.
        control_parameters-getotf       = 'X'.
    CALL FUNCTION '<your_form_FM>'
      EXPORTING
       CONTROL_PARAMETERS      = control_parameters
       OUTPUT_OPTIONS                 = output_options
    IMPORTING
       JOB_OUTPUT_INFO                = output_data
      TABLES
       orderadm_h       = <your tables>
      EXCEPTIONS
       FORMATTING_ERROR      
       INTERNAL_ERROR            
       SEND_ERROR                  
       USER_CANCELED            
       OTHERS                           
    call function 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
        IMPORTING
          bin_filesize          = l_pdf_len
          bin_file                = l_pdf_xstring
        TABLES
          OTF                    = OUTPUT_DATA-OTFDATA
          LINES                 = LT_LINES
        EXCEPTIONS
          err_max_linewidth       
          err_format                  
          err_conv_not_possible 
          err_bad_otf                 
          others                        
    CREATE OBJECT cached_response TYPE CL_HTTP_RESPONSE  EXPORTING add_c_msg = 1.
        l_pdf_len = xstrlen( l_pdf_xstring ).
        cached_response->set_data( data   = l_pdf_xstring
                            length = l_pdf_len ).
    cached_response->set_header_field( name  = if_http_header_fields=>content_type
                                           value = 'application/pdf' ).
        cached_response->set_status( code = 200 reason = 'OK' ).
        cached_response->server_cache_expire_rel( expires_rel = 180 ).
        CALL FUNCTION 'GUID_CREATE'
          IMPORTING
            ev_guid_32 = guid.
        CONCATENATE runtime->application_url '/' guid '.pdf' INTO display_url.
        cl_http_server=>server_cache_upload( url      = display_url
                                             response = cached_response ).
                                             url = display_url.
    RETURN.
    Declare display_url as an attribute in the implementation class as well as page attribute.
    Push the display_url value to page attribute using the SET_MODELS method in the implementation class.
    Clear display_url in DO_INIT_CONTEXT so that PDF only pops up when action is triggered.
    Put this piece of code in the page htm.
    I can't seem to be able to put the code here. It's a java script.
      IF display_url IS NOT INITIAL.
    * I can't show the script here for i kept getting error when i tried putting the java script here.
      ENDIF.
    3. To trigger a print action and send PDF attachment in background, a spool will still be created. 
    Call the smartform FM as usual.
      lt_spoolid[] = es_job_output_info-spoolids[].
      READ TABLE lt_spoolid INTO lw_spoolid INDEX 1.
      CHECK lw_spoolid IS NOT INITIAL.
      CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
        EXPORTING
          src_spoolid                = lw_spoolid
          no_dialog                  = 'X'
        IMPORTING
          pdf_bytecount            = lw_bytecount
        TABLES
          pdf                             = lt_lines
        EXCEPTIONS
          err_no_otf_spooljob      
          err_no_spooljob            
          err_no_permission        
          err_conv_not_possible   
          err_bad_dstdevice         
          user_cancelled             
          err_spoolerror               
          err_temseerror              
          err_btcjob_open_failed  
          err_btcjob_submit_failed
          err_btcjob_close_failed  
          OTHERS                      
      IF sy-subrc NE 0.
    */    Set to incorrectly processed.
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
      ENDIF.
      CHECK sy-subrc = 0.
    * Convert PDF from 132 to 255, combine everything into a single string.
      LOOP AT lt_lines INTO lw_lines.
    * Individually replace the space with a '~'.
        TRANSLATE lw_lines USING ' ~'.
        CONCATENATE lw_buffer lw_lines INTO lw_buffer.
      ENDLOOP.
    * Replace '~' by space.
      TRANSLATE lw_buffer USING '~ '.
      DO.
    *   Putting in the first 255 chars into the variable.
        lw_record = lw_buffer.
    *   Append 255 chars as a record.
        APPEND lw_record TO lt_record.
        SHIFT lw_buffer LEFT BY 255 PLACES.
        IF lw_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    * Object with PDF.
      lt_objbin = lt_record.
      DESCRIBE TABLE lt_objbin LINES lw_lines_bin.
    * Object with main text for the mail.
      lw_objtxt = <your text>
      append lw_objtxt to lt_objtxt.
      DESCRIBE TABLE lt_objtxt LINES lw_lines_txt.
    * Document information.
      lw_doc_chng-obj_name    = 'Smartform'.
      lw_doc_chng-expiry_dat  = sy-datum + 20.
      lw_doc_chng-obj_descr   = <your text>.
      lw_doc_chng-sensitivty  = 'F' 
      lw_doc_chng-doc_size    = lw_lines_txt * 255.
    * Pack to main body as RAW
    * Obj to be transported not in binary form
      CLEAR lw_objpack-transf_bin.
    * Start line of object header in transport packet.
      lw_objpack-head_start = 1.
    * Number of lines and object header in object packet.
      lw_objpack-head_num = 0.
    * Start line of object contents in an object packet.
      lw_objpack-body_start = 1.
    * Number of lines of the object contents in an object packet.
      lw_objpack-body_num = lw_lines_txt.
    * Code for document class.
      lw_objpack-doc_type = 'RAW'.
      APPEND lw_objpack TO lt_objpack.
    * Packing as PDF.
      lw_objpack-transf_bin = lc_x.
      lw_objpack-head_start = 1.
      lw_objpack-head_num   = 0.
      lw_objpack-body_start = 1.
      lw_objpack-body_num   = lw_lines_bin.
      lw_objpack-doc_type   = 'PDF'.
      lw_objpack-obj_name   = <your text>.
      CONCATENATE '<your text>' '.pdf' INTO lw_objpack-obj_descr.
      lw_objpack-doc_size   = lw_lines_bin * 255.
      APPEND lw_objpack TO lt_objpack.
    * Document information.
      CLEAR lw_reclist.
    * Email receivers.
      lw_reclist-receiver = <email address>
      lw_reclist-express  = 'X'.
      lw_reclist-rec_type = 'U'. "Internet address.
      lw_reclist-com_type ='INT'.
      APPEND lw_reclist TO lt_reclist.
    * Send mail.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = lw_doc_chng
        TABLES
          packing_list                 = lt_objpack
          object_header              = lw_objhead
          contents_txt                = lt_objtxt
          contents_bin               = lt_objbin
          receivers                     = lt_reclist
        EXCEPTIONS
          too_many_receivers            
          document_not_sent            
          document_type_not_exist   
          operation_no_authorization 
          parameter_error                 
          x_error                             
          enqueue_error                   
          OTHERS                          
      IF sy-subrc = 0.
        COMMIT WORK.
      ELSE.
    */    Set to incorrectly processed.
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = lc_2
            ip_handle       = ip_application_log.
      ENDIF.
    4. Trigger action and send PDF attacment as mail. No Spool.
    control_parameters-GETOTF = 'X'.
    control_parameter-no_dialog = 'X'.
    control_parameter-langu = <ur language>.
    output_options-tddest = 'LOCL'.
    output_option-tdimmed = 'X'.
    output_option-tddelete = 'X'.
      CALL FUNCTION 'your smartform FM
        EXPORTING
          control_parameters = lw_ctrl_params
          output_options     = lw_output_options
          user_settings      = space              "Has to be set to SPACE so it will get parameters from lw_output_options.
          et_orderadm_h    
          et_orderadm_i     
          et_cancel          
          et_appointment    
          et_partner        
          es_but000         
        IMPORTING
          job_output_info    = lw_output  "OTF format
        EXCEPTIONS
          formatting_error  
          internal_error    
          send_error        
          user_canceled     
          OTHERS            
    * Get the OTF data.
      lt_otf = lw_output-otfdata[].
    * Convert OTF format to PDF.
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
          max_linewidth         = 132
        IMPORTING
          bin_filesize          = lw_bin_filesize
        TABLES
          otf                     = lt_otf
          lines                  = lt_lines
        EXCEPTIONS
          err_max_linewidth       
          err_format                  
          err_conv_not_possible 
          err_bad_otf                 
          OTHERS                    
    The rest will the similiar to no.3, * Convert PDF from 132 to 255, combine everything into a single string. onwards.
    Cheers,
    ck.

Maybe you are looking for

  • Unable to order prints anymore... weird iPhoto error

    Hey there, I'm unable to order prints from iPhoto anymore, it started before the 8.1.1 update. When I start to upload photos to the Kodak server, after 2Mo is transmitted it bugs. In the console I have the following mysterious error : 25/11/09 23:11:

  • Is the Mac Pro upgradable beyond 3GHz?

    I'm considering a 2 GHz Mac Pro and it's nice to know that in a few years I can drop 3 GHz processors into it. Does anyone have any insight as to whether there will be processors beyond 3 GHz supported by the current generation of Mac Pros? Or is the

  • Material on eCATT

    Hi If any one has material regarding eCATT, please send to my mail id [email protected] Thanks & Regards Hanumantha Rao

  • MDM to JMS Scenario

    Hi, This is MDM to JMS developement scenario. Design part mapping i imported XSD structure both source and receiver sides. i done disign part... Configuration part i creat business system for both send and receiver. as well as communication channel a

  • How can i read this response?

    i hav a encrypted string subsinfo, & i forward it to dec.jsp to be decrypted & it result : HTTP_RESPONSE msisdn|firstname|lastname how can i read this response so i can have the parameter string newsubsinfo = msisdn|firstname|lastname ?