现场总线(Fieldbus)是用于控制器与现场设备之间数字通信的一类工业网络。它让传感器、执行器、远程输入输出模块等通过通信链路交换测量值、控制指令和设备状态,而不必为每一种信息都设置独立信号连接。
Modbus、PROFIBUS和控制器局域网络(CAN)常被一起讨论,但名称覆盖的技术层次并不完全相同。Modbus主要定义应用消息,PROFIBUS是一套现场通信体系,CAN提供报文传输与仲裁基础,通常还要结合CANopen等高层协议理解设备数据。它们也不是前后替代的三代技术。

现场总线连接的是哪一层设备?
这里的“现场”,指直接参与测量与执行的设备层。例如,温度变送器提供过程温度,驱动器接收速度目标并回报运行状态,远程输入输出(I/O)模块集中采集附近的开关信号。可编程逻辑控制器(PLC)或其他控制系统通过网络与这些节点交换信息。[1]
在点对点信号方式下,一个测量值或开关量通常对应自己的信号通道;使用总线后,多类信息可编码为报文,在共同的通信网络上传送。读到的内容不再只能是一个数值,还可能包括设备状态、故障信息或参数。这种变化把部分原先依赖接线关系的区分,转移为通信地址、数据结构和软件配置。
总线并没有取消所有电缆。设备供电、普通I/O到远程模块的短距离连线,以及按系统要求设置的安全回路仍有各自职责。共享链路也需要考虑故障影响范围:一段网络通信中断,可能同时影响多个节点的数据更新。

先分清电气接口、通信规则与数据含义
理解现场总线时,可以依次问三个问题:信号怎样传输,设备怎样组织收发,收到的内容表示什么。电气接口处理信号电平等底层条件;通信规则定义帧、寻址或介质访问;应用协议及设备数据定义把数字对应到温度、速度、状态等具体含义。不同体系可能覆盖其中多个层次。
| 名称 | 应怎样理解 | 容易混淆的地方 |
|---|---|---|
| RS-485 | 电气接口规范,可用于多点串行通信。 | 有RS-485接口,不代表一定采用Modbus,也不代表数据地址和含义相同。 |
| Modbus | 以功能码和数据模型组织读写;应用消息可映射到不同网络。 | Modbus RTU与Modbus TCP的承载和报文封装不同。 |
| PROFIBUS | 现场通信体系;DP与PA在传输技术及应用条件上有区别。 | 不能把所有PROFIBUS都概括为同一RS-485物理网络。 |
| CAN与CANopen | CAN提供报文与仲裁基础;CANopen进一步定义高层通信和设备数据模型。 | 支持CAN收发,不等于已经实现CANopen。 |
Modbus应用规范明确将其定位为应用层消息协议;串行线路规范另行说明数据链路与物理接口。[9][10] CANopen也不是对CAN换个名字,而是在CAN基础上加入通信对象、对象字典及行规。[4] 因此,比较这些名称时要比较相同层面的能力,不能只把它们排成一张“速度高低表”。

Modbus、PROFIBUS、CAN是怎样发展起来的?
三条路线来自不同需求:Modbus围绕工业设备数据交换发展,CAN首先面向车内分布式控制通信,PROFIBUS则由工业现场总线的联合研发推进。随后,它们分别扩展到不同介质、应用规则和设备生态。
| 时间 | 公开里程碑 | 理解重点 |
|---|---|---|
| 1979年 | Modbus出现,应用规范将其工业串行通信历史追溯到这一年。[9] | 协议消息与后续承载方式要分开看。 |
| 1986年 | Bosch在SAE大会公开介绍CAN。[5] | 为分布式节点提供基于优先级的总线访问机制。 |
| 1987年 | 德国启动“Field Bus”联合项目,发展PROFIBUS。[1] | 工业现场设备联网形成独立技术路线。 |
| 1993年 | PROFIBUS DP发布。[1] | 面向分布式外设的高效数据交换。 |
| 1994年 | CiA发布首版CANopen规范。[6] | 在CAN之上组织应用层通信与设备行为。 |
| 1996年 | PROFIBUS PA推出,面向过程仪表应用。[1] | 扩展过程仪表的通信和传输条件。 |
这条时间线没有“Modbus升级成CAN,再升级成PROFIBUS”的含义。技术的发展体现为各自补充能力:Modbus消息可以经TCP/IP传送,CAN有面向不同用途的高层协议,PROFIBUS区分工厂与过程现场的传输需求。理解其来路,才能看懂为什么一座工厂内会保留多种网络。

Modbus:用功能码访问设备数据
Modbus以请求与响应组织一次典型的数据访问。客户端提出操作,例如读取输入寄存器;服务端检查功能和地址,返回相应数据,或在无法执行时返回异常信息。线圈和离散输入以位为基本单位,寄存器以16位字为基本单位;设备把自己的应用数据映射到这些对象。[9]
在Modbus串行网络中,通常由一个主站发起事务,被寻址的从站响应;广播写请求是例外,不返回响应。RTU规定了串行报文编码与校验等规则,常见物理接口为RS-485。[10] Modbus TCP则通过TCP/IP传送应用消息,不能把一帧RTU报文接到以太网插头上就当作完成转换。
能读到寄存器值,也不等于已读懂设备。假设一份教学设备说明把某输入寄存器定义为无符号温度值,每个计数代表0.1℃,读数253才可解释为25.3℃。如果另一设备采用不同单位、缩放或数据类型,同一个253就不能照搬解释。这个数值示例说明:功能码负责怎样访问,设备数据表负责访问到的内容是什么。
串行网络的更新时间还包含请求发送、设备处理、响应及等待。只提高波特率,不能消除处理延迟或超时;协议地址范围也不等同于任意物理网段都能连接相同数量的设备。
PROFIBUS:围绕周期数据交换组织现场设备
PROFIBUS DP的典型运行方式,是控制主站按配置循环地向从站发送输出数据,并读取输入数据。一个远程I/O站因此可以把多路现场信号作为结构化数据交给控制器。除周期交换外,还可以使用相应非周期服务处理参数或诊断;在多主站系统中,主站之间通过令牌管理总线访问权。[2]
这里的配置不只是填一个站地址。主站需要知道设备类型、模块和输入输出数据的格式、长度等;设备描述文件GSD用于向配置工具提供这些能力信息。通信能建立、实际配置一致、数据内容有效,是不同层面的条件。
DP常用RS-485,也可采用光纤。PROFIBUS PA把DP通信协议与曼彻斯特总线供电(MBP)传输技术结合,面向过程仪表;其通信与总线供电条件不同于常见DP网络。符合相应设计和认证要求的PA系统可用于本质安全场合,但“支持PA”本身不能替代整套防爆设计判断。[8]
所以,看到“PROFIBUS”后,还要知道是在讲DP的通信、某种物理介质,还是PA仪表网络。DP与PA不能仅凭同属一个协议家族就直接互接,网络间的耦合和数据组织仍需相应设备与配置支持。
CAN与CANopen:从报文仲裁到设备数据模型
CAN采用广播方式发送报文,接收节点依据配置判断是否使用这些内容。多个节点可以发起发送;若同时竞争总线,仲裁过程决定谁先完成传输,其他节点退出本次竞争并等待后续机会。对相同格式的经典CAN数据帧,较小数值的标识符具有较高优先级。[3]
例如,在教学网络中,两条11位标识符的数据帧0x100与0x200同时开始竞争,0x100优先。这里比较的是报文标识符,并不是简单规定“100号设备比200号设备高级”。优先级需要结合消息的时间要求设计;低优先级报文能否及时发出还受网络负载与其他消息影响,不能只凭CAN具备仲裁就宣布整套系统满足所有实时要求。
CAN解决了怎样发送、仲裁和检测部分传输错误,却不会自动告诉接收者某段数据代表电机转速还是温度。CANopen在其上定义对象字典和通信对象:对象字典组织设备参数与应用数据,过程数据对象(PDO)用于过程数据交换,服务数据对象(SDO)用于访问对象字典,网络管理(NMT)处理通信节点状态。设备行规进一步约定某类设备的数据和行为。[4]
这也解释了为何两个设备都有CAN接口仍可能不能直接协同:它们可能采用不同高层协议、标识符安排或数据定义。物理连接正常与应用互通,是两道不同的问题。
工业以太网出现后,现场总线怎样接入系统?
工业以太网把以太网技术用于工业通信。讨论网络架构时,常把传统串行现场总线与工业以太网分开;但从功能看,两者都可能承担控制器与现场设备之间的数据交换。它们在同一系统中可以共存。更完整的分类可参看工业通信协议、现场总线与工业以太网的关系。
一种典型架构是上层采用PROFINET,原有PROFIBUS DP设备通过具有代理功能的装置接入。代理在两个网络之间按定义映射数据,使控制器能够访问下层设备。普通网关也可搬运数据,但可传递的诊断、报警和其他功能取决于对应规范与实现;PI区分了网关的具体配置映射与代理的标准化映射。[7]

理解这类连接,需要同时看三件事:过程值是否按正确数据类型、单位和顺序映射;设备状态与通信中断是否能被上层识别;整条数据链的更新周期是否满足应用要求。网口、串口或协议名称相同,都不能单独回答这三个问题。
现场总线的核心价值,是让现场设备有组织地交换并解释数据。Modbus偏重可读写的应用消息,PROFIBUS组织周期现场交换及设备配置,CAN提供优先级仲裁而CANopen补充高层数据模型。沿着“传输—收发规则—数据含义”理解,就能看清它们的联系、差别以及与新网络共存的条件。
参考资料
- PI North America:PROFIBUS定义与历史
- Beckhoff:Fieldbus Overview
- CiA:Controller Area Network classic
- CiA:CANopen
- CiA:History of CAN technology
- CiA:CANopen history
- PI North America:PROFINET Proxies and Gateways
- Siemens:PROFIBUS with STEP 7 V13,2014,第10页
- Modbus Organization:Application Protocol Specification V1.1b3,2012
- Modbus Organization:Serial Line Specification and Implementation Guide V1.02,2006
评论留言
暂时没有留言!