國立虎尾科技大學 自動化工程系 機電系統設計 練習 1 學生:邱思齊 學號:40727119 繳交日期:111/03/06 a. 寫一程式可對輸入之 A 與 B 兩整數值(可以為負數)不斷的檢查 A 可否被 B 整除,不可則亮紅燈,可則亮綠燈,注意,須為互動式程 式,程式中須含有結束指令。 Block Diagram(程式編輯區): 設計兩個輸入源與輸出訊號(燈源),當兩個輸入源的數字(可負數)經過 除法運算後,若等於 0,則上方輸出訊號亮起(綠燈),否則下方輸出訊號 亮起(紅燈),按下 STOP 鍵則程式停止 Front Panel(人機介面): b.寫一程式可以用四個不同的開關來控制一個燈號。 Block Diagram(程式編輯區): 設計 4 個開關按鈕,2 個開關按鈕為一組,以按鈕 1 和按鈕 2 為例,將兩 個按鈕同時接上一個 NAND 值閘(A),在另外接上各一個 NAND 閘 (B,C),再將第一個 NAND 閘(A)接上剛剛各接的 NAND 閘(B,C),最後 B,C 閘再接一個 NAND 閘(D),按鈕 3 跟按鈕 4 同原理,接出來的兩個 NAND 閘再重複上述動作一次,最後接出輸出訊號(燈源),按下 STOP 則程式停止 Front Panel(人機介面): c.寫一程式可以對不斷由面板輸入之所有數值找出最大值與最小值, 程式可不斷的讀入 A 之值(鍵入 A 的值然後按 enter 鍵)進行比對而產 生結果直到按 stop 結束 Block Diagram(程式編輯區): 設計一輸入與兩個數值大小比較與兩個遞迴節點,輸入與數值大小比 較相接(X),把輸出結果與遞迴節點相接後再與數值大小比較相接(Y), 並將遞迴節點初始值設零(為了當輸入歸零時,能使程式輸出也歸零), 這樣設計的結果會是當輸出一數值時,遞迴節點會保留該輸入之數值 並與下一次數值做比對(但當輸入數值若在最大值與最小值之間則遞 迴節點不保留該次結果),按下 STOP 則程式停止 Front Panel(人機介面): d.寫一程式具有一條件停止迴圈可以計算方程式 y(x) = Ax3+Bx2Cx+D,而 x 為由 0 開始而不斷增加之整數 = 0, 1, 2, 3…..,A、B、C、 D 為任意係數。當 y(x) >12000 時,迴圈停止並輸出停止條件之 x 數 值與 y 之值,更改新一組係數後再按 “start” 執行演算並輸出結果, 按停止後程式結束。 Block Diagram(程式編輯區): 設計 4 個輸入與 2 個輸出,輸入(a,b,c,d)用來設定公式參數,公式節點用 來設計程式內運算的公式(需用 C 語言設計),比較式用來做當數值大 於 12000 時,迴圈自動停止,選擇(Case)用來當 Stop 與前面比較式的條 件,啟動(或達成)其一條件則程式停止,輸出(x)做一個數值累加,將前一 次的結果利用遞迴節點在+1 輸出一次,直到達成條件(此遞迴節點初 始值設零) Front Panel(人機介面):