c语言编辑电梯,c语言电梯控制系统

本文目录一览:

用C语言编写一个关于电梯的程序

这是以前作的课程设计,是一个10层电梯的模拟,供楼主参考吧:

printf(“上下选择:1-上楼,2-下楼\t”);

scanf(“%d”,input_direction);

fflush(stdin);

printf(“输入该层的乘客想到达的楼层,以-1结束\n”);

void check(liftor myliftor) int flag1=0,flag2=0,flag3=0;

for(i=0;i10;i++)

{

if(myliftor.stored_flare[i]!=0)

flag1=1;

if(myliftor.stored_flare[i]==1)

flag2=1;

if(myliftor.stored_flare[i]==2)

flag3=1;

}

if(!flag1) myliftor.set_direction(0);

else if(!flag2flag3) myliftor.set_direction(2);

else if(!flag3flag2) myliftor.set_direction(1);

int main(int argc, char *argv[])

liftor myliftor;

char flag;

int j;

myliftor.direction=1;

printf(“**************************************\n”);

printf(“该程序用于模拟10(0-9)层的电梯控制\n”);

printf(“先输入按下电梯的层号及上下选\n择(类似电梯外的按钮)\n”);

printf(“每到一层时,输入乘客要到的楼\n层号(类似电梯内的按钮)\n”);

急求用c语言实现电梯控制

原地址带图片

:

1 前言

电梯的电气系统由拖动系统和控制系统两部分组成。传统的电气控制系统采用的继电器逻辑控制由于触点多、故障率高、可靠性差、体积大等缺点,正逐渐被淘汰。目前电梯设计使用可编程控制器(PLC),要求功能变化灵活,编程简单,故障少,噪音低。维修保养方便,节能省工,抗干扰能力强,控制箱占地面积少。当乘员进入电梯,按下楼层按钮,电梯门自动关闭后.控制系统进行下列运作:根据轿厢所处位置及乘员所处层数.判定轿厢运行方向,保证轿厢平层时减速。将轿厢停在选定的楼层上;同时,根据楼层的呼叫,顺路停车,自动开关门。另外在轿厢内外均要有信号灯显示电梯运行方向及楼层数。

MCGS(Monitor and Control Generated System,通用监控系统)是一套用于快速构造和生成计算机监控系统的组态软件,能够在Windows平台上运行。通过对现场数据的采集处理。以动画显示、报警处理、流程控制、实时曲线、历史曲线和报表输出等多种方式。向用户提供解决实际工程问题的方案。充分利用windows图形功能完备、界面一致性好、易学易用的特点。比以往使用专用机开发的工业控制系统更具通用性.在自动化领域有着更广泛的应用。本文利用MCGS组态软件检验电梯PLC控制系统的运行情况。

2 电梯PLC控制系统

S7-200可编程控制器是德国西门子公司研制的一种新型可编程控制器。它工作可靠,功能强,存储容量大,编程方便,输出端可直接驱动2A的继电器或接触器的线圈,抗干扰能力强。因此,能够满足电梯对电气控制系统的要求。S7-200系列小型PLC(Micro PLC)可应用于各种自动化系统。紧凑的结构。低廉的成本12.b~功能强大的指令集使得S7-200 PLC成为各种小型控制任务理想的解决方案。利用西门子S7-200可编程序控制器编写一个四层电梯的控制系统。分别完成轿内指令、厅外召唤指令、楼层位置指示、平层换速控制、开门控制等控制任务。

STEP 7-Micro/WIN 32是S7-200系列的PLC的编程软件.可以对S7-200的所有功能进行编程。该软件在WindOW8平台上运行。基本操作与omce等标准WindOWS软件相类似,简单、易学。其基本功能是协助用户完成应用软件任务。例如创建用户程序、修改和编辑过程中编辑器具有简单语法检查功能。还可以直接用软件设置PLC的工作方式、参数和运行监控。

2.1 电气控制系统

图l为本系统的组成框图。

图中。输出为:l、电动机;2、上下行接触器;3、快慢速接触器;4、位置指示;5、门锁。输入为:6、轿内指令;7、厅外指令;8、门区感应;9、手动开关门;10、楼层感应。

2.2 PLC系统部分

完成所设定的控制任务所需要的PLC规模主要取决于控制系统对输入,{禽出点的需求量和控制过程的难易程度。

(1)I/O点的估算:

系统的输入点有:门厅召唤按钮6个输入点;轿内指令按钮4个点;楼层感应器4个点;门区感应l点;手动开门l点:共计输入点16点。而输出点有:快慢速接触器2点;上下行接触器2点;楼层指示灯4点;门锁1个点;共计输出点9点。总计I/O点数为16/9;

(2)可编程控制器S7-200的CPU226输入,输出点数为24/16。足以满足要求。

3 电梯PLC控制系统设计

因篇幅有限。仅将电梯指示及上下行程序列出说明。

3.1楼层状态指示设计

当电梯运行至某层有指令发出时.指示位置及指令。以二层为例:

3.2电梯下行程序设计

以电梯在三层下行情况为例。当电梯的一或二层有指令时,将三层下行位置1,同时无上行,驱动电梯下行。程序说明如下:

3.3电梯上行程序设计

以电梯在二层上行情况为例。程序说明如下:

3.4电梯到达时程序设计

电梯到达某层时。将已完成的指令信号复位。以电梯到达三层为例。程序ig明如下:

4 组态软件模拟电梯PLC控制系统显示设计

MCGsm态软件具有全中文、面向窗口的可视化操作界面。实时性强,有良好的并行处理性能和丰富生动的多媒体画面。MCGSm态软件的开放式结构拥有广泛的数据获取和强大的数据处理功能。同时。提供良好的安全机制,为多个不同级别用户设定不同的操作权限。MCGS组态软件支持多种硬件设备,实现”设备无关”,用户不必因外部设备的局部改动,而影响整个系统。MCGS组态软件由”MCGS组态环境”和”MCGS运行环境”两个系统组成。两部分互相独立。又紧密相关。

本文利用MCGS组态软件设计。在设备组态窗口中选择适当的串口通讯设备.添加西门子S7-200PLC。正确设置其属性。正确设置组态软件中数据变量设备通道的连接,即可实现PLC与组态软件的通讯。将PLC中的串口驱动程序与组态软件的需求响应相结合,使电脑对PLC发出的信号有响应。在MCGS组态软件的用户窗口中,制作一个动画界面。在界面上设置各个控件的属性,使设置的控件按照真实的情况动作,检验和测试电梯PLC控制系统对电梯的运行状态的控制效果。MCGS用主控窗口、设备窗口和用户窗口来构成一个应用系统的人机交互图形界面.组态配置各种不同类型和功能的对象或构构。可以对实时数据进行可视化处理。组态过程如图2所示:

5 结语

针对这个四层电梯的控制系统.本文采用西门子S7-200可编程控制器设-H-电梯的控制系统完成电梯的轿内指令、厅外召唤指令、楼层位置指示、平层换速控制、开门控制等控制任务。利用MCGS组态软减设计模拟电梯PLC控制系统的运行。将PLC中的串口驱动程序与组态软件的需求响应相结合,加载驱动。使设置的控件能够按照真实的情况动作。检验和测试电梯PLC控制系统对电梯的运行状态的控制效果。实践证明。将PLC可编程控制器和MCGS组态软件结合可以非常好地模拟电梯控制系统的测试运行.有利于PLC控制系统的设-H-、检测,具有良好的应用价值。

参考资料:

用C语言如何描述电梯的运行机制?

printf(“上下选择:1-上楼,2-下楼); scanf(“%d”,input_direction); fflush(stdin);printf(“输入该层的乘客想到达的楼层,以-1结束\n”)。

C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。C语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。

C语言程序编辑电梯先到先服务策略(以下为顺便服务策略,能否用其中的函数解决先到先服务策略)

匿名2012-06-01 //运行控制函数(核心)void control(){ int floor,i,j; /*顺便服务策略 到达目标楼层确定下一目标楼层*/ //S1:电梯向上运行或无运行状态 if(direction==UP){ current_floor=(up_count==0?current_floor:current_floor+1); floor=checkup(current_floor,MAXFLOOR,outside_up); //比当前楼层高的楼层有上行请求 if(floor=MAXFLOOR) dest_floor=floor; //无高层上行请求 从最高层搜索下行请求 else{ floor=checkdown(MAXFLOOR,1,outside_down); if(floor=1) dest_floor=floor; else{ //无下行请求 从最低层搜索上行请求 floor=checkup(1,MAXFLOOR,outside_up); if(floorcurrent_floor) dest_floor=floor; } } } //S2:电梯向下运行 else if(direction==DOWN){ current_floor=(down_count==0?current_floor:current_floor+1); floor=checkdown(current_floor,1,outside_down); //比当前楼层低的楼层有下行请求 if(floor=1) dest_floor=floor; //无低层下行请求 从最低层搜索上行请求 else{ floor=checkup(1,MAXFLOOR,outside_up); if(floor=MAXFLOOR) dest_floor=floor; else{ //无上行请求 从最高层搜索下行请求 floor=checkdown(MAXFLOOR,1,outside_down); if(floorcurrent_floor) dest_floor=floor; } } }if(direction==NONE){ for(i=current_floor;i=9outside_up[i]==0outside_down[i]==0inside[i]==0;i++); for(j=current_floor;j=1outside_up[j]==0outside_down[j]==0inside[j]==0;j–); if(i!=10j!=0){ //上下都搜索到则进行比较 floor=((i-current_floor)=(current_floor-j)?j:i); dest_floor=floor; } else if(i==10j!=0)//只搜索到下行请求 dest_floor=j; else if(j==0i!=10)//只搜索到上行请求 dest_floor=i; } if(dest_floorcurrent_floor) direction=UP; else if(dest_floorcurrent_floor) direction=DOWN; else direction=NONE;}

c语言设定电梯程序

#include

void main()

{

int i,n,largeNum=0,smallNum=0,a[100];

scanf(“%d%d”,n,a[0]);

for(i=1;in;i++)

{

scanf(“%d”,a[i]);

if(a[i]a[0]) largeNum++;

else if(a[i]a[0]) smallNum++;

}

for(i=0;in;i++)

printf(“%d “,a[i]);

printf(“\nlargeNmu=%d,smallNum=%d”,largeNum,smallNum);

}

原创文章,作者:TVBOS,如若转载,请注明出处:https://www.506064.com/n/324987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
TVBOSTVBOS
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论