整理基于PLC和组态王软件的自动售货机系统设计.docx
《整理基于PLC和组态王软件的自动售货机系统设计.docx》由会员分享,可在线阅读,更多相关《整理基于PLC和组态王软件的自动售货机系统设计.docx(55页珍藏版)》请在冰豆网上搜索。
![整理基于PLC和组态王软件的自动售货机系统设计.docx](https://file1.bdocx.com/fileroot1/2023-4/17/86f8712f-81cb-4845-937e-6396b0c03312/86f8712f-81cb-4845-937e-6396b0c033121.gif)
整理基于PLC和组态王软件的自动售货机系统设计
综合性设计性实验报告
院/系别:
昆仑学院班级:
自动化20112014—2015学年第一学期
学号
姓名
指导教师
课程名称
综合设计型实验
实验名称
基于PLC和组态王软件的自动售货机系统设计
实验类型
设计性
实验地点
化工学院智能系统与控制实验室
实验时间
实验内容:
本实验是基于PLC和组态王软件的自动售货机系统设计。
对于自动售货机的各种动作功能和控制要求,给出了完整的自动售货机的操作及功能的运算。
售货机中有4中食品,食品A价格4元,食品B价格1元,食品C价格2元,食品D价格3元。
现投入纸币,当投入的纸币超过食品B的价格时,食品B指示灯亮,提示可以购买,当犹如的纸币超过食品C的价格,食品C指示灯亮。
当按下食品C按钮时,售货机进行减法运算,从投入的纸币总值中减去食品B的价格同时启动相应的电机,提取食品B到出物口,食品B出货7秒,在此期间不能进行其他食品的操作,但可找钱。
买食品ACD操作同理。
操作完成后,如需继续交易,则同上,如果此时不再购买而按下退币按钮,售货机则要进行退币操作,返回相应的货币,并在程序中清零,完成此次交易。
由此看来,自动售货机进行一次交易要涉及加法运算、减法运算以及退币时的除法运算,这是它的内部功能。
还要有纸币识别系统和纸币的传动来实现完整的售货、退币功能。
可通过操作属性把自动售货机分为四个过程:
(1)投币过程
(2)价格比较过程
(3)选择商品过程
(4)退币过程
可把自动售货机工作过程分为四个状态:
(1)初始状态
(2)投币状态
(3)购买状态
(4)退币状态
实验目的与要求:
1、运用基本编程指令编辑自动售货机的PLC控制程序。
进一步熟悉西门子S7-200的结构及其运用,将程序输入到计算机,并下载到西门子S7-200中,是按照要求运行。
2、本实验旨在帮助学生学习并掌握组态软件的使用及应用方法,为今后的监控系统的设计打下初步基础。
本次上机使用的平台是组态王6.55及以上版本。
通过组态软件设计的监控系统可广泛应用于电力、通讯、制冷、化工、石油、钢铁、煤炭、水泥、纺织、机械制造、造纸、食品、水处理、建材、环保、智能楼宇、实验室、交通等多种工程领域,在本次实验中,我们将通过对软件的学习掌握监控系统的设计方法和应用技巧,为以后的工作、学习奠定坚实的基础。
设计思路:
1、PLC的硬件组成
PLC的硬件主要由中央处理器(CPU)、存储器、输入单元、通信接口、扩展接口、电源等几部分组成。
其中,CPU是PLC的核心;输入单元/输出单元是CPU与现场输入/输出设备之间的接口电路;通信接口用于连接编程器、上位计算器等外部设备,其硬件构成图如下图所示:
2、PLC控制流程图
绘出自动售货机PLC控制流程图,表达出各控制对象的工作顺序,相互间的制约关系,自动售货机PLC控制流程图,如下图所示:
关键技术分析:
(1)利用PLC(S7—200)及自动售货机模型组建自动售货机控制系统的硬件。
(2)利用STEP7编制自动售货机控制程序梯形图。
(3)利用组态王编制远程监控程序。
(4)设计图形界面(定义画面)
(5)定义设备;
(6)构造数据库(定义变量)
(7)建立动画连接;
(8)运行和调试
实验过程:
1、在西门子step7-200中的编程。
2组态王工程
2.1新建工程
打开组态王6.55,点击新建,将工程保存在我的电脑/E:
/临时文件/plc组态王中,工程名称为售货机,创建过程如下图:
2.2新建设备
点击工程浏览器中的设备选项,双击新建。
进入设备配置向导,选择PLC下的西门子S7-200(S7).如图所示:
2.3售货机主画面
1.自动售货机主画面
新建工程,工程名称为“售货机”。
新建画面,画面名称“自动售货机主画面”。
如下图所示,售货机表面由按钮、指示灯、文字、点位图等组成。
2.4数据词典
2.5分别双击售货机主画面中的“###”或“###”,在弹出的“动画连接”对话框钩选“模拟值输出”选项,在弹出的“模拟值输出连接”的“表达式”栏中输入的内容与文字有对应关系:
实时币数
历史币数
实时售出
历史售出
1元
\\本站点\投入1元币数
\\本站点\投入1元总币数
5元
\\本站点\投入5元币数
\\本站点\投入5元总币数
10元
\\本站点\投入10元币数
\\本站点\投入10元总币数
食品A
\\本站点\单次食品A销量
\\本站点\食品A总销量
食品B
\\本站点\单次食品B销量
\\本站点\食品B总销量
食品C
\\本站点\单次食品C销量
\\本站点\食品C总销量
食品D
\\本站点\单次食品D销量
\\本站点\食品D总销量
历史投币总数
\\本站点\历史投币总数
实时退币数
\\本站点\单次退币数
历史退币数
\\本站点\历史退币数
营业额
实时
\\本站点\单次营业额
历史
\\本站点\营业总额2
显示
\\本站点\实时币数2
2.6指示灯:
分别双击五个指示灯,在弹出的“指示灯向导”对话框中,“变量名(离散量):
”栏分别输入“\\本站点\食品A指示灯”,“\\本站点\食品B指示灯”,“\\本站点\食品C指示灯”,“\\本站点\食品D指示灯”,“\\本站点\找钱指示灯”。
2.7按钮:
分别双击十个按钮,在弹出的“动画连接”对话框钩选“按下时”选项,在弹出的“命令语言”框中分别输入以下命令语言:
食品A
食品B
if(\\本站点\启动系统==1)
{
if(\\本站点\实时币数2>=4)
{
if(\\本站点\定时7秒2==0)
\\本站点\选择食品A=1;
\\本站点\食品A指示灯=1;
\\本站点\定时7秒1=1;
}
}
if(\\本站点\启动系统==1)
{
if(\\本站点\实时币数2>=1)
{
if(\\本站点\定时7秒1==0)
\\本站点\选择食品B=1;
\\本站点\食品B指示灯=1;
\\本站点\定时7秒2=1;
}
}
食品C
食品D
if(\\本站点\启动系统==1)
{
if(\\本站点\实时币数2>=2)
{
if(\\本站点\定时7秒4==0)
\\本站点\选择食品C=1;
\\本站点\食品C指示灯=1;
\\本站点\定时7秒3=1;
}
}
if(\\本站点\启动系统==1)
{
if(\\本站点\实时币数2>=3)
{
if(\\本站点\定时7秒3==0)
\\本站点\选择食品D=1;
\\本站点\食品D指示灯=1;
\\本站点\定时7秒4=1;
}
}
投入1元
投入5元
if(\\本站点\启动系统==1)
{
if(\\本站点\定时7秒1==0&&\\本站点\定时7秒2==0)
\\本站点\投入1元=1;
}
if(\\本站点\启动系统==1)
{
if(\\本站点\定时7秒3==0&&\\本站点\定时7秒4==0)
\\本站点\投入5元=1;
}
投入10元
启动
if(\\本站点\启动系统==1)
{
if(\\本站点\定时7秒3==0&&\\本站点\定时7秒4==0)
\\本站点\投入10元=1;
}
\\本站点\启动系统=1;
退币
退出
if(\\本站点\启动系统==1)
{\\本站点\退币=1;
}
Exit(0);
2.8投币口:
分别双击三个字体,在弹出的“动画连接”对话框钩选“闪烁”和“隐含”,在弹出的“闪烁连接”对话框设置分别为:
闪烁
隐含
壹元
\\本站点\投入1元币数==1100毫秒/隔
\\本站点\投入1元币数==1显示
伍元
\\本站点\投入5元币数==1100毫秒/隔
\\本站点\投入5元币数==1显示
拾元
\\本站点\投入10元币数==1100毫秒/隔
\\本站点\投入10元币数==1显示
2.9退币口:
退币口中“1元”货币由两部分组成,分别双击这两个部分,在弹出的“动画连接”对话框钩选“闪烁”和“隐含”选项,在弹出的闪烁“闪烁连接”对话框设置都为:
闪烁
隐含
\\本站点\找钱指示灯==1100毫秒/隔
\\本站点\找钱指示灯==1显示
2.10在售货机主画面随意一处单击右键,在弹出选项中选择“画面属性”,则弹出“画面属性”对话框,单机“命令语言”,在弹出的“画面命令语言”对话框,将右上角“每3000毫秒”改为“每1000毫秒”,在“存在时”输入框中输入下面命令语言:
if(\\本站点\定时7秒1==1)
{
\\本站点\计数1=\\本站点\计数1+1;
if(\\本站点\计数1==1)
{\\本站点\食品A指示灯=0;\\本站点\找钱指示灯=1;}
if(\\本站点\计数1==2)
{\\本站点\食品A指示灯=1;}
if(\\本站点\计数1==3)
{\\本站点\食品A指示灯=0;}
if(\\本站点\计数1==4)
{\\本站点\食品A指示灯=1;}
if(\\本站点\计数1==5)
{\\本站点\食品A指示灯=0;}
if(\\本站点\计数1==6)
{\\本站点\食品A指示灯=1;}
if(\\本站点\计数1==7)
{\\本站点\计数1=0;
\\本站点\定时7秒1=0;
}
}
if(\\本站点\定时7秒2==1)
{
\\本站点\计数2=\\本站点\计数2+1;
if(\\本站点\计数2==1)
{\\本站点\食品B指示灯=0;\\本站点\找钱指示灯=1;}
if(\\本站点\计数2==2)
{\\本站点\食品B指示灯=1;}
if(\\本站点\计数2==3)
{\\本站点\食品B指示灯=0;}
if(\\本站点\计数2==4)
{\\本站点\食品B指示灯=1;}
if(\\本站点\计数2==5)
{\\本站点\食品B指示灯=0;}
if(\\本站点\计数2==6)
{\\本站点\食品B指示灯=1;}
if(\\本站点\计数2==7)
{\\本站点\计数2=0;
\\本站点\定时7秒2=0;
}
}
if(\\本站点\定时7秒3==1)
{
\\本站点\计数3=\\本站点\计数3+1;
if(\\本站点\计数3==1)
{\\本站点\食品C指示灯=0;\\本站点\找钱指示灯=1;}
if(\\本站点\计数3==2)
{\\本站点\食品C指示灯=1;}
if(\\本站点\计数3==3)
{\\本站点\食品C指示灯=0;}
if(\\本站点\计数3==4)
{\\本站点\食品C指示灯=1;}
if(\\本站点\计数3==5)
{\\本站点\食品C指示灯=0;}
if(\\本站点\计数3==6)
{\\本站点\食品C指示灯=1;}
if(\\本站点\计数3==7)
{\\本站点\计数3=0;
\\本站点\定时7秒3=0;
}
}
if(\\本站点\定时7秒4==1)
{
\\本站点\计数4=\\本站点\计数4+1;
if(\\本站点\计数4==1)
{\\本站点\食品D指示灯=0;\\本站点\找钱指示灯=1;}
if(\\本站点\计数4==2)
{\\本站点\食品D指示灯=1;}
if(\\本站点\计数4==3)
{\\本站点\食品D指示灯=0;}
if(\\本站点\计数4==4)
{\\本站点\食品D指示灯=1;}
if(\\本站点\计数4==5)
{\\本站点\食品D指示灯=0;}
if(\\本站点\计数4==6)
{\\本站点\食品D指示灯=1;}
if(\\本站点\计数4==7)
{\\本站点\计数4=0;
\\本站点\定时7秒4=0;
}
}
if(\\本站点\退币==1)
{
if(\\本站点\实时币数2>0)
\\本站点\找钱指示灯=1;
if(\\本站点\计数5==0)
{
\\本站点\单次退币数=\\本站点\实时币数2;
\\本站点\历史退币数=\\本站点\历史退币数+\\本站点\单次退币数;
}
\\本站点\计数5=\\本站点\计数5+1;
\\本站点\投入1元币数=0;
\\本站点\投入5元币数=0;
\\本站点\投入10元币数=0;
\\本站点\单次食品A销量=0;
\\本站点\单次食品B销量=0;
\\本站点\单次食品C销量=0;
\\本站点\单次食品D销量=0;
\\本站点\单次营业额=0;
if(\\本站点\计数5==1)
{\\本站点\实时币数2=\\本站点\实时币数2-1;\\本站点\找钱指示灯=0;}
if(\\本站点\计数5==2)
{\\本站点\实时币数2=\\本站点\实时币数2-1;\\本站点\找钱指示灯=1;}
if(\\本站点\计数5==3)
{\\本站点\实时币数2=\\本站点\实时币数2-1;\\本站点\找钱指示灯=0;}
if(\\本站点\计数5==4)
{\\本站点\实时币数2=\\本站点\实时币数2-1;\\本站点\找钱指示灯=1;}
if(\\本站点\计数5==5)
{\\本站点\实时币数2=\\本站点\实时币数2-1;\\本站点\找钱指示灯=0;}
if(\\本站点\计数5==6)
{\\本站点\实时币数2=\\本站点\实时币数2-1;\\本站点\找钱指示灯=1;}
if(\\本站点\计数5==7)
{
\\本站点\计数5=0;
\\本站点\找钱指示灯=0;
\\本站点\退币=0;
\\本站点\实时币数2=0;
}
}
2.11打开“程序浏览器-售货机”-“命令语言”,双击“应用程序命令语言”。
则弹出“应用程序命令语言”对话框,将右上角“每3000毫秒”改为“每55毫秒”,在“运行时”输入命令语言:
if(\\本站点\启动系统==1)
{
if(\\本站点\投入1元==1)
{
\\本站点\投入1元币数=\\本站点\投入1元币数+1;
\\本站点\投入1元总币数=\\本站点\投入1元总币数+1;
\\本站点\实时币数2=\\本站点\实时币数2+1;
\\本站点\投入1元=0;
\\本站点\找钱指示灯=1;
}
if(\\本站点\投入5元==1)
{
\\本站点\投入5元币数=\\本站点\投入5元币数+1;
\\本站点\投入5元总币数=\\本站点\投入5元总币数+1;
\\本站点\实时币数2=\\本站点\实时币数2+5;
\\本站点\投入5元=0;
\\本站点\找钱指示灯=1;
}
if(\\本站点\投入10元==1)
{
\\本站点\投入10元币数=\\本站点\投入10元币数+1;
\\本站点\投入10元总币数=\\本站点\投入10元总币数+1;
\\本站点\实时币数2=\\本站点\实时币数2+10;
\\本站点\投入10元=0;
\\本站点\找钱指示灯=1;
}
if(\\本站点\实时币数2>=4)
{
\\本站点\食品A指示灯=1;
if(\\本站点\选择食品A==1)
{
\\本站点\实时币数2=\\本站点\实时币数2-4;
\\本站点\单次食品A销量=\\本站点\单次食品A销量+1;
\\本站点\食品A总销量=\\本站点\食品A总销量+1;
}
}
else
{\\本站点\食品A指示灯=0;}
if(\\本站点\实时币数2>=1)
{
\\本站点\食品B指示灯=1;
if(\\本站点\选择食品B==1)
{
苍鹰、蝴蝶、巨龙一旦逃离了人手,为什么便会显得更为逼真?
)纸扎的燕子、1(因为它们仿佛有了灵魂,有了生命力。
“我”为什么把风筝仙女看成是自己的朋友?
)2(,并给“我”带来了快乐。
,它恍如理解“我”因为风筝仙女的淳朴打动了“我”分)4(你觉得文中画线的句子在写法上主要有什么特点?
请写出一点并作简要分析。
20.运用了排比,连用“她那?
?
忽然?
?
”的句式,把风筝仙女神秘的脸、飘逸的衣服、怡然的态势这一形象,描摹得更加细腻、丰富。
分)6(’放风筝”有何看法?
请说出理由。
‘钻戒你对文中“21.,也不曾碰风筝线,更不可‘钻戒’放风筝”并不能体会到真正的乐趣。
放风筝的乐趣要靠自己亲手“放”才能获得,而“钻戒”既不碰到“蜈蚣”“ZXXK]学科网:
来源[能去追赶风筝,仅是接过线盒拎住而已,所以他无法体会到放风筝的真正乐趣。
分)14题(13-17(深圳)(三)阅读下面文段,完成夜的尽头是家的灯光?
父亲在河南开封长大。
父亲一直在奋斗,考上了武汉,留武汉工作,结婚,生了我。
他的奋斗,换来了理想的大学合适的职业和幸福的家庭。
这也许就是别人眼中我平凡的父亲——离家游子。
他的心也许一半是黄河,一半是长江。
?
我仍记得,父亲接我放学后带我直奔前往开封的列车,夜色如墨,列车摇晃着我疲倦的神经,懵懂的我从未读懂过父亲那晚的表情,他一直看着窗外,眼里似乎闪烁着什么,但不是眼泪,是一种难于言说的情感?
?
火车哀鸣着停止了摇晃,我从父亲的怀里惺忪醒来,又是一段颠簸的汽车行程后,父亲拽着我,高一脚、低一脚地赶往乡村,黄河的风凉湿了父亲的手心。
?
沉沉夜色,静默村庄,木门一开,黑漆漆的夜色瞬间被老屋里的灯光穿透,我有些晕眩,模糊的视线里烟雾缭绕,纸钱的火苗摇摆在黑红的棺材前,父亲嚎啕着,跪地不起?
?
?
那时的我的确太小,奶奶去世,我竟没有一滴眼泪。
长大了一点儿,我才明白,和自己深爱的人离别,心有多么痛。
对于父亲也是,造就自己、牵着自己长大的人走了,并且是永远地走了?
?
?
我一直单纯地认为这就是父亲全部的痛苦。
?
现在我知道,其中还夹杂着一丝恐慌:
他也许在奶奶身上已经看到了自己的影子。
?
奶奶是中秋节去世的。
几年之后的一个中秋节,刚搬进新房不久,父亲在奶奶的照片前点了一炷香,慢慢的鞠了个躬,缓缓坐下,然后静静地注视着照片。
良久,父亲看着我,轻轻地说:
“今后别再让你妈生气了。
”?
也许他在遗憾自己小的时候没有好好报答自己的母亲,现在没机会了。
不知道天下有没有人不想出去闯一番事业然后衣锦还乡的?
不知道最后的回家在终日等待面前是否显得渺小?
不知道天下有多少父母再也等不到儿女回家的那一天?
?
可是,谁又能改变这一切?
也许最深的母子之情只能属于童年,因为那时,孩子一无所有。
到现在,我也不知道我们这一代独生子女离家后,天下将会有多少老无所依的父母。
?
父亲那眼神中,也许还有责任。
父亲的母亲已经将全部交给父亲,我懂得有一天,父亲也会将全部交给我,虽然我极不愿那一天的到来。
但我知道,这个轮回终会由我接下去!
⑴那晚,窗外的夜色似乎被满月稀释过一般,我和父亲静静地坐在一起,我能感受到,他害怕失去的,不只是他的母亲,还有他的孩子。
他知道,有一天他的孩子也会离家的。
⑵父亲一直在弥补,他总是一有时间就带我和母亲回开封看看,摇晃的火车不再让我疲倦,如墨的夜色早已被家的灯光照耀的温暖、明媚!
父亲总是把手搭在我的肩膀上,我总是握着母亲还未衰老的手,渐渐意识到:
该轮到我了!
期)11第2012选自《读者》(作者:
马家越分)3通读全文,你认为文中“我”所领悟到的父亲表情和眼神中的“难于言说”的情感包括哪些?
(13.【答案】⑴造就自己、牵着自己长大的母亲永远的走了,父亲深深为深爱的母亲离别而心痛。
⑵意识到有一天自己也像母亲一样,没有儿子在身边。
⑶遗憾自己没来得及报答母亲。
⑷意识到承当起母亲留下来的责任。
分)2段“窗外的夜色似乎被满月稀释过一般”这个句子加点词的词性并解释它在句中的含义。
(11写出第14.【答案】动词,这里是?
冲淡?
的意思,夜色因为有了满满的圆月亮照射,而不再黢黑,有了薄薄的光亮。
3段划线句子运用何种人物描写方法?
有什么表达效果?
(7第15.分)【答案】动作描写,心理描写。
表达了父亲对奶奶深深的思念、没有好好报答甚至曾经让奶奶生气的愧疚。
分)3段划线的句子(8请品析第16.【答案】这一组句子,使用了反复的修辞,疑问的句式,议论抒情的表达方式,层层深入对父亲没机会报答奶奶这类现象进行了评价思考。
表达了这样深刻的思想:
人们都追求的出外闯荡干出大事业再衣锦还乡,但这样的抱负比起父母亲守侯盼望游子的亲情,简直微不足道;而且让人悲哀的是,很多父母是看不到孩子成功的那一天就离开了人间的。
作者对我们在成功与亲情之间的选择进行了反思,表达了无奈的质疑。
春晚一曲《常回家看看》温暖了万千家庭;也有人说,父母、子女之间,身体与身体的距离不等于心灵与心灵的距离。
读完上文,请结合你和父母的关系,17.分)3谈谈你的看法。
(但是,甚至空间距离越发增加了心灵的贴近。
不等于心灵的距离,父母子女之间虽然身体与身体的距离,古人云父母在不远游。
儿行千里母担忧,【答案】远离毕竟违背了父母希望儿女绕膝的亲情需要,毕竟牺牲了父母对天伦之乐的享受,毕竟造成了父母对远方游子的牵挂担忧。
再说,做儿女的如果心灵没有距离,哪里会舍得让自己的父母思念儿女呢?
如果能够身体无距离的生活在一起却拒绝了,那么这是心灵没有距离吗?
广东茂名
(二)阿来的如花世界迟子建①阿来与花,是否有着前世的姻缘?
至少,我没见过像他那么痴迷于花的男子!
我与他多次同行参加中外文学交流活动,无论是在新疆、黑龙江,还是在俄罗斯、意大利或是阿根廷,当一行人热热闹问地在风景名胜前留影时,阿来却是独自走向别处,将镜头聚焦在花朵上。
花儿在阳光和风中千姿百态,赏花和拍花的阿来,也是千姿百态。
这时的花儿成了隐秘的河流,而阿来是自由的鱼儿。
印象最深的是他屈膝拍花的姿态,就像是向花儿求爱。
②未认识阿来之前,读了令他名声大噪的《尘埃落定》,判定写它的人一定是个内心世界极其丰富的人。
比起他的小说,阿来不高大,但他气质不俗,面上总是洋溢着平和的微笑,走起路来微微踮脚,富有喜剧色彩,整个人就像一首精短的抒情诗,与他热爱的花朵相得益彰。
他幽默,睿智,豪爽,率性,与他同行,就是与快乐同行。
记得在阿根廷,一个月色很美的夜晚,在一家乡村旅馆里,阿来请全团的人喝酒,他喝兴奋了,歪戴着帽子,拍手舞蹈着,唱起藏族的《祝酒歌》,那是我那一年听到的最动人的旋阿来如果不写小说,一定是个出色的歌手。
他的歌声深情而忧郁,把我们深深感染了,大家4.情不自禁地跟着他唱起家乡的歌谣。
那个夜晚的阿根廷的月亮,一定成了扩音器,把来自大地的歌声,播撒到了天庭。
③阿来是个会享受生活的人。
他常带上钟爱的相机,带上书和茶,独自驾车出游。
他的博客和微博,像花园,也像森林氧吧,你走进那里,总能清新之气。
他的作品,也是这样的充满了生机,大气而唯美,绝无顾影自怜的小伤感,更无貌似深刻的装神弄鬼。
他有一支看到花儿的影子,嗅到植物的开阔而富有韵致的笔。
众生在他笔下,都是平等的。
如果说好小说是露珠的话,阿来的文字幻化成的就是露珠,熠熠闪亮,有着经典的光泽。
《尘埃落定》之于阿来,是一顶沉重的桂冠。
如果是一个心在庙堂的作家,可能会就此迷路,不知所向,失去创造力。
而阿来是个被山峦照耀着的作家,是被河流滋养着的作家,这样的作家,本身就是一座山,就是一条河,在他自己的疆域驰骋,永不疲倦,留下艺术的脚步。
所以我