6ES7222-1EF22-0XA0诚信经营
1 引 言
近几年来,PLC因其可靠性高、编程简单、抗干扰强等优点在工业控制领域得到了广泛应用。但PLC在人机交互性能方面较弱,而工业控制计算机具有良好的人机界面及控制决策能力,因此,将二者结合起来可有效实现整个生产过程的综合控制。
本文所介绍的PLC通信技术应用于由PLC与工业控制计算机组成的胶带运输实时监控系统。该系统采用上下位机主从式结构,PLC作为下位机完成工业现场数据的实时采集和分站控制功能;上位机采用工业控制计算机实现数据的显示、报警等功能。该系统可实现胶带运输过程中的模拟显示、故障报警、实时控制等。
2 通信方式
该系统采用华光公司的SU-6系列PLC,通信方式采用串行通信,通信接口均为PLC与工业控制计算机上的RS232接口。但是由于RS232采用非平衡方式传输数据,传输距离近,而胶带输送机趋向大功率、长距离,且单机监测信息量多,控制要求复杂,直接采用RS232方式不能满足传输距离要求。因此,采用RS485方式。因为RS485采用平衡差动式进行数据传输,适合于远距离传输,并具有较强抗干扰能力。式中:RS232与RS485之间的信号转换采用通信转换器,总体通信结构如图1所示。
3 通信规程
SU-6系列PLC串行通信采用半双工异步传送,支持CCM通信协议,并具有以下功能:(1)上位通信功能;(2)主局功能;(3)一对一功能;(4)无协议串行通信功能。以上功能可以实现PLC的寄存器和内部继电器的读入和写出、传送状态的跟踪等。由于CCM协议采用主从通信方式,所以通信过程中由主局保持主动权,向子局发出呼叫,并通过向子局发送命令帧来控制数据传送的方向、格式和内容;子局对得到的主局呼叫作出响应,并根据命令帧要求进行数据传输。由于在胶带运输控制系统中要进行数据的读取和写入双向操作,因此采用一对一方式,工业控制计算机作为主局,PLC作为子局。
数据传输过程以主局向子局写入数据为例,如图2所示,通信是主局向子局提出呼叫开始,子局作出应答以建立连接,主局接到应答后,向子局发送首标,子局将依据首标各项要求与主局进行数据传输,在子局作出响应后,开始传送数据,数据以128字节(ASCⅡ方式)为单位进行分组传送,后主局发送EOF信号结束本次通信。其中,首标作为命令帧,规定了数据传送方向、数据操作起始地址及数据传送量等。
在进行数据通信时,通信应答时间决定了系统读写速度,而作为主局的计算机通信时间因上位计算机类型、PC扫描时间、PLC数据通信接口模块应答延迟时间设定值、波特率、数据传送量的不同而不同。其中,PC扫描时间与应答延迟时间对通信时间的影响:当PC扫描时间比应答延迟时间短时,前者对通信时间没有影响;反之,当PC扫描时间比应答延迟时间长时,在计算总通信时间时,采用PC扫描时间,计算公式如下:
总通信时间=A+B+C+D
式中:A、B、C、D分别为呼叫发送/应答时间、首标发送/应答时间、数据发送/应答时间、通信结束应答时间。以数据发送时间为例:
数据发送时间=数据传送字符数×通信时间/字符+PC扫描时间
数据通信中,数据传送量因采用的传送方式不同而不同。传送方式支持ASCⅡ码和二进制两种。其中ASCⅡ码是用8bit表示数字、字母等,因此采用它来进行数据通信时,一字节二进制数要由两字节ASCⅡ来表示,实际传输量就是采用二进制数据通信的两倍。而在胶带运输系统中要求较强的可靠性和实时性,为提高通信速率,更好地实现实时监控,选用二进制传输方式,波特率选用9600bps,并采用奇校验,通信时间/字符为1ms/字符。
通信程序设计
在通信程序设计中,子局的通信参数可以通过PLC上的DIP开关直接进行设定,而主局的通信参数设定则需要软件实现。在该系统中,主局的通信软件编制采用VB6.0。
MSComm控件提供串行通信功能,具有事件驱动、查询两种通信方式。事件驱动通信是利用控件的OnComm事件捕获通信事件或通信错误,并执行OnComm的事件处理过程。当前发生的通信事件或通信错误由控件的CommEvent属性来判断。
在本系统中,工业控制计算机作为主局,向作为子局的PLC发出呼叫及命令帧,并采用中断方式等待PLC的响应,即在MSComm控件的OnComm事件中根据CommEvent属性值来编制相应的响应过程或错误处理程序。在通信开始前,首先通过控件的Settings设定通信参数为“9600,0,8,1”,依据CCM协议的每次实际传送数据量,定义Rthreshold为应收到的字节数。完成串口初始化定义后,打开通信口,主局发出呼叫,在得到子局响应时,CommEvent属性值变为comEvReceive,激活OnComm事件处理相应事件,事件程序流程图如图3所示。首先将读取的子局信息处理,判断其与呼叫帧是否一致,若一致,发送首标命令帧,否则重新呼叫。在得到子局的首标回应后,开始数据的读取或写入操作,依据数据传送方向及数据量的不同设定控件的Rthreshold属性。后通信以主局接收到EOF为结束。循环执行上述过程以完成数据的连续读写。
对于通信中的错误,一般可以通过接收到的CommEvent属性值来判断处理。但对于线路故障或PLC出现掉电等情况时,CommEvent属性值无法激活,就要利用看门狗的思想,设定定时程序,若通信超时,则结束前次通信,重新呼叫。
5 结 语
该技术已在兖矿集团兴隆庄煤矿井下5300胶带运输机监控系统中投入使用。经现场运行表明,该技术在应用方便了现场控制监视,有利于故障的及时排除,提高了生产的安全性及系统可靠性,便于进行网络扩展,在车间级监控系统中有较好的推广前景。
PLC通讯及网络技术
1.PLC与计算机通讯
为了适应PLC网络化要求,扩大联网功能,几乎所有的PLC为了适应可编程控制器网络化的要求,扩大联网功能,几乎所有的可编程控制器厂家,都为可编程控制器开发了与上位机通讯的接口或专用通讯模块。一般在小型可编程控制器上都设有 RS422 通讯接口或 RS232C 通讯接口;在中大型可编程控制器上都设有专用的通讯模块。如:三菱 F 、 F1 、 F2 系列都设有标准的 RS422 接口, FX 系列设有 FX-232AW 接口、 RS232C 用通讯适配器 FX-232ADP 等。可编程控制器与计算机之间的通讯正是通过可编程控制器上的 RS422 或 RS232C 接口和计算机上的 RS232C 接口进行的。可编程控制器与计算机之间的信息交换方式,一般采用字符串、双工或半、异步、串行通信方式。因此可以这样说,凡具有 RS232C 口并能输入输出字符串的计算机都可以用于和可编程控制器的通讯。
运用 RS232C 和 RS422 通道,可容易配置一个与外部计算机进行通讯的系统。该系统中可编程控制器接受控制系统中的各种控制信息,分析处理后转化为可编程控制器中软元件的状态和数据;可编程控制器又将所有软元件的数据和状态送入计算机,由计算机采集这些数据,进行分析及运行状态监测,用计算机可改变可编程控制器的初始值和设定值,从而实现计算机对可编程控制器的直接控制。
(1)通讯方式
面对众多生产厂家的各种类型PLC,它们各有优缺点,能够满足用户的各种需求,但在形态、组成、功 能、编程等方面各不相同,没有一个统一的标准,各厂家制订的通信协议也千差万别。目前,人们主要采用以下三种方式实现PLC与PC的互联通信:
1)通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。
2)使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。组态软件以其功能强大、界面友好、开发简洁等优点目前在PC监控领域已经得到了广泛的应用,但是一般价格比较昂贵。组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的能力,必须借助I/O驱动程序来实现。也就是说,I/O驱动程序是组态软件与PLC或其它智能仪表等设备交互信息的桥梁,负责从设备采集实时数据并将操作命令下达给设备,它的可靠性将直接影响组态软件的性能。但是在大多数情况下,I/O驱动程序是与设备相关的,即针对某种PLC的驱动程序不能驱动其它种类的PLC,因此组态软件的灵活性也受到了一定的限制。
3)利用PLC厂商所提供的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。这种方式由用户定义通信协议,不需要增加投资,灵活性好,特别适合于小规模的控制系统。
通过上述分析不难得出,掌握如何利用PLC厂商提供的标准通信端口和自由口通信方式以及大家所熟悉的编程语言来实现PC与PLC之间的实时通信是非常必要的。
(2)采用RS232实现三菱FX系列PLC与PC之间的通讯
三菱FX系列PLC提供了4种通讯方式:N网络通讯、无协议串口通讯、平行网络通讯、程序口通讯。如果传输的数据量少,大多数PLC与计算机之间通信均可采用串行通信,通信接口均为PLC 与工业控制计算机上的RS232 接口。由于RS232 采用非平衡方式传输数据,传输距离近,对于大功率、长距离,且单机监测信息量多,控制要求复杂的PLC通讯,直接采用RS232 方式不能满足传输距离要求。因此,可采用RS485 方式。因为RS485 采用平衡差动式进行数据传输,适合于远距离传输,并具有较强抗干扰能力。图1是采用RS232 /RS485通信转换器实现运距离通讯的示意图。
(3)PLC与PC通讯应用实例
1)通讯系统的连接
图中是采用 FX-232ADP 接口单元,将一台通用计算机与一台 FX2 系列 plc 连接进行通讯的示意图。
2)通讯操作
FX2 系列 plc 与通讯设备间的数据交换,由特殊寄存器 D8120 的内容指定,交换数据的点数、地址用 RS 指令设置,并通过 plc 的数据寄存器和文件寄存器实现数据交换。下面对其使用做一简要介绍。
(4)通讯参数的设置
在两个串行通讯设备进行任意通讯之前,必须设置相互可辨认的参数,只有设置一致,才能进行可靠通讯。这些参数包括波特率、停止位和奇偶校验等,它们通过位组合方式来选择,这些位存放在数据寄存器 D8120 中,具体规定如下表16-1所示
表16-1串行通讯数据格式
使用说明如下:
1)如 D8120 = 0F9EH 则选择下列参数。
E = 7 位数据位、偶校验、 2 位停止位
9 =波特率为 19200bps
F =起始字符、结束字符、硬件 1 型( H/W1 )握手信号、单线模式控制
0 =硬件 2 型( H/W2 )握手信号为 OFF
2)起始字符和结束字符可以根据用户的需要自行修改。
3)起始字符和结束字符在发送时自动加到发送的信息上。在接收信息过程中,除非接收到起始字符,不然数据将被忽略;数据将被连续不断地读进直到接到结束字符或接收缓冲区全部占满为为止。因此,必须将接收缓冲区的长度与所要接收的长信息的长度设定的一样。
(2)串行通讯指令
该指令的助记符、指令代码、操作数、程序步如下表所示。
RS 指令用于对 FX 系列 PLC 的通讯适配器 FX-232ADP 进行通讯控制,实现 PLC 与外围设备间的数据传送和接收。 RS 指令在梯形图中使用的情况如下图所示。
[S] 指定传送缓冲区的首地址
[m] 指定传送信息长度
[D] 指定接收缓冲区的首地址
[n] 指定接收数据长度,即接收信息的大长度
1) RS 指令使用说明
( a )发送和接收缓冲区的大小决定了每传送一次信息所允许的大数据量,缓冲区的大小在下列情况下可加以修改。
发送缓冲区――在发送之前,即 M8122 置 ON 之前。
接收缓冲区――信息接收完后,且 M8123 复位前。
( b )在信息接收过程不能发送数据,发送将被延迟( M8121 为 ON )。
( c )在程序中可以有多条 RS 指令,但在任一时刻只能有一条被执行。
(五)OMRON公司的PLC网络
OMRON PLC网络类型较多,功能齐全,可以适用各种层次工业自动化网络的不同需要。如图7-27所示为OMRON公司的PLC网络系统的结构体系示意图。
图16-6 OMRON公司的PLC网络
OMRON的PLC网络结构体系大体分为三个层次:信息层、控制层和器件层。信息层是高层,负责系统的管理与决策,除了Ethemet网外,HOST bbbb网也可算在其中,因为HOST bbbb网主要用于计算机对PLC的管理和监控。控制层是中间层,负责生产过程的监控、协调和优化,该层的网络有SYSMAC NET、SYSMAC bbbb、Controller bbbb和PLC bbbb网。器件层是低层,为现场总线网,直接面对现场器件和设备,负责现场信号的采集及执行元件的驱动,有CompoBus/D、CompoBus/S和Remote I/O网。
Ethernet属于大型网,它的信息处理功能很强,支持FINS通信、TCP/IP和UDP/IP的Socket(接驳)服务、FTP服务。HOST bbbb网是OMRON推出较早、使用较广的一种网。上位计算机使用HOST通信协议与PLC通信,可以对网中的各台PLC进行管理与监控。
SYSMAC NET网属于大型网,是光纤环网,主要是实现有大容量数据链接和节点间信息通信。它适用于地理范围广、控制区域大的场合,是一种大型集散控制的网络。SYSMAC bbbb网属于中型网,采用总线结构,适用于中规模集散控制的网络。Controller bbbb网(控制器网)是 SYSMAC bbbb网的简化,相比而言,规模要小一些,但实现简单。PLC bbbb网的主要功能是各台PLC建立数据链接(容量较小),实现数据信息共享,它适用于控制范围较大,需要多台PLC参与控制且控制环节相互关联的场合。
CompoBus/D是一种开放、多主控的器件网,开放性是其特色。它采用了美国AB公司制定的DeviceNet通信规约,只要符合DeviceNet标准,就可以接入其中。其主要功能有远程开关量和远程模拟量的I/O控制及信息通信。这是一种较为理想的控制功能齐全、配置灵活、实现方便的控制网络。CompoBus/S也为器件网,是一种高速ON/OFF现场控制总线,使用CompoBus/S专用通信协议。CompoBus/S的功能虽不及CompoBus/D,但它实现简单,通信速度更快,主要功能有远程开关量的I/O控制。Remote I/O网实际上是PLC I/O点的远程扩展,适用于工业自动化的现场控制。
Controller bbbb网推出时间较晚,只有新型号PLC(如C200H、CV、CS1、CQM1H等)才能入网,随着Controller bbbb网的不断发展和完善,其功能已覆盖了控制层其它三种网络。
目前,在信息层、控制层和器件层这三个网络层次上,OMRON主推Ethernet、Controller bbbb和CompoBus/D三种网