電(diàn)梯控制系统软件架构及预计实现结果
2017-10-28
電(diàn)梯控制的软件框架由電(diàn)梯的模式作為(wèi)主體(tǐ)框架,以完成模式下的功能(néng)為(wèi)驱动进行设计,各个模式的简介如下:
故障修理(lǐ)模式:由管理(lǐ)员手动切换,在故障模式下工程人员可(kě)以实现对于電(diàn)梯的故障检修
一般运行模式:由管理(lǐ)员手动切换,一般运行模式是電(diàn)梯的主要模式,完成電(diàn)梯的主要功能(néng)
直接运行模式:由用(yòng)户切换或者管理(lǐ)员切换,直接运行模式下,電(diàn)梯可(kě)以从当前层面直接到达底层。当出现火宅或者有(yǒu)病人需要急救时可(kě)以避免電(diàn)梯在中间层停靠,以此争取宝贵的时间
電(diàn)梯控制系统预计实现结果
一些头文(wén)件的申明
一些变量的申明
#define repairMode 00
#define generalrunMode 01
#define direcltyrunMode 10
int setModeR_G(int currentMode int premode); //负责状态之间的切换
int setModeG_R(int currentMode int premode); //mode為(wèi)两位变量,由拨码开关在I/O口读入
int setModeG_D(int currentMode int premode);
int setModeD_G(int currentMode int premode);
//状态切换会返回置位bool量 modechange
int getmode() //读取mode的当前的值,并且刷新(xīn)mode和premode
Void lcd_initialize(void) //负责显示屏的初始化
Void port_initalize(void) //负责端口的初始化
Void motor_initalize(void) //负责電(diàn)机的初始化
Void lighting_initalize(void) //负责照明的初始化
Void elevatordoor_initalize(void) //负责電(diàn)梯门的初始化
Void lcd_display(int temperature); //负责温度的显示
Void eledoor_allopen(); //電(diàn)梯门在检修模式下常开
Void eledoor(); //電(diàn)梯门在其他(tā)两个模式下的运行方式
Void motor_stop();
int motor_genrun();
int motor_dirrun(); //返回一个Int值dooropen為(wèi)1,控制電(diàn)梯门的开启
//電(diàn)梯在三种模式下的运行方式
Void light_display(int pressure); //電(diàn)灯的开关控制
Void communicate(); //通信方法
Void repair() //检修模式下的工作方式
{
While(modechange==0)
{
Communicate();
Eledoor_allopen();
Light_display();
Lcd_display(int temperature);
Int getmode();
If(premode==01&&mode==00)
setModeG_R();
}
}
Void generalrun() //一般运行模式下的工作方式
{
While(modechange==0)
{
Communicate();
Light_display();
Lcd_display(int temperature);
If(premode==01&&mode==00)
setModeG_R();
If(premode==01&&mode==10)
setModeG_D();
}
}
Void directlyrun() //直接运行下的工作方式
{
While(modechange==0)
{
Communicate();
Light_display();
Lcd_display(int temperature);
Int getmode();
If(premode==10&&mode==01)
setModeD_G();
}
}
Void initialize(void) //负责总體(tǐ)的初始化
{
currentMode=generalrunMode;
Lcd_initialize();
Port_initialize();
motor_initalize();
lighting_initalize();
elevatordoor_initalize();
}
Int main()
{
Initialize();
While(1)
{
Switch(currentMode)
{
Case repairMode;
Repair();
Break;
Case generalrunMode;
Generalrun();
Break;
Case directltyrunMode;
Directltyrun();
Break;
}
}
}
以上就是小(xiǎo)编今日為(wèi)大家带来的全部内容咨询,更多(duō)電(diàn)梯控制系统信息访问多(duō)奥科(kē)技官网:www.duoao.com