第7章 可编程序控制器的通信及网络 7.1 数据通信简介 7.2 工业局域网基础 7.3 西门子PLC网络 7.4 MPI网络与全局数据通信 第7章 可编程序控制器的通信及网络 7.1 数据通信简介 7.2 工业局域网基础 7.3 西门子PLC网络 7.4 MPI网络与全局数据通信 7.5 S7系列PLC与其他计算机的通信 思考与练习题
7.1 数据通信简介 无论是计算机还是PLC,它们都是数字设备。它们之间交换的信息是由“0”和“1”表示的数字信号。通常把具有一定的编码、格式和位长要求的数字信号称为数据信息。 数据通信就是将数据信息通过适当的传送线路从一台机器传送到另一台机器。这里的机器可以是计算机、PLC或具有数据通信功能的其他数字设备。 数据通信系统的任务是把地理位置不同的计算机和PLC及其他数字设备连接起来,高效率地完成数据的传送、信息交换和通信处理三项任务。数据通信系统一般由传送设备、传送控制设备和传送协议及通信软件等组成。
7.1.1 数据传输方式 1. 并行传输与串行传输 若按照传输数据的时空顺序分类,数据通信的传输方式可以分为并行传输和串行传输两种。 (1) 并行传输。数据在多个信道同时传输的方式称为并行传输。其特点是:传输速度快,但由于一个并行数据有多少位二进制数,就需要有多少根传输线,因而成本较高。通常,并行传输用于传输速率高的近距离传输。
(2) 串行传输。数据在一个信道上按位顺序传输的方式称为串行传输。其特点是:串行传输通常只需要一到两根的传输线,在远距离传输时,通信线路简单,成本低,但与并行传输相比传输速度慢,故常用于远距离传输而速度要求不高的场合。
2. 基带传输与频带传输 根据数据传输系统在传输由终端形成的数据信号的过程中,是否搬移信号的频谱和是否进行调制,可将数据传输系统分为基带传输和频带传输两种。 (1) 基带传输。所谓基带,是指电信号的基本频带。计算机、PLC及其他数字设备产生的“0”和“l”的电信号脉冲序列就是基带信号。基带传输是指数据传输系统对信号不做任何调制,直接传输的数据传输方式。在PLC网络中,大多数采用基带传输,对二进制数字信号不进行任何调制,按照它们原有的脉冲形式直接传输。但是若传输距离较远时,则可以考虑采用调制解调器进行频带传输。
为了满足基带传输的实际需要,通常要求把单极性脉冲序列经过适当的基带编码,以保证传输码型中不含有直流分量,并具有一定的检测错误信号状态的能力。基带传输的传输码型很多,常用的有曼彻斯特(Manchester)码(双相码)、差分双相码、密勒码、传号交替反转码(AMI)、三阶高密度双极性码等。在PLC网络中,采用较多的是曼彻斯特编码方式。主要原因是:该种编码方式在传输过程中,为了避免当存在多个连续的“0”和“1”时,系统无同步参考,故在编码中采用发送“1”时前半周期为低电平,后半周期为高电平,传输“0”时前半周期为高电平,后半周期为低电平的办法。这样在每个码元的中心位置都存在着电平跳变,具有“内含时钟”的性质,即使连续传输多个“0”或“1”时,波形也有跳变,有利于提取定时同步信号。
(2) 频带传输。频带传输是把信号调制到某一频带上的传输方式。当进行频带传输时,用调制器把二进制信号调制成能在公共电话上传输的音频信号(模拟信号)在通信线路上进行传输。信号传输到接收端后,再经过解调器的解调,把音频信号还原为二进制信号。这种以调制信号进行数据传输的方式就称为频带传输。可采用三种方式进行调制:调幅、调频和调相。这三种调制方式的信号关系如图7.1所示。 调幅是指根据数字信号的变化改变载波信号的幅度。例如,传送“1”时为载波信号,传送“0”时为0,载波信号的频率和相位均未改变。
调频是指根据数字信号的变化改变载波信号的频率。“1”时频率高,“0”时频率低,载波信号的幅度和相位均未改变。 调相是指根据数字信号的变化改变载波信号的相位。数字信号从“0”变为“1”时或是从“1”变为“0”时载波信号的相位改变180°,但频率和幅度均未改变。 基带传输方式使整个频带范围都用来传输某一数字信号(即单信道),常用于半双工通信。频带传输时,在同一条传输线路上可用频带分割的方法将频带划分为几个信道,同时传输多路信号,例如,传输两种信号,数据发送和传输使用高频信道,各站间的应答响应使用低频道,常用于全双工通信。
图7.1 三种调制方式示意图 (a) 调幅;(b) 调频;(c) 调相
3. 异步传输和同步传输 发送端和接收端之间的同步问题,是数据通信中的重要问题。同步进行的不好,轻者导致误码增加,重者使整个系统不能正常工作。在传输过程中,为解决这一问题,在串行通信中采用了两种同步技术:异步传输和同步传输。
(1) 异步传输。异步传输也称起止式传输,它是利用起止法来达到收发同步的。在异步传输中,被传输的数据编码为一串脉冲,每一个传输的字符都有一个附加的起始位和多个停止位。字节传输由起始位“0”开始,然后是被编码的字节,通常规定低位在前,高位在后,接下来是校验位(可省略),最后是停止位“1”(可以是1位、1.5位或2位,用以表示字符的结束)。例如,传输一个ASCII码字符(7位),若选用2位停止位、1位校验位和1位起始位,那么传输这个7位ASCII码字符就需要11位。其格式如图7.2(a)所示。
(2) 同步传输。由于异步传输时对每个字符都附加了起始位和停止位,因此在需要传输大量数据块的场合,就显得太浪费了。若使用同步传输,它把每个完整的数据块(帧)作为整体来传输,这样就可以克服异步传输效率低的缺点。为了使接收设备能够准确地接收数据块的信息,同步传输在数据开始处用同步字符“SYN”来指示,由定时信号(时钟)来实现发送端同步,一旦检测到与规定的字符相符合,接下去就是按顺序传输数据。在这种传输方式中,数据以一组数据(数据块)为单位传输,数据块中每个字节之间不需要附加停止位和起始位,因而传输效率高。但同步传输所需要的软件、硬件的价格比异步传输的高,因此常在数据传输速率较高的系统中才采用同步传输。同步传输格式如图7.2(b)所示。
图7.2 异步传输与同步传输 (a) 异步传输;(b) 同步传输
7.1.2 线路通信方式 (1) 单工通信方式。单工通信是指信息的传送始终保持同一个方向,而不能进行反向传送,如图7.3(a)所示。其中A端只能作为发送端,B端只能作为接收端。 (2) 半双工通信方式。半双工通信是指信息流可以在两个方向上传送,但同一时刻只限于一个方向传送,如图7.3(b)所示。其中A端和B端都具有发送和接收的功能,但传送线路只有一条,或者A端发送B端接收,或者B端发送A端接收。 (3) 全双工通信方式。全双工通信能在两个方向上同时发送和接收,如图7.3(c)所示。A端和B端双方都可以一面发送数据,一面接收数据。
(a) 单工示意图;(b) 半双工示意图;(c) 全双工示意图 图7.3 线路通信方式 (a) 单工示意图;(b) 半双工示意图;(c) 全双工示意图
7.1.3 传输速率 传输速率是指单位时间内传输的信息量,它是衡量系统传输的主要指标。在数据传输中定义有三种速率:调制速率、数据信号速率和数据传输速率。 (1) 调制速率。调制速率也称码元速率,是脉冲信号在经过调制后的传输速率。即信号在调制过程中,单位时间内调制信号波形的变化次数,也就是单位时间内所能调制的调制次数,单位是波特(Baud),通常用于表示调制解调器之间传输信号的速率。
(2) 数据信号速率。数据信号速率是单位时间内通过信道的信息量,单位是比特/秒(Bit Per Second),用b/s表示。调制速率(波特)和数据信号速率(比特/秒)在传输的调制信号是二态串行传输时,两者的速率在数值上是相同的。例如,调制速率为1200 Baud的二态串行传输的调频波,与它相对应的数据信号的速率为1200 b/s,可见它们在数值上是相等的。
(3) 数据传输速率。数据传输速率是指单位时间内传输的数据量,数据量的单位可以是比特、字符等,通常以字符/分钟为单位。例如,使用数据信号速率为1200 b/s的传输电路,按起止同步方式来传输ASCII数据时,其数据传输速率为 数据传输速率=(1200×60)/(8+2)=7200 (字符/分钟) 其中分母中的“2”是指在一个字符位附加的起始比特和终止比特。
7.1.4 差错控制 数据通信系统的基本任务是高效而无差错地传输和处理数据信息,数据通信系统的各个组成部分都存在着有差错的可能性。由于通信设备部分可以达到较高的可靠性,因此一般认为数据通信的差错主要来自于数据传输信道。数据信号经过远距离的传输往往会受到各种的干扰,致使接收到的数据信号出现差错,引起数据信号序列的错误。在实际中随机性的错误和突发性的错误通常是同时存在的。以下将简单介绍差错控制的常用方式和编码。
1. 差错控制方式 所谓差错控制,是指对传输的数据信号进行检测错误和纠正错误。实际中常用的差错控制方式主要有以下四种: (1) 自动检错重传(ARQ)。在这种方式中,发送端按编码规则对拟发送的信号码附加冗余码后,再发送出去,接收端对收到的信号序列进行差错检测,判决有无错码,并通过反馈信道把判决结果送回到发送端。若判决有错码,发送端就重新发送原来的数据,直到接收端认为无错为止;若判决为无错码,发送端就可以继续传送下一个新的数据。
(2) 前向纠错(FEC)。在这种方式中,发送端按照一定的编码规则对拟发送的信号码元附加冗余码,构成纠错码。接收端将附加冗余码元按照一定的译码规则进行变换,检测信号中有无错码,若有错,自动确定错码位置,并加以纠正。该方式物理实现简单,无需反馈信道,适用于实时通信系统,但译码器一般比较复杂。
(3) 混合纠错(HEC)。混合纠错方式是前向纠错与自动检错重传两种方式的综合。发送端发送具有检测和纠错能力的码元,接收端对所接收的码组中的差错个数在纠错的能力范围之内能够自动进行纠错,否则接收端将通过反馈信道要求发送端重新发送该信息。混合纠错方式综合了ARQ和FEC的优点,却未能克服它们各自的缺点,因而在实际应用中受到了一定的限制。 (4) 不用编码的差错控制。不用编码的差错控制是指不需对传送的信号码元进行信号编码,而在传输方法中附加冗余措施来减少传输中的差错。
2. 常用的几种检错码 (1) 奇偶校验码。它是以字符为单位的校验方法。一个字符一般由8位组成,低7位是信息字符的ASCII代码,最高位是奇偶校验位,该位可以是1或者0。其原则是:使整个编码中“1”的个数为奇数或偶数,若“1”的个数为奇数就称为“奇校验”,若“1”的个数为偶数的就称为“偶校验”。奇偶校验的原理是:若采用奇校验,发送端发送一个字符编码(含有校验码),若“1”的个数一定为奇数,在接收端对“1”的个数进行统计,如果统计的结果“1”的个数是偶数,那一定意味着在传输的过程中有一位发生了差错。显然,若发生了奇数个差错接收端都可以发现,但若发生了偶数个差错接收端就无法查出。由于奇偶校验码只需附加一位奇偶校验位编码,效率较高,因而得到了广泛的应用。
(2) 循环冗余校验(CRC)码。对于一个由“0”和“1”组成的二进制码原序列都可以用一个二进制多项式来表示,例如:1101001可以表示成1*x6+1*x5+*x4+1*x3+0*x2+0*x1+1*x0,一般地说,n位二进制码原序列可以用n-1阶多项式表示。由于多项式间的运算是其对应系数按模2进行运算,因此两个二进制多项式相减就等于两个二进制多项式相加。采用CRC码时,通常在信息长度为k位的二进制序列之后,附加上r(r=n-k)位监督位,组成一个码长为n的循环码。每个循环码都可以有它自己的生成多项式g(x)(规定生成多项式g(x)的最高位和最低位的系数必须为1),由于任意一个循环码的码字c(x)都是生成多项式的倍式,因此c(x)被g(x)除后余式必为零。利用上述的原理就可以进行循环码的编码,即从信息多项式m(x)求得循环码的码字c(x)。
7.1.5 传输介质 目前,普遍使用的传输介质有同轴电缆、双绞线、光缆,其他介质如无线电、红外线、微波等在PLC网络中应用很少。其中双绞线(带屏蔽)成本低,安装简单;光缆尺寸小,重量轻,传输距离远,但成本高,安装维修需专用仪器。具体性能比较见表7.1。
表7.1 传输介质性能比较
7.1.6 串行通信接口标准 串行通信的连接接口与连线电缆是直观可见的,它们的相互兼容是通信得以保证的第一要求,因此串行通信的实现方法发展迅速,形式繁多,这里主要介绍一些常用的串行接口标准。 1. RS-232C串行接口标准 RS-232C是1969年由美国电子工业协会EIA(Electronic Industries Association)所公布的串行通信接口标准。“RS”是英文“推荐标准”一词的缩写,“232”是标识号,“C”表示此标准修改的次数。它既是一种协议标准,又是一种电气标准,它规定了终端和通信设备之间信息交换的方式和功能。PLC与上位计算机之间的通信就是通过RS-232C标准接口来实现的。
1) 接口的机械特性 RS-232C的标准接插件是25针的D型连接器,螺钉中心到螺钉中心为47.04±0.13 mm宽,所有其它尺寸也都作了规定。顶行针编号从左到右为1~13,底行针编号从左到右为14~25。尽管RS-232C规定的是25针连接器,但实际应用中并未将25个引脚全部用满,最简单的通信只需3根引线,最多的也不过用到22根。所以在上位计算机与PLC的通信中,使用的连接器有25针的,也有9针的,具体采用哪一种,用户可根据实际需要自行配置。
2) 接口的电气特性 RS-232C采用负逻辑,规定逻辑“1”电平在-15~-5 V范围内,逻辑“0”在+5~+15 V范围内。这样在线路上传送的电平可高达±12 V,较之小于+5 V的TTL电平来说有更强的抗干扰性能。RS-232C标准中还规定:最大传送距离为15 m(实际上可达约30 m),最高传输速率为20 kb/s。
3) 接口的信号功能 RS-232C定义了电路之间的连接以及它们的含义。图7.4给出了在PLC与上位计算机连接中常用到的9针功能,其余的针则经常省略不连。终端或计算机加上电,数据终端就绪线(Data Terminal Ready,针20)就置为逻辑“1”;Modem加上电,数据设备就绪线(Data Set Ready,针6)就置为逻辑“1”;载波检测线(Carrier Detect,针8)检测到电话线上有载波信号时也置为逻辑“1”;请求发送线(Request To Send,针4)表示终端希望发送数据;清除发送线(Clear To Send,针5)表示Modem准备接收数据。发送线(Transmit Circuit,针2)发送数据,接收线(Receive Circuit,针3)接收数据。
图7.4 25针串口主要信号定义示意图
RS-232C的规程规范便是协议,即事件出现的正当顺序。这种协议是以成对的动作-反应为基础的。例如,当终端宣布请求发送时,如果Modem能接收数据的话就要以清除发送给出反应,类似的动作-反应在其它线路中也存在。 通常情况是两台计算机都使用RS-232C直接进行连接。由于没有一个是Modem,因此这种情况称为空调制解调器或零调制解调方式,这时只要把相关的线路直接连接就能实现通信,一台计算机的发送线连接到另一台的接收线上,其它的某些线路也以同样的方式进行交叉连接。图7.5(a)为采用RS-232C连接两台计算机的典型接线,图7.5(b)所示的接线方式在大多数情况下是可行的。
图7.5 两个RS-232C数据终端设备无Modem连接
4) RS-232的不足之处 尽管RS-232C是目前广泛应用的串行通信的接口,然而RS-232还存在着一系列不足之处: (1) 传送速率和距离有限; (2) 没有规定连接器,因而产生25针不同的设计方案,这些方案有时不兼容; (3) 每根信号线只有一根导线、两个传送方向,仅有一根信号地线,发送器与接收器之间存在潜在的地线回流不平衡的问题,可能在信号成分间产生干扰。
2. RS-449及RS-422A/423A标准 为了解决RS-232C标准中的不足,EIA对是否需要建立一种与老标准兼容的新标准(技术上不是非常先进),还是建立一种新的具有技术前瞻性的不兼容的标准,进行了长期的辩论,最后对这两种意见进行了折衷,于1977年制定了RS-449标准。其特点是: (1) 支持较高的数据传输速率; (2) 支持较远的传输距离; (3) 制定连接器的技术规范; (4) 提供平衡电路改进接口电气特性。
RS-449标准定义了RS-232C中所没有的10种电路功能,规定用37脚的连接器。实际上RS-449是将三种标准集于一身,在RS-449中给出了机械接口、功能接口和规程接口,但是电气接口却以两种不同的标准给出。其中一个就是RS-423A,它与RS-232C类似,它的所有线路都共享一根公用地线,这种技术称为不平衡传送(Unbalanced Transmission)。第二个电气标准为RS-422A,对应于平衡传送(Balanced Transmission)技术,这里的每条主要线路都用两条线,没有公共地线。图7.6给出了RS-232C、RS-422A的典型转换电路。
EIA RS-422A标准规定的电气接口是差分平衡式的,它能在较长的距离内明显地提高传输速率,例如,1200 m的距离,速率可以达到100 kb/s,而在12 m等较短的距离内则可提高到10 Mb/s。如图7.6所示,平衡驱动和差分接收方法从根本上消除了信号地线,这种驱动相当于两个单端驱动器,它们的输入是同一个信号,而一个驱动器的输出正好与另一个的输出反相。当干扰信号作为共模信号出现时,接收器则接收差分输入电压。只要接收器具有足够的抗共模电压工作范围,它就能识别这两种信号而正确接收传送的信息。
这种性能的改善是由于平衡电气结构的优点而产生的,它能有效地从地线的干扰中分离出有效信号。差分接收器可以区分0 这种性能的改善是由于平衡电气结构的优点而产生的,它能有效地从地线的干扰中分离出有效信号。差分接收器可以区分0.2 V以上的电位差,因此可以不受对地参考系统的地电位的波动和共模电磁的干扰。因此,在工程应用中,有时为把远距离(如数百米)的两台或多台带有RS-232C接口的设备连接起来进行通信或组成分散式系统,这时不能用RS-232C串接口直接连接,但可以采用RS-232C/422A转换电路进行连接,即在现有的RS-232C串行口上附加转换电路,两个转换电路之间采用RS-422A方式连接。
(a) 单端驱动单端接收电路(RS-232C);(b) 平衡驱动差分接收电路(RS-422A) 图7.6 RS-232C、RS-422A的驱动及接收电路 (a) 单端驱动单端接收电路(RS-232C);(b) 平衡驱动差分接收电路(RS-422A)
3. RS-485标准 在许多工业环境中,要求用最少的信号连线来完成通信任务。目前广泛应用的RS-485串行接口总线正是适应这种需要而出现的,它几乎已经在所有新设计的装置或仪表中出现。RS-485实际上是RS-422A的简化变形,它与RS-422A的不同之处在于:RS-422A支持全双工通信,RS-485仅支持半双工通信;RS-422A采用两对信号线,分别用于发送和接收,RS-485分时使用一对信号线发送或接收。在点对点远程通信时,它们的电路连接如图7.7所示。对于每个通信子站来说,RS-422A和RS-485的驱动/接收电路性能没有多大区别。RS-485串行口在PLC局域网中应用很普遍,如西门子S7系列PLC采用的就是RS-485串行口。
(a) RS-422A点对点互联;(b) RS-485点对点互联 图7.7 RS-422A、RS-485互联方案 (a) RS-422A点对点互联;(b) RS-485点对点互联
在采用RS-485互联的网络中,某一时刻两个站中只有一个站可以发送数据,而另一个站只能接收数据,因此其发送电路是由使能端来控制的。RS-485用于多站互联十分方便,可以节省昂贵的信号线,同时,它可以高速远距离传输。许多智能仪表均配有RS-485总线接口,将它们联网构成分布式控制系统十分方便。 RS-422A/485差分信号的传输线为双绞线,常用的2芯双绞线的Z0值为100 Ω,因此,两根信号线之间连接的匹配电阻为100 Ω。更为常用的端接方法是在每根信号线与地之间连接50 Ω的电阻,这种方法有助于两根信号线保持平衡。表7.2给出了三种串行通信接口的驱动台数、物理连接距离和传输速率等。
表7.2 串行通信接口EIA RS-232C、RS-422A和RS-485的电气性能对比
7.2 工业局域网基础 7.2.1 计算机网络和局部网络 计算机网络是现代计算机技术与通信技术相结合的产物。它是指将地理位置不同且具有独立功能的多个计算机系统通过通信设备和线路将其连接起来,由功能完善的网络软件(网络协议、信息交换控制程序和网络操作系统)实现网络资源共享。计算机网络由计算机系统、通信链路和网络节点组成。网络节点是双重作用的节点,用来负责管理和收发计算机系统的信息,通常是起着通信控制处理作用的接口装置。通信链路是节点间的一条通信信道。为提高通信的可靠性,两节点之间可以采用一条以上的通信链路。
按所覆盖的地域范围大小,即通信距离远近,计算机网络可分为远程网、局域网和分布式多处理机三类。远程网(Remote Network)的传输距离通常从数千米到数千千米乃至数万千米。因分布范围太大,借用电话、电报等公共传输网,故数据传输率较低,常小于100 kb/s。分布式多处理机的传输距离局限于几米以内,系统耦合紧密,通信功能完全集中。局域网(Local Area Network,简称LAN)是小区域内各种通信设备互联在一起的通信网络。区域距离从几百米到几千米,数据传输速率为0.1~100 Mb/s。它的误码率低,为10-11~10-8。互联计算机系统及控制设备可达几百台。 决定局域网络特性的主要技术有:用以传输数据的传输介质,用以连接各种设备的拓扑结构,用以共享资源的介质访问控制方法。
1. 拓扑结构 如果把数据通信网络中的节点抽象成数学上的点,把通信链路抽象成线段,这种网络中各节点之间连接方式的几何抽象,称为网络拓扑(Topology)。 若一个网络由N个节点组成,采用两个节点之间连接通信链路的全连接方法,则网络共需N(N-1)/2条链路,每个节点需要N-1个输入/输出接口。因此,网络成本与N2成正比。显然,这种全连接方式没有使用价值。为了使网络资源共享,同时又只需要较少通信链路,就有必要研究网络的拓扑结构,以及信息通过中间节点时的传送等问题。
局域网的拓扑结构通常有三种类型:星型、环型和总线型。 (1) 星型网。星型网络中有一个中心转接站(又称中央节点)。网络中的通信站和中心转换站之间都有一条点对点的链路连接,如图7.8(a)所示。任意两个通信站之间的通信都由中心转换站为它们建立物理连接,在建立了所需电路后,这两个通信站之间才能进行数据交换。中心转换站执行集中式通信控制策略,它负责按通信站的请求来建立、维持和拆除通信所需通路。
星型网络的特点是:结构简单,便于管理控制,建网容易,线路可用性强,效率高,网络延迟时间短,误码率较低,便于程序集中开发和资源共享。但系统花费大,网络共享能力差,负责通信协调工作的上位计算机负荷大,通信线路利用率不高,且系统对上位计算机的依赖性也很强,一旦上位机发生故障,整个网络通信就得停止。在小系统、通信不频繁的场合可以应用。星型网络常用双绞线作为传送介质。 上位计算机(也称主机、监控计算机、中央处理机)通过点到点的方式与各现场处理机(也称从机)进行通信,就是一种星型结构。各现场机之间不能直接通信,若要进行相互间的数据传送,就必须通过作为中央节点的上位计算机协调。
(2) 环型网。环型网中各个节点通过环路通信接口或适配器连接在一条首尾相连的闭合环型通信线路上,环路上任何节点均可以请示发送信息。请求一旦被批准,便可以向环路发送信息。环型网中的数据主要采用单向传送,也可以是双向传送,由于环线是公用的,一个节点发出的信息必须穿越环中所有的环路接口,信息中目的地址与环上某节点地址相符时,数据信息被该节点的环路接口所接收,而后信息继续传向下一环路接口,一直流回发送该信息的环路接口节点为止。环型网络结构如图7.8(b)所示。
环型网的特点是:结构简单,挂接或摘除节点容易,安装费用低;由于在环型网络中数据信息在网中是沿固定方向流动的,节点间仅有一个通路,大大简化了路径选择控制;某个节点发生故障时,可以自动旁路,系统可靠性高。所以工业上的信息处理和自动化系统常采用环型网络的拓扑结构。但节点过多时,会影响传送效率,全网络响应时间变长。
(3) 总线型网。利用总线把所有的节点连接起来,这些节点共享总线,对总线有同等的访问权。总线型网络结构如图7.8(c)所示。 总线型网络由于采用广播方式传送数据,任何一个节点发出的信息经过通信接口(或适配器)后,沿总线向相反的两个方向传送,可以使所有节点接收到,各节点将目的地址是本站站号的信息接收下来。这样就无需进行集中控制和路径选择,其结构和通信协议都比较简单。在总线型网络中,所有节点共享一条通信传送链路,因此,在同一时刻,网络上只允许一个节点发送信息。一旦两个或两个以上节点同时发送信息就会发生冲突。在不使用通信指挥器HTD的分散通信控制方式中,常需规定一定的防冲突通信协议,常用的有令牌总线网(Token-passing-bus)和带冲突检测的载波监听多路存取控制协议CSMA/CD(Carrier Sense Multiple with Collision Detection)。
总线型网络的特点是:结构简单,易于扩充,设备安装和修改费用低,可靠性高,灵活性好,可连接多种不同传送速率,不同数据类型的节点,也易获得较宽的传送频带,网络响应速度快,共享资源能力强,常用同轴电缆或光缆作传输介质,特别适合于工业控制应用,是工业控制局域网中常用的拓扑结构。
图7.8 网络拓扑结构图 (a) 星型;(b) 环型;(c) 总线型
2. 介质访问控制技术 介质访问控制是指对网络通道占有权的管理和控制。局域网络上的信息交换方式有两种。一种是线路交换,即发送节点与接收节点之间有固定的物理通道,且该通道一直保持到通话结束,如电话系统。第二种是“报文交换”或“包交换”。这种交换方式是把编址数据组从一个转换节点传到另一个转换节点,直到目的站。发送节点数据和接收节点之间无固定的物理通道。如果某节点出现故障,则通过其他通道把数据组送到目的节点。这有些像传递邮包或电报的方式,每一个编址数据组类似于一个邮包,故称“包交换”或“报文交换”。
介质访问控制主要有以下两种方式: (1) 令牌传送方式。这种方式对介质访问的控制权是以令牌为标志的。令牌是一组二进制码,网络上的节点按某种规则排序,令牌被依次从一个节点传到下一个节点,只有得到令牌的节点才有权控制和使用网络。已发送完信息或无信息发送的节点将令牌传给下一个节点。在令牌传送网络中,不存在控制站,不存在主从关系。这种控制方式结构简单,便于实现,成本不太高,可在任何一种拓扑结构上实现。但一般常用总线型和环型结构,即“Token Bus”和“Token Ring”,其中尤以“Token Bus”颇受工业界青睐,因这种结构便于实现集中管理、分散式控制,很适合于工业现场。
(2) 争用方式。这种方式允许网络中的各节点自由发送信息。但若两个以上的节点同时发送则会出现线路冲突,故需要做些规定,加以约束。目前常用的是CSMA/CD规约(以太网规约),即带冲突检测的载波监听多路存取控制协议。这种协议要求每个发送节点要“先听后发、边发边听”,即发送前先监听,在监听时,若总线空则可发送,忙则停止发送。发送的过程中还应随时监听,一旦发现线路冲突则停止发送,且已发送的内容全部作废。这种控制方式在轻负载时优点突出,控制分散,效率高,但重负载时冲突增加,则传送效率大大降低。而令牌方式恰恰在重负载时效率高。
7.2.2 通信网络协议 在计算机通信网络中,对所有通信设备或站点来说,它们都要共享网络中的资源。但是由于接到网上的设备或计算机可能出自不同的生产厂,型号也不尽相同,硬件和软件上的差异给通信带来障碍。所以,一个计算机通信网络必须有一套全网“成员”共同遵守的约定,以便实现彼此通信和资源共享,通常把这种约定称为网络协议。
国际标准化组织ISO(International Standard Organization)在1977年建立了一个分委员会以专门研究这一问题,并制订了国际标准ISO 7498“信息处理系统—开放系统互连—基本参考模型”(Information Processing Systems-Open Systems Interconnection-Basic Reference Model)。该标准是信息处理领域内最重要的标准之一,它为协调研制系统互连的各类标准提供共同的基础,同时,规定了研制标准和改进标准的范围,为保持所有相关标准的相容性提供了共同的参考。该标准为研究、设计、实现和改造信息处理系统提供功能上和概念上的框架。
在该标准中,提出了开放系统互连(OSI)的理由,定义了连接对象和互连的范围,描述了OSI中所使用的模型化原则。开放系统互连是指彼此“开放”的系统,通过共同使用适当的标准而实现信息的交换。因此,“系统是开放的”并不隐含特殊的系统实现,也不隐含互连的技术和方法,它是指各系统互相识别并且支持适当的标准实现信息交换。OSI所使用的模型结构是分层技术,用N层表示某一特定的层,用N+1、N-1层表示其相邻的高层和低层。分层的概念也适用每一层所完成的服务,如N协议、N+1服务、N-1服务等。下面对OSI模型作简单介绍。
1. OSI模型结构分层 OSI按系统功能分为七层,每层都有相对的独立功能,相对的两层之间有清晰的接口,因而系统层次分明,便于设计、实现和修改补充。OSI模型的低四层对用户数据进行可靠的透明传输,另外的高三层分别对数据进行分析、解释、转换和利用。OSI参考模型如图7.9所示。 前已提到,协议是使通信系统开放互连,即解决如何进行对话的约定和规则,决定通信网络中传输的信息和报文的格式与控制方法。OSI模型通常用语义(Semantics)规定要调整和进行差错处理等的控制信息,执行动作和反馈的应答,即通信双方要讲什么;用语法(Syntax)规定控制信息或数据的格式、信号电平,即通信双方如何讲;由时序(Timing)确定速度匹配和排序,由定时关系规定其执行程序。
图7.9 OSI参考模型
例如,要由站S1向站S2发送一批数据(报文),站S1先把那些数据送到第7层(应用层),将一个报头H7附加在数据上,报头H7包含了第7层协议所需的信息,称为对数据的封装(Encapsulation)。再把原始数据加上报头H7作为一个整体传到第6层(表示层),也加上它自己的报头H6,称为第二次封装,H6也包含第6层协议所需的信息。继续此过程,经过第5层(会话层)、第4层(传输层)、第3层(网络层),分别封装上H5、H4、H3报头,再传到第2层(数据链路层)。第2层加报头H2和报尾T2,其整体称为信息帧(Frame)。信息帧送到第1层(物理层),通过传输媒体把它送到目的站S2。
当S2收到此帧时,然后进行与上述过程相反的卸装和传送,各层剥除外加的字头和字尾,按照该层的通信协议进行处理,逐层向上传送,直到S2站第7层应用层撤消字头H7,S2即得到所送来的数据。至此,由站S1向站S2发送数据的通信结束。从上述通信过程可看出,数据通信是在第1层(物理层)之间进行的,其余各同等层之间并不能直接通信。因此,可把第2~7层看作逻辑层,它们是组织数据传送的软件层。OSI模型从下到上分为七层,各有不同的功能及含义,而修改某层的功能不会影响其他层。下面简要介绍各层的功能。
(1) 物理层:为通信提供物理信道,如采用信号电缆的类型、信号电平的大小与波形以及传输率等。此层主要涉及建立、维修和卸除物理链路上所需的机械特性、电气特性、功能特性和过程特性,故称作物理层协议。例如,RS-232C、RS-449等不同的接口严格规定了四个特性标准。
(2) 数据链路层:分为两个子层,即介质访问控制层(MAC)与逻辑链路控制层(LLC)。前者主要决定物理信道的使用问题,管理网络上各个节点,以避免把信号同时送到网络上,造成信号冲突,不能通信。在信号一旦发生冲突时,MAC子层能采取错开时序的方法,使信号分时传送。可见,MAC子层具有类似城市交通管理的链路交通管理的功能。后者保证信息正确有序、透明地在有噪信道上传输,它包含有检错功能等。 (3) 网络层:主要是让多个进程同时使用一个物理信道,并进行路径选择。
(4) 传输层:在一条物理信道上建立许多条逻辑信道,通过为一个用户建立多条逻辑信道,或许多个用户共享一个逻辑信道,并可进行端—端控制,在不同站之间提供可靠的、透明的数据传输,以提高网络功能。 (5) 会话层:为用户进程建立连接并对该连接上的传输过程进行管理,必要时可撤除该连接,有处理某些同步与恢复的功能。
(6) 表示层:主要进行信息的格式转换,如文本的压缩与加密等。 (7) 应用层:面向网络用户,为OSI环境中的用户提供各种服务。因此,这一层与网络的具体应用有关,它应实现的功能取决于用户的应用进程和系统的应用管理进程。 OSI参考模型并不是标准,它仅为标准提供了一种主体结构,供各种标准选择。目前,普遍应用的局域网络标准只选用物理层与数据链路层,其余都为高层。
2. 物理层(PL)协议 物理层是通信网上各设备之间的物理接口,直接把数据从一台设备传送到另一台设备。物理层协议规定了以下四个特性: (1) 机械特性。规定了连接器或插件的规格和安装,例如RS-232C规定用25芯连接器,用25条线将两台设备连接起来。 (2) 电气特性。规定了传输线上数字信号的电平、传输距离和传输速率等。 (3) 功能特性。定义了连接器内各插脚的功能。实际应用中可根据需要选用有关的接口线,但其中常用的三条线是用来发送数据、接收数据的线和信号地线。 (4) 过程特性。规定了信号之间的时序关系,以便正确地发送数据和接收数据。
3. 数据链路层(DLL)协议 DLL保证物理链路的可靠性,并提供建立和释放链路的方法,是物理层的控制方,它把发送的数据组成帧,进行差错控制和介质访问控制。DLL中一种常用的高级链路控制协议HDLC(High-level Data Link Contro1),是ISO于 1972年提出的,并被推荐为国际标准,至今仍广泛采用。HDLC是面向位的协议,以帧为传送信息的基本单位,具有CRC检验,适用于点到点、多点式环型网,采用连续发送同步通信方式,且可用半双工或全双工通信。
4. 局部区域网络(LAN)协议 LAN的地理范围较小,一般只有100~250 m,是得到广泛使用的一种网络技术。参照OSI模型,LAN采用总线型或环型拓扑结构,没有中间交换点,不需要选择路径。根据IEEE 802标准,LAN协议不需要单独设置网络层,而将寻址、排序、流量控制、差错控制等功能放在数据链路层中实现,将该层分成逻辑链路控制层(LLC)和介质访问控制层(MAC)两层,其功能基本上用硬件来实现,从网络层到应用层的高层功能则完全由软件来实现,提供两个站之间的端—端服务。LAN协议层与OSI模型层对应关系如图7.10所示。
图7.10 LAN协议层与OSI模型层对应关系
5. 工业标准网络协议 1) PROWAY工业过程控制用数据公路标准 根据OSI模型,为满足工业过程控制要求(尤其是要求实时性好,动态响应快(毫秒数量级)),由国际电工委员会的WG6工作委员会制订了用于集散控制系统数据通信的标准PROWAY。它以美国电气和电子工程师学会(IEEE)的局域网标准IEEE 802.2和IEEE 802.4为基础,有三个基本功能层或者实体,即链路控制层(PLC)、介质存取控制层(MAC)和物理接收发送层(PHY)。与OSI模型分层比较,PLC与MAC子层构成数据链路层,PHY对应于物理层。
PLC子层为用户提供以下三种基本服务: (1) 由一个本地发送站使用应答(立即响应)协议向一个远程应答站发送数据; (2) 由一个本地站无确认或重复地发送数据给一个或几个远程接收站; (3) 由一个本地站使用应答(直接响应)协议向一个远程站请求以提供信息。
MAC子层的功能在逻辑上分为接口机(IFM)、存取控制机(ACM)、接收机(RxM)和发送机(TxM)等四个异步机构部分。每个机构处理MAC的某些功能,包括令牌丢失计时器、分散启动、令牌保持计时器、数据缓冲、节点地址识别、帧的封装和解装、帧检测序列发生和校验、有效令牌的识别、回路单元的新增及节点故障和差错恢复等。 PHY子层的通信媒体为单信道同轴电缆总线,采用75 Ω同轴电缆,干线用半刚性的,支线用柔性的,数据传输速率为1 Mb/s,收发信号是相位连续的移频键控方式的曼彻斯特编码数据。
与IEEE 802.2和IEEE 802.4标准相比较,PROWAY在实时性、可靠性方面补充了有关内容,如采用冗余接口和冗余通信媒体提高系统可靠性,站间设有隔离装置,使得网络中任一数据站的故障都不会影响整个网络的通信工作。
2) MAP制造自动化协议 由美国通用汽车公司(General Motor)发起的,现已有几千家公司参加的MAP用户集团建立了在工业环境下的局域网通信标准,称为制造自动化协议(Manufacture Automation Protocol)。参照OSI分层模型和PROWAY的分层模型,MAP现已有三种结构:全MAP(Full MAP, FM)、小MAP(Mini MAP, MM)及增强型MAP(Enhanced Performance Architecture MAP, EPA MAP)。
图7.11 EPA MAP 结构图
全MAP采用宽带同轴电缆,可以连接计算机、应用计算机及通过网桥与MAP载带网相连。它的通信协议采用IEEE 802的有关协议以及ISO的有关标准,与OSI参考模型的分层一一对应。为了减小封装和解装时间,以及接口服务时间,参照PROWAY的标准,建立了小MAP,它只有物理层、链路层及应用层,称为塌缩结构。由于它有较好的实时响应,因此,在实际集散控制系统的现场控制级和操作员级的通信中得到广泛的应用。EPA MAP介于全MAP与小MAP之间,其结构如图7.11所示。它的一边采用全MAP,另一边支持小MAP,两边可以相互通信。因此,它应用于全MAP与小MAP连接的通信系统中。
MAP网络以节点为核心,通过网桥可以与MAP载带网相连,通过网间连接器可以与其他网络相连。理论上可带节点数多达248个,实际上应用在数百点以上。MAP宽带频率范围为59.75~95.75 MHz,采用频分多路复用方式,数字信息经调制后由较低频道频率发送,以较高频道频率接收。依据IEEE 802.4的标准,MAP采用令牌传送方式进行信息管理,其数据传输速率为10Mb/s。 MAP节点把高层功能的实现,安排在节点智能部分来完成。在MAP节点中有节点微处理器与节点本地总线相连接。总线带有存储器、外部设备和MAC子层接口,使LLC子层及上面各层的通信由软件实现。MAC子层及物理层的实现采用大规模集成芯片完成。
7.2.3 现场总线技术 1. 概述 在传统的自动化工厂中,位于生产现场的许多设备和装置,如传感器、调节器、变送器、执行器等都是通过信号电缆与计算机、PLC相连的。当这些装置和设备相距较远、分布较广时,就会使电缆线的用量和铺设费用随之大大增加,造成了整个项目的投资成本增高,系统连线复杂,可靠性下降,维护工作量增大,系统进一步扩展困难等问题。因此人们迫切需要一种可靠、快速、能经受工业现场环境的低廉的通信总线,将分散于现场的各种设备连接起来,对其实施监控。现场总线(Field Bus)就是在这样的背景下产生的。
现场总线始于20世纪80年代,90年代技术日趋成熟,受到世界各自动化设备制造商和用户的广泛关注,PLC的生产厂商也将现场总线技术应用于各自的产品之中构成工业局域网的最底层,使得PLC网络实现了真正意义上的自动控制领域发展的一个热点,给传统的工业控制技术带来了又一次革命。现场总线技术实际上是实现现场级设备数字化通信的一种工业现场层的网络通信技术。按照国际电工委员会IEC 61158的定义,现场总线是“安装在过程区域的现场设备/仪表与控制室内的自动控制装置/系统之间的一种串行、数字式、多点通信的数据总线”。
也就是说,基于现场总线的系统是以单个分散的、数字化、智能化的测量和控制设备作为网络的节点,用总线相连,实现信息的相互交换,使得不同网络、不同现场设备之间可以实现信息共享。现场设备的各种运行参数状态信息以及故障信息等通过总线传送到远离现场的控制中心,而控制中心又可以将各种控制、维护、组态命令又送往相关的设备,从而建立起了具有自动控制功能的网络。通常我们将这种位于网络底层的自动化及信息集成的数字化网络称为现场总线系统。
2. 现场总线的主要特点 现场总线具有以下特点: (1) 全数字化通信。传统的现场层设备与控制器之间采用一对一的所谓I/O接线的方式,I/O模块接收或送出4~20 mA/1~5 V DC信号。而采用现场总线技术后,信号传输是全数字化的,只用一条通信电缆就可以将控制器与现场设备(智能化、具有通信口)连接起来,实现了检错、纠错功能,提高了信号传输的可靠性。 (2) 可以实现彻底的分散性和分布性。采用现场总线的控制系统FCS,它的控制单元全都可以分散到现场,控制器路由现场设备来实现,因此FCS可以认为是一个彻底的分布式控制系统。
(3) 有较强的信息集成能力。传统自动化系统控制器获取的信息是有限的,采用现场总线后,连接的可以是智能化设备,所以控制器就可以从现场获取大量的信息,实现设备状态故障、参数信息的一体化传送。 (4) 节省连接导线,降低安装和维护费用。 (5) 具有互操作性和互换性。传统的自动化系统不开放,系统的软硬件一般只能使用一家的产品,不同厂家不同产品间缺乏互操作性和互换性。采用现场总线后,可实现互联设备间、系统间的信息传送和沟通,不同生产厂家的性能类似的设备都可以进行互换。
表7.3 FCS与其他系统的比较
3. 现场总线的类型 目前,国际上有多种现场总线的企业、集团、国家和国际性组织,并有相应的现场总线标准和配套的专用集成电路(Application Specific Integrated Circuits,ASIC)供用户开发产品。现今较流行的现场总线主要有基金会现场总线(Foundation Fieldbus,FF)、过程现场总线(Process Field Bus,PROFIBUS)和控制器区域网络(Controller Area Network,CAN)。
1) FF(基金会现场总线) FF是国际公认的现场总线标准,主要特性如下: (1) FF体系结构。FF参照了ISO/OSI参考模型的第1、2、7层,并针对自身的特点作了改进,即物理层、数据链路层和应用层。应用层又分为现场总线访问子层(Fieldbus Access Sublayer,FAS)和现场总线报文规范(Fieldbus Messaging Specification,FMS)。另外,还增加了用户层(User layer),相当于第8层。FF体系结构如图7.12所示。
图7.12 FF体系结构
Ⅰ、物理层 FF的物理层符合IEC 1158-2国际标准,物理层与传输介质相连接,其基本任务一是从传输介质上接收信号,经过处理后送给数据链路层;二是接收来自数据链路层的数据,经过加工变为标准信号进行传输。其主要性能如下: ① 低速现场总线H1:传输速率为31.25 kb/s,传输距离为200~1900 m(取决于传输介质)。主要用于过程自动化,并可选择总线供电,用于本质安全(Intrinsic Safety)环境。 ② 高速现场总线H2:传输速率为1.0 Mb/s,传输距离为750 m;另一种传输速率为2.5 Mb/s,传输距离为500 m。主要用于制造自动化,只能选择自供电。
③ 传输介质:双绞线,光纤,无线电。 ④ 拓扑结构:H1可选择总线型或树型,H2只能选择总线型,如图7.13所示。总线型又分为总线分支型(Bus with Spurs)和菊花链型(Daisy Chain)两种。 ⑤ 总线节点数:每段H1支持32、12、6个节点(设备)三种,取决于供电方式和是否本质安全;每段H2支持124个节点(设备)。
图7.13 FF拓扑结构
Ⅱ、数据链路层 数据链路层提供了介质存取控制、传输协议的执行、数据的完整性检查等功能。从数据链路层的角度可将总线设备分为链路主设备(Link Master Device, LMD)和基本设备(Basic Device, BD)两种。其中BD不能主动发起通信,只能接收、查询;LMD则可以在得到令牌时发起一次通信。每段总线的LMD中有一台充当链路活动调度器(Link Active Scheduler, LAS),负责调度本段总线上各台设备的通信活动,发起调度和非调度通信。
Ⅲ、应用层 应用层提供总线服务和报文规范,分为两个子层。 ① 现场总线访问子层(FAS)。FAS提供了三种类型的服务方式,即发布/索取(Publisher/Subscriber)、客户/服务器(Client/Server)和报告分发(Report Distribution)。 ② 现场总线报文规范(FMS)。FMS定义了向应用进程(AP)提供的服务和报文格式。
Ⅳ、用户层 用户层是在OSI参考模型七层之外额外增加的一层,其目的是保证现场仪表或现场设备的可互操作性,以及FCS的开放性。为此,定义了功能块(Function Block,FB)和设备描述语言(Device Description Language,DDL)。
① 功能块。功能块的概念对用户来说并不陌生,它类似于DCS控制站中的各种输入、输出、控制和运算等功能块,供用户组态,构成控制回路。FF首批定义了29种功能块,其中基本功能块10个,如模拟量输入(AI)、模拟量输出(AO)、PID控制等;先进功能块7个,如步进输出PID、设定值程序发生器等;计算功能块7个,如输入选择器(选大、选小、选中、平均)、一阶惯性、纯滞后等;辅助功能块5个,如计时器、模拟量报警器(HH、H、L、LL)等。 ② 设备描述语言(DDL)。FF的开放体现在功能块这一级,而各种产品又各有特色,用户又要求统一组态和实现互操作。为此,定义了设备描述语言(DDL),用DDL来描述各种现场设备的特性。
(2) FF管理。FF管理包括网络管理和系统管理两个方面。 ① 网络管理。FF为每台现场设备设计了一个“网管代理”(Network Management Agent),提供组态管理、性能管理和故障管理的能力,并将这些组态、性能和故障信息作为网络管理信息库(NMIB)表现在网络上。 ② 系统管理。FF为每台现场设备设计了一个“系统管理内核”(System Management Kernel),负责分配现场设备地址、调度功能块执行、时钟同步和维护系统管理信息等,并将这些管理信息定义为系统管理信息库(SMIB)。
2) PROFIBUS(过程现场总线) PROFIBUS作为符合欧洲标准EN50170的现场总线在全世界广泛使用着,据统计目前国际上已有250家企业生产多达1600种符合PROFIBUS标准的产品,应用的范围已涉及到工业的各个主要领域之中。据美国VDCl999年的统计报告,PROFIBUS在世界市场上所占的份额高达21.5%,居于所有现场总线之首。
PROFIBUS是一种开放式的现场总线标准,采用PROFIBUS的系统,对于不同厂家所生产的设备不需要对接口进行特别的处理和转换,就可以通信。PROFIBUS连接的系统由主站和从站组成,主站能够控制总线,当主站获得总线控制权后,可以主动发送信息。从站通常为传感器、执行器、驱动器和变送器。它们可以接收信号并给予响应,但没有控制总线的权力。当主站发出请求时,从站回送给主站相应的信息。PROFIBUS除了支持这种主从模式外,还支持多主多从的模式。对于多主站的模式,在主站之间按令牌传递决定对总线的控制权,取得控制权的主站可以向从站发送、获取信息,实现点对点的通信。
(1) PROFIBUS的组成。PROFIBUS包括3个相互兼容的部分:PROFIBUS-DP、PROFIBUS-PA和PROFIBUS-FMS。 ① PROFIBUS-DP(Distributed Periphery)。它可以用于设备级的高速数据传输,位于这一级的PLC或工业控制计算机可以通过PROFIBUS-DP与分散的现场设备进行通信。 ② PROFIBUS-PA(Process Automation)。它是专为过程自动化所设计的协议,可用于安全性要求较高的场合。
③ PROFIBUS-FMS(Fieldbus Message Specification)。它可以用于车间级监控网络,FMS提供大量的通信服务,用以完成中等级传输速度进行的循环和非循环的通信服务。对于FMS而言,它考虑的主要是系统功能而不是系统响应时间,应用过程中通常要求的是随机的信息交换,例如改变设定参数。FMS服务向用户提供了广泛的应用范围和更大的灵活性,通常用于大范围、复杂的通信系统。
(2) PROFIBUS协议结构。PROFIBUS协议以ISO/OSI参考模型为基础,其协议结构如图7. 14所示。在图7 (2) PROFIBUS协议结构。PROFIBUS协议以ISO/OSI参考模型为基础,其协议结构如图7.14所示。在图7.14中,第1层为物理层,定义了物理的传输特性;第2层为数据链路层;第3~6层PROFIBUS未使用;第7层为应用层,定义了应用的功能。 PROFIBUS-DP是高效、快速的通信协议,它使用了第1层、第2层及用户接口,第3~7层未使用。这种简化的结构确保了DP的快速、高效的数据传输。直接数据链路映像程序(DDLM)提供了访问用户接口。在用户接口中规定了用户和系统可以使用的应用功能及各种DP设备类型的行为特性。
PROFIBUS-FMS是通用的通信协议,它使用了第1、2、7层,第7层由现场总线规范(FMS)和低层接口(LLI)所组成。FMS包含了应用层协议,提供了多种强有力的通信服务,FMS还提供了用户接口。
图7.14 协议结构图
(3) 传输技术。传输介质和总线接口的选择是应用时用户十分关心的问题,PROFIBUS对于不同的传输技术定义了惟一的介质存取协议。
Ⅰ、RS-485 表7.4 RS-485传输的基本特性
电缆的长度取决于传输速度,以A型电缆为例,其传输速率与电缆长度的对照见表7.5。
Ⅱ、IEC1158-2 IEC1158-2协议规定,在过程自动化中使用固定波特率31.25 kBaud/s进行同步传输,它考虑了应用于化工和石化工业时对安全的要求。在此协议下,通过采用具有本质安全和双线供电的技术,PROFIBUS就可以用于危险区域了,IEC 1158-2传输技术的主要特性见表7.6。其它有关特性参考有关手册。 表7.6 IEC1158-2传输技术的主要特性
Ⅲ、光纤 为了适应强度很高的电磁干扰环境或使用高速远距离传输,PROFIBUS可使用光纤传输技术。使用光纤传输的PROFIBUS总线段可以设计成星型或环型结构。现在在市面上已经有RS-485传输链接与光纤传输链接之间的耦合器,这样就实现了系统内RS-485和光纤传输之间的转换。
Ⅳ、PROFIBUS介质存取协议 PROFIBUS通信规程采用了统一的介质存取协议,此协议由OSI参考模型的第2层来实现。在PROFIBUS协议的设计时必须考虑满足介质存取控制的两个要求; ① 在主站间通信时,必须保证在正确的时间间隔内,每个主站都有足够的时间来完成它的通信任务; ② 在PLC与从站(PLC外设)间通信时,必须快速、简捷地完成循环,实时地进行数据传输。为此,PROFIBUS提供了两种基本的介质存取控制:令牌传递方式和主从方式。
令牌传递方式可以保证每个主站在事先规定的时间间隔内都能获得总线的控制权。令牌是一种特殊的报文,它在主站之间传递着总线控制权,每个主站均能按次序获得一次令牌,传递的次序是按地址升序进行的。主从方式允许主站在获得总线控制权时可以与从站进行通信,每一个主站均可以向从站发送或获得信息。
使用上述的介质存取方式,PROFIBUS可以实现以下三种系统配置: * 纯主—从系统(单主站); * 纯主—主系统(多主站); * 以上两种配置的组合系统(多主—多从)。图7.15以下是一个由3个主站和7个从站构成的PROFIBUS系统结构的示意图。
图7.15 3个主站和7个从站构成的PROFIBUS系统
由图7.15可以看出,3个主站构成了一个令牌传递的逻辑环,在这个环中,令牌按照系统预先确定的地址升序从一个主站传递给下一个主站。当一个主站得到了令牌后,它就能在一定的时间间隔内执行该主站的任务,可以按照主—从关系与所有从站通信,也可以按照主—主关系与所有主站通信。在总线系统建立的初期阶段,主站的介质存取控制(MAC)的任务是决定总线上的站点分配并建立令牌逻辑环。在总线的运行期间,损坏的或断开的主站必须从环中撤除,新接入的主站必须加入逻辑环。MAC的其他任务是检测传输介质和收发器是否损坏,站点地址是否出错,以及令牌是否丢失或多个令牌。
PROFIBUS的第2层的另一个重要作用是保证数据的安全性。它按照国际标准IEC 870-5-1的规定,通过使用特殊的起始符和结束符、无间距字节异步传输以及奇偶校验来保证传输数据的安全。它按照非连接的模式操作,除了提供点对点通信功能外,还提供多点通带的功能、广播通信和有选择的广播组播。所谓广播通信,即主站向所有站点(主站和从站)发送信息,不要求回答。所谓有选择的广播组播,是指主站向一组站点(主站和从站)发送信息,不要求回答。
3) CAN(控制器区域网络) CAN是德国Bosch公司研制的现场总线,适用于汽车自动化、机械自动化和工业自动化等领域。 1) CAN的特性 CAN通信协议参照OSI参考模型的第1、2、7层。主要特性如下:传输介质为双绞线,传输速率为5 kb/s时,最大传输距离为10 km;传输速率为1 Mb/s时,最大传输距离为40 m;为总线型拓扑结构,节点数为110个。
CAN节点无主、从之分,采用多主工作方式,即任意一个节点均可以在任意时刻主动地发送信息,选择点对点、一点对多点或全局广播发送方式。CAN采用非破坏性总线优先级仲裁技术,当两个节点同时发送信息时,优先级低的节点主动停止发送,而优先级高的节点可不受影响地继续传输信息,从而有效地避免了总线冲突。把节点分成不同的优先级,可以满足不同的实时要求。CAN节点具有自动关闭功能,在节点错误严重的情况下,可自动切断与总线的联系,这样不会影响总线正常工作。
2) CAN专用集成电路 CAN提供以下三类专用集成电路: (1) CAN控制器。固化了CAN协议,提供与CAN总线的接口以及与外部微处理器的接口,例如Intel 82527,Philips 82C00。Philips 82C00外配Intel 80C31单片机。 (2) CAN单片机。内含CAN控制器的单片机有Motorola公司的MC68HC05 x4。 (3) CAN I/O器件。内含CAN控制器和I/O处理器两部分。例如,Philips 82C150具有16个可编程的I/O引脚。
7.3 西门子PLC网络 现代大型工业企业中,一般采用多级网络的形式。可编程序控制器制造商经常用生产金字塔结构来描述其产品可实现的功能。这种金字塔结构的特点是:上层负责生产管理,底层负责现场监测与控制,中间层负责生产过程的监控与优化。国际标准化组织(ISO)对企业自动化系统确立了初步的模型,如图7.16所示。
图7.16 ISO企业自动化系统模型
在工厂自动化系统中,不同PLC生产厂家的网络结构的层数及各层的功能分布有所差异。但基本上都是由从上到下的各层在通信基础上相互协调,共同发挥着作用。实际工厂中一般采用2~4级子网构成复合型结构,而不一定是这6级,各层应采用相应的通信协议。
7.3.1 西门子PLC网络概述 SINEC是西门子公司为其网络产品注册的统一商标,从1997年开始注册商标改为SIMATIC NET。它是一个对外开放的通信网络,具有广泛的应用领域。西门子公司的控制网络可分为四个层次:SINEC S1、SINEC L2、SINEC H1以及SINEC H3,如图7.17所示。图7.18为其相对应的生产金字塔ISO网络模型。不同的协议规范适用于不同的网络,它们遵循不同的国际标准,具有不同的通信速度和数据处理能力。
图7.17 西门子PLC网络的层次图
西门子的PLC网络是为满足不同控制需要制定的,也为各个网络层次之间提供了互连模块或装置,利用它们可以设计出满足各种应用需求的控制管理网络。 西门子的PLC网络产品设计得比较完备,编程、调试安装、培训和维护等都很方便,工程的设计和施工的成本也较低。西门子PLC的这些网络产品“用”一种其它网络也能理解的“语言”MMS(ISO 9506)作为用户接口,它符合MAP 3.0协议,可以实现制造业多厂家系统间的通信。表7.7列出了控制网络的规范及性能。
图7.18 西门子公司的生产金字塔ISO网络模型
表7.7 西门子PLC 控制网络的规范及性能对比
1. SINEC S1 SINEC S1是用于连接执行器、传感器、驱动器等现场器件的总线规范,符合执行器—传感器接口(IEC TG 17B)规范,介质为双绞线电缆,连接长度为100 m,单主机时可以有31个从站,最大优点是可以用通信电缆直接供电。
SINEC S1即ASI(传感器—执行器接口协议),ASI对于现场级通信非常重要。SINEC S1网是通过直接相连的电缆传输简单的二进制编码的传感器和执行器信号的,与L2的强大功能相比,它只传递开关位置等少量的信息。S1的总线长度被限制在100 m内,除了信息传递外,还可以通过电缆对站点供电。S1的信息流为4位编码,用于每个从站传递信息到主站,主站可以是PLC或PC,S1的规则允许以简单的方式将现场装置直接相连。一些为ASI而开发的电路,使越来越多的现场装置得到开发并加入到这一现场标准中。西门子公司设计的CP2413用于PC机与S1网络的连接,CP2433用于S5系列PLC与S1网络的连接。
2. SINEC L2 SINEC L2是面向现场级的通信网,与单元网络相比,用户更青睐现场总线系统,因为它有如下优点:对于各种装置、各个部门行业、特殊应用具有普遍适用性;符合ISO、DIN或相关组织的标准,具有开放性和发展性。 SINEC L2遵从DIN 19245标准,是西门子的过程现场总线标准(PROFIBUS),它为分布式I/O站或驱动器等现场器件提供了高速通信所需的用户接口,以及在主站间大量数据内部交换的接口。介质为双绞线或光缆,为光缆时表示为L2FO,节点数为127个,光缆长度为23.8 km,双绞线长度为9.6 km。SINEC L2又分为如下子协议:L2-TF、L2-FMS、L2-DP及L2-AP。
L2-DP遵从PROFIBUS标准的开放式结构,适用于对时间要求比较严格的现场,能够最快速地处理和传递网络数据,例如,在西门子PLC中用在S5、S7与分布式I/O系统ET200之间或与驱动器、阀门等其它现场器件的通信中。L2-FMS适用于现场装置、不同厂家生产的PLC之间的通信。L2-TF提供了与H1网方便通信的技术功能,使H1网能够利用西门子的低成本的PROFIBUS现场总线L2网。
3. SINEC H1 SINEC H1遵从以太网(IEEE 802.3)协议,介质为双绞线电缆或光缆,为光缆时表示为H1FO,可以用于构成单元网络或局域网络。网络节点数可以达到1024个,使用光缆时距离可以达到4.6 km,使用电缆时距离为1.5 km,协议采用H1-TF和H1-MAP。 SINEC H1是基于以太网的工业标准总线系统,它将MAP通信所认定的以太网作为通信的基础。H1-TF包括开放的SINEC AP自动化协议,已经在很多应用领域得到验证。H1-MAP是以太网上的基于MAP 3.0的国际标准。
为了满足不同的物理要求,H1的单元网络或局域网络存在着两种不同的实现方式:铜技术和光纤技术。如果要求网络的成本低、扩展性简单,那么H1是个理想的选择;如果要求利用现存的电缆通道,并且要求覆盖更大更广的距离,那么H1FO光纤网是最佳的选择。 SINEC H1网络可用在大量的总线部件、接口模块的连接上,例如采用铜或光纤技术的设有1或2个端接口的收发器,或者为SIMATIC、PC装置所设计的接口模块。SINEC H1电缆有附加的屏蔽层,因此有更高的可靠性。SINEC H1独特的接地技术可以保护接入的各种装置,使用带有两端口的收发器可以大大节约系统成本。
4. SINEC H3 SINEC H3是遵从FDDI(ISO 9314)规范的主干网,通信介质为光缆,双环拓扑结构,可以扩至500个网络节点,距离可以达到100 km。 SINEC H3功能强大,能长距离传输不同网络间的数据,并且绝对安全可靠。FDDI是针对高速网络的新的国际标准ISO 9314,这个标准是面向未来的,它保证了100 Mb/s的数据传输率,允许分布区域的最大环周长为100 km,并有较高的负载承受能力。如果用户已经安装了H1FO网络,则原有的光缆通道还可以继续使用,不需要新的投资。H3的高可靠性表现在,即使介质在某一点被断开,信号也能利用其闭合返回传输功能进行正常的数据通信,这是它优异的双环冗余设计所保证的。
7.3.2 网络部件 1. 通信口 西门子公司PLC的CPU模块上的通信口是与RS-485兼容的9针D型连接器,符合欧洲标准EN 50170。表7.8给出了通信口的引脚分配。
表7.8 S7系列CPU通信口引脚分配
2. 网络连接器 利用西门子公司提供的两种网络连接器可以把多个设备很容易地连到网络中。两种连接器都有两组螺钉端子,可以连接网络的输入和输出。一种连接器仅提供连接到CPU的接口,而另一种连接器增加了一个编程器接口(见图7.19)。两种网络连接器还有网络偏置和终端偏置的选择开关,该开关在ON位置时的内部接线图如图7.20所示,在OFF位置时未接终端电阻。接在网络端部的连接器上的开关应放在ON位置。 带有编程器接口的连接器可以把从SIMATIC编程器或操作员面板接到网络中,而不用改动现有的网络连接。编程器接口的连接器把CPU来的信号传到编程器接口,这个连接器对于连接从CPU获取电源的设备(例如操作员面板TD200或OP3)很有用。
图7.19 网络连接器
图7.20 开关在ON位置时的终端连接器接线图
3. PROFIBUS网络电缆 表7.9列出了PROFIBUS网络电缆的总规范。PROFIBUS网络电缆的最大长度取决于 通信的波特率和电缆的类型。表7.10列出了传输速率与网络段的最大电缆长度之间的关系。 表7.9 PROFIBUS网络电缆的总规范 表7.10 PROFIBUS中网络段的最大电缆长度
4. 网络中继器 利用中继器可以延长网络距离,增加接入网络的设备,并且提供了一个隔离不同网络段的方法。波特率为9600 b/s时,PROFIBUS允许一个网络段最多有32个设备,最长距离是1200 m,每个中继器允许给网络增加另外32个设备,可以把网络再延长1200 m。最多可以使用9个中继器,网络总长度可增加至9600 m。每个中继器都为网络段提供偏置和终端匹配。
7.3.3 S7-300/S7-400通信模块 S7-300/S7-400有广泛的应用范围,不同的应用要求PLC具有不同程度的通信能力。用MPI接口可构成低成本的MPI网,实现网上各S7 PLC间的数据共享。采用专用的通信处理器(Communication Proccessor)模块可组成不同层次的网络,与S5/S7 PLC、外部设备或其它厂家的PLC进行通信。这些通信处理器模块都是智能化的,它们能在很大程度上减小CPU模块的通信负担。
1. MPI接口 S7-300与S7-400系列PLC的CPU模块内置有MPI接口,MPI网在内置的S7协议(S7 Protocol)的支持下工作,在S7系统内对编程器、CPU和I/O等进行内部数据交换。 MPI接口的用途之一是把各种具有MPI的设备连接起来组成MPI网。能接入MPI网的设备是PG(编程器)、OP(操作面板)、S7-300/S7-400 PLC或其它具有MPI的设备。例如,PG在S7协议的支持下可对PLC在线编程、下载PLC程序或监测PLC运行。 MPI接口的用途之二是以全局数据通信方式实现网上CPU间的少量数据交换。表7.11归纳了S7-300、S7-400以及C7的MPI接口的全局数据通信能力。
表7.11 S7-300、S7-400以及C7的MPI接口的全局数据通信能力
2. S7-300通信处理器模块 S7-300系列PLC有多种用途的通信处理器模块,如CP340、CP342-5 DP、CP343-FMS等,其中既有为装置进行点对点通信设计的模块,也有为PLC上网到西门子的低速现场总线网SINEC L2和高速SINEC H1网设计的网络接口模块。 1) CP340 CP340是一种经济型的串行通信处理器模块,数据通过RS-232C(V.24)接口进行传输,适合于点到点设备的连接。通过CP340不仅能实现S5/S7系列PLC的互连,而且能与来自其它制造商的系统或设备互连,如各种打印机、机器人控制系统、Modem、扫描器、条码阅读机等。
CP340具有一个RS-232C接口,前面板有数据发收和错误指示,内部固化有ASCII和3964(R)两种标准协议,可以与多种设备进行数据交换。ASCII协议是与外部系统相连接的简单协议,带有文本字符的起停或块检查字符,接口的握手信号由用户程序查询和控制。3964(R)协议用于连接西门子设备及第三方设备,它是由西门子公司进行标准化的并且对外开放的协议。
CP340通信处理器模块具有友好的用户界面,参数设定简便。用集成在STEP 7软件中的参数配置功能,用户可以很方便地选择CP340的通信协议及参数,其参数设定通过CPU来进行,CPU内有一存放配置参数的专用数据块。参数配置有三种途径:一是手工配置,二个是填写参数表格,三是用标准功能块。CP340通信模块的技术数据如下: (1) 一个RS-232C接口,信号对S7电源隔离; (2) 数据传输率(波特率):2.4/4.8/9.6 kb/s,可选; (3) 数据传输距离:15 m; (4) 通信协议:ASCII或3964(R)。
2) CP342-5 DP CP342-5 DP是为把S7-300系列PLC连接到西门子SINEC L2网络上而设计的成本优化的通信模块。它是一个智能化的通信模块,能大大减轻CPU的负担,也支持很多其它通信电路。 CP342-5 DP应用于S7-300系统中,提供给用户SINECL2网的各种通信服务。它既可以作为主机或从机,将ET200远程I/O系统连接到PROFIBUS现场总线中去,也可以与编程装置或人机接口(MMI)通信,还可以与其它SIMATIC S7 PLC或SIMATIC S5通信,并且可以与配有CP5412(A2)的AT PC机以及来自其它制造商的具有FBL(Field Bus Link)接口的系统建立连接,还能与MPI分支网上的其它CPU进行全局数据通信。
NCM S7-L2组态软件可以为实现以上功能进行参数配置。CP342-5 DP内部有128 KB的Flash EPROM,可以可靠地对参数进行备份,在掉电时参数也能被保持。CP342-5 DP主要技术数据如下: (1) 用户存储器(Flash EPROM)128 KB; (2) SINEC L2 LAN标准符合DIN 19245; (3) RS-485传输方式,波特率为9.6~1500 kb/s; (4) 可连接的设备数量达127个。 另外,CP343-FMS是采用PROFIBUS-FMS协议的现场总线通信模块,可以用于更加复杂的现场通信任务。
3. S7-400通信处理器模块 1) CP441 CP441类型通信处理器的功能和作用类似于S7-300中的CP340,但功能更强。使用它可以和下列设备进行点到点的串行数据通信:SIMATIC S7/S5、来自其它制造商的系统或设备、PG/PC、打印机、机器人控制、扫描仪或条码阅读机。CP441有两种模块:CP441-1和CP441-2。前者带有一个简单、经济而且可选择协议的可变接口,使用时占一个槽位;后者用于高性能的点到点连接,具有两个可变接口,使用时占两个槽位。
它们都有收、发和错误指示灯。所谓可变接口,是指该接口的传输方式可由用户选择,接口的改变是通过更换不同的接口子模块实现的。可供选择的传输方式有20 mA TTY、RS-232C、RS-422A和RS-485等四种,其传输协议有连接西门子设备的3964(R)协议、与计算机连接的RK512协议(仅CP441-2有)、打印机驱动协议,以及与其它生产商的设备连接的ASCII协议。当然,西门子公司以后还会增加其它协议。
2) CP443-5 CP443-5类似于S7 300中的CP342-5 DP,是为将S7 400连接到SINEC L2网络而设计的通信模块。它使PLC的通信任务和执行协议的负担大大减轻,并能给用户提供以下几种服务: (1) 利用S7协议进行SIMATIC S7的同族通信,能使用S7协议的测试、对象管理和诊断功能; (2) 使用SEND-RECEIVE的简单优化协议,实现PLC到PLC的通信;
(3) 使用FMS(Field Message Specification)的通信协议进行异族通信。 对CP443-5组态要使用STEP 7和SINEC S7-L2系统软件。CP443-5的主要技术参数如下: (1) SINEC L2 LAN标准符合PROFIBUS DIN 19245; (2) RS-485传输方式,9针D孔型插头,波特率为9.6~1200 kb/s; (3) 可连接的设备数量达127。
3) CP443-1 TF CP443-1 TF(Technological Functions)是为S7-400连接到SINEC H1网络而设计的接口模块。它自动地通过SINEC H1单元网络进行数据传输,实现了ISO的全部7层协议,并且大大减轻了PLC处理通信任务的负担。它通过通信功能模块(CFB)与S7-400用户程序进行接口。CP443-1 TF给用户提供以下功能: (1) 在ISO传输协议下,使S5和S7之间进行简单的数据SEND-RECEIVE方式连接; (2) 使用S7协议,提供S7同族之间的通信; (3) 采用TF协议,提供MMS兼容的异族通信; (4) 使用S7协议的测试、对象管理和诊断功能。
对CP443-1 TF组态时要用STEP 7软件和SINEC NCM S7-H1软件配置。CP443-l TF的主要技术参数如下: (1) SINEC Hl LAN标准符合IEEE 802.3; (2) 数据传输速率为10 Mb/s。
7.4 MPI网络与全局数据通信 7.4.1 MPI网络 1. MPI网概述 MPI用于连接多个不同的CPU或设备。MPI符合RS-485标准,具有多点通信的性质。MPI的波特率设定为187.5 kb/s。接入到MPI网的设备称为一个节点,不分段的MPI网(无RS-485中继器的MPI网)最多可以有32个网络节点。仅用MPI接口构成的网络,称为MPI分支网(简称MPI网)。两个或多个MPI分支网,用网间连接器或路由器连接起来(如通过SINEC L2),就能构成较复杂的网络结构,实现更大范围的设备互连。MPI分支网能够连接不同区段的中继器。
每个MPI分支网有一个分支网络号,以区别不同的MPI分支网。分支网上的每个节点都有一个网络地址,这里称为MPI地址。节点MPI地址号不能大于给出的最高MPI地址,这样才能使每个节点正常通信。S7在出厂时对一些装置给出了缺省MPI地址,如表7.12所示。MPI分支网络号的缺省设置是0。 表7.12 缺省MPI地址
用PG可以为设备分配需要的MPI地址,修改最高MPI地址。例如,某MPI网中有两个PLC节点,需在联网前用PG为它们分配不同的MPI地址。分配MPI地址要遵守这样的规定:一个分支网络中,各节点要设置相同的分支网络号;在一个分支网络中,MPI地址不能重复,并且不超过设定的最大MPI地址;同一分支网中,所有的节点都应设置相同最高MPI地址;为提高MPI网节点通信速度,最高MPI地址应当较小。如果机架上安装有功能模块和通信模块,则它们的地址由CPU的MPI地址顺序加1构成。在MPI网运行期间,不能插入、拔出模板。
2. MPI网组建 图7.21 MPI网络示意图
用STEP 7软件包中的Configuration功能为每个网络节点分配一个MPI地址和最高地址,最好标在节点外壳上;然后对PG、OP、CPU、CP、FM等包括的所有节点进行地址排序,连接时需在MPI网的第一个及最后一个节点接入通信终端匹配电阻。往MPI网添加一个新节点时,应该切断MPI网的电源。图中分支虚线表示只在启动或维护时才接到MPI网的PG或OP。为了适应网络系统的变化,可以为一台维护用的PG预留MPI地址0,为一个维护用的OP预留MPI地址1,PG和OP的地址应该是不同的,这样在需要它们时可以很方便地连接入网。
连接MPI网络时常用到两个网络部件:网络插头和网络中继器,这两个部件也可用在SINEC L2网中。插头是MPI网上连接节点的MPI口和网电缆的连接器,网络插头分为两种,一种带PG接口,一种不带PG接口。为了保证网络通信质量,网络插头或中继器上都设计了终端匹配电阻。组建通信网络时,在网络拓扑分支的末端节点需要接入浪涌匹配电阻。
对于MPI网络,节点间的连接距离是有限制的,从第一个节点到最后一个节点最长距离仅为50 m,对于一个要求较大区域的信号传输或分散控制的系统,采用两个中继器(或称转发器、重复器)可以将两个节点的距离增大到1000 m,但是两个节点之间不应再有其它节点,如图7.22所示。
图7.22 采用中继器延长网络连接距离
在采用分支线的结构中,分支线的距离是与分支线的数量有关的,分支线为一根时,最大距离可以是10 m,分支线最多为六根,其距离被限定在5 m以下。 中继器可以放大信号、扩展节点间的连接距离,也可以用于抗干扰隔离,如用于连接 不接地的节点和接地的MPI编程装置的隔离器。中继器的电气原理图如图7.23所示。其特点是,两端光电隔离,标有A1B1的一端为LAN段1,标有A2B2的一端为LAN段2,段1侧接各个节点,段2侧接另一个中继器的段2侧,从段l到段2信号被放大了,所以其抗干扰能力增强了,连接距离增大了近20倍。
图7.23 RS-485中继器的电气原理图
对于MPI网络系统,在接地的设备和不接地的设备之间连接时,应该注意RS-485的使用,如果RS-485中继器所在段中的所有节点都是以接地电位方式运行的,则其是接地的;如果RS-485中继器所在段中的所有节点都是以不接地电位方式运行的,则其是不接地的;如果编程装置的MPI是接地的,把它连接到RS-485中继器的接口上,则MPI网的段1是接地的。
要想在接地的结构中运用中继器,就不应该取下RS-485中继器上的跨接线。如果需要让其不接地运行,则应该取下跨接线,而且中继器要有一个不接地的电源。在MPI网上,如果有一个不接地的节点,那么可以将一台不接地的编程装置接到这个节点上。要想用一个接地的编程装置去操作一个不接地的节点,应该在两者之间接有RS-485中继器。如果编程装置接在段1侧,则不接地的节点应接在段2上。
在实际应用中,PG为运行的MPI网络节点提供两种服务,一种是PG永久地连接在MPI网上,在使用网络插头时,可以直接归并到MPI网络中;另一种情况是在对网络进行启动和维护时接入PG,使用时再用一根分支线接到一个节点上。对PG驻留在网络中的情况,则采用带有出入双电缆的双口网络插头。如果要对一个网络服务,而网络本身没有驻留的PG,那么可以用两种方式加入未知的节点,一个是将MPI地址设为0,另一个是设为最高MPI地址:126,然后用S7组态软件确定此MPI网所预设的最高地址,如果预设的小,则把网络中的最高MPI地址改为与这台PG一样的最高MPI地址。如果是仅在启动或维护时使用,则可以采用带PG接口的网络插头,它只带一条电缆。
7.4.2 全局数据通信 全局数据(GD)通信方式以MPI分支网为基础,是为循环地传送少量数据而设计的。GD通信方式仅限于同一分支网的S7系列PLC的CPU之间,构成的通信网络简单,但只实现两个或多个CPU间的数据共享。S7程序中的功能块FB、功能块FC、组织块OB都能用绝对地址或符号地址来访问全局数据。在一个MPI分支网络中,最多有5个CPU能通过GD通信交换数据。
1. GD通信原理 在MPI分支网上实现全局数据共享的两个或多个CPU中,至少有一个是数据的发送方,有一个或多个是数据的接收方。发送或接收的数据称为全局数据,或者称为全局数。全局数据块(GD块)分别定义在发送方和接收方CPU的存储器中,定义在发送方CPU中的称为发送GD块,接收方CPU中的称为接收GD块。依靠GD块,为发送方和接收方的存储器建立了映射关系。 在PLC操作系统的作用下,发送CPU在它的扫描循环的末尾发送GD,接收CPU在它的扫描循环的开头接收GD。这样,发送GD块中的数据,对于接收方来说是“透明的”。也就是说,发送GD块中的信号状态会自动影响接收GD块;接收方对接收GD块的访问,相当于对发送GD块的访问。
2. GD通信的数据结构 全局数据可以由位、字节、字、双字或相关数组组成,它们被称为全局数据的元素。全局数据的元素可以定义在PLC的位存储器、输入、输出、定时器、计数器、数据块中,例如I5.2(位)、QB 8(字节)、MW 20(字)、DB 5.DBD 8(双字)、MB 50:20(字节相关数组)就是一些合法的GD元素。MB 50:20称为相关数组,是GD元素的简洁表达方式,冒号(:)后的20表示该元素由MB 50,MB 51,…,MB 69等连续20个存储字节组成。相关数组也可由位、字或双字组成。
一个全局数据块(GD块)由一个或几个GD元素组成,最多不能超过24 B。在GD块中,相关数组、双字、字、字节、位等元素使用的字节数见表7
表7.13 GD元素的字节数
3. 全局数据环 所谓全局数据环(GD环),是指全局数据块的一个确切的分布回路,这个环中的CPU既能向环中其它CPU发送数据,也能从环中其它CPU接收数据。典型的全局数据环有两种:一种是两个以上的CPU组成的全局数据环,一个CPU作GD块发送方时,其它的CPU只能是该GD块的接收方;另一种是两个CPU构成的数据环,一个CPU既能向另一个CPU发送数据块又能接收数据块。
在MPI网络进行GD通信的5个CPU(最多5个)之间可以建立多个全局数据环,但每个S7-300的CPU最多只能参与其中4个不同的GD环。 其实,MPI网络进行GD通信的内在方式有两种:一种是一对一方式,当GD环中仅有两个CPU时,可以采用类全双工点对点方式,不能有其它CPU参与,只有两者独享;另一种为一对多(最多4个)广播方式,一个点播,其它接收。下面给出MPI网采用GD通信的例子,其中建立了6个GD环,如图7.24所示。
对每个CPU参与的情况说明如下: CPU1参与了4个GD环的通信,作为发送方2次、接收方3次,不能再参与其它环的通信。 CPU2参与了3个GD环的通信,作为发送方2次、接收方2次,还可以参与一个GD环的通信,比如,第5个或第6个环。 CPU3参与了4个GD环的通信,作为发送方3次、接收方3次,不能参与其它GD环的通信。 CPU4参与了3个GD环的通信,作为发送方1次、接收方2次,还能参与一个环的通信,如第4个环。 CPU5参与了4个GD环的通信,作为发送方0次、接收方4次,不能参与其它GD环的通信。
图7.24 使用GD环通信
4. GD通信应用 应用GD通信,就要在CPU中定义全局数据块,这一过程也称为全局数据通信组态。在对全局数据进行组态前,需要先执行下列任务: (1) 定义项目和CPU程序名; (2) 用PG单独配置项目中的每个CPU,确定其分支网络号、MPI地址、最大MPI地址等参数。
在用STEP 7开发软件包进行GD通信组态时,由系统菜单Options中的Define Global Data程序进行GD表组态。具体组态步骤如下: (1) 在GD空表中输入参与GD通信的CPU代号; (2) 为每个CPU定义并输入全局数据,指定发送GD; (3) 第一次存储并编译全局数据表,检查输入信息语法是否为正确数据类型,是否一致; (4) 设定扫描速率,定义GD通信状态双字; (5) 第二次存储并编译全局数据表。
编译后的GD表形成系统数据块,随后装入CPU的程序文件中。第一次编译形成的组态数据对于GD通信是足够的,可以从PG下载至各CPU。若确实需要输入与GD通信状态或扫描速率有关的附加信息,再进行第二次编译。 扫描速率决定CPU用几个扫描循环周期发送或接收一次GD,发送和接收的扫描速率不必一致。扫描速率值应满足两个条件:①发送间隔时间大于等于60 ms;②接收间隔时间小于发送间隔时间。否则,可能导致全局数据信息丢失。扫描速率的发送设置范围是4~255,接收设置范围是1~255,它们的缺省设置值都是8。
GD通信为每一个被传送的GD块提供GD通信状态双字,该双字被映射在CPU的存储器中,使用户程序及时了解通信状态,对GD块的有效性与实时性做出判断。GD通信状态双字也大大增强了系统的故障诊断能力。GD通信状态双字的各位意义见表7.14,表中没有说明的位,无确定含义,它们的状态为0。
表7.14 GD通信状态双宇
图7.25是一个CPU与其它三个CPU交换数据的例子。CPU1配置为将DB5中的不同长度的数据区发送至CPU2至CPU4,并且CPU1设定在DB6中以接收来自这些CPU的数据,CPU2至CPU4在DB8中存储接收的和发送的数据。其GD表的配置见表7.15,这里用扫描速率设置,使数据交换优化。
图7.25 一个CPU与三个CPU交换数据
表7.15 一个CPU与三个CPU通信的GD表
CPU1的发送扫描速率设置为缺省值8,即CPU1每隔8个OB 1扫描循环的末尾,发送一次数据;接收扫描速率设置为4,即每隔4个OB 1扫描循环的开头,检查数据是否收到。因为CPU3需要较短的响应时间,所以它的发送扫描速率设置为4,接收扫描速率设置为1。 为使CPU1能监视各CPU是否在发送数据,可将GST映射在CPU1的MD100中,GST值是由所有CPU的GDS值相“或”产生的。另外,对于CPU1的每一接收GD块,都设置有接收状态双字(存储在从MD104开始的单元中),其它CPU用MD 80监视CPU1的状态。
本例中,CPU1分别和其它三个CPU间建立了双向数据交换关系,这是由三个GD环实现的。 总之,采用MPI构成网络,不再需要通信单元模块,大大降低了网络设计成本。西门子的GD通信模式为同类产品构成的网络中少量数据的交换提供了简便可靠的通信方法,用户不用了解其内在的复杂协议规约,就能很快地入门使用。但当每块通信数据超过22 B时,则要考虑采用西门子的L2或HI网的传输方式。
7.5 S7系列PLC与其他计算机的通信 7.5.1 CP340的工作原理 CP340通信处理器模块有一个RS-232C串行通信接口,它使S7-300 PLC能与通信伙伴以点到点通信方式进行数据交换。任何具有RS-232C接口的设备都可以成为通信伙伴,一般这里称它们为计算机。 CP340是PLC与计算机进行数据交换的桥梁和纽带,如图7.26所示。一方面,CP340的RS-232C接口与计算机相连;另一方面,CP340通过背板总线与PLC的CPU相连。为减小通信时CPU模块的负担,CP340被设计成智能型的,CP340模块上的处理器既受控制又有自主性,它根据CPU模块的命令自主管理串行口的收发工作。
图7.26 CP340连接
1. CPU模块与CP340 CP340模块上有接收缓冲存储器和发送缓冲存储器,依靠接收和发送缓冲存储器(缓 冲区)建立起了CPU模块与CP340的联系。发送时,CPU模块只需要把发送的数据写入发送缓冲区,然后,由CP340把缓冲区中的数据逐个发送给计算机。CP340还负责从计算机接收数据,并把接收到的数据写入接收缓冲区。CPU模块以查询方式读接收缓冲区,如果缓冲区不空,CPU便得到接收数据。 读写CP340上的缓冲区需要在用户程序中调用专用的功能块,写缓冲区的功能块称为发送功能块,读缓冲区的功能块称为接收功能块。CPU要发送的数据必须存储在数据块中,调用发送功能块可把数据块中的数据写入发送缓冲区。调用接收功能块可把接收缓冲区的数据读到数据块中。
2. CP340与计算机 CP340与计算机之间通过RS-232C进行数据交换,数据交换根据双方约定的规则进 行,这个规则称为通信协议。通信协议的要点包括波特率、字符格式、字符间隔、开始传输的条件以及如何保证传输信息完整等内容。 CP340上固化有两个标准通信协议,它们是3964(R)和ASCII。用STEP 7中的专用组态工具可选择通信协议并确定协议的具体内容,组态数据存入CPU模块的系统数据块(SDB)中,该内容随PLC的其它组态数据被下载。当PLC启动时,有关的组态数据传入CP340,然后,CP340按照选定的通信协议传输数据。一般情况下,实施通信协议不需S7 CPU参与。CP340中的ASCII协议仅实现了OSI参考模型的第1层(物理层),3964(R)还实现了第2层(数据链路层)。
7.5.2 通信功能块 专用通信功能块是CPU模块与CP340的软接口,它们建立和控制CPU和CP340的数据交换。专用功能块有四个:发送功能块FB 3(P_SEND)、接收功能块FB 2(P_RCV)、读RS-232C接口信号状态功能块FC 5(V24_STAT)和接口信号状态设置功能块FC 6(V24_SET)。 这些功能块与CP340的组态工具等需要专门安装,安装完成后功能块在STEP 7的CP340库(Library)中,使用时,需要将用到的功能块拷贝到用户程序中。
1. 发送功能块FB 3 发送功能块FB 3有两个功能,一是将数据块中的数据写入CP340的发送缓冲区,二是监测CP340发送并返回CP340的发送情况。FB 3的运行特性类似于定时器方块指令,完成一次发送需要多个扫描周期(调用多次)。因此,必须连续在每个扫描周期中调用FB 3,使其在每个循环周期得到扫描,以避免一个信息帧的发送过程中断。表7.16给出了发送功能块FB 3的用法及参数说明,表中P_SEND为FB 3的符号名,FB 3需要大小为40 B的背景数据块,I_SEND是背景数据块符号名。
表7.16 发送功能块FB 3调用及参数
续表
FB 3 P_SEND只能将数据块中连续存放的数据传给CP340,为此,需要在传送时说明数据块号(DB_NO)、数据在数据块中的起始字节号(DBB_NO)和数据字节长度(LEN)。图7.27是FB 3 P_SEND的时序图。
图7.27 FB 3P_SEND的时序图
FB 3 P_SEND有闲置和发送两种状态,如果输入REQ有上升沿,则FB 3 P_SEND就由闲置转入发送,开始向CP340传送数据,并由CP340将数据发送给接收方。数据量和通信线路(CP340与计算机间的线路)质量决定发送的持续时间。在发送期间,REQ不必始终为“1”。 CP340发送过程结束后,FB 3 P_SEND从发送转为闲置状态。通过FB 3 P_SEND输出信号可得到发送完成情况,完成情况分正确完成和错误完成两种。正确完成时,输出DONE为“1”,输出STATUS的值为0,否则,输出ERROR为“1”,输出STATUS的值表示错误细节。
在发送期间,如果输入R为“1”,则放弃发送并且将FB 3P_SEND置为初始状态(复位)。但是,已经传入CP340的数据将继续发送,无错发完,输出DONE返回“1”,有错发完,输出ERROR返回“1”。
2. 接收功能块FB 2 接收功能块FB 2有两个功能,一是将CP340接收缓冲区中的数据读回存入数据块,二是返回CP340的接收情况。FB 2的运行特性类似于FB 3,完成读数也需要多个扫描周期(调用多次)。表7.17给出了接收功能块FB 2的用法及参数说明,表中P_RCV为FB 2的符号名,FB 2需要40 B的背景数据块,I_RCV是背景数据块符号名。
表7.17 接收功能块FB 2调用及参数
FB 2 P_RCV将CP340接收缓冲区中的数据连续存放在数据块中,为此,需要说明数据块号(DB_NO)和数据存在数据块中的起始字节号(DBB_NO)。图7.28是FB 2 P_RCV的时序图。
FB 2 P_RCV有闲置、查询和接收三种状态。如果输入EN_R为“1”,则由闲置转入查询,查询CP340接收缓冲区。如果缓冲区中有数,则转入接收状态。数据量决定接收持续时间。读空CP340的接收缓冲区后,FB 2 P_RCV从接收转为查询状态。通过FB 2 P_RCV输出信号可得知读回的数据是否完整,如果数据完整,则输出NDR为“1”,输出LEN的数值表示数据长度,输出STATUS的值为0,否则,输出ERROR为“1”,LEN的值为0,输出STATUS的值表示错误细节。在查询和接收期间,EN_R必须始终为“1”。 EN_R为“0”将使FB_RCV转为闲置状态。若EN_R变“0”时中断了正在进行的接收,则ERROR为“1”并由STATUS给出错误细节。输入R为“1”,将FB 2 P_RCV置为初始状态(复位),接收请求被终止。若R重新变为“0”,则从头开始接收。
3.读取和控制RS-232C信号状态 用户程序中需要用到的RS-232C信号状态,可通过调用功能FC 5(符号名V24_STAT)读取。这些信号与功能FC 5参数的对应关系在表7.18中列出。 表7.18 FC 5 V24_STAT参数及RS-232C信号
7.5.3 CP340的启动及工作特性 CP340是智能模块,上电后其启动过程由上电初始化和参数设置两个阶段组成。CP340一旦上电就进行初始化,这时,CP340以出厂时的参数设置串行接口。然后,CP340以3964(R)协议默认参数自动启动。CPU由STOP转为RUN时,进行参数重置,CP340的默认参数被用户设置的参数覆盖后进入运行状态。 CP340有停止、重置和运行三种工作状态。如果发生故障,CP340就进入停止状态;若故障消除,停止状态自动撤消。只有在运行状态下,CP340才能接收或发送信息帧。
在CP340的前面板有三个发光二极管(LED):(红色)故障LED(SF)、(绿色)发送LED(TXD)和接收LED(RXD)。串行接口收发数据时,由TXD或RXD发光二极管分别发光显示。SF在CP340故障和停止状态时发光,启动阶段,SF也发光显示。故障原因有硬件故障、固化的软件错误、参数非法和接收线断裂。接收线断裂时,SF和RXD都发光。 通过设置诊断报警参数,可在CP340有严重故障时向CPU发出报警并触发中断请求,以便采取相应措施。如果故障发生,则CP340通过背板总线向CPU提供诊断数据,数据被写入CPU的诊断缓冲区。为中断请求服务的是组织块OB82,OB82的变量给出了诊断数据,用户程序可根据变量数值采取应急措施。另外,诊断数据也可通过编程器查找。CP340能诊断出的严重故障有断线、参数非法、RAM故障、ROM故障和系统故障。
7.5.4 CP340应用举例 在某市自来水遥控供水系统中,一个工控机中心控制站和五个S7-300控制站进行无线通信。每个S7控制站中使用一个CP340模块,该模块的串行接口通过调制解调器与电台相连,中心站也配备调制解调器和电台。这样S7站便可根据收到的中心站指令,对供水设备进行遥控遥测。
其中2号S7控制站只有0号机架,硬件配置为CP340模块在槽4(逻辑地址256)、8通道模拟量输入在槽5(地址528)、16点开关量输入在槽6(地址8)、16点开关量输出在槽7(地址12)。CP340设置为定长信息帧ASCII通信协议,CP340的接收信息帧长度为8 B,发送帧长度为24 B。信息帧的第一个字节是站标志,最后一个字节是信息帧的“异或”结果。 S7控制站每收到一个信息帧,首先用“异或”结果检查信息帧是否完整,如果完整再看站标志是否与本站相符,若符合则认为是由中心站发来的控制指令。S7站根据指令动作并把模拟输入值、开关量I/O等信号发送给中心站。
下面是2号S7站的控制程序: OB 100再启动 Network 1 SET = M60.0 //M 60.0为接收允许控制信号,“1”允许 CLR = M60.1 //M 60.1为接收功能块复位信号,“0”不复位 = M61.0 //M 61.0为发送接收允许控制信号,上升沿允许 = M61.1 //M 61.1为发送功能块复位信号,“0”不复位 Network 2 L B#16#02 //2号站标志为02H T MB70 //MB 70存储本站标志 T DB40.DBB 0 //本站标志装入发送数据块中,作为中心站收到信息 后的站识别标志
L 256 T MW72 //MW 72中存储CP340的逻辑地址256 L 30 T MW80 //MW 80中存储接收信息存储数据块块号30 L 0 T MW82 //MW 82中存储接收信息存储在数据块中的起始字节号0 L 40 T MW90 //MW 90中存储要发送信息的存储数据块块号40 T MW92 //MW 92中存储发送信息存储在数据块中的起始字节号0 L 24 T MW94 //MW 94中存储发送信息的字节数24
OB 1主程序循环 Network 1 CALL FC 100 //读8通道,模拟量输入存储数据块DB 20中 PIW_Addr :=528 //模入通道起始地址528 CH_LEN :=8 //通道数8 DB_NO :=20 //存储模入值的数据块号为20 DBW_Addr :=0 //模入值在数据块中存储的起始字地址为 0(DBW 0) Network 2 CALL FC52 //查询CP340,若收到给本站的完整信息帧就 在本扫描周期使M60.7为1 Network 3 CALL FC60 //供水设备控制程序,若M60.7为1就接收中 心站来的新指令 Network 4 CALL FC53 //发送程序,若M60.7有上升沿就触发发送功能块FB 3
FC52查询接收处理程序 Network 1 AN M61.0 = M60.0 //若发送触发标志M 61.0为0就使接收允许标志为1 Network 2 CALL FB2,DB2 //调用发送功能块FB2,其背景数据块为DB 2 EN_R :=M60.0 R :=M60.1 LADDR :=MW72 //CP340的地址在MW72中 DB_NO :=MW80 //接收信息的存储数据块号(30)由MW80给出
DBB_NO :=MW82 //接收信息在数据块中存储的字节起始地址 (0)由MW82给出 NDR :=M60.2 //M60.2为接收请求正确完成标志 ERROR :=M60.3 //M60.3为接收请求错误完成标志 LEN :=MW84 //MW84存储收到的信息帧长度 STATUS :=MW86 //MW86存储接收错误细节 Network 3 CALL FC101 //计算接收DB中连续存放数据的“异或”值, 存入MB88中 DB_NO :=MW80 //数据块号由MW80给出 DBB_NO :=1 //计算起始字节为DB30.DBB I DBB_LEN :=6 //计算字节数为6(DBB1,DBB2,…,DBB6) XOR_OUT :=MB88 //“异或”值存入MB88中
Network 4 L MB88 L DB30.DBB 7 ==I //计算“异或”值(MB88),与接收到的“异或”值(DB30.DBB7)比较 = M60.4 //若相等,则使信息完整标志M60.4为1 Network 5 L MB70 //MB70中为本站标志 L DB30.DBB 0 //DB30.DBB 0中为收到信息的站标志 ==I //本站标志与收到的站标志比较 = M60.5 //若相同,则使站信息符合标志M60.5为1
Network 6 A M60.2 //如果接收请求正确完成(在DB30中有新的信息) AN M60.3 //且接收请求无错误 A M60.4 //且信息完整(“异或”值正确) A M60.5 //且信息标志与本站相符 FP M60.6 = M60.7 //则使M60.7在本扫描周期为1 FC53发送处理程序 Network 1 A M60.7 = M61.0 //若M60.7有上升沿,则M61.0也有
Network 2 A M61.0 JC B0 //若M61.0为1,则转到B0处执行程序 JU B1 //否则转到B1 Network 3 B0: CALL SFC20 //将DB20.DBB 0开始22个字节数据写入DB40.DBB 1开始的区域中 SRCBLK :=P#DB 20.DBX 0.0 BYTE 22 RET_VAL :=MW10 DSTBLK :=P#DB 40.DBX 1.0 BYTE 22 CALL FC 101 //计算DB40.DBB 1开始的22个字节的“异或”值,存入DBB40.DB 23中 DB_NO :=40 DBB_NO :=1 DBB_LEN :=22 XOR_OUT :=DB40.DBB 23
Network 4 B1: CALL FB3,DB3 //调用发送功能块FB3,其背景数据块为DB3 REQ :=M61.0 //M61.0为发送请求标志 R :=M61.1 LADDR :=MW72 DB_NO :=MW90 DBB_NO:=MW92 LEN :=MW94 DONE :=M61.2 ERROR :=M61.3 STATUS :=MW96
本例中,FC101为数据块中字节数据“异或”计算程序,用来帮助判断传输数据的完整性(在3964(R)协议下,该工作由CP340自动完成)。DB40只是在每次触发发送前才被刷新,以免其在写入CP340发送缓冲区的过程中变化。
思考与练习题 1. 简述并行传输和串行传输各自的特点。 2. 常用的调制方法有哪几种?各有什么特点? 3. 常用的接口标准有哪几种?各有什么特点? 4. 什么是计算机网络?决定局域网络特性的主要技术有哪些? 5. 什么是现场总线?现场总线主要有哪些特点? 6. 简述CP340模块与CPU、计算机的数据传输过程。 7. 如何组建MPI网络? 8. 常用的网络部件有哪些?各有什么功能?