1.2 S7-200系列PLC介绍
1.2.1 S7-200系列PLC系统
德国的西门子公司是欧洲最大的电子和电气设备制造商,生产的SIMATIC可编程控制器在欧洲处于领先地位。最新的SIMATIC产品为SIMATIC S7、M7和C7等几大系列。SIMATIC S7系列产品分为通用逻辑模块(LOGO!)、微型PLC(S7-200系列)、中小型PLC(S7-300系列)和大中型PLC(S7-400系列)4个产品系列。从CPU模块的功能来看,SIMATIC S7-200系列微型PLC发展至今大致经历了两代。第一代产品(21版),其CPU模块为CPU21X,主机都可进行扩展;第二代产品(22版),其CPU模块为CPU22X,是在21世纪初投放市场的,速度快,具有较强的通信能力。
S7-200系列PLC的硬件主要包括CPU和扩展模块。扩展模块则包括模拟量I/O扩展模块、数字量I/O扩展模块、温度测量扩展模块、特殊功能模块(如定位模块)和通信模块等。其外部结构如图1-6所示。它是整体式PLC,它将输入/输出模块、CPU模块、电源模块均装在一个机壳内,当系统需要扩展时,可选用需要的扩展模块与基本单元(主机)连接。
图1-6 S7-200系列PLC外部结构
1.CPU模块
S7-200系列的CPU是16位的,其参数如表1-3所示。
表1-3 S7-200系列CPU模块主要技术指标
1)CPU的工作方式
CPU的前面板即存储卡插槽的上部,有3盏指示灯显示当前工作方式。CPU前面板上用两个发光二极管显示当前工作方式,绿色指示灯亮,表示为运行状态,红色指示灯亮,表示为停止状态,在标有SF的指示灯亮时表示系统故障,PLC停止工作。
(1)STOP(停止)。CPU在停止工作方式时,不执行程序,此时可以通过编程装置向PLC装载程序或进行系统设置,在程序编辑、上下载等处理过程中,必须把CPU置于STOP方式。
(2)RUN(运行)。CPU在RUN工作方式下,PLC按照自己的工作方式运行用户程序。
2)改变CPU工作方式的方法
(1)用工作方式开关改变工作方式。工作方式开关有3个挡位:STOP、TERM(Terminal)、RUN。把方式开关切到STOP位,可以停止程序的执行;把方式开关切到RUN位,可以启动程序的执行;把方式开关切到TERM(暂态)或RUN位,允许STEP 7- Micro/WIN 32软件设置CPU工作状态。
如果工作方式开关设为STOP或TERM,电源上电时,CPU自动进入STOP工作状态。设置为RUN时,电源上电时,CPU自动进入RUN工作状态。
(2)用编程软件改变工作方式。把方式开关切换到TERM(暂态),可以使用STEP 7-Micro/WIN 32编程软件设置工作方式。
(3)在程序中用指令改变CPU的工作方式。在程序中插入一个STOP指令,CPU可由RUN方式进入STOP工作方式。
2.存储系统
S7-200系列PLC的CPU模块内部配备了一定容量的RAM(Random Access Memory)和EEPROM(Electrically Erasable Programmable Read-Only Memory),两种类型的存储器构成了PLC的存储系统,如图1-7所示。主机CPU模块内部配备的EEPROM,上装程序时,可自动装入并永久保存用户程序、数据和CPU的组态数据,用户可以用程序将存储在RAM中的数据备份到EEPROM存储器,主机CPU提供一个超级电容器,可使RAM中的程序和数据在断电后保持几天之久。CPU提供一个可选的电池卡,可在断电后超级电容器中的电量完全耗尽时,继续为内部RAM存储器供电,以延长数据所存的时间,可选的存储器卡可使用户像使用计算机磁盘一样来方便地备份和装载程序和数据。
图1-7 存储系统
3.输入/输出端子
输入/输出模块电路是PLC与被控设备间传递输入/输出信号的接口部件。各输入/输出点的通/断状态用LED显示,外部接线就接在PLC输入/输出接线端子上。S7-200系列CPU22X主机的输入和输出有两种类型:一种是CPU22X AC/DC/继电器,AC表示供电为交流输入电源220V,DC表示输入端的电源电压为直流24V,提供24V直流电源给外部元件(如传感器、开关)等,“继电器”表示输出为继电器输出(驱动交、直流负载);另一种是CPU22X DC/DC/DC,第一个DC表示供电电源电压为直流24V,第二个DC表示输入端的电源电压为直流24V,提供24V直流给外部元件(如传感器、开关等),第三个DC表示输出端子的电源为直流24V,场效应晶体管输出(驱动直流负载),用户可根据需要选用。
1)CPU224型PLC输入端子接线
CPU224的主机共有14个输入点(I0.0~I0.7、I1.0~I1.5)和10个输出点(Q0.0~Q0.7,Q1.0~Q1.1),在编写端子代码时采用八进制,没有0.8和0.9。CPU224输入端子的接线如图1-8和图1-9所示,它采用了双向光电耦合器,24V直流极性可任意选择,L+和M端子分别是模块提供24V直流电源的正极和负极,它可以作为输入电路的电源,也可作为外部传感器、开关的电源。系统设置1M为输入端子(I0.0~I0.7)公共端,2M为(I1.0~I1.5)输入端子内部电路的公共端。
图1-8 输入端子的接线(PNP)
图1-9 输入端子的接线(NPN)
【例1-1】 有一台S7-224 CPU,输入端有一只三线PNP接近开关和一只二线PNP接近开关,应如何接线?
【解】 对于S7-224 CPU,公共端接电源的负极。而对于三线PNP接近开关,只要将其正、负极分别与电源的正、负极相连,将信号线与PLC的“I0.0”相连即可;而对于二线PNP接近开关,只要将电源的正极分别与其正极相连,将信号线与PLC的“I0.1”相连即可,如图1-10为例1-1输入端子的接线示意图。
图1-10 例1-1输入端子的接线示意图
2)CPU224型PLC输出端子接线
CPU224的输出电路有场效应晶体管输出电路和继电器输出电路两种供用户选用,其用法前面已叙述,具体接法如图1-11和图1-12所示。
图1-11 晶体管输出(直流输出)
图1-12 继电器输出
【例1-2】 有一台S7-224 CPU,控制一只24V DC电磁阀和一只220V AC电磁阀,输出端应如何接线?
【解】 因为两个电磁阀的线圈电压不同,而且有直流和交流两种电压,所以如果不经过转换,只能用继电器输出的CPU,而且两个电磁阀分别在两个组中。其接线如图1-13所示。
图1-13 例1-2接线图
4.电源模块
外部提供给PLC的电源,有24V DC、220V AC两种,根据型号不同有所变化,电源的技术指标如表1-4所示。S7-200的CPU单元有一个内部电源模块,S7-200小型PLC的电源模块与CPU封装在一起,通过连接总线为CPU模块、扩展模块提供5V的直流电源,如果容量许可,还可提供给外部24V直流的电源,供本机输入点和扩展模块继电器线圈使用。应根据下面的原则来确定I/O电源的配置。
表1-4 电源的技术指标
(1)有扩展模块连接时。如果扩展模块对5V DC电源的需求超过CPU的5V电源模块的容量,则必须减少扩展模块的数量。
(2)当+24V直流电源的容量不满足要求时,可以增加一个外部24V直流电源给扩展模块供电。此时外部电源不能与S7-200的传感器电源并联使用,但两个电源的公共端(M)应连接在一起。
5.扩展功能模块
扩展单元作为基本单元输入/输出点数的扩充,只能与基本单元连接使用,不能单独使用。S7-200的扩展单元包括数字量扩展单元,模拟量扩展单元,热电偶、热电阻扩展模块,PROFIBUS-DP通信模块。不同功能的扩展模块,可以满足不同的控制需要,节约投资费用。连接时CPU模块放在最左侧,扩展模块用扁平电缆与左侧的模块相连,如图1-14所示。CPU222最多连接两个扩展模块,CPU224/CPU226最多连接7个扩展模块。
图1-14 扩展模块和基本单元
1)数字量I/O扩展模块
S7-200 PLC提供了多种类型的数字量扩展模块,用户可选用8点、16点和32点的数字量输入/输出模块。数字量I/O扩展模块规格如表1-5所示。
表1-5 数字量I/O扩展模块规格
2)模拟量I/O扩展模块
模拟量扩展模块提供了模拟输入量(如压力、温度、流量、转速等)和某些执行机构(如晶闸管调速装置、电动调节阀和变频器等)输出模拟量的功能,模拟量I/O扩展模块规格如表1-6所示。
表1-6 模拟量I/O扩展模块规格
使用模拟量模块时,要注意以下问题:
(1)模拟量模块有专用的扁平电缆(与模块打包出售)与CPU通信,并通过此电缆由CPU向模拟量模块提供5V DC的电源。此外,模拟量模块必须外接24V DC电源。
(2)每个模块能同时输入/输出电流或者电压信号,对于模拟量输入的电压或者电流信号选择通过DIP开关设定,量程的选择也是通过DIP开关来设定的。
(3)对于模拟量输入模块,传感器电缆线应尽可能短,而且应使用屏蔽双铰线,导线应避免弯成锐角。靠近信号源屏蔽线的屏蔽层应单端接地。
(4)未使用的通道应短接,如果EM231中的B+和B-端子未使用,则要进行短接。
3)热电偶、热电阻扩展模块
EM231热电偶、热电阻扩展模块是为S7-200 CPU222、CPU224和CPU226/226XM设计的模拟量扩展模块。EM231热电偶模块具有特殊的冷端补偿电路,该电路测量模块连接器上的温度,并适当改变测量值,以补偿参考温度与模块温度之间的温度差。如果在EM231热电偶模块安装区域的环境温度迅速地变化,则会产生额外的误差,要想达到最大的精度和重复性,热电阻和热电偶模块应安装在稳定的环境温度中。
4)通信模块PROFIBUS-DP
S7-200系列的CPU要接入PROFIBUS-DP网,则必须配置通信模块EM277模块,EM277作为DP从站,EM277模块接收来自主站的多种不同的I/O组态,向主站发送和接收数据。
5)定位模块EM253
S7-200系列CPU(晶体管输出时)的Q0.0和Q0.1可以输出高速脉冲,可以用于控制步进电动机和伺服电动机,但若要求较高时,则应使用定位模块EM253。EM253能产生脉冲串,用于步进电动机和伺服电动机速度、位置的开环控制,PWM输出 fmax=200kHz。直接从Micro/WIN软件进行参数设置和调整。
1.2.2 可编程控制器的工作原理
1.用触点和线圈实现逻辑运算
在数字量控制系统中,变量仅有两种相反的工作状态,如高电平和低电平、继电器线圈的通电和断电、触点的接通和断开,可用逻辑代数中的1和0来表示它们。在波形图中,用高电平表示1状态,用低电平表示0状态。
“与”、“或”、“非”逻辑运算的输入/输出关系如表1-7所示,用继电器电路或类似于继电器接触器电气控制电路的PLC编程软件梯形图可以实现“与”、“或”、“非”逻辑运算(如图1-15所示)。用多个触点的串、并联电路可以实现复杂的逻辑运算,如图1-16中的异步电动机控制电路。
表1-7 逻辑运算关系表
图1-15 基本逻辑运算
图1-16 异步电动机控制电路
实现的逻辑运算可用逻辑代数式表示为
KM=(SBl+KM)· SB2 · FR
上式左边的KM与图中的线圈相对应,右边的KM与KM的常开触点相对应,SB2与SB2的常闭触点相对应。在继电器电路图和梯形图中,线圈的状态是输出量或被控量,触点的状态是输入量。继电器的线圈通电时,其常开触点接通,常闭触点断开;线圈断电时,其常开触点断开,常闭触点闭合。梯形图中的位操作元件(如可编程控制器的输出Q0.0)的触点和线圈也有类似的关系。接触器的结构和工作原理与继电器的基本相同,区别仅在于继电器触点的额定电流较小(如几十毫安),而接触器是用来控制大电流负载的,如它可以控制额定电流为几十安培至上千安培的异步电动机。
图1-16是用交流接触器控制异步电动机的主电路、控制电路和有关的波形图。按下启动按钮SBl,它的常开触点接通,电流经过SBl的常开触点和停止按钮SB2的常闭触点,流过交流接触器KM的线圈、接触器的衔铁被吸合,使主电路中KM的3对常开触点闭合,异步电动机M的三相电源接通,电动机开始运行,控制电路中接触器KM的辅助常开触点同时接通。放开启动按钮后,SBl的常开触点断开,电流经KM的辅助常开触点和SB2的常闭触点流过KM的线圈,电动机继续运行。KM的辅助常开触点实现的这种功能称为“自锁”或“自保持”,它使继电器电路具有类似于R-S触发器的记忆功能。
在电动机运行时按停止按钮SB2,它的常闭触点断开,使KM的线圈失电,KM的主触点断开、异步电动机的三相电源被切断,电动机停止运行,同时控制电路中KM的辅助常开触点断开。当停止按钮SB2被放开,其常闭触点闭合后,KM的线圈仍然失电,电动机继续保持停止运行状态。图1-16(c)给出了有关信号的波形图,图中用高电平表示1状态(线圈通电、按钮被按下),用低电平表示0状态(线圈断电、按钮被放开)。
图中的热继电器FR用于过载保护,电动机过载时,经过一段时间后,FR的常闭触点断开,使KM的线圈断电,电动机停转。
2.可编程控制器的工作原理
众所周知,继电器控制系统是一种“硬件逻辑系统”,它所采用的是并行工作方式,也就是条件一旦形成,多条支路可以同时动作。PLC是在继电器控制系统逻辑关系基础上发展演变的。而PLC是一种专用的工业控制计算机,其工作原理是建立在计算机工作原理基础上的。为了可靠地应用在工业环境下,便于现场电气技术人员的使用和维护,应有大量的接口器件、特定的监控软件和专用的编程器件。这样一来,不但其外观不像计算机,其操作使用方法、编程语言及工作过程与计算机控制系统也是有区别的。
其实现的工作原理是通过执行反映控制要求的用户程序,PLC的CPU是以分时操作方式来处理各项任务的。计算机在每一瞬间只能做一件事,所以,程序的执行是按程序顺序依次完成相应段落上的动作,因此,它属于串行工作方式。
1)PLC控制系统的等效工作电路
PLC控制系统的等效工作电路由输入部分、内部控制电路和输出部分组成。输入部分就是采集输入信号,输出部分就是系统的执行部件。这两部分与继电器控制电路相同,内部控制电路就是通过用户所编写的程序实现控制逻辑,用软件编程代替继电器电路的功能。其等效工作电路如图1-17所示,它是工作台前进、到位后停车并有工作指示灯的控制电路。
图1-17 PLC的等效工作电路
(1)输入部分。输入部分由外部输入电路、PLC输入接线端子和输入继电器组成。外部输入信号经PLC输入接线端子去驱动输入继电器线圈。每个输入端子与其相同编号的输入继电器有着唯一确定的对应关系。如当外部的输入元件(前进按钮SB1)处于接通状态时,对应的输入继电器线圈(I0.0)“得电”。这个输入继电器(I0.0)是PLC内部的软继电器,实际上这里不存在真正的物理上的继电器,它只是存储器(I0)中的某一位(I0.0),可以提供任意多个的动合触点或动断触点。这里所说的“触点”实际上也是不存在的,是为了向早期的继电器线路图靠拢,便于大家理解。“触点”实际上就是存储器位的状态,这样一来就可以任意取用了。
为使输入继电器的线圈“得电”,即让外部输入元件的接通状态写入其对应的存储单元中去,输入回路要有电流,这个电源可以用PLC自己提供的24V直流电源,也可以由PLC外部的独立的交流或直流电源供电。
(2)内部控制电路。内部控制电路是由用户程序形成的用“软继电器”来替代硬继电器的控制逻辑。它的作用是按照用户编写的程序所规定的逻辑关系,处理输入信号和输出信号。
一般用户程序是用梯形图语言编制的,看上去很像继电器控制线路图,这也是PLC设计者所追求的。在前面已经提到过,即使PLC的梯形图与继电器控制线路图完全相同,最后的输出结果也不一定相同,这是因为处理信号的过程是不一样的。继电器控制线路图中的继电器线圈都是并联关系,机会相等,只要条件允许可以同时动作。而PLC的梯形图程序的工作特点是周期性逐行扫描的。这样一来最后的输出结果就难免不一样了。
除了输入信号和输出信号,在PLC中还提供了定时器、计数器、辅助继电器(相当于继电器控制线路中的中间继电器)及某些特殊功能的继电器。为了实现控制要求,在编程时可根据需要选用继电器;但这些器件只能在PLC的内部控制电路中使用,在PLC的I/O点处是看不到它们的。
(3)输出部分(以数字量继电器输出型PLC为例)。输出部分由在PLC内部且与内部控制电路隔离的输出继电器的外部动合触点、输出接线端子和外部驱动电路组成,用来驱动外部负载。每个输出继电器除了有为内部控制电路提供编程用的任意多个动合、动断触点外,还为外部输出电路提供了一个实际的动合触点与输出接线端子相连。需要特别指出的是,输出继电器是PLC中唯一存在的实际物理器件,打开PLC可发现在输出侧放置的那些微型继电器。
2)PLC的工作原理
PLC虽然具有许多微型计算机的特点,但它的工作方式却与微型计算机有很多不同,这主要是各自的操作系统和系统软件的不同所造成的。
PLC的工作方式有两个显著特点:一个是周期性顺序扫描,一个是信号集中批处理。
PLC通电后,需要对软硬件都做一些初始化的工作。为了使PLC的输出及时地响应各种输入信号,初始化后反复不停地分步处理各种不同的任务,这种周而复始的循环工作方式称为周期性顺序扫描工作方式。
PLC在运行过程中,总是处在不断循环的顺序扫描过程中,每次扫描所用的时间称为扫描时间,又称为扫描周期或工作周期。
由于PLC的I/O点数较多,采用集中批处理的方法,可简化操作过程便于控制,提高系统可靠性。因此,PLC的另一个主要特点就是对输入采样、执行用户程序、输出刷新实施集中批处理。
上面提到过PLC通电后,首先要进行的就是初始化工作,这一过程包括对工作内存的初始化,复位所有的定时器,将输入/输出继电器清零,检查I/O单元是否完好,如有异常则发出报警信号。初始化之后,就进入周期性扫描过程。PLC的运行过程如图1-18所示。
图1-18 PLC的运行过程
PLC的工作流程即扫描过程主要有输入采样、执行用户程序和输出刷新3个阶段。这3个阶段是PLC工作过程的中心内容(如图1-19所示),理解透PLC工作过程的这3个阶段是学习好PLC的基础。下面详细分析这3个阶段。
图1-19 PLC的扫描工作过程
(1)输入采样扫描阶段。在PLC的存储器中,设置了一片区域来存放输入信号和输出信号的状态,它们分别称为输入过程映像寄存器和输出过程映像寄存器。CPU以字节(8位)为单位来读写输入/输出过程映像寄存器。
这是第一个集中批处理过程,在这个阶段,PLC首先按顺序扫描所有输入端子,并将各输入状态存入相对应的输入映像寄存器中。此时,输入映像存储器被刷新,在当前的扫描周期内,用户程序依据的输入信号的状态(ON或OFF),均从输入映像寄存器中去读取,而不管此时外部输入信号的状态是否变化。在此程序执行阶段和接下来的输出刷新阶段,输入映像寄存器与外界隔离,即使此时外部输入信号的状态发生变化,也只能在下一个扫描周期的输入采样阶段去读取。一般来说,输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。如当SB1按钮按下后,外部输入信号I0.0为ON状态(1状态),输入映像寄存器中的位寄存器I0.0中的结果为1。
(2)执行用户程序的扫描阶段。PLC的用户程序由若干条指令组成,指令在存储器中按照顺序排列。在RUN工作模式的程序执行阶段,在没有跳转指令时,CPU从第一条指令开始,逐条顺序地执行用户程序。
在执行指令时,从I/O映像寄存器或别的位元件的映像寄存器读取其ON/OFF状态,并根据指令的要求执行相应的逻辑运算,运算的结果写入相应的映像寄存器中。因此,除了输入过程映像寄存器属于只读的之外,各映像寄存器的内容随着程序的执行而变化。
这是第二个集中批处理过程,在此阶段PLC的工作过程是这样的:CPU对用户程序按顺序进行扫描,如果程序用梯形图表示,则总是按先上再下、从左至右的顺序进行扫描,每扫描到一条指令,所需要的输入信息的状态就要从输入映像寄存器中去读取,而不是直接使用现场的即时输入信息。因为第一个批处理过程(取输人信号状态)已经结束,“大门”已经关闭,现场即时信号此刻是进不来的。对于其他信息,则是从PLC的元件映像寄存器中读取,在这个过程顺序扫描中,每一次运算的中间结果都立即写入元件映像寄存器中,这样该元素的状态马上就可以被后面将要扫描到的指令所利用,所以在编程时指令的先后位置将决定最后的输出结果。对输出继电器的扫描结果,也不是马上去驱动外部负载,而是将其结果写入元件映像寄存器中的输出映像寄存器中,同样该元素的状态也马上就可以被后面将要扫描到的指令所利用,待整个用户程序扫描阶段结束后,进入输出刷新扫描阶段时,成批将输出信号状态送出去。图1-19中梯形图程序的逻辑运行为
Q0.0=(I0.0+Q0.0)· I0.1· I0.4
Q0.4=Q0.0
执行第一条指令时,从输入映像寄存器I0.0中取出二进制数1并存入堆栈的栈顶,梯形图中对应的常开触点闭合,常闭触点断开。
执行第二条指令时,从输出映像寄存器Q0.0中取出二进制数0,并与栈顶中的二进制数1相“或”(触点的并联对应“或”运算),运算结果1存入堆栈的栈顶。
执行第三条指令时,从输入映像寄存器I0.1中取出二进制数0,梯形图中对应的常开触点断开,常闭触点闭合,即对应的触点不动作。由于是常闭触点,取反后与前面的运算结果相“与”(触点的串联对应“与”运算),运算结果1存入堆栈的栈顶。
执行第四条指令时,从输入映像寄存器I0.4中取出二进制数0,梯形图中对应的常开触点断开,常闭触点闭合,即对应的触点不动作。由于是常闭触点,取反后与前面的运算结果相“与”,运算结果1存入堆栈的栈顶。
执行第五条指令时,将堆栈的栈顶中的二进制数1送入输出映像寄存器Q0.0中。
执行第六条指令时,从输出映像寄存器Q0.0中取出二进制数1,存入堆栈的栈顶,然后再将1送入输出映像寄存器Q0.4中。
(3)输出刷新扫描阶段。CPU执行完用户程序后,将输出过程映像寄存器的状态(ON/OFF)如Q0.0的1状态传送到输出模块并锁存起来,梯形图中某一输出位的线圈“得电”时,对应的输出映像寄存器为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器(确实存在的物理器件)的线圈(如KM)得电,它对应的主电路中的常开触点闭合,使外部负载如工作台通电工作。到此,一个周期扫描过程中的3个主要过程就结束了,CPU又进入下一个扫描周期。
这是第三个集中批处理过程,用时极短。在本周期内,用户程序全部扫描后,就已经定好了某一输出位的状态,进入这段的第一步时,信号状态已送到输出映像寄存器中,也就是说输出映像寄存器的数据取决于输出指令的执行结果。然后再把此数据推到锁存器中锁存,最后一步就是将锁存器的数据再送到输出端子上去。在一个周期中锁存器中的数据是不会变的。