Triggering SignalExpress

I am rather new to LabView and I am trying to acquire and log data from a Tektronix TDS5054B o-scope using SignalExpress.  More specifically, I am running a pulsed experiment, with a rep-rate of roughly 1 min.  I am using all four channels and triggering off channel 1.  I would simply like the data from all four channels to automatically get saved each time the o-scope is triggered.  This is undoubtedly within the capabilities of SignalExpress, but changing the settings on the 'Trigger" tab within 'Step Setup' hasn't yielded the results I am looking for. 
I apologize for asking this standard and rudimentary question, but I haven't figured this out through Google and other NI forums.  Finally, I have the network, hardware, drivers, etc.. all set up correctly because I have been able to obtain a continuous signal via the instructions found on:
http://zone.ni.com/reference/en-XX/help/371268M-01/expresswb/ivi_example/
Any provided information will likely be useful, esp. step-by-step instructions like the one above.  
Thanks.

You really need to post to the SignalExpress board. LabVIEW is the programming language used to create the SignalExpress application and not many LabVIEW programmers actually use SignalExpress.

Similar Messages

  • Simultaneous triggering on 4 channels with SignalExpress and NI-USB6210

    It seems that the USB6210 doesn't support analog triggering, however we'd like to know if there is some way that SignalExpress can be made to trigger simultaneously on 4 separate channels when either one of them triggers. Any help with this would be greatly appreciated.
    Thanks.

    Pat,
    Thank you for posting on the NI Forums. You are correct in the fact that the USB-6210 does not directly support analog triggering, you could however apply a software trigger in Signal Express. This means that the data will still be acquired from the 6210, but the software will only display data once the trigger parameters are met. I have attached an image that shows how to include this trigger after your DAQmx Acquire step. Under the configuration tab you can specify your parameters. Give this a go and let me know if it works. National Instruments will be closed on Thursday and Friday for the holiday weekend. I can respond when we return on Monday if you have additional questions. Thanks!
    Aaron W.
    National Instruments
    CLA, CTA and CPI
    Attachments:
    Signal Express Software Trigger.JPG ‏112 KB

  • Triggering on frequency entering and leaving window SignalExpress Bug

    In the recording options of SignalExpress,  when one sets up a trigger to trigger entering or leaving a window of frequencies, This does not work properly.
    I was using a Signal Acquire Voltage step, then doing Tone extraction on the Voltage channel.  I hooked up a frequency generator to the voltage in.  As I ramped the frequency of the generator up and down expecting the trigger to start logging to disk, I was sadly dissapointed to not see this work properly.
    As a side note, I also had a voltage threshold trigger set also, now that I think about it and the Trigger Logic was set to OR, but this shouldn't have anything to do with the problem
    Can anyone Confirm?
    Ben Yeske

    The hardware involved was a USB-Compact Daq Chassis.  I was using the NI-9233.  The Recording log was set to trigger on leaving a window of frequencies.  The frequency parameter was acquired from the tone extraction step on an analog voltage channel.
    Seems pretty straightforward to me, and one should be able to reproduce the inconsistent entering window/leaving window triggering behavior with a wide variety of hardware.
    Ben Yeske

  • LabVIEW/SignalExpress: How can I automate measuring the time between two pulses?

    Hi everyone, bit of a newbie here so please bear with me.  
    I'm a student at a university conducting a muon decay experiment with an oscilloscope connected to some photomultipliers.  To summarize, if a muon enters the detector it will create a very small width pulse (a few ns).  Within a period of 10µs it may decay, creating a second pulse.  The oscilloscope triggers on the main pulse 5-15 times per second, and a decay event happens roughly 1-2 times per minute.  I am trying to collect 10 hours of data (roughly 1500-2000 decay events) and measure the time it takes for each decay.
    I've been able to set recording conditions in SignalExpress that starts recording on the first pulse and stops recording on the last.  The Tektronix TDS 1012 oscilloscope however feeds 2500 points of data from this snapshot into a text file (for use in excel or other software).  Even if I perfectly collected the data, I would have 100,000+ data points and it would be too much to handle.  I don't know how (or if it's possible) to reduce the sample size.
    To conclude, using Labview or SignalExpress, I would like to be able to have the software
    1.  Differentiate between the single pulse detections and double pulse decay events
    2.  Record only when two pulses appear on the oscilloscope
    3.  Measure the time between these two pulses and ONLY that to minimize the amount of data recorded.
    Any help would be GREATLY appreciated, thanks!

    Hi wdavis8,
    I am not that familiar with Tektronix, but there should be a place in the dialog that you go through when you create the action step to acquire date to specify a sampling rate. That would allow you to reduce the number of data points you are seeing, but may reduce the quality of the data.
    If it’s just a matter of that much data being hard to dig through when you have that many points, you could do some analysis on the data after the fact, and then create a new file with only the data you want to look at. For example, you could identify the peaks in the data, and based on the distance between them or the difference in magnitude, selectively write data to a new file.  
    Here is some information about peak detection in LabVIEW:
    http://www.ni.com/white-paper/3770/en/
    You could also do some downsampling on the data to get fewer data points:
    https://decibel.ni.com/content/docs/DOC-23952
    https://decibel.ni.com/content/docs/DOC-28976
    Those are just a few quick ideas. 
    Kelsey J
    Applications Engineer

  • Data logging optimization function in LabVIEW and SignalExpress

    Hello, everyone!  I and a colleague have assembled the attached VI,
    which is used to control a plant growth chamber, and I could use some advice. 
    I would like to add data logging capabilities, ideally to note (1)
    environmental conditions, such as temp and CO2 level and (2) when certain
    situations occur, such as high CO2 or low pressure (which results in a change
    to the “Case Structure for CO2 and Pressure”).
    The chamber runs for weeks at a time, though, so I have a constraint.
    Instead of continuously logging all the environmental data (which would yield
    giant file sizes), I want to be able to take “snapshots”, say every 5 minutes,
    so I can examine the chamber’s condition over a long period of time.
    I attempted to use the Time Delay function to control the Write Measurements
    function (as in LabVIEW’s Cycle Analysis example, which I’ve also attached),
    but Time Delay halted my entire program. 
    I also tried the Wait (ms) function, but had no success.
    I recently discovered the powerful data review and reporting tools that
    SignalExpress has to offer.  Ideally, I
    would like to use a SignalExpress express VI to record the measurements instead of the more primative Write Measurements, but, I’m not sure how to implement this in my VI.  For example, would I make a data acquisition VI in SignalExpress for all my sensors, export to LabVIEW, and use that to replace the current DAQ structure in my VI?  (Because the chamber VI is interactive, I'm pretty sure that porting the LabVIEW VI to SignalExpress wouldn't work out well.)  And I’m
    still not sure how to control how often it records measurements.
    Any advice would be much appreciated!
    Attachments:
    Chamber VI.vi ‏789 KB
    Cycle Analysis.vi ‏300 KB

    Hi, Sarah.  Yes I definitely plan to use LabVIEW for the majority of my data acquisition and logging.  I apologize, I think I probably should have broken my post into two separate posts for clarity, as my major concern is being able to set how often LabVIEW logs the environmental data (viewing the logged data in SignalExpress would be nice, but not a requirement).
    As I explained before, I'd really like to be able to set up a system that records the environmental condtions at regular time intervals, say every 30 minutes, or if my "Case Structure for CO2 and Pressure" status changes (such as from "Normal Conditions" to "High CO2".
    As an example, attached is a boolean structure (TimedWritedMeasurements.vi) that I came up with to record a simulated signal every 5 seconds (5000 ms).  Once I can get it to work, I would connect the boolean to my environmental sensor outputs and CO2 and Pressure case structure in my Chamber VI.vi that I attached in my first post.
    My problem is I can't seem to get the Trigger and Gate function to work the way I'd like.  I'd like the Wait (ms) function to trigger the Trigger and Gate function every 5 seconds to change the case structure in the TimedWriteMeasurements.vi to "True", thereby causing the Write Measurement function to record the environmental conditions.  Then I'd like the case structure reset to false, until it's triggered to true in another five seconds.  Can anyone point me in the right direction?
    Attachments:
    TimedWriteMeasurements.vi ‏84 KB

  • Save triggered data from 2 modules

    I am using SignalExpress (3.0) with USB cDAQ-9172, a NI9203 current and NI9201 voltage module.  After Acquiring data (continuously), I am using a software trigger on the 9203 current signal to analyze and save the triggered data (collected from all 8 channels on 9203).  However, I am not able to save the data from 9201 voltage module?  It looks like the software trigger only accepts a single module input (I think).  As shown in the attachment "trigger Input.jpg" I can only select 1 module as the input for the software trigger (either the current module or the voltage module)
    Is there any way to trigger on a single channel and then save data from both modules?
    Thanks!
    Ryan
    Solved!
    Go to Solution.
    Attachments:
    trigger Input.JPG ‏32 KB
    Step setup.JPG ‏51 KB

    Hey Ryan!
    You can actually do all of this in one DAQmx Acquire step.  There is a tab in the Acquire step where you can specify your triggering.  Then there is a recording options tab up at the top where you can choose to save your data when the logging starts to a TDMS file that can be read in excel.
    Doug Farrell
    Product Manager - Condition Monitoring
    National Instruments
    National Instruments Condition Monitoring
    Attachments:
    sigex.png ‏21 KB

  • How to find out which event is triggered in SDK

    Hi all
    From SDK, I am would like to know which event is triggered when the user select navigation menu Follow up -> Create Lead (screen 1).
    I am guessing, it calls LeadCreateWithRef outport event but I don't see any absl code?? (screen 2)
    When I try to switch from Display to Edit, I got error "Component which you are trying to edit comes from a lower layer. Please use Extensibility Explore to Edit" (screen 3)
    Also in Extensibility Explorer, I can't open the button details (can't even see it in the buttongroup).
    Any advice is welcomed.
    Thanks
    Anthony

    Hi Meghna
    Thanks for the info. I am trying to do reverse engineering, to understand how to existing UI screen is built, how and what events get called when button is pressed and which screen will be opened.
    For example, in Ticket screen, when I select Follow up then Create Lead:
    I cannot drill down to see the button and its properties??
    nb. Also there is no left right scroll bar to see the rest of button group. Is it a bug?? I am using Windows 8.1.
    And in outport setting, I don't see which action/event triggered? and what screen to show?
    Thanks again,
    Anthony

  • How can I implement a recursive update within triggers?

    Given
    INSTANCE (table)
    INST_ID
    etc.
    INSTANCE_STRUCTURE (table)
    PARENT_ID (fk to INST_ID)
    CHILD_ID (fk to INST_ID)
    And that I COULD write code which recursively navigates the hierarchy (ie. START WITH parent_id = ? CONNECT BY PRIOR child_id = parent_id) and issues UPDATEs to each "child" along the way, thereby propogating the desired update, how can I accomplish the same thing using triggers?
    Keep in mind I am using Oracle 7.3 and I have no choice. Also, the DBA is very difficult to get a hold of and I have no idea if there may be some server settings which are preventing some of my attempts from succeeding.
    Of course the simplest method is to make an update trigger on INSTANCE select all CHILD_ID from INSTANCE_STRUCTURE and issue UPDATE to each which, in turn, would invoke the same trigger, however, we can't have a mutating table, now can we?
    Next, I tried the old global variable in a package bit. That's when I first started getting this "end of channel" business which essentially disconnects me from Oracle (while using SQLPlus). I started to debug that, and then other users started getting errors ... apparently due to the global variable being global ACROSS sessions ... which I did not expect (correct me if I'm wrong and I can try it again), however, due to the amount of data I'm dealing with in any one particular line of hierarchy, I'm not sure I wouldn't get an error anyhow ... particularly if I have to maintain a global array for everyone at once. Anyhow, it was during that, that I realized the "too many open cursors" thing and so I started working with START WITH CONNECT BY to identify all rows which must be dealt with.
    Then, I tried setting up some new tables (as opposed to global variables) in which I would identify userenv('sessionid') and other data so that a BEFORE UPDATE, FOR EACH ROW trigger could check to make sure that the AFTER UPDATE trigger had not begun yet (IOW, not recursing yet). Basically, everything's fine until the AFTER UPDATE trigger tries to apply UPDATEs for the children (identified from a cursor on START WITH CONNECT BY) ... then I get the "end of channel" thing again.
    Obviously, this whole thing is an attempt to denormalize some data for performance reasons.
    Any help would be appreciated.
    Thanks.

    Nevermind, I figured somethin' out.

  • PO creation triggering orders05

    Hi Experts,
        We are using IDOC PORDCR102 idoc for creating purchase order. In the inbound FM after creating the purchase order we are posting good issue. After the creation of purchase order ORDERS05 idoc is getting triggered which needs to happen after Post goods issue. The issue is happening because we are commiting after purchase order creation which creates an entry in NAST table and posts the ORDERS05 Idoc. Is there any way to stop posting orders05 idoc after the purchase order creation.
    Regards
    Sridevi S

    Hi,
    In the inbound side create a new entry in WE57 tcode.. with the functio mdoule as "IDOC_INPUT_ORDERS", basic type "ORDERS05", extn< specify the extn u created at outbound side>, message type "ORDERS". Now see if it is working.
    Regards,
    Nagaraj

  • Error in MIGO of Subcon PO in MTO scn, not triggering Movement type 543/E

    Dear Consultants,
                                  I am trying to perform Goods receipt against a Subconctracting PO, in a MTO scenario. The components are linked to Sales Order (Special Stock - E). I have maintained '0' in the Individual / Coll requirements field in the MRP 4 view of the component.
    So after creation of PO(Subcon), I am trying to perform MIGO - without issuing components to vendor as 541/E movement type for componenets is not allowed in standard.
    While performing MIGO I am getting the error no stock available with vendor, the system is trying to trigger 543/O movement type whereas I am expecting 543/E to be triggered for the components.
    I am also not able to perform 311/411 E movement type for the components as they are linked to WIP Batch.
    Can anyone sujjest if there is a way by which the MIGO should trigger 543/E during MIGO.
    Thanks
    Arindam.

    Hi
    i donr think the movement type 543 E will trigger as the subcontracting only supports 543 O in standard , you need to do customizing as follows
    Also check in SPRO > Logistics - General > Tax on Goods Movements > India > Business Transactions > Subcontracting > Maintain Movement Type Groups > here for Movement Type Group "0002", Movement Type "543 E" should be maintained.
    just check following link for the subcontracting with sales order ,
    [Sub Con 1|http://help.sap.com/saphelp_470/helpdata/en/4d/2b90b043ad11d189410000e829fbbd/content.htm]
    [subcon 2|Subcontracting for project stock;

  • Creation of triggers using CFQUERY tag is giving error

    Hi,
    I am creating triggers and stored procedure on ORACLE data
    base using <CFQUERY>.
    <CFQUERY DATASOURCE="CRM">
    create or replace trigger AWC_ACCOUNTINGPERIODSID_TRI
    before insert on AWC_ACCOUNTINGPERIODS
    for each row
    begin
    select AWC_ACCOUNTINGPERIODSID_SEQ.nextval into :new.AP_ID
    from dual;
    end;
    </CFQUERY>
    But the created trigger is not compiled, it is giving the
    following error
    "Line # = 1 Column # = 6 Error Text = PLS-00103: Encountered the
    symbol "" when expecting one of the following: begin case declare
    exit for goto if loop mod null pragma raise return select update
    while with <an identifier> << close current delete
    fetch lock insert open rollback savepoint set sql execute commit
    forall merge pipe The symbol "" was ignored."
    If I edit that trigger in enterprise manager console by
    pressing space and compile that, it is working fine with out any
    error. If i run the above statement in sql *plus, It is working
    fine with out any error. Can you please tell me why this is
    happening if i run it using cfquery tag and also the possible
    solutions.
    Thanks in advance,
    Vinod

    I can't tell you why your particular trigger is failing, but
    here is some "typical" reasons from Oracle's metalink.
    Common reasons for PLS-00103
    Error Summary
    PLS-00103 Encountered the symbol "%s" when expecting one of
    the following (Oerr
    LS.103)
    Error Details
    ~~~~~~~~~~~~~
    Error: PLS-00103
    Text: Encountered the symbol "%s" when expecting one of the
    following:
    Cause: This error message is from the parser. It found a
    token
    (language element) that is inappropriate in this context.
    Action: Check previous tokens as well as the one given in the
    error message. The line and column numbers given in the
    error
    message refer to the end of the faulty language construct.
    PLS-00103 errors can often be difficult to localize what the
    error is so here are some
    common reasons for PLS-00103 errors..
    A very common reason for PLS-00103 is when a reserved word is
    used, with a reserved word
    means words that names an oracle object or a built in
    procedure, for example MOD, ABS,
    TABLE, VIEW etc..
    When trying to use SQL*PLUS commands in PL/SQL procedures,
    like SPOOL, SET and other
    commands that belongs to SQL*PLUS can result in this error.
    Using parameter declaration at the IN/OUT clause in a
    procedure, this works in versions
    prior to 8.0.4, but it just ignored the declaration.
    Using DDL commands in PL/SQL will fail in PLS-00103, the way
    to use DDL commands is
    to build a procedure in dynamic sql.
    When creating package specification and a package body, a
    PLS-00103 error will occur
    if there is no slash, '/', after the package specification.
    Phil

  • Logical database sdf in custom program not triggering selection screen?

    I added logical Database SDF (screen 905) to a custom program - but the selection screen is not getting triggered.
    Do I have to associate these somewhere?
    Thanks,
    Ven

    HI,
    Declare this statement after the Report Statement in the program.
    TABLES : SKA1, SKB1.
    You will get the selection screen now.

  • Simple Bridge script will not read metadata and triggers Adobe Stock Photos

    I have been trying to learn to write scripts for bridge but can't get past the most basic tasks. When I run the script on an open window in bridge it throws an "Uncaught exception metadata" error. The most bizarre thing is it sometimes causes an Adobe Stock Photo script to launch in the extendscript toolkit and throw and the "Uncaught exception metadata" error in that script. My script is as follows:
    #target "bridge"
    if (BridgeTalk.appName == "bridge")
    var items = app.document.visibleThumbnails
    for (i=0; i< items.length; i++)
    item = items[i]
    md=item.metadata
    md.namespace = "http://ns.adobe.com/photoshop/1.0/";
    Window.alert(md.Title)
    Window.alert(i + " "+ " Files Finished")
    Basically I was asking to extract the title of each thumbnail from the metadata and show it in a window. I figured if I could do something as basic as that then I could move on and tackle the more complicated tasks that I need to do.
    Any ideas of what is going on? Has anyone else accidentally triggered Adobe Stock Photos?

    Another bit of info....   As I looked at this further, it seems to be occuring only on those photos where I previously ran camera raw from CS3. I've upgraded to CS5 but have not rerun camera raw since. I understand the camera raw engine in CS3 was different. Could this be involved? Could Lightroom be changing the metadata because the engine is updating the information and I have to save TO file to get this to synch?
    update about this camera raw engine possibilty..... it would not appear to be the answer. I have some files that synch even tho lightroom develop says they are using the 2003 process version. I have some files that are on the new version that won't synch.

  • Triggerring PXI-4110 to measure 1 current value while HSDIO PXI-6552 generating waveform

    Hi,
    Some question about PXI-4110 to measure current while PXI-6552 is generating the waveform. 
    1. Let say, I need to measure 3 points of current values, i.e. while PXI-6552 is generating sample-1000, 2000 and 3500. On the edge of sample 1000,2000 and 3500, the PXI-6552 will send a pulse via PFI line or via PXI backplane trigger line. My question is, is it possible to trigger PXI-4110 (hardware trigger or software trigger) to measure current values at these points ?
    2. Let say I need to measure the current on 0ms (start of waveform generation by PXI-6552) , 1ms, 2ms, 3ms, 4ms... and so on for 1000 points of measurement, code diagram as shown at the figure below. It is possible for the VI "niDCPower Measure Multiple" to measure exactly at 1ms, 2ms, 3ms .. ? How much time will have to spend to complete acquire 1 point of measurement by "niDCPower Measure Multiple" ?
    Thanks for viewing this post. Your advice on hardware used or software method is much appreciated. Thanks in advance.  
    Message Edited by engwei on 02-02-2009 04:24 AM
    Attachments:
    [email protected] ‏46 KB

    Hi engwei,
    1. Unfortunately, the 4110 does not support hardware triggering. Therefore you cannot implement direct triggering through the backplane or anything like that. However, there are a couple of possible workarounds you can try:
    a) Use software triggering: Say your 6552 is generating in one while loop, and your 4110 is to measure in another while loop. You can use a software syncrhonization method like notifiers to send a notification to your 4110 loop when your 6552 has generated the desired sample. This method, however, will not be very deterministic because the delay between the trigger and the response depends on your processor speed and load. Therefore, if you have other applications running in the background (like antivirus) it will increase the delay.
    b) Use hardware triggering on another device: If you have another device that supports hardware triggering (like maybe an M-series multifunction DAQ module), you can configure this device to be triggered by a signal from the 6552, perform a very quick task (like a very short finite acquisition) then immediately execute the DCPower VI to perform the measurement. The trigger can be configured to be re-triggerable for multiple usage. This will most likely have a smaller time delay then the first option, but there will still be a delay (the time it takes to perform the short finite acquisiton on the M-series). Please refer to the attached screenshot for an idea of how to implement this.
    2. To make your 4110 measure at specific time intervals, you can use one of the methods discussed above. As for how long it will take to acquire 1 measurement point, you may find this link helpful: http://zone.ni.com/devzone/cda/tut/p/id/7034
    This article is meant for the PXI-4130 but the 4110 has the same maximum sampling rate (3 kHz) and so the section discussing the speed should apply for both devices.
    Under the Software Measurement Rate section, it is stated that the default behavior of the VI is to take an average of 10 samples. This corresponds to a maximum sampling rate of 300 samples/second. However, if you configure it to not do averaging (take only 1 sample) then the maximum rate of 3000 samples/second can be achieved.
    It is also important to note that your program can only achieve this maximum sampling rate if your software loop takes less time to execute than the actual physical sampling. For example, if you want to sample at 3000 samples/second, that means that taking one sample takes 1/3000 seconds or 333 microseconds. If you software execution time is less than 333 microseconds, then you can achieve this maximum rate (because the speed is limited by the hardware, not the software). However, if your software takes more than 333 microseconds to execute, then the software loop time will define the maximum sampling rate you can get, which will be lower than 3000 samples/second.
    I hope this answers your question.
    Best regards,
    Vern Yew
    Applications Engineer, NI ASEAN
    Best regards,
    Vern Yew
    Applications Engineer
    Attachments:
    untitled.JPG ‏18 KB

  • Workflow PE_APPROVE01 is not triggering in PV7i .

    Dear SAP Workflow Experts .
    Friends i found workFlow for Training & Event Mgmt , it is : PE_APPROVE01 .
    workflow event : WS01200151 .
    activated the object type : PDRELA_025 .
    After Activation it become green then i ran this workflow .
    But issue is remain same  , when i book a training for emp by t-code PV7I and click button proceed for booking , the workflow mail is not going to his manager's mail box .
    Sir May u suggest me what step i missed out or what is required in order to achieve the workflow mail about booking .
    Regards : rajneesh

    Dear Saumya .
    I am very thankful for your reply .
    the steps suggested by i tried them .
    Step 3 : I tried to check in t-code SWEL if this event is getting triggered and the reciever type of the same is WS01200151.
    as u suggest me i entered creator ,(user id) , it is 0734 .
    it is actaully emp's pernr .when i execute it it shows me that event trace is ON .
    It is not giving me all the events careted by me in the selected time duration.
    So how to  search for the PDRELA_025 - CREATED event which had created.
    Please tell me how to check in t-code SWEL that event is s getting triggered and the reciever type of the same is WS01200151. ???
    I am badly stuckup sister ...plz help me .
    regards : rajneesh
    Edited by: Rajneesh Kumar on Feb 11, 2009 8:04 AM

Maybe you are looking for