论
坛
中矿传动技术交流
行业技术
2021年第13期
2021年7月5日发布
自动化控制中的通讯协议概述
稿件来源:智能控制研发部 刘彬彬
摘要:智能控制研发部长刘彬彬,是我司自动化控制部门的大咖,其熟知和精通自动化控制程序的编写和运用。本文是他从实际的工作经验出发,将自动化控制领域通常使用的通讯协议进行梳理汇总,让感兴趣的读者可以一目了然的理解和学习各个通讯协议的特点和使用场景,特别是针对软件控制初学者,更能从中受益,并且会获益匪浅!
每个控制器或仪表都有自己独特的通讯协议,常见的有modbus通讯协议 、RS-232通讯协议、RS-485通讯协议 、串口通讯协议等,那么这些通讯协议究竟是怎么工作的,有哪些优缺点呢?本文根据现场经验及大多数控制器或仪表常用的通讯协议做重点介绍。
通讯协议:又称通信规程,是指通讯双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,它也叫做链路控制规程。
常用的仪表通讯协议:
modbus通讯协议、 RS-232通讯协议、RS-485通讯协议、 HART通讯协议、MPI通信、串口通信、PROFIBUS通信、工业以太网、PPI通信、TCP、 S7、profibus、pofinet、 MPI、PPI、 Profibus-DP、Devicenet、Ethernet等通讯协议。
Modbus通讯协议
Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。
a、特点
modbus通讯协议是一种主从式异步半双工通信协议,采用主从式通讯结构,可以使一个主站对应多个从站进行双向通信。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
Modbus协议包括ASCII、RTU等通讯方式,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用主-从方式,主站发出数据请求消息,从站接收到正确消息后就可以发送数据到主站以响应请求;主站也可以直接发消息修改从站的数据,实现双向读写。
b、主/从原理
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节点地址、路由路径及错误检测的方法。
当在网络上通信时,Modbus协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。
Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验。
另外,Modbus采用主从方式定时收发数据,在实际使用中如果某从站点断开后(如故障或关机),主端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。
图1 modbus 在工业系统中的应用
RS-232通讯协议
RS-232是美国电子工业协会EIA(ElectronicIndustry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号通常。RS-232 接口以9个引脚 (DB-9) 或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组RS-232 接口,分别称为 COM1 和 COM2 。
a、RS-232接口
RS-232标准设有25条信号线和9条信号线两种,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
b、传输速率
RS-232标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200波特率。
c、远程通信连接数据终端
RS-232标准最初是远程通信连接数据终端设备(DTE)数据通信设备(DCE)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
d、“发送”和“接收”
RS-232标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
e、电气特性
EIA-RS-232 对电器特性、逻辑电平和各种信号线功能都作了规定。
在TxD和RxD上:
逻辑1(MARK)=-3V~-15V
逻辑0(SPACE)=+3~+15V
在RTS、CTS、DSR、DTR和DCD等控制线上:
信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V
RS-232接口定义(9芯)
RS-232接口定义(25芯)
1频蔽地线
2 发送数据 TXD
3接收数据 RXD
4 请求发送RTS
5允许发送 CTS
6 数据准备好 DSR
7信号地 SG
8 载波检测 DCD
9 发送返回(+)
10 未定义
11 数据发送(-)
12~17 未定义
18 数据接收(+)
19 未定义
20 数据终端准备好 DTR
21 未定义
22 振铃 RI
23~24 未定义
25 接收返回(-)
f、RS-232缺点 :
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率≤20Kbps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺(实际≤15米)。
图2 RS-232通讯协议模块接口
RS-485通讯协议
RS-485标准是在RS232的基础上发展来的,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
RS-485的电气特性:
逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
传播速率:
RS-485的数据最高传输速率为10Mbps
RS-485接口:
是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
波特率:
1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、125K
通信接口方式:
RS485接口:异步,半双工,串行
数据格式:
1位起始位、8位数据位、1位停止位、无校验
1位起始位、8位数据位、1位停止位、奇校验
1位起始位、8位数据位、1位停止位、偶校验
当与现场总线适配器PROFIBUS连接时采用默认数据格式。
RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
9针型接口:
RS485接口 信号含义
3 RXD- 接收数据
4 RXD+ 接收数据
5 TXD+ 发送数据
7 TXD- 发送数据
缺点:
很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患共模干扰问题:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
图 3 rs-485通讯接口电路图
MPI通讯协议
MPI协议,其英文全名为Multi-point-Interface。在PLC之间可组态为主/主协议或主/从协议.如何操作依赖于设备类型:如果控制站都是s7—300/400系列PLC,那么就建立主/主连接关系,因为MPI协议支持多主站通讯,所有的s7—300 CPU都可配置为网络主站,通过主/主协议可以实现PLC之间的数据交换。如果某些控制站是s7—200系列PLC,则可以建立主/从连接关系,因为s7—200 CPU是从站,用户可以通过网络指令实现s7—300 CPU对s7200 CPU的数据读写操作。
图 4 MPI通讯协议软解操作界面
PROFIBUS通讯协议
PROFIBUS是一种国际化、开放式、不依赖于设备生产商的现场总线标准。PROFIBUS传送速度可在 9.6kbaud~12Mbaud范围内选择且当总线系统启动时,所有连接到总线上的装置应该被设成相同的速度。广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。
PROFIBUS协议结构是根据ISO7498国际标准,以开放式系统互联网络(Open System Interconnection-OSI)作为参考模型的。该模型共有七层。
(1)PROFIBUS-DP:定义了第一.二层和用户接口。第三到七层未加描述。用户接口规定了用户及系统以及不同设备可调用的应用功能,并详细说明了各种不同PROFIBUS-DP设备的设备行为。
(2)PROFIBUS-FMS:定义了第一.二.七层,应用层包括现场总线信息规范(Fieldbus Message Specification - FMS)和低层接口(Lower Layer Interface - LLI)。FMS包括了应用协议并向用户提供了可广泛选用的强有力的通信服务。LLI协调不同的通信关系并提供不依赖设备的第二层访问接口。
(3) PROFIBUS-PA:PA的数据传输采用扩展的PROFIBUS-DP协议。另外,PA还描述了现场设备行为的PA行规。根据IEC1158-2标准,PA的传输技术可确保其本征安全性,而且可通过总线给现场设备供电。使用连接器可在DP上扩展PA网络。 注:第一层为物理层,第二层为数据链路层,第三-六层末使用,第七层为应用层。
图 5 PROFIBUS通讯协议系统示意图
PPI通讯协议
是西门子公司专为S7-200系列PLC开发的通讯协议。内置于S7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主站靠PPI协议管理的共享连接来与从站通讯。PPI协议并不限制与任意一个从站的通讯的主站的数量,但在一个网络中,主站不能超过32个。PPI协议最基本的用途是让西门子STEP7-Micro/WIN编程软件上传和下载程序和西门子人机界面与PC通信。
图 6 PPI与USB 西门子连接线
pofinet通讯协议
PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PROFINET为自动化通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技术,可以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。
PROFINET是适用于不同需求的完整解决方案,其功能包括8个主要的模块,依次为实时通信、分布式现场设备、运动控制、分布式自动化、网络安装、IT标准和信息安全、故障安全和过程自动化。
a、分布式现场设备
通过集成PROFINET接口,分布式现场设备可以直接连接到PROFINET上。
对于现有的现场总线通讯系统,可以通过代理服务器实现与PROFINET的透明连接。例如,通过IE/PB Link(PROFINET和PROFIBUS之间的代理服务器)可以将一个PROFIBUS网络透明的集成到PROFINET当中,PROFIBUS各种丰富的设备诊断功能同样也适用于PROFINET。对于其他类型的现场总线,可以通过同样的方式,使用一个代理服务器将现场总线网络接入到PROFINET当中。
b、运动控制
通过PROFINET的同步实时(IRT)功能,可以轻松实现对伺服运动控制系统的控制。
在PROFINET同步实时通讯中,每个通讯周期被分成两个不同的部分,一个是循环的、确定的部分,称之为实时通道;另外一个是标准通道,标准的TCP/IP数据通过这个通道传输。
在实时通道中,为实时数据预留了固定循环间隔的时间窗,而实时数据总是按固定的次序插入,因此,实时数据就在固定的间隔被传送,循环周期中剩余的时间用来传递标准的TCP/IP数据。两种不同类型的数据就可以同时在PROFINET上传递,而且不会互相干扰。通过独立的实时数据通道,保证对伺服运动系统的可靠控制。
c、网络安装
PROFINET支持除星形、总线形和环形拓扑结构。为了减少布线费用,并保证高度的可用性和灵活性,PROFINET提供了大量的工具帮助用户方便的实现PROFINET的安装。特别设计的工业电缆和耐用连接器满足EMC和温度要求,并且在PROFINET框架内形成标准化,保证了不同制造商设备之间的兼容性。
根据响应时间的不同,PROFINET支持下列三种通讯方式。
TCP/IP标准通讯
PROFINET基于工业以太网技术,使用TCP/IP和IT标准。TCP/IP 是IT 领域关于通信协议方面事实上的标准,尽管其响应时间大概在100 ms的量级,不过,对于工厂控制级的应用来说,这个响应时间就足够了。
实时(RT)通讯
对于传感器和执行器设备之间的数据交换,系统对响应时间的要求更为严格,大概需要5-10ms的响应时间。目前,可以使用现场总线技术达到这个响应时间,如PROFIBUS DP。
对于基于TCP/IP的工业以太网技术来说,使用标准通信栈来处理过程数据包,需要很可观的时间,因此,PROFINET提供了一个优化的、基于以太网第二层(Layer 2)的实时通讯通道,通过该实时通道,极大地减少了数据在通讯栈中的处理时间,因此,PROFINET获得了等同、甚至超过传统现场总线系统的实时性能。
同步实时(IRT)通讯
在现场级通讯中,对通讯实时性要求最高的是运动控制(Motion Control),PROFINET的同步实时(Isochronous Real-Time, IRT)技术可以满足运动控制的高速通讯需求,在100个节点下,其响应时间要小于1ms,抖动误差要小于1μs,以此来保证及时的、确定的响应。
图 7 pofinet通讯板卡
Ethernet通讯协议
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。
Ethernet的工作原理:
以太网(Ethernet)采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。
以太网的工作过程如下:
当以太网中的一台主机要传输数据时,它将按如下步骤进行:
a、监听信道上是否有信号在传输。如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。
b、若没有监听到任何信号,就传输数据。
c、传输的时候继续监听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。
注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)
d、若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。
图 8 Ethernet通讯模块
(本文部分文字图片内容来自网络,如有侵权,请联系编者删除。)
(本稿件由中矿传动市场部整理编辑,经中矿传动技术支持团队审核授权发布!)
如有问题,欢迎技术咨询!
中矿传动竭诚为您服务!
垂询电话:0516-80139798