11-22-2017 02:10 PM
HI,
I have been coding LabVIEW a long time but reasonably new to using the DAQmx VIs.
I am taking a large number of thermocouple measurements using a PXI rack and a number of PXIe 4353 cards. There is in the order of 300 - 400 thermocouples.
I have loaded up an example VI from NI and installed the simulator for my 4353 cards and very happy everything is basically working. I can create a single task to scan over multiple channel and multiple cards I by using something like in the picture below to get the channels and cards into the task. I them take around 30 samples shots at a 1Hz rate.
However due to how the thermocouples are wired up I actually to reorder the results array to match up with displays and processing at a later stage. This new order may for example go slot1/ai13, slot5/ai10, slot1/ai1
There are two ways I can do and this both work, but I wondered if anyone could pass comment on the two methods, especially the first as I am not sure of the impact on the DAQmx task, but it seems the better idea.
Method 1 :
Create a very large and complex string in the Physical Channels input it sort of look like this
"PXI1Slot4/ai3, PXI1Slot4/ai4, PXI1Slot4/ai1, PXI1Slot4/ai6, PXI1Slot4/ai7, PXI1Slot4/ai8, PXI1Slot5/ai9, PXI1Slot4/ai22, PXI1Slot4/ai23, PXI1Slot6/ai24, PXI1Slot4/ai25, PXI1Slot4/ai26, PXI1Slot4/ai27, PXI1Slot4/ai28, PXI1Slot4/ai29, PXI1Slot4/ai30, PXI1Slot4/ai31, PXI1Slot5/ai0, PXI1Slot5/ai1, PXI1Slot5/ai4, PXI1Slot5/ai3, PXI1Slot5/ai5, .... but a lot bigger. T
Creating this string is quite easy to do as I have channel and slot lists in a database. This seems a good idea I set up the task once and get the correct information out with no extra work.
Method 2
I simply reorder my results array using a reorder array I built from my database information. However in this case I will need to do this for ever loop of measurements I make.
thanks in advance
Danny
Solved! Go to Solution.
11-22-2017 02:38 PM
I am a firm believer in doing calculations as few times as possible and reduce what has to happen during test execution. So I would go with Option 1 since this just requires one run of processing at the very beginning instead of every iteration as the test is running.