关键词:现场总线,分布式系统,COM组件,可控环境,智能节点
1 引言
设施农业已成为我国农业重要的一个领域,就是要跨越一个地域或跨越时区,创造一个可控环境,给作物提供良好的生存条件。在九五期间国家启动了工厂化农业示范项目,经过五年的示范,取得了一定的成就。设施农业中的一个共性问题之一,就是环境的调控问题,在九五期间已经引起了设施领域,控制领域的高度重视,期间领域专家向科学技术部提供了许多建设性的工厂化农业发展战略报告,因此在十五期间国家启动了工厂化农业的关键技术研究与示范项目。就设施农业的一个共性问题-环境调控,启动了温室环境智能控制关键技术研究与示范课题。该课题的主要研究内容之一研究基于总线技术的控制系统,给温室环境调控提供了一个硬件基础。本文介绍系统的设计原理与性能测试方法。
2 系统描述
系统由上位机(Host)、通讯总线RS-485、测量传感器、控制输入输出模块等组成。如图1所示。
上位机软件核心部分:数据采集与处理模块;控制算法模块;输出控制模块;通讯处理模块和实时数据库组成,如图2 所示。
图2 控制软件核心部分结构
从图2可以看出,实时数据库[1]是整个上位机控制站软件系统的中心环节。它相当于一个运载工具,将各部分的信息(包括状态、控制、数据)从一个执行模块传到另一个执行模块。也可以将它理解成一个仓库,从各通道采集来的数据,以及网络上传的数据存入实时数据库中,而别的模块(如输出模块,控制算法等)需要数据时,可以不直接到传感器上去取,而是直接从实时数据库中去取就可以了,同时运算的中间结果也存放在实时数据库中。实时数据库的另一个作用是实现数据共享,如几个控制算法都需要某一个传感器信号,如果没有实时数据库,则每次用到此数据都得去通道上输入,同时,每个模块必须重复地输入、转换和存储该数据。而有了实时数据库,只需要一个输入模块周期性地输入该点的信息,并完成转换、极限转换、将结果放在数据库中,这样不论有多少控制算法需要此点,只要去实时数据库中拷来用即可。
软件辅助的功能有:历史数据的存储;过程画面显示和管理;报警信息的管理;记录报表的管理和打印;参数列表显示;人-机接口控制等。
3 硬件系统的设计
硬件系统如图1 所示,在选择完上位机后,根据控制现场的情况,合理的配置RS-485总线,之后主要任务是开发硬件设备:智能传感器、I/O输入输出模块、模拟量输入输出模块。由于模块通讯协议采用RS-485, 通讯可靠性问题显得特别重要。RS-485 是主从通讯模式,要保证可靠的采集数据,控制输入输出,就要设计中断软件模块。当模块中断被激活后,所有的数据采集、输入输出任务均应在中断程序中完成[2]。
3.1 智能传感器模块
智能传感器模块有温湿度传感器;光照度传感器。设计流程图如图3所示。
图3 传感器设计流程图
软件主要流程如图4所示,在中断内完成所需的一切任务。
图4 传感器软件中断流程图
3.2 输入输出模块
该模块的类型有四类:(1)数字量输出模块:输出点数为8点;采用光电隔离技术;具有软硬看门狗;驱动能力:最大输出电流500MA;通讯协议RS-485;供电电源: 24VDC。(2)数字量输入:输入点数为8点;通讯协议RS-485;采用光电隔离技术;具有软硬看门狗;检测输入电压5~48VDC;供电电源: 24VDC。(3)模拟量输入模块:输入通道8;具有软硬看门狗;输入信号0~5VDC 或4~20MA; 通讯协议RS-485;分辨率8位或12位;供电电源: 24VDC。(4)模拟量输出模块:输出通道2; 输出信号4-20MA;分辨率8位或12位;通讯协议RS-485;供电电源: 24VDC。由于篇幅所限,硬件设计原理流程与软件设计流程略。
4 软件系统设计
应用软件的核心部分由几个控件构成,如图1所示,数据采集组件;控制算法组件;控制输出组件等,在此介绍控制算法组件的设计原理。
4.1 COM组件技术
使用Com组件技术给用户带来灵活性。一个Com 组件是一个执行程序代码的单元,例如,一个*.EXE, *.DLL, *.OCX 文件,Com 组件遵从用于提供对象的Com 规范。Com 组件展示可以被其他应用程序使用的对象[3]。利用Visual Basic 可以创建三种类型的Com 组件,Active X 控件,Active 文档,Com 可执行程序和 DLL. 下面介绍如何创建智能控制算法的Intell_algor.DLL。
4.2 Intell_algor.DLL 算法库的生成方法
算法库包括许多算法,例如,智能PID算法,基于遗传技术的各种算法,模糊控制算法,神经控制算法等。以模糊控制算法为例叙述。流程如图5 所示。
图5 带有优化器的模糊控制组件
由于使用二维模糊算法且该算法具有灵活性-适应不同控制对象的要求或是时变对象,在输入端的信息有量化因子ke、kec,比例因子ku;输入量化等级p、q,输出量化等级r;允许的误差及误差的变化率Ena_E、;控制时间间隔Int_T;设定点参数Set_P、实时采集参数Samp_P、前一次采样参数Samp_P0。Intell_algor.DLL 的输出信息有两个p、q。其中控制表是一个脱离组件的控制表,可由p 、q查阅控制表得到输出的量化等级r,反模糊化后输出到执行机构上。
控制表优化器可在线运行,也离线运行,可根据实际情况来确定。有关二维模糊控制起的原理及优化方法、编程规范参阅文献[4][5]。
编制好的Intell_algor.DLL 在使用时要事先注册,注册方法参考文献[3]。
5 系统测试
系统的测试内容有两项:一是网络运行的可靠性考核;二是本系统的控制算法考核。
系统的数据采集节点14个,其中有四个温湿度传感器节点;四个输出节点;两个输入节点;两个光照传感器节点;一个风速传感器节点;一个 传感器节点。测试时间2003/1/27 到 2003/2/8,采集所有节点数据,采样时间5秒,不加任何处理进行数据记录。有一次断网情况,时间持续25秒。各个节点随机出现的误码每天大约3次。经过软件简单处理,上述情况没有发生。对于控制算法的测试是调控温室环境因子温度,初测几天的数据分析看有模糊控制的空挡现象,经过组件改进后,运行近5天,一切正常。
6 结论
该系统的研制为可控环境的调控提供了基础,组建控制系统的灵活。研制的智能传感器和测控模块是基于网络技术设计的,开发的应用软件的核心部分采用了COM组件技术,用户使用方便,可在短期内开发出界面友好的应用软件。整个系统经过近半年的运行,证明软硬件设计合理,符合用户需求。
参考文献
[1] 王常力,廖道文. 集散型控制系统的设计与应用[M]. 北京,清华大学出版社,1993
[2] 何立民. 单片机应用系统设计[M]. 北京,北京航空航天大学出版社,1990
[3] 李海. Visual Basic 编程普及:Active X 控件[M]. 北京,北京航空航天大学出版社,2000
[4] 王磊,王为民. 模糊控制理论及应用[M]. 北京,国防工业出版社,1997
[5] 周长发. 科学与工程数值算法[M]. 北京,清华大学出版社,2002