PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating a stand-alone application for measuring CPU temperatures

I have found a useful example on the Developer Network regarding CPU temperature measurement.
 
While this example works well, it doesn't really give me any insight as to how it works. There is no source code or block diagram.  
 
At first, I was not too worried about how it worked, but when I integrated this example to my VI and try to built a stand-alone application, it failed. The reason was that the vi was available only in edit mode and it must have its diagram in order to be included in an application.
 
Does that mean, I have to become an expert in using SMBus and rewrite this VI?
 
If you have a better / easier suggestion or source code / block diagram you are willing to donate please let me know.
 
PS: There is a neat stand-alone application called HMonitor, that monitors CPU temperature already. Is it at all possible to integrate such applications into my own custom built one.
 
Cheers,
Oz
 
 
 
 
0 Kudos
Message 1 of 14
(4,902 Views)
Hey Oz,
    Perhaps you could help us by posting a link to the Developer's Zone site with the temperature reader.  Here is another discussion forum post discussing this topic.  Basically, you'll need a third party program that lends itself to being controlled by software (using ActiveX, DLL, etc.).  Then you can use LabVIEW to access that program and read the CPU temperature.  Quick Google search on "dll read cpu temperature" brought up some interesting links.  LabVIEW, just like any programming language, needs a way to interface with the motherboard's info, so all the links of people using Visual C++ and VB are relevant to this issue.
Brian B
Account Manager
National Instruments
0 Kudos
Message 2 of 14
(4,878 Views)

Thanks Brian,

Your link didn't work (some error regarding having to sign in even though I was logged in), but I think I know which forum you are referring to.

The link to the Dev Zone temperature reader is: http://zone.ni.com/devzone/cda/epd/p/id/4543 (Quite useful in prooving it can be done).

I will look into using 3rd party dlls.

Cheers,

Oz

0 Kudos
Message 3 of 14
(4,863 Views)
Hey Oz,
    I wasn't paying close enough attention to your first post.  I thought you were asking how to read the temperature of a PC's CPU, I didn't realize you were wanting to read the temperature of the PXI controller.  Here is a KnowledgeBase article about it, and this link is a discussion forum post discussing the Developer's Zone example you found.  That example uses a driver called NI-SMbus to monitor the CPU.  I hope these help more.
Brian B
Account Manager
National Instruments
0 Kudos
Message 4 of 14
(4,854 Views)

Hi Brian,

I should have been more clear. Thanks for the links. The examples are good in prooving it can be done, but it has not been a problem solver for me. The VIs can't be included in a stand-alone application and examples don't provide any dlls for use in my application.

I have investigated a few 3rd party solutions. Motherboard monitor provides a dll, however it is no longer supported and does not support NI-PXI controllers. HMONITOR is also ok, but does not provide any means of retrieving the CPU info using my own app. So far, the best solution is the Everest by Lavalys. This application outputs CPU information through shared memory, registry and WMI. However, it requires Everest to be run on the background and I would prefer a solution through a dll.

Does NI plan on providing a dll for use in retrieving CPU temp from PXI controllers?

Is anyone aware of any 3rd party dlls that allow retrieving of CPU info for the PXI controllers (maybe I should post this as a new forum)?

Cheers,

Oz

 

0 Kudos
Message 5 of 14
(4,839 Views)
Hey Oz,
    What about this link?  It contains the NI-SMbus driver which is used to read the cpu information.  If you have the driver, you should be able to access that info on your own.
Brian B
Account Manager
National Instruments
0 Kudos
Message 6 of 14
(4,828 Views)

Hi Brian,

I am not sure how I can access a dll without the header file (the header file is not included in the example). If I am able use this driver for my application, are there any application notes on it?

Cheers,

Ozan

0 Kudos
Message 7 of 14
(4,804 Views)
Hey Oz,
    I'm looking into our ability to release this driver for customer use.  The block diagram is locked because of the abilities of the driver itself and the potential to use it and mess up the EEPROM or internal clock of the PXI controller.  Can the VI included with the EPD be used as a subVI and the temperature read from it?
Brian B
Account Manager
National Instruments
0 Kudos
Message 8 of 14
(4,778 Views)

Hi Brian,

Thanks for your ongoing help.

Yes, the VI included can be used as a sub VI and works well... until I try to create a stand-alone application of my project... at which time the application builder complains about the sub VIs for measuring temperature.

Cheers,

Oz

Ps: For intermediate solution I am currently reading CPU temperatures via Registry using Everest by Lavalys.

0 Kudos
Message 9 of 14
(4,753 Views)
Hey Oz,
    We are working on resolving your issue, but we need a little more information.  What version of LabVIEW are you using?  Which PXI controller are you using?  If you can supply us with this information, we can further assist you.  Thanks!!


Brian B
Account Manager
National Instruments
0 Kudos
Message 10 of 14
(4,670 Views)