Timing pulses after a trigger using a pci6602 card

Hi,
I am currently trying to design a program to determine the number of clock cycles which have passed between a trigger and a series of signal pulses  i.e. n signal pulses arrive after the trigger and I want to output an array which contains the time each arrive at, after a certain time another trigger arrives and the process is repeated.
I am currently using a pci6602 card and would prefer it if the program used daqmx.

Your recent idea is right on target.  Using the trigger pulses as data acq task triggers would require you to anticipate the next trigger so you can perform software calls that stop and restart your task in time to react to the next trigger signal.  If there's no way of knowing which pulse is the last one before the next trigger (or you have only a few msec to react between the last pulse and the next trigger), a triggered task really isn't the best option.
You can leave all the timing in the hardware if you go ahead and simply timestamp both the trigger pulses and the signal pulses using 2 simultaneous tasks.  Then some fairly simple post-processing will get you the data in the form you want.  To get their zero times in sync, both should be configured to use the same digital "Arm Start" trigger, which is found only in the DAQmx Trigger Property Node.   I've often created my own trigger signal using either another counter or a digital output bit. 
-Kevin P.

Similar Messages

  • FND_REQUEST.SUBMIT_REQUEST is not working in After Report Trigger Reports6i

    Hi Guys,
    I am calling the another conc program in After report trigger using FND_REQUEST.SUBMIT_REQUEST. The below are the statement which i use in my program.
    req_id := FND_REQUEST.SUBMIT_REQUEST('APPL_SHORT','CONC_SHORT',NULL,NULL,FALSE);
    I have also use the SRW.USER_EXIT('FND SRWINIT') in Before Report Trigger and SRW.USER_EXIT('FND SRWEXIT') in After Report Trigger also.
    I am getting the error in Log file saying that
    REP-0736: There exist uncompiled program unit(s).
    REP-1247: Report Contains uncompiled PL/SQL.
    Quick Response is highly appreciated.
    Thanks in Advance.
    Regards
    Madhan.S

    Hi Sawwan,
    I was compiled in Unix platform also. If i comment that FND_REQUEST.SUBMIT_REQUEST line it executes fine. It gives the same error in Unix also.
    Can anyone pls help this issue.
    Thanks in Advance.
    Regards
    Madhan.S

  • 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

  • Using Database Change Notification instead of After Insert Trigger

    Hello guys! I have an after insert trigger that calls a procedure, which in turn is doing an update or insert on another table. Due to mutating table errors I declared the trigger and procedure as autonomously transactional. The problem is, that old values of my main tables are inserted into the subtable since the after insert/update trigger is fired before the commit.
    My question is how can I solve that and how could I use the change notification package to call my procedure? I now that this notification is only started after a DML/DDL action has been commited on a table.
    If you could show me how to carry out the following code with a Database Change Notification I'd be delighted. Furthermore I need to know if it suffices to set up this notification only once or for each client seperately?
    Many thanks for your help and expertise!
    Regards,
    Sebastian
    declare
    cnumber number (6);
    begin
    select count(*) into cnumber from (
    select case when (select date_datum
        from
          (select f.date_datum,
            row_number() over (order by f.objectid desc) rn
          from borki.fangzahlen f
          where lng_falle      = :new.lng_falle
          and int_fallennummer = :new.int_fallennummer
          and lng_schaedling   = :new.lng_schaedling
          and date_datum       > '31.03.2010'
        where rn=1) < (select date_datum
        from
          (select f.date_datum,
            row_number() over (order by f.objectid desc) rn
          from borki.fangzahlen f
          where lng_falle      = :new.lng_falle
          and int_fallennummer = :new.int_fallennummer
          and lng_schaedling   = :new.lng_schaedling
          and date_datum       > '31.03.2010'
        where rn=2) then 1 end as action from borki.fangzahlen
            where lng_falle      = :new.lng_falle
            and int_fallennummer = :new.int_fallennummer
            and lng_schaedling   = :new.lng_schaedling
            and date_datum       > '31.03.2010') where action = 1;
    if cnumber != 0 then
    delete from borki.tbl_test where lng_falle = :new.lng_falle
    and int_fallennummer = :new.int_fallennummer
    and lng_schaedling   = :new.lng_schaedling
    and date_datum       > '31.03.2010';
    commit;     
    pr_fangzahlen_tw_sync_sk(:new.lng_falle, :new.int_fallennummer, :new.lng_schaedling);

    It looks like you have an error in line 37 of your code. Once you fix that the problem should be resolved.

  • Use of "DBA_OBJECTS" in "AFTER CREATE" Trigger

    Hi,
    We would like to store some extra information about our objects we have in the database. To do so we tought of the idea of creating a 'documenting' table containing an object_id that references to the object_id from the view dba_views.
    Now we want to automatically create a new record in our documenting table when a new object is created, in the first stage this should only contain the object_id
    To accomplish this we are using an 'AFTER CREATE' trigger, but when this trigger fires and the code searches for the new object_id in dba_objects, it does not return any records and generates an error. Likely because when the trigger is executed, the view is not yet updated?
    create or replace
    TRIGGER TRG_TEST
    AFTER CREATE ON SCOTT.SCHEMA
    DECLARE
    tmp VARCHAR2(50);
    BEGIN
    dbms_output.put_line(ora_dict_obj_name);
    select object_id
    into tmp
    from dba_objects
    where object_name = ora_dict_obj_name;
    dbms_output.put_line(tmp);
    END;
    Error report:
    ORA-04088: Fout bij uitvoering van trigger 'SCOTT.TRG_TEST'.
    ORA-01403: Geen gegevens gevonden.
    ORA-06512: in regel 6
    04088. 00000 - "error during execution of trigger '%s.%s'"
    *Cause:    A runtime error occurred during execution of a trigger.
    *Action:   Check the triggers which were involved in the operation.
    It's in dutch, so I'll have a go at translating:
    Error report:
    ORA-04088: Exception while executing trigger 'SCOTT.TRG_TEST'.
    ORA-01403: No data found
    ORA-06512: in rule 6
    04088. 00000 - "error during execution of trigger '%s.%s'"
    *Cause:    A runtime error occurred during execution of a trigger.
    *Action:   Check the triggers which were involved in the operation.
    Does anyone have an idea of how I can accomplish what I'm trying to do here.. Or maybe something I'm doing wrong?
    Thanks in advance!
    Davy

    What is "ora_dict_obj_name" defined as?
    Another option might be to setup a DBMS_SCHEDULER job to run the following insert
    firstly though, create the following table ;
    create document_table as (select * from dba_objects where rownum < 1)and then setup a DBMS_SCHEDULER job to run the following:
    begin
      insert into document_table
      (select dbo.*
       from   dba_objects    dbo
             ,document_Table dtb
       where  dbo.Object_ID = dtb.Object_ID(+)
       and    dtb.Object_ID is null);
       commit;
       exception
        when others then
          rollback;
          -- log a message somewhere with the error, i.e. SQLERRM
    end;
    /Note, I specified all columns, but you'll probably specify explicitly which column you require, in which case the CREATE table would change as well.
    Then you won't have a need for any trigger, and can better manage when you want your documentation to be updated.
    Another option might be to use COMMENT, which can be used on tables, views, materialized views, but won't cover all objects
    to the extent you might want.
    SQL> desc emp2
    Name                                                                                                  
    EMPNO                                                                                                 
    JOB                                                                                                   
    START_DATE                                                                                            
    SAL                                                                                                   
    DEPT                                                                                                  
    END_DATE                                                                                              
    SQL> comment on column emp2.sal is 'Existing Salary of employee as paid at most recent month end';

  • :NEW cannot be used in After Delete Trigger ?

    Hi,
    Is there any way to get the :NW.value in the After delete trigger for each row. My requirement is audit log of the end user DML operations along with user Name (HERE THE USER IS NOT THE ORACLE USER, BECAUSE OF THE LARGE NUMBER OF END USERS WE ARE MAINTAINING ONE TABLE TO CREATE USER NAME & PASSWORD, WHEN THE USER LOGIN TO ORACLE FORM SCREEN, ASSIGN THE USER NAME TO GLOBAL VARIABLE) & Action Date.
    Here is my code for trigger - It is working fine with INSER & UPDATE but for DELETE User is NULL
    CREATE OR REPLACE TRIGGER Tgr_stud_det
    AFTER INSERT OR UPDATE OR DELETE ON student_details
    FOR EACH ROW
    DECLARE
    BEGIN
    IF Inserting THEN
    -------------INSERT VALUE---------------
    INSERT INTO Log_student_details
    (Seq,
    App_User,
    Action,
    Action_Date,
    stud_name,
    stud_age,
    stud_sex)
    VALUES
    (stud_sequence.NEXTVAL,
    :NEW.App_User,
    'INSERT',
    SYSDATE,
    :NEW.stud_name,
    :NEW.stud_age,
    :NEW.stud_sex);
    -------------DELETE VALUE---------------
    ELSIF Deleting THEN
    INSERT INTO Log_student_details
    (Seq,
    App_User,
    Action,
    Action_Date,
    Comment_Up,
    stud_name,
    stud_age,
    stud_sex)
    VALUES
    (stud_sequence.NEXTVAL,
    :OLD.App_User,
    'DELETE',
    SYSDATE,
    NULL,
    :OLD.stud_name,
    :OLD.stud_age,
    :OLD.stud_sex);
    ELSIF Updating THEN
    -------------UPDATE VALUE---------------
    INSERT INTO Log_student_details
    (Seq,
    App_User,
    Action,
    Action_Date,
    Comment_Up,
    stud_name,
    stud_age,
    stud_sex)
    VALUES
    (stud_sequence.NEXTVAL,
    :NEW.App_User,
    'UPDATE',
    SYSDATE,
    'NEW VALUE',
    :NEW.stud_name,
    :NEW.stud_age,
    :NEW.stud_sex);
    INSERT INTO Log_student_details
    (Seq,
    App_User,
    Action,
    Action_Date,
    Comment_Up,
    stud_name,
    stud_age,
    stud_sex)
    VALUES
    (stud_sequence.CURRVAL,
    :NEW.App_User,
    'UPDATE',
    SYSDATE,
    'OLD VALUE',
    :OLD.stud_name,
    :OLD.stud_age,
    :OLD.stud_sex);
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    NULL;
    END Tgr_stud_det;
    Thanks in advance.

    Rizly,
    As i mentioned in the above post, you should remove the references of :old and :new when you are trying to use the global variables. These values are only significant when you the talk about the record in the table.
    For the scenario, you explained, your trigger would insert two records....The trigger would be fired twice.. once during the insert and once during the delete. The audit table will have two records indicating both the actions..
    Take a look at this example below...I am artificially manufacturing a user id in the package test_pkg and using that in the insert trigger. As i explained above, you dont need the :old and :new references because the user id is not a column in the table . hence the :old and :new references have no relevance.
    Also note that, for the delete, I use the :old value and for the insert, I use the :new value.
    for update, I assume you want to store the old record and hence used :old (you can of course use :new too..technically.).
    I don't have access to a forms environement, but the user id logic should be similar to what I described below.
    sql> create table t(
      2     id number,
      3     name varchar2(20)
      4  );
    Table created.
    sql> create table t_audit
      2     ( id number,
      3       name varchar2(20),
      4       action varchar2(20),
      5       user_id varchar2(20)
      6  );
    Table created.
    sql> create or replace package test_pkg as
      2      function get_user_id return varchar2;
      3  end test_pkg;
      4  /
    Package created.
    sql> create or replace package body test_pkg as
      2      function get_user_id return varchar2 is
      3      begin
      4          return 'USER' || to_char(sysdate,'HH24:MI');
      5      end get_user_id;
      6  end test_pkg;
      7  /
    Package body created.
      1  create or replace trigger trg_biud_t
      2     before insert or update or delete on t
      3     for each row
      4  begin
      5     if INSERTING then
      6        insert into t_audit values (:new.id, :new.name, 'INSERT',test_pkg.get_user_i
      7     elsif UPDATING then
      8        insert into t_audit values (:old.id, :old.name, 'UPDATE',test_pkg.get_user_i
      9     elsif DELETING then
    10        insert into t_audit values (:old.id, :old.name, 'DELETE',test_pkg.get_user_i
    11     end if;
    12* end;
    sql> /
    Trigger created.
    sql> select * from t;
    no rows selected
    sql> select * from t_audit;
    no rows selected
    sql> insert into t values (100, 'Rajesh');
    1 row created.
    sql> insert into t values (200,'Kumar');
    1 row created.
    sql> delete from t where id = 200;
    1 row deleted.
    sql> commit;
    Commit complete.
    sql> select * from t
      2  /
            ID NAME
           100 Rajesh
    sql> select * from t_audit;
            ID NAME                 ACTION               USER_ID
           100 Rajesh               INSERT               USER15:36
           200 Kumar                INSERT               USER15:36
           200 Kumar                DELETE               USER15:37

  • Can't able to use :NEW in after insert trigger

    When i am trying to assign value to an element of the NEW pseudo record, its giving error like :new pseudo record can't be used in this type of trigger.
    What exactly i've done is given below
    create or replace triger tri_name
    after insert
    on tab_name
    for each row
    begin
    if :new.x='123' then
    :new.y:=null;
    end if;
    end tri_name;
    Thanks & Regards
    --DKar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    from oracle documentation...
    Old and new values are available in both BEFORE and AFTER row triggers. A new column value can be assigned in a BEFORE row trigger, but not in an AFTER row trigger (because the triggering statement takes effect before an AFTER row trigger is fired). If a BEFORE row trigger changes the value of new.column, then an AFTER row trigger fired by the same statement sees the change assigned by the BEFORE row trigger.
    for more details read the documentation

  • Problems with After Report trigger Updating using User-defined functions

    Hi,
    I have a report which uses SQL to select data that uses a user-defined stored function in the WHERE clause.
    I use the same SQL in the After Report trigger with and UPDATE statement to flag all records selected as being run.
    Data is being selected by the report no problem, but the records are not being updated. In a test, If I remove the conditions using the user functions, the records update as expected. In Live conditions I must have these conditions in the script.
    I originally tried putting the UPDATE in a formual column, but that would not fire on records where that page was not paged through (or paged to end) in the Runtime Previewer.
    Can anyone advise?

    In case anyone is interested.
    The issue was that the stored functions have roles assigned for security.
    PL/SQL for After Report doesn't seem to recognise the roles having been assigned for the report, so the implicit cursor update/select I had wouldn't work.
    I changed the SELECT into an explicit CURSOR and introduced a FOR LOOP, keeping the UPDATE as an implicit statement.
    I know see this was more of a PL/SQL issues than a report one, but such is life. So if anyone feels the urge to move it to the PL/SQL forum, then feel free!!
    Have a problem free afternoon. :-)

  • Insufficient privileges using execute immediate in after logon trigger

    I have an after logon trigger that executes a package/procedure in the schema it was created in.
    One of the procedures runs the following:
    EXECUTE IMMEDIATE 'AUDIT INSERT TABLE, UPDATE TABLE, DELETE TABLE, EXECUTE PROCEDURE BY ' || USER;
    The procedure is throwing an insufficient privileges error when executing this.
    However - the schema owner has audit any and audit system privileges and - the statement works fine independently.
    When I login as another user this issue arises. The package/procedure are created with definers rights... So - i'm not sure why this is happenening.
    Any help is appreciated.

    privileges acquired via ROLE do NOT apply within named PL/SQL procedures.
    SQL> SET ROLE NONE
    SQL> --issue AUDIT again now                                                                                                                                                                                                                                                               

  • Start and Stop Trigger using PXI-6120 and DigitalSta​rtAndStopT​rigger.vi not working :-(

    Hello,
    I've been trying for a while now to get my PXI unit to capture a waveform between a Start and Stop (Reference) Trigger using the NI example DigitalStartAndStopTrigger.vi downloaded from the NI website. However, whilst the start trigger and stop trigger seem to be working i.e. the VI runs and stops at  the correct times there is never any data read from my DAQmx compatible PXI-6120 card. So I can see the VI is running around the aquisition loop but the Property Node AvailSampPerChan is always returning zero... this has me slightly puzzled. I thought this might just be a driver issue so I've updated my box to the following software versions (see below) and installed the latest drivers e.g. DCDNov07.exe (also from the NI site) but nothing has changed.
    my software as of now.
    Labview 7.1 (with the 7.1.1 upgrade applied)
    Max 4.3.0.49152
    DAQmx 8.6.0f12
    Trad DAQ 7.4.4f7
    before I updated I had the same problem but with the following versions:
    Labview 7.1 (with the 7.1.1 upgrade applied)
    Max 4.2.1.3001
    DAQmx 8.5.0f5
    Trad DAQ 6.9.3f4
    So to cut a long story short I still have the same problem with the triggers... does anybody have any ideas what is going wrong?
    To add insult to injury it the traditional DAQ example ai_start-stop_d-trig.vi was almost working correctly before I did the upgrade. It had the strange behaviour of capturing the AI0 channel but on the wrong edges (e.g. if I set Start on Rise and Stop on Fall it would do the opposite, Start on Fall and Stop on Rise).
    I'm going to leave my box doing a mass compile over night but i'd really like it if someone could suggest a solution or point me in the right direction.
    Many thanks,
    Mike

    Hi Graham
    I'm out of the lab today but I'll try and answer your questions as best I can...
    1) What are the values you have set for Buffer size, Rate, samples per read and post trigger Samples?
    At the moment I have all the values (e.g. sample rate, buffer size etc) unchanged apart from the ones I mentioned in my previous post (see above). I have in the past played around with changing the buffer sizes and rates in the example VI but as this appeared to have no effect on the behaviour I now have them setup as in the download.
    2) Does the program end after the stop trigger is implemented?
    Yep, if I toggle the trigger line high then low I see the program exits the read loop and the VI stops running as expected.
    3) Lastly can you give me the details of triggering method. Are you
    using a digital train of users set digital pulses? how long is the
    program running.I'm using the WriteDigChan.vi to manually toggle the first digital line of the PXI-6733 card which is wired directly to PFI0 of the PXI-6120 card. Generally, I just start the VI running  and then toggle the line high, wait a couple of seconds and then toggle it low.
    To me it all looks like it should be acquiring samples but as I said yesterday it just refuses to fill the buffer with any data (and hence no samples are read).
    Any ideas? and thanks for you help,
    Mike

  • Triggered pulse with variable delay using 6023E, getting started

    I am having a hard time getting started with my PCI-6023E.  My goal is to use it to create a programically controlled delay between the pulse I am inputting and the pulse I hope to output from the 6023E.  I have installed the 6023E into a computer and am trying to trigger using a function generator.  I am looking at the output using a scope.  I think that maybe I have to "turn on" the output of a certain pin.   I can't figure out which pins to connect where.  I think I am supposed to use Counter Group Config.vi to control the delay, but i'm not sure.  Any help or direction to helpful documents would be very much appreciated.
    Thanks,
    Emily

    Hi Emily,
    The PCI-6023E is supported by both the Traditional NI-DAQ driver and the NI-DAQmx driver.  Since you are getting started with development of a new application, I would highly recommend the NI-DAQmx driver (right now I believe you are using Traditional NI-DAQ because of the Counter Group Config.vi).  See the article here for information on the advantages of the NI-DAQmx driver.
    Let's first take a look at the hardware level and what the 6023E is capable of:
    The 6023E digital I/O lines are static, meaning that they either output a digital value or read a digital value at the instant the software function is called.  Ideally, you would receive a digital trigger and specify in software a delay past the trigger to output the digital value from another line.  However, the 6023E does not support triggers for digital tasks.
    Any timing or delay will have to be taken care of on a software level.  You could continually poll the digital line connected to your function generator to look for the trigger occurrence.  When that trigger is detected, a software delay could be implemented before making a digital write to another line.  If you choose to go the route of NI-DAQmx, there are a number of shipping examples included with the driver that could get you started.  They can be found by going to Help>>Find Examples in LabVIEW to bring up the NI Example Finder.  From there you would browse in the directory Hardware Input and Output>>DAQmx
    Regards,
    Andrew W
    National Instruments

  • Need to generate a TTL pulse of 3 ms using USB Daq 6361

    Hi all,
    I need to generate a TTL pulse of 3 ~ 5 ms to trigger my external device. I am using USB daq 6361 with BNC connectors. I tried to use this examples(attached) but was not succesfull , can any one help me out in this, I just want a TTL pulse out to trigger my device. I tried to modify the example to see the wave form out but all it shows is a straight line. I want to generate a TTL pulse as soon as my program starts.
    Am I using wrong example? should I use somethis else to generate the pulse. please let me know.
    Thanks,
    Attachments:
    Capture.PNG ‏76 KB
    Digital - Continuous Output_ttl.vi ‏65 KB

    AnkitG wrote:
    Jeff·Þ·Bohrer wrote:
    Why would you create an Task with an analog output?  its a Digital line you want to drive! and, just create it in the project.
    Hi Jeff,
    thanks but I couldnt understand , what you meant by create in project? Can you please explain. should I create digital line but I am still getting the same error.
    Creating DAQmx items in Project Explorer saves the DAQmx object properties as part of the *.lvproj file.  This can be very useful when the Task configuration does not change in the built application and you seldom want to use the task elsewhere.  If you want to make minor tweaks to configuration of the run-time app there is even a human readable text file in the build output where properties like scale offsets, timing rates or ranges can be modified without redeploying a new app.  
    Jeff

  • Revised: Do I need to use a PCI6602 or a simpler DIO card?

    Sorry, the signals only have to be delayed in 1 ms increments... not .0001s... too many zeroes.
    "I have to delay a signal for about 1 ms from a sensor to trigger a vision camera taking pics at a rate of ~15 parts/sec. We will have 10 cameras running off one PC (equipped w/ several PCI8252's)... so 10 signals have to be delayed... the delay has to be adjustable (in .0001s increments) from the front panel too. Do I need to get a timer card (like a PCI6602) or will software based timing using a DIO card (like a PCI6503) suffice?"

    To be able to adjust the delay of your acquisition from your start trigger in DAQmx you should use the DAQmx Trigger property node. There are two values you would need to set in order to achieve this functionality: Start.Delay and Start.DelayUnits (See attached delaySettings.GIF and delaySettingsWhere.GIF for the location of the different options). By using a control for at least the Start.Delay, you will be able to change the delay from the front panel.
    The Delay Units can be set to be Seconds, Ticks or Sample Clock Periods. The attached file shows how I used Seconds as my Delay units. You'll probably want to use Sample Clock Periods, and that will mean you'll need to do some arithmetic to get the millisecond accuracy. For example, if you have
    a Sample Clock Rate of 1MHz, a user would need to enter in 1000 to get a millisecond delay. This also means that my previous response wasn't quite correct. Even though you don't need the microsecond accuracy, you could achieve a microsecond delay using the Trigger property node with a fast enough board.
    Attachments:
    delaySettings.GIF ‏3 KB
    delaySettingsWhere.GIF ‏5 KB

  • Do I need to use a PCI6602 or a simpler DIO card?

    I have to delay a signal for about 1 ms from a sensor to trigger a vision camera taking pics at a rate of ~15 parts/sec. We will have 10 cameras running off one PC (equipped w/ several PCI8252's)... so 10 signals have to be delayed... the delay has to be adjustable (in .0001s increments) from the front panel too. Do I need to get a timer card (like a PCI6602) or will software based timing using a DIO card (like a PCI6503) suffice?

    Thanks for the reply... I think we're steering towards Real Time... in that case, will the non-timer DAQ cards be sufficient to handle all this timing (in the millisecond range)?
    Also, I realized that the input for the timer MAY go high again (depending on how many parts we wind up dispensing per second) while it is already running from the previous signal. I suppose that this would require more than one timer allocation per input, taking our count up to 20 timers. Still okay? Am I making the correct assumption here? Thanks for your advice, it's much appreciated.

  • Can you perform simultaneous timed digital input and output using a PCI-6120?

    Is it possible to do simultaneous timed digital input and output using a PCI-6120? It seems that timed digital operations require using the group read/write commands, which utilize an entire port. Since the PCI-6120 has only 1 digital I/O port, I would like to be able to use 2 lines as outputs and 1 line as input, and do both in a deterministic fashion. i.e. create a digital signal with known pulse widths and read an input line at a known time after the outputs were set. Is this possible to do with only one digital I/O port?

    Hello,
    This can be done in LabVIEW. There is actually an example that installs with NI-DAQ.
    Below is a link to a Knowledge Base that explains how to find the correlated digital I/O examples.
    http://digital.ni.com/public.nsf/websearch/B849664604EB34B886256D12005B5520?OpenDocument
    Just take a look at the example titled �Continuous CDIO with external clock (E).vi�
    Best regards,
    Justin Tipton
    National Instruments

Maybe you are looking for

  • How to Put together all SAP Transactions that are used a single User

    Dear Friends, In our client place, each user will be given a set of transaction codes, (like Sales Order Creation, Invoice Creation etc....). Each user role differs with other user role. Our client requirement is to put together all transaction codes

  • Can't install upgrade from Acrobat XI Standard to Acrobat XI Pro

    I have Acrobat XI Standard installed on a new Dell Windows 7 PC. I just purchased an upgrade to Acobat XI Pro. I paid $199 and successfully downloaded the installation file from www.adobe.com. When I try to install the package, the installation proce

  • Java script for OSX 10.6.8

    I can't download coupons from Purina because I don't have the updated java, yet Java claims that OSX 10.6.8 can't suport the update.  Is ther any recorse?

  • Damaged Windows 7 ultimate N disk

    I have a product key for Windows 7 Ultimate N, but my disk has been damaged.  Is there any way to download an ISO or get a new disk sent to me? Thanks!!

  • Building a site

    Folks, I am new to Oracle Portal and Im trying to develop a reporting application using it. What I need is some general help with my approach, so apologises to all you gurus, and know how everything is tied together using Portal. To date I have manag