使用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选板(TCP palette)中的字符串到IP (String to IP) 节点。
  • 要获取计算机的所有IP地址,请右键单击“ 字符串到IP”节点,然后点击右键选择多个输出(Multiple Outputs)。
  • 使用“ 字符串到IP”节点,可以获取分配给Target的DHCP IP。
 

LabWindows™/ CVI

  • 调用GetTCPHostAddr函数。
  • 要获取计算机的所有IP地址,请调用GetALLTCPHstAddresses
以下示例显示了如何在LabWindpws™/ CVI中实现此功能。这是通过将指针的地址传递给指向char变量的指针来实现的。该库分配一个字符串数组,必须使用TCPFreeMemory函数释放它们。
char ** addresses = NULL;
 int numAddresses;
 int index;

 GetAllTCPHostAddresses(&address,&numAddresses);
 / *使用地址字符串... * /
 for(index = 0; index <numAddresses; index ++)
 {
 / *空地址字符串* /
 TCPFreeMemory(地址[index]);
 }
 / *空地址数组* /
 TCPFreeMemory(地址); 

相关信息

要将IP地址转换为点分十进制表示法或机器名,请在程序框图上放置一个IP to String函数。将句点符号格式(dot-notation)接线端连接到一个真常量,将以句点符号格式返回IP地址。句点符号格式以128.0.0.25的形式返回IP地址。如果句点符号格式接线端悬空,或者连接了一个假常量,它将以machinename.domain.com的形式返回IP地址。