LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Need to research, not sure what terms I should be using

Hello fellow users...

 

I'm trying to program a power supply test that is controlled with a temp/humidity chamber, a PDU (power dist. unit) and load, but also gets information from the power supplies themselves through the PMBus. The program will support test profiles and data gathering profiles. The program, if successful, may go out to our vendors and using different equipment. Because of this I am trying to incorporate a hardware abstraction layer.

 

Because of the different equipment, some controls or some data channels will likely be different between hardware setups. I need some way to advertise to the users which controls and channels are available, and to let them choose which ones to use at runtime. Additionally, I need to check saved control and data gathering programs against the current hardware set to make sure they can be run. This can be done when a user attempts to load one. I don't care about the program if it is just sitting on disk.

 

Does anyone know of a good way to do this, or what terms I should be using to search for this kind of solution?

 

Thank you,

Simon

 

 

0 Kudos
Message 1 of 6
(2,642 Views)

site:ni.com hardware abstraction layer

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

0 Kudos
Message 2 of 6
(2,616 Views)

Check out the Abstraction Distraction community as well.  There isn't much there, but there are a few of us who are really trying to figure this all out.  Norm has an excellent presentation on the subject matter in there.  But ask questions and you will get something.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 3 of 6
(2,593 Views)

Thanks for the replies.

 

jcarmondy,

 

I've looked at a lot of the available hardware abstraction layer stuff, and I haven't seen discussed what I am trying to do. I need a way to pass a list (or something) of available data collection channels and control channels from the child classes to the parent classes and have the user be able to select them for use (if data collection) or control the channel (if a control). I've seen how it can be done for static functions, but there doesn't appear to be a documented way for dynamic hardware setups.

 

crossrulz,

 

Thanks for the group. I'll give it a shot.

 

Regards,

Simon

0 Kudos
Message 4 of 6
(2,578 Views)
First off, this is an ideal use case for classes -- but be careful about trying to over generalize. You have to put some sort of limits on what hardware you will support in the application. For example, you could use an o'scope to emulate a voltmeter, but it probably wouldn't be worth the effort.

The way I would approach it would be to first develop the basic test process. This would give you a list of the instrument functions that will be needed. Then decide what instruments you will support for each function.

This will give you the basic information you need to implement the instrument classes and the methods that you need to create.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 5 of 6
(2,536 Views)
You might want to consider IVI. If you have different instruments but in the same class, you don't have to create everything from scratch.
0 Kudos
Message 6 of 6
(2,525 Views)