西门子S7-200CN PLC编程技术及工程应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 PLC的基本概念与基本结构

可编程控制器(Programmable Controller)是一种重要工业控制计算机,广泛应用于工业生产的各个领域。本节将主要介绍可编程控制器的基本概念和结构,并在此基础上介绍PLC的程序执行过程等内容。

1.PLC的历史

可编程控制器是工业控制领域中自动化技术发展的产物。众所周知,工业生产过程中存在大量顺序控制和安全互锁逻辑控制,在20世纪60年代之前,这些功能是通过气动或电气控制系统实现的,相应的控制系统主要由继电器和计数器等构成。这种系统的主要缺点是体积大,接线复杂和可靠性差,特别是系统适应性差,不易维护和更改。上述缺点不但增加了生产成本,而且严重制约生产效率的进一步提高。为解决这一问题,美国通用汽车公司(GM)提出要设计一种新的系统来代替继电器系统,并于1968年向社会公开招标,同时给出了10条招标指标,即“通用十条”:

(1)编程方便,可现场修改和调试程序;

(2)维护方便,采用模块化结构;

(3)可靠性高于继电器控制系统;

(4)体积小于继电器控制装置;

(5)数据可直接送入管理计算机;

(6)成本可与继电器控制系统竞争;

(7)输入可以是115V交流电;

(8)输出为交流115V,输出电流可达2A以上,能直接驱动电磁阀;

(9)扩展时,原系统只需作很小改动;

(10)用户程序存储器容量至少能扩展到4KB。

1969年美国数字设备公司(DEC)根据上述要求研制成功了PDP-14控制器,并在汽车自动装配线上成功使用。这种控制器主要用于顺序控制,并仅能进行逻辑运算,因此被称做可编程逻辑控制器(Programmable Logic Controller,PLC)。虽然早期的PLC只有简易的逻辑开/关功能,但是这种控制装置以集成电路和电子技术为基础,实现了电气控制的程序化,与继电器控制系统相比使用方便,体积小,易于维护和修改。

2.PLC的定义

随着集成电路、计算机技术和电气控制技术的发展,可编程逻辑控制器PLC逐渐发展成以微处理器为核心的新型工业控制设备,是计算机家族中的一员。鉴于可编程逻辑控制器的功能越来越丰富(如具备高速通信网络和以梯形图方式编程等),早已不限于进行逻辑控制,美国电器制造商协会(NEMA)经过 4 年的调查,于1980 年把它正式命名为可编程控制器(Programmable Controller,PC),但是为了与个人计算机(Personal Computer,PC)相区别,仍将可编程控制器简称为PLC。

PLC自诞生起就进入了快速发展阶段,国际电工委员会(IEC)分别于1982年11月、1985年1月和1987年2月颁布了可编程控制器标准的草案第一稿、第二稿和第三稿,并在草案第三稿中将可编程控制器定义为:“可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令。并通过数字式和模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关外部设备,都应按易于与工业系统连成一个整体,易于扩充其功能的原则设计。”作为一种应用于工业环境下的计算机,该定义强调了PLC应具有抗干扰性强,适应性好和应用范围广泛的特点,这正是工业控制计算机区别于一般微型计算机的重要特征。

目前,PLC因其具有通用性强,使用方便,适应面广,可靠性高,抗干扰能力强,编程简单等特点,已成为工业控制领域中不可或缺的一种控制装置,具有广阔的市场。

3.PLC的基本结构

作为计算机家族中的一员,PLC的基本结构与一般的微型计算机系统类似,主要由中央处理器(CPU)、存储器、输入/输出设备组成,另外具有电源、A/D和D/A等模块,其基本结构如图1-1所示。

图1-1 PLC的基本结构

1)CPU与所有微型计算机系统(如通用计算机系统和单片微型计算机系统)相同, CPU是PLC的核心部件,主要包含运算器、控制器和寄存器。控制器控制CPU工作,由CPU读取指令、解释指令及执行指令。运算器用于进行算术、逻辑等运算,其工作由控制器控制完成。另外,CPU内部还有一些寄存器参与运算,并存储运算的中间结果。CPU可以是通用微处理器(如8086、80286和80386等)和单片机(如8051和M6800)等。

CPU按位数可分为8位、16位和32位,通常小型PLC采用价格较低,通用性较好的8位和16位CPU,中型PLC通常采用集成度高,运算速度快,可靠性更高的16位和32位CPU,而大型PLC多采用灵活性强,速度快的高速CPU。另外,小型PLC多采用单CPU,而大型PLC多采用双CPU甚至多CPU系统,在多个CPU中往往有一个是位处理器,其他是字处理器,而位处理器的使用进一步提高了PLC的实时性。

2)存储器 存储器用于存放程序和数据。

按照读/写功能,存储器可分为两种:一是随机存储器RAM(Random Access Memory),可读可写;二是只读存储器ROM(Read Only Memory),只能读不能写。

按照存储功能,PLC存储空间可划分为:系统程序存储区、系统RAM存储区和用户程序存储区。

(1)系统程序存储区:存放系统程序即所谓的系统软件(相当于计算机操作系统软件),是由PLC制造厂家编写的与PLC硬件有关的程序,和硬件一起决定了PLC的性能。它主要完成系统诊断,命令解释,提供PLC运行平台等功能,通常固化到ROM中,用户不能访问和修改。

(2)系统RAM存储区:存放I/O映像区及各类软设备,如逻辑线圈、数据寄存器、计时器、计数器、变址寄存器、累加器等。

(3)用户程序存储区:存放用户编制的程序,不同类型的PLC,其存储容量各不相同。

3)I/O模块 I/O模块又称I/O单元,负责实现I/O信号的扩展,这些数据可以由被控对象通过I/O模块传送给PLC,也可由PLC通过I/O模块传送给被控对象。在数据传输过程中, I/O模块的作用是实现PLC与外部输入和输出设备间不同信号间的电平转换。

4)其他功能模块

(1)A/D、D/A模块:A/D模块主要用于将电压、电流、湿度和温度等模拟信号转换成PLC能够处理的数字量。D/A模块与A/D模块的作用相反,其作用是把PLC内部的数字量转换成电压、电流等模拟信号以控制外部设备,如变频器和温度控制器等。

(2)电源模块:为PLC的各个模块提供工作电源。电源模块的一般输入为AC 220V(有的AC 220V与AC 110V均可以),部分电源模块输入为宽电压范围(AC 86~240V),输出电源电压可以是交流的,也可以是直流的。

(3)通信模块:主要通过通信网络实现PLC之间、PLC与个人计算机间及与其他设备间的信息交换。通信模块实现PLC与各种控制总线或工业以太网的通信,如西门子S7-200CN PLC的CP243-1、CP243-1IT CP241等。通信模块使得PLC与其他计算机系统和被控对象之间形成一个统一的整体,使分散集中的远程控制和信息交换成为可能。

5)PLC的外部设备

(1)编程器,是用户进行PLC程序设计和系统监控的必备设备,可以对PLC在线编程和修改程序。

(2)存储设备,用于永久性地存储用户资料,PLC应用中一般为专用的存储卡。

(3)I/O设备,用于接收输入信号和发送输出信号,如打印机和键盘等。

4.PLC程序的存储和执行过程

作为一种用于工业控制的计算机,PLC与通用的个人计算机有所不同,这主要表现在程序存储方式和程序执行过程两方面。

1)程序存储方式通用个人计算机的内部存储器里只存放少量系统程序,用于系统自检和从外部存储器(如硬盘等)将操作系统(如DOS、Windows和Linux等)程序加载到内部存储器,然后由操作系统进行用户应用程序的管理。而 PLC的用户应用程序可以预先存放在内部存储器上,CPU上电复位后,先由操作系统启动PLC,然后PLC进入运行模式并运行用户应用程序。这种程序存储方式的特点是,断电后 PLC的操作系统程序、用户应用程序和一些数据还保存在内部存储器(是非易失存储器)中,一旦恢复供电PLC就可以重新运行程序。

2)程序执行过程 一般的微型计算机程序在执行时,CPU根据当前程序指针的内容取出指令并执行指令,然后再取出下一条指令并执行,如此循环下去,直到遇到程序结束指令时才停止执行。而PLC采用循环扫描的方式工作,遇到程序结束指令后程序会自动重复执行,其典型的循环扫描周期如图1-2所示。可见PLC在一次上电初始化后,就会重复进行顺序扫描循环,这种循环由操作系统控制完成,是PLC自动化控制系统的基础。该循环扫描过程包含以下主要步骤。

图1-2 典型的PLC循环扫描周期

(1)上电初始化:对堆栈指针、工作单元和编程接口进行初始化,并进行PLC工作状态的选择(主要是设置编程状态和运行状态),这部分工作由操作系统完成,并且只进行一次。

(2)循环扫描:这部分由系统程序扫描和用户程序扫描两部分构成,并在PLC运行状态下不断重复执行。

系统程序扫描阶段(CPU自诊断阶段)主要完成以下工作。

➢ 检查PLC硬件状态是否正常。

➢ 检查用户程序是否存在语法错误。

➢ 对监控定时器进行定期复位,监控定时器又称“看门狗”(Watch Dog Timer,WDT),是用于检测程序是否跑飞和是否进入死循环的一种方法。

➢与其他PLC和计算机等网络上的其他设备进行通信。

用户程序扫描阶段由输入扫描、用户程序执行、输出扫描及外部设备服务4部分组成,它们的功能分别如下。

➢ 输入扫描。在输入扫描阶段(又称输入信号采样阶段),PLC以扫描方式顺序读入所有输入模块的数据,即从连接到输入模块的传感器获取数据(该数据表示开关的接通或断开状态等),并将其保存到输入映像存储器中。输入映像存储器中的状态被刷新后,将一直保存到下一个扫描周期才会被重新刷新。在此阶段,用户程序执行、输出扫描及外部设备服务3部分处于禁止状态。

➢用户程序执行。在本阶段用户程序将被顺序执行一遍,在此过程中,CPU首先读取并解释每条指令,然后从输入映像存储器和输出映像存储器中读取输入和输出的状态,并在此基础上完成相应的算术、逻辑等运算,最后把处理结果存入相应的寄存器或输出到数据映像存储器中。

需要注意的是:用户程序检测到的输入状态只是输入状态最近的映像;用户程序运行结果只改变输出映像存储器中的内容,而且只有输出映像存储器中的内容才会真正传送到输出模块(有的系列PLC具有立即输出指令,实现立即更新输出或输入功能)。

➢ 输出扫描。将输出映像存储器中的数据输出到输出锁存寄存器中,输出锁存寄存器对应着物理输出口,这才是PLC的实际输出。

➢ 外部设备服务。在本阶段,PLC与外部设备(如打印机和编程器等)交换信息,还可以进行人机界面的实时信息交换。

5.PLC的分类

鉴于PLC在工业控制领域中的重要作用,有很多公司(如欧姆龙、西门子、三菱、施耐德、松下和LG等)从事PLC的设计生产,因此目前PLC产品种类繁多,且规格和性能也不尽相同。为便于系统的配置及使用,PLC可按3种方式分类,即按结构形式分类,按功能强弱分类和按控制规模分类。

1)按结构形式分类 可分为整体式、模块式(组合式)和叠装式3种。

(1)整体式:PLC的CPU板、I/O板、显示面板、内存块、电源等部件组合成一个整体,不可拆卸。这种PLC结构紧凑,体积小,价格低,一般小型PLC采用这种结构。

(2)模块式:PLC由CPU模块、I/O模块、内存、电源模块、底板或机架等多个模块按照一定规则组合配置,各模块相对独立,可以拆卸,便于安装、扩展和维护。大、中型PLC一般采用模块式结构,如西门子公司的S7-300系列、S7-400系列PLC都采用这种结构形式。

(3)叠装式:将整体式和模块式的特点结合起来,将相互独立的CPU模块、电源模块、通信模块和一定数量的I/O单元集合在一个机壳内,各模块间通过电缆进行连接,并且各模块可以一层层地叠装。这种结构方式的PLC系统配置灵活,体积较小,安装方便,本书介绍的西门子公司S7-200CN系列PLC就采用这种结构形式。

2)按功能强弱分类 根据PLC功能的不同,可将PLC分为低档、中档和高档3类。低档PLC功能和结构都相对简单,仅具备基本的逻辑运算、定时、计数、自诊断和监控等功能,主要用于单机控制系统,可实现逻辑控制、顺序控制和少量的模拟量控制。中档PLC在低档PLC的基础上增强了模拟量I/O功能,同时具有通信网络、算术运算、数据传送等功能,甚至还具有中断控制和PID控制等复杂控制功能。高档PLC在中档PLC的基础上增强了算术运算功能(如可进行矩阵运算和有符号数运算),另外还支持显示、打印等人机交互功能,适合大规模过程控制。

3)按控制规模分类(按I/O点数分类)控制规模主要指PLC输入(用I表示)和输出(用O表示)的开关量的点数(或个数)和模拟量的路数,但主要按开关量个数计算,因此,通常将模拟量的路数按一路相当于8~16点折算成开关量的点数。

PLC按I/O点数可分为5类:

(1)微型机,I/O点数小于64点;

(2)小型机,I/O点数在256点以下;

(3)中型机,I/O点数在512~2 048点之间;

(4)大型机,I/O点数在2 048点以上;

(5)巨型机,I/O点数可达万点,甚至几万点。