团队大作业_第三周总结

一、第三周任务概述

这周我们组完成了课程大作业,整个课程学习算是告一段落了,但我觉得之后的学习还远远没有结束,在这门课上学到的很多软件工程的构建思想和方法还将在接下来的学习、工作中不断地延续下来。

这周我们组完成了最后的两个阶段,基于MATLAB工具,对模块C代码进行Software in Loop测试以及Processor in Loop测试,得到测试报告,,以及项目总结和软件说明文档的编写。我所负责的部分主要是软件说明文档的编写。

二、 咖啡机实时控制软件说明书

1 引言

1.1. 编写目的

编写本说明书的目的是充分叙述本小组所设计的咖啡机实时控制软件所能实现的功能及其运行环境,以便于使用者了解本软件的使用范围和使用方法,并为软件的维护提供必要的信息。

1.2. 参考资料

邹欣. 构建之法--现代软件工程(第三版). 北京:人民邮电出版社,2017年
Robert Oshana, Mark Kraeling编,单波等译. 嵌入式系统软件工程-方法、实用技术及应用. 北京:清华大学出版社,2016年
Stateflow Getting Started Guide, MATLAB & SIMULINK

2 软件概述

2.1. 软件用途

本软件功能为:使自动咖啡机能够按照用户需求自动完成咖啡的制作流程。

2.2. 软件运行

通过软件运行完成制作流程为:Feeder机构取一空杯放到传送带上,传送带把空杯送到龙头下,牛奶、糖浆、浓缩咖啡液和热水按照配方比例混合后装入空杯,传送带把满杯的咖啡送到用户取杯处,用户取走咖啡后,自动咖啡机可以继续响应面板上的按钮制作下一杯咖啡。

2.3. 软件结构

2.4. 软件性能

软件实时性较好,能够根据用户不同的需求,响应不同的指令,完成不同的工作流程,通过SIL、PIL测试,生成的C代码和机器代码可以编译成功,能在硬件上使用。

2.5. 输入、处理、输出

功能1 自动提供空杯
输入:两个光电传感器,开关信号。
参数:cup_stock ; sensor1;switch。
处理过程:当用户选择咖啡之后,若检测到库存是有空杯,且转盘下无空杯时,下落一个空杯。
输出:motor1

功能2 转盘转移空杯
输入:两个光电传感器
参数:sensor1;sensor2。
处理过程:当sensor1检测到有空杯下落时,转盘转半周,转盘下落,复位。
输出:motor2;cylinder1。
功能3传送带输送杯子
输入:三个光电传感器
参数:sensor2;sensor3;sensor4。
处理过程:当sensor2检测到有空杯时,传送带运行,直到sensor3检测到空杯,停止转动,延时15s,继续运行,sensor4检测有空杯,传送带停止。
输出:motor3。

功能4提供热水
输入:一个光电传感器,开关信号。
参数:sensor3,switch
处理过程:当开关信号非零且sensor3检测到有空杯时,打开水泵和加热装置,延时10s,关闭所有装置。
输出:pump;heating。

功能5提供配方
输入:一个光电传感器,开关信号。
参数:sensor3,switch 。
处理过程:当开关信号非零且sensor3检测到有空杯时,根据不同的开关信号,打开不同的原料开关。
输出:Milk;Sugar;Coffee。

功能6搅拌咖啡
输入:一个光电传感器。
参数:sensor3
处理过程:当sensor3检测到有空杯时,打开搅拌电机,持续10s,打开龙头。
输出:Mix1;Tap1 。

3 软件使用过程

3.1. 软件安装

本软件是基于MATLAB/SIMULINK下的stateflow开发的,因此需要安装Matlab R2017。

3.2. 运行说明

3.2.1. 控制输入

这里的输入即为总开关状态及各个模块的开关及传感器状态。

3.2.2. 输入输出文件

自动咖啡机stateflow模型

自动生成的模块C代码文件

3.2.3. 输出报告

SIL和PIL测试报告

4 软件维护说明

原文地址:https://www.cnblogs.com/zss19951231/p/7788449.html