项目七 S7-300/400 PLC程序设计及调试
工作任务1 位逻辑指令应用
教学导航
任务目标
① 会设计简单的PLC控制程序。
② 会用PLCSIM软件进行仿真调试。
③ 会进行硬件接线和系统调试。
④ 掌握S7-300 PLC的指令和功能。
⑤ 掌握程序设计的方法和步骤。
⑥ 掌握程序调试的方法。
知识分布网络
任务分析
位逻辑指令是编程中最常用的指令形式,位逻辑指令使用两个数字1和0,对于触点和线圈而言,1表示已激活或已励磁,0表示未激活或未励磁。在本任务中通过四路抢答器控制、电动机正反转控制、风机运行状态监控、地下停车场车辆出入控制等程序的编写和调试,掌握S7-300位逻辑指令的应用。
知识链接
一、S7-300的数据类型与存储区
1.数制
二进制数能够表示两种不同的状态——0和1。在S7-300中,二进制数常用2#表示,例如2#10010010用来表示一个8位二进制数。在使用中,l状态和0状态也可以用TRUE和FALSE表示。
4位二进制数可以用1位十六进制数表示,使得计数更加简洁。十六进制数由0~9和A~F 16个数字符号组成。在S7-300中,十六进制数用B#16#、W#16#或DW#16#后面加十六进制数的形式表示,前面的字母B表示字节,例如B#16#7F。字母W表示字,例如W#16#35A8。字母DW表示双字,例如DW#16#25D9B60E。
2.数据类型
用户程序中的所有数据必须被数据类型识别。S7-300有以下三种数据类型。
① 基本数据类型。
② 复杂数据类型(用户可以通过组合基本数据类型创建)。
③ 参数类型(用来定义传送到FB或FC的参数)。
基本数据类型语句表、梯形图和功能块图指令使用特定长度的数据对象。例如位逻辑指令使用位。装载和传递指令(STL)以及移动指令(LAD和FBD)使用字节、字和双字。
3.存储区
在学习指令之前,要先了解有关PLC的存储区域的概念。不同品牌的PLC,梯形图指令均大同小异,但是,存储区的名字及地址的表示方法却差异很大。如图7-1所示是S7-300/400存储地址示意图。
图7-2所示是存储区域输入/输出映像区,西门子S7-300/400PLC的存储区域分为以下几种。
输入映像区(I或PI):开关量输入DI模块影射到I区,模拟量输入AI模块影射到PI区。输入映像区为只读区。
输出映像区(Q或PQ):Q区写入与之对应的开关量,输出DO模块;PQ区写入与之对应的模拟量,输出AO模块。Q区可读、写,PQ只写,不可读。
位存储区(M):又叫中间继电器,可读、写。
DB块:用户定义的数据块,必须先定义后使用,可读、写。
T区:定时器名。
C区:计数器名。
L区:这是局部数据区。上面提到的存储区都是全局数据区,所谓全局数据区,就是所有的程序(OB块、FC块、FB块)都可以访问,而且访问到的是同一个变量;局部数据区则不然,每个独立的OB块、FC块、FB块都有一个独立的L区,例如,OB1和FC1中都有L0.0,但它们却不是同一个变量。
图7-1 S7-300/400存储地址示意图
图7-2 输入/输出映像区
DB:数据块地址寄存器,DBX、DBB、DBW、DBD分别表示数据块的位、字节、字、双字。
在STEP 7的梯形图指令中,不同类型的常数的格式都有严格的规定。如byte、word和dword类型的常数,在输入时要以“16#”作为前缀,后面跟十六进制的数据;dint类型的数据在输入时要以“L#”作为前缀,后面跟十进制的数据;real类型的数据,在输入时,后面一定要带小数部分,如没有小数部分,则加上“.0”;计时器的时间常数则以“S5T#”为前缀,后面加上a H_bbM_ccS_dddMS(表示:几小时_几分_几秒_几毫秒),“S5T#2.5S”表示2.5秒。
STEP 7中的变量,从是否使用符号的角度,可以分为符号名变量和地址名变量。地址名变量是以存储区域名为前缀,后面紧跟代表二进制长度的B、W、D(分别代表字节、字和双字),然后是起始字节的地址;位的地址名变量是存储区域名,加上位所在的字节地址,加“.”,加上位的序号。例如:IB0、IW0、ID0、I0.0;QB0、QW0、QD0、Q0.0;MB0、MW0、MD0、M0.0;LB0、LW0、LD0、L0.0;DB1.DBX0.0、DB1.DBB0、DB1.DBW0、DB1.DBD0。
定时器变量名以T开头加上一个0~max之间的数字来表示,如T0、T1等。计数器变量名以C开头加上一个0~max之间的数字来表示,如C0、C1等。(注:max代表某型号的CPU所具有的最大定时器数。)建议大家尽量少用地址名变量,而使用符号名变量。符号名变量可以通过符号编辑器(symbol editor)来建立,也可以直接在使用了地址名变量后,用鼠标右键单击它,在弹出的快捷菜单中选择“编辑符号”命令,来建立符号。在STEP 7中,不仅可以为地址名变量建立符号名变量,还可以为组织块、功能块、功能、数据块建立符号名,并使用符号名来编写程序。一旦建立了符号名,在编写程序的过程中,系统会自动提示,以便用户正确输入变量。
L区的变量是局域变量,从程序进入该块到结束的过程中,局域变量是稳定的,当程序再次进入时,该局域变量的内容是不可知的,系统可能覆盖了它。除此之外,其他存储区域的变量为全局变量,组织块、功能块、功能均可访问它们,系统不会改变它们的内容。
二、位逻辑指令
STEP 7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。其中STL(语句表)、LAD(梯形图)及FBD(功能块图)是PLC编程的三种基本语言。
由于以上三种语言在STEP 7中可以相互转换,在介绍位逻辑指令时主要使LAD语言。在STEP 7的程序编辑器(STL、LAD、FBD)中,当切换到梯形图状况时,在编辑器左方的指令区可展开位逻辑指令,如图7-3所示。
位逻辑指令处理的对象为二进制位信号。位逻辑指令扫描信号状态“1”和“0”,并根据布尔逻辑对它们进行组合,所产生的结果(“l”或“0”)称为逻辑运算结果,存储在状态字RLO中。位逻辑指令包括触点与线圈指令、基本逻辑指令、置位和复位指令及跳变沿检测指令等。
1.触点指令
触点指令说明如表7-1所示。
图7-3 位逻辑指令展开图
表7-1 触点指令说明
续表
2.线圈指令
线圈指令说明如表7-2所示。
表7-2 线圈指令说明
续表
3.触发器指令
触发器指令说明如表7-3所示。
表7-3 触发器指令说明
三、梯形图与语句表的转换
在前面对位逻辑指令的介绍都是使用梯形图(LAD)指令,在STEP 7中,可以通过设置菜单将梯形图转换为语句表(STL)或功能块图(FBD),如图7-4所示。
语句表中用字母A和AN(And)表示逻辑“与”操作指令,A用于常开触点的串联,AN用于常闭触点的串联;字母O(Or)表示逻辑“或”操作指令,用于常开触点的并联;ON(Not Or)用于常闭触点的并联。如图7-5所示。
图7-4 梯形图与语句表的转换
图7-5 梯形图程序和转换的语句表程序
任务实施
子任务1 四路抢答器控制
一、控制要求
① 有4组进行抢答,抢答按钮为SB1~SB4,对应4个抢答指示灯为L1~L4。
② 主持人按钮为SB0,主持人按下SB0,所有指示灯复位。
③ 最先按下抢答按钮的组指示灯亮,其他后按下的组指示灯不亮。
二、I/O地址分配表
I/O地址分配表如表7-4所示。
表7-4 I/O地址分配表
三、硬件接线图
PLC硬件接线图如图7-6所示。
图7-6 PLC硬件接线图
四、硬件组态
① 硬件组态的基本步骤如图7-7所示。
图7-7 硬件组态的基本步骤
② 插槽配置的规则如下。
RACK(0):
插槽1:电源模板或为空。
插槽2:CPU模板。
插槽3:接口模板或为空。
插槽4~11:信号模板、功能模板、通信模板或为空。
RACK(1~3):
插槽1:电源模板或为空。
插槽2:为空。
插槽3:接口模板。
插槽4~11:信号模板、功能模板、通信模板(如为IM365,则该机架上不能插入CP模板)或为空。
组态的硬件必须与PLC导轨上的PLC元器件订货号相符合(订货号标识在元器件的下方),如图7-8所示。
1.启动SIMATIC管理器
图7-8 元器件订货号
启动时,双击桌面上的图标,可以打开SIMATIC管理器,如图7-9所示。
图7-9 SIMATIC管理器界面
2.新建一个项目
在启动的管理器界面中单击“新建”按钮中可以新建设一个项目,可在“名称”位置输入项目名称,单击“浏览”按钮可修改项目存储路径,如图7-10所示,设置完成后单击“确定”按钮。
图7-10 新建一个项目
3.插入一个SIMATIC 300站点
图7-11所示,插入一个SIMATIC 300站点。
图7-11 插入一个SIMATIC 300站点
4.组态S7-300机架
双击“硬件”图标,如图7-12所示,选择RACK-300下的Rail选项。
图7-12 组态S7-300机架
5.组态电源
在机架的1号槽中组态电源如图7-13所示。
图7-13 组态电源
6.组态CPU
2号槽添加CPU,如图7-14所示,硬件目录中的某些CPU型号有多种操作系统版本,在添加CPU时,CPU的型号和操作系统版本都要与实际硬件一致。
图7-14 组态CPU
如果需要扩展机架,则应该在IM-300目录下找到相应的接口模板,添加到3号槽。如无扩展机架,3号槽留空,如图7-15所示。
图7-15 接口模板
7.插入输入模块SM321
在4~11号槽中可以添加信号模板、功能模板、通信处理器等,如图7-16所示。
图7-16 组态输入模块SM321
8.插入输出模块SM322
插入输出模块SM322,如图7-17所示。
图7-17 组态输出模块SM322
模块地址可以是系统默认设定,也可以由用户来设定。取消选中“系统默认”复选框,在地址栏中输入数字0,表示输入起始地址为0。
双击图7-18中的“DO32×DC24V/0.5”选项,就会显示如图7-19所示的开关量输出属性。
图7-18 更改DO地址
在弹出的对话框中,取消选中图7-19中“系统默认”复选框,将“开始”文本框中的4改为0,单击“确认”按钮。
注意:模块地址是软件编程的前提。
9.项目结构图
单击工具栏上的“保存”和“编译”按钮可得到STEP 7 项目结构图。
项目是以分层结构保存对象数据的文件夹,包含了自动控制系统中所有的数据,如图7-20所示的左边是项目树形结构窗格。第一层为项目,第二层为站,站是组态硬件的起点。站的下面是CPU,“S7程序”文件夹是编写程序的起点,所有的用户程序均存放在该文件夹中。
图7-19 更改属性设置
图7-20 STEP 7项目结构图
单击“块”可显示OB1,双击OB1,就会显示如图7-21所示的“属性—组织块”对话框,选择LAD(梯形图),单击“确定”按钮后就可进入编程状态,如图7-22所示。
图7-21 “属性—组织块”对话框
图7-22 编程状态
五、编写梯形图程序
4组抢答器控制程序如图7-23所示。
图7-23 抢答器程序
六、程序的下载与上传
程序的下载是指将计算机(PC)中设计好的程序写入PLC;程序的上传是指将PLC中的程序读入编程计算机(PC)。不管是程序的下载还是程序的上传,均需要使计算机与PLC进行通信。下载方式有MPI、OP、以太网三种。MPI 方式适用于所有的S7-300/400 PLC,所有的PLC都带有MPI接口。DP方式适用于带有DP接口的PLC,如CPU 315-2DP。以太网方式适用于带有以太网口的PLC,如CPU315-2PN/DP,或者PLC上面带有以太网模块(如CP341-1)。
1.计算机与PLC的通信
计算机与PLC通信有三种连接方式。
(1) 在计算机中安装通信卡(如CP5511、CP5512、CP5611等)
CP5511:PCMOA TYPEⅡ卡,用于笔记本电脑编程和通信,具有网络诊断功能,通信速率最高可达12 Mbps。
CP5512:PCMOA TYPEⅡCardBus(32位)卡,用于笔记本电脑编程和通信,具有网络诊断功能,通信速率最高可达12 Mbps。上面两种通信卡价格相对较高。
CP5611:PCI卡,用于台式计算机编程和通信,具有网络诊断功能,通信速率最高可达12 Mbps,价格适中。
计算机通过通信卡与PLC通信,可对硬件和网络进行自动检测。该方式成本高,不推荐使用。
(2) 两者使用PC/MPI方式通信
如计算机带有串口(RS-232C接口,或称COM口),可使用PC/MPI适配器与PLC通信。
(3) PC Adapter(PC适配器)
一端连接到PC的USB口,另一端连接到CPU的MPI接口,它没有网络诊断功能,通信速率最高为1.5 Mbps,价格较低。
现计算机大多不带RS-232C接口,而用USB口作为基本接口,故目前常用该方式进行计算机与PLC通信。
目前很多的笔记本电脑不再提供串口,但如果只有RS-232 PC-Adapter适配器时,建议购买USB PC-Adapter适配器,也可以使用从市场上购买的USB转RS-232的转换器来连接RS-232PC-Adapter适配器,如图7-24所示。
① 要使用PC适配器与PLC连接,必须在计算机中安装该适配器的驱动程序(PC Adapter USB)。
② 驱动程序安装好后,用PC适配器将计算机的USB接口与CPU模块的MPI接口连接起来。
图7-24 PC适配器
③ 通信设置。在STEP 7中进行通信设置,在SIMATIC Manager窗口中执行“选项”→“设置PG/PC接口”命令,选择其中的“PC Adapter(MPI)”选项,再单击“属性”按钮,弹出如图7-25所示的对话框,这里保持默认设置,单击“本地连接”选项,将连接端口设为USB,确定后设置生效。
图7-25 通信设置
注意:
① 如果选择与CPU相连的是PROFIBUS接口,此时S70NLINE(STEP 7)为PCAdapter(PROFIBUS),单击该按钮,设置PROFIBUS和串口的属性。
② 如果在使用PC Adapter连接CPU的MPI口或DP口时不知道CPU口的波特率,此时没有办法按照前面的介绍设置MPI口或是DP口的波特率,可以在“PG/PC Interface”中选择S70NLINE (STEP 7)为PC-Adapter(Auto),如图7-26所示。
图7-26 设置PG/PC接
2.下载硬件组态与程序
下载方式有如下几种。
① 选择Options选项→Set PG/PC interface选项,然后选择PC Adapter(MPI)/(Auto)或CP5611(MPI)/(Auto)选项,因为PLC的DP接口没有初始化,而MPI接口默认地址2,波特率为187.5 KB/s。
② 如果是通过DP接口,就在Set PG/PC接口处选择PC Adapter(PROFIBUS),不过PC Adapter(Auto)是通用的、自动的,最保险。如果计算机上安装了CP5611等网卡的话就选择相对应的选项CP5611(DP)即可。
③ 通过以太网或PN口下载。直接通过TCP/IP或ISO的方式即可,具体做法是可以通过STEP 7的Edit-Edit ethernet node-Browse搜索CP或CPU的集成PN口,在线分配IP地址后就可以直接以TCP/IP的方式进行下载。在STEP 7-Options-Set PG/PC接口中将S7ONLINE (STEP 7)指向ISO Ind.Ethernet,即本机网卡。
设置好PC/PG接口后就可下载硬件组态和程序。
下载整个站点:如果要将整个STEP 7的某个S7-300站点内容(程序块OB和硬件组态信息等系统数据)下载到CPU,应选中项目窗口中的某个站点,然后执行“PLC”→“下载”命令,如图7-27所示;也可在某站点上单击鼠标右键,在弹出的快捷菜单中选择“PLC”→“下载”命令,如图7-28所示;还可以在选中某个站点后直接单击工具栏上的工具,同样也可将整个站点内容下载到CPU中,如图7-29所示。
图7-27 执行菜单命令下载整个站点
图7-28 单击鼠标右键下载整个站点
图7-29 单击工具栏下载整个站点
下载程序块:如果仅下载项目中的某个(或某些)程序块,可选中该程序块,单击鼠标右键,在弹出的快捷菜单中选择“PLC”→“下载”命令,如图7-30所示,即可将选中的程序块下载到CPU中,下载程序块也可使用前面介绍的菜单命令或下载工具。
图7-30 下载程序块
3.程序的上传
如果要编辑某站点CPU中的程序,可以先将CPU中的程序读入STEP 7中,然后进行编辑,再重新下载到CPU。将CPU模块中的程序读入STEP 7中方法是:在SIMATIC Manager窗口执行“PLC”→“将站点上传到PG”命令,如图7-31所示,弹出“选择节点地址”对话框,在“目标站点”选项组中选中“本地”单选按钮,单击“显示”按钮,选择CPU后再确定,就会将该CPU中的内容上传到STEP 7中,在SIMATIC Manager窗口会自动插入一个站点名称,并且包含硬件组态和程序目录,选择该站点的硬件或程序,即可更改硬件或程序。
图7-31 程序上传
七、程序调试
程序下载到机架的CPU后,将CPU模块的工作模式开关切换到RUN模式,然后操作各个按钮,观察是否满足控制要求,如不满足,可对硬件系统和程序进行检查、修改。
子任务2 电动机正反转控制
一、控制要求
某送料机的控制由一台电动机驱动,其往复运动采用电动机正转和反转来完成,正转完成送料,反转完成取料,由操作台控制。
电动机在正转运行时,按反转按钮,电动机不能反转;只有按停止按钮后,再按反转按钮,电动机才能反转运行。同理,在电动机反转时,也不能直接进入正转运行。
二、I/O地址分配表
I/O地址分配如表7-5所示。
表7-5 I/O地址分配表
三、硬件接线图
本方案选择的CPU为CPU313C-2DP,是紧凑型CPU,它集成了数字量输入(DI16)/数字量输出(DO16)和一个PROFIBUS-DP的主站/从站通信接口。硬件接线图如图7-32所示。
图7-32 硬件接线图
四、硬件组态
图7-33所示为硬件配置,从配置文件中找到送料机PLC所需要的RACK(机架)、PS-300(电源)和CPU 300依次进行添加。
图7-33 硬件组态
五、定义符号地址
在前面项目编写的梯形图中,元件的地址采用字母和数字表示,如I0.0、Q0.1等。这样不容易读懂程序,尤其是工程比较复杂,程序比较多的情况下,如果采用中文符号定义元件地址更加直观方便,使程序的可读性、可维护性大大增强。符号表主要是针对I、Q、PI、PQ、M这几个存储区域,还包括FC、FB、DB块,这些块的符号可以在“插入”时,通过对象属性对话框输入符号。
STEP 7的符号编辑器具有定义符号地址的功能。在SIMATIC Manager左侧窗格中单击“S7程序”,在窗格右侧出现“符号”图标,如图7-34,双击该图标,会打开符号编辑器,如图7-35所示。
图7-34 “符号”图标
图7-35 符号编辑器
在符号编辑器的第二行表格的符号列输入“停止按钮”,在地址列输入“I0.0”,在数据类型列会自动生成“BOOL”。同理输入其他符号及地址,如图7-36所示。
图7-36 编辑符号及地址
六、梯形图程序
电机正反转PLC梯形图程序如图7-37所示。
图7-37 电动机正反转梯形图
七、下载程序并调试
程序下载到机架的CPU后,将CPU模块的工作模式开关切换到RUN模式,然后操作各个按钮,观察是否满足控制要求,如不满足,可对硬件系统和程序进行检查、修改。
子任务3 风机运行状态监控
一、控制要求
在实际工作中,需要对设备的工作状态进行监控,某设备有三台风机进行散热降温,当设备处于运行状态时,三台风机正常转动,则指示灯常亮;如果风机有两台转动,则指示灯以2 Hz的频率闪烁;如果仅有一台风机转动,则指示灯以0.5 Hz的频率闪烁;如果没有任何风机转动,则指示灯不亮。
二、I/O地址分配表
I/O地址分配如表7-6所示。
表7-6 I/O地址分配
三、硬件接线图
硬件接线如图7-38所示。
图7-38 硬件接线图
四、梯形图程序
PLC程序梯形图如图7-39所示。
图7-39 PLC程序梯形图
输入位I0.0、I0.1、I0.2分别表示1号风机、2号风机、3号风机,存储位M100.3为2 Hz的频率信号,M100.7为0.5 Hz的信号,风机转动状态指示灯由Q0.0控制,存储位M10.1为1时用于表示有三台风机转动,M10.0为1时表示有两台风机转动。
存储位M100.3、M100.7频率信号可在硬件中通过双击CPU 313C-2 DP,在周期/时钟存储器中设定,如图7-40所示。
图7-40 存储位设置
五、程序调试
集成在STEP 7中的S7-PLCSIM是S7-300/400中功能强大、使用方便的仿真软件,它可以代替PLC硬件来调试用户程序。
安装S7-PLCSIM后,SIMATIC管理器工具栏上的按钮由灰色变为深色,如图7-41所示,单击该按钮,打开S7-PLCSIM后,会弹出如图7-42所示对话框,单击“确定”按钮,弹出如图7-43所示对话框,选择“MPI”站点后,单击“确定”按钮,自动建立了STEP 7与仿真CPU的MPI连接,打开仿真界面如图7-44所示。
图7-41 打开仿真器
图7-42 “打开项目”对话框(www.xing528.com)
图7-43 选择站点
图7-44 仿真界面
单击仿真界面中的按钮插入输入变量和输出变量。
打开仿真界面后,在STOP状态下,选中SIMATIC管理器中的OB1块,单击工具栏上的下载按钮,将OB1块和系统数据下载到仿真PLC中,而后单击OB1编辑界面上工具栏上的图标,接着在仿真界面上的CPU窗口中,将工作模式转换为RUN运行状态,可观测到程序运行情况,如图7-45所示。
图7-45 运行仿真程序
子任务4 地下停车场车辆出入控制
一、控制要求
在地下停车场的出入口处,同时只允许一辆车进出,在进出通道的两端设置有红绿灯,如图7-46所示。光电开关I0.0和I0.1用来检测是否有车经过,光线被车遮住时,I0.0或I0.1为1状态,有车出入通道时(光电开关检测到车的前沿),两端的绿灯灭,红灯亮,以警示双方后来的车辆不能进入通道。车离开通道时,光电开关检测到车的后沿,两端的绿灯亮,红灯灭,其他车辆可以进入通道。
二、I/O地址分配表
图7-46 地下停车场的出入口示意图
I/O地址分配如表7-7所示。
表7-7 I/O地址分配
三、定义符号地址
符号地址表如图7-47所示。
图7-47 符号地址表
四、梯形图程序
PLC程序梯形图如图7-48所示。
五、使用变量表程序调试
1.新建变量表
在SIMATIC管理器界面右侧右击,打开快捷菜单,选择“插入新对象”→“变量表”命令,如图7-49所示。
2.设置变量属性表
在如图7-50所示“属性-变量表”对话框中进行设置后;单击“确定”按钮,则在管理器界面右侧窗格中出现变量表的图标,如图7-51所示。
图7-48 PLC程序梯形图
图7-49 新建变量表
图7-50 “属性-变量表”对话框
图7-51 变量表图标
3.编辑变量表
双击变量表图标打开变量表,将地址输入到变量表中,则变量表的符号会按照设置自动填入,如图7-52所示。
图7-52 编辑变量表
4.调试程序
如果仿真PLC运行在RUN模式,在“修改数值”列输入PLC时,将会出现“(DOA1)功能在当前保护级别中不被允许”的对话框,必须将仿真PLC切换到RUN-P模式,才能修改PLC中的数据,如图7-53所示。
图7-53 调试程序
技能训练
多台电动机单个按钮控制
通常一个电路的启动和停止控制是由两个按钮分别完成的。当一个PLC控制多个这种需要启、停操作的电路时,将占用很多的I/O资源。一般PLC的I/O点是按3:2的比例配置的。由于大多数被控系统是输入信号多,输出信号少,有时在设计一个不太复杂的控制系统时,也会面临输入点不足的问题,因此用单按钮实现启、停控制的意义很重要。
一、控制要求
设某设备有两台电动机,要求用PLC实现两个按钮同时对两台电动机的控制。具体要求如下。
① 第1次按动按钮时,只有第1台电动机工作。
② 第2次按动按钮时,第1台电动机停车,第2台电动机工作。
③ 第3次按动按钮时,两台电动机同时停车。
分析思路如下。
要用逻辑指令实现两台电动机的单按钮启、停控制,必须为每次操作设置一个状态标志。本次操作中该状态标志必须为l,而其他状态标志必须为0。
第1次按操作按钮之前,两台电动机都处于停机状态,对应接触器KM1和KM2的常开触点闭合,因此可用KM1和KM2的常闭触点设置状态标志Fl。
第2次按操作按钮之前,第1台电动机处于工作状态,第2台电动机处于停机状态,对应接触器KM1的常开触点闭合,KM2的常闭触点闭合,因此可用KM1的常开触点和KM2的常闭触点设置状态标志F2。
第3次按操作按钮之前,第1台电动机处于停机状态,第2台电动机处于工作状态。
二、训练要求
① 列I/O分配表。
② 画PLC的I/O接线图。
③ 根据控制要求设计梯形图。
④ 运行、调试程序。
⑤ 汇总整理文档。
三、技能训练考核标准
技能训练评价表
工作任务2 定时器指令、计数器指令应用
任务目标
① 掌握各种定时器的结构和定时原理。
② 掌握各种计数器的结构和计数原理。
③ 会画定时器和计数器的时序图。
④ 掌握定时器和计数器的综合应用。
任务分析
在工业生产的控制任务中,经常需要各种各样的定时器和计数器,如电动机的星形启动经延时后转换到三角形运行;锅炉引风机和鼓风机控制是首先启动引风机延时后才能启动鼓风机;停车场车位的控制要用到计数器;经常需要用到定时器和计数器配合实现送料小车的控制。
知识链接
一、定时器
S7-300/400 PLC有以下5种定时器。
●S_PULSE(脉冲定时器)。
●S_PEXT(扩展脉冲定时器)。
●S_ODT(接通延时定时器)。
●S_ODTS(保持型接通延时定时器)。
●S_OFFDT(断电延时型定时器)。
定时器的指令有两种形式:块图指令和线圈指令[如S_ODT 和(SD)],如图7-54所示。
图7-54 定时器指令的两种形式
下面对定时器的输入/输出端做简单的介绍。
① S端:启动端,当0到1的信号变化作用在启动输入端(S)时,定时器启动。
② R端:复位端,作用在复位输入端(R)的信号(1有效)用于停止定时器。当前时间被置为0,定时器的触点输出端(Q)被复位。
③ Q端:触点输出端,定时器的触点输出端(Q)的信号状态(0或1),取决于定时器的种类及当前的工作状态。
④ TV端:设置定时时间,定时器的运行时间设定值由TV端输入。
⑤ 时间值输出端:定时器的当前时间值可分别从BI输出端和BCD输出端输出。BI输出端输出的是不带时基的十六进制整数格式的定时器当前值,BCD输出端输出的是BCD码格式的定时器当前时间值和时基。
SIMATIC S7系列PLC为用户提供了一定数量的具有不同功能的定时器。如CPU 314提供了128个定时器,分别是从T0到T127。
系统时间格式:时间值设定可以使用下列格式预装一个时间值。
① 十六进制数:W#16#wxyz,其中的w是时间基准,w和时基的关系如表7-8所示。xyz是BCD码形式的时间值。
表7-8 W与时基的关系
如W#16#3999,定时时间为:999 × 10 s=9 990 s。
W#16#1100,定时时间为:100 × 0.1 s=10 s。
② S5T#ah_bm_cs_dms:h是小时,m是分钟,s是秒,ms是毫秒;a、b、c、d由用户定义,时基是CPU自动选择,时间值按其所取时基取整为下一个较小的数。可以输入的最大值是9 990 s,或2h_46m_30s。
例如:S5T#100s、S5T#10ms、S5T#2ms、S5T#1h2m3s等。
定时器字的位12和位13包含二进制码的时基。时基可定义时间值递减的单位间隔。最小时基为10 ms;最大时基为10 s,如表7-8所示。
1.脉冲定时器
I0.0提供的启动输入信号S的上升沿,脉冲定时器开始定时,输出Q4.0变为1。定时时间到,当前时间值变为0,Q输出变为0状态。在定时期间,如果I0.0的常开触点断开,定时停止,当前值变为0,Q4.0的线圈断电。
t为定时器的预置值,R是复位输入端,在定时器输出为l时,如果复位输入I0.1由0为1,定时器被复位,复位后输出Q0.4变为0状态,当前时间值被清0。
SP_PULSE脉冲定时器指令及时序图如图7-55所示。
2.扩展脉冲定时器
启动输入信号S的上升沿,脉冲定时器开始定时,在定时期间,Q输出端为l状态,直到定时结束。在定时期间即使S输入变为0状态,仍继续定时,Q输出端为l状态,直到定时结束。在定时期间,如果S输入又由0变为1状态,定时器被重新启动,开始以预置的时间值定时。
图7-55 SP_PULSE脉冲定时器指令及时序图
(a)块图指令;(b)线圈指令;(c)时序图
R输入由0变为l状态时,定时器被复位,停止定时。复位后Q输出端变为0状态,当前时间被清0。
S_PEXT扩展脉冲定时器指令及时序图如图7-56所示。
图7-56 S_PEXT扩展脉冲定时器指令及时序图
(a)块图指令;(b)线圈指令;(c)时序图
扩展脉冲定时器(SE)线圈的功能和S5扩展脉冲定时器的功能相同,定时器位为l时,定时器的常开触点闭合,常闭触点打开。
3.接通延时定时器
接通延时定时器是使用的最多的定时器,启动输入信号S的上升沿,定时器开始定时。如果定时期间S的状态一直为l,定时时间到时,当前时间值变为0,Q输出端变为1状态,使Q4.0的线圈通电。此后如果S输入由l变为0,Q输出端的信号状态也变为0。
在定时期间,如果S输入由1变为0,则停止定时,当前时间值保持不变,S又变为l时,又以预置值开始定时。
R是复位输入信号,定时器的S输入为l时,不管定时时间是否已到,只要复位输出R由0变为l,定时器都要被复位,复位后当前时间被清0。如果定时时间已到,复位后输出Q将由l变为0。
接通延时定时器(SD)线圈的功能和S_ODT接通延时定时器的功能相同,定时器位为1时,定时器的常开触点闭合,常闭触点打开。如图7-57所示是接通延时定时器指令及时序图。
4.保持型接通延时定时器
启动输入信号S的上升沿到来时,定时器开始定时,定时期间即使输入S变为0,仍继续定时,定时时间到时,输出Q变为l并保持。在定时期间,如果输入S又由0变为1,定时器被重新启动,又从预置值开始定时。不管输入S是什么状态,只要复位输入R从0变为1,定时器又被复位,输出Q变为0。S_ODTS保持型接通延时定时器如图7-58所示。
图7-57 接通延时定时器指令及时序图
(a)块图指令;(b)线圈指令;(c)时序图
图7-58 S_ODTS保持型接通延时定时器指令及时序图
(a)块图指令;(b)线圈指令;(c)时序图
5.断开延时定时器
启动输入信号S的上升沿,定时器的Q输出信号变为1状态,当前时间值为0。在输入S下降沿,定时器开始定时到定时时间时,输出Q变为0状态。
定时过程中,如果S信号由0变为1,定时器的时间值保持不变,停止定时。如果输入S重新变为0,定时器将从预置值开始重新启动定时。
复位输入I1.1为1状态时,定时器被复位,时间值被清零,输出Q变为0状态。S_ OFFDI断开延时定时器如图7-59所示。
图7-59 S_OFFDI断开延时定时器指令及时序图
(a)块图指令;(b)线圈指令;(c)时序图
二、计数器
S7-300/400 PLC的计数器有以下三种类型。
① S_CU(加计数器)。
② S_CD(减计数器)。
③ S_CUD(加减计数器)。
S7-300/400 PLC的计数器有256个(0~255),计数范围是0~999。当计数上限达到999时,累加停止;计数值达到下限0时,将不再减少。
1.加法计数器
加法计数器的指令格式如图7-60所示。
① C×为计数器的编号。
② CU为加计数器的输入端,该端每出现一个上升沿,计数器自动加1,当计数器的当前值为999时,计数值保持为999,加1操作无效。
③ S为预置信号输入端,该端出现上升沿时,将计数初值作为当前值。
④ PV为计数初值输入端,初值的范围为0~999。可通过字(如MW0等)为计数器提供初值,也可直接提供数值,如C#10、C#999。
⑤ R为计数器复位输入端,任何情况下,只要该端出现上升沿,计数器马上复位,复位后当前值为0,输出状态为0。
⑥ CV为以整数形式输出计数的当前值,如16#0012,该端可以连接各种字存储器,如MW0、IW2、QW0,也可以悬空。
⑦ CV_BCD以BCD码形式输出计数器的当前值,如C#123,该端可以接各种字存储器,如MW0、IW2、QW0,也可以悬空。
⑧ Q为计数器状态输出端,只要计数器的当前值不为0,计数器的状态就为1,该端可以连接位存储器,如Q1.0、M1.2,也可以悬空。图7-61所示是加法计数指令使用的例子。
图7-60 加法计数器的指令格式
图7-61 加法计数指令使用时序图
(a)加法计数器的使用;(b)时序图
图7-62 减法计数器指令格式
2.减法计数器
减法计数器的指令格式如图7-62所示。
减法计数器的各引脚定义与加法计数器基本一致,只是计数脉冲的输入变为CD,S端出现上升沿时,将计数初值作为当前值。CD端上升沿时,如当前值大于0时做减1计数。如当前值不为0,输出状态为1;当减法计数值变为0时,输出状态为0。
图7-63所示是减法计数指令使用的时序图。
图7-63 减法计数指令使用时序图
(a)减法计数器使用;(b)时序图
图7-64 加/减计数器指令格式
3.加/减计数器
加/减计数器指令格式如图7-64所示。
加/减计数器的各个引脚与前面的加计数器和减计数器基本一致,计数初值在S端的上升沿装载到计数器字中,在CU的上升沿进行加法计数,在CD的上升沿进行减法计数,Q端的输出与加法计数和减法计数相同。
图7-65所示是加/减法计数指令使用时序图。
图7-65 加/减法计数指令使用时序图
(a)加/减计数器使用;(b)时序图
4.线圈形式的计数器
除了前面介绍的块图形式的计数器以外,还有用线圈形式表示的计数器,这些计数器有计数初值预置指令SC、加计数指令CU、减计数指令CD,如图7-66所示。
图7-66 线圈形式的计数器
(a)初始预置指令;(b)加计数指令;(c)减计数指令
计数初值预置指令SC若与加计数指令CU配合可实现S_CU的功能;计数初值预置指令SC若与减计数指令CD配合可实现S_CD的功能;计数初值预置指令SC若与加计数指令CU和减计数指令CD配合可实现S_CUD的功能,如图7-67所示。
图7-67 加/减计数梯形图
(a)加计数;(b)减计数;(c)加/减计数
任务实施
子任务1 多级皮带运输系统PLC控制
一、控制要求
某传输线由三条传送带A、B、C组成,分别由电动机M1、M2、M3拖动,如图7-68所示为三条传送带的时序图,要求如下。
① 按A→B→C顺序启动。
② 停止时按C→B→A逆序停止。
③ 若某传送带的电动机出现故障,该传送带电动机前面的皮带电动机立即停止,后面的传送带电动机依次延时5 s后停止。
图7-68 传送带的运输系统及时序图
(a)多级皮带运输系统;(b)时序图
二、I/O分配
I/O分配表如表7-9所示。
表7-9 I/O分配表
三、硬件接线图
PLC硬件接线如图7-69所示。
图7-69 PLC硬件接线图
四、梯形图
PLC程序梯形图如图7-70所示。
图7-70 PLC程序梯形图
图7-70 PLC程序梯形图
子任务2 停车场车位计数控制
一、控制要求
图7-71所示,某地下停车场有100个车位,其入口处与出口处各有一个接近开关,以检测车辆的进入与驶出。当停车场尚有车位时,入口处的栏杆才可以将门打开,车辆可以进入停车场停放。若停车场车位未满,则使用指示灯表示尚有车位;若停车场车位已满,则有一个指示灯显示车位已满,并且入口处的栏杆不能将门打开让车辆进入。
图7-71 地下停车场示意图
二、I/O分配
PLC的I/O 分配表如表7-10所示
表7-10 I/O 分配表
三、硬件接线图
PLC接线图如图7-72所示。
图7-72 PLC接线图
四、梯形图
PLC程序梯形图如图7-73所示。
图7-73 PLC程序梯形图
子任务3 运货小车控制
一、控制要求
图7-74是运货小车运动示意图,当按下启动按钮后,小车在A 地等待1 min进行装货,然后向B 地前进,到达B地停止,2 min卸货,卸货后再返回A地停下,等待1 min又进行装货,然后向C地前进(途经B地不停,继续前进),到达C地停止,3 min卸货,卸货后再返回A地停下(A、B、C三地各设有一个接近开关)。
图7-74 运货小车运动示意图
二、I/O分配表
由控制要求分析可知,该设计需要5个输入和2个输出,其I/O分配表如表7-11所示。
表7-11 I/O分配表
三、硬件接线图
图7-75所示是PLC的硬件接线图。
图7-75 PLC的硬件接线图
四、梯形图
小车到达A地、B地、C地是分别用SQ1、SQ2、SQ3来定位,由于小车在第一次到达B地要改变运行方向,第二次、第三次到达B地时不需改变运行方向,可利用计数器的计数功能来决定是否改变运行方向,设计的PLC程序梯形图如图7-76所示。
图7-76 PLC程序梯形图(一)
图7-76 PLC程序梯形图(二)
思考练习题
7-1 使用置位指令复位指令,编写两套程序,控制要求如下。
① 启动时,电动机M1先启动,电动机M1启动后,才能启动电动机M2;停止时,电动机M1、M2同时停止
图7-77 7-2题图
② 启动时,电动机M1、M2同时启动;停止时,只有在电动机M2停止后,电动机M1才能停止。
7-2 用S、R和跃变指令设计出如图7-77所示波形图的梯形图。
7-3 画出如图7-78所示程序的Q0.0的波形图。
图7-78 7-3题图
(a)梯形图;(b)时序图
7-4 用PLC设计多重输入电路的梯形图。
要求:I0.0、I0.1闭合,I0.0、I0.3闭合,I0.2、I0.1闭合,I0.2、I0.3闭合皆可使Q0.0接通。
7-5 用PLC设计保持电路梯形图
要求:将输入信号加以保持记忆。
当I0.0接通一下,辅助继电器M0.0接通并自保持,Q0.0有输出,停电后再通电,Q0.0仍然有输出。只有I0.1触点断开,才使M0.0自我保持消失,使Q0.0无输出。
7-6 用PLC设计优先电路的梯形图。
要求:若输入信号I0.1或输入信号I0.2中先到者取得优先权,Q0.0有输出,后到者无效。
7-7 用PLC设计比较电路的梯形图。
该电路预先设定好输出的要求,然后对输入信号I0.1和输入信号I0.2作比较,接通某一输出。
I0.1、I0.2同时接通,Q0.1有输出。
I0.1、I0.2皆不接通,Q0.2有输出。
I0.1不通、I0.2接通,Q0.3有输出。
I0.1接通、I0.2不接通,Q0.4有输出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。