LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Large number of digital inputs and analog outputs

For my internship I am currently doing research to develop an automated test suite.

My assignment is to test an ECU, by giving the system analog inputs (60), and reading digital outputs (60 channels).

I am affraid that by using Labview (because of the graphical programming) the VI's will become enormous.

 

Besides that, for every product there should be a different test.

For the different tests, the task of the inputs and outputs is different (voltage levels and stuff like that) so I wonder how difficult it is to set the channels right.

 

The tests are simple digital I/O, and low resolution analog, so no need for advanced FFT analysis and stuff like that.

 

Anyone who has experience with large numbers of I/O?

 

Thanks in advance for any comments.

 

0 Kudos
Message 1 of 3
(2,485 Views)

This isn't a LV issue, but a general style issue you'd also face with a different language. Consider a text-pseudo-code tha would look like an endless list of:

AO_Port0=var0

AO_Port1=var1

...

You need to use a good mix of arrays and clusters for your data type and a corresponding layer of SubVIs. Then all would be some for-loops like the following text-pseudo-code:

AO_Port[i]=var[i]

 

Felix

0 Kudos
Message 2 of 3
(2,478 Views)

Dear Jeroen,

 

In cases like these it is good practice to review which design pattern you goanna use. Please consider design patterns like the state machine and the producer consumer architecture. Your application can be a combination of those two; state machine for control and analysis (FFT) and for example file IO in your consumer loop.  The producer consumer loop will give you at leas two threads; in case of a multicore PC threads are divided on multiple cores.

I can also imagine that you are loading the test settings by using a file; store the test settings and or sequence (states) in a file and load different files to influence the settings and or sequence for the different tests.

Clustering your data, deviding your code in sub VI (in advance) will help to keep a good overview in your block diagram. Please notice that you can also write a port with digital IO; you write a integer number to the digital port.

 

Good luck with your application!

 

Best regards,

Martijn S
Applications Engineer
NI Netherlands
0 Kudos
Message 3 of 3
(2,443 Views)