欢迎光临散文网 会员登陆 & 注册

LabVIEWCompactRIO 开发指南12 LabVIEWCompactRIO 开发指南12 第四章网络通信的最佳

2023-05-08 08:48 作者:bjcyck  | 我要投稿

LabVIEWCompactRIO 开发指南12

第四章

网络通信的最佳实践

网络通信

对于嵌入式CompactRIO应用程序,与远程客户机的通信通常是项目的关键部分。嵌入式应用程序通常充当“数据服务器”,因为它们的主要角色是向客户机报告信息(状态、获取的数据、分析的数据等)。它们通常还能够响应来自客户机的命令,以执行特定于应用程序的活动。

图4.1 CompactRIO系统通过以太网与远程客户端通信

选择网络协议

可以从LabVIEW中的几种数据机制中选择表4.1中列出的一种或多种通信模型。在选择数据传输机制时,请考虑以下因素。

通信模型

第1章和第3章讨论的通信模型既适用于进程间通信,也适用于网络通信。这些模型是当前值数据(标签)、更新、流和基于命令/消息的通信。在选择网络机制时,了解所需的数据传输类型是最重要的考虑因素。表4.1提供了在网络应用程序中使用当前值数据(标记)、更新、流或基于命令的数据通信的示例。

表4.1 通信模型用例示例

网络配置

网络配置是另一个重要的考虑因素。在多客户机应用程序中,客户机可以在任意时间连接和断开。TCP/IP协议要求实现一个连接管理器,除了跟踪客户端需求和单独服务每个客户端之外,还可以动态地接受和服务任意数量的传入连接。虽然这是可能的,但它需要在开发方面进行大量的工作。另一方面,网络发布的共享变量具有带有内置连接管理器的共享变量引擎的特性,该连接管理器为处理任何传入的客户机连接。由于TCP/IP消息传递(STM)和CVT客户端通信(CCC)都基于TCP,因此它们还要求开发一个连接管理器。

当在1:N或N:1配置中使用网络流时,还需要一些额外的开发,因为它们是作为点对点通信模型实现的。这意味着基于网络流的应用程序连接到10个客户端,至少需要10个流。然而,由于网络流是流数据最可靠和易于使用的机制,因此它们仍然是流的一个很好的选择。对于消息和命令,考虑在Network Streams上使用共享变量。

图4.2 在选择网络协议时考虑系统配置。

对接操作系统和第三方应用

NetworkStreams和网络发布的共享变量都基于专有协议,对某些操作系统和第三方应用程序的通信提供有限的支持,如表4.2所示。后面讨论的其他机制,包括TCP/IP、UDP、STM、CCC和Web服务,都基于标准协议,使它们能够将数据传输到任何操作系统或第三方应用程序。

表4.2 网络流和共享变量支持限制

虚拟仪器的版本

表4.3中推荐的一些数据传输机制并不适用于所有版本的LabVIEW:

■网络流在LabVIEW 2010及以后的版本中工作

Web服务可在LabVIEW 2009及更新版本中工作

■共享变量在LabVIEW 8.0及更高版本中工作

如果选择了这三种机制中的一种,但没有使用兼容版本的LabVIEW,请使用推荐的机制,用于相同的通信模型和网络配置,可以与第三方UI通信。

安全

如果需要内置加密和身份验证等安全特性,请使用基于HTTPS的Web服务来实现通信。Web服务支持与LabVIEW UI、第三方UI和Web浏览器之间的数据通信。如果正在使用NI的实时目标上的Web服务器来实现HTTPS通信,请考虑启用Web服务API密钥以增加安全性。

易用性VS性能和可靠性

最后要考虑的是易用性与性能和可靠性之间的权衡。如果正在开发一个快速原型,并且不打算在稍后的关键任务应用程序中使用它,那么可以使用拖放式网络发布的共享变量来满足大多数通信需求。然而,与其他机制相比,这些变量会产生更多的CPU和内存开销,这对于高性能或高可靠性应用程序来说可能是不可接受的。TCP/IP、Simple TCP/IP Messaging (STM)、CVT Client Communication (CCC)、UDP和Web服务基于标准协议,在正确实现的情况下提供高性能和可靠性。Network Streams虽然基于专有协议,但对性能进行了优化,并且具有增强的连接管理,如果由于网络中断或其他系统故障而导致断开连接,则可以自动恢复网络连接。

表4.3列出了基于前面讨论的三个因素选择数据传输机制的一般建议:通信模型、网络配置和要向其发送数据的应用程序类型。本节中讨论的其他因素也应该考虑在内,但是这个表提供了一个起点。

表4.3 推荐的网络协议

下一节解释如何实现表4.3中描述的每个网络协议,并提供下载和安装未包含在LabVIEW中的协议的功能说明。

 

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

LabVIEW程序,如下附件所示。

 

相关资料说明,如下所示

 

北京瀚文网星科技有限责任公司www.bjcyck.com,是一家以LabVIEW(虚拟仪器)为主要技术手段的开发公司。其服务领域包括:汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各领域。涵盖了从研发、测试、生产到服务的产品开发所有阶段。

公司提供运动控制、电子设计、视觉和射频以及无线等诸多领域的解决方案,技术咨询以及资源整合。所提供服务确保符合NI产品认证和行业标准,更有效地使用NI的全球资源,提供LabVIEW软件开发、维护、破解等服务以及NI产品代理。

13691203761王工(手机微信)



LabVIEWCompactRIO 开发指南12 LabVIEWCompactRIO 开发指南12 第四章网络通信的最佳的评论 (共 条)

分享到微博请遵守国家法律