本文介绍一些简单的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 好。
你们想要写点什么功能块应用?请留言,我来试试。