labview实现CPU温度的实时检测
上面的系统实现其实很简单使用Windows 管理规范WMI配合LabVIEW 的 .NET 接口实现的属于系统级硬件监控。1. 核心实现方式WMIWindows Management Instrumentation读取 CPU 温度是调用了 Windows 内置的WMI 接口。WMI 是什么它是Windows 自带的系统管理接口由主板、BIOS、硬件驱动提供数据专门给软件读取CPU 温度、硬盘温度、GPU 温度、风扇转速等依次执行以下 3 条命令找到你电脑能正常返回数据的类cmd# 测试1老主板通用类 wmic /namespace:\\root\wmi path MSAcpi_ThermalZoneTemperature get CurrentTemperature # 测试2系统性能计数器类99% Windows 电脑支持 wmic path Win32_PerfFormattedData_Counters_ThermalZoneInformation get Temperature # 测试3CPU核心温度专用类Intel/AMD 新CPU通用 wmic path Win32_PerfFormattedData_Counters_CPU get Temperature我用的是WMI 类Win32_PerfFormattedData_Counters_ThermalZoneInformation这个类是Windows 系统性能计数器99% 的电脑都原生支持能直接读到温度。2. LabVIEW 怎么调用 WMI我用的不是 LabVIEW 自带的 WMI 库而是LabVIEW 的 .NET 调用接口。因为 WMI 是 .NET 兼容的LabVIEW 可以直接调用 .NET 类库我用到的关键 .NET 类ManagementObjectSearcher用来发送 WMI 查询语句。ManagementObjectCollectionWMI 返回的温度数据集合。ManagementObject单条温度信息对象。GetPropertyValue从对象里读取温度属性Temperature。3. 完整流程拆解这是程序实际的工作原理LabVIEW → 调用 .NET → 发出 WMI 查询plaintextSELECT Temperature FROM Win32_PerfFormattedData_Counters_ThermalZoneInformationWindows → WMI 服务 → 查询主板传感器系统驱动 → ACPI → 温度传感器 → 返回温度值KLabVIEW 接收数据 → 做单位换算开尔文温度K摄氏度℃K - 273.15华氏度℉℃ × 9/5 32最后在前面板显示三种温度单位所以实现的是LabVIEW 通过 .NET 调用 Windows WMI 接口 → 读取硬件温度CPU / 主板温度4. 程序关键点用的 WMI 类是系统原生支持的所有 Windows 电脑都能读换算公式完全管理员权限运行枚举器遍历正确数据转换正确.NET 对象至变体 → 变体至数据5.程序图
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2499189.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!