2.3 技能训练 电动机起/停控制

在工业控制中,电动机起动和停止是最基本的控制环节,通常采用传统的继电器-接触器进行控制。本技能训练要解决的问题就是:如何用PLC控制电动机的起动和停止?

2.3.1 用继电器-接触器控制三相交流异步电动机起/停

1.主回路

主回路原理图如图2-13a所示,其中QS为刀开关,主要用来接通或切断电源;FU1为熔断器,对主回路起短路及严重过载保护作用;KM为运行接触器的主触点;FR为热继电器的加热元件,当电动机长时间过载时,其常闭触点动作,可起到过载保护作用;M为三相异步电动机。

2.控制回路

控制回路的原理图如图2-13b所示,其中FU2为熔断器,对控制回路起短路保护作用;FR为主回路中热继电器的常闭触点,当电动机长时间过载时,其常闭触点动作并切断控制回路电源,从而对电动机起到过载保护作用;SB1为起动按钮,采用常开按钮;SB2为停止按钮,必须采用常闭按钮,除完成正常停机操作功能以外,还可保证在线路故障(线头脱落或老鼠咬断线路)时,不会出现电动机起动后无法停机的现象,确保电动机运行安全;控制接触器KM的常开触点与起动按钮SB1并联,并且串接于KM的线圈回路中,电动机在停止状态下,只要按下按钮SB1(不需要保持),KM的线圈就会通电并通过其常开触点实现自锁。

图2-13 电动机起/停控制原理图

a)主回路 b)控制回路

2.3.2 用PLC控制三相交流异步电动机起/停

1.元件清单

主回路需要刀开关1个、交流接触器1个、熔断器3个、热继电器1个,主回路原理图同图2-13a;控制回路需要中间继电器1个、熔断器2个、常开按钮1个、常闭按钮1个、PLC装置1套,具体配置:PS307(5 A)电源模块1个、CPU 314模块1个、SM321 DI 32 ×DC 24 V数字量信号输入模块1个、SM322 DO 16×Rel AC 120 V/230 V数字量信号输出模块1个(继电器输出)。

2.控制回路

由于PLC的驱动能力有限,一般不能直接驱动大电流负载,而是通过中间继电器(线圈电压为直流24 V、触点电压为交流380 V)驱动接触器,然后由接触器再驱动大电流负载,这样还可以实现PLC系统与电气操作回路的电气隔离。所以控制回路包括PLC端子接线图(见图2-14)和接触器控制原理图(见图2-15),其中KA为控制用中间继电器的线圈及触点,KM为控制用交流接触器的线圈及触点,SB1为常开型的起动按钮,SB2为常闭型的停止按钮,FR是主回路中热继电器的常闭触点,FU2为熔断器。

该PLC硬件系统所使用的数字量输入模块有32个输入点,每8点为一组,外部控制按钮(SB1、SB2)信号通过DC 24 V送入相应的输入点(I0.0、I0.1)。所使用的数字量输出模块有16个输出点,每8点为一组,外部负载(KA)均通过电源(如DC 24 V)接在公共电源输入端(如1L)与输出端(Q0.0)之间。

控制原理:在停机状态下,按下起动按钮SB1,输入点I0.0接通,通过PLC内部用户程序控制,使输出点Q0.0接通,KA线圈得电,其常开触点闭合,从而使KM线圈得电,串接于主回路的KM主触点闭合,实现电动机的运转。在PLC内部通过程序运算,实现输出点Q0.0的自锁。当需要停机时,按下停止按钮SB2,输入点I0.1断开,通过PLC内部用户程序控制,解除对Q0.0的自锁,Q0.0断开,电动机停机。

图2-14 PLC端子接线图

图2-15 接触器控制原理图

3.控制程序

PLC的控制程序可使用类似数字电路的功能块图实现。根据控制要求:在停机状态下按下起动按钮SB1,则电动机起动并保持运转状态;按下停止按钮SB2,则电动机立即停机。由此可列出电动机的控制逻辑简化真值表,如表2-2所示。其中,1表示PLC“软元件”的状态为1,即触点闭合或线圈得电;0表示PLC“软元件”的状态为0,即触点断开或线圈失电;“T”表示输出元件操作前的状态(现态);“T+1”表示输出元件操作完成后的状态(次态)。

表2-2 电动机控制的逻辑简化真值表

根据控制逻辑简化真值表,利用数字电路的基本知识,将使Q0.0T+1为1的最小项分别相加,可写出Q0.0T+1的逻辑表达式:

化简后的逻辑表达式如下:

Q0.0T+1=I0.1·(I0.0+Q0.0T

由此可绘制出Q0.0的电动机控制逻辑图,如图2-16所示。

在STEP 7环境下,FBD语言的逻辑“与”指令及逻辑“或”指令与数字电路中的逻辑“与门”及逻辑“或门”的符号及意义相同,FBD语言的赋值指令用方框内的“=”表示。由此可画出电动机起/停控制功能块图(FBD)语言程序,如图2-17所示。

图2-16 电动机控制逻辑图

图2-17 电动机起/停控制功能块图(FBD)语言程序

当然,在STEP 7的梯形图语言(LAD)环境下,也可以用若干个触点(或逻辑块)的串联来表示逻辑“与”的关系(逻辑与指令),用若干个触点(或逻辑块)的并联来表示逻辑“或”的关系(逻辑或指令),用一对圆括弧“( )”表示逻辑输出(赋值指令)。一个完整的逻辑关系必须从左边一条母线开始向右绘制,逻辑赋值指令必须与最右边一条母线相连,能流只能通过左母线、经状态为1的触点和赋值指令到右母线形成能流回路。按照这种方法可画出电动机起/停控制的梯形图(LAD)语言程序,如图2-18所示。其中的常开触点和常闭触点的符号及意义与继电器-接触器控制系统中的常开触点和常闭触点的符号及意义相同。

图2-18 电动机起/停控制的梯形图(LAD)语言程序

2.3.3 PLC系统的硬件组态及程序编制

要用S7-300系列PLC实现对电动机的起/停控制,除了要连接好前面介绍的主回路、PLC外围控制回路及中间继电器-接触器控制回路以外,还必须在STEP 7环境下进行PLC的硬件组态(设置与实际硬件配置完全相同的硬件信息)、编写PLC的控制程序,并将硬件组态信息及控制程序下载到PLC。下面结合电动机起/停控制任务,介绍如何在STEP 7环境下完成PLC系统设计。

1.创建S7项目

二维码2-2 PLC的项目建立

创建新项目的最简单方法就是使用“新建项目”向导,创建步骤如下。

首先打开SIMATIC Manager,然后执行菜单命令“File”→“New Project Wizard...”打开“新建项目”向导“Step 7 Wizards‘New Project’”对话框,首先进入介绍对话框,即向导之一——“Introduction”,如图2-19所示。勾选“Display Wizard on starting the SIMATIC Manager”复选按钮,则每次启动SIMATIC管理器时将自动显示“新建项目”向导;单击“Preview”按钮可在项目向导下方预览项目结构。

在图2-19中单击“Next”按钮确认,并进入CPU选择对话框,即向导之二——“Which CPU are you using in your project?”:选择CPU型号,如图2-20所示。由于每个CPU都有自己的特性,所选择的CPU必须适合系统需要,并配置相应的MPI(多点接口)地址,以便于CPU与编程设备(PG/PC)通信。本例选择CPU314,设置MPI地址为2,CPU名称为“My CPU314”。

图2-19 向导之一:新建项目

图2-20 向导之二:选择CPU型号

在图2-20中单击“Next”按钮确认,并进入组织块(OB)和编程语言(STL、LAD、FBD)选择对话框,即向导之三——“Which blocks do you want to add?”:选择组织块及编程语言,如图2-21所示。

在“Blocks”区域中列出了当前CPU所能支持的组织块,其中OB1为主循环组织块,相当于一般语言的主程序,可调用S7的其他程序块,是PLC项目不可缺少的组织块。本例控制逻辑比较简单,所以只需选择主循环组织块OB1;在“Language for Selected Blocks”区域列出了可供选择的程序块编程语言,本例选功能块图语言(FBD);“Create with source files”选项用来选择是否创建源文件,一般不需要。

单击“Next”按钮确认,并进入向导的最后一步,项目命名对话框,即向导之四——“What do you want to call your project?”:给项目命名,如图2-22所示。在“Project name”文本框中需输入PLC项目名称。项目名称最长由8个ASCII字符组成,它们可以是大小写英文字母、数字或下划线,第一个符号必须为英文字母,名称不区分大小写。如果项目名称超出8个ASCII字符的长度,系统自动截取前8个字符作为项目名。因此,不同项目名称的前8个字符必须有所不同。本例将项目命名为“ch2-1”。

图2-21 向导之三:选择组织块及编程语言

图2-22 向导之四:项目命名

最后单击“Finish”按钮完成新项目创建,并返回到SIMATIC管理器。用“新建项目”向导所创建的项目如图2-23所示,项目已经创建了SIMATIC 300工作站及MPI子网。

图2-23 用“新建项目”向导所创建的项目

2.硬件组态

二维码2-3 硬件组态

所谓硬件组态,就是使用STEP 7对SIMATIC工作站进行硬件配置和参数分配。所配置的数据可以通过“下载”命令传送到PLC。硬件组态的条件是必须创建一个带有SIMATIC工作站的项目,组态步骤如下。

在图2-23所示的项目窗口的左视窗内,单击“工作站”图标,然后在右视窗内双击硬件配置图标,则自动打开“HW Config”(硬件配置)窗口,如图2-24所示。如果窗口右边未出现硬件目录,可单击硬件目录图标显示硬件目录。利用向导所创建的项目,系统自动插入了一个机架(UR),并在2号槽位插入一个CPU模块。如果所插入的CPU模块与实际所用的CPU模块不一致,还可以手动插入一个CPU模块。

图2-24 硬件配置环境

(1)插入电源模块

在图2-24中选中1号槽位,然后在硬件目录内单击SIMATIC 300左边的符号展开目录,再展开PS-300子目录,双击图标插入电源模块,配置S7-300 PLC硬件模块如图2-25所示,1号槽位只能放电源模块。

图2-25 配置S7-300 PLC硬件模块

(2)插入CPU模块

在图2-25中选中2号槽位,然后在硬件目录内展开CPU-300子目录下的CPU 314子目录,双击图标插入V2.6版本的CPU 314模块,参见图2-25所示。2号槽位只能放置CPU模块,且CPU的型号及订货号必须与实际所选择的CPU相一致,否则将无法下载程序及硬件配置。

在模块列表内双击CPU 314可打开“Properties-CPU 314-(R0/S2)”(CPU 314属性)对话框,如图2-26所示。

图2-26 CPU 314属性对话框

选中“General”选项卡,在“Name”文本框中可输入CPU的名称,如“My CPU 314”;在“Interface”区域中单击“Properties…”按钮可打开“Properties-MPI interface CPU 314(R0/S2)”(CPU接口属性)对话框,如图2-27所示。系统默认MPI子网名为MPI(1),子网地址为2,默认通信波特率为187.5 kbit/s。

图2-27 设置CPU接口属性

在图2-27中的“Address”下拉列表中可重设MPI子网地址,可设置的最高子网地址为31,本例保持默认值。单击“Properties…”按钮打开“Properties-MPI”(MPI属性)对话框,在“Network Settings”(网络设置)选项卡的“Highest MPI address”下拉列表中可设置MPI子网的最高可用地址;在“Transmission rate”下拉列表中可设置通信波特率。

(3)插入数字量输入模块

在图2-25中选中4号槽位,然后在硬件目录内展开SM-300子目录下的DI-300子目录,双击图标,插入数字量输入模块。

在模块列表内双击数字量输入模块,可打开“Properties-DI32xDC24V-(R0/S4)”(数字量输入模块属性)对话框,如图2-28所示。

图2-28 数字量输入模块属性对话框

在“General”选项卡的“Name”文本框中可更改模块名称;在“Addresses”选项卡的“Inputs”区域,系统自动为4号槽位上的信号模块分配了起始字节地址“0”和末字节地址“3”,对应各输入点的位地址为:I0.0~I0.7、I1.0~I1.7、I2.0~I2.7、I3.0~I3.7。若不勾选“System selection”复选按钮,用户可自由修改起始字节地址,然后系统会根据模块输入点数自动分配末字节地址。

注意:对于某些早期的CPU不支持信号模块的地址修改功能。

(4)插入数字量输出模块

在图2-25中选中5号槽位,然后在硬件目录内展开SM-300子目录下的DO-300子目录,双击图标,插入数字量输出模块。

在模块列表内双击数字量输出模块,可打开类似于图2-28的模块属性窗口。系统自动为5号槽位上的信号模块分配了起始字节地址“4”和末字节地址“5”,对应各输出点的位地址为:Q4.0~Q4.7、Q5.0~Q5.7。若不勾选“System selection”复选按钮,用户可自由修改起始字节地址,然后系统会根据模块输出点数自动分配末字节地址。本例取消对“System selection”复选按钮的勾选,将输出模块的首字节地址设为0,由于该模块的输出点数为16点,所以其末字节地址自动变为1,对应各输出点的位地址为:Q0.0~Q0.7、Q1.0~Q1.7。

(5)编译硬件组态

硬件配置完成后,在硬件配置环境下使用菜单命令“Station”→“Consistency Check”可以检查硬件配置是否存在组态错误。如没有出现组态错误,可单击工具图标保存并编译硬件配置结果。如果编译能够通过,系统会自动在当前工作站的程序块(Blocks)文件夹下创建一个系统数据(System data),该系统数据包含了所组态的全部硬件信息,SIMATIC 300的系统数据如图2-29所示。

图2-29 SIMATIC 300的系统数据

3.编辑符号表

在STEP 7程序设计过程中,为了增加程序的可读性,常用与设备或操作相关的用户自定义字符串(如SB1、SB2等)来表示并与PLC的单元对象(如I/O信号、存储位、计数器、定时器、数据块和功能块等)关联,这些字符串在STEP 7中被称为符号或符号地址,STEP 7编译时会自动将符号地址转换成所需的绝对地址。

例如,可以将符号名SB1赋给地址I0.0,然后在程序指令中就可用SB1进行编程。使用符号地址,可以比较容易地辨别出程序中所用操作数与过程控制项目中元素的对应关系。

符号表是符号地址的汇集,属于共享数据库,可以被不同的工具使用,如LAD/STL/FBD编辑器、Monitoring and Modifying Variables(监视和修改变量)、Display Reference Data(显示参考数据)等。在符号表编辑器内,通过编辑符号表可以完成对象的符号定义,具体方法如下。

在项目管理器的左视窗内,单击S7 Program(1)文件夹,在右视图内双击图标(见图2-8),打开符号表编辑器,系统自动打开符号表,如图2-30所示。符号表包含Status(状态)、Symbol(符号名)、Address(地址)、Data type(数据类型)和Comment(注释)等字段。每个符号占用符号表的一行。当定义一个新符号时,会自动插入一个空行。

图2-30 编辑符号表

参照图2-30填入符号名称(Symbol列)、绝对地址(Address列)和注释(Comment列),完成后单击按钮保存。在符号表编辑器内,可通过项目管理器窗口中的“View”菜单实现对符号的排序、查找和替换,并可以设置过滤条件。

4.编制程序

在STEP 7环境下编写PLC控制程序时,一种直接将所有程序全部放在组织块OB1中,另一种将控制程序按功能划分为若干个子程序块,分别放在功能(FCx)或功能块(FBx)中,然后在OB1中通过调用FCx和FBx实现程序的控制功能。第一种方法直接将所有程序全部放在组织块OB1中不便于程序的检查,不推荐采用这种方法。下面采用第二种方法编写程序。首先创建一个功能FC1,并用功能块图(FBD)语言对FC1进行编辑,然后在OB1中调用FC1,具体步骤如下。

(1)创建功能FC1(子程序)

在图2-29所示的左视窗内单击Blocks文件夹,然后在右视窗口中右击,执行快捷菜单命令“Insert new Object”→“Function”,则弹出“Properties-Function”(功能属性)对话框,创建功能FC1,如图2-31所示。

图2-31 创建功能FC1

在对话框的“Name”(名称)文本框内输入“FC1”,在“Symbolic Name”(符号名)文本框内输入“FC1”,在“Symbol Comment”(符号注释)文本框内输入“电动机运行”,在“Created in Language”(编程语言)下拉列表内选择FBD(功能块图语言),然后单击“OK”按钮确认,则在Blocks文件夹下创建一个功能FC1。

(2)编辑功能FC1

在Blocks文件夹内双击打开程序编辑窗口,如图2-32所示。编辑过程如下。

图2-32 程序编辑窗口

1)单击FC1的程序块标题(Title),输入“电动机起保停控制程序”;单击FC1的程序块说明(Comment),输入“SB1(I0.0)为起动按钮,常开;SB2(I0.1)为停止按钮,常闭;KA1(Q0.0)为运行中间继电器”说明信息。

2)单击第一个程序段(Network 1)的标题部分,输入“电动机起保停控制程序段”;单击第一个程序段的说明部分,输入“在电动机停止状态下,按起动按钮SB1,电动机运转并自锁;在电动机运行状态下,按停止按钮SB2,电动机停机并保持。”说明信息。

3)单击Network 1的程序编辑区域,参照图2-17及图2-32依次单击逻辑或指令图标、逻辑与指令图标及输出指令图标,然后在逻辑与指令块上选中一个输入信号端子,再依次添加输入信号端子图标和输入信号端子取反图标,完成第一个程序段的结构框架编辑,如图2-33所示。单击问号“??.?”,按图2-32分别输入相关信息,完成电动机控制程序的编辑。

图2-33 程序段结构框架编辑

电动机起保停控制程序(FBD语言)如图2-34所示。执行菜单命令“View”→“Display with”→“Comment”可显示/隐藏程序块及程序段的说明;执行菜单命令“View”→“Display with”→“Symbol Information”可显示/隐藏符号信息;执行菜单命令“View”→“Display with”→“Symbolic Representation”或单击快捷图标可显示/隐藏符号地址。

图2-34 电动机起保停控制程序(FBD语言)

(3)查看FC1的梯形图(LAD)程序及语句表(STL)程序

在STEP 7环境下,程序可以方便地在几种基本语言(FBD、LAD、STL)之间进行转换,查看其他语言形式的程序结构,操作过程为:首先保存程序(如果程序有语法错误则不能保存,必须修正语法错误),然后执行菜单命令“View”→“LAD”,可切换到LAD显示及编辑方式,LAD语言控制程序如图2-35所示;执行菜单命令“View”→“STL”,可切换到STL显示及编辑方式,STL语言控制程序如图2-36所示。

图2-35 LAD语言控制程序

图2-36 STL语言控制程序

(4)编辑组织块OB1

子程序(FC1)编辑完成以后,还必须在OB1中进行调用才能被CPU执行,OB1的编辑过程如下。

1)在项目管理器的Blocks文件夹内双击图标打开OB1编辑窗口,然后执行菜单命令“View”→“LAD”切换到梯形图语言环境,在OB1的第一个程序段(Network 1)的标题区输入:“调用电动机运行子程序,即调用功能FC1”。

2)单击Network 1的程序编辑区域,在程序元素窗口内单击(功能子程序块)图标展开目录,双击图标(也可将FC1直接拖到Network 1的编辑区域),即可将FC1加入到OB1,完成FC1的调用,如图2-37所示。

图2-37 编辑OB1并调用FC1

2.3.4 方案调试

在完成电动机运行控制系统的主回路及PLC控制回路接线以后,还必须将PLC系统硬件信息及控制程序下载到PLC中,才能对系统进行调试。

1.打开仿真工具PLCSIM

下载PLC控制程序及硬件信息的前提是PLC必须连接到计算机,即有可用的PLC连接。如果用户练习时现场没有实际的S7-300系列PLC,则可用STEP 7专业版自带的S7-300系列PLC仿真工具进行模拟下载及调试。在SIMATIC Manager窗口内,观察PLCSIM图标,如果该图标为灰色,说明PLCSIM工具没有安装,需安装后才能使用。

单击PLCSIM图标,弹出“Open Project”对话框,如图2-38所示。选中“Select CPU access node”(选择可访问的CPU节点)单选按钮,单击“OK”按钮则弹出“Select CPU Access Node”对话框,如图2-39所示。选中需要下载或调试的可访问的CPU节点,然后单击“OK”按钮即可打开PLCSIM仿真工具,PLCSIM窗口如图2-40所示。

二维码2-4 PLC仿真调试

图2-38 “Open Project”对话框

图2-39 “Select CPU Access Node”对话框

图2-40 PLCSIM窗口

执行菜单命令“Tools”→“Options”→“Attach Symbols”,选择ch1-1项目下的Symbols(符号表)进行符号显示匹配,然后单击Insert Vertical Bit图标,插入两个按位垂直排列的字节变量,并分别输入字节地址IB0和QB0。

CPU仿真模块有RUN、STOP和RUN-P共3种工作模式:在RUN模式下,仿真器只能运行程序,而不能下载程序;在STOP模式下只能下载程序,而不能运行程序;在RUN-P下可下载程序,下载完成后自动切换到运行模式。因此,在下载PLC硬件信息及控制程序之前,需要将CPU的工作模式开关放到STOP或RUN-P模式。

在PLCSIM窗口的“PLC”菜单中选择“MPI Address”命令,设定PLC仿真器的MPI地址与硬件组态中CPU的MPI地址相同。

2.下载PLC硬件信息

在确认PLC与PC已经连接,且PG-PC接口设置与所用连接相匹配后,即可进行PLC硬件信息的下载。

在SIMATIC Manager的左视窗内,单击工作站图标,然后在右视窗内双击硬件配置图标打开PLC硬件配置窗口。单击下载工具图标,则弹出“Select Target Module(选择目标模块)”对话框。单击“Select All”按钮,再单击“OK”按钮,则弹出“Select Node Address(选择节点地址)”对话框。单击“View”按钮,则会在“Accessible Nodes”(可访问节点)视窗内列出所有可访问的节点地址,选择节点地址如图2-41所示。选中需要下载的节点,然后单击“OK”按钮进行下载,同时将显示下载进度对话框。下载完成后该对话框自动关闭。

图2-41 选择节点地址

3.下载PLC控制程序

在SIMATIC Manager的左视窗内,单击程序块图标,然后在右视窗内选择要下载的程序块(本例为OB1和FC1),再单击下载工具图标进行下载。

4.调试PLC控制系统

在PLCSIM仿真窗口内,将CPU模式开关切换到RUN模式,表2-3所示为PLC起/停控制系统仿真调试的顺序。通过设置SB1、SB2的状态,可观察KA1的状态,KA1的状态不要人为设置。当位变量被勾选时,该变量为1,否则为0,如图2-42所示。

表2-3 PLC起/停控制系统仿真调试顺序

在仿真调试的同时还可以打开FC1程序块,在线监视程序的运行状况。在SIMATIC Manager的左视窗内,单击程序块图标,然后在右视窗内双击以打开FC1。单击工具栏中监视图标,通过操作PLCSIM窗口内变量的状态,可观察程序中元件状态的变化,在线监视程序如图2-42所示。其中绿色(实线)表示元件状态为1,或已形成能流回路;蓝色(虚线)表示元件状态为0,或未形成能流回路。

图2-42 在线监视程序