對IEC61499 感興趣的人越來越多了,我開始向大家介紹IEC61499 編程的實體,希望能幫助大家,另外,如果有編程中的疑問,可以留言,交流,
按鍵開關LED 燈閃爍
前幾天有網友做了一個LED 的實驗,按下按鍵,LED 閃爍,再按一次 LED 停止閃爍,他的程式是這樣的,

結果發現,長按,LED 會閃爍,而松開LED 就停止閃爍了,主要的問題出在 IX 只是讀取輸入腳的狀態,他連接的是不帶鎖存功能普通按鍵,如果要實作按鍵功能,需要內部加鎖存器,后來他改成了這樣,

E_D_FF 是一個D觸發器,只能暫存資料,沒有翻轉的功能,所以這個D 觸發器只是將按鍵的值延時了一個周期,沒有鎖存,下一次讀到0的時候又將0鎖存了,所以也不行的,正確的方法應該是

上面的E_R_TRIG 功能塊是上升沿檢測,一旦檢測到了上升沿,會產生EO 事件,這個事件觸發E_T_FF 狀態翻轉狀態,當然,這個程式還有優化的可能,
例2 LED PWM 調光
LED 調光通常使用PWM 來實作,下面的例子實作一個25% 占空比的PWM 信號,

我們應該明白,IEC61499 運行時中,功能塊是軟體實作的,這會影響程式運行的效率和實時性,在這個例子中,E_CYCLE 的周期為1ms,由于是軟體實作這五個功能塊,顯然占用CPU的時間已經比較多了,但是PWM 的頻率只有64Hz 而已,如果解析度要求高的話,PWM 頻率會更慢,
學習IEC61499 編程需要一些邏輯電路的知識和技巧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/206149.html
標籤:其他
上一篇:現代雷達系統_第三次作業_投訓帥_202018019427053
下一篇:2020-11-05
