实时控制软件第二次作业--停车场门禁控制系统状态机

author author     2022-08-16     505

关键词:

作者:李君威U201310747

    状态机图示:

技术分享

 

将起落杆的位置状态和通行灯信号作为两个类对象,汽车出入闸传感器信号作为输入,编写代码:

 1 // qichemenjin.cpp 
 2 //Copy right by Justin.
 3 
 4 #include "stdafx.h"
 5 #include <iostream>
 6 using namespace std;
 7 class Liftlever
 8 {
 9 public:
10     bool Leverstate;  //起落杆位置
11     void Changeleverstate()
12     {
13         Leverstate = !Leverstate;
14     };
15 };
16 
17 class Light
18 {
19 public:
20     bool Lightstate;  //通行灯信号
21     void Changelightstate()
22     {
23         Lightstate = !Lightstate;
24     };
25 };
26 
27 void showleverstate(bool state) 
28 {
29     if(state==true)
30         cout << "起落杆升起" << endl;
31     else
32         cout << "起落杆落下" << endl;
33 };
34 
35 void showlightstate(bool state)
36 {
37     if (state == true)
38         cout << "绿灯亮" << endl;
39     else
40         cout << "红灯亮" << endl;
41 };
42 
43 Liftlever Liftleverdemo;
44 Light Lightdemo;
45 
46 bool Controlsystem(char car)
47 {
48     switch (car)
49     {
50     case y:
51         Liftleverdemo.Changeleverstate();
52         break;
53     case n:
54         break;
55     };
56 
57     showleverstate(Liftleverdemo.Leverstate);
58     
59     switch (Liftleverdemo.Leverstate)
60     {
61     case true:
62         Lightdemo.Lightstate = true;
63         cout << "绿灯亮" << endl;
64         break;
65     case false:
66         Lightdemo.Lightstate = false;
67         cout << "红灯亮" << endl<<endl;
68         break;
69     };
70     return Lightdemo.Lightstate;
71 };
72 
73 
74 int main()
75 {
76     char carin;
77     char carout;
78     while (1)
79     {
80         cout << "是否有车辆进入?(y/n)" << endl;
81         cin >> carin;
82         bool nextstep = Controlsystem(carin);
83         while (nextstep)
84         {
85             cout << "车辆是否已经驶出?(y/n)" << endl;
86             cin >> carout;
87             nextstep = Controlsystem(carout);
88         };
89     };
90     return 0;
91 }

运行结果:

技术分享

实时控制软件设计第二周作业-停车场门禁控制系统状态机设计

门禁控制系统的输入信号包括:起落杆位置传感器:有两个位置值信号(升起/落下)汽车入闸传感器:有两个值(True/False)汽车出闸传感器:有两个值(True/False)门禁控制系统的输出信号包括:起落杆电机控制信号:(上升/... 查看详情

实时控制软件设计作业_02_停车场门禁系统状态机

根据课堂内容,该状态机系统的状态图可描述如下: 根据状态图设计的状态机系统,C语言代码如下:1#include<iostream.h>2usingnamespacestd;34boolin=false;//汽车入闸传感器值5boolout=false;//汽车出闸传感器值6boolpos=false;//起落杆位置... 查看详情

实时软件控制第二周作业

停车场门禁控制系统的状态机设计门禁控制系统的输入信号包括:起落杆位置传感器:有两个位置值信号(升起/落下)汽车入闸传感器:有两个值(True/False)汽车出闸传感器:有两个值(True/False)门禁控制系统的输出信号包括... 查看详情

第二周作业停车场门禁控制系统状态机

根据要求一、输入信号1、入闸传感器:汽车进入carin2、出闸传感器:汽车离开carout3、起落杆上传感器,起落杆上升sensorup4、起落杆下传感器,起落杆下降sensordown二、输出动作1、起落杆的生降2、红绿灯的变换三、状态跃迁及触... 查看详情

实时控制软件设计第二周作业

一.汽车出入门禁系统状态机设计状态机所有状态:入闸传感器(两种状态):Ture False (分别用ET和EF表示)出闸传感器(两种状态):Ture False (分别用OT和OF表示)起落杆(两种状态):    UPDOWN  ... 查看详情

停车场门禁系统状态机

...杆位置传感器到达落下位置。通行灯变为红灯。所描述的控制系统的状态机包括:状态机的所有状态状态机所接收到的外部事件状态机所产生的动作状态机的所有状态跃迁:( 查看详情

停车场门禁控制系统的状态机

其状态机如下图:#include<iostream>usingnamespacestd;voidmain(){charenter_or_out;//1表示入闸传感器ture,0表示出闸传感器tureintup_or_downt=0;//1表示起落杆升起,0表示起落杆落下cout<<"状态初始化..."<<‘ ‘;cout<<"当前状态为起落杆... 查看详情

实时控制软件第二次作业

0.Fork例程到自己的GitHub账号:开发环境搭建1.QEMU安装建议使用qemu-system-gnuarmeclipse,该qemu分支对stm32f4有更好的支持,主要面向Eclipse开发环境。到网页 https://github.com/gnu-mcu-eclipse/qemu/releases/tag/gae-2.8.0-20161227 下载二进制文件... 查看详情

《实时控制软件》第二周作业

首先制定各个变量名称入闸传感器:sensor_in;出闸传感器:sensor_out;起落杆上升:gan.raise();起落杆下降:gan.down();信号灯:light(1为绿,0为红);通行状态:A0为禁止通行,A1为允许通行;竖着写(在状态中判断事件)C代码片段cur_st... 查看详情

《实时控制软件设计》第二周作业

 状态分析由题目描述,只有两种不同事件,一个是车辆进入,一个是车辆离开,与之对应的传感器信号,起落杆信号,通行灯信号都是一同变化,因此可以简化成两种复合状态。 代码实现 传感器头文件////Createdbyzhuha... 查看详情

第二周作业

状态机的所有状态等待汽车起落杆上升汽车通行起落杆下降 状态机所接收到的外部事件入闸传感器:汽车进入门禁s_in出闸传感器:汽车通过门禁s_out起落杆位置传感器:起落杆到达顶部s_up起落杆位置传感器:起落杆到达底... 查看详情

sdn第二次作业

...发抽象、分布状态抽象和配置抽象这3类虚拟化概念。由控制层抽象的全网视图,进行网络的统一配置,就可以自动完成沿路径转发设备的统一部署。网络抽象思想解耦了路径依赖,成为数据控制分离且SDN产生的决定因素。2.特点... 查看详情

第二次作业

...并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。坚持进行阶段评审统计结果显示:大部分错误是在编码之前造成的,大约占63%错误发现的越晚,改正它要 查看详情

软件工程第二次作业

...  1.编写一个程序实现一个文件中单词统计。  2.从控制台输入文件的名字,然后统计单词的数目。  3.指定文件目录进行遍历,分别对每一个文件中的单词进行统计,输入前十个出现频次最高的单词及相应的次数。  4.... 查看详情

第二次作业

...准化的作用是什么。软件1,物联智能家居APP,特点远程控制智能家居,例如可在公司控制家中窗帘开关。优点简洁方便,可创造联动的实现自动感应,缺点对网速要去大花费流量多。他并不以盈利为目的,不以此直接赚钱,而... 查看详情

第二次作业

...版本库格式进行托管,故名gitHub。2.git有什么用git是版本控制软件,目前最先进最流行的github是一个网站,用于广大开发者开源自己的代码,也提供私有仓库的付费功能,而它采用的版本控制软件就是gitGitHub是基于git的代码库托... 查看详情

大华门禁sdk二次开发(代码片段)

...以正常接收门禁开关事件,可以发送开门命令。基于项目实时性要求,这里使用SignalR实现门禁状态、控制命令的实时传送。几种场景需求根据SignalR的设计规则,Client端可以主动调用服务端Hub的多个方法,但是客户端被动接收消... 查看详情

第二次作业

...天工具,它已经深深地嵌入我们生活每一个方面。优点:实时性(可以和天南海北的人实时进行信息交流)、多面性(和多方面的业务公司有合作,一个QQ号既可以玩游戏又可以进行支付 查看详情