IEC61499,独辟蹊径

7 篇文章 3 订阅

IEC61499 的定位

        已经许久没有写关于IEC61499 方面的文章了,其实笔者并没有懈怠,而是不断地在思考许多该项技术以外的事情。IEC61499 标准到目前为止仍然是一个叫好不叫座的标准。它已经出现了许多年,而且不断地修订版本。国外学者也持续地研究这些技术的实现和应用,但是在工业界实际应用的非常少。这就是这个标准目前尴尬的地方。

        以前,许多人将这个问题归结为传统自动控制厂商为了其商业利益而推广不力。但是施耐德公司收购了nexControl ,并且将IEC61499 技术融入了他们的EAE 中,推出了对应的PLC 产品,并且冠以开放自动化系统的头衔,也不能说不卖力,从目前看仍然是处于革命尚未成功的阶段。笔者这几年也加入了一些关于开放自动的讨论群,自动控制领域的专家们并不看好IEC61499,而对OPC UA ,AML 等建模语言更感兴趣。到底为什么IEC61499 会这样不温不火?这是笔者一直思考的问题。

      我觉得IEC61499 标准推广缓慢的一个主要原因是初期应用定位模糊。尝试将IEC16499 替代PLC 的IEC61131 是难以成功的。无论是自动控制产业的厂商,还是用户,他们都认为PLC的使用和编程方式已经足够的好了,不需要大换血。并且会排斥采纳IEC61499 这样未经证实的新方案。工业控制现场技术至关重要,没多少机会来尝试新技术。

        相比之下,自动控制行业更希望添加PLC 的功能,或者在原本以PLC为主的现场控制系统中增加高层控制系统。以满足工业4.0,数字化工厂的需求。因此,人们更愿意接收OPC UA, AML 这些技术,首先,这些技术是建立在PLC 之上的建模方法和协议。主要目的是为设备构建数字模型和通信协议,促进不同厂商的设备的互联互通。这里的设备更多地指机器,例如CNC 机床,注塑机,泵等等,底层的PLC没有改变。

      IEC61499 功能块编程技术并不是针对设备建模而建立的。,尽管许多人声称IEC61499 是一种建模语言,能够实现设备级的建模。它本质上是一种面向底层现场设备编程的技术,只不过它更适合分布式控制系统。系统设计,分布式部署是IEC61499 的特点。某种意义上讲,IEC61499 与IEC61131 是底层现场控制设备编程技术相互竞争的两种技术。理论上IEC61499 能够替代IEC61131,但是在市场和用户接受方面却是处于劣势。

  笔者认为,尝试IEC61499应用于现有的工业控制现场设备,与IEC61131-3技术竞争,甚至希望替代IEC61131,认为IEC61499 是下一代现场设备编程方式是徒劳的。大概率不会成功。

        如果认为IEC61499 是一项值得推广的技术的话,那么在发展的早期要采取剑走偏锋的策略。笔者认为,应该选择一个IEC61131-3尚未进入的新领域中取得成功,然后再逐步渗透到传统领域。NI 的图形编程语言与控制领域的技术完全不同,但是它却在多功能仪器,数据采集和处理等领域获得了成功,目前Labview 与控制设备的边界越来越模糊,想必在不远的将来,labview 将会进入高端控制器市场。事实上,现在已经有许多控制项目(比如机器人控制)中使用labview 的软硬件产品。

        最近,笔者一直在研究IEC61499 在软件定义仪器,高速数据采集,AI 设备,快速原型设计和仿真,实验室设备监控等领域推广的可能性。这些项目都需要智能化,可编程,分布式控制,软件可重用等需求。IEC61499 可能是一个非常合适的工具。而且比IEC61131这种基于周期性的执行模式更好。

        事实上,所有智能化设备构建的系统中都需要可编程与重定义,IEC61499 更能够发挥其优势。一旦在这些领域中取得成功之后,便能够进一步向传统自动控制项目中渗透。也许不是去替代IEC61131-3目前已有的一亩三分地,而是以全新的方式与传统共存。

下一节,我们讨论一个领域-软件定义仪器。在后续的文章中,我们将讨论IEC61499 在机器人控制,AI机器视觉,甚至智能安防,智慧楼宇等新型行业的应用。

软件定义测量系统

            测量是科学研究和生产制造的关键手段,为了精确地测量,人们发明了各种测量仪器。当我们进入任何一个实验室,映入眼帘的是各种各样的测量仪器。在高等研究中心的测量仪器是十分昂贵的。在现代制造业,质量控制,在线检测,产品检验中装备了大量的测试设备,占据的制造业投资巨大的比例。

        多年以来,传统测试仪器结构简单,功能单一,主要依靠手工测试,工作效率较低。它们被称为厂商定义的(vender defined),而不是用户定义的(user defined)。仪器主要由硬件构成,其所有功能都在出厂前以硬件的形式固化下来,用户很难对其功能做出改变,且仪器难以升级换代,开发研制周期长,经费投入大。一旦不符合应用的需求,用户只能购买新的仪器设备。

        另一方面,测量已经从单元的测试点转向构建完整的测量系统。构建这样的测试系统,已经不再是单一仪器的堆叠,还需要联网,同步和可编程。

   测量仪器数字化的发展趋势,仪器的核心部件被功能强大的数字处理器取代,不同仪器的区别主要在于IO接口和显示外设。这就为软件定义仪器带来了无限的可能。软件定义仪器可以通过局部可配置,编程,以及强大的网络在测试和测量方面提供了前所未有的灵活性

   高端测量仪器都是传统仪器厂商控制了市场,价格非常昂贵。生产线上的各种测量仪器占据了生产线很高比例的成本。而软件定义仪器为创新企业进入测量领域提供了发展的机遇。

美国NI是一家最成功软件定义测量仪器的公司。他们通过labview 图形编程语言和FPGA 技术。实现了使用图形设计语言实现FPGA 底层逻辑,测量工程师不需要HDL 语言就能够设计基于FPGA 技术的高速数据采集,数字滤波和数字处理算法。构建各种测量设备,同样的硬件平台,通过软件的重定义可以实现多种测量仪器。

软件定义模块化仪器的优点

        

  • 增加测试系统的灵活性
  • 高性能架构
  • 低测试系统的投资
  • 提高测试系统的寿命

        软件定义仪器使用越长时间,其价值越大,能够添加更多的测量功能。你购买的时候也许只有8个仪器功能,用了几年后也许变成了12 个仪表功能。这将彻底改变测试测量系统,实验室设备和教学设备的状况。让众多的高端仪器得到普及。        

软件定义仪器的硬件平台

不同仪器的差别-

  • 数据采集模块
  • 数据处理,分析算法
  • 校正
  • 仪器的配置

不同仪器的相同点

  1. 数学信号处理器
  2. 网络接口
  3. 信号显示屏
  4. 结果存储器
  5. 操作界面
  6. 测试报告

      现代数字智能仪器普遍具有性能强大的数字信号处理的能力。它们可能是以传统DSP 实现的,更多是基于FPGA 实现。它们实现各种数字滤波,FFT变换等算法。不同的仪器可能配置不同的AD/DA 数据采集接口。由于信号的频率很高,所以CPU与IO模块之间的传输要求很高的带宽。传统基于PC机的测试仪器采用了PXI,面向仪器系统的PCI扩展总线。而Xilinx Zynq 为代表的异构SOC 芯片,将ARM CPU 硬核,FPGA ,NEON,AI 引擎集成在一个芯片上,CPU与FPGA 之间有大量的连线,增加了CPU与FPGA 的数据传输带宽。它们非常适合构建智能仪表平台。

        我们正在开发的modular-2PRO 是基于xilinx zynq 7020 的智能仪器平台,它支持4 个高速IO模块。实现各种仪器信号IO。

 

软件定义仪器的编程方法

                软件定义仪器的关键是如何配置和编程。类似labview 的图形编程语言被认为是没有编程经验的工程师最喜欢的方式,但是对应复杂的测试系统而言,使用图形语言的效率不高。一个简单的算法需要许多的图形来表达,没有程序设计语言简单与直接。因此,所谓简单都是相对而言的。熟悉了就感觉简单。对应程序员而言,计算机高级程序设计语言的表现能力是最强的。而且python 这样的语言就是为没有多少计算机程序设计背景的工程师准备的。

        如果测试系统是一个分布式系统,labview 图形设计语言更是有点力不从心。IEC61499 是面向分布式控制,测量和监督系统的功能块标准。IEC61499 功能块与labview vi,有几分相似之处。但是它却又是原生地支持分布式系统。

使用IEC61499 能够实现

  • 高速IO 模块建模:构建IEC61499 功能块
  • 功能块硬件加速:使用FPGA 实现硬件功能块,提高IEC61499 网络的执行效率,
  • 将IEC61499 的复合功能块转换成FPGA 的IP核。

结束语

        几乎任何智能设备和系统都需要具有可编程能力,作为一种基于功能块的分布式系统的编程方式,IEC61499 能够发挥其独特的优势, 去传统领域与IEC61131比拼,,目前并不是好的时机。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: IEC 61499是国际电工委员会制定的一个标准,它是面向工业自动化领域的分布式控制系统的模型和方法。该标准通过引入基于事件的数据流方法,使分布式控制系统更加灵活、可扩展且易于集成。CPython则是python解释器的一种实现,它是使用C语言实现的,因此具有更快的执行速度和更好的性能表现。 将IEC 61499和CPython这两者结合起来,可以意识到,这两者的结合可以实现更加高效和灵活的工业自动化系统。在编写工业自动化方案时,可以使用Python语言来编写控制程序,而CPython则提供了一种高效的解释器来实现这些程序的执行。此外,IEC 61499的模型和方法也可以与Python语言相结合,从而构建出更加完整的分布式控制系统,这将使得工业自动化的开发、测试和维护更加简单和高效。总之,IEC 61499和CPython这两个技术的结合为工业自动化领域带来了新的可能性和机会,可以满足不同工业自动化应用的需求。 ### 回答2: IEC 61499和CPython是两个不同的东西。IEC 61499是工业自动化领域中使用的一个标准,用于对分布式控制系统进行编程,以实现自动化控制。CPython则是Python编程语言的一种解释器,用于执行Python代码和脚本。 IEC 61499的主要特点是支持分布式控制,可以将控制系统分成多个独立的控制单元。每个控制单元都可以包含多个功能块,这些功能块可以相互通信和协作,实现复杂的控制逻辑。IEC 61499的编程模型基于事件驱动,每个功能块都可以响应输入事件,并输出结果事件。IEC 61499也提供了各种工具和框架,以简化开发和测试。 CPython是Python编程语言的一种解释器,它可以执行Python代码和脚本。Python是一种高级编程语言,具有简单易学、可读性高和强大的表达能力等优点。Python可以用于多种应用领域,如数据科学、Web开发、自动化测试等等。CPython是Python官方的解释器,也是Python社区广泛使用的解释器之一。CPython提供了各种模块和库,可以方便地实现各种功能。 虽然IEC 61499和CPython是两个不同的东西,但是它们可以结合使用,以实现工业自动化系统的编程。例如,可以使用Python语言编写基于IEC 61499标准的功能块,并使用CPython解释器执行。这样可以实现快速的开发和测试,同时保证系统的可靠性和稳定性。 ### 回答3: IEC 61499是一种工业自动化领域的国际标准,它定义了分布式控制系统的设计和实现规范。该标准基于组件化思想,将控制系统划分为独立的模块,每个模块都包含独立的状态和行为,并通过事件触发进行交互。这种模块化设计可以提高系统的可靠性、可移植性和可维护性。 CPython是一种使用C实现的Python解释器,它是Python的官方实现之一。CPython采用解释执行方式,将Python代码动态翻译为机器码,然后直接执行。CPython提供了大量标准库和第三方库,可以方便地编写各种类型的应用程序。 将IEC 61499和CPython结合起来,可以实现面向分布式控制系统的Python编程。使用IEC 61499的组件化设计,可以将整个控制系统划分成多个模块,每个模块都可以使用Python语言进行编写。CPython的强大功能和丰富的库支持,可以帮助开发人员更方便地实现各种控制算法和数据处理逻辑。 总之,IEC 61499和CPython的结合可以实现高效、可靠、易维护的分布式控制系统。它为工业自动化领域的开发人员提供了一种强大的编程工具,可以极大地提高开发效率和应用程序的质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值