Determine the number of channels selected for traditional DAQ

The blocks 'DAQmx task' and "Traditional DAQ Channel" look pretty similar (see attachments). The DAQmx block ist an individual selection of channels and I am able to determine the number of selected channels.

Now I am trying to determine the number of selected channels to a traditional DAQ, but the property DAQmx block does not work here. I already tried the trad to some form of blocks. Range of data acquisition, but failed.

Any idea?

In traditional DAQ, there are several ways of specifying the list of channels. Assuming that your picture shows how you use your channel list is just a string of delimited by commas. Wire a constant to a string array node worksheet and specify "comma" as the separator and the number of columns must tell you the number of channels.

Ben

Tags: NI Software

Similar Questions

  • HAVE sampling frequency is divided by the number of channels + 1 for simulated ENET-9213, WLS-9213 and USB-9213

    Hello

    In the code in the example attached, I create a task with a single channel of AI.

    I get the maximum sampling frequency using DAQmxGetDevAIMaxSingleChanRate (or DAQmxGetDevAIMaxMultiChanRate), both return the same value of 1351 s/s.

    When I try to configure the sample calendar using DAQmxCfgSampClkTiming at the maximum sampling frequency clock he does not accept the rate and returns the following error. Note that the error message shows 2 channels, even if only a channel has been added.

    OUTPUT:
    DAQmx error:
    Sampling frequency is greater than the maximum sampling frequency for the number of specified channels.
    Reduce the sampling frequency or the number of channels. The increase in the conversion rate or
    reduce the time of the sample can also mitigate the problem, if you define one of them.
    Number of channels: 2
    Sampling rate: 1.351351e3
    Maximum sampling frequency: 675.675676

    Why the device driver thinks I have 2 channels in the task, when a channel has been added?

    Please find the code to reproduce this problem attached.

    Kind regards

    whemdan

    The MathWorks

    Hello w,

    By default, the ENET/WLS/USB-9213 in NOR-DAQmx module has the AI. AutoZeroMode the value of the DAQmx_Val_EverySample property. This causes NOR-DAQmx acquire the channel of the internal path of the unit (_aignd_vs_aignd) on each sample to return more specific measures, even if the operating temperature of the device moves over time. If you need the sampling frequencies higher than this allows, you can call DAQmxSetAIAutoZeroMode(..., DAQmx_Val_Once) (who acquires the formatting string when you start the task) or DAQmxSetAIAutoZeroMode(..., DAQmx_Val_None) (which disables the setting entirely).

    Note that for measures by thermocouple with cold junction compensation sensor of the 9213 NOR, NOR-DAQmx acquires channel built-in CJC (_cjtemp) on each sample as well, for the same reason.

    Brad

  • How to determine the number of remaining licenses for a package of three users Windows 7 upgrade?

    There must be an easy way.

    Compare key - license in use

    Click Start, type: cmd

    Right-click on CMD

    Click on run as administrator

    At the command prompt, type the following command:

    slmgr - dli

    Press enter on your keyboard

    This will reveal the key to partial product that give a clue. Compare it with the keys that you have and it will confirm which copy is in use.

  • Determine the number of traditional DAQ hardware using Labview.

    Hello

    Anyone can answer the question:

    Regarding materials traditional DAQ, for example the DMM OR-4060, how

    can I programmatically determine the number of device which can be seen in MAX?

    With the help of Labview 8.5, I looked into the following function libraries:

    NOR-DMM

    VISA

    NOR-ModInst

    None of the libraries above seem to provide access the number of traditional DAQ hardware

    property, which is automatically assigned.

    Background:

    I have a 18 PXI chassis containing 2 DMM, in housing 3 and 14.

    The DMM may be a mixture of type OR-4060 or NOR-4070.

    The system is controlled by a Teststand sequence employing IVI - DMM

    steps.

    When you set the IVI logical name step, I am referring to IVI device defined Sessions

    Max - rutime determined.

    Labview VISA functions using I can determine the model, i.e. 4060 or 4070.

    Because the DMM just locate into the slots 3 or 14, then the devices NOR-4070

    are accessible using the following descriptors of resources: PXI1Slot3 or

    PXISlot14.

    (The 4070 is compatible DAQmX.)

    So for devices OR-4070, I can predefine 2 Sessions of IVI device, knowing

    It will be sufficient for all occasions, when I run my Teststand sequence, which will be

    determine what device session to use at run time.

    But I'm stuck for the NOR-4060.

    At the Session of the device, I have to give a descriptor of resource the following

    format: DAQ::x (where x is the device number)

    I could create device 18 sessions each reference to a different DAQ::x, but to select

    the good pair during execution, I would need to programmatically determine the device

    number, i.e. the value of x.

    Where my question.

    The closest I came to a solution was an entry of the Knowledge Base that said that the

    Assigned device number would be the same as the slot number, providing the

    Number of the device had not previously configured manually.

    Unfortunately, our device numbers have been changed manually and maybe in the future.

    All popular solutions.

    Gary.

    Hi Gary,.

    Good afternoon and I hope that your well today.

    Thanks for your post and I want to help you solve your problems.

    I don't think there is just a function that you can use to identify and collect information on all cards with your. For traditional DAQ devices in particular I suggest using the Information.vi of DAQ devices get.

    If you look at this link,

    SAL posted an example VI entitled, find dev trad.vi.

    You can get information such as serial number, Dev name and the Base address.

    The assistance of the respective drivers to collect information you could generate an array of strings with the information that you need all the slots.

    Please let me know if this is useful at all,

  • writing cannot be porformed, because data channels number does not match the number of channels in the task

    Hello

    I'm writing analogues of the buffer to several channels using NOR-6723.

    For some reason any, whenever I go to the buffer double function (1-d) that contains buffers for all channels.

    I always find myself with exception indicating that the numbers of channels in the data are '1 '.

    I use c#:

    Task m_TaskHandle = new Task();
    
    string sChannelsList = "Dev2/ao21:23";
    
    m_TaskHandle.AOChannels.CreateVoltageChannel(
    
    sChannelsList,
    
    "", 0, 5, AOVoltageUnits.Volts );
    
    int iNumberOfSamples = 4;
    
    double dSamplingFrequency = 1000;
    
    m_TaskHandle.Timing.ConfigureSampleClock("",
    
    dSamplingFrequency,
    
    SampleClockActiveEdge.Rising,
    
    SampleQuantityMode.ContinuousSamples,
    
    iNumberOfSamples /* Only relevant if mode is FiniteSamples */);
    
    // Data code is heredouble[] adSampleBuffer;// array values removed from this code snippet (here i have function that generates data)// array size is: num_of_samples * total_channels (in this case 4 * 3)
    
    AnalogSingleChannelWriter ChanWriter = new AnalogSingleChannelWriter(m_TaskHandle.Stream);
    
    ChanWriter.WriteMultiSample(false, adSampleBuffer);
    
    m_TaskHandle.Start();
    

    Not sure I'm I missing, how the MSTDIO determines the "number of data channels", I receive as an exception, it is always equal to 1.

    would appricate to help.

    Thank you.

    Hi idanbis,

    As the snippet you posted, you can create more than one channel using the ao21:23 range. That said, you should use AnalogMultiChannelWriter to configure your write instead of AnalogSingleChannelWriter operation.

    To write using AnalogMultiChannelWriter::WriteMultiSample (boolean, double, you must know the data you want to write must be stored in a 2D array.) Each element in the first dimension of the array corresponds to a channel in the task, while each item in the second dimension, to a sample of write on its channel. For example, that:

    Double [,] data = new double [numChannels, numSamplesPerChannel];

    Then:

    data [0, 0... numSamplesPerChannel]; It is the set of all samples in the first string (ao21 in your code).

    I hope that was helpful. Let me know if I left any doubt remaining.

    Best regards

    Anzurio

  • determine the number of monitors

    How can I determine the number of screens in Labview. In Labwindows you ATTR_NUM_MONITORS but I can't find the equivalent command in Labview.

    Remove a property node. It will already have the default Application class. Select the view > property all monitors, which is a table with details of all the monitors. You can watch its size for the number.

  • How to determine the number XP or XP 64-bit operating systems.

    Hello
    I need to download a driver but need to know if I have Windows XP, XP 64. I run Internet 7 SP3 if that makes a difference. Properties-General-he reads the slot system Microsoft Windows XP Home Edition Version 2002 Service Pack 3. I think this answers the question that it is not XP 64 but want to make sure and would appreciate any help.

    XP Home does not come as an x 64 version.

    How to determine whether a computer is running a 32-bit version or the 64 bit version of the Windows operating system. http://support.Microsoft.com/kb/827218

    Windows XP if you have Windows XP, there are two ways to determine if you are running 32-bit or a 64-bit version. If one does not work, try the other.

    1. Click Startand then click run.
    2. Type sysdm.cpl, and then click OK.
    3. Click the general tab. The operating system is displayed as follows:
      • For a 64-bit version operating system: Windows XP Professional x 64 edition Version < year=""> appears under System.
      • For a 32-bit version operating system: Windows XP Professional Version appears under System.

      Note is a placeholder for a year.

    1. Click Startand then click run.
    2. Type winmsd.exe, and then click OK.
    3. When System summary is selected in the navigation pane, search for processor under item in the details pane. Note the value.
      • If the value that corresponds to processor starts with x 86, the computer is running a 32-bit version of Windows.
      • If the value that corresponds to processor starts with ia64 or AMD64, the computer is running a 64-bit version of Windows.

    If you cannot determine the number of bits of the operating system with these methods, go to the "Next steps" section (of the KB article)

  • Run a query that will determine the number of parts to produce

    I have the task I have to determine the number of parts that need to be produced based on the number of products sold for the day (each product consists of several parts).

    I use SQL 11g Express.

    I watched this during so long and tried so many different ways. Here's some of what I tried, with the error messages. I don't know where I am going wrong get this calculation. Here, any help is greatly appreciated!

    Here's my info:
    /**PRODUCT**/
    
    CREATE table Product
    (
        SKU       VARCHAR2(10) NOT NULL,
        ProdDesc   VARCHAR2(50) NOT NULL,
        Price      NUMBER(5,2),
        PRIMARY KEY(SKU)
    );
    
    /**PART**/
    CREATE table Part
    (
        PartID     NUMBER(6) NOT NULL,
        PartDesc   VARCHAR2(50) NOT NULL,
        PRIMARY KEY(PartID)
    );
    
    /**PRODUCTPART**/
    CREATE table ProductPart
    (
        SKU        VARCHAR2(10) NOT NULL CONSTRAINT fk_ProductPart_Product REFERENCES Product (SKU),
        PartID     NUMBER(6) NOT NULL CONSTRAINT fk_ProductPart_Part REFERENCES Part (PartID),
        NumOfParts NUMBER(3),
        CONSTRAINT pk_ProductPart PRIMARY KEY (SKU, PartID)
    );
    
    CREATE table Customer
    (
        CustID     NUMBER(6) NOT NULL,
        CustFname  VARCHAR2(20) NOT NULL,
        CustLname  VARCHAR2(20) NOT NULL,
        Company    VARCHAR2(40),
        Address    VARCHAR2(40) NOT NULL,
        City       VARCHAR2(30)NOT NULL,
        State      VARCHAR2(2)NOT NULL,
        Zip        NUMBER(5)NOT NULL,
        Phone      NUMBER(10)NOT NULL,
        PRIMARY KEY (CustID)
    );
    
    CREATE table CustOrder
    (
        OrderID    NUMBER(6) NOT NULL,
        Qty        NUMBER(3) NOT NULL,
        OrderDate  Date NOT NULL,
        SKU        VARCHAR(10) NOT NULL CONSTRAINT fk_CustOrder_Product REFERENCES Product (SKU),
        CustID     Number(6) NOT NULL CONSTRAINT fk_CustOrder_Customer REFERENCES Customer (CustID),
        PRIMARY KEY (OrderID)
    );
    
    
    Here are some of the queries:
    
    SELECT ProductPart.Qty
        (
    SELECT CustOrder.SKU,
    sum(CustOrder.qty)
    FROM CustOrder
        GROUP BY CustOrder.SKU;)
    FROM ProductPart
    WHERE ProductPart.Qty * sum(CustOrder.Qty)
    
    
    ORA-00936: missing expression
    
    SELECT o.OrderDate AS "Date Ordered",
           o.OrderDate + 5 AS "Date Due",
           pp.PartID AS "Part No.",
        pp.NumOfParts * COUNT(o.SKU) AS "Qty"
    FROM CustOrder o
    JOIN ProductPart pp
      ON o.SKU = pp.SKU
        GROUP BY pp.PartID, o.OrderDate, COUNT(o.SKU)
    ORDER BY o.OrderDate
    
    
    ORA-00934: group function is not allowed here
    
    SELECT ProductPart.Qty,
           ProductPart.PartID,
           ProductPart.PartDesc
    (SELECT COUNT(CustOrder.SKU)
     FROM CustOrder
     GROUP BY CustomerOrder.SKU)TotalProducts,
    ProductPart.Qty * TotalProducts AS "Qty"
    FROM ProductParty
    WHERE CustOrder.SKU = Product.SKU
    AND Product.SKU = ProductPart.SKU
    
    
    ORA-00936: missing expression
    
    SELECT ProductPart.Qty,
           ProductPart.PartID,
           ProductPart.PartDesc
    (SELECT sum(CustOrder.qty)
    FROM CustOrder
    GROUP BY CustOrder.SKU)TotalProducts
        ProductPart.Qty * TotalProducts
        FROM ProductPart
    
    
    ORA-00936: missing expression

  • determine the number of Monday, Tuesday, Wednesday and Thursday

    Hello all;

    I want to determine the number of Monday, Tuesday, Wednesday and Thursday from January 1, 2011 to March 14, 2011. How can I go to write.

    Any help is appreciated.

    Thank you.

    Hello

    Here's one way:

    WITH     parameters     AS
    (
         SELECT     DATE '2011-01-01'     AS start_date
         ,     DATE '2011-03-14'     AS end_date
         FROM     dual
    )
    ,     all_days     AS
    (
         SELECT     TO_CHAR ( start_date + LEVEL - 1
                   , 'fmDay'
                   , 'NLS_DATE_LANGUAGE=ENGLISH'     -- If necessary
                   )     AS weekday_name
         FROM     parameters
         CONNECT BY     LEVEL     <= end_date + 1 - start_date
    )
    SELECT       weekday_name
    ,       COUNT (*)     AS cnt
    FROM       all_days
    WHERE       weekday_name     IN ( 'Monday'
                        , 'Tuesday'
                      , 'Wednesday'
                      , 'Thursday'
                      )
    GROUP BY  weekday_name
    ;
    

    Published by: Frank Kulash, March 14, 2011 14:06

    I just saw your second message. Thanks for posting this; It may be useful to see your code, even if this does not work.
    It sounds like you have the CONNECT BY part properly, but you do a lot of difficult operations on dates. Oracle provides several very useful date manipulation functions, as well as the DATE arithmentic. Beware of excessive conversion of DATE in VARCHAR2, or vice versa. For example

    to_char(to_date(...
    

    It almost never be in Oracle.

  • determine the number of pages of a pdf prior to any operation on it

    Any of you know how to determine the number of pages in the pdf file (selected with the Open for example)?

    Somehow, I can't understand how to do that any way short of actually opening/pixelation all pages without prior knowledge of the actual number.

    I would like to use this information to determine the number of items to a contact-sheet-like procedure beforehand.

    MultiPageImporter2.0.jsx, which is an Indesign Script by Scott Zanelli, obviously the fact, but so far I have failed to properly use its functions.

    Anyway, have a good weekend

    pfaffenbichler

    OK, now it works...

    Install x script changing the CSx version

    Then run this script by changing the location of pdf and the version of CS... (NB: does not work with CS2.) CS, CS3, and CS4 should be ok)

    /////////////////////////////////////////////////////////////

    var pdffile = file ("~/Desktop/56 pages.pdf") .fsName;

    ////////////////////////////////////////////////////////////

    var file = new File ("/ Applications/Adobe Photoshop CS3/Presets/Scripts/macexec.app/contents/macexec");

    var pdfcnt = File ("~/pdfcnt");

    If (pdfcnt. Exists) pdfcnt.remove ();

    {if (file. Exists)}

    leader. Open ("e");

    leader. Encoding = "BINARY";

    leader. Write ("/ usr/bin/LDM - name kMDItemNumberOfPages");

    leader. Write ("\""+pdffile+"\"|/usr/bin/grep o [0-9]------+ $ > pdfcnt \n");

    The following line closes all Windows Terminal.

    file.writeln ("/ usr/bin/osascript - e ' tell \"Terminal\ request "to quit" ");

    leader. Close();

    }

    leader. Execute();

    var test = false;

    {while (test)}

    if test (pdfcnt.exist) = true;

    $.sleep (50);

    }

    for (var t = 0; t)<>

    If (pdfcnt. Length > 0) break;

    $.sleep (50);

    }

    pdfcnt. Open ("r");

    var number = parseInt (pdfcnt.readln ());

    pdfcnt. Close();

    Alert ("number of pages in" pdffile + "=" + count);

  • determine the number of Monday, Tuesday, Wednesday and Thursday in a month

    Hello all;

    I'm still trying to think and understand it. Y at - it a syntax that you can use to determine the number of Mondays, Tuesdays, Wednesdays and Thursdays for a month for a given year, taking into account leap years.

    Thank you.

    Hello, welcome to the forums.

    Something like this should do it:

    with day_tab as (
    select mon_dt + level - 1 dt,
           to_char(mon_dt + level - 1, 'DY', 'NLS_DATE_LANGUAGE=''ENGLISH''') dy
      from (select trunc(to_date(m || '/' || a, 'MM/YYYY'), 'MM') mon_dt
              from (select &v_month m, &v_year a from dual))
    connect by mon_dt + level - 1 <= last_day(mon_dt))
    select count(*) cnt_tot
      from day_tab
     where dy in ('MON', 'TUE', 'WED', 'THU');
    

    Run the example:

    SQL> var v_month number
    SQL> var v_year number
    SQL> exec :v_month := 2;
    
    PL/SQL procedure successfully completed
    v_month
    ---------
    2
    
    SQL> exec :v_year := 2000;
    
    PL/SQL procedure successfully completed
    v_year
    ---------
    2000
    
    SQL> with day_tab as (
      2  select mon_dt + level - 1 dt,
      3         to_char(mon_dt + level - 1, 'DY', 'NLS_DATE_LANGUAGE=''ENGLISH''') dy
      4    from (select trunc(to_date(m || '/' || a, 'MM/YYYY'), 'MM') mon_dt
      5            from (select :v_month m, :v_year a from dual))
      6  connect by mon_dt + level - 1 <= last_day(mon_dt))
      7  select count(*) cnt_tot
      8    from day_tab
      9   where dy in ('MON', 'TUE', 'WED', 'THU');
    
       CNT_TOT
    ----------
            17
    
    v_month
    ---------
    2
    v_year
    ---------
    2000
    
    SQL> 
    

    If by chance you want to see a number of days of the week just to use a group of:

    SQL> with day_tab as (
      2  select mon_dt + level - 1 dt,
      3         to_char(mon_dt + level - 1, 'DY', 'NLS_DATE_LANGUAGE=''ENGLISH''') dy
      4    from (select trunc(to_date(m || '/' || a, 'MM/YYYY'), 'MM') mon_dt
      5            from (select :v_month m, :v_year a from dual))
      6  connect by mon_dt + level - 1 <= last_day(mon_dt))
      7  select dy,
      8         count(*) cnt_tot
      9    from day_tab
     10   where dy in ('MON', 'TUE', 'WED', 'THU')
     11   group by dy;
    
    DY     CNT_TOT
    --- ----------
    WED          4
    TUE          5
    THU          4
    MON          4
    
    v_month
    ---------
    2
    v_year
    ---------
    2000
    

    If you want to list these days, with a number by day of the week:

    SQL> with day_tab as (
      2  select mon_dt + level - 1 dt,
      3         to_char(mon_dt + level - 1, 'DY', 'NLS_DATE_LANGUAGE=''ENGLISH''') dy
      4    from (select trunc(to_date(m || '/' || a, 'MM/YYYY'), 'MM') mon_dt
      5            from (select :v_month m, :v_year a from dual))
      6  connect by mon_dt + level - 1 <= last_day(mon_dt))
      7  select dt,
      8         dy,
      9         count(*) over (partition by dy) cnt
     10    from day_tab
     11   where dy in ('MON', 'TUE', 'WED', 'THU');
    
    DT          DY         CNT
    ----------- --- ----------
    21/2/2000   MON          4
    7/2/2000    MON          4
    28/2/2000   MON          4
    14/2/2000   MON          4
    17/2/2000   THU          4
    3/2/2000    THU          4
    24/2/2000   THU          4
    10/2/2000   THU          4
    29/2/2000   TUE          5
    8/2/2000    TUE          5
    1/2/2000    TUE          5
    15/2/2000   TUE          5
    22/2/2000   TUE          5
    23/2/2000   WED          4
    9/2/2000    WED          4
    2/2/2000    WED          4
    16/2/2000   WED          4
    
    17 rows selected
    v_month
    ---------
    2
    v_year
    ---------
    2000
    

    Published by: fsitja on July 5, 2010 13:49

  • Determine the number of rows returned by a cursor

    I have a problem when I need to use slightly different logic based on whether or not a cursor returns a single line or multiple lines. I know you can use % ROWCOUNT to determine the number of rows returned far+, but it's not really help me because I need to know this information before I start to do any treatment.


    In other words. How can I know the number of rows returned by a cursor without actually iterate through the entire thing.

    I'm looking for something like this:
       Cursor ReqCursor(pi_cert_id IN Varchar2) Is
          SELECT course_id cid, grade g
            FROM requirements
           WHERE cert_id = pi_cert_id;
       c_ReqCursor ReqCursor%Rowtype;
    
    Open CertCursor(p_cert_num);
        Loop
            Fetch CertCursor
              INTO c_CertCursor;
            Exit When CertCursor%Notfound;
            
            If c_CertCursor%NumOfRows > 1 THEN
                Case A;
            Else
                Case B;
            End If 
       End Loop
    Close CertCursor;

    For your business add

     SELECT course_id cid, grade g, count(*) over() Tot_Rows
            FROM requirements
           WHERE cert_id = pi_cert_id;
    --"Fetch 1st row and you will know if the cursor has more than 1 row"
    

    HTH
    SS

  • How can I determine the number of contacts that I have

    How can I determine the number of contacts that I currently have on my iphone

    I don't know of a way on the iPhone, but if you have a Mac, you can go to the Contacts (platform) app and scroll to the bottom where you will find the total.

    Same for iCloud.com on your browser, go to the app, scroll down.

  • How to use NIDAQmx to determine the number of lines correlated DIO?

    How can I used NIDAQmx to determine the number of correlated DIO lines that supports a device?  For example, the NI6225 supports 8 correlated digital of/s lines while the NI6229 supports 16 correlated digital of/s lines.  How can I used NIDAQmx to determine the NI6225 supports only 8 lines while the NI6229 supports 16 lines?

    I moved this question from a previous thread.

    Thank you

    Ian

    Here is a code snippet that implements the regular expression detection:

  • How to detect the number of channels on an oscilloscope?

    I have various models sitting around the laboratory, some two-channel, a few four-channel oscilloscope.  I would like for my program to be able to detect the number of channels is available.

    I can just tell my program how much string is available based on the model number, but is there a VISA command to request scope directly what channels he has?  I would also be able to ask what, if any, ability to function math there.

    "all drivers of the oscilloscope must return the instrumentID after initialization, and that should be enough to know the number of channels.

    What Albert was referring to is that all compatible drivers IVI in their base class interface have an attribute/property that indicates how many channels has the scope.

    If you don't want to use the driver of the IVI for the scope then maybe download some of the drivers and check the source code to see how they calculate this dynamic repeated capablity.

Maybe you are looking for

  • Envy 17 t: Bluray optical drive

    Recently ordered a new laptop and I tried to order one with a Bluray. Optics available only on new laptops to build is a DVD/CD-RW. Why HP eliminates the Bluray drive option?

  • The context menu commands do not work on bookmarks

    Context menu commands operate on visible in the Favorites Bookmarks toolbar, but they do not work on bookmarks in the menu dropdown. Update: I closed Firefox and rebooted and the problem disappeared.

  • Satellite Pro A60 cuts off after 3 minutes

    Hello work in IT Support generates many puzzles, but I currently have a Satellite Pro A60 which cuts off after 3 minutes.I have deleted the main CPU fan and have noticed that the VGA Chip Set fan fails. It is not at all which makes me think that it i

  • How can I delete a file named [Torrentreactor.to]

    000000

  • Privilege standard user Admin controls

    I'm the administrator of this computer. Its a HP all-in-one desktop running Windows 7. I'm pretty good with computers. I use them because they ran on the BACK. There are several other people who use this computer who are not good with computers, but