学习笔记(第十周)

一、系统硬件接口定义

1.楼层硬件接口

每层电梯口有两个按钮“上行”和“下行”(第一层与第七层分别只有“上行”和“下行”),两个LED数码管分别显示左右两个电梯所在的楼层,箭头LED灯指示该电梯的运行状态(向上,向下,停止)。两个按钮即为电气开关,控制电梯的上行和下行。

2.电梯内部接口

电梯轿厢内有从“1”到“7”共7个数字按钮用来选择目的楼层,每个按钮上有个LED灯亮就表示该层被选中。一个LED数码管显示当前楼层,有“开”和“关”及“紧急报警”三个按钮,并配有LED灯。

3.其他

每部电梯由一台交流异步变频电机和变频器控制,PLC给变频器发送三个开关量信号:正转、反转、停止。电梯外面的“上”“下”按钮以及电梯内部的目标楼层号可以看做电机的输入信号。

二、系统功能定义

1.人机交互功能

电梯是一个半自动化的装置,需要和乘客顺利的进行交互,乘客需要选中想去的楼层。楼层控制面板上的“上”“下”行按钮以及电梯轿厢内的目标楼层号按钮可实现该功能。

2.电梯运行功能

电梯的运行状态需要在楼层面板以及电梯内部面板显示出来。每层电梯口有两个按钮“上行”和“下行”,有两个LED数码管分别显示左右两个电梯所在的楼层,数码管旁有箭头LED灯指示该电梯的运行状态(向上,向下,停止)。电梯轿厢内有一个LED数码管显示当前楼层。电梯需要一个状态检测的功能:检测自身目前所处楼层,门的开启关闭状态,电机的转速等等。当有人按下楼层的上行和下行按钮时,电梯控制系统调度一部电梯尽快到达乘客所在的楼层。电梯轿厢在楼层停稳后延迟2秒钟打开电梯门,电梯门打开后延迟10秒后电梯门自动关闭,在此期间如有人按下关闭按钮则立即关闭电梯门。在电梯门关闭过程中如有人在外面按下与电梯运行方向一致的按钮或有人在轿厢内按下开门按钮,则电梯门再次打开,一旦电梯门关闭,则不再响应按钮。决策的能力可以通过程序设计者来完成。

三、软件功能模块分解和模块间接口定义

软件功能模块大致可以分为动力控制模块、显示功能模块、检测功能模块。动力控制模块的信号来源之一就是检测功能模块,相当于反馈。检测信号处理模块将状态检测信号或者来自乘客的输入信号进行处理,作为电机控制信号的一个输入端口,因此检测功能模块与显示功能模块间可以进行双向传输。

时间: 2024-10-29 19:08:57

学习笔记(第十周)的相关文章

学习笔记——第十周学习笔记

一. 使用ADO.NET改写控件载入信息的代码 1 EduBase eduBase=new EduBase(); 2 var student=(from s in eduBase.student 3 where s.No=="3120707001" 4 select s).FirstOrDefault(); 5 var classes=from c in eduBase.Class 6 select c; 7 this.cmb_Class.DataSource=Class; 8 thi

Python学习笔记第二十周

目录: 一.ORM 1.查询补充 内容: 一.ORM 1.查询补充: 1.models.USR.objects.all().values('id','name') 这个语句相当于SQL语句中的select id,name from USER  ,表示可以单独取某几列的值,取得的值仍然是QuerySet,但是内部元素变为字典 2.models.USR.objects.all().value_list('id','name') 表示可以单独取某几列的值,取得的值仍然是QuerySet,但是内部元素变

学习笔记 第十周 第一篇

1. 逆变电路 把对应于整流的逆向过程称为逆变(直流电转为交流电).如果把变流器的交流侧接到交流电源上,把直流电逆变为同频率的交流电反馈到电网去,则称为有源逆变:如果变流器交流侧接到负载,把直流电逆变为某一频率或可变频率的交流电供给负载,则称为无源逆变. 2. 有源逆变电路 工作原理 3. 无源逆变电路 工作原理 单相电压型逆变电路 三相电压型逆变电路(可看作三个半桥逆变电路组成) 电流型逆变电路 4. PWM控制技术 基本原理(冲量等效原理)(面积等效原理)

UI学习笔记---第十天UITableView表视图编辑

UITableView表视图编辑 表视图编辑的使用场景 当我们需要手动添加或者删除某条数据到tableView中的时候,就可以使用tableView编辑.比如微信 扣扣中删除和某人的通话 当我们需要手动调整单元格的顺序时,就可以通过tableView移动,移动单元格到指定位置 代理AppDelegate.m中代码 #import "AppDelegate.h" #import "RootViewController.h" @implementation AppDel

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

SaltStack 学习笔记 - 第十二篇: SaltStack Web 界面

SaltStack 有自身的用python开发的web界面halite,好处是基于python,可以跟salt的api无缝配合,确定就比较明显,需要个性化对web界面进行定制的会比较麻烦,如果喜欢体验该界面的可以参考下面的文章  http://rfyiamcool.blog.51cto.com/1030776/1275443/ 我是运用另一个python+php来进行web开发,具体需要的工具有在我的另一篇文章里面介绍过,这里再重新进行整个开发介绍 首先介绍php 跟python通信的工具 pp

Android学习笔记(十四)——在运行时添加碎片(附源码)

在运行时添加碎片 点击获取源码 将UI分割为多个可配置的部分是碎片的优势之一,但其真正强大之处在于可在运行时动态地把它们添加到活动中. 1.使用上一篇创建的Fragments项目,在main.xml文件中注释掉两个<fragment>元素: 2.在FragmentActivity.java中添加下面的代码: FragmentManager fragmentManager = getSupportFragmentManager();//向活动添加碎片 FragmentTransaction fr

Android学习笔记(十五)——碎片的生命周期(附源码)

碎片的生命周期 点击下载源码 与活动类似,碎片具有自己的生命周期.理解了碎片的生命周期后,我们可以在碎片被销毁时正确地保存其实例,在碎片被重建时将其还原到前一个状态. 1.使用上一篇的项目Fragments,在Fragment1.java文件中添加如下代码: package net.zenail.Fragments; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragm

angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource