TCP和UDP网络函数是否具有确定性?



主要软件:
主要软件版本: 8.6.1
主要软件修正版本: N/A
次要软件: LabVIEW Modules>>LabVIEW Real-Time Module

问题:

我在LabVIEW RT模块或者CVI 实时模块开发一个RT应用。我想在我的目标端和主机端通过TCP/IP或者UDP通信。但是系统显示网络函数是不确定性的,为什么会这样,我应该怎么做?

 



解答:

在LabVIEW实时中TCP和UDP网络函数是共享资源,因此是不具有确定性的。参看文档LabVIEW Real-Time Module Help: Avoiding Shared Resources (RT Module)  查看LabVIEW RT系统中共享资源的信息。

TCP和UDP函数调用因特网驱动并且都不能应用在确定性的循环和进程中。每个CPU核中通过将非确定性任务移动到一个独立、低优先级的循环中来保存进程(例如一个定时循环)的确定性。这是确定LabVIEW RT确定性的唯一方法。

在分离确定性代码和非确定性代码后,你可以用下面的步骤减小TCP和UDP函数的抖动。



相关链接: KnowledgeBase 21O937LI: When to Use UDP Instead of TCP
LabVIEW Help: Using LabVIEW with TCP/IP and UDP
LabVIEW Real-Time Module Help: Creating Deterministic Applications Using VIs Set to Different Priorities


附件:





报告日期: 02/23/2009
最近更新: 02/26/2015
文档编号: 4UM7R4YP