LabVIEW8技术白皮书
- 格式:pdf
- 大小:1.90 MB
- 文档页数:18
LabVIEW 8
白皮书
ni.com/china/labview目录
1National Instruments电话:(021)6555 7838·传真:(021)6555 6244·china.info@ni.com·ni.com/china™LabVIEW8 — 用于设计、控制和测试的分布式智能
LabVIEW 图形化开发平台第一部分 — 一个具有长期连贯性的开放平台 7
LabVIEW 图形化开发平台第二部分 — LabVIEW 的核心技术优势 10
LabVIEW 图形化开发平台第三部分 — 适用于设计、控制和测试的集成化平台 14……
……………………………………2
………………
……………………
……™
™
™2National Instruments电话:(021)6555 7838·传真:(021)6555 6244·china.info@ni.com·ni.com/chinaLabVIEW8 — 用于设计、控制和测试的分布式智能TM
引言
当听到“分布式系统”时,您会想到什么?数学家可能会想到将计算任务分配到计算机网格;业务主管可能会想到处理全球订单的基于 WEB 的商务系统;设施管理人员则可能会想到检测大楼坚固状况的无线传感器网络。然而,所有这些例子有一个共同的主题 分布式系统它是一个使用多个处理器来解决一个问题的系统。由于半导体技术在成本和性能方面取得的巨大改进,通过添加更多的计算引擎,工程师们发现了更有效的方法以满足各项应用的挑战。同时他们设计的产品以及为测试和控制这些产品而开发的系统,也越来越呈现出分布式的态势。
然而,在一个测试或控制系统内设计多个计算设备并不像工程师想象的那么容易。分布式系统的开发带来了一系列全新的、在传统工具中没有被恰当解决的编程挑战。本文指出了应用于设计、控制或测试等工程应用的分布式系统的核心属性,并概述了开发这些类型系统的关键挑战。此外,本文介绍了 NI LabVIEW 8 图形化开发环境如何使用新的“分布式智能”技术解决这些挑战。这些新技术包括:
· 对桌面、工业、移动和嵌入式设备等多个目标平台编程
· 新的 LabVIEW Project 为在简单的环境中浏览和管理分布式系统提供了一个直观的系统视图
· 新的通信接口,即 LabVIEW 共享变量,简化了分布式设备和系统间的数据通信
· 用于分布式设备和系统间(和内)定时和同步的工具
用于设计、控制和测试的分布式系
统示例
开发一个分布式系统需要独特的编程方法。例如,在传感器网络例子中,无线传感器是自组织的单元,它们有机地与附近的其他传感器相互连接形成通信结构。
显然,围绕此项技术工作的高级研究人员面对的是全新的软件挑战。这些高级概念并不常见,但正如下列应用所描述的那样,工程师和科学家正在面对许多这样相同的编程困惑,这些挑战存在于他们目前所设计、控制和测试的系统中。
设计
汽车电子稳定性控件使用位置靠近重心的微处理器检测来自刹车系统和方向系统的输入,并微调以保持车身的稳定。
智能电话将用于音频处理的高性能 DSP 和处理其他任务(如 PDA 功能)的微处理器相结合。
控制
控制生产过程的机器(如挤压机、印刷机和打包机等)集合多个控制器协同工作,以管理原材料进入生产过程并送出成品。
工业监测系统的特点在于若干个远距离分布的、没有首节点的控制单元,它们监测并控制不同的车间状况,同时将数据录入到企业数据库。
测试结构测试和监测系统 无论是测量机翼的结构响应,还是测量汽车在碰撞测试中的安全性 特色在于有数百个在被测结构的不同子系统收集数据的 I/O 点。通过高级的定时和同步策略对这些分布式测量结果作相关分析,这对于有效地分析测试结果非常重要。
测试动态控制系统的硬件在环测试仿真外部环境,
同时一个开发中的引擎控制单元(ECU)紧凑耦合的系
统控制高速、实时的 I/O。这两个过程协同工作形成一
个联合的测试和控制系统。
这看似一项简单的任务 增加一个处理器以改进性能,集成一个DSP用于专门的信号处理,用一个智能传感器替代一个简单的测量设备 使工程师和科学家面对一个充满分布式系统开发挑战的全新的世界。然而,一种促进分布式开发并利用新的处理能力的新型软件开发方法使得这样一个任务越来越接近便利。
什么是分布式系统(再次讨论)?
回顾最初的问题,分布式系统的基本定义是:
· 使用多个处理器以构建一个应用的系统
然而,考虑到分布式系统中所用的处理器,该定义有两个扩展:
· 分布式系统中所用的处理器可以具有混合架构,包括微处理器、DSP或FPGA
· 分布式系统可以物理上位于单个板卡、机箱、机架或空间上分布于同一网络的分离设备或系统
该定义表明在开发分布式系统时,工程师和科学家要面对特殊的编程挑战。
分布式系统开发的挑战
上面突出讨论的应用来自不同的行业和产品生命周期阶段,但是它们具有一个共同之处 形式上均采用分布式系统。工程师和科学家在开发分布式系统时面对的挑战包括:
1. 编程开发利用多个基于相同或混合架构的处理器的应用程序
2. 实现多个处理器间的有效数据共享,这些处理器或者直接连接在单个 PCB、机箱或者远程连接到一个网络
3. 协调所有节点构成单个系统,包括节点间的定时和同步
4. 集成不同类型的 I/O,如高速数字、模拟、运动和视觉
5. 除了节点间共享数据外,还加入的其他服务,如
数据记录、报警、使用远程 VI 查看和与企业系统集成
用 LabVIEW 8 的新特性,工程师和科学家可以解决这些挑战,详情后续讨论。
图1 分布式系统跨度很广,从物理上位于单个机箱或机架的系统到远程分布在同一网络内分离设备或系统的系统
编程开发分布式、异构计算节点
分布式系统通常包括传感器、设备等节点或完成不同功能的系统。例如,一个车间自动化系统可能包括三个分离节点 一个用于运动控制,另一个用于自动化
检测,第三个用于环境控制。运动控制器可能使用 G
编程,视觉系统可能使用 C,而 PLC 环境控制器使用
梯形逻辑(ladder logic)。此外,所有这些节点还可能要与记录数据的主机监管系统通信。目前,这样的分布式系统的设计师期望开发人员在编程开发这些节点中
的任一个时使用不同的工具。而且,运动控制系统可能
会有现有硬件无法满足的高级需求,这就需要工程师求
助于可配置硬件(如 FPGA)以执行复杂的数学算法。这样的情况需要掌握多个工具和语言,使开发工作复杂化,迫使开发过程需要更多时间以确保系统能协同工作。
LabVIEW 通过提供在单个开发环境编程开发不同节点的工具,解决了这样的编程挑战。使用LabVIEW,工程师可以开发运行于多个计算设备的代码,从台式机、嵌入式控制器、FPGA 到 DSP。此外,LabVIEW 平台包括每项任务所需的专用函数,如用于自动化检测的图像模式匹配、用于运动控制的轨迹生成、以及用于环境控制的测量和数字逻辑。而且,LabVIEW 也使复杂的高级信号处理算法的编程实现更为便利,并为本地或远程操作者界面提供了直接连接。单个工具超越节点功能间的界限的能力,显著地降低了复杂度并提高了分布式应用开发的效率。
3National Instruments电话:(021)6555 7838·传真:(021)6555 6244·china.info@ni.com·ni.com/china一旦开发人员得到编程开发其计算引擎的工具,他们需要利用可用的多个处理器。例如,如果一个系统包括几个计算引擎,那么并行计算非常重要。然而,这个简单的概念可能对于传统地顺序执行的基于文本的语言非常难以实现。实际上,LabVIEW 在二十年前便是作为并行语言设计的。图形化语言的构造自然地表示了并行执行这样的简单概念。使用 LabVIEW,工程师和科学家只须将多个循环结构置入其代码,就可以方便地开发并行执行应用程序。图 3 是两个并行独立执行的独立循环的一个图形化表示。
这里自然直观的表示了一个非常困难的编码挑战。并行执行的自动化测试系统在以下情况中会非常关键:多个受测单元(UUT)进行测试;在控制系统,多个实时任务执行控制选环,同时将数据传递至主机接口;或者在嵌入式应用中,多种类型的输入必须以确定的方式被处理。
通信与数据传输
分布式应用需要不同形式的通信和数据共享。例如,一个机械装置排序系统阐明了节点间共享数据的需求。一个运动控制器将机械装置移动至某个位置,在此视觉节点可以采集图像并决定该装置应当移至哪一个位置。在最简单的通信层次,节点可以通过一个物理数字接口通信,以触发图像采集并发送反馈。然而,原始的模拟和数字信号的 I/O 线往往存在距离限制,难以扩展,且无法发送复杂数据。而且,这种方法不支持与可能包括一个主机用户接口和一个远程手持客户端的系统的其余部分共享数据。鉴于此,工程师们在更大的分布式系统越来越多地使用通信层 (如以太网) 。
业界标准连接指示是 4 到 22 毫安连接。满足通常功能不同的节点间的通信需求是具有挑战性的。虽然存在不同通信标准和协议,如 TCP/IP、Modbus TCP 和 OPC,没有一个协议通常能满足一个工程师的所有要求,且每个协议具有不同的 API。这迫使系统集成者使用多个通信协议以完成整个系统。对于节点间的确定性的数据传输,工程师们经常被迫使用基于反射内存等技术的昂贵方案。此外,一个工程师所用的任一通信协议或系统也必须与已有网络通信协议(如OPC)集成。解决这些经常相互竞争的需求的方法之一便是,将特殊的传输层和协议抽象化。通过这样的工作,工程师们可以在同一覆盖下使用多个协议,统一了代码的开发,并显著地节省开发时间。
LabVIEW 8 分布式智能通过一个灵活的、开放的通信接口,解决了这些挑战,该接口提供实时控制器节点(如视觉系统和运动控制系统)间的数据共享并与OPC 集成。LabVIEW 8 的共享变量 一个用于协议传输的抽象层 可以处理高级分布式应用所需的复杂数据类型,并可以扩展以包括高层次函数,如数据记录和报警。工程师们可以使用LabVIEW的共享变量,以共享系统内任一节点的输入和输出数据,包括实时节
点、历史数据库和基于 WEB 的监控台。图3 LabVIEW 图形化构造自然地表示并行等重要编程概念
图4 LabVIEW 的共享变量是一个用于协议传输、复杂数据类型处理和扩展以包括数据录入和报警的抽象层
4National Instruments电话:(021)6555 7838·传真:(021)6555 6244·china.info@ni.com·ni.com/china图2 通过 LabVIEW 的广泛的计算目标平台,工程师和科学家可以根据其需求的变化,为应用及应用的规模选择合适的运行环境