在Windows NT/2000/XP上使用LabVIEW存取硬體暫存器(Hardware register)和實體記憶體(Physical memory)



主要軟體:
主要軟體版本: N/A
主要軟體修正版本: N/A
次要軟體: N/A

問題:
我想在在Windows NT/2000/XP上直接存取硬體,如何能夠與硬體的輸入/輸出暫存器及實體記憶體直接溝通?


解答:
1.在Windows NT/2000/XP上使用LabVIEW存取硬體暫存器
您可以使用LabVIEW中的In Port/Out Port VI來存取硬體暫存器。但在Windows Vista或Windows 7上則不行。請依照您的LabVIEW版本參考以下說明
LabVIEW 8 及以後
LabVIEW 8的功能與LabVIEW 7.x相同,僅In Port/Out Port VI位於Functions» Connectivity» Port I/O.
LabVIEW 7.x
LabVIEW 7.x內建的In Port/Out Port VI支援Windows NT/2000/XP。您可以在Functions palette中的All Functions» Advanced» Port I/O找到。您不一定要安裝AccessHW函式庫來存取硬體暫存器。新的VI是polymorphic的,您可以選擇8、16、或32bit的運算,並且不相容於舊版本LabVIEW中的VI。因此,若您要將您的程式從6.1版升級到7.x版,您需要改部分的程式碼。
LabVIEW 4.0-6.1
在LabVIEW 4.0到6.1版,LabVIEW內建的In Port/Out Port VI無法在Windows NT/2000/XP上執行,因為它們並不是Kernel mode routines而在這些作業系統下您要直接連接硬體必須使用此種模式。要解決這個問題,您可以到Developer Zone Example: Port and Memory Utilities for Windows頁面,下載並安裝AccessHW函式庫。這將會安裝可以在Windows NT/2000/XP上使用的In Port/Out Port VI。這些VI可以在您的安裝路徑找到,並取代原有的In Port/Out Port VI來使用。若您要使用舊程式,您也需要手動將原本的In Port/Out Port VI取代成新安裝的。
2.存取memory-mapped裝置或其他實體記憶體位置
LabVIEW並沒有內建支援存取實體記憶體。但您可以使用AccessHW函式庫來達成此功能。您可以到Developer Zone Example: Port and Memory Utilities for Windows頁面,下載並安裝AccessHW函式庫。這將會安裝必要的LabWindows/CVI元件,但您並不需要安裝LabWindows/CVI。


相關連結:


附加檔案:





報告日期: 10/02/2002
最後更新: 03/01/2013
文件偏號: 2Q1FC3K8