模块二 S7-200编程基础

任务1 PLC工作原理、PLC编程语言与SIMATIC S7系列PLC的程序结构

一、目标

通过项目教学,让学生了解PLC的工作原理、编程语言及S7系列PLC的程序结构等。

二、要求

(1)通过了解PLC的工作原理,学会对PLC工作过程进行分析。

(2)初步了解编程语言、程序结构并进行编程。

三、知识链接

1.PLC的基本工作原理

PLC在工作过程中一般分为输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称为一个扫描周期。在整个运行期间,PLC以一定的扫描速度重复执行上述三个阶段(即循环扫描),在此过程中不断接收现场各输入装置的状态和数据,分别存入I/O映像区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算术运算的结果送入I/O映像区或数据寄存器内,等所有的用户程序执行完毕之后,最后将I/O映像区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。

1)输入过程映像寄存器(I)

在每个扫描周期的开始,CPU对物理输入点进行采样,并将采样值存入输入过程映像寄存器。

输入过程映像寄存器是PLC接收外部输入的数字量信号的窗口。PLC通过光电耦合器,将外部信号的状态读入并存储在输入过程映像寄存器中,外部输入电路接通时对应的映像寄存器为ON(1)状态,反之为OFF(0)状态。输入端可以外接常开触点或常闭触点,也可以接多个触点组成的串、并联电路。在梯形图中,可以多次使用输入位的常开触点或常闭触点。

2)输出过程映像寄存器(Q)

在扫描的末尾,CPU将输出过程映像寄存器的数据传送给输出模块,再由后者驱动外部负载。如果梯形图中Q0.0的线圈“通电”,继电器型输出模块中对应的硬件继电器的常开触点闭合,使接在标号为0.0的端子的外部负载工作,反之,则外部负载停止工作。输出模块中的每一个硬件继电器仅有一对常开触点,但在梯形图中,每一个输出位的常开触点和常闭触点都可以用许多次。

2.PLC工作过程

1)公共操作

公共操作是在每次扫描程序前进行的自检。

2)数据I/O操作

数据I/O操作又称I/O状态刷新。它包括以下两种操作:

①采样输入信号,即刷新输入状态表的内容;

②送出处理结果,即用输出状态表的内容刷新输出电路。

3)执行用户程序操作

4)处理外设请求操作

外设的请求命令包括操作人员的介入和硬件设备的中断。

3.PLC的I/O滞后现象

I/O滞后现象是指PLC的外部输入信号发生了变化而与它控制的有关外部输出信号滞后一段时间才发生变化。造成I/O响应滞后的原因有以下几种。

① 因扫描工作产生的滞后时间;

② 电路惯性—输入电路滤波时间常数、输出电路的滞后时间和输出继电器触点的机械滞后;

③ 与程序设计安排有关。

4.PLC编程语言

PLC编程语言通常有梯形图(Ladder Diagram)、顺序功能图(Sequential Function Chart)、功能块图(Function Block Diagram)、指令表(Instruction List)、结构文本(Structured Text)等5种。

1)梯形图(LD)

梯形图是使用最多的PLC图形编程语言,主要由触点、线圈和功能块组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出标志位等。功能块用来表示定时器、计数器或者数学运算等。

在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想像左右两侧垂直母线之间有一个左正右负的直流电源电压(有时省略了右侧的垂直母线)。如图2-1中的I0.0与I0.1的触点接通时,有一个假想的“能流”流过Q0.0的线圈。利用能流这一概念,可以更好地理解和分析梯形图,能流只能从左向右流动。

2)顺序功能图(SFC)

这是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。图2-2所示为顺序功能图。

图2-1 梯形图

图2-2 顺序功能图

3)功能块图(FBD)

功能块图用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入/输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动,如图2-3所示。

4)指令表(IL)或语句表(STL)

PLC的指令是一种与计算机汇编语言中的指令相似的助记符表达式,由指令组成的程序称为指令表程序。在使用手持式编程器时,须将梯形图转换成指令表后再写入PLC。在用户程序存储器中,指令按步序号顺序排列,如图2-4所示。

图2-3 功能块图

图2-4 语句表图

5)结构文本(ST)

结构文本是为IEC61131-3标准创建的一种专用的高级编程语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。

5.S7系列PLC的程序结构与中断结构

1)S7-200的程序结构

S7-200的程序有三种:主程序、子程序、中断程序。主程序只有一个,名称为OB1。子程序可以达到64个,名称分别为SBR0~SBR63。子程序可以由子程序或中断程序调用。中断程序可以达到128个,名称分别为INT0~INT127。中断方式由输入中断、定时中断、高速计数中断、通信中断等中断事件引发,当CPU响应中断时,可以执行中断程序。由这三种程序可以组成线性程序和分块程序两种结构。

2)S7-300/400的程序结构

STEP7编程采用块的概念,即将程序分解为独立的、自成体系的各个部件,块类似于子程序的功能,但类型更多、功能更强大。从块的功能、结构及应用角度来看可将其分为用户块和系统块两类。用户块包括组织块(OB)、功能块(FB)、功能(FC)及数据块(DB),系统块包括系统功能块(SFB)、系统功能(SFC)和系统数据块(SDB)。S7-300/400程序结构图如图2-5所示。

图2-5 S7-300/400程序结构图

3)S7-1200的程序结构与中断结构分别如图2-6和图2-7所示

图2-6 S7-1200程序结构

图2-7 S7-1200中断结构

四、课堂演示实验:具有过载保护的自锁正转控制

具有过载保护的自锁正转控制电路(继电器控制)如图2-10所示。

1.控制要求

按下SB1按钮,电机启动运转,按下SB2,电机停止转动。

2.实验所需设备(见表2-1)

表2-1 实验所需设备清单

3.I/O端口分配及功能表(见表2-2)

表2-2 I/O端口分配及功能表

4.控制接线图(见图2-8)

图2-8 控制接线图

5.实验步骤

(1)按控制接线图连接控制回路与主回路。

(2)编程。参考程序如图2-9所示,控制线路如图2-10所示。

梯形图中的I1.2与I1.3是输入变量,Q0.0是输出变量,它们都是梯形图中的编程元件。I1.2与接在输入端子1.2的SB1的常开触点和输入过程映像寄存器I1.2相对应,Q0.0与接在输出端子0.0的PLC内的输出电路和输出过程映像寄存器Q0.0相对应。启动按钮SB1和停止按钮SB2的常开触点分别按在编号为1.2和1.3的输入端,接触器KM的线圈接在编号为0.0的输出端。如果热继电器FR动作(其常闭触点断开)后需要手动复位,可以将FR的常闭触点与接触器KM的线圈串联,这样可以少用一个PLC的输入点。

图2-9 具有过载保护的自锁正转控制程序

图2-10 具有过载保护的自锁正转控制线路

(3)将程序保存、编译、下载到PLC中,并单击“运行”按钮,将PLC设置为运行状态。

(4)拨动SB1、SB2,观察电机运行状态。

(5)尝试编译新的控制程序,实现不同于示例程序的控制效果。

五、实训:电动机联锁正/反转控制

1.实训目的

(1)掌握PLC外围直流控制及交流负载线路的接法及注意事项。

(2)掌握用PLC控制电机运行状态的方法。

2.实训所需设备(见表2-3)

表2-3 实训所需设备清单

3.实训要求

按启动按钮SB1,电动机作星形连接启动,电机正转;按启动按钮SB2,电机作星形连接启动,电机反转;在电机正转时,反转按钮SB2被屏蔽,在电机反转时,反转按钮SB1被屏蔽;如需正/反转切换,应首先按下停止按钮SB3,使电机处于停止工作状态,方可对其做旋转方向切换。

4.程序流程图(见图2-11)

图2-11 联锁正/反转控制

5.端口分配及接线图

(1)I/O端口分配及功能表(见表2-4)。

表2-4 I/O端口分配及功能表

(2)控制接线图(见图2-12)。

图2-12 控制接线图

6.操作步骤

(1)按控制接线图连接控制回路与主回路。

(2)将编译无误的控制程序下载至PLC中,并将模式选择开关拨至RUN状态。

(3)分别拨动SB1~SB3,观察并记录电机运行状态。

(4)尝试编译新的控制程序,实现不同于示例程序的控制效果。

7.实训总结

(1)尝试从控制接线图分析电机控制电路的工作原理。

(2)总结本实验中用到的编程元件的使用技巧。