资源描述
人工气候室主机系统软件设计方案
一、人工气候室介绍概述:
控制植物生长环境设施和设备由简单生长箱发展到控制复杂人工气候室。笔者开发基于CAN(controller areanetwork,即控制器局域网)总线人工气候室智能测试系统,关键用于对植物生长温度、湿度、光照度和CO2含量等状态参数自动检测,对人工气候试验室异常情况进行故障初发期报警处理,模拟人类智能信息融合能力,分析植物生长状态,控制植物生长环境所需温度、湿度、光照度和CO2含量,从而为植物生长环境信息融合和控制决议奠定了基础。系统含有参数检测、参数分析、故障自检、系统保密、病毒防护、知识查询等多个功效。主机软件采取VB(Visual Basic)和LabVIEW编写。VB作为可视化编程语言含有简单易学、功效强大特点,能在短时期内开发一个完整、易于操作应用软件。而美国NI(National Instrument)企业推出LabVIEW图形化编程语言,是计算机硬件、仪器测控硬件和用于数据分析及图形用户界面软件之间有效结合,是最成功虚拟仪器软件,提供了所见即所得图形化界面编辑环境。在系统主机软件设计中,VB用于完成数据信息通信,LabVIEW用于完成数字、图形化处理。二者结合,使主机软件含有比其它仅以VB为开发平台系统主机软件更丰富完善功效和视觉效果。系统已投入实际应用。
二、人工气候室系统组成
系统关键由中心控制室、试验培养室和人工能源室三大部分组成。中心控制室是自然能源利用和人工能源分配控制中心。试验培养室是用于模拟自然环境人工气候室。人工能源室是在自然能源受限情况下,按中心控制室指令向试验培养室提供人工能源,以满足培养室各试验单元和整体环境要求。系统结构框图图1所表示。
图1人工气候室系统结构框图
系统以PC机(586/266以上机型)作为主机,以80C592单片机系统和温度、湿度、光照度和CO2含量等参数测量电路为分机。作为系统关键,主机安放在系统控制室,分机安放在各个培养室,标准上一个光照箱安放一个分机。一台主机能够管理1~200台分机,一台分机能够连接检测温度、湿度、光照度和CO2含量等累计1~128个传感器。主机经过CAN串行总线,管理着10 km范围内安放在培养室中分机(CAN节点);每台分机经过安装在培养室中各类不一样传感器对状态参数采集和信息传输。
依据不一样类型植物在不一样生长时期及不一样生长季节,控制室主机设定植物不一样理想生长状态参数。同时,主机依据安装在培养室分机中各传感器所检测到实际状态参数,和设定理想状态参数比较、经过模糊运算和处理,控制人工能源室向培养室提供人工能源。这种以CAN总线结构通信方法,含有实时性好、运行成本低、系统组建方便和工作高可靠性等优点。而主机软件合理设计是系统稳定、可靠运行关键,它直接影响着植物生长所需环境状态参数。
1、 人工气候室主机软件设计
主机软件设计遵照模块化设计思想,采取结构化程序设计方案,含有很好模块性、可移植性和可修改性。主机软件模块关键有:通信模块、数据显示模块、图形化显示模块、历史数据统计模块、数据分析处理模块、决议和控制模块等。其中,温度、湿度、光照度和CO2含量等参数图形化显示还含有颜色提醒和警示功效。比如,温度检测图形化显示时,红色显示表明温度过高,绿色表示温度在正常范围,黄色表示温度过低。系统进行检测时,依据设定,主机首先连接某一分机或全部分机,然后将分机采集测量数据传送到主机,存放在数据库中,进行分析处理。因为含有图形化显示功效,从主机显示或打印输出上,能够一目了然地得到培养室运行情况并实现系统故障自检及其它相关功效。主机工作步骤图2所表示。
图2人工气候室主机工作步骤
2.1主机通信软件模块设计系统主机通信包含主机RS2232串口通信和主机和分机之间CAN总线通信;CAN总线通信模块包含点名、检测、设置等通信软件模块。
2.1.1人工气候室主机串口通信软件设计
主机计算机中通常全部有两个RS2232串行通信口,该口完成串行数据转换和串行数据接收、发送任务,采取RS2232通信标准,其结构和使用全部很简单。而主机系统软件VBMSCOMM控件提供了事件驱动和查询方法两种方法实现串口通信。其中:事件驱动是处理串行端口交互作用一个很有效方法;而查询方法是经过MSCOMM控件间接调用API函数,充足利用系统已经有ActiveX控件实现快速开发正是VB优点之一;两种方法全部能实现串口通信和数据信息传输。
2. 1. 2 人工气候室CAN总线特点和工作原理,CAN总线是一个有效支持分布式控制或实时控制串行通信网络,它以半双工方法工作,一个节点发送信息,多个节点接收信息,能够实现全分布式多机系统,提升数据在网络中传输可靠性。其结构形式图3所表示。
图3CAN总线结构图
CAN总线信息存取采取一个称作广播式存取工作方法,信息能够在任何时候由任何节点发送到空闲总线上,每个节点CAN总线接口必需接收总线上出现全部信息,所以各节点全部设置有一个接收寄存器,接收寄存器首先将信息接收,然后依据接收信息标识符决定是否读取信息包中数据,即判定是否使用这一信息。
CAN协议一个最大特点是废除了传统地址编码,而代之以对通信数据块进行编码。CAN总线面向数据而不是面向节点,采取这种方法优点是可使网络内节点个数在理论上不受限制,加入和降低设备不影响系统工作。所以,系统能够依据用户不一样需要,任意改变分机数量。CAN总线收发数据长度最多为8 B,所以不存在占用总线时间过长问题,能够确保通信实时性。通信速率最高可达1Mb/s(通信距离40 m),通信距离最远可达10 km(传输速率为5 kb/s)。通信介质能够是同轴电缆或光导纤维,甚至可采取双绞线。
2.1.3人工气候室点名通信软件模块设计
点名、检测、设置等通信模块,命令格式基础相同,因为各自实施命令号不一样,所以能实现不一样功效。下面以点名命令通信模块具体说明。点名命令关键用来查询分机个数和分机下挂温度、湿度、光照度和CO2含量传感器个数,该命令通常在系统首次上电时才被实施。
人工气候室CAN节点个数为1~200个,所以主机必需事先知道分机个数及其地址,方便主机统一管理。分机下挂温度、湿度、光照度和CO2含量传感器,采取80C592单片机能够连接分布于培养室传感器个数为1~128个,所以,系统中每个分机管理传感器个数也为1~128个。所以,系统主机也必需事先知道系统分机传感器个数及其地址,才可完成对培养室中具体区域具体温度、湿度、光照度和二氧化碳监测检测等工作。
系统主机发送点名命令格式为:“0BBH”+CANADD+“0AAH”+cmnd+Byteh+Bytel+ad2rh+adrl+chkxor+chksum,其中:“0BBH”为主机发送命令起始码,即命令头;CANADD为系统中CAN节点地址;“0AAH”为主、分机之间,和分机和各传感器之间进行通信命令起始码;cmnd为命令号;Byteh、Bytel为所要检测数据字节数,其中Byteh为字节高8位,Bytel为低8位,所检测数据总长度=(Byteh* 256+Bytel)个字节;adrh、adr分别为检测对象传感器型号和传感器编号(每个对象全部有其固定传感器型号和传感器编号,这由协议来要求);chkxor、chksum分别为异或校验、和校验。
2.2人工气候室VB和LabVIEW程序嵌套设计
将VB和LabVIEW应用于系统主机软件开发,能够同时利用VB、LabVIEW技术优势,组成灵活虚拟仪器应用系统,实现监测信息图形化处理及对系统有效控制。
2.2.1人工气候室系统资源共享
利用VB完成系统自检、通信、历史数据统计、数据分析处理、决议和控制等软件模块设计,利用LabVIEW完成主机系统自检、数据显示、图形化显示等软件模块设计,利用VB和LabVIEW共同完成主机自检、数据显示、图形化显示等软件模块设计。
当主机将从串口采集主集中器传送数据,经过VB管理,数据以Access数据库形式储存起来。DDE(dynamic data ex2change,即动态数据交换)技术应用,使得虚拟仪器LabVIEW软件平台能够调用该数据库中数据,以显示参数结果。在本系统中,采取了功效强大DDE系列函数完成了数据交换和共享工作。实践证实,DDE技术运行可靠,不易犯错。
2.2.2人工气候室在VB中嵌入LabVIEW
主机软件VB中嵌入LabVIEW,是经过OLE(object linkingand embedding,对象链接和嵌入)技术来实现,OLE是系统主机虚拟化显示关键技术。利用OLE技术,在开发系统主机虚拟化显示功效时,系统虚拟显示部分开发程序以Lab2VIEW平台为中心(而不是以VB为中心)。经过OLE,VB能够将LabVIEW软件作为对象嵌入到VB中去,而且VB对所嵌入LabVIEW处理就像对其本身对象处理一样方便快捷。为实现OLE自动化功效,首先生成一个变量来引用Lab2VIEW,这个变量称为对象变量(ObjectVariable)。以温度虚拟检测为例,源程序设计以下:<BR>Dim LVappAsLabVIEW.Application———‘定义LabVIEW应用程序变量Dim LVIAs LabVIEW.VirtualInstrument———‘定义虚拟仪器变量
Dim LVpathAs String———‘定义虚拟仪器系统路径LVpath=APP. Path +": \LabVIEW \user. lib\实时温度. vi"
SetLVapp=CreateObject("LabVIEW.Application")———‘开启虚拟仪器应用程序SetLVI=LVapp.GetVIReference(LVpath)———‘调用路径所指向虚拟仪器系统LVI.FPAutoCenter=True———‘当虚拟仪器程序被运行时,LabVIEW前面板在屏幕中央LVI.FPW inOpen=True———‘调用虚拟仪器程序时打开并显示前面板<BR>LVI.Run (True)———‘运行虚拟仪器程序利用以上代码,能够在VB程序中嵌入LabVIEW,实现系统图形化虚拟面板功效。当虚拟面板生成以后,便能够操作面板中多种控件(Controls),来运行或控制虚拟仪器程序。程序运行完成以后,关闭虚拟仪器前面板( front panel),以释放计算机内存空间。
三、 人工气候室结束语:
人工气候室智能测试系统主机软件CAN总线通信软件设计采取全程跟踪和统计技术,方便了工作人员对通信过程了解,提升了系统故障处理能力。VB和LabVIEW应用于人工气候室智能测试系统,充足利用了VB易开发优势和虚拟仪器图形化、模块化编程优势,使主机软件功效大为增强。另外,系统可和其它系统软件连接,并可实现远程资源共享和网上信息浏览和查询。
企业介绍:
浙江托普云农科技股份
Ø 农业物联网、农业信息化综合处理方案服务商
托普云农潜心十二年致力于中国农业信息化发展,同时提供面向土壤、农业气象、种子、植物生理、植物保护、粮油食品等监测检测正确农业仪器装备。
迄今为止已获国家发明专利5项、实用新型专利42项,软件著作权70余项,软件登记证书18项,被评为国家高新技术企业、杭州市院士工作站,研发实力强!受到多位行业教授及行业领导认可,智能硬件及农业信息化应用遍布全国!
上市企业(股票代码:833692)、大品牌,质量信得过、售后有保障!
展开阅读全文