教学目的及要求 通过教学,使学生了解模拟量处理模块和通信模块的功能及使用方法。
8.1 模拟量处理模块及应用
FX系列PLC模拟量输入/输出模块主要包括4模拟量输入模块FX-4AD,2模拟量输出模块FX-2DA,2通道热电阻温度传感器模拟量输入模块FX-2DA-PT,4通道热电偶温度创肝气模拟量输入模块FX-4AD-TC等。
1. 模拟量输入模块FX-4AD的技术指标
FX-4AD为4通道12位A/D转换模块,是一种具有高精度的直接在扩展总线上的模拟量输量单元。FX-4AD的技术指标如表8-1所示。
表8-1 FX-4AD技术指标
| 项目 | 电压输入 | 电流输入 |
| 4通道模拟量输入。通过输入端子变换可选电压或电流 | ||
| 模拟量输入范围 | DC-10~+10V(输入电阻200k)绝对最大输入15V | DC-20~+20mA(输入电阻250)绝对最大输入32mA |
| 数字量输出范围 | 带符号为的16位二进制(有线数值11位)数值范围-2048~+2047 | |
| 分辨率 | 5mV(10V1/2000) | 20A(20mA1/1000) |
| 综合精确度 | 1%(在-10~+10V范围) | 1%(在-20~+20V范围) |
| 转换速度 | 每通道15ms(高速转换方式时为每通道6ms) | |
| 隔离方式 | 模拟量与数字量间用光电隔离。从基本单元来的电源经DC/DC转换器隔离。各输入端子间不隔离 | |
| 模拟量用电量 | 24(110%)VDC 50mA | |
| I/O占有点数 | 程序上为8点(计输入或输出点均可),有PLC供电的消耗功率为5V 30mA | |
FX-2DA为2通道12位D/A转换模块,每个通道可设置电压或电流输出。FX-2DA是一种具有高精度的直接在扩展总线上的模拟量输出单元。FX-2DA的技术指标如表8-2 所示。
表8-2 FX-2DA技术指标
| 项目 | 电压输入 | 电流输入 |
| 2通道模拟量输出。根据电流输出还是电压输出,使用不同的端子 | ||
| 模拟量输出范围 | -10~+10V DC(外部负载电阻1~10M) | +4~+20mA DC(外部负载电阻500以下) |
| 数字量输入 | 电压=-2048~+2047 | 电流=0~1024 |
| 分辨率 | 5mV(10V1/2000) | 20A(20mA1/1000) |
| 综合精确度 | 满量程10V的1% | 1%(在-20~+20V范围) |
| 转换速度 | 每通道9ms(高速转换方式时为每通道3.5ms) | |
| 隔离方式 | 模拟量与数字量间用光电隔离。与基本单元来的电源经DC/DC转换器隔离。通道间没有隔离 | |
| 模拟量用电量 | 24(110%)VDC 130mA | |
| I/O占有点数 | 程序上为8点(计输入或输出点均可),有PLC供电的消耗功率为5V 30mA | |
① 模块的连接与编号
如图8-1所示,接在FX基本单元右边扩展总线上的特殊功能模块(如模拟量输入模块FX-4AD、模拟量输出模块FX-2DA、温度传感器模拟量输入模块FX-2DA-PT 等),从最靠近基本单元的那一个开始顺次编号为0~7 号。
FX-48MR
X0~X27
| Y0~Y27 | FX-4AD | FX-8EX X30~X37 | FX-2A | FX-32ER X40~X57 Y30~Y47 | FX-2AD-PT |
图8-1 功能模块连接
② 缓冲寄存器(BFM)编号
特殊功能模块FX-4AD、FX-2DA的缓冲寄存器BFM,是FX-2DAtongPLC基本单元进行数据通讯的区域,这一缓冲寄存器区由32个16位的寄存器组成,编号为BFM#0~#31。
a. FX-4AD模块BFM的分配表见表8-3。
表8-3 FX-4AD模块BFM分配表
| BFM | 内容 | ||||||||
| *#0 | 通道初始化 缺省设定值=H 0000 | ||||||||
| *#1 | 通道1 | 平均值取样次数 缺省值=8 | |||||||
| *#2 | 通道2 | ||||||||
| *#3 | 通道3 | ||||||||
| *#4 | 通道4 | ||||||||
| #5 | 通道1 | 平均值 | |||||||
| #6 | 通道2 | ||||||||
| #7 | 通道3 | ||||||||
| #8 | 通道4 | ||||||||
| #9 | 通道1 | 当前值 | |||||||
| #10 | 通道2 | ||||||||
| #11 | 通道3 | ||||||||
| #12 | 通道4 | ||||||||
| #13~19 | 不能使用 | ||||||||
| *#20 | 重置为缺省设定值 缺省设定值=H 0000 | ||||||||
| *#21 | 禁止零点和增益调整 缺省设定值=0.1(允许) | ||||||||
| *#22 | 零点、增益调整 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
| G4 | O4 | G3 | O3 | G2 | O2 | G1 | O1 | ||
| *#23 | 零点值 缺省设定值=0 | |
| *#24 | 增益值缺省设定值=5000 | |
| *#25~*#28 | 空置 | |
| *#29 | 出错信息 | |
| BFM | 内容 | |
| *#30 | 识别码2 010D | |
| *#30 | 不能使用 | |
表8-4 FX-2DA 模块BFM分配表
| BFM | 内容 | ||||
| *#0 | 模拟量输出模块(电流/电压) 缺省值=H 00 | ||||
| *#1 | 通道1输出数据 | ||||
| *#2 | 通道2输出数据 | ||||
| #3~4 | 空置 | ||||
| *#5 | 输出保持或回零 缺省值=H 0000 | ||||
| #6~19 | 空置 | ||||
| *#20 | 重置为缺省设定值 缺省设定值=H 0000 | ||||
| *#21 | 禁止零点和增益调整 缺省设定值=0.1(允许) | ||||
| *#22 | 零点、增益调整 | b3 | b2 | b1 | b0 |
| G2 | O2 | G1 | O1 | ||
| *#23 | 零点值(单位mV或A) 缺省设定值=0 | ||||
| *#24 | 增益值(单位mV或A) 缺省设定值=H5000 | ||||
| #25~28 | 空置 | ||||
| #29 | 出错信息 | ||||
| #30 | 识别码3 010D | ||||
| #31 | 空置 | ||||
| 指令名称 | 助记符 | 指令代码 | 操作数 | 程序步 | |||
| m1 | m2 | D | n | ||||
| 读特殊功能模块指令 | FROM | FNC78 | K、H (m1=0~7) | K、H (m2=0~31) | KnY、KnM、KnS T、C、D、V、Z | K、H (n=1~32) | FROM…9步 (D)FROM…17步 |
图8-2 FROM指令使用说明
表8-6 写特殊功能模块指令要素
| 指令名称 | 助记符 | 指令代码 | 操作数 | 程序步 | |||
| m1 | m2 | D | n | ||||
| 写特殊功能模块指令 | TO | FNC79 | K、H (m1=0~7) | K、H (m2=0~31) | K、H、KnX、KnY、KnM、KnS T、C、D、V、Z | K、H (n=1~32) | TO…9步 (D)TO…17步 |
图8-3 TO指令使用说明
图8-4 [例1]梯形图
图8-5 [例2]的梯形图
8.2 通信模块及应用
8.2.1 可编程序控制器通信与网络概述
问题提出 1. 什么是可编程控制器的通信?
2. 通信的方式有哪些?
3. 什么是实时性?
4. 可编程序控制器之间是如何连接的?
可编程序控制器的组网与通讯是近年来自动化领域颇受重视的新兴技术。在可编程控制器及其网络中存在两类通信:一类是并行通信,另一类是串行通信。
1. 通信方法的含义
可编程控制器网络是由几级子网复合而成,每级子网中都配置不同的协议,其中大部分是公司的专用通信协议。
各级子网的通信过程是由通信协议决定的。从根本上讲,要搞清楚某级可编程控制器子网的通信就必须彻底剖析它所采用的通信协议,这个工作量很大,更何况大多数又都是各公司的专用协议。繁琐的协议规定常会掩盖问题的本质,通常会遇到这样的情况:两个公司的专用协议,从协议的规定,帧格式等表面现象看可能有明显的不同,然而它们关于如何实现通信的思路却极为相似,如出一辙。抓住它们的同一性,就会把表面上孤立无关的事情串联起来。正是基于这样一种思想,我们引入了“通信方法”这一概念。
可编程控制器网络的各级子网无论采用总线结构,还是环形结构,它的通信介质是共享资源。挂在共享介质上的各站要想通信,首先要解决共享通信介质使用权的分配问题,这就是常说的存取控制或访问控制。
一个站取得了通信介质使用权,并不等于完成了通信过程,还有怎样传送数据的问题,这就是常说的数据传送方式。比如说采用的数据传送方式是否要先建立一种逻辑连接,然后再传送?所采用的数据传送方式发给对方的数据是否要对方应答?发出去的数据是由一个站收,或者多个站收,还是全体接收?诸如此类就是所谓的数据传送方式。
这里所谓的通信方法 = 存取控制方式 + 数据传送方式。本来存取控制方式与数据传送方式都是通信协议有关层次的内容,这里专门把它们抽出来加以介绍,是因为用它们来描述一种通信过程与人们意念上有关通信的概念非常接近。对于局域网来说,存取控制方式与数据传送方式是其通信协议最核心的内容。
2. 工业局域网实时性的含义
工业局域网对实时性是有要求的,各级子网对实时性的要求不同。通常愈靠底层的子网对实时性要求愈高,愈靠上层的子网对实时性的要求愈低。
实时性通常采用“响应时间”来定量描述。响应时间是指某一系统对输入做出响应所需的时间,以 ms, s, min, h 为计量单位。响应时间越短,就标志着系统的实时性越好。
可编程控制器网络中,各站通过通信子网互连在一起,当某站对子网请求通信时,它对响应时间是有要求的。不同站对实时性的要求可能不同,同一站中不同通信任务对实时性的要求也可能不同。一项通信任务的实时性得到满足是指其响应时间小于规定的时限;一个站的实时性合乎要求是指该站提出的所有通信任务在指定的时限内都能获得响应。整个通信子网的实时性符合要求是指分布在子网上每一个站的每项通信任务的实时性均得到保证。
要保证可编程控制器网络的实时性必须满足下列三个时间约束条件:
a. 必须限定每个站每次取得通信权的时间上限值,以防某一站长期霸占子网而导致其它各站实时性恶化。
b. 应当保证在某一固定的时间周期内,通信子网上的每个站都有机会取得通信权,这将为每个站提供基本实时性。
c. 对于重要的站可优先服务,对于某项紧急通信任务应当给予优先处理,应当可以用静态(固定)的方式赋予某些站以较高的优先权,应当可以用动态(临时)方式赋予某些紧急任务紧急以较高的优先权。
可编程控制器网络的实时性首先是由它所选用的存取控制方式来保证的。此外提高实时性还可以通过减少通信协议的层数来实现,一般靠底层的子网采用只包含 3 层通信协议的塌缩结构,这正是为了提高实时性,另外选择适当的数据传送方式对于提高实时性有明显的效果,发送数据要求对方应答,比无应答服务慢得多,要求连接又要应答的服务则更慢,而广播式通信最快。当然不能只考虑实时性,还要考虑可靠性。
3. 可编程控制器控制网络与可编程控制器通信网络的概念
可编程控制器网络包括可编程控制器控制网络与可编程控制器通信网络两种,人们常常不加以区分,把这两种可编程控制器网络当成一回事,其实它们是不同的。
(1) 可编程控制器控制网络
a. 功能
可编程控制器控制网络是只传送 on/off 开关量,且一次传送的数据量较少的网络。例如可编程控制器的远程 I/O 链路,通过 Link 区交换数据的可编程控制器同位系统。
b. 特点
可编程控制器控制网络尽管要传送的开关量远离可编程控制器,但可编程控制器对它们的操作,就像直接对自己的 I/O 区操作这样简单、方便迅速。
(2) 可编程控制器通信网络
a. 功能
可编程控制器通信网络又称高速数据公路,这类网络既可传送开关量又可传送数字量,一次通信传送的数据量较大。这类网络的工作过程类似于普通局域网。
b. 特点
随着通信技术的发展,可编程控制器控制网络既传送开关量又能传送数字量,其实开关量与数字量没有界限,多位开关量并在一起就是数字量。
(3) 可编程控制器控制网络与可编程控制器通信网络区别
两种可编程控制器网络的本质区别在于: 可编程控制器控制网络 工作过程就像可编程控制器对自己 I/O 区操作一样, 可编程控制器通信网络 类似于普通局域网工作过程。
还需要说明一点的是:人们常把应用系统中的可编程控制器网络控制系统称为可编程控制器控制网络,这是针对应用而言,与通信无关,一般不会造成混淆。
8.2.2 可编程序控制器与计算机的通信
问题提出 1. 计算机端是如何编程来实现接收和发送端口的数据的?
2. 如何设置特殊寄存器 D8120 ?
3. 可编程序控制器端是如何编程来接收和发送端口的数据的?
4. 如何将计算机和可编程序控制器连接起来?
1. 概述
通用计算机软件丰富,界面友好,操作便利,使用通用计算机作为可编程控制器的编程工具也十分方便,可编程控制器与计算机的通信近年来发展很快。在可编程控制器与计算机连接构成的综合系统中,计算机主要完成数据处理、修改参数、图像显示、打印报表、文字处理、编制可编程控制器程序、工作状态监视等任务。可编程控制器仍然直接面向现场、面向设备,进行实时控制。可编程控制器与计算机的连接,可以更有效地发挥各自的优势,互补应用上的不足,扩大可编程控制器的处理能力。
为了适应可编程控制器网络化的要求,扩大联网功能,几乎所有的可编程控制器厂家,都为可编程控制器开发了与上位机通讯的接口或专用通讯模块。一般在小型可编程控制器上都设有 RS422 通讯接口或 RS232C 通讯接口;在中大型可编程控制器上都设有专用的通讯模块。如:三菱 F 、 F1 、 F2 系列都设有标准的 RS422 接口, FX 系列设有 FX-232AW 接口、 RS232C 用通讯适配器 FX-232ADP 等。可编程控制器与计算机之间的通讯正是通过可编程控制器上的 RS422 或 RS232C 接口和计算机上的 RS232C 接口进行的。可编程控制器与计算机之间的信息交换方式,一般采用字符串、双工或半、异步、串行通信方式。因此可以这样说,凡具有 RS232C 口并能输入输出字符串的计算机都可以用于和可编程控制器的通讯。
运用 RS232C 和 RS422 通道,可容易配置一个与外部计算机进行通讯的系统。该系统中可编程控制器接受控制系统中的各种控制信息,分析处理后转化为可编程控制器中软元件的状态和数据;可编程控制器又将所有软元件的数据和状态送入计算机,由计算机采集这些数据,进行分析及运行状态监测,用计算机可改变可编程控制器的初始值和设定值,从而实现计算机对可编程控制器的直接控制。
2. 如何采用 FX-232ADP 的连接通信
RS232C 用通讯适配器 FX-232ADP 能够以无规约方式与各种具有 RS232C 接口的通讯设备连接,实现数据交换。通讯设备包括计算机、条形码读出器、图像检测器等。使用 FX-232ADP 时,也可用调制解调器进行远程通讯。
a. 通讯系统的连接
图中是采用 FX-232ADP 接口单元,将一台通用计算机与一台 FX2 系列 plc 连接进行通讯的示意图。
b. 通讯操作
FX2 系列PLC 与通讯设备间的数据交换,由特殊寄存器 D8120 的内容指定,交换数据的点数、地址用 RS 指令设置,并通过 plc 的数据寄存器和文件寄存器实现数据交换。下面对其使用做一简要介绍。
① 通讯参数的设置
在两个串行通讯设备进行任意通讯之前,必须设置相互可辨认的参数,只有设置一致,才能进行可靠通讯。这些参数包括波特率、停止位和奇偶校验等,它们通过位组合方式来选择,这些位存放在数据寄存器 D8120 中,具体规定如下表所示
| D8120 的位 | 说明 | 位状态 | |
| 0 ( OFF ) | 1(ON) | ||
| bo | 数据长度 | 7 位 | 8 位 |
| b1 b2 | 校验( b2 b1 ) | ( 00 ):无校验 ( 01 ):奇校验 ( 11 ):偶校验 | |
| b3 | 停止位 | 1 位 | 2 位 |
| b4 b5 b6 b7 | 波特率( b7 b6 b5 b4 ) | ( 0011 ): 300bps ( 0100 ): 600bps ( 0101 ): 1200bps ( 0110 ): 2400bps ( 0111 ): 4800bps ( 1000 ): 9600bps ( 1001 ): 19200bps | |
| b8 | 起始字符 | 无 | D8124 |
| b9 | 结束字符 | 无 | D8125 |
| b10 | 握手信号类型 1 | 无 | H/W1 |
| b11 | 模式(控制线) | 常规 | 单控 |
| b12 | 握手信号类型 2 | 无 | H/W2 |
| b13~b15 | 可取代 b8~b12 用于 FX-485 网络 | ||
(1) 如 D8120 = 0F9EH 则选择下列参数。
E = 7 位数据位、偶校验、 2 位停止位
9 =波特率为 19200bps
F =起始字符、结束字符、硬件 1 型( H/W1 )握手信号、单线模式控制
0 =硬件 2 型( H/W2 )握手信号为 OFF
(2) 起始字符和结束字符可以根据用户的需要自行修改。
(3) 起始字符和结束字符在发送时自动加到发送的信息上。在接收信息过程中,除非接收到起始字符,不然数据将被忽略;数据将被连续不断地读进直到接到结束字符或接收缓冲区全部占满为为止。因此,必须将接收缓冲区的长度与所要接收的最长信息的长度设定的一样。
② 串行通讯指令
该指令的助记符、指令代码、操作数、程序步如下表所示。
RS 指令用于对 FX 系列 PLC 的通讯适配器 FX-232ADP 进行通讯控制,实现 PLC 与外围设备间的数据传送和接收。 RS 指令在梯形图中使用的情况如下图所示。
[S] 指定传送缓冲区的首地址
[m] 指定传送信息长度
[D] 指定接收缓冲区的首地址
[n] 指定接收数据长度,即接收信息的最大长度
(1) RS 指令使用说明
(a) 发送和接收缓冲区的大小决定了每传送一次信息所允许的最大数据量,缓冲区的大小在下列情况下可加以修改。
发送缓冲区――在发送之前,即 M8122 置 ON 之前。
接收缓冲区――信息接收完后,且 M8123 复位前。
(b) 在信息接收过程不能发送数据,发送将被延迟( M8121 为 ON )。
(c) 在程序中可以有多条 RS 指令,但在任一时刻只能有一条被执行。
(2) RS 指令自动定义的软元件(下表所示)
8.2.3 可编程控制器网络中常用的通信方式
1. 可编程控制器控制网络的“周期 I/O 方式”通信
可编程控制器的远程 I/O 链路就是一种可编程控制器控制网络,在远程 I/O 链路中采用“周期 I/O 方式”交换数据。远程 I/O 链路按主从方式工作,可编程控制器带的远程 I/O 主单元在远程 I/O 链路中担任主站,其它远程 I/O 单元皆为从站。在主站中设立一个“远程 I/O 缓冲区”,采用信箱结构,划分为 n 个分信箱与每个从站一一对应,每个分信箱再分为两格,一格管发送,一格管接收。主站中负责通信的处理器采用周期扫描方式,按顺序与各从站交换数据,把与其对应的分箱中发送分格的数据送从站,从从站中读取数据放入与其对应的分信箱的接收分格中。这样周而复始,使主站中的“远程 I/O 缓冲区”得到周期性的刷新。
在主站中可编程控制器的 CPU 单元负责用户程序的扫描,它按照循环扫描方式进行处理,每个周期都有一段时间集中进行 I/O 处理,这时它对本地 I/O 单元及远程 I/O 缓冲区进行读写操作。可编程控制器的 CPU 单元对用户程序的周期性循环扫描,与可编程控制器负责通信的处理器对各远程 I/O 单元的周期性扫描是异步进行的。
尽管可编程控制器的 CPU 单元没有直接对远程 I/O 单元进行操作,但是由于远程 I/O 缓冲区获得周期性刷新,可编程控制器的 CPU 单元对远程 I/O 缓冲区的读写操作,就相当于直接访问了远程 I/O 单元。
主站中负责通信的处理器采用周期扫描方式与各从站交换数据,使主站中“远程 I/O 缓冲区”得到周期性刷新,这样一种通信方式既涉及到周期又涉及到 I/O ,因而被称为“周期 I/O 方式”。这种通信方式要占用可编程控制器的 I/O 区,因此只适用于少量数据的通信。从表面看来远程 I/O 链路的通信就好像是可编程控制器直接对远程 I/O 单元进行读写操作,因此简单、方便。
2. 可编程控制器控制网络的“全局 I/O 方式”通信
“全局 I/O 方式”是一种串行共享存储区通信方式,它主要用于带有链接区的可编程控制器之间的通信。
全局 I/O 方式的通信原理如图所示。在可编程控制器网络的每台可编程控制器的 I/O 区中划出一个块来作为链接区,每个链接区都采用图中所表示的邮箱结构。相同编号的发送区与接收区大小相同,占用相同的地址段,一个为发送区,其它皆为接收区。采用广播方式通信。可编程控制器把 1 #发送区的数据在可编程控制器网络上广播,可编程控制器 2 、可编程控制器 3 收听到后把它接收下来存入各自的 1 #接收区中。可编程控制器 2 把 2 #发送区数据在可编程控制器网上广播,可编程控制器 1 、可编程控制器 3 把它接收下来存入各自的 2 #接收区中。可编程控制器 3 把 3#发送区数据在可编程控制器网上广播,可编程控制器 1 、可编程控制器 2 把它接收下来存入各自的 3 #接收区中。显然通过上述广播通信过程,可编程控制器 1 、可编程控制器 2 、可编程控制器 3 的各链接区中数据是相同的,这个过程称为等值化过程。通过等值化的通信使得可编程控制器网络中的每台可编程控制器的链接区中的数据保持一致。它既包含着自己送出去的数据,也包含着其它可编程控制器送来的数据。由于每台可编程控制器的链接区大小一样,占用的地址段相同,每台可编程控制器只要访问自己的链接区,就等于访问其它可编程控制器的链接区,也就相当于与其它可编程控制器交换了数据。这样链接区就变成了名符其实的共享存储区,共享区成为各可编程控制器交换数据的中介。
当然这里的共享存储区与并行总线的共享存储区在结构上有些差别,它把物理上分布在各站的链接区,通过等值化通信使其好像重叠在一起,在逻辑上变成一个存储区,大小与一个链接区一样。这种共享存储区称为串行共享存储区。
链接区可以采用异步方式刷新(等值化),也可以采用同步方式刷新。异步方式刷新与可编程控制器中用户程序无关,由各可编程控制器所带的通信处理器按顺序进行广播通信,周而复始,使其所有链接区保持等值化。同步方式刷新是由用户程序中对链接区的发送指令启动一次刷新。这种方式只有当链接区的发送区数据变化时才刷新(等值化),这样事半功倍。
全局 I/O 方式中的链接区是从可编程控制器的 I/O 区划分出来的,经过等值化通信变成所有可编程控制器共享(全局共享),因此称为“全局 I/O 方式”。这种方式下可编程控制器直接用读写指令对链接区进行读写操作,简单、方便、快速,但应注意在一台可编程控制器中对某地址的写操作在其它可编程控制器中对同一地址只能进行读操作。与周期 I/O 方式一样,全局 I/O 方式也要占用可编程控制器的 I/O 区,因而只适用于少量数据的通信。
3. 主从总线 1:N 通信方式(可编程控制器通信网络)
主从总线通信方式又称为 1:N 通信方式,这是在可编程控制器通信网络上采用的一种通信方式。在总线结构的可编程控制器子网上有 N 个站,其中只有一个主站,其它皆是从站,也就是因为这个原因主从总线通信方式又称为 1:N 通信方式。
主从总线通信方式采用集中式存取控制技术分配总线使用权,通常采用轮询表法。所谓轮询表法是一张从机号排列顺序表,该表配置在主站中,主站按照轮询表的排列顺序对从站进行询问,看它是否要使用总线,从而达到分配总线使用权的目的。
为了保证实时性,要求轮询表包含每个从站号不能少于一次,这样在周期轮询时,每个从站在一个周期中至少有一次机会取得总线使用权,从而保证了每个站的基本实时性。对于实时性要求比较高的站,可以在轮询表中让其从机号多出现几次,这样就用静态的方式,赋予该站较高的通信优先权。在有些主从总线中把轮询表法与中断法结合使用,让紧急任务可以打断正常的周期轮询而插入,获得优先服务,这就是用动态方式赋予某项紧急任务以较高优先权。
存取控制只解决了谁使用总线的问题,获得总线的从站还有如何使用总线的问题,即采用什么样的数据传送方式。主从总线通信方式中有两种基本的数据传送方式。一种是只允许主从通信,不允许从从通信,从站与从站要交换数据,必须经主站中转。另一种是既允许主从通信也允许从从通信,从站获得总线使用权后先安排主从通信,再安排自己与其它从站(即从从)之间的通信。
4. 令牌总线 N : N 通信方式(可编程控制器通信网络)
令牌总线通信方式又称为 N : N 通信方式。在总线结构上的可编程控制器子网上有 N 个站,它们地位平等没有主站与从站之分,也可以说 N 个站都可以是主站,所以称之为 N : N 通信方式。
N : N 通信方式采用令牌总线存取控制技术。在物理总线上组成一个逻辑环,让一个令牌在逻辑环中按一定方向依次流动,获得令牌的站就取得了总线使用权。令牌总线存取控制方式限定每个站的令牌持有时间,保证在令牌循环一周时每个站都有机会获得总线使用权,并提供优先级服务,因此令牌总线存取控制方式具有较好的实时性。
取得令牌的站采用什么样的数据传送方式对实时性影响非常明显。如果采用无应答数据传送方式,取得令牌的站可以立即向目的站发送数据,发送结束,通信过程也就完成了。如果采用有应答数据传送方式,取得令牌的站向目的站发送完数据后并不算通信完成,必须等目的站获得令牌并把应答帧发给发送站后,整个通信过程才结束。这样一来响应时间明显增长,而使实时性下降。
有些令牌总线型可编程控制器网络的数据传送方式固定为一种,有些则可由用户选择。
5. 浮动主站 N: M 通信方式(可编程控制器通信网络)
浮动主站通信方式又称 N : M 通信方式,它适用于总线结构的可编程控制器网络。设在总线上有 M 个站,其中 N 个为主站,其余为从站( N 获得总线使用权的主站可以采用多种数据传送方式与目的站的通信,其中以无应答无连接方式速度最快。 6. 令牌环通信方式(可编程控制器通信网络) 有少量的可编程控制器网络采用环形拓扑结构,其存取控制采用令牌法,具有较好的实时性。如图所示,其表示了令牌环工作过程及其帧结构。在图中,令牌在物理环中按箭头指向,一站接一站地传送,获得令牌的站才有权发送数据。设 B 站要向 D 站发送数据。当令牌传送到 B 站时, B 站把令牌变为暂定证,然后把等待发送数据按图中表示的格式加在暂停证后面从 B 站发送出去,最后再加上令牌一起发往 C 站。此帧信息经 C 站中转后到达 D 站, D 站把自己的本站地址与帧格式中目的地址相比较,发现两者相同,表明此帧信息是发给 D 站的,然后对此帧信息做差错校验,并把校验结果以肯定应答或否定应答填在 ACK 段中。同时把此帧信息复制下来,再把带有应答的帧继续向下传送,经 A 站中转到达 B 。 B 站用自己的本站地址与帧中源地址相比较,发现两者相同,表明此帧是自己发出的,再检查 ACK 。若为否定应答,要组织重发;若为肯定应答,则把此帧从环上吸收掉,只剩下令牌在环中继续流动。 在图中的帧格式的最后为一令牌,因而当某站获得此令牌后也同样可发送数据,把此令牌变为暂停证,后面带上发送的帧,最后再加上令牌,这时的帧格式就变成两个暂停证、两帧,再加令牌,其传送过程与一帧相似,这里不再重复。从上述传送过程可见,令牌环通信方式采用的是有应答数据传送方式。 7. CSMA/CD (carrier-sense multiple access with collision detection) 通信方式 这是一种随机通信方式,适用于总线结构的可编程控制器网络,总线上各站地位平等,没有主从之分。采用 CSMA/CD 存取控制方式,此控制方式用通俗的语言描述为“先听后讲,边讲边听”。所谓先听后讲是指要求使用总线的各站,在发送数据之前必须先监听,看看总线是否空闲,确认总线空闲后再向总线发送数据。“先听后讲”并不能完全避免冲突,如果仍发生了冲突,则不能等到差错校验时再发现,这样对通信资源浪费太严重,而要采用“边讲边听”。发送数据的站,一边发送,一边监听,若发现冲突,立即停止发送,并发出阻塞音,通知网上其它站发生了冲突,然后冲突双方采用取随机数代入指数函数的退避算法来决定重新上网时间,解决冲突。 CSMA/CD 存取控制方式不能保证在一定时间周期内,可编程控制器网上每个站都可获得总线使用权,也不能用静态方式赋予某些站以较高优先权,不能用动态方式赋予某些紧急通信任务以较高优先权,因此这是一种不能保证实时性的存取控制方式。但是它采用随机方式,方法本身简单,而且见缝插针,只要总线空闲就抢着上网,通信资源利用率高,因而在可编程控制器网络中 CSMA/CD 通信法适合用于上层生产管理子网。 CSMA/CD 通信方式的数据传送方式可以选用有连接、无连接、有应答、无应答及广播通信中的每一种,这可按对通信速度及可靠性的要求取舍。 8. 多种通信方式的集成 在新近推出的一些现场总线中,常常把多种通信方式集成配置在某一级子网上。从通信方法上看,都是一些原来常用的,但如何自动地从一种通信方式切换到另一种,如何按优先级调度,则成为多种通信方式集成的关键。下载本文