0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

看LabVIEW之父谈论未来LabVIEW的软件架构

电子工程师 作者:工程师C 2018-05-26 09:25 次阅读

众筹首发|龙哥手把手教你从零入门LabVIEW机器视觉

日前,在NIWEEK2018上,NI共同创始人、Fellow、有着LabVIEW之父称号的Jeff Kodosky做了主题演讲,他畅谈了未来LabVIEW的软件架构。

未来,LabVIEW将可通过更高级的抽象,实现在一个程序框架中对上位机FPGA同时编程,双方的数据交互在统一平台下执行,而不像过去通过队列形式实现。这会给编程带来更大的便利性,尤其是面对复杂系统,采用更高级的编程语言可加速用户的开发周期。

“就好像开车一样,如果你需要加速,采用自动变速箱直接踩油门的方式比手动换挡便捷很多,这就是通过提高抽象级别让软件变得更加简单高效。”Jeff说道。

NI共同创始人、Fellow、LabVIEW之父Jeff Kodosky

以下是其演讲内容。

LabVIEW设计初衷只是为科学家和工程师可以快速完成他们的测试测量系统,而无需专门的程序员团队。

正如Dr.T说过的,像电子表格程序可帮助金融分析师编程一样,我们给工程师和科学家开发一套属于他们自己的加速编程工具。

目前来看,LabVIEW已经成功地完成了这一任务。

通过LabVIEW,数以万计的工程师、科学家、测试人员甚至医学研究员等各行业专家成功完成了他们的自动测试系统。LabVIEW加速了研究开发,减少了测试时间和成本,同时就减少了产品开发周期。

LabVIEW在持续改进和创新上有着悠久历史,每个版本既保持向后兼容性,同时也在不断引入新功能。

LabVIEW最显着的进展是引入对实时系统和FPGA支持。用户无需成为VHDL专家,便可通过构建在FPGA上运行的图形化程序来满足性能要求。今天,随着系统的复杂性不断增加,需要更多的并行处理,更多的物理I/O,更紧密的时序和同步以及更多的分布式组件。

LabVIEW演进历史

所以,我们将如何继续应对未来的复杂性呢?

一种方法是建立良好的策略和流程,保持测试套件和文档的全流程管理。现有的软件工程方式已成功构建了大型测试系统。

另外软件架构同样可以通过组织和限制设计遵循帮助认证过的Patterns,例如,LabVIEW中的Project templates和Actor Framework就是这种方法。

当然,工具和开发环境的改进也有帮助。例如,通过LabVIEW NXG与DAQmx驱动程序和DAQ硬件的集成更加紧密,使交互式探索和自动化测量变得更加容易。

此外,专用工具可以通过减少定制开发的需求来处理整体流程的复杂性。像TestStand这样的专用工具可以处理应用程序的标准部分,而只开发您需要的自定义测试步骤。

通过NI提供的专用工具,加速软件开发和实施周期

第二种方法则是提高我们用于设计系统的抽象级别。对于目前复杂的系统,我们可以利用人工智能等方式提高抽象级别,可以减少人为的复杂性。想象一下你的车,如果您想要加速,使用自动变速箱等更高级别的抽象比标准变速箱更简单,因为标准变速箱还需要额外的手脚配合进行离合换挡。

两年前,我们在LabVIEW中引入了Channel Wire,提高了通信并行处理设计的抽象级别。相比低级语言设计起来更容易,更明显也更易于理解。实际上还有更多的工作可以进一步提高LabVIEW的抽象级别。

采用Channel Wire,上位机与FPGA之间的通信只需要简单的连线即可实现

从历史上看,我们的开发理念都是首先着眼于使难题成为可能,然后再让它们变得更容易。

NI已经创建了跨越处理器和FPGA的测量应用程序,现在是时候考虑提高抽象级别以增加便捷性了。

假设我们可以在LabVIEW中将FPGA表示为一个盒子。内部的图表代表部署到FPGA中,外部的图表表示在处理器上运行。它们之间的通道表示通信路径,编译器使用底层的FIFO和DMA资源来实现连接。

Target软件体系结构对于简化cRIO应用和FlexRIO点对点通信应用程序,甚至对于分布式应用程序来说显示出巨大的前景。

这是我们为提高抽象级别而进行的一个例子,如果我们能够真正实现它,它将成为最先进的技术进步。

如图所示,未来可在一个软件系统开发框架内,实现上位机与FPGA的共同开发

让我来尝试描述我们一项正在进行的研究工作,它可以通过更加模糊且更高级的处理方式加速我们的设计流程。以一个麦克风测量系统来举例。

最开始,我们勾勒出设计理念,包括展示要测试的麦克风,提供激励信号的扬声器,驱动扬声器的波形发生器,测量响应信号的数字化仪器以及设置增益与频率。

这种草图经常需要改进,例如,当我们为了获得更高的精准性,需要测量激励信号。

如果我们可以在LabVIEW中放置一个抽象设计节点并编辑它的图标来表示麦克风,用另一个图标来表示扬声器,为声波添加一些剪贴画,我们可以快速生成一个草图。

作为项目的一部分,它需要一些文档,但同样提高系统层级的话,我们就可以把它当做实施整个系统的启动点。

如果我们可以注释导线以显示激励信号,作为连续步进频率波形,并且对采集输出进行注释以显示要分析的波形流,这将使抽象算法更为清晰。

我们还可以显示将采集到的信号流分成时间间隔信息

我们可以标记这个抽象级别,并通过将生成节点扩展为波形计算和波形输出来继续改进设计。

并将采集节点扩展为模拟输入,将节点分割成块。

现在我们意识到,只有当我们有相同的时间参考时,这才会起作用,因此我们引入了一个开始时间,于是开始生成和采集同步。

在这一点上,我们发现我们忽略了一个重要问题。由于声传播,来自麦克风的信号将比刺激信号显着延迟。于是我们决定通过在波形的开始处生成一个特殊的脉冲并使用它来同步采集的信号来解决这个问题。

当我们语义缩放到更高级别的抽象添加测试项时,我们看到一条线,显示共同开始时间。

我们认为它足够重要,可以在此级别展示,因此我们可以实现这一目标。然后,我们添加连接以传递同步脉冲,并设置为在波形开始处显示。这时又会看到需要实施的新连接。

我们继续完善波形输出节点,并展示如何将同步脉冲发送到采集点上。

接下来可以改进该节点以显示同步脉冲被重新采样并用于匹配采集的信号的同步。我们继续以这种方式工作,一直到一个工作应用程序完成,不断进行缩放,在一个层面上编辑并在其他层面上进行配合修正,以符合一致性。

最终只通过一个开发软件,便可实现测试系统的搭建

这种丰富的设计环境将使用户能够创建易于理解和维护的系统。

在多个抽象层次上工作是解决复杂性的最有效方法,它可以逐步公开和抽象语义细节,以便您可以更好地设计测量系统,并根据需求不断演变。

正如Alan Kay所说,“预测未来的最好方法就是创造未来。”

我们构建的环境变得越来越复杂,这需要更复杂的测试和测量系统与之匹配。需要更复杂的工具来减少人为造成的复杂性并可提供更高级的抽象层设计。通过我们对产品的不断改进,将进一步实现这一愿景。

我们希望提供不断创新的工具,构建未来所需的系统,NI的愿景一直都是如此。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593158
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    316986
收藏 人收藏

    评论

    相关推荐

    labview采集软件

    labview软件
    dreamdoing
    发布于 :2023年11月11日 19:20:02

    LabVIW之父LabVIEW未来

    ` 本帖最后由 fantek 于 2013-10-4 14:56 编辑 The "Father of LabVIEW", Jeff Kodosky, reflects about LabVIEW at NI Week 2011.`
    发表于 10-04 14:54

    LabVIEW下CASSY软件的实现.

    主要介绍了如何在LabVIEW平面下直接与CASSY实验系统的连接。给出了用LabVIEW 软件实现细节。同时介绍了利用CASSY实验系统基于串口的高频信号采集的方法。关键词 LabVIEW
    发表于 01-01 18:53 16次下载

    LabVIEW Robotics 2010图形化系统设计软件

    基于最新版NI LabVIEW图形化系统设计软件LabVIEW Robotics 环境继续提供工业级系统设计软件的能力。结合LabVIEW
    发表于 03-25 12:02 1535次阅读
    <b class='flag-5'>LabVIEW</b> Robotics 2010图形化系统设计<b class='flag-5'>软件</b>

    labview软件下载入口

    labview软件下载入口
    发表于 06-30 22:19 160次下载

    uninst_labview卸载软件

    labview卸载软件,可以卸载labview软件
    发表于 01-06 13:47 39次下载

    labview软件

    labview软件的有关资料
    发表于 12-09 23:03 0次下载

    labview软件下载

    labview软件下载
    发表于 12-16 16:02 31次下载

    基于LabVIEW_DSC的监控软件通用架构_于献榕

    基于LabVIEW_DSC的监控软件通用架构_于献榕
    发表于 03-18 09:42 25次下载

    一文详解LabVIEW RIO架构

    NI嵌入式应用方法结合了LabVIEW系统设计软件与可重配置的现成硬件。 该架构基于四个组件: 处理器、可重配置FPGA、测量I/O硬件和LabVIEW。 硬件和
    的头像 发表于 07-05 07:21 5594次阅读

    NI LabVIEW RIO架构基础知识简述

    Architecture NI LabVIEW RIO架构基于以下四个部分: 处理器、可重配置的现场可编程门阵列(FPGA)、模块化I/O硬件以及图形化设计软件
    发表于 11-18 06:55 6659次阅读

    LabVIEW之父历史回顾编程理念,这将对未来造成怎样的影响

    LabVIEW之父Jeff Kodosky回顾了他如何创造图形化编程,并且分享了基本的编程理念。这些理念可以应对高要求应用的挑战,对未来25年图形化系统设计至关重要。
    的头像 发表于 06-22 03:34 4186次阅读

    LABVIEW是什么软件LABVIEW都可以干什么?

    ,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与此类似的还有工程师们使用比较多的国产测试软件ATECLOUD智能云测试平台,区别于LABVIEW的图形化编程语言,通过文本指令
    的头像 发表于 08-05 10:14 3770次阅读
    <b class='flag-5'>LABVIEW</b>是什么<b class='flag-5'>软件</b>?<b class='flag-5'>LABVIEW</b>都可以干什么?

    LABVIEW软件应用与前景介绍

    LABVIEW作为测试测量行业的神器,备受工程师们的青睐。那么LABVIEW与其他文本语言有哪些区别呢?都可以应用于哪些场景呢?今天纳米软件Namisoft小编将为大家分享一下关于LABVIE
    的头像 发表于 08-14 19:43 8682次阅读
    <b class='flag-5'>LABVIEW</b><b class='flag-5'>软件</b>应用与前景介绍

    labview是什么软件labview是什么语言?labview能实现什么功能?

    labview是什么软件labview是什么语言?labview能实现什么功能? LabVIEW是一种图形化的编程语言,通常被用于数据采集
    的头像 发表于 08-31 17:23 3163次阅读