您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 仪器 > 《检测控制仪表与装置》 > 第4章 计算机控制装置

第2节 可编程控制器

 

可编程序控制器简称PLC,它是一种以微处理器为基础,综合了计算机技术、自动控制技术和通信技术而发展起来的一种通用的工业自动控制装置;具有体积小、功能强、程序设计简单、灵活通用、维护方便等一系列的优点,特别是它的高可靠性和较强的适应恶劣工业环境的能力,使其目前广泛应用于各种工业领域。

早期的PLC虽然采用了计算机的设计思想,但实际上它只能完逻辑运算、定时、计数等顺序控制功能。在经历了近40年的发展,现代PLC产品已经成为了名符其实的多功能控制器,如逻辑控制、过程控制、运动控制、数据处理等功能都得到了很大的加强和完善。与此同时,PLC的网络通信功能也得到飞速发展,PLC及PLC网络成为了工业企业中不可或缺的一类工业控制装置。目前PLC产品的产量、销量及用量在所有工业控制装置中居首位。

按结构形式可以把PLC分为二类:一类是CPU、电源、I/O接口、通信接口等都集成在一个机壳内的一体化结构;另一类是电源模块、CPU模块、I/O模块、通信模块等在结构上相互独立的模块化结构。

1.PLC的基本组成

PLC的基本组成与一般的计算机系统相类似,主要包括:CPU、RAM、EPROM、E2PROM、通信接口、外设接口、I/O接口等,按结构形式分一体化和模块化二类。

模块化PLC在系统配置上表现得更为方便灵活,用户可以根据系统规模和设计要求进行配置,模块与模块之间通过外部总线连接。一组基本的功能模块可以构成一个机架,CPU模块所在的机架通常称为中央机架,其它机架统称为扩展机架。根据安装位置的不同,机架的扩展方式又分为本地连接扩展和远程连接扩展二种。前者要求所有机架都集中安装在一起,一般是通过专用电缆实现机架间的连接,机架与机架间的连接距离通常在数米之内;后者一般通过光缆或通信电缆实现机架间的连接,连接距离可达几百米到数公里,通过中继环节还可以进一步延伸。因此,远程扩展机架也称为分布式I/O站点,这是一种介于模拟信号传输技术和现场总线技术的中间产品。

一个PLC所允许配置的机架数量以及每个机架所允许安装模块数量一般是有规定的,这主要取决于PLC的地址配置和寻址能力以及机架的结构和负载能力。

①CPU模块  CPU模块是模块化PLC的核心部件,通常CPU模块上还集成由存储器和通信接口。其中,存储器的容量随PLC型号的不同有较大的差别,所以在选型的时候需要使CPU模块集成的存储器容量及其可扩展能力、通信接口及其可扩展能力应该与实际要求相适应。

②I/O接口模块  与一般的计算机控制系统一样,PLC也是通过I/O接口与现场仪表装置相连接,AI、AO、DI和DO是PLC最常用的I/O模块,模块的数量取决于系统的实际测控规模。

③智能模块  智能模块通常是一个较独立的计算机系统,自身具有CPU、存储器、应用程序、I/O接口、系统总线接口等。智能模块一般不参与PLC的循环扫描过程,而是在CPU模块的协调管理下,按照自身的应用程序独立地参与系统工作,完成一些特殊功能,如高速计数、开环步进电机定位控制等等。

④接口模块  模块化PLC是通过机架把各种PLC的模块组织起来的,整套PLC系统有可能包含若干个机架,接口模块就是用来把所有机架组织起来,构成一套完整的PLC系统。

⑤编程工具  编程工具的作用是编制和调试PLC的用户程序、设置系统的运行环境、在线监视或修改运行状态和参数,主要有专用编程器和专用编程软件两类。

2.PLC的基本工作原理

PLC的产品很多,不同型号、不同厂家的PLC在结构特点上各不相同,但绝大多数PLC的工作原理都基本相同。

PLC的CPU采用分时操作的原理,其工作方式是一个不断循环的顺序扫描过程,从用户程序的第一条指令开始顺序逐条地执行,直到用户程序结束,然后开始新一轮的扫描。如图2.1,PLC的整个扫描过程可以概括地归纳为上电初始化、一般处理扫描、数据I/O操作、用户程序的扫描、外设端口服务五个阶段。每一次扫描所用的时间称为一个工作周期或扫描周期,PLC的扫描周期与PLC的硬件特性和用户程序的长短有关,典型值一般为几十ms。

 

3 PLC的程序设计

PLC的程序设计就是用特定的表达方式(编程语言)把控制任务描述出来,PLC的程序设计语言多采用面向现场、面向问题、简单而直观的自然语言,常用的有梯形图、语句表、逻辑功能图、高级语言等等。

①梯形图  梯形图是在继电器控制电气原理图基础上开发出来的一种直观形象的图形编程语言。它沿用了继电器、接点、串并联等术语和类似的图形符号,信号流向清楚,是多数PLC的第一用户语言。

②语句表  语句表是一种类似于汇编语言的助记符编程语言,语句是用户程序的基本单元,每种控制功能通过一条或多条语句来描述。语句表编程语言的特点是面向机器,编程灵活方便,尤其适用于模拟量的解算。不同厂家的PLC往往采用不同的助记符号集,但语句表的基本指令格式都是由操作码和操作数二部分组成。

③逻辑功能图  逻辑功能图是在数字逻辑电路基础上开发出的一种图形编程语言,它采用了数字电路的图符,用“与”、“或”、“非”等逻辑组合来描述控制功能。

4. S7-300 PLC及指令系统

1.系统组成

S7-300 PLC主要有CPU模块、通信接口、I/O模块、功能模块、电源模块、导轨等组成部分。它采用了模块化的安装结构,导轨是安装各类模块的机架,如图2.2。

S7-300系列PLC有多种性能级别的CPU,它们适用于不同规模的PLC系统。CPU模块主要的性能指标包括执行速度、存储器容量、最大允许扩展的I/O点数等,一般来说这些性能指标都随着CPU序号的递增而增加。此外,网络通信功能也是CPU模块的重要指标之一。S7系列的各种CPU模块都集成了MPI多点接口,通过MPI接口可以很方便地在PLC站点、操作站OS、编程器PG、操作员面板OP等设备之间建立较小规模的通信联系,传输速率为187.5Kbps。CPU31x?C2还集成了PROFIBUS-DP接口,通过DP接口可组建更大范围的分布式自动化结构。

(1)模拟量输入模块

 S7系列的模拟量输入模块(SM331)允许输入的信号类型很多,只需要进行简单的软硬件配置,就可以直接输入各种电压、电流、电阻、mV等信号,这类模块也称为“万能输入模块”。一个模拟量信号经过A/D模块转换成一定范围的十进制数据,用户程序可以根据输入通道对应的端口地址获取转换结果。但如果在应用程序中直接使用从端口地址获取的十进制转换结果是很不方便的,往往使用前要把它转化为工程量。

SM331模块可以接入各种量程的电压、电流、mV、电阻等输入信号,输入每一路电压、电流或mV信号将占用一个输入通道,如果把输入通道配置成二线制电流输入方式,则变送器的工作电源将由模块提供。电阻信号采用四线连接方式,每输入一路电阻信号要占用二个通道。其中一个通道向热电阻提供一个恒定的电流,流经电阻Rt以后在Rt两端产生一个输入电压Vi,Vi通过另外一个通道接入SM331模块。

(2)模拟量输出模块

模拟量输出模块SM332可以输出电压和电流两种类型的信号,在模拟量信号的输出过程中,首先要把浮点数转换成十进制结果,然后再根据端口地址把十进制结果送到输出缓冲区。

SM332在输出电压时,可以采用2线回路和4线回路两种方式与负载相连:2线回路电压输出时,只需要把输出电压连接到负载两端;4线回路电压输出不仅要把输出电压连接到负载两端,还要把负载两端的电压通过另外两根线返回到模块的检测端口,直接测量并校准输出电压,以获得比较高的输出精度。在电流输出时,只需要把负载传入输出回路即可。

(3)开关量输入模块

开关量输入模块SM321主要有直流信号输入和交流信号输入二大类,每个输入通道有一个输入指示发光二极管,输入信号为逻辑“1”时点亮二极管。根据通道数和输入电压的不同,SM321有很多种不同的型号规格。

(4)开关量输出模块

    开关量输出模块SM322模块有晶体管、可控硅和继电器3种输出类型,晶体管输出通常用来驱动直流负载,可控硅输出用于驱动交流负载,继电器输出则根据需要既可以驱动直流负载也可以驱动交流负载。模块的每个输出通道有一个输出状态指示灯,输出逻辑状态“1”时点亮指示灯。根据通道数和输出信号的不同,SM322也有很多种不同的型号规格。

2.系统配置

S7系列PLC采用的是模块化的结构形式,根据应用对象的不同,用户可选择不同型号、不同数量的模块,并把这些模块安装在一个或多个机架(导轨)上。除了CPU模块、电源模块、通信接口模块之外,它规定每一个机架最多可以安装8个I/O信号模块。

一个控制系统在确定了I/O模块、CPU以及安装机架以后,下一步就需要根据系统的技术要求(如运行速度、可扩展性等等)、现场条件的约束以及系统成本等诸多因素来确定系统的结构形式。如果一个控制系统有多个机架,那么这些机架可以采用以下方式集成: 

图2.4(a)、(b)为集中安装模式,最多可安装的机架数量以及机架之间的距离都有明确的规定。图2.4(c)为分布式I/O模式,它借助Profibus-DP现场总线来连接安装于现场的各远程I/O机架(RIOU),总线长度与通信速率有关,机架之间的距离没有规定,总线上最多可以安装的机架数量也没有规定,但最多可以配置的I/O模块取决于CPU的寻址能力。当机架数量较少的时候可以采用前两种模式,如果机架数量较多或者机架之间的距离较长的时候,则采用分布式I/O模式。

3.S7 300系列PLC的指令系统

类似于一般的计算机系统,可编程序控制器的软件也是包括操作系统(或称系统程序)、支持软件和用户程序等部分。操作系统由PLC的生产厂家提供,它支持用户程序的运行;用户程序是用户为完成特定的控制任务而编写的应用程序,STEP 7是支持S7系列PLC开发用户程序的常用软件包。S7系列PLC的编程语言非常丰富,有LAD(梯形图)、STL(语句表)、FBD(功能块图)等,这些都是面向用户的编程语言,用户可以选择一种语言编程,也可混合使用几种语言编程。其中,语句表和梯形图是最常用的编程语言。

4.网络通信

现代计算机控制系统已不再是自动化的“孤岛”,而是集过程控制、生产管理、网络通信、IT技术等为一体的综合自动化系统,系统最主要的结构特征表现为一个多层次的网络体系,不同的层次往往遵循不同的标准,具有不同的通信速度和数据处理能力。S7 PLC的网络功能很强,它可以适应不同控制需要构建不同的网络体系,它可以提供MPI(Multipoint Interface)、Profibus、Industrial Ethernet等通信方式,每种通信方式都有各自的技术特点和不同的适应面。

MPI子网是一种低成本的网络系统,其物理层符合RS485标准,具有多点通信的性质。如图2.5,由于所有S7-300/S7-400的CPU单元上都集成了MPI接口,用户可以很方便地用MPI接口把多个PLC、PC、OP等控制设备直接组成MPI网。接入到MPI网的设备称为一个站点,一个MPI网最多允许连接32个站点,传输速率为187.5Kbps,不加中继时的最大总线长度仅为50m。因此,MPI子网主要适用于站点数不多、数据传输量不大的应用场合。                                             

    

 PROFIBUS是用于现场级或控制单元级的开放式、标准化高速现场总线,如图2.6,其总线存取协议是结合了令牌环和主从方式的混合介质存取技术,是一种倍受青睐的组网方式,传输速率可达12Mbps,通常使用的传输介质是屏蔽双芯电缆或者是光缆,每一个网段最多可以挂接126个站点设备。

Industrial Ethernet子网主要用于控制层或管理层之间大量的数据交换,与前二种子网有所不同的是,Industrial Ethernet子网上的多数站点设备需要安装Ethernet-CP来扩展网络接口。

5. 可编程控制器的应用

关于PLC系统的设计原则往往会涉及很多方面,其中最基本的设计原则可以归纳为四点:①最大限度地满足工业生产过程或机械设备的控制要求――完整性原则;②确保计算机控制系统的可靠性――可靠性原则;③力求控制系统简单、实用、合理――经济性原则;④适当考虑生产发展和工艺改进的需要,在I/O接口、通信能力等方面要留有余地――发展性原则。很明显,这四条最基本的设计原则对其它类型的计算机控制系统设计也是适用的。

虽然不同的PLC系统在设计内容和设计方法上也会有所不同,通常还与设计人员习惯的设计规范及实践经验有关,但所有设计方法要解决的基本问题是相同的。PLC系统设计所要完成的一般性内容包括:

⑴   分析被控对象的工艺特点和要求,拟定PLC系统的控制功能和设计目标;

⑵   细化PLC系统的技术要求,如:I/O接口数量、系统结构形式、安装的物理位置等等;

⑶   PLC系统的选型,包括:CPU、I/O模块、接口模块等等;

⑷   编制I/O分配表和PLC系统及其与现场仪表的接线图;

⑸   根据系统要求编制软件规格说明书,开发PLC应用软件;

⑹   编写设计说明书和使用说明书;

⑺   系统安装、调试和投运。

1.PLC系统的硬件设计

在对生产工艺的特点和要求作深入分析的基础上,首先需要创建设计任务书。设计任务书的创建实际上就是对技术要求的细化,把各部分必须具备的功能和实现方法以书面形式描述出来,是设备选型、硬件配置、软件设计、系统调试的重要技术依据。

在满足控制要求的前提下,PLC硬件设备的选型应该追求最佳的性能价格比。

在选择CPU型号的时候,往往需要综合考虑CPU的基本性能、速度、存储器容量等因素。其中CPU基本性能要与控制任务相适应,具体表现在三个方面:(a)最大允许配置的I/O点数,这个性能指标与CPU的寻址能力有关。(b)网络功能。(c)复杂控制功能和先进控制功能。应该说,绝大多数PLC都能够满足一般的工业控制要求,只有少数需要有快速响应要求的系统,需要仔细考虑系统的实时性要求。存储器主要是用来保存应用程序以及系统运行所需的相关数据,存储器容量主要与系统规模、控制要求、实现方法及编程水平等许多因素有关,在工程实践中,特别是对初学者来说,应该适当考虑余量。

此外,硬件系统的设计还要包括I/O的配置、I/O站点的分配与通信接口模块的选择、电源模块和其它附属硬件的选择以及安全回路的设计等内容。

2.PLC系统的软件设计

如图2.7,PLC系统的软件设计包括前期工作和开发调试两个过程。前期工作包括制定控制方案、制定抗干扰措施、编制I/O分配表、确定程序结构、定义软件模块的功能,然后编写应用软件的指令程序,最后进行软件的调试和投运。在软件设计过程中,前期工作内容往往会被设计人员所忽视,事实上这些工作对提高软件的开发效率、保证应用软件的可维护性、缩短调试周期都是非常必要的,特别是对较大规模的PLC系统更是如此。

对于整个应用软件来说,程序结构设计和数据结构设计是程序设计的主要内容。合理的程序结构不仅决定着应用程序的编程质量,而且还对编程周期、调试周期、可维护性都有很大的影响。

以S7 PLC系统为例,一个应用软件可以选择多种结构形式:①把所有的指令按顺序放置在一个程序块中(通常为组织块OB1),称为“线性程序结构”。其特点是程序结构简单,但程序的可读性差、执行效率低,只适用于一个人编写的、相对简单的控制程序。②对软件功能进行划分,实现每一个控制功能的逻辑指令放置在一个功能块中(通常为逻辑功能块FC,相当于子程序),然后通过组织块把各FC组织起来,称为“部分模块化结构”。③把一组功能相同和相近的控制程序由一个功能块实现(通常为逻辑功能块FB,相当于函数),在运行中只需要为FB块赋予不同的实参,就能完成对不同设备的控制;对于一些简单的函数功能,也可以通过FC块完成。所有的FB、FC块最终由组织块协调,这种程序结构具有更高的编程效率和更广泛的适用面,称为“模块化程序结构”。