自动售货机系统用例图

合集下载

软件工程课程设计【自动售货机】

软件工程课程设计【自动售货机】

《软件工程》课程设计报告目录:序 (2)一、问题描述 (3)(一)关于自动售货机 (3)(二)自动售货机的设计 (3)二、需求分析 (3)(一)UML自动售货机系统功能需求: (3)(二)UML自动售货机系统控制要求: (4)(三)业务流程图 (6)(四)数据流程图 (7)三、各种UML图型及其分析 (8)(一)用例图 (8)(二)类图 (9)(三)序列图 (10)(四)协作图 (15)(五)状态图 (18)(六)活动图 (20)(七)组件图 (24)(八)配置图 (24)(九)数据模型图 (25)四、心得体会 (25)序一.目的软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。

通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。

二.要求:一人一组。

熟悉Rose开发环境。

掌握UML的基本模型元素(如角色、用例、类等)。

熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。

进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图,建立完整的系统数据库的逻辑模型。

完成对系统的建模实现。

进行检查,并提交设计报告。

三.报告要求:实验题目、实验目的、实验要求、实验内容、系统设计的源程序和文档(包括说明)、心得体会四.参考资料:Wendy Boggs & Michael Boggs 著邱仲潘译《UML与Rational Rose2002从入门到精通》电子工业出版社Martin Fowler & Kendall Scott:UML Distilled Second Edition A Brief Guide to the Standard Object Modeling LanguageUML参考手册Jason T. Roff 著张瑜杨继萍等译《UML基础教程》清华大学出版社参见本中心服务器ftp:\\s@172.16.38.223软件开发基础或《软件工程课程设计》目录下的相关文档。

自动售货机控制系统的设计(最终版)

自动售货机控制系统的设计(最终版)

课程设计任务书设计题目:饮料自动售货机PLC控制系统设计学院:机械工程学院专业:机械测控班级:姓名:组员:指导老师:【摘要】本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。

具体说明了可编程序控制器在自动售货机中的作用。

程序涉及到了自动售货机工作的绝大部分过程。

利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。

关键词:自动售货机;可编程序控制器;梯形图Abstract:This paper introduces the basic principle s of vending machines, as well as workflow, and t hen to a transaction process as an example, the t ransaction process is divided into several block, a nd then the block were programmed. Specify the PLC in the role of vending machines. Procedures relat ed to the work of the vast majority of vending m achine process. PLC control of the use of vending machines enhance the stability of the system to ensure that vending machines capable of long-term s table operation.Key words:Vending machines; PLC; Ladder Diagram一.PLC的概述1.1 PLC的产生20世纪20年代起,人们把各种继电器,定时器,接触器及其触点按一定的逻辑关系连接起来组成控制系统,控制各种生产机械,这就是大家所熟悉的传统继电接触器控制系统。

实验一用例图设计参考解答

实验一用例图设计参考解答

实验一用例图设计参考解答公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]实验11. 一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。

售货机有一个硬币槽和找零槽,分别用来收钱和找钱。

现在为这个系统设计一个用例图。

找零钱自动售货机系统用例图2.现有一个产品销售系统,其总体需求如下:系统允许管理员生成存货清单报告。

管理员可以更新存货清单。

销售员记录正常的销售情况。

交易可以使用信用卡或支票,系统需要对其进行验证。

每次交易后都需要更新存货清单。

分析其总体需求,并绘制出其用例图。

产品销售系统用例图3 某酒店要开发一个酒店住宿管理系统,该酒店可对外开放500个双人间和50个单人间,房间费用视情况按季节由管理人员进行调整,但周一到周五半价(周末全价)折扣不变。

只有在该系统进行了注册的人员才能登录该系统进行酒店住宿预定。

对于顾客的请求,该系统能根据请求入住时间预定指定档次的房间信息,记录该顾客姓名、地址、联系电话、有效证件号、房间类型和预定的天数,并计算出总费用。

预定的同时顾客按规定要提交10%定金。

六个小时之内酒店允许顾客取消预定金,超过六个小时定金不退还。

每周一系统自动打印一周预定情况的清单。

顾客离开时,可以到总台办理结帐。

结帐方式可采用两种方式,一种是现金结帐,另一种是银行卡结帐,银行卡结帐将通过与银联POS机来完成。

POS4.登录一个网上酒店管理系统,根据其客人预订房间流程,描述系统的“预订房间”用例。

当客人登陆网上酒店管理系统,系统显示需要选择的服务,客人选择预订房间,系统判断客人预订的房间是否还有剩余,如果没有剩余,询问顾客是不是要继续选择预订其他的房间,顾客如果选择是,则重新进去预订房间的用例,如果客人选择不继续预订房间的话,系统询问客人是否要选择退出,客人退出,如果客人要预订的房间有剩余,系统询问顾客是不是要确定预订这个房间,顾客选择是,然后系统询问顾客的详细的信息,系统记录信息,然后回到系统询问顾客是否需要其他的服务,顾客选择退出,系统注销用户的登录信息。

自动售货机的结构

自动售货机的结构

自动售货机的系统结构1.1自动售货机的系统概述自动售货机是集光、机、电一体化的独立机构,它只需要顾客投币和按购物键选择即可自动售货及退找零钱,其工作程序如下图1.1图1.1 自动售货机工作时序图售货机的工作原理是:(1)从投币口送入货币,然后通过传感器采集数据、识别器判断货币的真伪并判别面值。

(2)识别器把信息数据传给通信模块。

(3)通信模块与售货机的主控系统通信,主控系统显示面值,启动售货机的面板键,显示出哪个货道有货,哪个货道已经售完,并等待顾客按键选择商品。

(4)顾客选择商品后,售货机自动把商品送出,等待顾客取走。

(5)显示余额,如果金额足够多,顾客可以选择找币或者继续买商品;如果款额不够,售货机经过延时予以退币。

退币分为两种情况:一种是由货币识别器完成退纸币,另一种是由硬币的通信模块完成退硬币。

(6)系统复零,完成售货。

自动售货机的硬件原理构成如下图2.2所示图1.2 自动售货机硬件结构图综合所述,售货机系统可以分为三部分组成,即自动售货机的控制子系统、通讯子系统、硬币器子系统以及纸币器子系统。

其中控制子系统是本设计研究重点。

这些内容在下文中进一步介绍。

1.1.1自动售货过程的控制子系统简述控制子系统由以下四个部分组成,分别是预设自动售货机系统、金额累计、可售指示和退币系统、售完检测系统、售出累计及自测功能系统。

1、预设自动售货机系统。

自动售货机售出的同类商品可分为若干品种,其售前设定价格须预先寄存在控制系统内。

售货机的价格设置由按键和存储器组成。

通过按键选择被设价商品的种类及价格,并将价格写入存储器中,该存储器本身具有掉电保护功能,属于软件设置方式。

此外,在简易售货机中,由于出售商品的种类少,价格变化下,使用币种单一,也可以用硬件设置价格,才用拨码开关对应方式,结构简单,操作方便。

2、金额累计、可售指示和退币系统。

控制系统的核心CPU 对识币、退币、无货检验及购货信号进行循环检查,当有识币信号后,将金额数值送入金额累计存储器中进行累计,并通过串行接口使可售指示灯亮,提示购货。

自动售货机PLC设计(带很十分详细的梯形图等)

自动售货机PLC设计(带很十分详细的梯形图等)

自动售货机PLC设计目录一、引言 (1)二、控制要求 (2)三、设计任务 (2)四、系统总体方案设计方案4.1 系统硬件配置及组成原理 (3)4.2 系统变量定义及分配表 (3)4.3 系统接线图设计 (4)4.4系统可靠性设计 (4)五、控制系统设计5.1 控制程序流程图设计 (5)5.2 控制程序时序图设计 (6)5.3 控制程序设计思路 (7)5.4 编程系统的调试 (7)5.5创新设计内容 (7)六、上位监控系统设计6.1 PLC与上位监控软件通讯 (8)6.2 上位监控系统组态设计 (8)6.3 实现的效果 (12)七、系统调试及结果分析7.1 系统调试及解决的问题 (12)7.2 结果分析 (13)八、结束语 (13)九、参考文献 (14)十、附录 (14)一:引言可编程序控制器(Programmable Logic Controller )简称PLC, 是一种以微处理器为核心的用于工程自动控制的工业控制机,其本质是一台工业控制专用计算机。

它的软、硬件配置与计算机极为类似,只不过它比一般计算机具有更强的与工业过程相连接的接口和更直接的适应于控制要求的编程语言。

硬件主要由中央处理单元CPU、存贮器、输入/输出单元以及编程器、电源和智能输入/输出单元等构成.PLC是一种专为在工业环境应用而设计的数字运算电子系统,它是以微处理机为基础,综合了计算机技术、自动控制技术和通信技术等现代科技而发展起来的一种新型工业自动控制装置,是当今工业发达国家自动控制的标准设备之一。

自动售货机是集声、光、机、电于一体的智能科技产物,进入21世纪,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。

使未来的自动售货机不仅仅具有售货功能,而是更加多元化,及人性化;如:手机支付、远程联机管理、个性的LCD广告显示屏、更节能。

自动售货机的普及在某种程度上能反映一个国家的科技发展水平,是一个国家文明程度的象征。

自动售货机测试用例(因果图)

自动售货机测试用例(因果图)

之蔡仲巾千创作题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果原因:3.投入5角硬币5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮23.退还5角硬币如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,暗示处理的中间状态。

中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱而且售货机有零钱找14. 钱已付清3.转换成判定表:1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。

2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。

3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。

4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。

5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。

6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。

7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。

8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。

9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。

11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。

12)在售货机没有零钱找的情况下,投入5角硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并送出橙汁饮料。

自动售货机PLC梯形图及解释 MAIN

自动售货机PLC梯形图及解释 MAIN

X000 X001 0M1X002X003PLSPLSPLS M1M2M313ADD D0 K1 D0M221ADD D0 K2 D0M329ADD D0 K5 D0X000 37CMPCMPD0D0K11K14M4M75256M4 Y002M7Y003T1T4Y000Y001M4X004M15 60SUBP D0 K12D0Y002T0Y002K70T0T2T1T1T2K5K5X0接开关,打开后常闭。

若按下X1,发出一个上升沿,M1通若按下X2,发出一个上升沿,M2通若按下X3,发出一个上升沿,M3通若M1通,则D0值加1若M2通,则D0值加2若M3通,则D0值加5若D0>11,则M4通若D0>14,则M7通M4通,说明可以买汽水,汽水指示灯亮M7通,说明可以买咖啡,咖啡指示灯亮汽水指示灯亮且按下X4,或按下汽水排出,D0减12汽水指示灯亮且按下X4,T1通,开始计时汽水指示灯亮且按下X4,T0开始计时,限制时间T0时间到后,汽水排出关闭T1通,T2开始计时M7 X005 M1586 SUBP D0 K15 D0Y003 T3Y003K70T3T5T4T4T5 K5 K5112 X000 X006 Y003 Y002M15 M15M15118 CMP D0 K4 M30 M30 M20SUB D0 K5 D0T11PLS M20T10Y006T11T10T10T11 K5 K5M15 M32153M31 M40 M21CMPSUB D0D0K2K2M40D0M41 T13PLS M21 T12Y005T13T12T12T13 K5 K5咖啡指示灯亮且按下X5,或按下咖啡排出,D0减15T3时间到后,咖啡排出关闭咖啡指示灯亮且按下X5,T3开始计时,限制时间咖啡指示灯亮且按下X5,T4通,开始计时T4通,T5开始计时按下找钱按钮,M15自锁若D0>4,则M30通M30通,则Y6通,出币5元M30通时,T10开始计时,闪烁五次,即5元出币时间T10通,T11开始计时若D0>2,M40通T11通一次,M20加 1D0值减2T13通一次,M21加 1M40通,则Y5通,出币2元M40通时,T12开始计时,闪烁五次,即2元出币时间T12通,T13开始计时M20通,D0值减5M15 M32 M42193M31 M50 M22CMPSUB D0D0K1K1M50D0M51 T15PLS M22 T14Y004T15T14T14T15 K5 K5M15 M32 M42 M52234 ZRST T0 T15 M31250ZRST M0 M100END若D0>1,M50通D0值减1T15通一次,M22加1M50通,则Y4通,出币1元T14开始计时,闪烁五次,即1元出币时间T14通,T15开始计时投币完成,复位T0 — T15同时复位M0 — M100梯形图说明:打开X0开关,自动售货机开始工作;M1、M2、M3为投币1、2、5元中间继电器;M4、M7为买汽水、咖啡中间继电器;当买汽水灯Y0亮后,可按买汽水按钮,计时器T1开始计时,指示灯闪烁五次,排出完成;买咖啡灯Y1亮后,可按买咖啡按钮,计时器T4开始计时,指示灯闪烁五次,排出完成;购买结束后,当按下X6按钮,进入找钱状态,M30、M40、M50、分别表示余额大于5元、2元、1元;如果余额大于5元,则进行5元退币,余额相应减5;如果余额小于5元,大于2元,则进行2元退币,余额相应减2;如果余额小于2元,大于1元,进行1元退币,当余额为零后,对 T0—T15,M0—M100 复位,程序结束。

自动售货机PLC控制原理图和T形图

自动售货机PLC控制原理图和T形图

T2 Y013 M45 M45 T2 T2
Y023 T3 T2 Y110 M46 M46 T2 T2
Y020 T3 T2 Y115 M47 M47 T2 T2
Y025 T3 X007 X012 X014 X011 X013 X010 X015 M1000 T3 M40 T3 M30 T1 T4 M1000 K20
Y017 T3 T2 Y012 M42 M42 T2 T2
Y022 T3 T2 Y014 M43 M43 T2 T2
Y024 T3 T2 Y011 M44 M44 T2 T2
Y021 T3
M45 174 M3 M4 M35 185 Y021 M46 190 M6 M7 M36 201 Y020 M47 206 M6 M7 M37 217 Y025 X006 222 M40
X012
X014
X013
X010
X015 M1004
K20
X013 367 M45
X006
X007
X012
X014
X011
X010
X015 M1005 T3 M45 T3 M35 T1 T9 K20
M1005 388 X010 396 M46 T3 M46 T3 M36 T1 M1006 417 X015 425 M47 T3 M47 T3 M37 T1 M1007 446
SUB D200 K45 D200 SUB D200 K45 D200 SUB D200 K35 D200
X006
X007
X012
X014
X011
X013
X015 M1006
K20 T10
X006
X007
X012

自动售货机因果图

自动售货机因果图
输出3:退回硬币
状态1:退回5角钱硬币
状态2:退回1元钱硬币
状态2:不退回
输出4:提示错误
判定表:
输入1
条件1



条件2




条件3

条件4

输入2
条件1





条件2





条件3





输入3
条件1


-பைடு நூலகம்



条件2








输出2
状态1


状态2

状态3


状态4



输出3
状态1

1元钱硬币+零钱找完灯灭
提示选择饮料

非硬币
提示错误

不输入
空闲
因果图
输入条件有2种:
输入1:输入硬币
条件1:输入5角钱硬币
条件2:输入1元钱硬币
条件3:不是硬币
条件4:不输入
输入2:按下饮料按钮
条件1:按下啤酒按钮
条件2:按下橙汁按钮
条件3:不输入
输出1:零钱灯亮否
状态1:灯亮
状态2:灯不亮
输出2:送出饮料
状态1:送出啤酒
状态2:送出橙汁
状态3:提示选择饮料
状态4:不送出


状态2

状态3

PLC自动售货机1

PLC自动售货机1

苏州市职业大学课程设计任务书课程名称:工厂电气控制与可编程控制器技术起讫时间:2009.06.15—2009.06.19 院系:机电工程系班 级:06机制计算机1指导教师:金芬系主任:陶亦亦一、课程设计课题本课程设计共有十二个课题,学生分成十二组,每组4或5位学生。

选题一、锅炉车间输煤机组控制系统设计选题七、停车场车位PLC控制选题二、十字路口带倒计时显示交通信号选题八、6组抢答器的PLC控制灯的PLC控制选题九、工件传送机械手的PLC控制选题三、狭窄隧道汽车双向行的PLC控制选题十、C650车床的PLC控制选题四、自动售货机PLC控制选题十一、三层简易电梯的PLC控制选题五、病床紧急呼叫系统PLC控制 选题十二、自动送料装车系统的PLC 选题六、PLC组合机床控制中的应用 控制二、课程设计的目的与要求(一)目的:1.充分理解可编程控制器的工作原理和其在实际工程应用中的注意事项;2.熟悉和掌握PLC控制系统的设计方法及PLC的选型;3.合理运用PLC及相关课程的理论知识和实际应用知识,进行PLC控制程序设计;4.通过课程设计和查找设计资料,掌握编程技术,提高编程技巧,从而可以提高PLC 技术综合应用设计能力,培养独立分析问题和解决问题的能力,为今后毕业设计及实践打下必要的基础。

(二)要求1.掌握可编程序控制器的基本工作原理、基本构成及应用环境。

2.熟练掌握可编程控制器的基本逻辑指令、步进顺控指令,能够编制梯形图控制程序,解决中等复杂程度的实际控制问题。

3.明确设备的控制要求,并进行控制系统分析,确定PLC机型以及I/O端口分配;4.进行控制系统设计,画出梯形图,写出语句表;5.掌握可编程控制器控制程序的调试方式,并在学习机上进行程序调试至满足控制要求;6.编写设计说明书。

三、课程设计工作量要求学生完成以下工作任务1.进行控制系统分析,确定PLC机型以及I/O端口分配2.绘制PLC控制程序梯形图和端口图;3.完成上机调试运行,运行结果满足控制要求;4.设计说明书一份;课程设计时间:一周。

自己的自动售货机控制系统设计

自己的自动售货机控制系统设计

三、模块仿真
图10 chu_rg信号为1时的仿真结果
三、模块仿真
2 当输入信号en为0,xuan_rg信号为1时,chu_rg信号 为0,仿真结果如图 11所示:
图11 chu_rg信号为0时的仿真结果
三、模块仿真
6.显示模块 显示模块的作用是对购物结束后的所需找零数 目进行显示。找零显示模块的输入端接收来自控制 模块的输入信号,输出端外接LED显示灯,由于找 零的数目为范围为0至8,因此只需要一个LED显示 灯,输出信号为a,b,c,d,e,f,g。仿真结果 如图12所示:
二、软件系统设计
第一部分:功能要求 第二部分:总体思想 第三部分:功能模块的划分 第四部分:控制状态的设计
第一部分:功能要求 本自动售货机可销售热狗(1元),汉堡包( 4元),饮料(3元)3种商品; 允许投入1元,2元 ,5元硬币; 售货机有2个输出口, 分别输出货品 和找零; 另外有4个LCD 数码管, 2个用来显示已 经投入的币值,2个用来显示找零数。 在自动售货机控制系统的工作过程中,可分 为三个状态:初始状态、投币状态和找零状态。 在每一个状态中完成特定的功能。
系统运行流程如图1 所示。
图1系统运行流程图
第二部分:总体思想
自动售货机包括三个商品,依据三种商品分 别设为三个按钮,A1,A3,A4。当顾客选择其中 的一种商品时,售货机发送出一个信号按钮不再 生效,用一个LED灯显示。设置三个按钮: a1,a2,a5来表示投入的硬币是1元、2元、5元 。当顾客确定某种商品且投入了足额的硬币,投 币时限到时,投币窗口找零,用七段显示管显示 找零数,同时送出商品,指示灯out亮。
三、模块仿真
通过程序所得到的仿真图如下所示: 1、当reset输入为0,输入5元,2元,1元 时,仿真结果如图3所示:

EDA课程设计——自动售货机控制系统

EDA课程设计——自动售货机控制系统

《电子设计自动化(EDA)技术》课程设计报告题目: 自动售货机控制系统姓名:院系:专业:学号:指导教师:完成时间: 年月日一、课程设计题目、内容与要求………………………………………1、设计题目……………………………………………………………2、具体要求……………………………………………………………二、系统设计……………………………………………………………1、设计思路…………………………………………………………2 、系统原理(包含:框图等阐述)与设计说明等内容三、系统实现……………………………………………………………注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容四、系统仿真…………………………………………………………五、硬件验证(操作)说明………………………………………………六、总结………………………………………………………………七、参考书目…………………………………………………………一、课程设计题目、内容与要求1、设计题目自动售货机控制系统2、具体要求设计一个模拟自动售货机的逻辑控制电路1、它有两个投币口分别为一元投币口和五角投币口。

2、每次只能投入一枚一元或五角硬币。

3、投入一元五角硬币后机器自动给出一瓶矿泉水。

4、投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币二、系统设计1、设计思路根据设计要求可以对售货机的基本功能进行确定。

它应该能够区分一元和五角硬币,并且能够对投入的货币进行累加。

当所投币值达到商品售价。

就自动送出商品。

因为题目要求只有一种商品并且其售价为一元五。

根据这一特殊点可设计方案如下:用两个开关分别模拟投入一元和五角硬币时产生的信号,高电平有效。

用两颗LED分别模拟售出商品和找钱信号,灯亮有效。

具体功能实现如下:1、连续两次将IN-YUAN置1,则OUT灯会亮,且ZHAOQIAN也会亮。

表示买一元五的矿泉水,投了两元钱,则售出商品,找回五角零钱。

2、连续三次将IN-JIAO置1,则OUT灯会亮,而ZHAOJIAN不会亮。

自动售货机控制系统VHDL有限状态机实现

自动售货机控制系统VHDL有限状态机实现

自动售货机控制系统VHDL有限状态机实现1 引言有限状态机FSM(Finite State Machine)及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。

传统的状态机设计方法需进行繁琐的状态分配、绘制状态表、化简次态方程等,而利用VHDL可以避免这些繁琐的过程,直接利用状态转换图进行状态机的描述,所有的状态均可表达为CASE_WHEN结构中的一条CASE语句,而状态的转移则通过IF_THEN_ELsE语句实现。

此外,与VHDL的其它描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。

2 自动售货机控制系统的实现2.1 自动售货机功能描述及控制系统组成设计一个自动售货机的逻辑控制电路。

它有两个投币口分别为一元投币口和五角投币口,假设每次只能投入一枚一元或五角硬币,投入一元五角硬币后机器自动给出一瓶矿泉水,投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币。

图1为自动售货机控制系统方框图,由投币信号处理模块和功能控制模块组成。

2.2 自动售货机控制功能的状态描述取投币信号为输入逻辑变量,投入一枚一元硬币时用A=1表示,未投入时A=0。

投入一枚五角硬币用B=1表示,未投入时B=0。

给出矿泉水和找钱为两个输出变量,分别用Z和Y表示,给出矿泉水时Z=1,不给时Z=0,找回一枚五角硬币时Y=1,不找时Y=0。

根据上面的功能描述,可用三个状态S0,S1,S2表示,未投币前的初始状态为S0,投入五角硬币以后为S1,投入一元硬币后(包括投入一枚一元硬币和投入两枚五角硬币的情况)为S2,再投入一枚五角硬币后电路返回S0,同时输出为Z=1,Y=0;如果投入的是一枚一元硬币,则电路也应能返回S0,同时输出为Z=1,Y=1。

根据上面的分析可得到状态转换图如图2所示。

2.3 自动售货机功能控制模块的VHDL实现根据图2所示的状态转换图,用VHDL语言中的CASE_WHEN结构和IF_THEN_ELSE语句实现控制功能,源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY shj_ctrl ISPORT(A,B:IN STD_LOGIC;clk:IN STD_LOGIC;Z,Y:OUT STD_LOGIC);END shj_ctrlARCHITECTURE beha OF shi_ctrl ISTYPE states IS(S0,S1,S2);SIGNAL state:states;SIGNAL X:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINX<=A&B;PROCESS(x,state)BEGINIF rising_edge(clk) THENCASE state ISWHEN S0=>Z<='0';Y<='0';IF(X="01")THENstate<=s1;ELSIF(X="10")THENstate<=s2;ELSEstate<=s0;END IF;WHEN S1=>Z<='0';Y<='0';IF(X="01")THENstate<=s2;ELSIF(X="10")THENstate<=S0;Z<='1';Y<='0';ELSEstate<=s1;END IF;WHEN S2=>Z<='0';Y<='0';IF(X="01")THENstate<=S0;Z<='1';Y<='0';ELSIF(X="10")THENstate<=s0;Z<='1';Y<='1';ELSEstate<=s2;END IF;END CASE;END IF;END PROCESS;END beha;c上面程序中,A、B分别为一元硬币和五角硬币驱动信号,Z为矿泉水输出信号,Y为找钱输出信号。

自动售货机系统用例图PPT课件

自动售货机系统用例图PPT课件

谁需要系统的支持以完成日常工作任务?
谁负责维护、管理并保持系统正常运行(副行为者)?
系统控制哪些硬件设备?系统需要与哪些其他系统交互? 哪些人或系统对本系统产生的结果(值)感兴趣?
.
10
2. 寻找用例
2. 寻找用例
一旦找到了行为者,就可以通过请每个行为者回 答下述问题来获取用例:
•行为者需要系统提供哪些功能?
•行为者自身需要做什么?
•行为者是否需要读取、创建、删除、修改或存储系 统中的某类信息?
•系统中发生的事件需要通知行为者吗?行为者需要 通知系统某些事情吗?从功能观点看,这些事件能做 什么?
• 行为者的日常工作是否因为系统的新功能而被简化 或提高了效率?
.
11
9.7 3种模型之间的关系
9.7 3种模型之间的关系
•参与者通过向系统输入或请求系统输入某些事件来 触发系统的执行。参与者是系统之外,透过系统边界与系统进行 有意义交互的任何事物(人或事物)。
•在处理参与者时,应考虑其参与系统的身份,而不 是人名或工作名。
•在UML中,参与者用人形图符表示。
•但参与者未必是人,可以. 是一个外部系统。 6
4. 用例之间的关系
UML 图:用例图
• 用例图(Use Case Diagram)
- 用例图定义了系统的功能需求,它完全是从系统外 部观看系统功能,并不描述系统内部对功能的具体 实现。 - 用例图表示了用例、参与者及其它们之间的关系。
• UML 符号
用例 参与者
.
513
• 用例图显示一组用例,参与者以及它们之间的关系。 用于需求分析阶段,即确定“谁使用系统以及做什 么”。
用例具有下述特征:
(1) 用例代表某些用户可见的功能,实现一个具 体的用户目标;

自动售货机PLC系统设计

自动售货机PLC系统设计

1 自动售货机介绍 (3)1.1 自动售货机功能分析 (3)1.1.1 自动售货机的基本功能 (3)1.2 PLC的选型原则 (4)1.3 PLC的概述 (5)1.3.1 PLC的产生 (5)1.3.2 PLC的定义 (6)1.3.3 PLC的发展趋势 (6)1.3.4 PLC的特点 (7)1.3.5 PLC的主要功能 (9)1.4 PLC的基本结构及原理 (10)1.4.1 PLC的系统结构 (10)1.4.2 PLC各部分的作用 (10)1.5 松下电工可变成序控制器产品--FP1-C24介绍 (12)1.5.1 FP1-C24的组成各部分 (13)1.5.2 技术性能 (14)2 PLC系统设计 (14)2.1 可编程序控制系统设计的基本原则 (14)2.1.1 控制系统设计原则 (14)2.1.2 控制系统设计的基本内容 (15)2.1.3 控制系统设计的一般步骤 (15)2.1.4 编写梯形图的注意事项 (15)2.1.5 程序设计的步骤 (16)3 自动售货机PLC程序设计 (16)3.1 仿真实验系统中售货机的分析 (16)3.2 设计任务的确定 (18)3.3 程序设计部分 (19)3.3.1 程序设计说明 (19)3.3.2 PLC程序设计 (19)在梯形图8中,为了实现数据的实时比较,用了一个特殊内部继电器R9010,在程序执行过程中,R9010始终保持闭合,F60是16位数据比较指令,用它来比较余额和商品的价格,R900A是大于价格,R900B 是等于标志。

当余额大于等于某种商品价格时,程序使相应的指示灯闪烁表示可以购买该种商品。

21 R9010 (22)R9010 (22)R900B (22)R9010 (22)R900B (22)R9010 (22)Y3 (22)R900B (22)R9010 (22)R9010 (22)R900B (22)3.4 仿真界面与PLC的配合定义 (27)3.5 数据连接 (31)3.5.1定义I/O设备 (31)3.5.2 设计 (33)4 结束语 (37)参考文献 (37)致谢 (38)自动售货机的PLC系统设计文摘本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。

自动售货机测试用例(因果图)

自动售货机测试用例(因果图)

题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料25.送出啤酒饮料2.画出因果图如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。

2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。

3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。

4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。

5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。

6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。

7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。

8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。

9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。

11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象模型是最基本最重要的,它为其他两种模型 奠定了基础,我们依靠对象模型完成3种模型的集成。
9.8 小结
9.8 小结
对于大型软件产品来说,把该产品看作是由一 系列本质上相互独立的小产品组成,这就不仅降 低了开发工作的技术难度,而且也使得对开发工 作的管理变得比较容易了。面向对象范型明显优 于结构化范型。此外,使用面向对象范型能够开 发出稳定性好、可重用性好和可维护性好的软件, 这些都是面向对象方法学的突出优点。
9.6.2 用例建模
获取用例是需求分析阶段的主要工作之一,而 且是首先要做的工作。
大部分用例将在项目的需求分析阶段产生,并且随 着开发工作的深入还会发现更多用例,这些新发现的用例 都应及时补充进已有的用例集中。用例集中的每个用例
都是对系统的一个潜在的需求。
一个用例模型由若干幅用例图组成。
创建用例模型的工作步骤:
例如, 在自动售货机系统中,张三投入硬币购买矿泉水,
系统收到钱后把矿泉水送出来,上述过程就是一个 脚本;
李四投币买可乐,但是可乐已卖完了,于是系统 给出提示信息并把钱退还给李四,这个过程是另一 个脚本。
3. 行为者
3. 行为者(参与者(Actor))
•参与者(Actor)是系统外部的一个实体(可以是 任何的事物或人),它以某种方式参与了用例的执行过程。
其中,对象模型是最基本、最核心、最重要的。
-
本章所讲述的面向对象方法及定义的概念和表示 符号,可以适用于整个软件开发过程。软件开发人 员无须像用结构分析、设计技术那样,在开发过程 的不同阶段转换概念和表示符号。
•参与者通过向系统输入或请求系统输入某些事件来 触发系统的执行。参与者是系统之外,透过系统边界与系统进行 有意义交互的任何事物(人或事物)。
•在处理参与者时,应考虑其参与系统的身份,而不 是人名或工作名。
•在UML中,参与者用人形图符表示。
•但参与者未必是人,可以- 是一个外部系统。
4. 用例之间的关系
谁需要系统的支持以完成日常工作任务?
谁负责维护、管理并保持系统正常运行(副行为者)?
系统控制哪些硬件设备?系统需要与哪些其他系统交互? 哪些人或系统对本系统产生的结果(值)感兴趣?
2. 寻找用例
2. 寻找用例 一旦找到了行为者,就可以通过请每个行为者回
答下述问题来获取用例:
•行为者需要系统提供哪些功能? •行为者自身需要做什么? •行为者是否需要读取、创建、删除、修改或存储系 统中的某类信息? •系统中发生的事件需要通知行为者吗?行为者需要 通知系统某些事情吗?从功能观点看,这些事件能做 什么? • 行为者的日常工作是否因为系统的新功能而被简化 或提高了效率?
4. 用例之间的关系
UML用例之间主要有扩展和使用两种关系, 它们是泛化关系的两种不同形式。 (1) 扩展关系
向一个用例中添加一些动作后构成了另一 个用例。 (2) 使用关系
当一个用例使用另一个用例时,这两个用 例之间就构成了使用关系。
图9.18 含扩展和使用关系的用例图
-
图9.18 含扩展和使用关系的用例图 9.6.2 用例建模
用例具有下述特征:
(1) 用例代表某些用户可见的功能,实现一个具 体的用户目标;
(2) 用例总是被行为者启动的,并向行为者提供 可识别的值;
(3) 用例必须是完整的。
登记课程
•UML中用例用一个椭圆来表示,用例的名字可以写在椭圆
的内部或下方。
-
脚本
脚本:
通常把用例的实例称为脚本。脚本是系统的一 次具体执行过程。
①定义系统,②寻找行为者和用例,③描述用例, ④定义用例之间的关系,⑤确认模型。其中,寻找行 为者和用例是关键。
1. 寻找行为者
1. 寻找行为者
为获取用例首先要找出系统的行为者,可以通过请系统的用 户回答一些问题的办法来发现行为者。下述问题有助于发现行为 者:
ห้องสมุดไป่ตู้谁将使用系统的主要功能(主行为者)? 谁改变系统的数据?谁从系统获取信息?
UML 图:用例图
• 用例图(Use Case Diagram)
- 用例图定义了系统的功能需求,它完全是从系统外 部观看系统功能,并不描述系统内部对功能的具体 实现。 - 用例图表示了用例、参与者及其它们之间的关系。
• UML 符号
用例 参与者
-
53
• 用例图显示一组用例,参与者以及它们之间的关系。 用于需求分析阶段,即确定“谁使用系统以及做什 么”。
-
用面向对象观点建立系统的模型,能够促进和加深 对系统的理解,有助于开发出更容易理解、更容易 维护的软件。
通常,建立起3种不同的模型。它们分别是 描述系统静态结构的对象模型、使用UML的类图来 建立 描述系统控制结构的动态模型、使用UML的状态图 来建立 描述系统计算结构的功能模型。使用数据流图或 UML的用例图来建立功能模型。在UML中把用用例 图建立起来的系统模型称为用例模型。
• 画好用例图是由软件需求到最终实现的第一步。
• 用例图的主要元素是用例和参与者. • 用例图着重于从系统外部参与者的角度来描述系统
需要提供哪些功能,并且指明这些功能的参与者是 谁。
• 图9.17是自动售货机系统的用例图。
-
图9.17 自动售货机系统用例图 2. 用例
2. 用例
一个用例是可以被行为者感受到的、系统的一个 完整的功能。
9.7 3种模型之间的关系
9.7 3种模型之间的关系
面向对象建模技术所建立的3种模型,分别从3个 不同侧面描述了所要开发的系统。这3种模型相互补 充、相互配合,使我们对系统的认识更加全面:
对象模型则定义了做事情的实体。 功能模型指明了系统应该“做什么”; 动态模型明确规定了什么时候,在何种状态下接受 了什么事件的触发,做;
面向对象方法学比较自然地模拟了人类认识客 观世界的思维方式,它所追求的目标和遵循的基 本原则,就是使描述问题的问题空间和在计算机 中解决问题的解空间,在结构上尽可能一致。
-
面向对象方法学认为,客观世界由对象组成。不同 对象彼此间通过消息相互作用、相互联系,从而构 成了我们所要分析和构造的系统。系统中每个对象 都属于一个特定的对象类。类是对具有相同属性和 行为的一组相似对象的定义。应该按照子类、父类 的关系,把众多的类进一步组织成一个层次系统, 这样做了之后,如果不加特殊描述,则处于下一层 次上的类可以自动继承位于上一层次的类的属性和 行为。
相关文档
最新文档