大部IT从业人员对于工业控制协议比较陌生,因此在做工业大数据采集时,对于各类工业协议并不清楚,现在简单把在做工业大数据采集时常见的几种工业协议整理了一下,以便搞清这些工业协议的概念和区别。
常见的工业协议按照OSI(Open System Interconnect)参考模型分到了不同层次,这只是为了容易理解和区分各类协议,实际上,随着各种协议的发展,很多自身都跨越了很多层次,能够实现多层协议的功能,我们做的划分只是它最重要的功能所处的协议层。
一、物理层
1.RS232
RS-232是美国电子工业协会EIA(ElectronicIndustry AssociaTIon)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号通常。RS-232 接口以9个引脚 (DB-9) 或是25个引脚(DB-25) 的形态出现,一般个人计算机上会有两组RS-232 接口,分别称为 COM1 和 COM2 。
RS-232标准设有25条信号线和9条信号线两种,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200波特率。
RS-232标准最初是远程通信连接数据终端设备(DTE)数据通信设备(DCE)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
2.RS485
随着企业信息化发展的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。
最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能。随后出现的RS485解决了这个问题。
485通讯接口一个对通讯接口的硬件描述,它只需要两根通讯线,即可以在两个或两个以上的设备之间进行数据传输。
这种数据传输的连接,是半双工的通讯方式。
在某一个时刻,一个设备只能进行发送数据或接收数据。而RS232是全双工,最少3条通信线(RX,TX,GND),因为使用绝对电压表示逻辑,由于干扰,导线电阻等原因,通讯距离不远,低速时几十米也是可以的。
在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想相互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是"从(Slave)"设备。
而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题 。
二、数据链路层
1.CAN
控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。
是由德国博世公司在20世纪80年代专门 为汽车行业开发的一种串行通信总线。
由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。
CAN协议分为二层:物理层和数据链路层。
CAN的信号传输采用短帧结构,传输时间短,具有自动关闭功能,具有较强的抗干扰能力。
CAN支持多主工作方式,并采用了非破坏性总线仲裁技术,通过设置优先级来避免冲突,通讯距离最远可达10KM/5Kbps/s,通讯速率最高可达40M /1Mbp/s,网络节点数实际可达110个。
由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展;
2.ProfiBus
ProfiBus是德国标准(DIN19245)和欧洲标准(EN50170)的现场总线标准。
由PROFIBUS--DP、PROFIBUS-FMS、PROFIBUS-PA系列组成。
DP用于分散外设间高速数据传输,适用于加工自动化领域。
FMS适用于纺织、楼宇自动化、可编程控制器、低压开关等。
PA用于过程自动化的总线类型,服从IEC1158-2标准。
PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。
可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。
该标准广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。
3.TCP/UDP
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。
三、应用层ModBus
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。
其系统结构既包括硬件、亦包括软件。
它可应用于各种数据采集和过程监控。
ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。
Modbus协议是应用于电子控制器上的一种通用语言。==通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信==。它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
==Modbus是通讯协议,而RS232、RS485只能代表通讯的物理介质层和链路层。==
Modbus协议支持传统的RS-232、RS-422、RS-485和以太网设备。
许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
四、软件接口OPC
OPC全称是Object Linking and Embedding(OLE) for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。
在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。
通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。
在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。