| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> OPC UA Over TSN 的实时能力 -> 正文阅读 |
|
[系统运维]OPC UA Over TSN 的实时能力 |
????????在时间敏感网络上实现OPC UA 协议是一个热门话题,OPC UA 很热,TSN 也很热。从网络上的许多文章描述,OPC UA over TSN 代表了现场总线的未来。它们既能完成数字化建模,又能实现实时通信。看起来非常的完美。但是评估任何一项技术,离开了实际的测试数据,都是不够充分的。就拿这两项技术而言,实时性能力到底能达到什么水平?有的文章说能够达到100us 的周期(cycle),也有的讲400us 到1 ms。这种数据其实也是似是而非的。因为还要看每个节点的使用什么处理器(Intel 的i7与cortex-A 的处理器有很大的区别),每个周期传输多少数据,网络上有多少个节点。网络能够看到的测试还比较少。 一个测试????????在网络上找到这一篇文章,他们做了一些测试, Real-time capable OPC-UA Programs over TSN for distributed industrial control 实验结果????????我在此摘要上述文章中一些实验结果: 1 采用Intel Core i7-3615QE 四核 CPU(2.3G主频)的工业电脑 2 Intel i210网卡互联 3 具有实时能力的Preempt-RT Linux Kernel 5.0.14. 4 使用开源OPC UA open62541 PubSub 模式 测试结果测试的方法是不同长度的数据,发送一小时,测试的结果如下: 当传输8 到 160个字节(周期=200us) 测量事件1小时 数据消息大约180 million。 ????????文章中没有提及CPU 占用的时间,他们使用的工业PC的性能还是比较高的。如果换作低性能ARM 处理器 的话,OPC UA 的协议栈处理时间也是要从分考虑的因素。阅读过open62541 协议栈源代码的读者可以发现,OPC UA 协议栈涉及了许多的小函数,实现数据帧的拼接和分拆。这些操作无法使用DMA 等方式来加速。当传输的数据种类多,数据量大的话。协议栈的执行时间也是比较多的 ? 由此看来,UPC UA 在1ms 量级周期中传输小量数据能够满足实时性要求。例如在机器人控制中,1ms 内至少传输6 个浮点数。 ????????笔者认为,OPC UA /TSN 更适合分布式系统中设备之间的数据交换。设备之间的数据交换的数据量相对少,周期超过1ms。它们可能不适合EtherCAT 高速现场数据传输的应用场合。 ? 目前有一些自动控制厂商在产品中增加了OPC UA 的协议。对于小型设备而言,增加OPC UA 协议不能够影响原有控制功能的实时性要求。一种简单的方式是开发以太OPC UA 网关设备。或者在PLC 中增加一个独立的OPCUA模块。 OPC UA 的应用场景
大概只有最后一种更需要实时性保证。 OPC UA/TSN 构建控制系统使用opc ua/tsn 构建控制大致有两种 Client/server? ????????客户端/服务器模型已在典型的 SCADA 场景中成功使用,不同应用程序之间的连接数量不是很高时它会蓬勃发展。如果您有数十或数百台设备(即服务器)需要不断连接 - 或类似数量的客户端需要连接到任何服务器,您最终可能会遇到资源问题,因为每个连接和订阅都需要内务管理和它们导致网络中的单独流量。 pub/sub 模式????????在 PubSub 模型中,我们有一个Publisher组件,它可以定义包含变量或 EventNotifier 的DataSet 。然后,发布者将发布DataSetMessages,其中分别包含 DataChanges 或 Events。 OPC UA 为 PubSub 定义了两种不同的网络类型。 消息队列代理 - 实际上可以是 MQTT 或 AMQP 代理。在这种情况下,消息通常是 JSON 消息,尽管 UADP 可用于提高性能。OPC 基金会为消息定义了标准的内容结构,但基本上任何 JSON 订阅者都可以解释它们。 ? ? ? ?pub/sub模型的最大好处是能够实现一个设备发布,多个设备订阅。非常灵活。不过类似于MQTT 那样,使用broker 实现消息转发的话,实时性会大打折扣。适合OT/IT 之间的消息交换。 本地网络 - ????????在本地Ethernet 上构建实时网络有许多种方式,例如EtherCAT ,PowerLink 都是一种实时网络,与工业现场大多数时间触发实时网络不同,tsn采取了预留带宽,优先可以使用 UDP 广播(或在某些情况下为单播)或以太网 APL。消息是优化的二进制 UADP,在 OPC UA 规范中定义。因此,只有 OPC UA 订阅者可以解释消息。 ????????为了提高实时通信,底层网络可以使用TSN。不过值得注意的是TSN 是一种预留带宽和优先级分配带宽的通信策略。与EtherCAT,Powerlink 这种时间触发实实时网络相比,实时性与网络中信息量有关。 ????????????????如果底层的pub/sub 协议不是一个开放性协议的话,设备的互联互通也将成为一个问题,因此,采用本地网络上实现OPC UA 同样存在兼容性问题。 ? ? ? 实现实时网络的协议有许多种类,要根据具体的应用而定。没有放之四海而皆准的方法。 OPC UA 落地的关键????????笔者在多个场合都说过,OPC UA 落地的关键是使用它为具体的设备建模,只有大多数设备构建了OPC UA 模型。但是在发展的初期,为自己的设备建立OPC UA 模型并不能够为企业带来直接的利益,大多数企业采取的策略是除非客户指定,才会增加opc ua 模型。没有主动去做这项工作的动力。有许多场合技术的推进决定于商业模式,而不是技术本身。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:00:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |