使用LabVIEW或LabWindows™/ CVI以程式化方式獲取電腦和Target的IP位址

更新 Jun 27, 2023

產品資訊

硬件

  • CompactRIO Controller
  • CompactRIO Chassis

軟體

  • LabVIEW Full
  • LabVIEW Base
  • LabWindows/CVI Base
  • LabWindows/CVI Full

問題敘述

如何使用LabVIEW或LabWindows™/ CVI以程式化方式讀取電腦的IP位址?
另外,如何在LabVIEW中獲取分配給Target的IP?

解決方案

LabVIEW

  • 使用TCP面板中的String to IP功能。
  • 要獲取電腦的所有IP位置,請右鍵點擊String to IP功能,然後選擇Multiple Outputs。
  • 使用String to IP功能,可以獲取分配給Target的DHCP IP。
 

LabWindows™/ CVI

  • 呼叫GetTCPHostAddr函式。
  • 要獲取電腦的所有IP位置,請呼叫GetALLTCPHstAddresses
以下範例顯示了如何在LabWindpws™/ CVI中實現此功能。這是透過將指標的位置傳遞給指向char變數的指標來實現的。該函式庫分配一個array of strings,必須使用TCPFreeMemory函式釋放它們。
char ** addresses = NULL;
 int numAddresses;
 int index;

 GetAllTCPHostAddresses(&address,&numAddresses);
 / *使用地址字串... * /
 for(index = 0; index <numAddresses; index ++)
 {
 / *釋放地址字串* /
 TCPFreeMemory(地址[indes]);
 }
 / *釋放地址array* /
 TCPFreeMemory(地址); 

相關資訊

要將IP位置轉換為點分十進製表示法或機器名,請在block diagram上放置一個IP to String函式。將True常數連接到一個點常數終端(dot notation terminal)將以點符號格式(dot-notation format)回傳IP地址。點表示法格式以128.0.0.25的形式回傳IP地址。如果點符號終端沒有連線,或者連接了一個False常數,它將以machinename.domain.com的形式回傳IP地址。