微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Lonworks技术的模糊控制智能节点的设计

基于Lonworks技术的模糊控制智能节点的设计

时间:09-12 来源:互联网 点击:

用于冷水阀控制。模糊推理所用的知识库数据存放于神经元芯片的E2PROM存储器中,有一组初始值。系统运行期间可以通过LON总线从上位机获取新的控制参数,从而完成控制参数的更新。

图2 温度控制节点结构图

4.2 温度测量节点的设计

温度测量节点的结构如图3所示。包括神经元芯片MC143150、程序存储器、温度传感器、光电耦合器MOC3020、A/D转换电路ADC0809、FTT-10A收发器等。

图3 温度测量节点结构图

5、智能节点软件设计

节点应用程序用Neuron C语言编写。Neuron C是神经元芯片的专用语言,是ANSI C的扩展,并增添了一些较强的功能,如网络变量类型,事件调度语句等。神经元芯片的任务调度是事件驱动的。当一个给定的条件变为真时,与该条件相关联的一段代码被执行。该智能节点的软件设计包括主程序、A/D转换程序、D/A转换程序、显示子程序、控制算法子程序等,下面以查表法实现模糊控制为例,给出部分源代码:

signed short fc(float-type*input1){

……//设置局部变量

if(mcc==1)

sp=sp1;

pe=e;//记下偏差的上一个状态

fl_sub(input1, sp, e);//计算偏差get e

fl_neg( range_e, f1);//对偏差限幅

if(fl_it( e, f1)==TRUE)

ce=f1;

else if(fl_gt( ce, range_ce)==TRUE)

ce=range_ce;

fl_mul( e, f1_6,f1);//对偏差进行量程变换

fl_div( f1, range_e, f1);

fl_add( f1, f1_6, f1);

fl_round( f1, f2);//对变换后误差进行四舍五入

rol=low-byte(1ro1);

fl_mul( ce, f1_6, f1);//对偏差变化值进行量程变换

fl_div( f1, f1_6, f1);

fl_add( f1, f1_6, f1);

fl_round( f1, f2);//对变换后的偏差变化值四舍五入

lcow=fl_to_ulong( f2);

cow=low_byte(1cow);

table_u=table[ro1][cow];

……

fl_from_ulong(ltable_u, f1);//对查表结果进行量程变换

fl_mul( f1, range_dtu, f2);//查模糊控制表

fl_div( f2, f1_6,f1);

……

return f_out;//返回输出控制增量

本系统投入运行后,取得了比传统单回路PID控制方式更好的控制效果,见图4中的温度曲线对比。从图中可看出,模糊控制过渡过程时间短,超调量小,达到了工艺生产的要求。

图4 温度曲线对比

6、结束语

模糊控制技术在我国已广泛应用于工业过程、家用电器等领域,但模糊控制技术的网络应用还不多见。本文将Lonworks技术与模糊控制技术结合起来,通过上位机实现实时测控,在实际应用中取得了良好的控制效果。该系统还可充分利用主机资源,使模糊控制算法位于上层,从而可以绑定多个设备节点,以便于构造不同的模糊控制器。控制参数可以通过人机界面由用户输入,通用性强、操作灵活便捷,为模糊控制生成器与现场设备的集成提供了一种有效的途径。

本文作者创新点:将Lonworks技术与模糊控制技术结合起来,给出了智能节点的设计方法和实例,通过计算机实现网络监控,能远程实施温度测控,在应用中取得了良好的控制效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top