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
-
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.675676Why 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
-
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,
-
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.
- Click Startand then click run.
- Type sysdm.cpl, and then click OK.
- 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.
- Click Startand then click run.
- Type winmsd.exe, and then click OK.
- 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 exampleto_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