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/zh-hant/n/324987.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TVBOS的頭像TVBOS
上一篇 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

發表回復

登錄後才能評論