机械手搬运单元控制课程设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息与电气工程学院
课程设计说明书(2011/2012学年第一学期)
课程名称:可编程控制器应用
题目:机械手搬运单元控制
专业班级:
学生姓名:
学号:
指导教师:
设计周数:两周
设计成绩:
2011 年12月23日
目录
一.前言 (2)
二.实验目的 (2)
三.系统设计 (2)
1.控制要求 (2)
2.硬件选择 (3)
3.输入输出点的地址分配 (4)
4.程序设计 (4)
4.1程序流程图 (4)
4.2内存变量分配表 (4)
4.3控制程序 (5)
5.与下位机的通讯连接 (7)
5.1监控组态界面 (7)
5.2监控组态程序清单 (7)
四.总结 (12)
五.参考文献 (13)
机电一体化技术是近十几年来国际上发展最快的高新技术,已渗透到国民经济的各个领域。采用机电一体化技术就是发挥以微机为核心的微电子技术优势:对于一般机械而言,可使机械结构简化且控制更为灵活、细致;对于采用气动元件作为执行机构的机械设备而言,较之采用继电器接触控制更为可靠、方便,增加了柔性。微型计算机及以微机为核心的专用控制机的推广应用,采用电子控制的便捷、灵活和可靠等优势与采用气压传动的简单、便捷和安全的优点相互结合,使得电子气动技术应运而生。电子气动控制技术是机电一体化技术的一个重要组成部分,由于它在工业机器人中的成功应用,使得这项技术的推广具有了良好而广阔的前景。
基于PLC控制气动移置机械手系统正是由此出发点而研制开发的,可以满足《工业机器人》、《气动技术》、《可编程序控制器技术》等课程的教学、实验,应用其具有可编程、二次设计、调试等功能特点,可提高学生的工程素质、创新能力、综合实践及应用能力,满足培养综合性和创新型、高层次、复合型工程技术人员的要求。
二.实验目的
利用S7-200系列PLC的各种基本指令进行编写程序,并能熟练掌握PLC编程软件的编程方法和程序调试方法;学会并使用下位机编写程序实现机械手的自动和手动控制,并能利用上位机进行通讯连接实现实时监控。
三.系统设计
1.控制要求
当工件被送到机械手下方后,机械手将向下运动,然后锁紧夹爪;当工件被夹住后,机械手上升,到达上端后,手臂向右旋转180°。当到达右侧后夹爪向下并释放工件,然后上升,最后机械手臂向左摆动、复位,并发出信号,将控制权交给下一单元。
技术要求:
1. 机械夹爪上下运动
2. 机械夹爪锁紧后将有信号产生
3.机械手臂左右摆动(180°)
4. 只有当机械手臂下降到低端时才能作开合动作
5.完成动作后,发出信号给下一单元
2.硬件选择
从工艺要求中可以看出控制方式为两种,分别完成自动方式(I0.3=0)和手动方式(I0.3=1)的运动,启动/停止按钮I0.0完成启动(I0.0=1)和停止(I0.0=0)功能,复位信号I0.1完成系统的复位,单步按钮I0.2用于控制手动方式的单步控制。机械手运动的限位开关共有4个,左限位开关I0.6和右限位开关I0.7,高限位开关I1.0、低限位开关I1.1。机械手锁紧检测信号I1.2(锁紧时I1.2=1,松开时I1.2=0)。共有9个输入信号。
输出信号有机械手右转驱动信号Q0.0,左转驱动信号Q0.1,下降驱动信号Q0.2,下降机械手夹紧驱动信号Q0.3(夹紧Q0.3=1,放松Q0.3=0)。共有4个输出信号。
该系统需要输入9点,输出4点。可选择S7-200系列的CPU224即可满足要求,CPU224作为本控制系统的控制器。
机械手搬运单元控制系统如下图:
3.输入输出点的地址分配
4.程序设计
4.1程序流程图 4.2内存变量分配表 右位
起
动
4 自动/手动I0.3 开关
5 左位I0.
6 限位开关
6 右位I0.
7 限位开关
7 高位I1.0 限位开关
8 低位I1.1 限位开关
9 锁紧状态I1.2 传感器
10 右移Q0.0 电磁阀
11 左移Q0.1 电磁阀
12 下降Q0.2 电磁阀
13 锁紧Q0.3 电磁阀
14 夹紧定时器T101 时基为100msTON定时器
15 放松定时器T102 时基为100msTON定时器
16 自动方式标志M0.0 Bool
17 手动方式标志M0.1 Bool
4.3控制程序
主程序:
子程序:
5.与下位机的通讯连接
5.1监控组态界面
初始状态:机械手位于左侧,高位,放松。
当下方有工件时,机械手开始工作。
两种控制方式:自动和手动。单步只有在手动时有效。
5.2监控组态程序清单
进入程序
a1==0;
a2==0;
a3==0;
a4==0;
flag1==0;
fw.PV=0;
qiehuan.pv=0;
qd.pv=0;
b2=0;
b1=290;
程序运行周期执行
#bv.y=#bv.y+10;
a1=a1+5;
#bv2.y=#bv2.y+10; #bv3.y=#bv3.y+10; #bv5.x=#bv5.x+10; IF #bv5.x>=113 THEN #bv5.x=113;
ENDIF
IF #bv.y>=471 THEN #bv.y=471;
#bv2.y=526;
#bv3.y=526;
#bv2.x=#bv2.x+10; #bv3.x=#bv3.x-10; IF #bv2.x>=108 THEN #bv2.x=108;
#bv3.x=163;
flag1=flag1+1; ENDIF
ENDIF
ENDIF
IF flag1==1 THEN
#bv.y=#bv.y-10;
a1=a1-5;
#bv2.y=#bv2.y-10; #bv3.y=#bv3.y-10; #bv5.y=#bv5.y-10; IF #bv.y<=146 THEN #bv.y=146;
#bv2.y=200;