2017年7月24日 汽车

时间敏感的网络:工业物联网的可靠通信

KaKay-photo

作者:Ka Kay Achacoso

今天的工业制造单元可以包括多个机器人臂,一些相机,位置传感器和网络一起连接在一起的一些控制器。摄像机和传感器将数据发送到控制器。控制器向机器人武器发送命令。当来自控制器的命令到达机器人手臂的命令迟到了十分之秒时会发生什么?或者如果传感器数据从未实际到达控制器,则会发生什么?机器人手臂可以过度过度坐标。控制器可以基于省略数据进行错误的决策。

现代汽车的车道保持/高速公路驾驶辅助系统可能包括GPS传感器、带有图像识别系统的摄像头、雷达和激光雷达传感器,以及控制转向、加速和刹车系统的中央控制器。中央控制器根据不同的传感器输入运行传感器融合计算。它可以高精度地计算当前车辆的位置及其与周围其他物体的关系,以便提供正确的车辆命令。当对应于同一数据采样时间的各种传感器数据在不同时间到达中央控制器时,会发生什么?这可能会导致错误的计算,并可能导致错误的转向,刹车或加速命令,这可能导致失败和碰撞。

在当今高度竞争的环境中,业务效率低下可能会导致您破产。功能安全问题给我带来的不可靠的通信甚至可以伤害人类的生命,就像一个机器人与人类合作的情况。这些问题可能会导致环境事故,比如石油钻井平台发生故障。

像CAN和Profibus这样的工业和汽车网络已经存在了几十年,以满足对健壮和可靠的网络设备的需求。但是这些孤立的网络需要特殊的电缆和线路,需要维护,并且可以增加车辆的重量,这在今天的应用中是不可行的。

一个可靠的工业和汽车应用网络需要100%的命令和数据准时到达。每个消息包含命令和数据必须在毫秒,这样到达目的地整个事件链从传感器输入,传感器数据处理,数据发送到控制器,控制器决定处理,发送命令,收到命令,命令的处理,执行行动,所有这些都可以在一秒内发生。来自系统中众多传感器和控制器的干扰,或来自外部消息的干扰都可能是致命的。

时间敏感网络(TSN)利用现有的以太网硬件基础设施,创建适合关键工业和汽车系统的可靠网络。通过TSN,工厂可以使用现有的IT硬件来连接其设备。在汽车应用中,车辆可以用更轻、更细的以太网电缆取代所有重型线路,并将所有设备,包括紧急制动系统等关键设备,以及诊断系统等非关键设备,放在同一个网络上。

使用TSN IEEE802.1 QBV进行预定流量的工厂楼层系统示例

TSN包括几个规范。为了保证100%的网络数据包准时到达,IEEE 802.1Qbv规范描述了调度流量系统。本文以VxWorks RTOS为例说明调度流量的使用。

考虑如图1所示的工厂车间系统。该制造单元有2个工业控制器,3个机器人手臂,4个传送带控制器,15个传感器设备。连接了用于用户与工业控制器交互的主控制计算机。还有一个用于操作员互动的辅助亭。还有一个网关连接,以便远程用户可以访问主控计算机。系统周围散布着4个交换机,将所有设备连接在一起。

图1所示。厂区网络拓扑

诊断1

让我们来看看消息的临界流程。下面的图表中的图表仅显示了必须按时到达的消息。其他非关键流量,如控制器的操作员配置,或向网关发送出的工厂统计信息,没有子毫秒的截止日期,并且不参与TSN计划流量。

图2.工厂造物临界流程。

直接2

简化拓扑

拓扑结构和关键流的识别是TSN实现的第一步。出于演示目的,本文介绍了一个简化的拓扑。演示由2个开关、一个工业控制器和一个机器人手臂组成。为了测试目的,演示还包括2个非关键器件。

图3.简化的工厂楼层网络拓扑

图3

用于代表这种简化工厂车间的实际硬件是两个具有TSN能力的Cisco IE4000交换机,以及两个配备英特尔i210网络控制器的英特尔酷睿i7板,以代表工业控制器和机器人手臂。非关键设备为2台Linux笔记本电脑。

下面的图4显示了简化的拓扑。红色箭头显示定义的单个临界流程,表示从工业控制器到机器人臂的关键命令。

图4.简化工厂地板中的临界流程

图4

从拓扑中,两个交换机之间的单行会为流量创建一个瓶颈。

对于此演示,代表工业控制器的板称为VxWorks Talker,机器人ARM称为VxWorks侦听器。VxWorks Talker将1KB数据包发送到VxWorks侦听器一秒钟。首先,数据包作为常规以太网数据包发送,没有TSN。

图5. VxWorks侦听器控制台输出

中断:5秒内500000字节。乱序:0

中断:5秒内500000字节。乱序:0

中断:5秒内500000字节。乱序:0

中断:5秒内500000字节。乱序:0

上面图5中的VxWorks侦听器控制台消息以5秒的间隔打印出接收到的字节数。由于VxWorks会话器每5秒发送500,000字节,我们可以看到VxWorks侦听器接收到它100%的数据包。在这种情况下,常规的非tsn网络没有任何问题。

现在,演示使用Linux笔记本电脑将网络流量大量注入系统。用于网络带宽测量的iperf3应用将流量爆炸到网络中。

图6. VxWorks侦听器控制台输出,用于非TSN流量,具有沉重的干扰流量。

中断:5秒内的456000字节。超出序列:40

中断:474000字节在5秒。顺序不对:25

中断:5秒内466000字节。顺序不对:33

中断:5秒内的459000字节。超出顺序:36

查看图6中的VxWorks侦听器,从未接收到500000字节中的一些消息。当不使用TSN流时,过大的流量会导致VxWorks讲话者和VxWorks侦听器之间的消息中断。大约6-8%的消息会被丢弃。在自动化制造应用和车辆驾驶辅助应用中,交通流量的下降是不可接受的。

添加计划流量

为防止关键消息流中断,使用计划流量。具有英特尔I210网络控制器的两个Cisco IE4000交换机和VxWorks设备完全能够在预定流量上运行。

首先,所有的TSN端点(包括VxWorks讲话者和VxWorks侦听器)和TSN交换机(两个Cisco交换机)必须将它们的时钟同步到1微秒以内。精确时间协议,另一个TSN规范,在端点和开关上影响这个同步。前一个博客条目提供详细信息和展示如何实现这一目标。

接下来,系统集成器创建一个必须在所有TSN端点和TSN交换机之间共享的系统范围调度。调度在很大程度上取决于拓扑结构和关键流。

上面描述的简化演示系统有一个已定义的流程。该流起源于VxWorks talkker,将切换1,切换2,到VxWorks listener。这个单一的流动就是临界流动。在这个演示中,它被称为临界流-1。

图7列出了一个可能的流量计划。每一毫秒,VxWorks讲话者可以在69微秒到89微秒之间发送Critical-Flow-1数据包。Switch 1只接受来自VxWorks talkker的属于Critical-Flow-1的数据包。Switch 1将在146微秒到166微秒之间向Switch 2发送Critical-Flow-1包。交换机2只接受来自交换机1的146微秒到166微秒之间的临界流-1数据包。交换机2只会在425 ~ 445微秒之间向VxWorks讲话者发送Critical-Flow-1数据包。

图7可能的IEEE 802.1Qbv流量计划

图5

对于临界流程的预定流量,我们使用IPerf3 Linux应用程序再次运行演示来泛滥网络。

图8所示。VxWorks侦听器控制台输出与TSN流量的繁重干扰流量。

中断:5秒内500000字节。乱序:0

中断:5秒内500000字节。乱序:0

中断:5秒内500000字节。乱序:0

中断:5秒内500000字节。乱序:0

使用TSN,所有数据包都能准时到达VxWorks侦听器,即使干扰流量泛滥。报文不丢失。

这个简化的演示可以扩展到实际的系统,定义了10个、20个或30个流,在复杂的环形拓扑中添加了额外的交换机,以及挂在交换机上的更多的交谈器和侦听器端点。

周围的需求

调度流量依赖于系统中所有关键节点之间的共享调度。反过来,跟踪调度的能力取决于亚微秒级时钟同步和在硬件定时队列上发送的能力。只有具有硬件时钟同步和定时队列功能的网络控制器才能使用TSN。本演示中使用的Intel I210网络控制器具有用于时钟同步的硬件时间戳功能。它还具有定时发送功能的QAV寄存器。

对于终端软件,TSN讲话者必须知道如何采取IEEE 802.1Qbv流量调度,并设置网络控制器按照调度发送。VxWorks提供了这样的功能。

所有引导关键流的交换机都必须启用TSN,这样交换机才能遵循IEEE802.1Qbv流调度,并将TSN流排在最高优先级。本演示中使用的思科IE4000交换机提供了这种能力。

制定计划

演示中的时间表是使用思科为他们的IE4000交换机提供的集中网络配置(CNC)软件工具创建的。该工具将网络拓扑、流需求(通话器和监听器端点、时间约束、数据包大小等)作为输入。调度程序计算调度,CNC将调度分配给交换机。

TSN下的规范具有其他机制,用于将输入和输出自动化到计划,包括自动拓扑发现,自动流量需求输入以及交通计划的自动分配到交换机和端点。

阅读更多信息IEEE 802.1QBV..另外,要查看VxWorks的信息,请访问我们在这里.可以找到有关Cisco的TSN交换机和其他TSN功能的信息在这里

风河公司和英特尔公司参与了工业互联网联盟(IIC) TSN测试平台,以确保TSN与多个供应商的互操作性。了解更多在这里

以前的虚拟化工业控制应用时,安全性不会妥协
下一个不断创新和降低运营成本