本文介紹一些簡單的IEC61499功能塊設計技巧。
閃爍(Blinky )
一個邏輯狀態閃爍,幾乎是所有嵌入式程序的Hello The world 項目。可惜EAE 的IEC61499 庫中沒有翻轉觸發器(FlipFlop)功能塊。我們來建一個吧!
應用程序是這樣的。
下面我們來新建一個翻轉觸發器功能塊 E_T_FF。這是一個基本功能塊。在項目信息欄中的Basic 中擊右鍵選擇 New Item.
出現下面的接口窗口。通過修改和添加,成下面的樣子。
編寫REQ 事件到來時的算法。
第一個IEC61499 應用就完成了。
PWM 信號發生器
第二個程序我們建立一個產生PWM 信號的複合功能塊。
其中 Duty 是佔空比 0到 100
PERIOD 是週期 100
下面是PWM 功能塊的內部連線
在上面的複合功能塊中,要使用一個UINT 類型的比較器功能塊。在EAE 的庫中沒有找到,於是自己建一個基本功能塊。內部的ST 語言如下圖所示。
正玹波發生器(Wave)
第三個例子產生一個SIN/COS 波形。其中
Amplitude 是幅度
Frequncy 頻率
FUNC 可以選擇SIN/COS
接口
內部的ST語言如下:
小結
平臺提供的功能塊庫總是不夠的,有些功能塊不符合你的使用習慣。所以編寫一些自己常用的功能塊庫是必要的。IEC61499 功能塊和硬件集成電路非常的相似。而功能快網絡就像原理圖。事件便是脈衝信號了。你有一些數字電路,FPGA 設計的經驗,學習IEC61499 是比較塊容易上手的。
施耐德EAE 的開發環境,對功能塊算法的編譯還是很方便的。比4diac 好。
你們想要寫點什麼功能塊應用?請留言,我來試試。