基于PLC控制的机械手设计毕业论文.docx
《基于PLC控制的机械手设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于PLC控制的机械手设计毕业论文.docx(20页珍藏版)》请在冰豆网上搜索。
基于PLC控制的机械手设计毕业论文
第四章程序设计
4.1编程软件简介
STEP7-Micro/WIN是西门子公司为S7-200系列PLC的开发而设计的,是基于Windows操作系统的应用软件,其功能非常强大,操作方便,使用简单,容易学习。
软件支持中文界面。
其基本功能是创建、编辑和修改用户程序以及编译、调试、运行和实时监控用户程序。
运行STEP7-Micro/WIN软件,看到的是英文界面。
如果想切换为中文环境,执行菜单命令Tools”→“Options”,点击出现的对话框左边的“General”图标,在“General”选项卡中,选择语言为“Chinese”,单击“OK”按钮后,软件将退出。
退出后,再次启动该软件,界面和帮助文件均变为中文,在开始程序设计前必须对PLC进行通信连接,的那个PLC通信连接后在开始运行或者修改程序,在PLC程序梯形图中,程序被分成称为“网络”的一些段。
一个网络是触点、线圈和功能框的有序排列。
能流只能从左向右流动,网络中不能有断路、开路和反方向的能流。
书写Plc程序的方法为在LAD编辑器中,它有4种输入程序指令的方法:
鼠标拖放、鼠标单击、工具栏按钮、特殊功能键(如F4、F6、F9等)LAD程序使用线段连接各个元件,可以使用工具栏上的“向下线”、“向上线”、“向左线”、“向右线”等连线按钮,或者用键盘上的Ctrl+上、下、左、右箭头键进行编辑。
STEP7-Micro/WIN软件支持常用编辑软件所具备的插入和删除功能。
通过键盘或者菜单命令可以方便地插入和删除一行、一列、一个网络、一个子程序或者中断程序,在编辑区右键单击要进行操作的位置,弹出快捷菜单,选择“插入”或“删除”选项,在弹出的子菜单中单击要插入或删除的项。
子菜单中的“竖直”用来插入和删除垂直的并联线段。
可以用“编辑”菜单中的命令进行以上相同的操作。
按键盘上的Delete键可以删除光标所在位置的元件。
在编写程序完成后,必须对程序进行编译,当程序编译无误后才能下载至PLC运行,
4.2程序总体设计
由于设计中机械手运动方式有5种模式,分别是手动、自动回原点、连续、单周期、单步5种工作方式,且必须保证在每种模式工作下相互之间互不干扰,为了减少PLC的输入点,使程序简单明了,采用主程序OBI加子程序模块的编写方式,由于每种程序运行前都有一些必要的前期准备工作,例如在单步、单周期、连续工作时必须保证机械手处于原点位置,而在每种模式下工作机械手都有运送工件的操作,所以可将每种模式下工作的程序中都应具备的条件作为公用程序,为各种工作模式做前期准备工作,而公用程序是无条件执行的,即当下载并运行程序后PLC程序后自动扫描并运行公用程序,为子程序的运行做准备,设计中机械手有5种工作方式,而其中的单周期和连续工作方式所用的顺序功能图是同一个,其去呗仅仅是单周期只是允许机械手运行一次,而连续模式则是要求机械手连续不断的运行,所以可以将单周期和连续工作作为一个单独的子程序编写;手动工作方式是为便于对机械手的检修而设计的,其操作并不存在必然的逻辑连续,即步与步之间的操作互不影响,所以用一个单独的子程序表达即可,而自动回原点程序是为其他各种工作方式做准备的,为了保证程序的运行稳定,在该模式下工作时,机械手无论处于任何位置都将自动返回原点,其步与步之间存在一定的逻辑关系,可以用一个单独的子程序编写;单步工作方式是主要是为了调试机械手运动是否稳定可靠而设计的,虽然其运动过程和单周期、连续工作的过程一样,但在操作上存在一定的区别,单周期和连续式要求系统在按下启动按钮后程序将自动进行步与步之间的转换,而单步工作方式是按下一次启动按钮系统将向前进行一步并停止,若要继续下一步的操作,必须在按一次启动按钮,为了不和连续单周期的程序发生冲突,所以将单独为单步程序编写一个子程序,且其位存储器也区别单周期和连续工作方式,目的是为了保证程序能稳定运行。
4.3程序主体部分
4.3.1主程序OBI语句表
LDSM0.0
CALL公用:
SBR0
LDSA1:
I2.0
CALL手动:
SBR1
LDSA2:
I2.1
CALL自动回原点:
SBR3
LDSA5:
I2.4
OSA4:
I2.3
CALL自动程序:
SBR2
LDSA3:
I2.2
CALL单步:
SBR4
以上指令为主程序块指令,在主程序块中,可以选择相应的输入点来选择工作模式,每次只能选择一种对应的工作模式,当选择了对应的模式后,程序将自动调用相应子程序并运行,例如,当选择了手动或者回原点程序后,系统将自动调用手动子程序或者回原点子程序,但不可以同时选择两种工作模式,因为机械手不可能同时在两种模式下工作,例如,的那个机械手选择了连续工作后,若此时在选择回原点,机械手将无法判断是进行连续操作还是回到原点位置。
4.3.2公用程序语句表
LDSQ4:
I0.4原点条件
ASQ2:
I0.2
ANQ0.1
SM0.5,1
=Q0.5
LDSM0.1初始状态
OSA1:
I2.0
OSA2:
I2.1
LPS
AM0.5
SM0.0,1
LPP
ANM0.5
RM0.0,1
LDSA1:
I2.0复位非初始步
OSA2:
I2.1
RM2.0,8
LDM2.0复位原点标志
RM0.5,1
以上为公用程序指令,公用程序是无条件执行的,它用于处理各种工作方式都要执行的任务,以及不同工作方式之间的相互切换处理,程序中当做限位开关I0.4好上限位开关I0.2的常开触点和表示机械手松开的Q0.1的常闭触点的串联电路接通时,原点条件M0.5为ON,此时原位型号指示灯Q0.5接通,在开始执行用户程序SM0.1为ON时,系统处于手动状态或自动回原点状态,初始步对应的M0.0将被置位,未进入单步、单周期、连续工作方式做准备,若此时M0.2为OFF状态,初始步为不活动步,即使此时按下启动按钮也不能进行单步、单周期、连续工作的操作。
4.3.3手动程序语句表
LDI1.2夹紧
SQ0.1,1
LDSQ3:
I0.3松开
OSQ4:
I0.4
LPS
AI0.7
RQ0.1,1
LRD上升
AI0.5
ANSQ2:
I0.2
ANQ0.0
=Q0.2
LPP下降
AI1.0
ANSQ1:
I0.1
ANQ0.2
=Q0.0
LDI0.6左行
ANSQ4:
I0.4
ASQ2:
I0.2
ANQ0.3
=Q0.4
LDI1.1右行
ANSQ3:
I0.3
ASQ2:
I0.2
ANQ0.4
=Q0.3
以上是手动程序的指令,启动程序并按下手动操作按钮I2.0时接通手动子程序,为了保证系统的安全运行,在手动程序中设置了必要的连锁,设置上升与下降之间、左行与右行之间的互锁,以防止功能相反地来年各个输出同时为ON,即当机械手左行时一定不可能进行右行,当机械手下降过程中,输出上升Q0.2一定为OFF状态。
指令中的限位开关I0.1/I0.2/I0.3/I0.4的常闭触点是用来限制机械手的移动范围,即当机械手碰到限位开关时,相应的电磁阀断电机械化手停止运行,限位开关可以防止意外的发生,而上限位开关I0.2的常开触点与控制左、右行的Q0.4和Q0.3的线圈串联,只有当机械手上升到最高位置时才能左右移动,此设置可以防止机械手在较低位置运行时与别的物体碰撞发生损坏,而只有当机械手在做左边或者最右边时才允许执行上升、下降和松开工件的操作,在手动模式下,当按下I1.1时,机械手局执行夹紧操作,输出Q0.1并被置位,当按下I0.3时Q0.1被复位,此时PLC没有输出,按下I0.5和I0.4是机械手上升,按下I0.4和I1.0时,机械手下降,同时按下I0.6和I0.2时机械手左行,同时按下I1.1和I0.2时机械手右行,这既是机械手在手动状态下的全部操作。
4.3.4自动程序语句表
LDSA5:
I2.4
OI2.6
OSA4:
I2.3
ANI1.7
=M0.6转换允许
LDSQ4:
I0.4
ASA4:
I2.3
OM0.5
AM0.6
OM0.0
ANI1.7
ANM3.1
=M0.0初始步
LDM4.0
ASQ4:
I0.4
ASA5:
I2.4
LDM0.0
AI2.6
OLD
AM0.6
OM3.1
ANI1.7
ANM3.2
=M3.1下降
RM0.5,1
LDM3.1
ASQ1:
I0.1
AM0.6
OM3.2
ANI1.7
ANM3.3
=M3.2夹紧
LDM3.2
AT37
OM3.3
AM0.6
ANI1.7
ANM3.4
=M3.3上升
LDM3.3
ASQ2:
I0.2
AM0.6
OM3.4
ANI1.7
ANM3.5
=M3.4右行
LDM3.4
ASQ3:
I0.3
AM0.6
OM3.5
ANI1.7
ANM3.6
=M3.5下降
LDM3.5
ASQ1:
I0.1
AM0.6
OM3.6
ANI1.7
ANM3.7
=M3.6松开
LDM3.6
AT38
AM0.6
OM3.7
ANI1.7
ANM4.0
=M3.7松开
LDM3.7
ASQ2:
I0.2
AM0.6
OM4.0
ANM3.1
ANI1.7
ANM0.0
=M4.0左行
LDM3.1
OM3.5
ANSQ1:
I0.1
=Q0.0夹紧置位
LDM3.2
SQ0.1,1
TONT37,20T37计时器
LDM3.6
RQ0.1,1
TONT38,20T38计时器
LDM3.3
OM3.7
ANSQ2:
I0.2
=Q0.2上升
LDM3.4
ANSQ3:
I0.3
=Q0.3右行
LDM4.0
ANSQ4:
I0.4
=Q0.4左行
LDM0.0
=Q0.5原位指示灯
以上用起保停电路编写的自动程序指令,当启动系统是,按下I2.4时将接通自动程序子程序,指令中的M0.6的常开触点接在每一个控制代表步得存储器位的启动电路中,当它们断开时将禁止步与步之间的活动状态转换,单周期与连续的工作方式相似,下面具体介绍两者的工作的过程,当启动系统并进入连续工作模式,即按下I2.4后,系统进入连续工作状态,此时步与步之间的转换标志M0.6被接通,系统扫描时首先执行公用程序,M0.0被置位,当扫描自动程序时,按下启动按钮I2.6后系统进入M3.1步,此时机械手开始运行离开原点位置开始下降,输出为Q0.0,此时原点标志N0.5被复位,当机械手碰到下限为开关I0.1时是停止运行,此时线圈M2.1接通,机械手执行抓紧工件的操作,Q0.1被置位,输出为0.1,此时并接通T37计时器延时2秒保证能安全稳定的抓取工件,当延时结束时接通线圈M3.2,机械手开始上升,输出为Q0.1、Q0.2,当机械手碰到上限位开关I0.2时停止运行,此时接通线圈MM3.3,机械手开始右行,其输出为Q0.1、Q0.3,当机械手右行到位碰到右限位开关时停止运行,此时接通线圈M3.4,机械手继续夹紧工件执行下降操作,输出为Q0.1、Q0.0,当机械手碰到下限位开关I0.1时,线圈M3.5得电,此时Q0.1被复位,机械手执行松开工件的操作,接通计时器T38并延时2秒,保证完全放开工件,计时结束后,接通线圈M3.6,此时机械手开始上升,输出为Q0.2,当上升到位时碰到上限位开关I0.2,机械手停止上升,并接通线圈M3.7,机械手开始左行返回原点,当机械手碰到左限制为开关时停止,此时机械手完成一个周期的运行,由于我们选择的连续运行模式,机械手在左移过程中碰到上限位开关的同时接通了线圈M4.0,此时M4.0步将转换到M.1步并接通线圈M3.1,如此循环往复的进行下去,机械手就达到了连续操作的目的,若此时我们选择的是单周期操作。
即启动系统是我们按下的按钮为I2.3,当系统进行到最后一步是接接通线圈M4.0后。
I2.4为OFF状态,系统将不能进入M3.1步,而转入M0.0步的初始状态由于没有碰到左限位开关断电也不能运行M0.0步,这样既可以达到单周期运行的目的。
4.3.5自动回原点语句表
LDI1.2
SQ0.1,1
LDI2.6
AQ0.1
ANSQ3:
I0.3
OM1.0
ANI1.7
ANM1.1
=M1.0上升
LDM1.0
ASQ2:
I0.2
OM1.1
ANI1.7
ANM1.2
=M1.1
=Q0.3右行
LDI2.6
ASQ3:
I0.3
AQ0.1
LDM1.1
ASQ3:
I0.3
OLD
OM1.2
ANI1.7
ANM1.3
=M1.2
=Q0.0下降
LDM1.0
OM1.4
=Q0.2上升
LDM1.2
ANI1.7
ASQ1:
I0.1
OM1.3
ANI1.7
ANM1.4
=M1.3
RQ0.1,1夹紧复位
TONT39,20
LDI2.6
ANQ0.1
LDM1.3
AT39
OLD
OM1.4
ANI1.7
ANM1.5
=M1.4上升
LDM1.4
ASQ2:
I0.2
OM1.5
ANI1.7
ANSQ4:
I0.4
=M1.5
=Q0.4左行
以上指令为自动回原点程序的语句表,当我们在主程序中选择了自动回原点工作模式后即按下I2.1后,机械手自动返回原点,该程序的设计思路是让那个机械手能在任何位置和状态下按下自动回原点按钮后能自动返回原点,若子啊运行中出现特殊问题时,可通过停止按钮I1.7停止机械手的运行,介于机械手在工作过程中可能停留在任何位置,所以我们根据机械手当时所处的状态和位置将其分为三种情况进行处理,并将其编写在同一字程序中,当机械手夹紧装置松开时即Q0.0为0状态,因为机械手是按照工作流程一步一步进行操作的,此时机械手没有夹持工件,只可能处于上升状态和左行状态,可直接返回原点,当我们选择了自动回原点工作方式按下启动按钮I2.6后应进入程序中的M1.4步,此时的转换条件为I2.6Q0.1,如果此时机械手已经在最上面,上限位开关I0.2为1状态,在进入上升步后,因为转换条件已经满足,将马上转到左行步返回原点,此为第一种情况,第二种情况是当机械手处于夹紧状态,且机械手在最右边时,此时夹紧装置Q0.1和右限位开关I0.3均处于1状态,而此时应将工件放下后才能返回原点位置,按下启动按钮I2.6后,机械手转入下降步M1.2,转换条件为I2.6.Q0.1.I0.3,首先执行下降和松开操作,将工件放下后,机械手即返回原点,这是第二种情况,最后一种情况是当机械手装置处于夹紧状态,但机械手不在最右边时,此时夹紧输出Q0.1为1状态,右限位开关I0.3为0状态,当按下启动按钮后应进入步M1.0,此时转换条件为I2.6.Q0.1.I0.3,机械手进入步M1.0后将按顺序执行一个此工件的搬运工作后返回原点,即执行上升、右行、下降、松开、上升、左行返回原点。
这既是机械手可能存在的位置情况划分,当机械手返回原点后公用程序中的原点条件标志M0.5和原位指示灯Q0.5应为1状态,当系统处于原点位置时即可以进行自动程序的运行。
4.3.6单步程序语句表
LDSM0.0
OM3.0
AI2.6
ASA3:
I2.2
AM0.5
AM0.0
OM2.0
ANI1.7
ANM2.1
=M2.0启动
LDM2.0
ASA3:
I2.2
AI2.6
ASQ1:
I0.1
OM2.1
ANI1.7
ANM2.2
=M2.1下降
LDM2.1
ASA3:
I2.2
AI2.6
AT37
OM2.2
ANI1.7
ANM2.3
=M2.2夹紧
LDM2.2
ASA3:
I2.2
AI2.6
ASQ2:
I0.2
OM2.3
ANI1.7
ANM2.4
=M2.3上升
LDM2.3
ASA3:
I2.2
AI2.6
ASQ3:
I0.3
OM2.4
ANI1.7
ANM2.5
=M2.4右行
LDM2.4
ASA3:
I2.2
AI2.6
ASQ1:
I0.1
OM2.5
ANI1.7
ANM2.6
=M2.5下降
LDM2.5
ASA3:
I2.2
AI2.6
AT38
OM2.6
ANI1.7
ANM2.7
=M2.6松开
LDM2.6
ASA3:
I2.2
AI2.6
ASQ2:
I0.2
OM2.7
ANI1.7
ANM3.0
=M2.7上升
LDM2.7
ASQ4:
I0.4
OM3.0
ANM2.0
ANI1.7
=M3.0
SM0.5,1左行
LDM2.0
OM2.4
ANSQ1:
I0.1
=Q0.0
=Q0.5夹紧置位
LDM2.1
SQ0.1,1
TONT37,20夹紧T37计时器计时
LDM2.5
RQ0.1,1
TONT38,20松开T38计时器计时
LDM2.2
OM2.6
ANSQ2:
I0.2
=Q0.2上升
LDM2.3
ANSQ3:
I0.3
=Q0.3右行
LDM2.7
ANSQ4:
I0.4
=Q0.4左行
以上语句表为单步程序的子程序语句,在设计此程序是因为其实现的功能和单周期操作一样,但单周期实现的为连续的操作,中间没有间断不需要人为的干扰便可自动运行,而单步工作是一步一步进行,且每一步的进行都需要人工启动,主要是为了调试机械手而设计的操作,为了不和自动程序发生冲突,为单步工作方式单独编写独立的子程序,并采用区别于自动程序的位存储器M2.0到M3.0。
当在主程序中选择了单步工作方式后,即按下单步工作按钮I2.2后即开始运行单步程序,因为单步状态必须送原电位置开始启动运行,左移此时系统扫描会先无条件执行公用程序,此时若机械手手处于原点状态,则原点标志M0.5和原位信号指示灯Q0.5将为1状态,此时我们按下启动按钮I2.6后便接通M2.0步,此时机械手开始下降,当碰到下限位限位开关I0.1时停止运动,但并不马上转到下一步的操作,此时必须人为的按下启动按钮I2.6后才可接通M2.1步,此时机械手执行夹紧操作,若此时正在调试机械手的运行情况,便可观察到机械手在夹紧工件的过程中是否能在规定的2S时间内完成夹紧操作,若未能完成夹紧操作造成工件掉落,说明程序设计中给定的时间太短,又或者机械手夹取装置防滑性能不好,便可找出原因对机械手程序进行修改或者对夹取装置进行改进,当在按下启动按钮I2.6后机械手夹紧工件开始向上运行,的那个碰到上限位开关I0.2后停止运行,在此过程中我们可以检查机械手的上限位和下限位限位开关、上升电磁阀和下降电磁阀是否正常工作,若为正常工作,机械手将不会停止,若此时发生故障不能停止,可通过停止按钮I1.7强行停止机械手的运行,然后找出问题所在,机械手的单步工作程序的工作流程和单周期、连续操作一样,区别在于其使用上,单周期和连续式为生产加工工件而设计,而单步是为检修机械手而设计,在通过一次次按启动按钮的过程中观察机械手的运动情况和稳定性,来检修设备。
4.3.7PLC程序调试模拟调试
PLC程序模拟调试是使用S7-200仿真软件对已编好的机械手运动控制程序进行调试,在调试程序时需对仿真软件进行CPU模块配置,本次调试中我们选择CPU226模块进行调试,然后将PLC程序用V4.0STEP7MicroWINSP6软件导出功能将机械手运动程序保存为仿真软件所支持*awl文件格式,然后将*awl文件加载到使用仿真软件中并下载,即可以开始调试程序,调试时,可用鼠标点击CPU模块下的开关面板上面的黑色部分,的那个开关向上是,触点闭合,对应的输入点变为绿色,但开关向下时,即出点断开,输入点变为灰色,在运行程序后,可通过观察输入点的颜色变化来检查程序是否正确,本次仿真实验的截图如下图4-1所示:
图4-1
4.3.8上机调试
上机调试是在实际的PLC编程器上对程序进行调试和修改,当在计算机上对PLC程序模拟调试完成后,还应实际在PLC上对程序进行调试,以保证程序的完整和正确,在调试进行前,应对PLC进行连线并检查PLC的各输入输出点是否正常工作,在确认PLC无任何输入输出点故障时,变可将写好的OLC程序通过V4.0STEP7MicroWINSP6软件导入计算机,首先我们应对PLC进行通信调试,在通信前应将PLC调解至RUN模式,然后将V4.0STEP7MicroWINSP6软件和PLC控制器连接起来,在计算机和PLC通信成功后,将PLC在软件中进行编译,在确认无错误后,将机械手运动控制程序下载至PLC,然后通过鼠标操作计算机中的V4.0STEP7MicroWINSP6软件,然后点击软件中的小三角符号,即开始运行程序,然后观察PLC的输出点是否和程序中的输出一致,由于在本次上机调试中,程序中的一些输入点为机械手的限位开关,在实际中是有机械手的运动通过物理方法启动,在上机调试过程中我们没有机械手进行相应的工作,只能由人工将相应的输入点按下,其实际效果和机械手按下一样,然后观察输入输出是否对应,在调试过程中我们可以通过V4.0STEP7MicroWINSP6软件来辅助查看调试的结果,如程序出现错误,可以通过软件中的开始状态表监控、符号表、交叉引用表来检查程序中的错误点以便帮助我们修改程序。
4.3.9程序调试中遇到的问题
在本次程序调试中遇到的问题主要有,在对单步程序、单周期和连续程序进行调试时,在开始调试时三个程序是共用一个子程序即自动程序,由于三者的工作过程相近,所以在开始写程序时便将三个程序卸载一个子程序中运行,到哪子啊实际的上机调试过程中单周期和自动程序能够按照预定的要求运行,在运行单步程序时,却无法进行,经过对程序的检查分析后,是由于PLC程序中的一些软继电器和软元件位置在置位和无法自动复位,由于三种工作过方式共用一个子程序,也造成了一些位储器没有正常工作,由于多次的输入造成冲突,使程序无法正常运行,在几经调整后,决定单独为单步程序编写一个独立的子程序并使用了区别于单周期和连续的位存储器后,问题得到解决,单步程序和单周期、自动程序均可以正常运行,在其他的程序调试过程中,由于程序相对简单,未遇到问题,调试结果和预期结果一致。