简介

各种设备和软件系统之间的高速通信是任何工业自动化系统的关键组成部分。甚至可以说,不同网络元素之间的实时数据交换和任务协调是整个过程控制和自动化的精髓所在。 有鉴于此,我们似乎应该讨论一下能够让来自不同供应商的多种设备进行高效通信的标准和协议。 通信协议是计算机科学的一个独立领域,有着悠久而复杂的历史(充满了研究人员和市场参与者之间的 "战争"),自 20 世纪 70 年代以来,针对各种应用和技术类型发布了一长串协议和标准。 在本文中,我们将主要讨论工业自动化应用中使用的通信协议,这些协议与任何希望了解本领域知识的人最为相关。

什么是工业通信协议?
通信协议是各种网络设备和软件系统数据交换过程中使用的规则组合。通信协议通常包含所有正式要求和标准的清单,包括语法、限制、程序、错误恢复和通信同步。 网络数据交换中使用通信协议的目的与计算中使用编程语言的目的相同。编程语言使用语法(一组命令字、短语、标点符号、上下文和其他结构元素)为计算过程定义单一的指令标准,而通信协议则规定了网络设备之间的交互方式。您也可以将协议比作算法而不是编程语言。 在工业自动化领域,硬件和软件解决方案以及两者的组合都在使用通信协议。

通信协议中的信息传递模式类型 网络通信协议中可使用的数据交换结构模式种类繁多。在工业通信协议中,最常用的两种模式是 "请求-响应 "和 "发布-订阅"。

请求-响应模式
请求-响应是工业通信协议和一般网络通信中最常用的信息传递模式之一。按照这种模式,客户端或调用者(可以是计算机、软件解决方案或其他网络设备)向服务器(或响应者)--任何可以提供数据的服务器或软件--请求数据或服务。

发布-订阅模式
在发布-订阅模式中,信息不是直接从一个源传输到另一个源,而是使用一个中间节点。信息发送者(或称发布者)将数据分类,然后将其发送到中间节点,再由中间节点分发给相应的接收者(或称订阅者)。 工业通信协议中常用的其他一些消息传递模式包括异步消息传递、各种多播模式、队列、消息代理等。

协议套件
为了在现代工业自动化网络的不同组件之间建立功能性信息交换,通常需要大量不同的通信协议。协议套件或协议栈(有时也称为协议族)是一组相关的协议,这些协议被设计成可以协同工作,实现不同方面的通信。 为了使通信协议的设计和实施更容易、更简单,这些协议通常只用于非常狭隘的目的,或用于实现特定网络组件之间的通信。每个通信协议通常至少与另外两个协议通信,这就是为什么单个协议套件中的特定协议采用层级结构的原因。协议栈的最底层通常负责硬件通信,每一层都会增加额外的功能和网络环境。

通信协议的历史
通信协议一词的起源可追溯到 20 世纪 60 年代后半期。最早描述通信协议的记录与 ARPANET(美国高级研究计划局网络)有关,这是第一个公共计算机网络,最初于 1969 年启动,最后于 1989 年退役。ARPANET 以 1822 协议为起点,定义了向 IMP(接口信息处理器)传输信息的方式。 1970 年,网络控制协议(NCP)在 ARPANET 上实施。NCP 是协议分层的最早范例之一,因为 NCP 的接口允许软件解决方案通过利用更高级别的通信协议在 ARPANET 网络上相互连接。传输控制程序(TCP)也是在 1970 年制定的(由研究人员 Robert E. Kahn 和 Vint Cerf 制定)。 1976 年,ITU-T 制定了基于虚拟电路的 X.25 标准,这是通信协议领域发展史上的另一个重要里程碑。多年来,主要的计算机硬件制造商都开发了自己的专有协议,如施乐网络系统和 IBM 的系统网络架构(SNA)。 1982 年,美国国防部宣布 TCP/IP 为所有军用计算机网络的标准通信协议。1982 年,TCP/IP 被安装在 SATNET(早期的卫星网络,是互联网的初始部分)上,1983 年被安装在 ARPANET 上。在 20 世纪 80 年代,TCP/IP 逐渐发展成为一个复杂的模块化协议套件,并成为新兴互联网的核心组成部分。

协议战争
所谓 "协议大战"(Protocol Wars)是指大致从 20 世纪 70 年代持续到 20 世纪 90 年代初的一段时期,当时国际计算机科学界的各方,包括研究人员个人、科学家团体和组织,不断就如何选择支持最佳网络性能的通信协议套件展开激烈辩论。 从本质上讲,协议大战是两种基本通信标准架构之争: TCP/IP 由美国国防部(DoD)开发,而接口标准则由欧洲(主要是英国和法国)的计算机研究人员开发--X.25 标准在先,OSI 标准在后。

冲突 "的起源
关于计算机网络通信接口标准的争论始于 20 世纪 70 年代初,当时全球计算机科学研究界首次面临需要制定一套通用的通信标准,使计算机网络中的各种硬件和软件组件能够相互交换信息。 起初,计算机科学领域的先驱与电话公司(主要是美国和英国的电话公司)在通信基础设施的总体构想和方法上存在冲突。美国的 AT&T 和英国的 PTT(邮政、电报和电话服务)垄断了通信基础设施,因此可以理解他们希望坚持传统的使用已建成的通信基础设施打电话和使用其他成熟的电报技术。 新兴计算机科学领域的先驱科学家和研究人员--如美国的保罗-巴兰和英国的唐纳德-戴维斯--正在推动数据通信网络中的分组交换这一创新概念,即把信息分成信息块并通过分布式网络发送。

TCP/IP 对 X.25
TCP/IP 协议之前的传输控制程序 (TCP) 早期版本于 1974 年制定。对通用网络通信协议的研究得到了 ARPANET 基础设施的支持,ARPANET 的研究人员是国际网络工作组的成员,该工作组的成立是为了制定互联网工作协议。国际网络工作组的成员还包括来自欧洲信息学网络、法国 CYCLADES 项目的专家以及在 NPL 网络工作的英国科学家。 来自不同国际组织和团体的研究人员旨在共同商定一个端到端协议标准。但是,数据报和虚拟电路这两种不同的数据通信方法的支持者之间的争论使这一过程变成了《计算机世界》杂志在一篇关于分组交换通信网络标准接口形成过程的报道中所描述的 "接入标准之争"。 欧洲 PTT 根据虚拟套接字概念开发并推广了 X.25 标准,而不是数据报方法。 下面谈谈这两种数据通信方法。

什么是数据报概念?
根据数据报模式,无连接数据报服务传输的每个数据都独立于其他数据包。

什么是虚拟电路概念?
虚拟电路则是一种面向连接的方法,由虚拟电路在终端之间依次传送数据包。虚拟电路模拟物理电路,无需包含任何路由信息,从而提高了信道效率。 1978 年,同时包含面向连接的虚拟套接字和数据报服务的传输控制程序被拆分为两个协议,增加了互联网协议(IP)作为无连接层。

什么是 TCP/IP 或互联网协议套件?
该协议(最初名为 IP/TCP)的第 4 版于 1982 年安装在 SATNET 上,1983 年安装在 ARPANET 上,并成为现在称为 TCP/IP 的标准网络模型(有时也称为 DARPA 模型、ARPANET 模型或国防部(DoD)模型)。 TCP/IP 包含多个协议层,采用不同的数据通信方法,最终被称为互联网协议套件。

什么是 OSI 模型?
OSI(开放系统互连)参考模型定义于 20 世纪 70 年代末,1984 年发布。它从系统互联的目的出发,为协调 ISO 标准的制定奠定了基础。在 OSI 模型中,通信接口分为七个抽象层:
物理层
数据链路层
网络层
传输层
会话层
呈现层
应用层。

互联网与 OSI 标准
互联网协议套件采用不同的体系结构,将 OSI 模型的物理层和数据链路层合并为一个链路层。此外,与 OSI 模型中的应用层、表示层和会话层不同,互联网协议套件的所有协议都只有一个应用层。 围绕最合适的基本协议模型展开的争论尤为激烈,这使得计算机科学领域的历史学家们最终将 20 世纪 80 年代末到 90 年代中期这段时间命名为互联网-OSI 标准之战。 这场 "战争 "的最终胜利者是互联网协议套件,该套件不断扩展,最终演变成 IPv6,目前仍是最新版本的标准。OSI 协议参考模型并没有得到如此广泛的普及和采用。尽管如此,它仍然具有现实意义,如今仍被用于云计算等某些领域。X.25 标准也没有完全消失,在某些利基市场仍有应用。

工业通信协议
在工业和其他领域的工作流程自动化中,用于建立机器、设备和软件解决方案之间有效通信的协议数量相当庞大。考虑到自动化技术的多样性和工业自动化中大量的特定应用,这是可以理解的。 让我们回顾一下您需要熟悉的一些最著名、最成熟的工业通信协议。

MQTT
MQTT(消息队列遥测传输)是一种轻量级发布-订阅网络协议,用于在设备之间传输消息。MQTT 专为高延迟、低带宽和不可靠网络的远程位置和连接而设计。 MQTT 是 IIoT(工业物联网)系统中使用的主要消息传递协议之一。 由于其简单性和灵活性,MQTT 如今已普遍用于嵌入式环境中的机器对机器通信,并成为连接物联网设备的事实标准开源协议。

MQTT 协议简史
MQTT 协议的第一个版本由 IBM 的工程师 Andy Stanford-Clark 和 Arlen Nipper 于 1999 年创建。该项目的最初目标是创建一个新的、轻量级的、带宽效率高的消息传输协议,用于监控 SCADA 工业控制系统中的石油管道,从而消除当时用于这些目的的昂贵的卫星链路连接。 2013 年,IBM 向 OASIS(结构化信息标准促进组织)提交了 MQTT 协议(v3.1),OASIS 是一个非营利性联盟,支持物联网、机器人和云计算等多个技术领域的开放数据标准。OASIS 于 2014 年发布了开放标准 MQTT(v3.1.1)。2019 年,OASIS 发布了更具实质性的升级版本 MQTT 5。 该协议的命名看起来有些混乱,因为完整版本--消息队列遥测传输--并不完全准确。该协议的原名是 MQ Telemetry Transport,其中的 "MQ "来自 IBM MQ(消息队列)系列产品。不过,MQTT 协议依赖于发布和订阅消息架构,根本不使用队列。在提交给 OASIS 时,该协议的正式名称是 MQ Telemetry Protocol (MQTP),但在相关文档中最常被称为 MQTT,因此该协议保留了这个有点误导性的名称。

什么是 MQTT Sparkplug?
MQTT Sparkplug 是一种开源软件规范,它为 MQTT 客户端提供了一种互操作性协议,用于无缝集成来自各种应用程序、设备、传感器和 MQTT 基础设施其他元素的数据。该规范最初由 Cirrus Link 开发,目前由 Eclipse 基金会管理,是 Eclipse Tahu 项目的一部分。 Sparkplug 专为基于 MQTT 的 IIoT 应用而设计,是 IIoT 系统的通用语言。它于 2015 年作为规范发布,定义了如何在关键任务、实时 OT(操作技术)环境中使用 MQTT。使用 Sparkplug 需要一个负责分发数据的 MQTT 代理。 Sparkplug 为 IIoT 系统的所有组件提供了通用的数据格式以及关于如何接收、发布和解释特定数据的规范,使 IIoT 解决方案的硬件和软件部分都能在完全安全的环境中交换数据。Sparkplug 要求所有数据传输都使用 TLS,并且不对新设备开放端口。该协议还允许整合来自非 MQTT 设备和其他流行行业协议(如 OPC UA 和 Modbus)的数据。

OPC
OPC(开放平台通信)是一套独立于平台的通信协议。OPC 以微软公司为其 Windows 操作系统开发的 OLE(对象链接和嵌入)、COM(组件对象模型)和 DCOM(分布式组件对象模型)技术为基础,主要为工业自动化应用中的过程控制而设计,但也广泛用于其他目的。

OPC 简史
该协议最初是由 Rockwell Software、Opto 22、Fisher-Rosemount、Intellution 和 Intuitive Technology 等几家工业自动化供应商组成的一个工作组于 1996 年创建的,当时的名称是 OLE for Process Control,其目标是为他们的设备开发一个单一的数据访问协议标准。 OPC 基金会成立于 1994 年,是一个由工业自动化公司组成的非商业性协会,致力于创建和维护开放连接标准。如今,OPC 基金会继续管理 OPC 标准的各个方面,包括合规性、认证和互操作性。 由于 OPC 标准已迅速在过程控制以外的工业自动化应用中得到采用,OPC 基金会于 2011 年更名为开放平台通信。

关于 OPC
OPC 标准定义了各种工业自动化设备和软件系统的通信协议,包括传感器、PLC、SCADA(监控和数据采集)系统、HMI(人机界面)解决方案等。OPC 规范涵盖了工业自动化网络中数据访问和交换的所有层面,如过程数据、历史时间序列数据、警报和事件。 OPC 数据访问是最常用的 OPC 规范。它用于工业自动化网络中网络节点之间的实时数据交换。OPC HDA(历史数据访问)用于建立历史过程数据交换,是由 OPC 基金会维护的另一个 OPC 规范。 其他 OPC 标准规范包括 OPC 报警和事件、OPC 批处理、OPC 数据交换、OPC 安全、OPC XML-DA、OPC 复杂数据、OPC 命令和 OPC 认证。 OPC UA 是一套全新的、与平台无关的通信标准,是由 OPC 基金会维护的另一个广泛使用的协议。

OPC UA
OPC 统一架构(OPC UA)是 OPC 基金会为工业自动化开发的一种独立于平台的面向服务的机器对机器通信协议。OPC UA 将单个 OPC Classic 规范的功能整合到一个可扩展的框架中。

OPC UA 简史
OPC UA 的第一个版本由 OPC 基金会于 2006 年发布。该项目的目标是扩展最初的 OPC 通信模型(主要集中在 COM/DCOM 架构上),使其具有更符合工业自动化需求的新规范。OPC UA 的架构是面向服务(SOA)的,基于不同的逻辑层次。

关于 OPC UA
OPC 模型中使用的 COM/DCOM 通信标准存在许多缺陷,这也是决定开发新协议的主要原因。COM/DCOM 的一些主要问题是安全性差、仅支持 Microsoft Windows 系统以及 DCOM 的配置问题。 OPC UA 是作为一种独立于平台且完全安全的协议而开发的,它易于扩展,支持全面的信息建模,包括映射到统一架构的所有 COM OPC Classic 规范。OPC UA 支持多种硬件平台,包括 PLC、微控制器、PC 和服务器硬件,以及各种操作系统,如 Windows、Linux、Android 和 iOS。OPC UA 服务器可扩展至 15 kB RAM 和 10 kB ROM,这使得它们可以在芯片级使用。

OPC UA 的优缺点
得益于其多层架构,OPC UA 为创新技术和解决方案(如新的编码标准、安全算法、传输标准等)的融入提供了一种简便的方式,而不会影响现有产品的向后兼容性。这使得基于 OPC UA 的设备制造商能够确保其解决方案与未来新增的产品兼容。 OPC UA 最基本的元素之一是信息建模框架,用于定义使用 OPC UA 公开信息模型所需的规则和基本元素。该协议还定义了必要的信息模型访问机制。 与 OPC 模型相比,安全性是 OPC UA 协议的另一个优势。它对防火墙友好,支持会话加密、身份验证、用户控制、消息签名、用户会话审计和其他解决安全问题的功能。OPC UA 的一些缺点是过于复杂,而且在实现系统的全面互操作性方面存在问题。完整的 OPC UA 协议规范由 14 份文件组成,总计 1250 页。由于其复杂性,大多数现有的 OPC UA 实现都不完整。此外,OPC UA 支持多种序列化格式,并允许选择性地实施某些服务。这使得开发真正独立于平台的客户端应用程序变得十分困难。 不过,OPC UA 协议仍在不断发展,OPC 基金会将其视为工业自动化机器对机器通信的标准化阶段,而非既定标准。

Modbus
Modbus 是一种数据通信协议,由 Modicon 公司于 1979 年开发,最初设计用于 Modicon 的可编程逻辑控制器 (PLC),后来逐渐成为工业电子设备的事实标准通信协议。如今,Modbus 已成为工业自动化解决方案中监控和数据采集 (SCADA) 系统中连接工厂/系统监控计算机与远程终端装置 (RTU) 的常用方式。

Modbus 协议简史
Modicon 公司是 1968 年美国第一个可编程逻辑控制器 (PLC) 的创造者。 Modicon 由 Bedford Associates 集团于 1968 年成立,该集团由四名工程师组成--Dick Morley、Tom Boissevain、George Schwenk 和 Jonas Landau--他们刚刚发明了模块化数字控制器。这项发明是贝德福德联合公司赢得通用汽车公司 Hydramatic(通用汽车公司的自动变速箱部门)所要求的以电子方式替代硬接线继电器系统的提案的结果。 贝德福德联合公司发明了新型控制器后,决定成立一家新公司,取名为 Modicon,即 MOdular DIgital CONtroller 的缩写。新公司成立后,专注于开发、制造、销售和服务这一新产品。 最初的 Modicon 数字控制器之所以能在市场上取得成功,是因为其设计坚固耐用,输入/输出(I/0)模块化,可以方便地连接各种现场设备,而且还采用了一种名为梯形逻辑(Ladder Logic)的新编程语言。这种新语言模拟了继电器触点和线圈的行为,而工业流程工程师对此早已耳熟能详。 几年后的 1971 年,工业自动化设备的另一个传奇品牌 Allen-Bradley 创造了 PLC(可编程逻辑控制器)这一术语,用来描述此类设备。1977 年,Modicon 被 Gould Electronics 收购,后者随后于 1989 年将其出售给 AEG。1994 年,AEG 与施耐德集团合并,成立了 AEG 施耐德自动化公司,并于 1996 年成为施耐德集团的全资子公司。1999 年,施耐德集团更名为施耐德电气。 2004 年,施耐德电气放弃了对 Modbus 的所有权,将其转让给 Modbus Organization,这是一个由 Modbus 兼容设备的用户和供应商组成的协会,旨在推广和发展 Modbus 协议。 ‍

什么是 Modbus 组织?
Modbus 组织总部设在马萨诸塞州,是一个非营利性的会员制贸易协会,由基于 Modbus 的自动化设备的用户和供应商组成。该组织成员包括自动化设备供应商、系统集成商、最终用户、开源开发商、教育工作者和其他各方。成立该组织的目的是支持 Modbus 协议,推动其应用,为使用 Modbus 的个人和公司提供信息和工具,并解决多个细分市场的分布式自动化系统架构问题。 Modbus 组织维护 modbus.org 网站,提供有关 Modbus 及其应用的信息,以及简化该协议实施所需的认证。该组织还从事与维护和推广 Modbus 有关的各种活动,包括维护和发展一致性测试计划,以确保提高 Modbus 设备的互操作性,以及开展教育和宣传活动。

关于 Modbus
Modbus 最初设计用于 Modicon 新发明的模块化数字控制器,并以开放和免版税协议的形式发布,很快成为工业环境中事实上的标准通信协议。 与其他标准相比,Modbus 通信简单、不受限制,易于部署和维护,因此在工业应用中大受欢迎。在传输层方面,Modbus 支持以太网、互联网协议套件和字符串行通信线路。该协议还允许连接到同一以太网网络或电缆上的多个设备进行通信。 如今,在电力和其他行业的监控和数据采集(SCADA)系统中,Modbus 通常用于连接工厂/系统监控计算机和远程终端装置(RTU)。该协议有多种版本,适用于不同类型的连接。它们包括 Modbus RTU(远程终端单元)、Modbus ASCII、Modbus TCP/IP、Modbus over UDP 和其他变体。 有趣的是,还有一种 Modbus Plus 协议,它不是 Modbus 的一个版本,而是一种涉及令牌传递的独立协议。Modbus Plus 的版权属于施耐德电气。

什么是 Modbus 安全协议?
2018年,Modbus组织宣布发布Modbus安全协议。 新协议通过将传输层安全性 (TLS) 与传统 Modbus 协议相结合,提供强大的保护。 TLS 封装 Modbus 数据包以提供身份验证和消息完整性保护。 新协议利用 X.509v3 数字证书对服务器和客户端进行身份验证。

AMQP
AMQP(高级消息队列协议)是一种二进制、开放标准的应用层协议,旨在实现所有面向消息的中间件之间的快速通信。 AMQP 支持广泛的消息传递应用程序和通信模式,并提供具有消息传递保证的流控制通信。

AMQP 简史
开发 AMQP 的项目由投资银行摩根大通于 2003 年发起,作为开发通用应用层通信协议的开放努力。 新协议的初步工作由摩根大通在第三方承包商的帮助下进行到 2006 年。 2005年,摩根大通开始与多家大型科技公司接洽,如红帽、思科系统、微软等大公司,组建合作工作组,共同开发AMQP协议。 红帽是最早加入摩根大通参与该项目的合作伙伴之一。 2005年,红帽还开始了Apache Qpid的开发,这是一个实现AMQP的开源消息系统。 最终,AMQP 工作组包括了 23 家公司:摩根大通、红帽、微软、巴克莱、高盛、思科系统、瑞士信贷、德意志交易所、美国银行、VMware(它收购了 Rabbit Technologies,该公司也是该工作组的一部分) )、HCL Technologies Ltd、Progress Software、IIT Software、INETCO Systems Limited、Informatica、my-Channels、Novell、Software AG、Solace Systems、StormMQ、Tervela Inc.、TWIST Process Innovations 和 WSO2。 2011年,AMQP工作组重组为AMQP OASIS技术委员会。 OASIS 是一个非营利性联盟,致力于各个技术领域中独立于产品的标准的开发、融合和采用。 AMQP 的第一个早期版本 (v.0.8) 于 2006 年 6 月发布,随后在接下来的两年内发布了许多其他版本。 AMQP 1.0 于 2011 年在纽约的一次会议上发布,随后演示了运行该协议的软件解决方案,这些解决方案由 Microsoft、Red Hat、VMware 和许多其他工作组成员开发。 AMQP 于 2012 年被批准为 OASIS 开放标准。2014 年,AMQP 还被批准为 ISO 和 IEC 国际标准。

关于AMQP
尽管 AMQP 是由摩根大通发起的,主要作为金融服务行业的协议,但它广泛应用于各个行业和各种中间件解决方案中。 由于 AMQP 协议旨在支持广泛的通信模式和消息传递应用程序,因此 AMQP 规范在多个层中进行了定义,例如类型系统、用于将消息从一个进程传输到另一个进程的性能协议、标准消息格式 和消息传递功能。 AMQP 是一种线路级协议,它是一种通过将数据作为字节流通过网络发送来从点到点获取数据的方法。 这允许任何工具创建、接收和解释此类消息,无论实现语言如何。 AMQP 协议最显着的一些功能是具有消息传递保证的流量控制通信,以及基于 TLS(传输层安全)协议和 SASL(简单身份验证和安全层)框架的支持身份验证和加密。 还有许多其他开放协议规范被视为 AMQP 的替代方案。 其中之一是 MQTT(消息队列遥测传输),这是一种在设备之间传输消息的轻量级发布-订阅网络协议。 其他包括 JMS(Java 消息服务)、STOMP(面向流文本的消息传递协议)、XMPP(可扩展消息传递和状态协议)和 OpenWire。

CAN bus
CAN(控制器局域网)总线是一种基于消息的协议,最初是为汽车行业的应用而设计的,但它可以用于各种技术领域。 CAN bus 的创建是为了允许车辆内的各种设备和微控制器直接相互交换信息,而不需要使用主机作为中介。

CAN bus简史
CAN 总线协议由 Robert Bosch GmbH(俗称博世)开发。 德国工程技术集团。 CAN总线专为多路电气布线而设计,以减少汽车对铜线的需求,于1986年正式发布,并于次年发布了首款CAN总线控制器芯片。 国际标准化组织 (ISO) 于 1993 年发布了 CAN 标准 ISO 11898。 CAN 2.0 于 1991 年发布,是该标准的最后一个编号规范。 然而,博世公司至今仍继续使用并扩展该标准。 2012年,他们发布了CAN FD 1.0(具有灵活数据速率的CAN)规范。 CAN FD 与现有 CAN 2.0 网络兼容,依赖于不同的帧格式,允许不同的数据长度和更快的比特率。

关于CAN bus协议
CAN bus是一种两线通信协议。 CAN bus协议设计用于乘用车、公共汽车和卡车,如今也普遍应用于许多其他类型的设备和机械。 仅举几例,CAN bus用于船舶和其他海事设备、电梯和自动扶梯、建筑自动化系统、医疗设备、照明控制解决方案等。 CAN bus是 OBD-II(车载诊断)车辆诊断标准一部分的五种协议之一,该标准于 1996 年强制要求在美国销售的所有汽车和轻型卡车使用。 CAN bus的一个主要显着特征是它是一种广播类型的总线。 在CAN网络中,数据传输到所有节点,包括网关、微控制器、传感器和其他设备。 由于 CAN bus是基于消息的协议,因此跨设备的每条消息都带有一个用于决定优先级的标识符。 帧中的数据针对每个设备串行提交,但如果多个设备同时传输信息,则标识符允许建立最高优先级的设备,该设备先于其他设备发送消息。 如今,CAN bus最常用于现代车辆中各种系统和子系统之间的通信。 通过 CAN bus网络进行的汽车系统通信包括巡航控制、电动助力转向、变速箱、音频系统、后视镜调节、门窗等。

busProfi
Profibus(过程现场总线)是建立在标准现场总线技术包之上的一系列通信协议。 Profibus 最初由德国计算机系统研究人员和制造商于 20 世纪 80 年代末开发,是最古老的通信标准之一,至今仍广泛应用于工业自动化领域。

Profibus 简史
Profibus的开发是由西门子等20多家德国电子系统制造商协会和BMBF(德国教育研究部)等社会机构共同发起的。 始于1986年,目标是基于现场设备接口的基本要求创建通用现场总线,并推广其在全球行业参与者中的使用。 Profibus用户组织(PNO)成立于1989年,主要由德国公司和机构组成。 在接下来的几年里,许多地区性 Profibus 和 Profinet 协会 (RPA) 成立,大部分遍布欧洲。 1995 年,Profibus 和 Profinet International 成立,作为一个包含所有 RPA 的单一国际实体。 如今,Profibus 和 Profinet International 被认为是工业通信领域最有影响力的利益团体之一。 它包括 25 个区域 RPA,其成员超过 1500 家自动化解决方案制造商和服务提供商。

关于Profibus
最初,Profibus 用户组织指定了两个版本的通信协议:Profibus FMS(现场总线消息规范)和 Profibus DP(分散式外设)。 如今,Profibus DP 是 Profibus 最常用的规范。 它在工业应用中用于监视和控制自动化系统内的传感器和执行器。 Profibus PA(过程自动化)是当今使用的第二个 Profibus 规范。 它是一种特定于应用程序的协议,主要用于过程控制系统中,以监控各种测量传感器和解决方案。 Profibus 架构依赖于四种类型的消息,专为特定应用而设计:SD1(接触检查)、SD2(数据传输)、SD4(令牌)和 SC(简答)。 根据最新报告,2020年安装的Probus设备数量比上一年增长了22%以上,总数达到170万台,其中包括用于流程工业应用的约80万台设备。

Profinet
Profinet(Process Field Net)是一种基于国际标准的开放式工业以太网通信协议。 Profinet 主要针对工业自动化应用而设计,支持各种传感器、控制器、设备、机械和软件解决方案之间的通信。 Profinet 由 Profibus 和 Profinet 国际组织维护,由于其强大的消息传输功能以及与其他基于以太网的协议(例如 OPC UA 或 MQTT)的兼容性,成为最常用的工业以太网标准之一。

Profinet 简史
创建新的以太网通信标准来替代 Profibus 的想法是在 2000 年 Profibus 用户组织的一次会议上提出的。 第一个 Profinet CBA(基于组件的自动化)规范于 2001 年发布,并于 2002 年成为 IEC 国际标准的一部分(由于 Profinet CBA 没有在市场上得到足够广泛的采用,该规范于 2014 年被删除)。 Profinet IO(Profinet 输入输出)的第一个规范于 2003 年发布,并于 2006 年成为国际标准 IEC 61158 / IEC 61784-2 的一部分。Profinet 协议于 2019 年通过时间敏感网络 (TSN) 进行了增强。 根据Profibus和Profinet International的最新报告,2020年全球安装的Profinet设备总数已突破4000万台大关,新增设备730万台(比2019年增加22%)。

关于Profinet
Profinet 协议基于级联实时概念,定义了集中控制系统和节点与连接到工业自动化网络的基于以太网的外围设备的通信。 Profinet 标准假定三种类型的网络设备:IO 控制器、IO 设备和 IO 管理器。 Profinet 网络应包含至少一个 IO 控制器,用于监视和控制一个或多个现场连接的 IO 设备(可包括多个模块和子模块)。 IO-Supervisor 通常是安装在主机上的软件解决方案,用于管理系统设置和监控连接的设备。 此外,在 Profinet IO 系统中,任何基于以太网的设备都可以同时充当 IO 控制器和 IO 设备。 应用关系 (AR) 用于定义 IO 控制器和 IO 设备之间的通信关系 (CR),从而实现 Profinet 网络内任务的有效协调和优先级排序。 即使 IO 控制器在没有 IO 设备的情况下同时运行,协议架构也允许协调任务,而无需额外的设备。 Profinet 的主要优势在于系统节点之间快速、可靠的数据交换,通常用于工业自动化系统中的关键应用。 Profinet 支持通过多种通信通道进行信息传输:TCP/IP、UDP/IP、Profinet 实时 (RT)、Profinet 同步实时 (IRT) 和时间敏感网络 (TSN)。 通常,TCP/IP 和 UDP/IP 通信通道用于非时间关键任务。 对于时间关键的应用,通常使用其他三种通信方法,从而能够创建实时 Profinet 通道,以在节点之间实现稳健且协调的数据传输。

CIP
CIP(通用工业协议,以前称为控制和信息协议)是一种独立于媒体、面向对象的通信协议,专为工业自动化应用而设计,基于生产者-消费者通信模型。 CIP 协议包含全面的消息和服务堆栈,支持工业自动化应用与企业以太网和互联网的集成,促进网络组件之间的数据交换、监视和控制、同步、网络管理等。

关于ODVA
CIP协议最初由罗克韦尔自动化于1990年末开发,现在由ODVA(开放设备网络供应商协会)组织管理。 ODVA 成立于 1995 年,是一家代表工业自动化解决方案开发商和供应商的全球组织。 该组织拥有超过 15 个技术工作组,由 ODVA 技术审查委员会监督,负责制定和维护其技术的通信标准和其他规范。 除了 CIP 之外,ODVA 还管理该协议的许多网络适配。 它们是 DeviceNet、EtherNet/IP、ControlNet 和 CompoNet。 该组织还提供许多 CIP 相关服务,例如 CIP Safety、CIP Security、CIP Energy、CIP Sync 和 CIP Motion。

关于CIP
CIP是一种面向对象的协议,专为网络通信的上层而设计。 该协议包含用于各种工业应用的大型对象库,例如通用网络通信、数据交换、网络设备的跟踪和监控以及自定义自动化功能。 CIP中的每个对象都有属性(数据)、服务(命令)、连接和行为(属性和服务之间的关系)。 CIP 确保在两个或多个设备中实现的相同对象或对象组将表现相同,从而实现所有 CIP 设备的互操作性。 CIP 设备中的一组对象称为对象模型。 基于生产者-消费者通信模型,它使网络组件能够更有效地利用网络带宽来交换数据,作为发送设备,许多接收设备可以进行通信,而不需要单个源将数据多次传输到多个目的地。 此外,CIP 定义了称为设备配置文件的标准对象分组,以确保单个 CIP 网络中来自不同供应商的多个设备的互操作性。 设备配置文件指定配置选项、I/O 数据格式以及来自不同供应商且具有相同设备配置文件的设备所需的其他特性,以具有相同的网络行为并响应相同的命令。

EtherNet/IP
EtherNet/IP是一种采用CIP协议来标准以太网的通信协议,允许用户在工业自动化应用中部署以太网网络。 EtherNet/IP 与 CIP、ControlNet 和许多其他协议一起由 ODVA 组织管理,是工业自动化环境中最常用的通信标准之一。

关于EtherNet/IP
EtherNet/IP 的开发由 ControlNet International 组织于 20 世纪 90 年代发起。 ControlNet International 和 ODVA 于 2000 年就 EtherNet/IP 的开发达成了联合技术协议 (JTA)。JTA 于 2009 年终止,该标准成为 ODVA 协议组合的一部分。 与所有 ODVA 协议一样,EtherNet/IP 遵循 OSI 模型并在其上层使用 CIP。 CIP 的面向对象设计为 EtherNet/IP 提供了实时控制应用所需的服务和设备配置文件。 该标准还纳入了最常见的以太网标准——互联网协议套件和 IEEE 802.3——使其适应 CIP 对象模型框架。 用于 I/O 适配器设备的 EtherNet/IP 堆栈的便携式开源实现的开发,名为 OpENer,于 2009 年开始开发。它支持多个 I/O 和显式连接,并包括用于使 EtherNet/IP 兼容的对象和服务 ODVA 规范中定义的产品。 OpENer 可在 GitHub 上获取。

ControlNet
ControlNet 是一种专为工业自动化应用而设计的开放式网络通信协议。 ControlNet 是 CIP 协议族的一部分,适用于高度确定性和预定目的。 ControlNet 协议与 CIP、DeviceNet、EtherNet/IP 和 CompoNet 一起由 ODVA 管理。 ControlNet 与 CIP、DeviceNet 和 EtherNet/IP 共享相同的应用层协议。 ControlNet 的所有上层(基于 OSI 模型)也基于 CIP。 ControlNet 独特的适配层是物理层、数据链路层、传输层和网络层。 ControlNet 的设计重点是提供可靠且高速的数据连接,这些数据连接按网络上的特定时间安排。 该协议架构支持执行不依赖于传输时间的关键消息传递,而不会干扰时间关键的任务。 ControlNet 支持完全冗余电缆,可与多种类型的工业自动化硬件和设备互操作,包括 PLC、HMI、机器人、PC、工业机械等。

EtherCAT
EtherCAT(控制自动化技术以太网的缩写)是一种基于以太网的协议。 EtherCAT 由 Beckhoff Automation 开发,最初于 2003 年推出,主要设计用于工业自动化中的实时和短更新时间应用。 如今,EtherCAT 协议由 EtherCAT 技术集团 (ETG) 管理,这是一个由各种工业自动化技术供应商、服务提供商、OEM 和其他各方组成的非商业协会。 ETG 拥有来自 69 个国家的 6,750 多家会员公司,被认为是世界上最大的工业以太网用户组织。

关于 EtherCAT
EtherCAT 按照 IEC 61158 进行标准化,直接在标准 IEEE 802.3 以太网帧内传输。 该协议针对通过以太网的过程数据传输进行了优化,具有快速响应和较低的硬件要求。 EtherCAT支持以任何顺序进行网络数据交换,独立于系统节点的物理顺序,以及以太网设备(通过交换机端口)和帧的连接。 EtherCAT 中的短循环时间是通过更改以太网数据包或帧的数据解释来实现的。 不再在每个节点接收数据。 相反,关键消息和短时/实时数据优先于其他类型的数据传输。 工业自动化系统、机器和设备的远程控制和监控是 EtherCAT 最常见的应用。 EtherCAT 实施的一些示例包括工业测量系统、机器人设备、装配系统、半导体解决方案、包装机等。

FINS
FINS(工厂接口网络服务)是日本电子制造商欧姆龙开发的网络通信协议,用于其PLC和其他设备交换数据并执行各种服务。

关于FINS FINS 协议允许欧姆龙 PLC 和其他供应商的兼容设备连接到以太网进行通信。 该协议还兼容以太网以外的网络标准,包括 DeviceNet、RS-232C、Controller Link、Host Link、SYSMAC LINK、Toolbus 等。 FINS 使用命令/响应系统,其中命令与参数(包括目标节点)一起发送,并且由目标节点返回响应。 还可以指定命令参数,以便在不需要时不返回响应。 命令还可以发送到本地网络上的每个节点。 FINS 协议依赖于三级寻址系统。 通过指定网络地址、编号以及节点的单元地址,可以建立各个网络节点之间的通信。 需要单元地址是因为每个节点上可以与多个单元进行通信。

BACnet
BACnet(BAC代表楼宇自动化和控制)是为楼宇自动化和控制系统中的各种应用而开发的通信协议,例如火灾探测、访问控制、照明控制、供暖、电梯、空调等。

BACnet 简史
BACnet 协议由 BACnet 委员会开发,该委员会是美国供暖、制冷和空调工程师协会 (ASHRAE) 的技术委员会。 该标准的制定于 1987 年在首次委员会会议上启动。 BACnet 最初于 1995 年作为 ASHRAE/ANSI 标准 135 发布,并于 2004 年成为 ISO 16484-5 标准。 BACnet 协议的维护和支持由 ASHRAE 常设标准项目委员会 135 完成。BACnet 测试实验室 (BTL) 负责维护具有全球 BACnet 认证的产品列表。

关于BACnet
BACnet协议提供了基于客户端-服务器模型的独立通信标准。 该标准专为楼宇自动化装置、设备和软件而设计,定义了用于交换数据、命令和状态信息的消息、格式和规则。 BANnet 包含许多用于楼宇自动化解决方案之间通信的服务,以及这些服务所作用的 60 种对象类型。 BACnet 提供的一些服务示例包括用于数据共享的 Read-Property 和 Write-Property,用于设备和对象发现的 Who-Is、I-Am、Who-Has 和 I-Have 等。BACnet 总共提供 38 种类型 服务分为五类:警报和事件服务、文件访问服务、对象访问服务、远程设备管理服务和虚拟终端服务。 BACnet 支持多个数据链路和物理层,包括以太网、RS-232 上的点对点、BACnet/IP、BACnet/IPv6、BACnet/MSTP、ARCNET、ZigBee、LonTalk 等。 如今,BACnet 是应用最广泛的楼宇自动化专用通信标准。 据 BACnet 委员会称,全球 60% 以上的项目都指定了它。

KNX
KNX 是另一种广泛用于楼宇自动化设备和系统的网络通信协议。 KNX 基于 OSI 模型,是一种免版税开放标准,最常应用于楼宇安全系统、火灾探测和访问控制、照明控制、供暖、电梯、空调以及其他家庭和楼宇自动化解决方案。

关于KNX KNX 标准从三个原始通信标准演变而来,并基于三个原始通信标准:欧洲家庭系统协议 (EHS)、BatiBUS 和欧洲安装总线 (EIB,也称为 Instabus)。 具体来说,KNX 依赖于 EIB 的通信堆栈,并增强了 BatiBUS 和 EHS 的物理层、配置模式和应用层。 KNX 协议的架构依赖于数据点(输入、输出、参数和诊断数据)来表示过程和控制变量。 数据点必须符合组织成多个功能块的标准化数据点类型。 KNX 由成立于 1999 年的非营利组织 KNX 协会管理。KNX 协会拥有 500 多家楼宇自动化技术供应商和服务提供商作为成员。 KNX 的开发是为了满足建筑物中电气安装的需求。 有数千个经过 KNX 认证的产品组,适用于家居和建筑领域的不同应用。 该协议还确保所有基于 KNX 的产品都与自动化电子供应商使用的所有主要通信标准兼容。

最后
由于工业自动化系统的多个组件之间的通信标准种类繁多,数据的有效收集和分析可能成为一个问题。