可使用高层的软件协议在RT终端的两个VI之间,以及与其他终端的VI通信。每种协议都有其优点和劣势。下面列出了各种通信方法:

  • 网络通信-用于以太网通信。
    • 网络流
    • 网络发布的共享变量
    • TCP
    • UDP
    • VI服务器
    • Logos
    • SMTP(仅限于发送)
  • 总线通信-用于不同总线端口之间的通信。
    • 串口
    • CAN

网络通信

下面介绍与LabVIEW Real-Time模块配合使用的常见通信协议,帮助您找到最适合应用程序的网络协议。

网络流

可使用网络流在RT终端和主机之间流数据或发送命令。网络流不损耗数据,是单向的一对一通信通道,由写入方和读取方端点构成。

网络发布的共享变量

可使用网络发布的共享变量在不同终端运行的VI之间传输数据。启用共享变量实时FIFO后,在网络间共享数据不会影响VI的确定性。但是,通过网络传输数据是非确定性的。因为网络延迟,机器上运行的VI可能无法通过网络读取最新写入的数据。在该情况下,VI试图从网络发布的共享变量读取数据,结果却返回上一次读取的值。对于数据记录应用程序,可使用时间标识通过程序确保每次记录一个值。

TCP

TCP是网络通信的业界标准。主机上的VI可通过TCP VI和函数与RT终端VI通信。但是,TCP具有非确定性。在确定性VI中使用TCP通信会影响VI的确定性。

Real-Time模块拓展了现有TCP函数的功能,使TCP函数能用于联网RT系列设备。

UDP

UDP是在网络上两个位置之间传输数据的网络传输协议。UDP不是基于连接的协议,发送方和接受方不必建立网络连接。因此,通过UDP传输数据,系统开销较小。但是,UDP具有非确定性。在确定性VI中使用UDP通信会影响VI的确定性。

使用UDP VI和函数发送数据时,发送方发送数据之前,接受方计算机必须有一个读取端口。使用UDP打开函数,打开写入端口,指定接收方计算机的IP地址和端口。数据通过字节流传输,字节流的长度称为数据报。数据报到达侦听端口,接受方计算机缓存数据,然后读取数据。

可使用UDB双向传输数据。在双向数据传输下,两台计算机都分别指定读取和写入端口,然后使用相应的端口发送或接收数据。可使用UDP发送数据至RT终端的VI或接收RT终端VI的数据。

UDP可进行高速数据传输。但是,UDP无法保证所有数据报都能到达接收方计算机。因为UDP不要求网络连接,所以无法验证数据报是否到达。必须保证网络繁忙不会影响数据报的传输。另外,读取接收方计算机数据缓冲区的数据必须足够快,否则容易发生数据溢出。

VI服务器

VI服务器可用于监控RT终端上的VI。VI可通过VI服务器远程调用RT终端VI。VI可将参数值传输至RT终端VI,或传输来自RT终端VI的值,从而实现分布式应用。

主机VI只能调用已保存在RT终端上的VI。主机VI不能通过VI服务器动态下载VI至RT终端。

VI服务器可在LabVIEW的框架内利用TCP,这是VI服务器的优点。但是,VI服务器不具有确定性,使用VI服务器通信可能会影响确定性VI的确定性。

SMTP Email

使用SMTP Email VI发送RT终端VI的数据至另一台计算机上的VI。SMTP VI可通过简单邮件传输协议(SMTP)发送包含数据和文件附件的电子邮件。使用SMTP选板上的VI不能用来接收信息。

SMTP具有非确定性。在确定性VI中使用SMTP通信会影响VI的确定性。

Logos(仅限于FieldPoint)

Logos用于在主界面和传统FP或cFP以太网模块之间传输数据。以太网FP模块有一个嵌入的Logos服务器,可从远程服务器FP通道组上读写物理I/O模块。

总线通信

串口

串口通信是指通过串口两点之间的通信。串口VI和函数提供LabVIEW中的串口通信支持,在具有串口设备的RT终端和计算机之间进行通信。数据率低且传输路程较远时,串口通信是理想的选择。必须在NI Measurement & Automation Explorer (MAX)中将NI-Serial RT软件添加至RT终端。关于在RT终端上安装软件的详细信息,见MAX帮助

串口通信具有非确定性。在确定性VI中使用串口通信会影响VI的确定性。

CAN

控制器区域网(CAN)是确定性的多点通信总线协议,为ISO 11898国际标准。通过CAN,每帧可传输8个数据字节,传输速度达1 Mbit每秒。可通过NI-CAN接口的板卡和NI-CAN驱动连接多个RT系统。必须在MAX中将NI-CAN RT软件添加至RT终端。关于在RT终端上安装软件的详细信息,见MAX帮助

访问ni.com/info并输入CANManual,查看NI-CAN硬件和软件手册,其中包含将NI-CAN硬件和软件与LabVIEW配合使用的信息。