软件将决定工业自动化的未来_第1张图片
在过去的20年中,CPU和网络的性能提高了10,000倍。根据摩尔定律,在未来的20年里,他们将通过提高其他 10,000倍的因素。在当今工业自动化(IA)架构的40年设计生命周期中,计算机的功能将惊人地提高100,000,000倍。很难夸大其词,更多信息尽在振工链。
使用这种权力将决定哪些公司,行业,甚至是经济赢家或输家。对于明天的长寿命系统的当今设计者而言,启用智能软件是唯一重要的因素。
实际上,这已经在发生。在一个又一个的行业中,软件正成为每个系统中最有价值的部分。IA一直是该规则的例外。尽管如此,像自动驾驶汽车和智能医疗系统一样,IA可以使用传感器融合,快速分布式反应和人工智能(AI)来替代具有智能自主性的僵化或手动流程。
正在开发的体系结构旨在解决最近20年的问题,例如重新配置工作单元,小批量,灵活的自动化和供应商互操作性。使用灵活的软件比使用严格的规范更容易解决这些问题。未来属于软件。
苛刻的真相
当今的离散自动化系统使用简单的以硬件为中心的体系结构。可编程逻辑控制器(PLC)通过现场总线连接设备。PLC控制设备并管理与高级软件(如人机界面(HMI)和历史学家)的上游连接。工厂底层软件读取传感器,执行逻辑并驱动执行器,从而在“工作单元”中执行重复操作。工厂由一系列这些工作单元组成,每个工作单元都有几十个设备。
工作单元的编程方式并不多。制造工程师或技术人员使用一系列设备来实现单元中的功能。该设计的目的是使组装工作单元变得容易,而无需花费多少软件。不幸的是,最小化工厂中软件的目标无法使用先进的计算和智能系统。正如一位行业领导者雄辩地说的:
制造软件的严酷事实之一是它不是由软件工程师或计算机科学专业的人开发的。我们不会定期要求电气工程师设计机械系统,也不会要求化学工程师设计电气系统,但我们经常要求机械,电气和化学工程师设计和开发软件系统。”-Brand,Dennis L.( 2012-11-13T22:58:59)。工厂IT:将信息技术集成到自动化制造中。动量新闻。
布兰德的 “苛刻的事实”简直无法延续。出色的定制软件将取代可靠性,性能和互操作性,成为竞争的关键。这意味着工业公司将需要与竞争激烈的专业软件团队一起编写自己的代码。您无法与他人的软件打赢软件战争。
我们如何实现这个未来?首先,我们需要了解可用的工业架构框架。然后,我们可以将它们放在一起以启用软件驱动的IA。
什么是OPC UA和DDS?
顶级的工业架构框架是OPC统一架构(OPC UA,由OPC Foundation管理)和数据分发服务(DDS,由Object Management Group管理)。两者都在工业系统中得到了广泛采用,尽管不是在相同的用例中使用。DDS在医疗系统,交通运输,自动驾驶车辆,国防,电力控制,机器人技术以及石油和天然气中的应用中具有牵引力。OPC UA也用于许多这些行业,但没有用于应用程序。相反,OPC UA主要用于离散自动化和制造中。实际上,用例几乎没有重叠。

  1. OPC UA集成了从外部来源提供的软件,例如带有嵌入式软件的设备,HMI和历史记录。通过将标准接口指定为“伴侣规范”,它着重于供应商的互操作性。没有针对定制编写软件的功能,因此大多数系统几乎没有最终用户软件。相比之下,DDS提供了一个通用的数据模型,这是编写分布式软件的关键要求。因此,它支持程序员团队构建具有广泛自定义功能的大型分布式系统。与OPC UA不同,供应商软件很少。
    DDS支持发布订阅,OPC UA新规范“ PubSub”也支持。但是,OPC UA不会(也永远不会)执行DDS所做的事情。DDS从根本上说是一种软件开发体系结构。OPC UA不是。因此,问题不在于选择DDS还是OPC UA。问题是了解它们的作用,并确定您的设计需要哪个,或者是否需要两者。
    当然,这就引出了一个问题:它们为什么如此不同?
    DDS演变为控制系统的软件开发框架。DDS的第一个应用是用于通过以太网通信的智能分布式机器人技术的反馈控制系统。他们使用了由计算机科学家编写的大量定制软件。几乎所有DDS应用程序都集成了AI组件或非常智能的算法。DDS直接针对构建智能分布式机器的软件团队。
    相比之下,OPC UA在工厂环境中成长,正如布兰德尔指出的那样,软件工程师很少。它的主要目标是帮助以PLC为中心的工作单元设计选择不同的供应商硬件,而无需编写软件。工作单元会无休止地重复操作,但它们并不是真正的“智能”。OPC UA寻求最小化而不是启用软件开发。
    我们必须区分集成现有软件组件与编写新软件。OPC UA支持HMI和历史记录器等模块的软件集成。但是,它不提供构成智能软件模块的功能。它不是用于分布式应用程序的软件开发体系结构。
    OPC UA PubSub会做什么?
    OPC UA PubSub是一种将信息从发布者发送到许多订阅者的简单方法。发布者定期收集“数据集”,并将其写入其订阅者。数据集从OPC UA信息模型中拉出,实质上是键值对列表。在另一方面,订阅服务器将其解压缩并将其推入UA信息模型。还支持简单的结构化数据类型。
    大多数用户计划将OPC UA PubSub与UDP传输一起使用。它有一些简单的选项。它可以“打包”太大而无法放入网络数据包的数据(通常只有1.5 kB)。它可以将每个消息重发固定次数,以期提高可靠性。但是它不能通过检测和重新传输丢失的消息来保证可靠性。而且,它严格锁定执行;每个订户必须以相同格式获得相同数据。OPC UA PubSub还支持其他非实时消息传递中间件选项MQTT和AMQP。
    从根本上说,OPC UA PubSub提供了一种简单的机制来连接一组紧密耦合的设备上的变量。每个设备在同一时间以相同的速率获得相同的数据。使用正确的配套规格,可以确保设备的互操作性。UA PubSub非常新;部署的应用程序很少。
    DDS会做什么?
    与OPC UA不同,DDS支持具有简单概念的模块化软件定义系统:共享的“全局数据空间”。这仅表示所有数据看起来“好像”都存在于本地内存中的每个设备和算法中。当然,这是一种幻想。所有数据都不可能无处不在。DDS的工作方式是跟踪哪个应用程序需要什么数据,知道何时需要该数据,然后进行交付。因此,任何应用程序实际需要的数据都会按时显示在本地内存中。应用程序仅与“本地”数据空间通信,而不与彼此通信。
    这就是以数据为中心的本质:每个设备,每个算法在任何级别,以任何方式,随时“即时”对所有数据进行“本地”访问。最好将其看作是分布式共享内存,类似于虚拟实现的分布式控制系统(DCS)沙箱RAM。
    每个DDS模块都指定了可以在内存中交换的架构(类型)。DDS通过QoS参数控制流入和流出该结构化内存的流量,这些QoS参数指定了数据流的速率,延迟和可靠性。没有服务器或对象或特殊位置。由于DDS应用程序仅与共享的分布式内存进行交互,因此它们与其他应用程序的编写方式,运行位置或执行时间无关。它是整个系统中的一种简单,自然并行的软件架构。
    DDS实现了一系列功能来支持软件驱动的分布式控制,包括:
    服务质量(QoS)控制使软件模块解耦
    冗余管理,提高并行度
    内置发现可找到正确的数据源和数据源
    类型兼容性检查和可扩展性,以支持系统演进
    范围界定和桥接以提高缩放比例
    符合以数据为中心的架构的安全性
    透明路由,实现从上到下的一致数据访问
    数据持久性使应用程序可以随时加入和退出
    读者指定的内容过滤可提高效率
    速率控制可消除速率耦合。
    一些关键差异
    OPC UA PubSub不提供DDS核心的以数据为中心的功能。让我们深入了解。
    互通性
    OPC UA通过设备模型和配套规格在数百种情况下实现设备互操作性。OPC UA设备挤满了展会,被钉在墙上作为互操作性的证据。始终如一的信息:工厂工程师和技术人员可以使用OPC UA将设备组合到工作单元中,而无需编写代码。
    相比之下,今天没有设备预装DDS。这是因为DDS本身并不集成设备。而是DDS集成了软件模块。要将设备添加到系统,DDS用户将设备建模为软件。 
    DDS不需要为每个排列指定规格,而是通过“系统数据模型”集成了所有内容。它将设备功能从供应商的本地API映射到系统数据模型。DDS供应商提供了非常复杂的桥接和“数据路由”技术。因此,流行的“分层数据总线”架构允许系统通过在各层之间连接数据模型来进行扩展。这也意味着尽管接口不同,DDS系统仍可以连接到设备,Web技术甚至OPC UA。
    2.自动驾驶汽车正在彻底改变汽车行业。通过以数据为中心的方法,DDS可以处理车载和控制室用例。数据路由可在整个系统中提供一致的数据模型,从而构建可靠的大规模基础架构。要采用软件驱动,IA行业需要类似的系统方法。
    耦合
    耦合是衡量软件和系统组件之间相互依存性的一种方法。耦合很明显,就像将客户端耦合到服务器一样。它也可能是微妙的,例如当软件模块必须以特定顺序启动或以相同速率执行时。
    DDS以数据为中心的设计使所有数据看起来都是本地的,因此该应用程序未与任何其他应用程序耦合。DDS通过21种不同的QoS策略控制与数据的交互,这些策略包括截止日期,等待时间预算,更新频率,历史记录,生动性检测,可靠性,持久性,所有权,排序和过滤。只要它们仍足够接近以至于“兼容”,它还将转换不断演变的类型。
    DDS透明地在数百个平台和数十个网络上运行。不依赖于语言,操作系统,芯片架构或所使用的网络类型。因此,以数据为中心的应用程序可以并行工作并透明地共享数据而不会受到干扰。耦合仅是设计使然。
    相比之下,OPC UA应用程序直接相互通信。例如,在PubSub中,每个订阅者都以相同的速率从发布者那里获取完全相同的数据。每个订户都获得所有数据流,因此整个系统还依赖于具有相似的连接网络属性以及处处的处理器速度/负载。所有订户必须对发送的数据有相同的了解;因此,版本必须完全匹配。每个添加的参与者都添加一个依赖项,直接耦合系统。
    从根本上讲,解耦可帮助应用程序和设备独立运行。在工作单元中有几个订户的情况下,耦合可能无关紧要。耦合对于例如最小延迟的同步反馈控制可能是好的。在较大的系统中,耦合不好。松散耦合的系统更易于扩展,测试,与分布式团队一起构建,部署,理解和维护。每个耦合源都是一个实际的问题,而将多个源组合在一起会使人衰弱。除非绝对需要影响应用程序,否则良好的软件体系结构应避免耦合。
    发现
    无论应用程序位于何处,DDS都会在系统中自动发现已命名的“主题”。应用程序无需执行任何操作或具有任何知识即可查找所需的数据。
    在这种意义上,OPC UA不支持发现。订阅服务器查询服务器以获取包含其所需数据的发布者的配置。他们还可以对发布者进行自省,以查看发布者可以发布的内容。两者都是活动查询;OPC UA不执行系统范围内的自动发现。
    安全
    OPC UA和DDS使用根本不同的安全性方法。OPC UA保护基础传输。各种pubsub中间件选项和客户端-服务器需要不同的安全性实现(通常是证书)。可以安全地在OPC UA客户端和服务之间建立连接,但是没有通用的方法来指示允许哪些数据流向哪个客户端。
    DDS还可以保护基础传输,但是主要方法是提供整体数据流安全性,而不管传输如何。DDS从根本上说是一种流量控制技术。因此,借助描述了允许的读写访问权限的签名权限文档,DDS可以保护和控制数据流本身。这不需要任何代码。可以在整个系统运行之后添加安全性。
    缩放比例
    DDS支持将系统分开的域,系统中的分区以及子系统和网络之间的透明路由。使用透明路由,数据源可以很远。DDS系统可以增长到成千上万的应用程序。从上到下,跨子网或具有任何模式(pubsub,请求-答复或排队),DDS提供统一的数据模型,单一的安全模型以及对数据的一致访问。
    由于部署很少,因此尚未证明OPC UA PubSub的可伸缩性。但是,基于UDP的OPC UA PubSub不适用于单个网络上的多个设备。使用MQTT或AMQP,发布者可以与云服务器对话,但不能与其他OPC UA PubSub订阅者对话。OPC UA客户端-服务器旨在将工作单元汇总到更大的工厂中。因此,OPC UA不能以与DDS相同的方式提供统一的系统数据访问。
    筛选
    OPC UA订户可以选择带有过滤器的数据集,但这只是为了确保接收正确的数据。他们还可以限制对单个发布者的访问。
    DDS具有广泛的过滤功能。QoS匹配使订户只能从有能力的来源接收信息。基于时间的过滤器使生产者的速度与信息用户的速度脱钩。内容过滤将分析内容并仅提供符合规格的数据。这些过滤器一起可以确保在正确的时间以最小的带宽浪费将正确的数据传递到正确的位置。
    使用TSN
    TSN或时间同步网络(IEEE 802.1)是一组开发中的标准,建立在现有的以太网设计上,可以在有限的时间(也称为“同步”网络)中传输数据。
    使用TSN,OPC UA PubSub可以提供更好的实时性能。TSN可能是可靠的,因此OPC UA中基于UDP的可靠性不足并不是很关键。但是,由于TSN是以太网的一种,并且需要集中配置,因此它仅限于较小的单子网系统。
    DDS最初是为通过网络进行实时控制而开发的。QoS设置可以优化底层网络的使用,支持从慢速有损网络(如卫星链路)到同步传输(如背板总线和交换结构)的所有内容。在功能强大的硬件上,它提供了具有有限延迟的可预测且容错的一对多交付。
    将DDS与TSN结合使用可以实现更多的分布式确定性。TSN上的DDS系统可以将高级数据访问与真正的实时性能相结合。OMG的DTS over TSN的现行标准正在进行中,计划于2020年第四季度发布。
    我们什么时候应该结合能力?
    OPC UA的主要用例是帮助制造工程师无需编写软件即可构建工作单元。它用于制造“事物”,而不是作为正在制造的“事物”内部的软件。与之形成鲜明对比的是,DDS用户是构建应用程序的软件工程师。DDS 仅用于操作事物。因此,UA就是制造事物。DDS就是要使事情正常进行。
    在制造事物的事物(也称为智能制造系统)方面存在重叠。这些将很快需要复杂的系统软件和自定义编程。
    OMG最近通过了OPC UA / DDS网关 的标准。在最基本的级别上,此网关采用OPC UA信息模型,并使其在DDS全局数据空间中可用。主要用例是将启用OPC UA的设备转换为DDS设备。OPC UA设备可以简单地加入DDS网络。
    因此,在大型智能系统中,基于DDS的软件环境可以与OPC UA设备配合使用。这样既可以使用复杂的软件,也可以使用可互操作的设备。
    请注意,此设计提供了许多利用AI和智能软件的机会。在较高的层次上,DDS与基于云的智能接口。此设计的下一代还可以实现AI或智能算法以实现设备互操作性
    智能机器的未来
    历史学家将回顾我们的时间,想知道我们如何在没有智能机器的情况下过得怎样。过渡将不会很顺利-产品线,公司和整个国民经济都处于危险之中。布兰德的“苛刻的事实”可能是自动化领域中最危险的部分。这个真理将无法在智能机器时代生存下来。
    因此,卓越的软件必须加入制造技术组合。在未来20年中,制造系统的性能将不会提高10,000倍。互操作性将不会变得更有价值10,000倍。但是软件将变得更加重要10,000倍。这是指数计算增长的必然结果。任何不以计算能力为主要目标的架构都已经过时了。
    工业自动化需要采用软件开发吗?未来的制造系统会主要在唯一的用户代码上竞争吗?软件的未来是肯定的,更多信息尽在振工链。