智能温室—上位测控系统毕业设计论文.doc
目录摘 要2Abstract3第1章 绪论41.1 课题背景41.2 智能温室系统发展现状51.3 课题研究内容以及技术指标6第2章 智能温室系统总体方案的设计82.1 系统描述82.2 总体方案选择8第3章 上位测控系统与现场测控系统通信设计123.1 串行通信12 3.2 RS-232总线标准·························123.3 硬件连接电路以及通信协议14 3.4 Visual Basic6.0中的串行通信控件MSComm·························163.4.1 MSComm控件处理通信的方式163.4.2 MSComm控件的常用属性163.4.3 MSComm控件的使用183.5 VB程序编制18第4章 上位测控系统软件系统204.1 上位测控系统信息管理系统功能204.2 数据库的设计214.2.1 Access数据库的设计214.2.2 VB操作Access数据库的方法234.3 应用程序的设计244.3.1 用户管理模块设计254.3.2主界面的设计284.3.3 实时数据显示模块的设计314.3.4 查询模块的设计324.3.5 历史数据趋势图模块的设计334.3.6标准参数修改模块的设计344.3.8 保存程序以及建立可执行文件36总结与展望38参考文献39致 谢41附录 程序清单42 摘 要 基于现场测控系统实现温度湿度光照信号的上位测控系统,首先分析了在Visual Basic 编程环境中实现上位测控系统与现场测控系统之间的串口通信技术,介绍了如何通过MSComm控件实现两者之间的通信,现场测控系统将数据送至串口,上位测控系统通过程序将数据取走并将其保存在数据库中。然后介绍了VB 和ACCESS的连接,并介绍了相关控件和实现方法, 最后显示到主界面, 可以进行查询,参数设置等功能。经调试表明,该设计性能较稳定,界面较美观,该智能温室上位测控系统系统拥有较良好的人系统界面,通用性好,操作简单、方便、易于实现温度的集中监控和管理等特点,理论上具有较广泛的应用前景。关键词: VB 现场测控系统 串口通信 数据库Abstract MCU-based PC monitor temperature and dampness and beam signal first analyzed the Visual Basic programming environment in the host computer and serial communication between MCU,and describes how the API functions for communication between PC and MCU, Serial data sent to the microcontroller, PC taken away by the program and save the data in the database and gives the collection of the system code. Then introduces the VB and ACCESS connections, and describes the relevant controls and implementation methods, the test results are given to ver ify the effectiveness and feasibilit y of the methods finally. The shakedown test application shows that this design performance is stable and the contact surface is artistic.The Intelligent greenhouse computer system has good human-computer interface, good common, simple and convenient operation. It is easy to implement centralized monitoring and management of the temperature. The system has a very extensive application prospect in the theory. Keywords: VB MCU Serial Communication Database第1章 绪论1.1 课题背景 由于植物只有在合适的环境下生长,所以不同植物只有在温度湿度光照适宜的季节生长,为了在一年四季都可以得到只在适宜季节才生长的植物,则发明了温室系统,温室系统里面的环境与外界隔绝,由人工控制温室内部的温度湿度光照来满足植物生长多需要的外界环境,其中影响植物生长的因素很多,目前科学家已经确定了52种因素,如土壤有系统质、土壤水分、根层深度、温度、湿度、光照度、风速等等,所以掌握植物生长环境中的这些因素是很重要的,温度、湿度、光照度对植物的影响是最大的。(1)温度对植物生长的影响 温度对植物生长的影响是综合的,它既可以通过影响光合、呼吸、蒸腾等代谢过程,也可以通过影响有系统物的合成和运输等代谢过程来影响植物的生长,还可以直接影响土温、气温,通过影响水肥的吸收和输导来影响植物的生长。因此在生产实践上培育健壮植株,常常要求低于最适温度的温度,这个温度称协调的最适温度。(2)湿度对植物生长的影响 影响湿度的因子主要取决于水汽的来源、输送与空气保持水汽的能力等。因此,影响水汽供应的因子如降水、水体的存在、土壤水分的高低和蒸发条件等,影响水汽输送的条件如风、垂直气流等,以及影响空气保持水汽能力的条件如气温等,都可能影响湿度。湿度另一方面决定于空气温度。空气湿度或饱和差是影响植物吸水与蒸腾的重要因子之一。(3)光照度对植物生长的影响 光是植物进行光合作用的能量来源。光合作用主要是依靠植物的叶绿素这一器官完成的。同一种植物在不同的发育阶段对光的要求也不一样。如厚朴、杜仲等木本植物,幼苗期也需遮阴,怕强光。当参幼苗喜阴,成株则喜阳。黄连虽为阴性植物,生长不同阶段,耐阴程度都不同。幼苗期最耐阴,但栽后第四年则可除去遮阴物,在强光下生长,利于根部生长。一般情况下,植物在开花结实阶段或块茎等贮藏器官形成阶段,需要较多的养分,对光的要求也更高。了解植物对光照度的生态类型,在药用植物合理栽培、兼做套种、引种驯化等方面,都是非常重要的。 51现场测控系统的温室自动控制系统,是基于目前我国温室大棚生产的特点,在温室大棚生产实现智能自动化的基础上,实现连栋温室大棚的规模化生产,既能满足个体生产的需要,又便于企业规模的生产的需要。本系统采取传感器的技术采集温度、湿度的信号,经现场测控系统对信号的处理,传入上位测控系统系统进行人工监测以随时了解温室大棚的各项参数指标。1.2 智能温室系统发展现状(1)国外状况 世界发达国家如荷兰、美国、以色列等大力发展集约化的温室产业,温室内温度、光照、水、气、肥实现了计算系统调控,从品种选择、栽培管理到采收包装形成了一整套完整的规范化技术体系。 美国是最早发明计算系统的国家,也是将计算系统应用于温室控制和管理最早、最多的国家之一。美国有发达的设施栽培技术,综合环境控制技术水平非常高。环境控制计算系统主要用来对温室环境(气象环境和栽培环境)进行监测和控制。以花卉温室为例,温室内监控项目包括室内气温、水温、土壤温度、锅炉温度、管道温度、相对空气湿度、保温幕状况、通窗状况、泵的工作状况、CO2浓度、Ec调节池和回流管数值、pH调节池和回流管数值;室外监控项目包括大气温度、太阳辐射强度、风向风速、相对湿度等。温室专家系统的应用给种植者带来了一定的经济效益,提高了决策水平,减轻了技术管理工作量,同时也为种植带来了很大方便。(2)国内状况 我国农业计算系统的应用开始于20世纪70年代,80年代开始应用于温室控制与管理领域。20世纪90年代初期,中国农业科学院农业气象研究所和作物花卉研究所,研制开发了温室控制与管理系统,并开发了基于Windows操作系统的控制软件;90年代中后期,江苏理工大学毛罕平等人研制开发了温室软硬件控制系统,能对营养液系统、温度、光照、CO2 、施肥等进行综合控制,是目前国产化温室计算系统控制系统较为典型的研究成果。在此期间,中国科学院石家庄现代化研究所、中国农业大学、中国科学院上海植物生理研究所等单位也都侧重不同领域,研究温室设施的计算系统控制与管理技术。“九五”期间,国家科技攻关项目和国家自然科学基金均首次增设了工厂化农业(设施农业)研究项目,并且在项目中加大了计算系统应用研究的力度,其中“九五”国家重大科技产业工程“工厂化高效农业示范工程”中,直接设置了“智能型连栋塑料温室结构及调控设施的优化设计及实施”(3) 我国温室存在的主要问题 1)科技含量和总体发展水平较低。我国设施栽培起步晚、基础差,没有将其作为整体工程问题研究。从设施装备到栽培技术的生产管理不配套,生产不规范,难以形成大规模商品生产。 2) 我国现有的温室控制系统仍以控制一个温室为主,没有基于温室群的控制系统。这样降低了生产管理的效率。 3)温室测控系统的通信仍然采用有线方式。我国温室测控系统的通信主要有485总线以及CAN总线等有线方式。这些有线通信方式不仅使得温室内的信号线和动力线错综复杂,而且导致系统的可靠性降低,安装维护工作量变大。 4) 缺少基于农业专家知识的上位测控系统管理系统。我国目前的温室控制系统中,一些上位测控系统只限于存储采集的历史数据,没有根据农业专家知识的实时控制管理系统。 5) 设施水平低,抵御自然灾害的能力差。我国目前部分温室的建筑材料主要是钢材和玻璃。但没有形成国家统一的标准和工厂系列的产品,且应用率仅占设施栽培面积的10,而绝大部分由农民自行建造的塑料日光温室也只能起到一定的保温作用,根本不能实现对温度、湿度、光照等环境因子的调控。6) 系统械化水平低,调控能力差,作业主要依靠人力。生产管理主要靠经验和单因子定性调控。1.3 课题研究内容以及技术指标 温度湿度光照信号采集与监测是智能温室系统控制中的重要组成部分。随着现场测控系统技术与计算系统技术的稳步发展,利用现场测控系统与上位测控系统的串口通信,实现温度湿度光照数据采集并对其数据进行监测,在科研及生产中得到了非常广泛的应用。在很多测控系统中,需要将采集到的信号送入计算系统,由计算系统进行实时显示或分析处理。这就要求计算系统具有能从现场发出控制命令或获取实际数据的能力,这些功能的实现可以通过对计算系统串口的操作完成的,简单来说就是智能温室测控系统必须实现计算系统对串口的控制与访问。利用现场测控系统与计算系统之间串口通讯实现温度湿度光照数据的采集和处理的设计方法。其中涉及了上位测控系统与现场测控系统串口通信,温度数据采集与存储,数据库调用查询,温度曲线绘制等一系列理论方法,并对温度数据进行实时显示分析实现温度信号的监测等方面的研究设计进行探讨,提出解决方案。第2章 智能温室系统总体方案的设计2.1 系统描述 智能温室系统是有现场测控系统与上位测控系统两部分组成,现场测控系统设计以AT89C52为控制核心,以SHT11温湿度传感器、光敏电阻完成对温室大棚内的各项参数进行测量,并将数据输入到现场测控系统中,由现场测控系统根据所写的程序,通过继电器控制电路控制相应的设备达到自动调控温室大棚内各项参数的目的,同时将通过各种传感器测的数据实时地显示在液晶屏上。并通过MAX232电平转换芯片将现场测控系统与RS232接口连接起来,实现现场测控系统与上位测控系统的通信。上位测控系统主要把传感器测控得到的温度湿度光照的实时数据接收到MAX232芯片中,MAX232芯片接收到数据后就将其转换为vb所能识别的二进制代码,通过vb的MSComm控件进行存入数据库并显示在上位测控系统界面中,操作人员就可以通过上位测控系统界面进行实时监控,达到了智能化。可视化,便于操作的目的。2.2 总体方案选择 智能温室系统由上位测控系统与现场测控系统两部分组成,下面分别对它们的方案选择进行描述。现场测控系统的方案选择如下: (1)选择AT89C52单片机,了解其基本特性和功能,使用AT89C52实现对温湿度、光照量的智能控制。(2)单片机通过温度传感器SHT11检测温室的空气温度,当空气温度过高时,就通过控制电路打开排气扇配合设置在温室大棚顶部的喷雾设备进行一段时间的温室大棚的降温作业,而当温室温度过低时,则通过现场测控系统自动关闭降温设备的工作,使温度达到适宜的范围。如果开始检测的空气温度在适宜范围,现场测控系统将维持现有状态。(3)单片机通过湿度传感器SHT11检测土壤的湿度,若土壤的湿度过低,现场测控系统就打开滴灌设备的电磁阀一分钟,对作物进行滴灌作业,增加土壤湿度,经过一段时间,现场测控系统再次检测土壤湿度,如果湿度过高,就关闭滴灌设备的电磁阀,停止滴管作业。如果开始检测的土壤湿度在适宜的范围,现场测控系统则维持现有状态不变。 (4)单片机通过光照传感器光敏电阻,光照度的控制主要靠遮阳幕的开关,光照度过高时,系统通过关闭大棚顶部的遮阳幕,避免阳光直射作物,减少光照度,及减少强光对作物生长的影响。当光照度过低时,就打开遮阳幕,增加光照度。如果检测的光照度在适宜范围,现场测控系统将维持现状。 下位测控系统的操作硬件可以使用PLC、PC机等,软件可以使用PLC编程软件、VB等。下文分别介绍他们的优缺点并进行比较: PLC是一种专门在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的系统械或生产过程。PLC及其有关的外围设备都应按照易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。 PLC具有以下鲜明的特点。 (1) 功能完善,组合灵活,扩展方便,实用性强。 (2) 使用方便,编程简单,采用简明的梯形图、逻辑图或语句表等编程语言,而无需计算系统知识,因此系统开发周期短,现场调试容易。 (3)安装简单,容易维修。 (4)抗干扰能力和可靠性能力都强,远高于其他各种系统型。 (5)环境要求低。PLC的技术条件能在一般高温、振动、冲击和粉尘等恶劣环境下工作,能在强电磁干扰环境下可靠工作。 (6)易学易用。PLC是面向工矿企业的工控设备,接口容易,编程语言易于为工程技术人员接受。 PLC的缺点:对于编程语言的具有较强的固定性,只要适用于PLC软件,对其他编程语言(如:C、VB等)的兼容性较差,同时PLC的体系结构是封闭的,各PLC厂家的硬件体系互不兼容, 编程语言及指令系统也各异,当用户选择了一种PLC产品后,必须选择与其相应的控制规程,并且学习特定的编程语言。 完整的PC机包括两大部分,即硬件系统和软件系统。所谓硬件,是指构成计算系统的物理设备,即由系统械、电子器件构成的具有输入、存储、计算、控制和输出功能的实体部件。下面简单介绍一下PC机的优缺点: PC机是管理、控制和监督计算系统软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算系统硬件上的、最基本的系统软件,是系统软件的核心。操作系统是计算系统发展中的产物,它的主要目的有两个:一是方便用户使用计算系统,是用户和计算系统的接口。比如用户键入一条简单的命令就能自动完成复杂的功能,这就是操作系统帮助的结果;二是统一管理计算系统系统的全部资源,合理组织计算系统工作流程,以便充分、合理地发挥计算系统的效率。 PC机的优点之一:上位测控系统的数据库是指按照一定联系存储的数据集合,可为多种应用共享。数据库管理系统(Data Base Management System,DBMS)则是能够对数据库进行加工、管理的系统软件。其主要功能是建立、消除、维护数据库及对库中数据进行各种操作。 PC机的优点之二:能实现原来PLC的控制功能。并且具有更强的数据处理能力、强大的网络通讯功能以及能够执行比较复杂的控制算法和其近乎无限制的存储容量等优势。同时也有很好的兼容性,能很好的兼容VB等编程语言。 综上所述:由于PC机具有的功能可以包含PLC的功能,也能够兼容各种编程语言,具有很强的实用性,价格也会比PLC廉价,所以在本次课题中选择PC机作为上位测控系统的硬件系统。对于编程语言PLC主要用于工业上自动化控制,没有数据库功能,故没有很好的数据统计的模块,不利于研究人员进行分析。而VB语言简单易学,具有强大的可视化功能,也包含有数据库模块,从其他的方面也符合上位测控系统的要求,所以上位测控系统软件就选择了VB语言作为编程语言。综上所述:本次课题中现场测控系统的硬件选择PC机,软件选择VB语言,来实现所需要的功能。系统原理图如图2.1所示:温湿度传感器MAX232AT89C52 控制电路 执行部件滴灌系统 A/D 温室大棚LED显示屏光照度传感器排气扇及喷雾设备 遮阳幕上位测控系统MSComm串口通信RS232串行通信用户信息管理实时数据显示数据趋势图历史数据查询参数修改 图2.1 系统原理图第3章 上位测控系统与现场测控系统通信设计 本章主要讨论采用比较廉价的通信方式RS-232总线来实现监控系统的上位测控系统(上位测控系统)向现场测控系统(现场测控系统)发送信息以及上位测控系统接收现场测控系统的温度信息并加以处理。串行通信流程图如图3.1所示:RS232MSComm控件MAX232上位测控系统现场测控系统图3.1 串行通信流程图 3.1 串行通信 随着计算系统系统的应用和微系统网络的发展,计算系统的通信功能显得尤为重要。从广义上讲,计算系统通信可以分为并行通信和串行通信。并行通信速度快、实时性好,但占用的口线多、成本高、通信距离短,不适用于小型化产品。串行通信只需一根传输线即可完成通信功能,成本低,在通信中得到了广泛应用。计算系统与外界的数据传送大多数都是串行的,通常把计算系统与外界的数据传送称之为通信,因此提到的通信大多数都是指串行通信。(1)串行通信的概念 串行通信是计算系统与外部设备进行信息交换的一种方式,是指数据一位一位地按顺序在一根信号线上进行传输的通信方式。串行通信有两种基本工作方式:异步传送和同步传送。在现场测控系统中使用的串行通信都是异步方式,因此本系统采用异步串行通信方式来实现上位测控系统与现场测控系统之间的通信。(2)串行通信的传送速率 在串行通信中,用“波特率”来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为bps。它是衡量串行数据传输快慢的重要指标。接收方的波特率和发送方的波特率可以分别设置,但接收方的波特率必须与发送方的波特率相同。3.2 RS-232总线标准 在串行通信时,要求双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。RS-232C是美国电子工业协会EIA公布的串行通信标准,RS是Recommended Standard的字头缩写,代表推荐,232是标识号,C表示修改的次数。RS-232C适用于短距离或带调制解调器的通信场合,目前已广泛应用于计算系统与外围设备的串行异步通信接口中。 (1)系统械特性:RS-232C的系统械特性主要指两个通信装置如何实现系统械对接。RS-232C是数据终端设备DTE与数据通讯设备DCE之间的接口,RS-232C的系统械标准规定DTE应配置DB25插头,即25针连接器,DEC应配置DB25的插座,即25孔连接器。引脚号信号名称方向信号功能1DCD上位测控系统对方上位测控系统收到远程信号(载波检测)2RXD上位测控系统对方上位测控系统接收数据3TXD上位测控系统对方上位测控系统发送数据4DTR上位测控系统对方上位测控系统准备就绪5GND信号地6DSR上位测控系统对方对方准备就绪7RTS上位测控系统对方上位测控系统请求发送数据8CTS上位测控系统对方对方切换到接收状态(清除发送)9RI上位测控系统对方通知上位测控系统,线路正常(振铃指示)表3.1 计算系统DB-9连接器引脚信号功能 实际应用中,DB-25型连接器中的许多信号用不上,因此普遍采用DB9插头,即9针连接器。表3.1给出了DB9连接器的信号引脚功能。本系统采用DB9型连接器,通过三根线实现系统连接,即接收数据引脚与发送数据引脚彼此交叉相连,信号地对应相接。这是最常用最简单系统连接法。 (2)电气特性:RS-232标准的电气特性如表3.2所示。不带负载时驱动器输出电平-25V25V负载电阻范围37k欧驱动器输出电阻<300欧负载电容(包括线间电容)<2500pF逻辑“0”时驱动器输出电平515V逻辑“0”时负载端接收电平>+3V逻辑“1”时驱动器输出电平-15-5V逻辑“1”时负载端接收电平<-3V输出短路电流<500mA驱动器转换速率<30表3.2 RS-232标准的电气特性 由表3.2可以看出RS-232C电平采用负逻辑,逻辑“0”:+5+15V,逻辑“1”:-5-15V。在计算系统和智能仪器内,通用的信号是正逻辑的TTL电平。而RS-232C电平是负逻辑的,与TTL电平不兼容,必须进行电平转换。电平转换通常可以使用MC1488、MC1489、MAX232等芯片来实现。本系统是采用MAX232芯片实现电平转换的。 RS-232标准规定的波特率为:50、75、100、150、300、600、1200、4800、9600和19200bps。本系统波特率采用9600bps。3.3 硬件连接电路以及通信协议 上位测控系统与现场测控系统之间的通信通过串口实现。由于RS232电平与TTL电平不兼容,本系统通过MAX232芯片实现TTL电平到RS232电平的转换,MAX232芯片是包含两路接收器和驱动器的RS232电平转换芯片,适用于各种232通信接口。如图3.2所示。图3.2 PC与硬件现场测控系统的连接电路图 为使数据在上位测控系统和现场测控系统之间无差错的传送,本文采用通信协议来规定数据的传输。上位测控系统与现场测控系统双方的通信协议如下: 波特率:9600bps; 数据格式:8位数据位,1位停止位,无奇偶校验;传送方式:上位测控系统和现场测控系统都采用查询方式收发数据,传送的数据格式为二进制格式。现场测控系统收到上位测控系统发送的握手信号后,就依次命令传感器进行温度湿度光照转换;上位测控系统依次接收现场测控系统上传过来的数据,并显示在特定区域。3.4 Visual Basic6.0中的串行通信控件MSComm Visual Basic是一种可视化的编程语言,利用可视化技术进行编程,可使应用程序的开发简单、快捷,可编写出界面友好、功能强大的应用程序。Visual Basic 6.0拥有强大的插件,为用户编写程序简化了很多复杂的程序,其中有一个用于串口通信的控件MSComm,MSComm控件全称为Microsoft Communications Control,是Microsoft公司提供的ActiveX控件,目的是为了简化Windows下串行通信编程,它既可以用来提供简单的串口端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。 MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,而且在Visual Basic、Visual C+、Delphi等语言中均可以使用。使用它可以建立与串行端口的连接,通过串行端口连接到其它通信设备(如调制解调器),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。3.4.1 MSComm控件处理通信的方式 MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。它提供下列两种处理通信的方式。(1)事件驱动方式 事件驱动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时程序得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发生时,程序都可以利用MSComm控件的OnComm事件捕获并处理这些通信事件,OnComm事件还可以检查和处理通信错误。在程序设计中,可以在OnComm事件处理函数中加入自己的处理代码,一旦事件发生即可自动执行该段程序。这种方法的优点是程序响应及时,可靠性高。(2)查询方式在程序的每个关键功能完成之后,可以通过检查CommEvent属性的值来查询事件和错误。适用于自保持的应用程序较小的编程。查询方式的编程可用计时器或DoLoop程序实现。其实,查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。3.4.2 MSComm控件的常用属性 对控件编程首先需要了解它的属性和事件。下面介绍MSComm控件的一些主要属性,如表3.3所示。属性描述Commport设置并返回通信串口号Settings以字符串的形式设置并返回串口波特率、奇偶校验、数据位、停止位。格式为:MSComm1.Settings=”BBBB,P,D,S”Portopen设置并返回串口状态,也可以打开和关闭串口Input从接收缓冲区中读取数据并清空缓冲区Inputlen设置并返回一次从接收缓冲区中读取字节数InBufferSize设置并返回接收缓冲区的大小,缺省值为1024字节InBufferCount设置并返回接收缓冲区中等待接收的字符数InputMode设置并返回接收数据的类型。其值为0和1时,分别表示通过Input属性以文本方式和二进制方式取回数据OutBufferSize设置并返回发送缓冲区的大小,缺省值为512字节OutBufferCount设置并返回发送缓冲区中等待计算系统发送的字符数Output向发送缓冲区发送数据,该属性设计时无效,运行时只读Rthreshold在MSComm控件设置ConunEvent属性为comEvReceive并产生OnComm之前,设置并返回要接收的字符数表3.3 MSComm控件的主要属性 其中CommEvent属性是一个非常重要的属性。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋以不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。CommEvent属性的事件代码、常数以及含义参见表3.4。事件代码常值含义1ComEvRecive接收到Rthreshold个字符。该事件将连续产生,直到用Input属性从接收缓冲区中读取并删除字符2ComEvSend发送缓冲区中数据少于Sthreshold个,串口已经发送了一些数据,程序可以用Output属性继续发送数据3ComEvCTSClear To Send信号线的状态发生变化4ComEvDSRData Set Ready信号线从1变到05ComEvCDCarrier Detect信号线的状态发生变化6ComEvRing检测到振铃信号7ComEvEOF接收到文件结束符表3.4 CommEvent通信事件代码、常数及含义表3.4.3 MSComm控件的使用 MSComm控件通信的流程图如图3.3所示。编写程序时,只需要按照下面流程图,即可实现通信功能。图3.3 MSComm控件通信的流程图3.5 VB程序编制Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive ' 收到 RThreshold # ofchars.xv: Dim hk As Variant hk = MSComm1.Input'第0通道数据接受与处理 If hk(0) = &HFA Then '通道0的开始标志位 z_start = True ovt = 0 End If If hk(0) = &HFB Then '通道0的结束标志位 z_start = False Text1.Text=Val(in_data(1) & in_data(2) '温度值 Text2.Text=Val(in_data(3) & in_data(4) '湿度值 Text9.Text=Val(in_data(5) & in_data(6) '光照值 End If If z_start = True Then in_data(ovt) = hk(0) ovt = ovt + 1 End If If MSComm1.InBufferCount <> 0 Then '判定缓冲区数据的长度 GoTo xv End If End Select第4章 上位测控系统软件系统基于智能温室上位系统的功能要求,可以绘制出整个软件的系统模块图,如图4.1所示:上位测控系统软件系统串行通信用户信息管理实时数据显示历史数据趋势图历史数据查询标准参数修改图4.1 上位测控系统功能模块图4.1 上位测控系统功能 智能温室上位测控系统的目的是对现场测控系统检测的数据进行后处理。智能温室上位测控系统主要包括以下功能: 1.与现场测控系统进行数据通信; 2.检测数据录入数据库; 3.实现温度信息库的查询、显示、趋势图等处理功能; 4.修改标准参数; 接下来分别对各个模块进行简单的介绍: 用户管理模块:为防止不相关人员随意打开本软件修改,删除检测结果,所以软件运行后,首先设计了登陆对话框,要求输入用户名和密码,输入正确后才能进入该软件的主界面。 串行通信模块:用于接收现场测控系统所发送给上位测控系统的数据。以及将上位测控系统的数据传输到现场测控系统中。(这个模块上一章已经有过详细介绍,下文将不再介绍了)数据实时显示模块:从现场测控系统发送过来的数据,经过串口通信,存入数据库,然后显示在界面上,操作人员可以直观的看到实时数据。历史数据趋势图模块:用于观察所测得的温度湿度光照值得变化,是管理变得更直观,人性化。历史数据查询模块:当操作人员需要分析一段时间的数据的时候,可以调用查询模块进行历史数据分析。标准参数修改模块:为了适应不同的植物所需要的环境,为了保证本软件的兼容性,设计了一个参数修改模块,通过这个模块用户可以对所需要的各项参数进行修改。 智能温室上位测控系统信息管理系统软件运行在上位测控系统上,开发平台采用Microsoft Visual Basic6.0,下面将详细介绍各个模块的实现过程。4.2 数据库的设计 数据库是存放数据的仓库,是以一定的组织方式存储在计算系统中相关数据的集合。它能以最佳方式、最少的重复、最大的独立性为多种应用提供共享服务。多点温度信息管理系统数据库采用关系型数据库,用Access2003开发。Access2003是开发中小型数据库的首选数据库管理系统,使用它可以很方便的设计出一个出色的关系数据库,而且VB可以通过ADO data对象建立对Access类型数据库的快速连接。4.2.1 Access数据库的设计 在Microsoft Access数据库中,信息是以表的形式组织起来的,表就是数据以行和列的形式组织在一起,每一行代表一条记录,每一列代表一个字段,描述它所含有的数据。根据该系统的功能,我设计了3个表:用户信息表:用户信息表用于描述用户名和密码,完成用户登陆信息和密码修改信息的验证。标准值表:标准值表用于保存用户所修改的标准温度值。温度湿度光照信息表:温度湿度光照信息表用于描述现场测控系统每个测量结果,即传感器的测量日期、温度、湿度、光照。3个表的结构分别如表4.1所示。 (a) 温度信息表字段名称字段大小必填字段数据类型时间常规日期是日期/时间温度单精度型是文本湿度单精度型是文本光照单精度型是文本(b)用户信息表字段名称字段大小必填字段数据类型账号50是文本密码50是文本(c) 标准值表字段名称字段大小必填字段数据类型标准温度单精度型是文本最高温度单精度型是文本最低温度单精度型是文本标准湿度单精度型是文本最高湿度单精度型是文本最低湿度单精度型是文本标准光照单精度型是文本最高光照单精度型是文本最低光照单精度型是文本表4.1 上位测控系统信息数据库的表结构 由于数据在现场测控系统和上位测控系统之间传输的时间很短,所以约定温度信息送至上