项目17柔性自动线立体仓库站控制.doc_第1页
项目17柔性自动线立体仓库站控制.doc_第2页
项目17柔性自动线立体仓库站控制.doc_第3页
项目17柔性自动线立体仓库站控制.doc_第4页
项目17柔性自动线立体仓库站控制.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目17 柔性自动线立体仓库站控制(S7-300PLC结构化编程)一、学习任务单柔性自动线立体仓库站的控制(S7-300PLC的结构化编程)的学习任务单见表5-27。表5-27 “柔性自动线立体仓库站的控制(S7-300PLC结构化编程)”学习任务单单元五西门子S7-300PLC中型机的应用(柔性自动线控制)学时24项目17柔性自动线立体仓库站的控制(S7-300PLC的结构化编程)学时6工作任务RS-M02柔性自动线立体仓库站的控制学习项目S7-300PLC的结构化编程项目描述是S7-300PLC结构化程序设计方法的典型工作项目。用S7-300PLC实现自动线立体仓库站的控制,掌握S7-300PLC的相关功能块及结构化程序设计方法。控制要求是:立体仓库站共有20个工位。载料台由X轴步进电机与Y轴步进电机两个步进电机驱动,能够进行X轴方向与Y轴方向的移动;载料台的伸出取件与缩回是由汽缸驱动;每个工位在立体仓库站的位置由行与列两个光电传感器来定义。当确定要取要取的零件位置后,载料台在步进电机驱动下进行运动,当运动到指定位置后,载料台伸出去取件,取件完成后,载料台在X轴与Y轴步进电机的驱动下,进行回原点运动。回到原点后,等待柔性自动线的传输站的机械手把取到的零件取走,则一个取件工作就完成了。学习要求是:在项目的进行过程中,了解立体仓库站的结构组成与工作过程、学会S7-300结构化程序设计方法,学会根据需要设置FC和FB的参数,学会设置SFB49来控制步进电机;学会用PLCSIM软件进行项目的运行与调试,最后完成整个立体仓库站的运行。学习目标知识1.明确结构化编程的原理;2.明确块的分类与作用;3.明确块的结构与参数设置;4.明确SFB49参数设置的含义及使用方法。能力1.熟练使用STEP7 V5.3软件;2.掌握结构化编程的设计方法;3.会根据电气原理图与气动原理图进行PLCI/O地址分配;4.能够根据控制要求编写控制程序和输入程序;5.会使用PLCSIM软件调试程序。素质1.学习活动中态度积极,有团队精神;2.能够借助于软件的帮助系统,具有自主学习能力;3.调试过程中,严谨、细致;4.现场操作行为规范,符合5S管理要求。项目进程要求1.学习S7-300的结构化编程1.明确块的概念与分类;2.明确FC与FB的结构与参数设置;3.明确结构化程序设计方法;4.明确SFB49的使用。2.分析立体仓库站的结构组成与工作过程1.了解立体仓库站的结构组成;2.理解立体仓库站的工作过程;3.完成立体仓库站的I/O地址分配。3. 设计立体仓库站控制功能图画出立体仓库站控制功能图。4.编写立体仓库站控制程序1. 根据流程图设计控制程序;2. 按照S7-300PLC系统的硬件要求完成组态;3.正确输入程序;4.保存下载控制程序。5.完成立体仓库站的调试与运行1.用PLCSIM进行仿真;2.观察仿真结果是否满足控制要求;3.系统进行运行与调试。教学资源设施条件:1.RS-M02柔性自动线立体仓库站;2.计算机;3.STEP7V5.3软件和PLCSIM软件;4.西门子S7-300PLC;5.S7-300PLC用户手册;6.任务单、工作记录单、考核表等。学生已有基础(课前准备):1.S7-300PLC的知识;2.S7-300PLC程序设计的基本能力;3.气动系统基本知识;4.位置检测基本知识;5.课代表及学习小组。二、实务知识S7-300PLC结构化编程1S7-300程序结构为了容易阅读和理解,在编程中常常将程序分为若干部分。每个程序部分具有其技术和功能基础,称之为块。块是程序中真正有用的部分,包括用户块和系统块。它们在功能、使用方法和结构上各个不同。(1)用户块根据逻辑功能的不同,用户块分为组织块(OB,Organize Block),功能块(FB,Function Block),功能(FC,Function)和数据块(DB,Data Block)。1)组织块(OB)OB是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。见图5-52。各种组织块由不同的时间启动,具有不同的优先级,而循环执行的主程序则在组织块OB1中。OB100为初始化程序块,0B10OB17为日期时间中断组织块,0B20OB23为延时中断组织块,OB30OB38为循环中断组织块,OB40OB47为硬件中断组织块,OB80OB82为异步错误组织块(时间错误,电源故障处理,诊断中断),OB86为机架故障组织块等等。2)功能(FC)和功能块(FB)FC和FB都是用户自己编写的程序块,用户可以将具有相同控制过程的程序编写在FC或FB中,然后在主程序OB1或其他程序块中(包括组织块和功能、功能块)调用FC或FB。 FC或FB相当于子程序的功能,都可以定义自己的参数。 图5-52 组织块的编程3)数据块DB数据块分为背景数据块和共享数据块。背景DB是和某个FB或SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致。共享DB的主要目的是为用户程序提供一个可保存的数据区,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义。需要说明的是,背景DB和共享DB没有本质的区别,它们的数据可以被任何一个程序块读写。 (2)系统块系统块包含在操作系统中,包括:SFC(System Function),SFB(System Function Block),SDB(System Data Block) 。SFC和SFB是预先编好的可供用户调用的程序块,它们已经固化在S7PLC的CPU中,其功能和参数已经确定。一台PLC具有哪些SFC和SFB功能,是由CPU型号决定的。具体信息可查阅CPU的相关技术手册。通常SFC和SFB提供一些系统级的功能调用,如通讯功能、高速处理功能等。注意:在调用SFB时,需要用户指定其背景数据块(CPU中不包含其背景数据块),并确定将背景数据块下载到PLC中。(3)块的结构块是由变量声明表和程序组成。1)变量声明表变量声明表中放着参数(形参)。参数是在调用块和被调用块之间传递的数据,包括输入,输出和输入输出变量。变量声明表结构如图5-53。输入(IN):为调用逻辑块提供数据,输入给逻辑块.输出(OUT):从逻辑块中输出数据结果 输入/输出(IN/OUT):参数值可以输入,也可以输出。静态变量(STAT):存储于背景数据块中,块调用结束后,变量被保留 临时变量(TEMP):存储于堆栈中,块执行结束后,变量消失。 为了保证功能或功能块对同一类设备的通用性,在编程中不能使用实际对应的存储区 地址参数,而是使用抽象参数,也就是形参。图5-53功能FC和功能块FB的变量声明表2)FC和FB的变量声明表的差别:FC和FB参数赋值不同;FC没有自己的背景数据块;FB有自己的背景数据块;FC的参数必须指定实参;FB的参数可根据需要决定是否指定实参。2S7-300的程序设计方法S7-300程序设计方法主要有三种:线性化编程、模块化编程、结构化编程。见图5-54。图5-54 程序设计三种方法示意图(1)线性化编程线性化编程是将整个用户程序放在循环控制组织块OB1中,在CPU循环扫描时执行OB1中的全部指令。特点是结构简单。但由于所有的指令都在一个块中,结构不清晰,扫描时间过长。线性化编程示意图见图5-55。线性程序的结构简单,分析起来一目了然。这种结构适用于编写一些规模较小,运行过程比较简单的控制程序。 图5-55线性化编程 图5-56 模块化编程(2)模块化编程模块化编程是将程序根据功能分为不同的逻辑块,且每个逻辑块完成的功能不同。在OB1中可以根据条件调用不同的功能或功能块。其特点是易于分工合作,调试方便。由于逻辑块是有条件调用,所以可以提高CPU的利用效率。模块化程序结构见图5-56。分块程序有更大的灵活性,适用于比较复杂、规模较大的控制工程的程序设计。(3)结构化编程结构化编程是将控制要求中类似或相关的任务归类,在功能或功能块中编程,形成通用解决方案。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。特点是:编写通用模块,对不同的设备代入不同的地址和参数,使更多的设备或过程可以使用此通用模块,因此具有很高的编程和程序调试效率。程序结构层次清晰,标准化程度高。结构化编程结构见图5-57。结构化程序比分块程序有更大的灵活性,继承性。适用于比较复杂、规模较大的控制工程的程序设计。图5-57 结构化程序结构3结构化编程为了支持结构化编程,在操作系统中包含了用户程序和系统程序。其中用户程序中通常包括OB,FB,FC,DB。系统程序包括SFC,SFB,SDB。在块的调用中,调用者可以是各种的逻辑块,而被调用者是除OB块外的逻辑块。块的调用即为子程序的调用,块可以嵌套调用,嵌套的层数与CPU的型号有关。(1)FC的调用功能是用户编写的无固定存储区的块,它是不带记忆的逻辑块,即没有背景数据块。当完成操作后,数据不能保存。调用功能时,需用实参来代替形参。例1 控制要求是自动线有三台电机A,B,C需要分别控制。A电机:启动I0.0,停止I0.2,线圈Q0.0;B电机:启动I0.3,停止I0.4,线圈Q0.1;C电机:启动I0.5,停止I0.6,线圈Q0.2。采用FC调用的方法来实现控制要求。结构化编程步骤如下:这三台电机的运行方式是一样的,都是由一个按钮启动,一个按钮来停止。所以先设计一个电机运行的通用程序。在组态窗口插入一个FC,见图5-58。图5-58 插入一个FC双击FC1,进入编程环境,在变量声明表里设置形参,见图5-59。图5-59 FC1变量声明表及通用程序编写三台电机通用控制程序,保存下载,见图5-60。双击0B1,进入主程序编写环境。不同的电机用不同的实参来取代形参来调用FC1。见图5-60。图5-60 FC调用主程序(2)FB的调用功能块是用户编写的有固定存储区的块,它是带记忆的逻辑块,有一个数据结构与功能块参数表完全相同的数据块(BD),称为背景数据块。当功能块被执行时,数据块被调用,功能块结束,调用随之结束,存放在背景数据块中的数据在块结束以后,仍能继续保持,具有记忆功能。一个功能块可以有多个背景数据块,使功能块可以被不同的对象使用。例2 控制要求是自动线上有两台电机,A,B。按下I0.0,A 电机启动(Q0.0得电),运行3秒后 停止。按下I0.1,B 电机启动(Q0.1得电),运行5秒后 停止。任何时候按下急停按钮I0.2,两台电机全停。采用FB调用的方法来实现控制要求。结构化编程步骤如下:在组态窗口插入一个FB,见图5-61。图5-61 插入FB双击FB1,进入编程环境,在变量声明表里设置形参。见图5-62。图5-62 FB1变量声明表及通用程序设计编写两台电机通用控制程序,保存下载。见图5-62。双击0B1,进入主程序编写环境。不同的电机用不同的实参来取代形参来调用FB1。见图5-63。因为在调用FB1时,需要背景数据块,背景数据块会自动生成。在调试运行时,注意别忘了将背景数据块下载。见图5-64。图5-63 “FB调用”的主程序图5-64 下载背景数据块4S7-300 PLC产生高频脉冲控制步进电机采用S7-313C-2DP控制步进电机的运行和停止。在设计过程中,需调用SFB49脉宽调制功能块实现脉冲序列的输出控制,并通过Q0.3的输出控制步进电机的转动方向。在CPU313C-2DP 模块的0通道通过软件门单独控制,产生周期为20ms,占空比为1:4最小脉宽为1ms的高频脉冲,延时时间为2秒钟。设置步骤如下:(1)硬件设置1)创建项目(取名为高频脉冲输出练习),选择CPU型号为CPU313C-2DP2)打开该项目中的硬件组态工具并双击count进行属性-计数器话框。见图5-65。图5-65 脉宽调制属性窗口3)在属性-计数对话框中选择 channel :0;operating:pulse Width modulation,并在弹出的对话框中选择OK键进行确定。4)选择最后一个标签pulse width modulation(脉宽调制标签)并进行operation parameter(操作参数)设置。 Output format(输出格式):选择per mile。输出格式为Per mill 或S7 analog,若输出格式选择Per mill,则脉宽(Pulse duration)=Outp_val/1000*脉冲周期(Period duration)。若输出格式选择S7 analog,则脉宽(Pulse duration)=Outp_val/27648*脉冲周期(Period duration),该种形式适合S7模拟量转化成脉冲输出。Outp_val是SFB49中的一个变量,可以在程序中随时修改脉冲宽度。若Outp_val设置为500,则表示SFB49设置输出的高频脉冲为方波。time base(时基):选择0.1msOn-delay(接通延时):20000period(周期): 10Minimum pulse period(最小脉宽):2输入参数选择时,不选硬件门。硬件门表示用模块所带输入点触发脉冲输出,相比软件门,硬件门用于更精确的要求。产生中断调用OB40(必须在basic parameters选择中断)。设置效果如图5-65。5)按OK键确认设置,并双击DI6/DO16将CPU313C-2DP自带的输入输出点的地址由系统默认的124字节开始,修改为从0字节开始。(2)编写程序调用系统功能块SFB491)打开组织块OB1,在library-standard library-system Function Blocks菜单下双击SFB49进行调用。2)指定SFB49背景数据块为DB1(如果数据块不存在,程序编辑器将自动产生数据块中的变量,使其与SFB49的参数保持一致,成为SFB49的背景数据块)。图5-66 SFB49参数设置3)对SFB49参数进行设置,结果如图5-66。参数CHANNEL:通道号,表示从那个输出端子输出高频脉冲。对不同的CPU,可以选择的通道数量也是不一样的。CPU 312C:0 to 1;CPU 313C:0 to 2;CPU 314C:0 to 3。若设置为0,表示从Q0.0输出高频脉冲;设置为1,表示从Q0.1输出高频脉冲;若设置为2,表示从Q0.2输出高频脉冲;若设置为3,表示从Q0.3输出高频脉冲。参数SW-EN:软件门控位。当I1.4为1时,启动脉冲输出。参数OUTP_VAL:用来设置占空比的,若设置为500,则输出脉冲为方波。4)在组织块OB1的Network 2中添加如下语句,完成步进电机的方向控制功能。见图5-67。图5-67 步进电机方向控制程序对程序进行保存,下载组织块OB1和指定的数据块DB1到PLC。注意由于数据块是用户据需要设置的,因此在使用时必须先下载到PLC中,否则在执行程序时,一旦PLC执行到需要访问数据块时,CPU将发生出错并停机,系统功能块SFB49集成在PLC的CPU中,因此不需要下载。(3)进行联机调试1)将PLC工作模式选择开关拨到RUN,按下I1.4(控制按钮(保持2秒钟以上),观察0通道的状态,可以看到0通道在等2秒之后,有高频脉冲输出。对程序进行在线监控,观察M0.0,M0.2的状态,可以看到M0.0的状态与I1.3的状态一致,M0.2的状态与0通道的状态一致 。2)在电机运转过程中,切换I1.5的状态,观察电机驱动方向的不同。三、项目实施-立体仓库站控制程序设计1立体仓库站结构组成与工作过程分析立体仓库站它有20个存储工位,一个两轴的存取托盘,控制系统使用西门子S7-300PLC,上位机使用组态王进行仓库管理和监控,系统由步进电机驱动。该站用来储存原材料和工件。(1)立体仓库站外部结构组成该工作站外部组成,见图5-68所示。主要包括:1)两轴的存取托盘,可以X轴,Y轴移动,由步进电机驱动;2)立体仓库架子,20个存储工位;3)载料台,由电磁阀驱动;4)X轴,Y轴各5个光电传感器。图5-68 立体仓库站外部结构图(2)立体仓库站控制系统组成控制系统主要包括:1)一套西门子PLC,及其编程软件2)一套上位监控计算机和组态监控软件3)工业现场总线接口与以太网接口4)人机交换界面及其编程软件5)I/O接口6)硬件急停装置7)按钮的输入界面(3)气动回路原理图立体仓库站的气动系统,主要包括空气压缩机、减压过滤装置、载料台驱动汽缸及两个磁性限位开关。见图5-69。图5-69 立体仓库站气动系统原理图(4)立体仓库站工作过程分析立体仓库站共有20个工位。载料台由X轴步进电机与Y轴步进电机两个步进电机驱动,能够进行X轴方向与Y轴方向的移动;载料台的伸出取件与缩回是由汽缸驱动;每个工位在立体仓库站的位置由行与列两个光电传感器来定义。上电后,系统首先复位,X轴Y轴驱动载料台回原位,载料台处于缩回位置。复位完成后,确定要取的零件位置,然后按下启动按钮,载料台在步进电机驱动下进行运动,当运动到指定位置后,Y轴步进电机驱动载料台先下降一段距离,使载料台低于零件平面,然后载料台伸出,伸出到位后,载料台在Y轴步进电机驱动下上升,把零件托起后,载料台缩回。取件完成后,载料台在X轴与Y轴步进电机的驱动下,进行回原点运动。回到原点后,把等待柔性自动线的传输站的机械手把取到的零件取走,则一个取件工作就完成了。任意时刻,按下停止按钮,停止取件。在设计过程中的注意事项:1)Q0.0、Q0.1端口的输出脉冲周期不能小于0.5MS2)自行设计仓位的状态信息(工件的有无建议用辅助寄存器M的位状态表示)3)运行程序时要核对各仓位的实际情况与自己设置的是否一致。4)确保控制电机运行时气缸没有伸出。(5)立体仓库站I/0地址分配立体仓库站I/0地址分配见表5-28。表5-28 立体仓库站I/0地址分配输入输出符号功能地址符号功能地址XB1第一列传感器I0.0CHANNEL0X轴步进脉冲输出Q0.0XB2第二列传感器I0.2CHANNEL1Y轴步进脉冲输出Q0.1XB3第三列传感器I0.3XDIRX轴方向控制Q0.2XB4第四列传感器I0.5YDIRY轴方向控制Q0.3XB5第五列传感器I0.61Y1载料台伸出Q0.4YB1第一层传感器I1.01Y2载料台缩回Q0.5YB2第二层传感器I1.1YB3第三层传感器I1.2YB4第四层传感器I1.7YB5载料台取件下降限位传感器I0.71B1载物台伸出位置I0.11B2载物台缩回位置I1.6SB1启动按钮I1.3SB2复位按钮I1.4SB3停止按钮I2.1SB4上电I2.0注:光电传感器为PNP输出;X轴方向信号为1时,载料台前进;Y轴方向信号为1时,载料台上升2立体仓库站功能图设计根据立体仓库站的工作过程分析及I/O地址分配,进行功能图的设计,见图5-70。图5-70 立体仓库站功能图3立体仓库站控制程序设计(1)立体仓库站程序设计1)程序设计要点:步进电机由SFB49实现控制采用结构化程序设计方法,设计一个取件的FB,通过参数调用的方法实现取不同位置的工件。复位操作的完成最好也设计一个FB来实现每个仓位由一个内部位来标记。可参见图5-71。图5-71 立体仓库站仓位标记表2)程序设计脉宽调制参数设置,见图5-72。将输出脉冲的频率设置为500HZ。图5-72 立体仓库站脉宽调制参数设置主程序,见图5-73。主程序只编写了取6个件的控制程序。若取完20个件,就按照仓位标记表调用FB2即可。图5-73 立体仓库站控制主程序OB1复位程序FB1。见图5-74。图5-74 立体仓库站复位程序FB1取件控制程序FB2。见图5-7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论