EDA電梯控制器設(shè)計(jì)_第1頁(yè)
EDA電梯控制器設(shè)計(jì)_第2頁(yè)
EDA電梯控制器設(shè)計(jì)_第3頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、陜渺理N摩俺|EDA技術(shù)綜合課程設(shè)計(jì)課程:EDA技術(shù)綜合課程設(shè)計(jì)題目:電梯控制器所屬院系:電氣工程學(xué)院專業(yè)班級(jí):白控1304班姓名:王軍學(xué)號(hào):1317014092指導(dǎo)老師:張立眾完成地點(diǎn):陜西理工學(xué)院目錄7. 設(shè)計(jì)任務(wù)2可選器材2設(shè)計(jì)框圖2設(shè)計(jì)思路4引腳分配56程序活單9主控模塊仿真16問(wèn)題及改進(jìn)17總結(jié)及感受18參考文獻(xiàn)19設(shè)計(jì)任務(wù)1、設(shè)計(jì)一個(gè)三層的電梯控制器。2、用數(shù)碼管顯示電梯所在的樓層號(hào),電梯初始化后狀態(tài)在第一層樓。3、每層電梯外都有上下樓請(qǐng)求開(kāi)關(guān),電梯內(nèi)部有到各樓層的請(qǐng)求開(kāi)關(guān)及緊急故障開(kāi)關(guān);用數(shù)碼管顯示上行或下行狀態(tài),用發(fā)光二極管顯示是否有緊急情況。4、電梯每秒升(降)一層,電梯到達(dá)

2、有停站請(qǐng)求的樓層后,經(jīng)1秒電梯開(kāi)門,開(kāi)門指示燈亮,開(kāi)門4秒后指示燈滅,關(guān)門,電梯繼續(xù)運(yùn)行。5、當(dāng)電梯被鎖定或發(fā)生緊急情況后,電梯停止運(yùn)行,直到解除鎖定或緊急故障后才可以從停止時(shí)的狀態(tài)繼續(xù)運(yùn)行。6、當(dāng)電梯處于上升狀態(tài)時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求信號(hào),直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢,再進(jìn)入下降模式;同理,電梯處于下降狀態(tài)時(shí),只響應(yīng)比電梯所在位置低的下樓請(qǐng)求信號(hào),直到最后一個(gè)下樓請(qǐng)求執(zhí)行完畢,再進(jìn)入上升模式。1. 可選器件計(jì)算機(jī)組成/ISP實(shí)驗(yàn)箱一臺(tái)(含電源)電源線一根2. FPGA/CPLD下載板一塊(或多塊,可選)(其中下載版選擇以下型號(hào)CycloneEP1C6Q240C8)并行口下載電纜

3、一根電壓表棒一付實(shí)驗(yàn)指導(dǎo)書一份配套集成電路芯片若十設(shè)計(jì)框圖系統(tǒng)主要分為:主控制模塊control,包含狀態(tài)機(jī),控制電梯的運(yùn)行及狀態(tài)轉(zhuǎn)換;消抖模塊unshakq消除開(kāi)關(guān)電路的抖動(dòng)現(xiàn)象,確保邏輯的正確性;顯示模塊display,內(nèi)含譯碼功能,配合控制器顯示電梯的工作狀態(tài)模塊框圖見(jiàn)圖1,總體框圖詳見(jiàn)圖2L呻ntitamnuptiwcdcxritokckltghtdodvnthrs!pfl.JDjse1時(shí)云叫僵EWClighEd4*n尊.而thTHsrnv«Q¥trkwk*_!Ti!i傾1圖1各模塊框圖“33?篇胃blHI'HLEblEJHR一信:£HTrmFFL

4、FnuX芝一-¥1電r-a"n'ilT-O§苗=1r£-SVE3的=1巖.1膏=(J_$"b£mKS3U:.',:£-.":.!:An_善w專§”,1.Arilll'-1bJ,i住TikDd:idt71XTL|k1MLvl1iE專*i"s9專1-HI,l:»rt碩t*TrliTlnu'rE*1?-.'-A當(dāng)史-豆苫一TU器|一冒室:i擊L|運(yùn)蘭。阜L'1ftr.1Q蜃芒圖2系統(tǒng)總體框圖孕rr3E一長(zhǎng)莒翌一S*京低61«.:_jS

5、耳A1. 設(shè)計(jì)思路對(duì)于電梯控制邏輯的實(shí)現(xiàn),主要是控制模塊control,故下面主要介紹控制模塊control的設(shè)計(jì)思想??刂颇Kcontrol有一個(gè)進(jìn)程k1,其中乂設(shè)置了一個(gè)計(jì)數(shù)變量cnt,范圍為1-200000CL計(jì)數(shù)變量cnt其實(shí)是起到分頻器的作用,產(chǎn)生了一個(gè)1HZ勺時(shí)鐘,在cnt計(jì)數(shù)200000啾的時(shí)間內(nèi)(即1s),運(yùn)行控制電梯升降、停留的程序,這些部分相當(dāng)于以1HZI勺時(shí)鐘觸發(fā);而系統(tǒng)主頻時(shí)鐘2MH作為觸發(fā)時(shí)鐘不斷檢測(cè)用戶是否有請(qǐng)求輸入,或者電梯是否有異常情況。對(duì)于一、二、三層信號(hào),分別由flag1、flag2、flag3和clear1、clear2、clear3兩套標(biāo)志為來(lái)控制輸入請(qǐng)

6、求是否有效,是否應(yīng)該對(duì)標(biāo)志位活零。2. 主要規(guī)則是:當(dāng)一層(upone、one)、二層(uptwo、downtwotwo)或三層(downthree、three)的輸入信號(hào)有效時(shí),相應(yīng)標(biāo)志位flag1、flag2、flag3置T,表明該層有請(qǐng)求。當(dāng)一層(upone、one)、二層(uptwo、downtwotwo)或三層(downthree、three)的輸入信號(hào)無(wú)效時(shí),相應(yīng)標(biāo)志位clear1、clear2、clear3置1,表明相應(yīng)得到達(dá)樓層請(qǐng)求已經(jīng)在上一個(gè)時(shí)鐘沿完成;同時(shí)對(duì)應(yīng)的標(biāo)志位flag1、flag2、flag3置、,表明相應(yīng)樓層無(wú)請(qǐng)求。updown信號(hào)值為T時(shí)表明電梯處于上升狀態(tài),為

7、0'時(shí)處于下降狀態(tài)。程序有兩個(gè)信號(hào)表示電梯的狀態(tài):一是位置狀態(tài),二是運(yùn)行狀態(tài)。position表明電梯的位置狀態(tài),是一個(gè)取值13的整數(shù),分別表示電梯處于第一、二、三層;state表示電梯的運(yùn)行狀態(tài),使枚舉數(shù)據(jù)類型,共10個(gè)值,分別是:-states為電梯所處的各個(gè)狀態(tài)-up1表示電梯正在從第1層上升-up2表示電梯正在從第2層上升-down1表示電梯正在向第1層下降-down2表示電梯正在向第2層下降-stop表示電梯停止在某一層上-dw1表示電梯開(kāi)門的第一秒-dw2表示電梯開(kāi)門的第二秒-dw3表示電梯開(kāi)門的第三秒-dw4表示電梯開(kāi)門的第四秒,判斷電梯的下一個(gè)狀態(tài)-dw5表示當(dāng)電梯處于

8、上升或下降狀態(tài)時(shí),如果沒(méi)有相應(yīng)的上升或下降請(qǐng)求信號(hào),則轉(zhuǎn)入dw5狀態(tài),使其不再在上升或下降狀態(tài)停留,而響應(yīng)其它信號(hào)程序利用case語(yǔ)句實(shí)現(xiàn)這10個(gè)狀態(tài)間的相互轉(zhuǎn)移。引腳分配詳見(jiàn)下圖狀態(tài)流程圖1、頂層流程圖解否2、以下是較具體的狀態(tài)轉(zhuǎn)化圖程序活單丫肖抖模塊(程序分兩欄排版)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityunshakeisport(clk:instd_logic;-時(shí)鐘,10HZ;key:instd_logic;-開(kāi)關(guān)信號(hào)

9、;keyout:outstd_logic);-消抖之后的開(kāi)關(guān)信號(hào)end;architectureaofunshakeissignalcp:std_logic;signaljsp:integerrange0to3;beginprocess(clk)beginif(clk'eventandclk='1')thenifkey='1'thenifjsp=3thenjsp<=jsp;elsejsp<=jsp+1;endif;ifjsp=1thencp<='1'elsecp<='0'endif;elsejsp&

10、lt;=0;endif;endif;keyout<=cp;endprocess;end;顯示模塊(程序分兩欄排版)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitydisplayisport(clk:instd_logic;iflight=1thendisp<="1001111"elsiflight=2thendisp<="0010010"elsiflight=3thendisp&

11、lt;="0000110"endif;endif;endprocess;serout<=disp;end;light:inintegerrange1to3;serout:outstd_logic_vector(6downto0);end;architectureaofdisplayissignaldisp:std_logic_vector(6downto0);beginprocess(clk)beginif(clk'eventandclk='1')then主控模塊libraryieee;useieee.std_logic_1164.all;us

12、eieee.std_logic_unsigned.all;useieee.std_logic_arith.all;_*entitycontrolisport(upone,uptwo,downtwo,downthree:instd_logic;-電梯夕卜乘客的請(qǐng)求信號(hào)one,two,three:instd_logic;-電梯內(nèi)乘客的請(qǐng)求上或下至幾層樓的信號(hào)reset:instd_logic;-復(fù)位初始化開(kāi)關(guān)over,emergency,lock:instd_logic;-超重、緊急停運(yùn)和上鎖信號(hào)clk:instd_logic;-時(shí)鐘信2MHzalarm,ovelight,locklight:ou

13、tstd_logic;-故障、超重及鎖定提示燈p:outintegerrange1to3;-電梯當(dāng)前位置lightup,lightdown:outstd_logic_vector(6downto0);-lightup顯示'u'則電梯在上升模式,-lightdown顯示'd'則電梯在下降模式;arrive:outstd_logic);-arrive為'1'時(shí)表明電梯到達(dá)樓層,并在開(kāi)門狀態(tài)end;*architecturebehaveofcontrolistypestatesis(up1,up2,down1,down2,stop,dw1,dw2,dw

14、3,dw4,dw5);-states為電梯所處的各個(gè)狀態(tài)-up1表示電梯正在從第1層上升-up2表示電梯正在從第2層上升-down1表示電梯正在向第1層下降-down2表示電梯正在向第2層下降-stop表示電梯停止在某一層上-dw1表示電梯開(kāi)門的第一秒-dw2表示電梯開(kāi)門的第二秒-dw3表示電梯開(kāi)門的第三秒-dw4表示電梯開(kāi)門的第四秒,判斷電梯的下一個(gè)狀態(tài)-dw5表示當(dāng)電梯處于上升或下降狀態(tài)時(shí),如果沒(méi)有相應(yīng)的上升或下降請(qǐng)求信號(hào),則轉(zhuǎn)入-此dw5狀態(tài),使其不再在上升或下降狀態(tài)停留,而響應(yīng)其它信號(hào)signalstate:states;signalClear1,clear2,clear3,flag1

15、,flag2,flag3,fl1,fl2,fl3:std_logic;-這些都是標(biāo)志位,控制電梯的狀態(tài)轉(zhuǎn)換-flag1、flag2、flag3代表各層相應(yīng)的請(qǐng)求信號(hào)-clear1、clear2、clear3代表相應(yīng)層的請(qǐng)求已經(jīng)完成,可以接收新的任務(wù)signalposition:integerrange1to3;-電梯的當(dāng)前停留位置signallup,ldown:std_logic_vector(6downto0);-與lightup和lightdown功能相同signalarr:std_logic;-與arrive功能相同signalala,ov,loc:std_logic;-與alarm,o

16、vlight,locklight功能相同begink1:process(clk)variablecnt:integerrange1to2000000;variableupdown:std_logic;beginif(clk'eventandclk='1')thenif(upone='1'orone='1')thenflag1<='1'elsifclear1='1'thenflag1<='0'endif;if(uptwo='1'ordowntwo='1fla

17、g2<='1'elsifclear2='1'thenflag2<='0'-此變量表明電梯處于上升或下降狀態(tài)endif;if(downthree='1'orthree='1')then-flag3<='1'elsifclear3='1'thenflag3<='0'endif;-一層有上樓請(qǐng)求-一層的請(qǐng)求已完成-當(dāng)沒(méi)有新請(qǐng)求信號(hào)則清零ortwo='1')then-二層有請(qǐng)求-二層的請(qǐng)求已完成-當(dāng)沒(méi)有新請(qǐng)求信號(hào)則二層清零三層有請(qǐng)求-三

18、層的請(qǐng)求已完成-當(dāng)沒(méi)有新請(qǐng)求信號(hào)則三層清零if(emergency='1')thenala<='1'elsif(over='1')thenov<='1'elsif(lock='1')thenloc<='1'endif;ifcnt<2000000then-通過(guò)計(jì)數(shù)2000000獲得1s的時(shí)鐘信號(hào)cnt:=cnt+1;-計(jì)數(shù)信號(hào)小于20000000則加1elseifreset='1'then-復(fù)位時(shí),電梯初值設(shè)置在一層,狀態(tài)為stopposition<=1;

19、state<=stop;ovelight<='0'-各狀態(tài)指示燈均滅locklight<='0'alarm<='0'lup<="1111111”;ldown<="1111111"elsefl1<=flag1;fl2<=flag2;fl3<=flag3;-fl1、fl2、fl3置'1'表示相應(yīng)樓層有請(qǐng)求信號(hào),并把相應(yīng)的任務(wù)完成信號(hào)clear-置'0',表示有新的任務(wù)等待完成if(fl1='1')thenclear1&l

20、t;='0'endif;if(fl2='1')thenclear2<='0'endif;if(fl3='1')thenclear3<='0'endif;casestateis-狀態(tài)機(jī)描述whenup1=>up1:正在從一層上升iffl2='0'then-若上升期間二層期間無(wú)請(qǐng)求,則直接上三層clear1<='0'clear3<='0'state<=up2;position<=2;elsestate<=stop;posit

21、ion<=2;fl2<='0'-完成了對(duì)二層請(qǐng)求的響應(yīng);clear2<='1'endif;whenup2=>up2:正在從二層上升clear1<='0'clear2<='0'state<=stop;position<=3;ifposition=2then-如果電梯在第二層position<=3;-那么下一個(gè)位置在第三層fl3<='0'-完成了對(duì)第三層請(qǐng)求的相應(yīng)clear3<='1'elsifposition=1then-如果電梯在第一

22、層position<=2;-那么下一個(gè)位置在第二層fl2<='0'-二層的請(qǐng)求已經(jīng)完成clear2<='1'endif;whendown1=>-正在向第一層下降clear2<='0'clear3<='0'state<=stop;-下一狀態(tài)是stopifposition=2then-如果電梯在第二層position<=1;-那么下一個(gè)位置在第一層fl1<='0'-一層的請(qǐng)求已經(jīng)完成clear1<='1'elsifposition=3thenp

23、osition<=2;fl2<='0'clear2<='1'endif;whendown2=>-正在向第二層下降-如果在下降期間,二層沒(méi)有請(qǐng)求,就直接下到一層iffl2='0'thenclear1<='0'clear3<='0'-下一狀態(tài)轉(zhuǎn)至down1,電梯將會(huì)再下降一層state<=down1;position<=2;-電梯的下一個(gè)位置在第二層elsestate<=stop;-若下降期間二層有請(qǐng)求,則在二層停下position<=2;-位置轉(zhuǎn)至二層fl2

24、<='0'-完成了對(duì)二層請(qǐng)求的響應(yīng)clear2<='1'endif;whenstop=>-在停止?fàn)顟B(tài)if(emergency='1'orover='1')thenstate<=stop;elsestate<=dw1;-下一狀態(tài)轉(zhuǎn)至dw1,電梯會(huì)進(jìn)入開(kāi)門狀態(tài)arr<='1'-arr置'1',表明電梯到達(dá)并開(kāi)門lup<="1111111”;-上升指示燈滅ldown<="1111111"-下降指示燈滅endif;whendw1=

25、>-在dw1狀態(tài)時(shí),等待1sstate<=dw2;-下一狀態(tài)轉(zhuǎn)至dw2whendw2=>state<=dw3;whendw3=>state<=dw4;whendw4=>arr<='0'-開(kāi)門燈滅ifposition=1then-如果電梯在第一層updown:='1'-則進(jìn)入上升模式fl1<='0'-一層的任務(wù)完成clear1<='1'iffl2='1'then-如果二層有請(qǐng)求state<=up1;-先響應(yīng)二層的請(qǐng)求,再響應(yīng)上升一層的請(qǐng)求arr<

26、='0'-維持燈熄滅狀態(tài)lup<="1000001"-上升燈亮,顯示字母'U'elsiffl3='1'then-若三層有請(qǐng)求state<=up1;-響應(yīng)完二層請(qǐng)求信號(hào)后,再響應(yīng)第三層的請(qǐng)求arr<='0'-開(kāi)門燈維持熄滅狀態(tài)lup<="1000001"-上升燈亮,顯示字母'U'endif;elsifposition=3thenupdown:='0'-進(jìn)入下降狀態(tài)fl3<='0'-到達(dá)三層的任務(wù)已完成clear3&l

27、t;='1'iffl2='1'then-若二層有請(qǐng)求state<=down2;-先響應(yīng)二層請(qǐng)求,再轉(zhuǎn)入下降一層的狀態(tài)arr<='0'ldown<="1000010"-下降燈亮,顯示d'elsiffl1='1'thenstate<=down2;-響應(yīng)完二層請(qǐng)求信號(hào)后再響應(yīng)一層的請(qǐng)求arr<='0'ldown<="1000010”;endif;elsifposition=2thenfl2<='0'-到達(dá)二層的任務(wù)已經(jīng)完成cl

28、ear2<='1'ifupdown='1'then-當(dāng)電梯處于上升狀態(tài),不響應(yīng)一層的請(qǐng)求iffl3='1'thenstate<=up2;arr<='0'lup<="1000001”;elsestate<=dw5;-若三層無(wú)請(qǐng)求,就轉(zhuǎn)至dw5狀態(tài)endif;endif;ifupdown='0'then-當(dāng)處于下降狀態(tài),不響應(yīng)三層的請(qǐng)求iffl1='1'thenstate<=down1;arr<='0'ldown<="1

29、000010"-下降燈亮,顯示'd'elsestate<=dw5;-若一層無(wú)請(qǐng)求,就轉(zhuǎn)至dw5狀態(tài)endif;endif;endif;whendw5=>-只要到了dw5的狀態(tài),無(wú)論原來(lái)處于上升或下降狀態(tài),對(duì)三層和一層的信號(hào)都可相響應(yīng)iffl3='1'thenstate<=up2;arr<='0'lup<="1000001"-上升燈亮,顯示字母'U'elsiffl1='1'thenstate<=down1;arr<='0'ldow

30、n<="1000010"-下降燈亮,顯示d'endif;endcase;cnt:=1;-進(jìn)程完成一次全部的狀態(tài)、條件判斷并執(zhí)行相應(yīng)操作后,計(jì)數(shù)信號(hào)重endif;alarm<=ala;ovelight<=ov;locklight<=loc;endif;endif;endprocess;p<=position;-給輸出信號(hào)賦值lightup<=lup;lightdown<=ldown;1. arrive<=arr;end;主控模塊仿真由于顯示和消抖模塊為通用模塊,在此不再贅述仿真結(jié)果,主要給出主控模塊的仿真分析為便于仿真,

31、將主控模塊control單列為一個(gè)工程,并把計(jì)數(shù)變量cnt的值由2000000改為2。jjJfoinUr:-15.31nsSt*rt.En4:Value17.7S_ZalarnviarriveIT0gelkT1wdomthr垂V0djovntvoVDIT0W011ehii&tftU6(HligjitupU65IwkITJloflkLigitV1oneroovelijhtLIoverITJ竺pir。IFresetIT0業(yè)thrt«¥0WtwouponeV0ITD至uptwoIT0HamUtlintBir:H.75ni0H_OLSimuktionWaveformsC.0

32、心17.75ns-Juw8010nsI123.0心.300.0nii240C心28C.0heI22D.0tsi復(fù)位后到簽等畿|SSujuuuuuuuiiwwinnmuiiniuwnnmnmMinmu柘空密冗信號(hào)百以m睛虹運(yùn)行亙習(xí)瞠院5512712701門iEL內(nèi)部看二覷三L層芯我:溢甯旨焙配唁號(hào)無(wú)效扃電梯曰奇止前的搗罐樣運(yùn).不序,直羞下降到i房才開(kāi)說(shuō)明:用數(shù)碼管顯示上升和下降狀態(tài)時(shí)分別顯示的是字母U'和d'。由于是共陽(yáng)極數(shù)碼管,所以低電平亮。顯示U'時(shí),數(shù)碼管編碼為“1000001”即十進(jìn)制65;顯示d'時(shí),數(shù)碼管編碼為“1000010”即十進(jìn)制66;數(shù)碼管熄滅

33、時(shí),編碼為“1111111”,即十進(jìn)制127;對(duì)照以上仿真圖形可以檢驗(yàn)上行、下行狀態(tài)燈的正確運(yùn)行。問(wèn)題及改進(jìn)以下將討論一下本次實(shí)驗(yàn)中遇到的一些問(wèn)題,已經(jīng)改進(jìn)的部分和尚未完善的部分。1、開(kāi)始設(shè)計(jì)時(shí)由于未經(jīng)老師指導(dǎo),所以設(shè)置了過(guò)多的繁瑣狀態(tài),共計(jì)10個(gè),包括dw1、dw2和dw3這幾個(gè)空閑狀態(tài),它們唯一的作用就是占用1秒鐘的時(shí)間來(lái)作為電梯到站開(kāi)門的等待狀態(tài)。事實(shí)上,若用開(kāi)門、上行、下行、停止等較精簡(jiǎn)的幾個(gè)狀態(tài)也可以完成設(shè)計(jì)任務(wù),而且對(duì)于以后擴(kuò)展更多的樓層也是很有利的。而自己目前的設(shè)計(jì)只能用于三層電梯,一旦要求擴(kuò)展層數(shù),便會(huì)遇到很大困難。我會(huì)在之后的學(xué)習(xí)中自行學(xué)習(xí)思考如何用老師所建議的狀態(tài)設(shè)置方法來(lái)

34、實(shí)現(xiàn)4層電梯控制器。2、在老師幫助修改代碼的過(guò)程中,發(fā)現(xiàn)了一些不必要的冗余代碼,如:fl1<=flag1;fl2<=flag2;fl3<=flag3;事實(shí)上,這種重復(fù)賦值是由于后來(lái)改進(jìn)方案而忘記處理之前的程序造成的。具體如下:開(kāi)始設(shè)計(jì)時(shí),我采用了分頻器,將主頻2MHz的時(shí)鐘進(jìn)行2000000分頻分出一個(gè)1Hz的信號(hào)。兩個(gè)時(shí)鐘(主頻2Mhz和1Hz)分別以其上升沿控制兩個(gè)進(jìn)程k1和k2的運(yùn)行。其中k1由2MHz時(shí)鐘觸發(fā),控制各輸入請(qǐng)求信號(hào)和改變狀態(tài)機(jī)的信號(hào),使電梯無(wú)論什么時(shí)候都快速響應(yīng)各種操作。k2由1Hz時(shí)鐘出發(fā),控制電梯的升降及停留。之后經(jīng)老師建議,我將分頻器模塊去掉,也就

35、是說(shuō)全部系統(tǒng)只有一個(gè)主頻時(shí)鐘2MHz來(lái)觸發(fā)。而內(nèi)部需要控制的升降、停留、開(kāi)門等待的時(shí)間,就由一個(gè)計(jì)數(shù)變量cnt來(lái)控制,cnt每計(jì)數(shù)2000000次,則時(shí)間經(jīng)過(guò)1s。這樣,原來(lái)的兩個(gè)進(jìn)程就壓縮為一個(gè),進(jìn)程k2就被略去了,而原來(lái)的flag信號(hào)是在進(jìn)程k1中被賦值,進(jìn)程k2中分別又賦值給了相應(yīng)的fl信號(hào),所以刪除進(jìn)程k2后就多出了下面的這些語(yǔ)句,fl1<=flag1;fl2<=flag2;fl3<=flag3;雖然不妨礙程序的正確運(yùn)行,但是給代碼的可讀性打了折扣,這是在以后的編程中應(yīng)當(dāng)力圖避免的。3、同樣是因?yàn)閯h除了k2進(jìn)程,之后沒(méi)有再改變以前的代碼順序,使得reset,即復(fù)位功能

36、被寫在了時(shí)序代碼的部分,和緊急故障及超重狀態(tài)的判斷變成了并行關(guān)系。也就是說(shuō)reset功能的優(yōu)先級(jí)降低了,reset功能應(yīng)當(dāng)是異步的,一旦有效,系統(tǒng)立刻停止運(yùn)行,并所存當(dāng)前狀態(tài)。而現(xiàn)在,reset功能在沒(méi)有緊急故障(或故障消除)或無(wú)超重狀態(tài)時(shí)才會(huì)有效,而且為使系統(tǒng)能夠響應(yīng),信號(hào)必須至少維持1s的時(shí)間。4、在開(kāi)始的程序設(shè)計(jì)中犯了一個(gè)小錯(cuò)誤,就是電梯如果從一層直接上升到三層(即二樓無(wú)請(qǐng)求)時(shí),到達(dá)二樓是不會(huì)停站開(kāi)門的,而我忘記了這一點(diǎn),設(shè)計(jì)成了每到一層都會(huì)有4s的開(kāi)門等待時(shí)間。在之后的修改過(guò)程中及時(shí)發(fā)現(xiàn)了這個(gè)問(wèn)題,并把狀態(tài)機(jī)的轉(zhuǎn)換過(guò)程進(jìn)行了相應(yīng)的修改,順利修正了這個(gè)錯(cuò)誤。5、從仿真波形來(lái)看,復(fù)位功能

37、鍵是有效的,即復(fù)位之后電梯會(huì)停止在一層,但是在實(shí)際電路的運(yùn)行中,所有功能都可以很完善地實(shí)現(xiàn),唯獨(dú)復(fù)位鍵無(wú)效。在更換了另一套實(shí)驗(yàn)箱之后,發(fā)現(xiàn)reset功能可以實(shí)現(xiàn),但是復(fù)位之后系統(tǒng)便無(wú)法相應(yīng)其他的請(qǐng)求了,這都是和仿真結(jié)果相悖的。事實(shí)上,可能存在以下問(wèn)題:在代碼編譯的過(guò)程中,沒(méi)有報(bào)告錯(cuò)誤,即Error;但是會(huì)有很多警告,即Warning很多情況下,Warning會(huì)給出類似這樣的指示W(wǎng)arning:OutputpinsarestuckatVCCorGNDWarning:Designcontains1inputpin(s)thatdonotdrivelogicWarning:Following7pinshavenothin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論