plc课程设计自动洗衣机触摸屏.docx
《plc课程设计自动洗衣机触摸屏.docx》由会员分享,可在线阅读,更多相关《plc课程设计自动洗衣机触摸屏.docx(13页珍藏版)》请在冰豆网上搜索。
plc课程设计自动洗衣机触摸屏
天津大学仁爱学院
PLC课程设计报告
设计题目:
自动洗衣机
专业班级:
自动化1班
学生姓名:
xxx
学生学号:
60082020xx
指导教师:
卢学英张海玮
成绩:
2011年9月17日
第1章绪论……………………………………………………………3
1.1引言………………………………………………………………………3
1.2控制要求…………………………………………………………………3
a.PLC控制要求…………………………………………………………3
b.触摸屏控制要求………………………………………………………4
1.3MCGS嵌入版组态软件的介绍…………………………………………4
第2章上位监控系统设计……………………………………………5
2.1控制程序流程图设计……………………………………………………5
2.2PLC与上位监控软件通讯………………………………………………5
2.3组态设计…………………………………………………………………5
2.4脱机运行实现的效果…………………………………………………6
2.5联机运行…………………………………………………………………6
第3章系统调试及结果分析…………………………………………6
第4章实验小结………………………………………………………7
第5章参考文献………………………………………………………7
附录:
……………………………………………………………………8
第1章绪论
1.1引言
随着科学技术不断进步和社会飞速发展,洗衣机成为人民日常生活息息相关的家用电器产品。
洗衣机的全自动化、多功能化、智能化是其发展方向。
基于全自动洗衣机的应用日益广泛,本次设计利用三菱公司生产的PLC控制全自动洗衣机,与传统的继电器逻辑控制系统相比较,洗衣机可靠性、节能性得到了提高。
PLC控制不需要大量的活动部件和电子元器件,它的接线也大大减少,与此同时系统维修简单、维修时间缩短。
本文首先介绍了洗衣机的发展,然后重点介绍了洗衣机的设计,对程序流程图及编程软件进行了说明,最后对系统进行了仿真。
本次设计采用步进顺控指令编程,根据工艺要求编程简单、可允许双线圈使用,PLC采样按钮及限位开关外部输入信号的变化,执行相应的程序,然后输出控制电机正反转及脱水处理。
最后就本课题所做的工作进行了总结,并对进一步的研究提出了自己的看法。
本次设计的全自动洗衣机工艺要求有待改善,不可以单独脱水及洗衣时间的设置;由于时间有限,没做进一步的改善。
基于全自动洗衣机在日常生活中广泛运用,本设计具有广泛的推广价值。
1.2控制要求
a.PLC控制要求
1.洗衣机进水、排水分别由进水电磁阀和排水电磁阀执行。
2.洗涤正、反转由洗涤电动机驱动波盘正、反转来实现。
3.洗涤时,波盘正转15s,停3s;而后波盘反转15s,停3s。
如此反
复3次,完成一个洗涤过程。
4.脱水时,由脱水电磁离合器合上、排水电磁阀吸合,洗涤电机正转
进行甩干,脱水时间为10s。
5.脱水完成由蜂鸣器报警5s,洗衣机自动停止。
6.停止按钮用来手动随时停止洗衣机的运转。
7.操作面板上设置启动按钮SB1、停止按钮SB2。
8.数码显示洗衣机工作时间。
b.触摸屏控制要求
1.自行设计动画要求,独立完成洗衣机全自动过程。
2.与PLC设计程序可相互操作,同步工作。
1.3MCGS嵌入版组态软件的介绍
MCGS嵌入版组态软件是昆仑通态公司专门开发用于mcgsTpc的组态软件,主要完成现场数据的采集与监测、前端数据的处理与控制。
MCGS嵌入版组态软件与其他相关的硬件设备结合,可以快速、方便的开发各种用于现场采集、数据处理和控制的设备。
如可以灵活组态各种智能仪表、数据采集模块,无纸记录仪、无人值守的现场采集站、人机界面等专用设备。
它有以下特点:
简单灵活的可视化操作界面:
采用全中文、可视化的开发界面,符合中国人的使用习惯和要求。
实时性强、有良好的并行处理性能:
是真正的32位系统,以线程为单位对任务进行分时并行处理。
丰富、生动的多媒体画面:
以图像、图符、报表、曲线等多种形式,为操作员及时提供相关信息。
完善的安全机制:
提供了良好的安全机制,可以为多个不同级别用户设定不同的操作权限。
强大的网络功能:
具有强大的网络通讯功能。
多样化的报警功能:
提供多种不同的报警方式,具有丰富的报警类型,方便用户进行报警设置。
支持多种硬件设备。
总之,MCGS嵌入版组态软件具有与通用组态软件一样强大的功能,并且操作简单,易学易用。
嵌入式组态软件的组态环境和模拟运行环境相当于一套完整的工具软件,可以在PC机上运行。
嵌入式组态软件的运行环境则是一个独立的运行系统,它按照组态工程中用户指定的方式进行各种处理,完成用户组态设计的目标和功能。
运行环境本身没有任何意义,必须与组态工程一起作为一个整体,才能构成用户应用系统。
一旦组态工作完成,并且将组态好的工程通过USB口下载到嵌入式一体化触摸屏的运行环境中,组态工程就可以离开组态环境而独立运行在TPC上。
从而实现了控制系统的可靠性、实时性、确定性和安全性。
第2章上位监控系统设计
2.1控制程序流程图设计
图2.1普通洗衣机的工作流程示意图
2.2PLC与上位监控软件通讯
点击工具条中的下载按钮,进行下载配置。
选择“连机运行”,连接
方式选择“USB通讯”,然后点击“通讯测试”按扭,通讯测试正常后,点击“工程下载”。
下载完成后在触摸屏上点击进入运行状态
2.3组态设计
首先我学习了TPC7062K与MCGS全中文组态软件的简单使用方法,并通过具体实例,以最简单、最快捷的方式,学会了TPC7062K和MCGS嵌入版组态软件的功能和特点;TPC7062K与欧姆龙PLC的接线方式;该软件与欧姆龙PLC通讯控制工程的组态步骤,学会了怎样建立窗口,建立基本原件,其工具箱中按钮,指示灯,标签,输入框的使用,并且学会了它们应怎样建立数据连接,修改其功能。
并且通过中级教程的学习,学会使用MCGS软件组态工程常用的几大功能:
动画、报警、配方和多语言。
学会了旋转、移动、大小变化等常用动画形式的组态过程;并且初次接触了脚本程序的编写,旋转脚本程序的编写。
但定时程序的编写需要在网上及书籍搜集资料,通过学习,可以使用脚本程序编辑器中的定时器函数实现。
2.4脱机运行实现的效果
图2.2触摸屏效果图
图中设置了六盏指示灯,从左到右依次为注水,排水,正转,反转,等待,报警;设置了两个按钮,一个旋转叶轮及注水管和排水管。
等摁下开始按钮时,注水指示灯亮,进水管显示进水,5秒后叶轮开始旋转,正转指示灯亮,15秒后等待指示灯亮,3秒后反转指示灯亮且叶轮旋转,15秒后等待指示灯亮,一直循环3次,直到排水,正转指示灯亮,排水管出水,10秒后报警指示灯亮,5秒后停止)
2.5联机运行
将图中各个元件的路径改成plc程序中的位置,工程下载后点击触摸屏上的开始按钮,则可以达到跟plc同步运行,并且可以完全控制plc的启动停止。
第3章系统调试及结果分析
在系统调试时,发现程序只运行到正转结束就直接跳过反转程序到排水程序,通过各方面调试,发现问题出现在编程方法上,编程语句只用到了!
TimerReset和!
TimerStop:
例如:
if计时>15then
正转=0
等待=1
!
TimerReset(2,0)
!
TimerStop
(2)
Endif
虽然逻辑上说的通,但是正确的编程方法应该是
if注水=1and时间>5then
!
TimerReset(2,0)
!
TimerStop
(1)
注水=2
endif
if注水=2then
!
TimerClearOutput
(1)
!
TimerRun
(2)
正转=1
注水=0
Endif;
其次还遇到由于正转等语言都是多次要用到的,则必须赋值给他们不同的数值才可实现。
最后联机运行时,发现一切正常,唯独叶轮不转,通过同学的帮助,要在叶轮旋转程序中加上一个条件,及plc程序中正转反转时的输出端口。
由此调试成功。
第4章实验小结
经过这次课程设计我也学到了很多,不光是知识本身还有思维过程的锻炼。
比如,在这次设计中我就发现自己的想法太片面,缺乏开放性,在电器匹配上存在不匹配。
我明白了学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
第5章参考文献
[1]程周·可编程序控制器原理与应用[M]·北京:
高等教育出版社,2003年
[2]周美兰,周封,忘岳宇·PLC电气控制与组态设计·北京:
科学出版社,2003
[3]吴中俊,黄永红·可编程序控制器原理及应用·北京:
机械工业出版社,2003
[4]张万忠,刘明芹·电器与PLC控制技术·北京:
化学工业出版社。
2003
[5]王兆义·可编程序控制器教程·北京:
机械工业出版社,2001
附录:
带功能注释的源程序
if正转=1or正转=3or正转=5or正转=7or反转=6or反转=4or反转=2then旋转可见度=1-旋转可见度
ifi<100then
i=i+2
else
i=0
endif
ifb<100then
b=b+1
else
b=0
endif(以上一段程序实现了叶轮的旋转,其本质是两个图层的交替闪烁)
!
TimerSetOutput(1,注水时间)
!
TimerSetOutput(2,计时)
!
TimerSetOutput(3,等待时间)
!
TimerSetOutput(4,排水时间)
!
TimerSetOutput(5,报警时间)
(以上一段程序定义了程序中要用到的定时函数变量)
if开始=1then
开始=0
注水=1
!
TimerReset(1,0);给函数1置0
!
TimerRun
(1);运行函数1
endif
if注水=1and时间>5then
!
TimerReset(2,0)
!
TimerStop
(1);停止运行函数1
注水=2
Endif(以上一段程序实现了注水的过程)
if注水=2then
!
TimerClearOutput
(1);清除函数1中的数值
!
TimerRun
(2)
正转=1
注水=0
endif
if正转=1and时间>15then
!
TimerReset(3,0)
!
TimerStop
(2)
正转=0
等待=1
endif
if等待=1then
!
TimerClearOutput
(2)
!
TimerRun(3)
等待=2
endif
if等待=2and时间>3then
!
TimerReset(2,0)
!
TimerStop(3)
反转=1
等待=0
endif
if反转=1then
!
TimerClearOutput(3)
!
TimerRun
(2)
反转=2
endif
if反转=2and时间>15then
!
TimerReset(3,0)
!
TimerStop
(2)
反转=0
等待=3
endif
if等待=3then
!
TimerClearOutput
(2)
!
TimerRun(3)
等待=4
endif
if等待=4and时间>3then
!
TimerReset(2,0)
!
TimerStop(3)
正转=2
等待=0
endif
if正转=2then
!
TimerClearOutput(3)
!
TimerRun
(2)
正转=3
endif
if正转=3and时间>15then
!
TimerReset(3,0)
!
TimerStop
(2)
正转=0
等待=5
endif
if等待=5then
!
TimerClearOutput
(2)
!
TimerRun(3)
等待=6
endif
if等待=6and时间>3then
!
TimerReset(2,0)
!
TimerStop(3)
反转=3
等待=0
endif
if反转=3then
!
TimerClearOutput(3)
!
TimerRun
(2)
反转=4
endif
if反转=4and时间>15then
!
TimerReset(3,0)
!
TimerStop
(2)
反转=0
等待=7
endif
if等待=7then
!
TimerClearOutput
(2)
!
TimerRun(3)
等待=8
endif
if等待=8and时间>3then
!
TimerReset(3,0)
!
TimerStop
(2)
等待=0
正转=4
endif
if正转=4then
!
TimerClearOutput
(2)
!
TimerRun(3)
正转=5
endif
if正转=5and时间>15then
!
TimerReset(3,0)
!
TimerStop
(2)
正转=0
等待=9
endif
if等待=9then
!
TimerClearOutput
(2)
!
TimerRun(3)
等待=10
endif
if等待=10and时间>3then
!
TimerReset(2,0)
!
TimerStop(3)
反转=5
等待=0
endif
if反转=5then
!
TimerClearOutput(3)
!
TimerRun
(2)
反转=6
endif
if反转=6and时间>15then
!
TimerReset(3,0)
!
TimerStop
(2)
反转=0
等待=11
endif
if等待=11then
!
TimerClearOutput
(2)
!
TimerRun(3)
等待=12
Endif(以上一段程序实现了正,反转循环3次的过程)
if等待=12and时间>3then
!
TimerReset(4,0)
!
TimerStop(3)
排水=1
等待=0
Endif
if排水=1then
!
TimerClearOutput(3)
!
TimerRun(4)
排水=2
endif
if排水=2and时间>10then
!
TimerReset(2,0)
!
TimerStop(4)
正转=6
endif
if正转=6then
!
TimerClearOutput(4)
!
TimerRun
(2)
正转=7
Endif(以上一段程序实现了排水及正转的过程)
if正转=7and时间>15then
!
TimerReset(5,0)
!
TimerStop
(2)
报警=1
正转=0
排水=0
Endif
if报警=1then
!
TimerClearOutput
(2)
!
TimerRun(5)
报警=2
endif
if报警=2and时间>5then
!
TimerReset(2,0)
!
TimerStop(5)
报警=0
Endif(以上一段程序实现了报警的过程)
if停止=1then
停止=0
正转=0
反转=0
等待=0
注水=0
报警=0
排水=0
!
TimerReset(1,0)
!
TimerClearOutput
(1)
!
TimerReset(2,0)
!
TimerClearOutput
(2)
!
TimerReset(3,0)
!
TimerClearOutput(3)
!
TimerReset(4,0)
!
TimerClearOutput(4)
!
TimerReset(5,0)
!
TimerClearOutput(5)
endif