现场总线技术到底是指什么,特别是 CAN 和 MVB?

现场总线技术出现之前,工业设备多数是通过 IO 方式点对点的方式进行连接的。拓扑图如下图 1 所示:

该拓扑结构在某些情况有严重的缺点:

  • 当现场设备和中心主机距离较远时,每增加一个设备都需要再加一根较长的通讯线直接连接到中心主机上,成本大幅增加。
  • 设备严重依赖中心主机,一旦中心主机发生故障,整个系统都有瘫痪的风险。

随着现场总线技术的出现,工业设备可以通过图 2 的拓扑图进行连接:

在该拓扑下,每增加一个设备,只需要就近「并联」接入到现场总线即可,成本大幅减少,同时支持多个主机,使得整个系统瘫痪的概率大幅降低。


那么到底什么是现场总线呢?简单地讲,它是一种工业数据总线,是自动化领域中底层数据通信网络;专业地讲,符合国际电工委员会现场总线标准(IEC61158)的总线,就算现场总线。说到 IEC61158,不得不提 OSI 7 层模型:它是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。IEC61158 里面只规定了应用层,数据链路层和物理层。如下图所示:

换言之,如果一种总线被称为现场总线,它就需要在这三层有定义,并且符合标准。

那么这三层大概都定义了什么内容?

  • 物理层:主要规定了使用哪些物理介质来进行通讯,例如规定使用的通信介质是屏蔽的双绞线还是光纤。
  • 数据链路层:主要定义了数据识别和纠错的内容,例如可以通过 MAC 地址,CRC 校验来进行数据识别。
  • 应用层:主要定义了每一包数据具体的含义,例如某些字节是控制信息,某些字节是状态信息。

从 OSI 角度来看,RS485 总线不能算现场总线,因为 RS485 总线并没有在应用层做任何定义。由于 RS485 总线比较简单以及普及度比较高,在下文中会多次提到 RS485 总线,并用它和现场总线进行对比。

当谈到总线,工程师一般都喜欢谈论什么?当然是技术参数了,表 1 列出了三种总线的主要技术参数:

从表 1 中可以看出,一般情况,性能越好的总线价格越高,使用场合越高端。以上三种总线比较有代表性,通常可以代表一般、中端和高端使用场合。


下面分析一种典型的使用场合,该工业网络包含中心主机,分控制器以及其他各种设备。如下图 4 所示,该拓扑和公司人员架构组成非常类似,中心主机是 CEO,分控制器是部门经理,设备是普通员工。中心主机一般用来显示和控制整个网络的信息,是整个网络的核心,通信网络一般使用速率较快的总线;分控制器主要用来管理和其相连接的设备,是整个网络的骨干,对上和中心主机通信,对下和各种设备通信;设备一般用来采集信息,功能相对来说比较单一,通信要求相对比较低。

和图 2 较为简单的拓扑图比起来,图 4 中增加了分控制器。

使用分控制器有以下明显的好处:

  • 可以连接不同种类的设备。每个分控制器对上(中心主机)采用同一种通信总线,但是对下(设备)可以采用不同的通信方式,从而可以连接更多种类的设备。
  • 方便故障定位。当系统出现问题,通过分控制器更容易快速锁定问题。
  • 通信效率更好。举个例子,如果没有分控制器,中心主机连接了多个温度传感器,温度传感器定时发送温度信息,即使温度没有变化,也需要发送数据证明自己工作正常,这些大量重复的信息会占用总线的带宽,影响通信效率。有了分控器,分控制器可以将这些重复的信息过滤掉,只发送一些重要的信息。就好比没有部门经理,公司 CEO 每天都需要检查每个员工的考勤,有了部门经理,检查员工的考勤的任务就可以下发给部门经理,公司 CEO 可以花更多的时间来做其他任务。

最后集中回答一下题主关心的问题:

  1. CAN 总线

CAN 总线是最有前途的现场总线之一,相对于其他总线来讲,CAN 总线具有通信速率高、容易实现、且性价比高等诸多特点,另外很多开发板都带 CAN 接口,网上资料也比较多,这里不详细介绍,如果有条件建议买一个开发板,入门级别的书籍推荐看《手把手教你学 CAN 总线》。

手把手教你学CAN总线_百度百科

2. MVB

MVB 全称是多功能列车总线,它的使用场合比较单一,高铁和地铁上基本都在使用 MVB。列车速度较快,并且与乘客的安全息息相关,所以对通讯速度和稳定性的要求更高,MVB 的通讯速率为 1.5M,为了保证通讯的稳定性,它有两条通讯线路,A 线和 B 线,当其中一条线路出现问题,可以快速切换到另一条,保证系统能够继续正常稳定地运行。下图为某地铁 MVB 拓扑图:

图中系统由 MVB 和 RS485 两种总线连接组成:MVB 有两条通讯线路,并贯穿整列车,RS485 只有一条通讯线路,只在单节车厢内使用。

3. 软件在现场总线中起到了什么作用?

上面我们提到现场总线在物理层,数据链路层还有应用层做了相关的定义。下面讲讲软件在这三层起到的作用:

  • 物理层:软件不起任何作用。
  • 数据链路层:软件可以配置总线的一些状态,总线会根据配置的状态自动接收或屏蔽相关信息。
  • 应用层:软件处理接收到的信息,也可以主动发送信息到数据链路层。

尾语:不同的现场总线有不同的技术特点和使用场合,在使用过程中可结合实际情况来进行选型。以上的内容只介绍了一些最基本的概念,想真正了解现场总线,还需要读者在实践应用中继续学习。除上文提到的三种现场总线,西门子所推动和主导的 PROFIBUS 在市场上也非常普遍,它不仅能和设备进行通讯,还可以给设备供电。感兴趣的朋友可以了解一下哦。

高级搜索-工业支持中心-西门子中国


特别鸣谢本文作者:

北京西门子西伯乐斯电子有限公司

研发中心 嵌入式软件工程师 李建武 @坝上的马儿

来源:知乎 www.zhihu.com

作者:西门子中国

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 3 个回答,查看全部。
延伸阅读:
谷歌智能车的难点在哪里?模式识别,还是分析、控制算法?
宝马生产线的技术领先在什么地方?