龙虾养殖远程监控系统的设计与实现数据采集上位机软件模块毕业论文文档格式.docx
《龙虾养殖远程监控系统的设计与实现数据采集上位机软件模块毕业论文文档格式.docx》由会员分享,可在线阅读,更多相关《龙虾养殖远程监控系统的设计与实现数据采集上位机软件模块毕业论文文档格式.docx(46页珍藏版)》请在冰豆网上搜索。
![龙虾养殖远程监控系统的设计与实现数据采集上位机软件模块毕业论文文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/3/c9584422-ae69-4fa6-8afb-97d7810bade5/c9584422-ae69-4fa6-8afb-97d7810bade51.gif)
第一章前言
1.1项目开发背景与意义
1.1.1项目开发背景
“盱眙龙虾”是一种淡水龙虾,学名克氏螯虾,俗称“小龙虾”原产于欧美国家,20世纪中期传入我国并大量繁殖。
小龙虾早在18世纪时,就成为欧洲和美洲人的重要食物,欧美市场小龙虾需求量大,自给能力不足,我国一直是小龙虾的出口国,但近几十年来,中国人也开始大规模消费小龙虾,自然龙虾资源不断枯竭,为了缓解供需矛盾,上世纪八十年代初开始研究小龙虾生物学特性,人工繁殖,人工养殖及加工,国内外建立了大量的小龙虾养殖场,开始大规模人工养殖小龙虾,几十年来,由于人们对小龙虾的研究,基本上停留在对小龙虾生物学特性的认知层面,对于龙虾养殖管理技术的研究投入不足,尤其是在现代计算机控制技术和多种信息采集技术突飞猛进,计算机技术迅速向各行各业渗透的今天,龙虾养殖业的发展尚未有效地与计算机技术结合,这不能不说是一种缺陷。
不失时机地把龙虾规模化养殖与信息化管理技术结合起来,迅速提升龙虾养殖产业管理技术水准,以现代装备手段,推动龙虾养殖产业长足发展,是龙虾人工繁殖、养殖技术进一步发展的重要任务。
本项目旨在建设“盱眙龙虾规模化养殖与信息化管理技术相结合的数字监控系统”它是把现代成熟的计算机控制技术和多种信息采集技术,系统地应用到大规模龙虾养殖产业工作中,其实质是把龙虾养殖这个新兴产业与计算机现代高科技手段相结合,以现代测控技术为实施农业服务,形成技术集成创新,引领龙虾养殖管理技术的发展趋势。
1.1.2项目开发意义
实施“5000亩盱眙龙虾规模化养殖与信息化管理技术开发应用”项目,为了促进盱眙龙虾成虾养殖和繁殖工作向集约化方向发展,将盱眙龙虾养殖技术与基于计算机技术的信息化管理技术相结合,实现龙虾养殖稳产、高产、保产、保收、保增长、保效益的目的。
本项目不是要研究龙虾养殖技术本身,也不是要研究计算机技术本身,它是把计算机和多种信息采集设备及应用技术结合到龙虾养殖业工作中,完成两种现有技术的集成。
大莲湖龙虾养殖基地位于江苏省淮安市盱眙县河桥镇大莲湖村境内,连片龙虾养殖面积6000多亩,精养水面3000余亩,是目前江苏省规模最大的专业化淡水龙虾养殖基地,5000亩盱眙龙虾规模化养殖与信息化管理技术开发应用,有利于建设规模更大、养殖水平更高的盱眙龙虾精细化养殖示范基地,有利于推动数字农业技术进步,增强盱眙龙虾品牌的高科技含量。
有利于加快建设盱眙龙虾现代综合性专业化养殖体系,有利于推动中国小龙虾养殖乃至于推动世界小龙虾养殖产业发展。
1.2龙虾养殖国内外情况调查
1.2.1龙虾养殖国外情况
国外研究淡水螯虾的历史很早,可以追溯到一百多年前,国外养殖小龙虾的历史大概有六十到七十年,但从二十世纪七十年代后发展非常迅速。
北美是淡水螯虾分布最多的地区,约有四百多个种类。
在那里淡水螯虾已经成为重要的水产资源,特别是美国,1978年美国国家研究委员会强调发展淡水小龙虾的养殖,其养殖产量占美国甲壳类水产动物养殖产量的90%以上。
仅路易斯安那州1985年的龙虾养殖面积就超过4.8万公顷,产量达8000吨,产值七千万美元。
美国淡水螯虾养殖单产高的达到每公顷4000多公斤。
主要的养殖种类是克氏螯虾,也就是我们常说淡水小龙虾或小龙虾,此外还有原螯虾属、太平螯虾属等。
小龙虾养殖方式有粗放养殖、混养和池塘强化养殖,较多的是与水稻的轮作和混作。
墨西哥2003年淡水螯虾的产量为3000多吨,主要品种是克氏螯虾,此外还有从澳大利亚引进的红螯虾。
澳大利亚20世纪60年代后期开始淡水小龙虾养殖和研究工作,主要养殖种类是麦龙螯虾、红螯虾和雅比螯虾。
此外还有其他种类虾属。
养殖有三种形式:
一是湖泊、水库粗放养殖,不用管理和投喂,平均单产为每公顷水面1000公斤;
二是池塘精养,平均单产每公顷约3千公斤至4千公斤;
三是采取封闭系统工厂化强化养殖,单产则更高。
欧洲对淡水螯虾的开发则更早,20世纪初的捕捞产量就相当高。
20世纪60年代后,瑞典、芬兰、法国、奥地利、英国、波兰、德国和一些前苏联国家从国外引进一些抗病能力强的优良种类,如20世纪70年代引进宽大太平螯虾、土耳其螯虾、克氏原螯虾。
80年代初,英国、西班牙、法国等欧洲国家先后从澳大利亚引进马龙螯虾。
90年代又从澳大利亚引进红螯螯虾,积极发展小龙虾养殖,恢复螯虾资源。
瑞典从1969年连续18年向湖泊、河流和围堰中投放大量太平螯虾的虾苗和种虾。
由于需求量大,欧洲每年仍要进口大量的淡水螯虾,2002年仅瑞典就进口了5000吨以上[1]。
1.2.2龙虾养殖国内情况
中国淡水螯虾的养殖种类主要是我们现在普遍食用的克氏螯虾,我们习惯称之为“小龙虾”1991年我国小龙虾的年产量在4.06万吨以上,接近美国,成为世界淡水螯虾的生产大国。
2004年中国淡水螯虾的总产量在20万吨以上,仅江苏省的产量就达到9.06万吨,成为世界上淡水螯虾产量最大的国家。
江苏盱眙最早从1991年开始出口淡水螯虾加工产品,至2004年全国出口淡水螯虾加工产品达一万吨以上,我国不仅成为世界淡水螯虾的产量大国,也是世界淡水螯虾的出国大国。
二十世纪九十年代末,江苏盱眙的许建忠先生针对淡水螯虾的性味开发出了专门用来烧制克氏原螯虾(淡水小龙虾)的龙虾调料——十三香。
国内龙虾养殖研究也取得了比较大的进步,通过研究淡水螯虾的生殖生理过程,达到增产增收的目的。
湖北省水产科学所研究控制光照、控制水温、控制水位、改善水质、加强投喂的综合措施,人工诱导红螯虾和克氏小龙虾同步产卵,规模化繁殖获得很好的效果。
淡水螯虾人工批量繁殖工作仍将是今后一段时间世界淡水螯虾产业的工作热点。
一些水产科研人员研究了淡水螯虾与一些掠食性鱼类的生存关系,淡水螯虾对多种沉水植物的利用及相互影响等。
1.3项目技术关键与本模块工作任务
1.3.1项目技术关键
该项目是集软件开发、数据采集与设备控制、视频监控、智能传感应用于一体的综合项目,其中涉及到多学科知识领域。
同时,项目需要结合养殖现场的具体情况进行调试与应用。
在项目开发过程中重点要解决以下关键技术问题。
第一,传感器数据采集信号与控制指令的网络传输问题;
第二,上位机数据采集与控制系统开发问题;
第三,Web远程访问技术;
第四,视频监控与系统集成问题。
1.3.2本模块工作任务
本模块主要完成上位机数据采集与控制软件系统的设计,面向CAN总线硬件接口编程,主要完成功能如下。
第一,完成数据采集与控制平台软件的设计;
第二,负责初始化CAN系统模块,并根据软件设计要求实时采集CAN前端模块连接的智能传感器数据,主要包括环境温度、湿度、大气压力、光照强度、风向、水中含氧量、PH值等数据信息;
第三,根据采集数据状态,手动或自动启动设备控制程序,实现对养殖现场电气设备的具体操控(给水水泵、排水水泵、增氧机等);
第四,数据保存与历史记录查询。
第二章系统总体设计
2.1系统总体功能概述
基于CAN总线的龙虾养殖远程监控系统主要分为三大功能:
现场环境因子的数据采集;
养殖现场的电器设备控制;
养殖区域的视频监控,系统采用CAN总线实现对各种采集数据和控制数据的传输。
系统中心设立上位机与Web服务器,上位机中运行系统监控程序,负责数据采集与控制指令的发出。
Web服务器负责体统系统的远程访问与控制,同时兼顾视频监控系统的图像处理。
系统功能示意图如图2.1所示。
图2.1系统功能示意图
在项目设计和实施中,将系统分为前端数据采集和上位机数据处理、Web服务器三层框架结构。
前端主要对龙虾养殖环境因子进行数据采集,其中主要包括池塘的水温、水中溶解氧指标、PH值、空气温度、大气压力、空气湿度、光照度等环境数据。
同时,配合闭路监控系统实时图像采集,直观观察养殖现场的情况。
在上位机的控制端,根据采集到的环境因子结合专家系统进行分析,并通过系统自动控制养殖场的增氧机、注水水泵和排水水泵进行相应的调节。
在上位机和远端传感器间通过CAN总线进行信号传递。
第三层为Web远程表示层,可以通过互联网在远程实时监控养殖现场的生产情况,包括视频情况。
表2.1数据采集与控制项目
采集数据项目
水温
大气压力
PH值
光照度
溶解氧
空气湿度
环境温度
风向
控制数据项目
增氧机
注水水泵
排水水泵
图2.2系统总体架构图
2.2CAN总线网络拓扑设计
系统采用一整套CAN总线接收控制卡、前端数据A/D转换模块和数字量输出模块,分别实现对传感器的数据采集,远端继电器板单元动作控制,进而控制现场电气设备。
图2.3CAN总线拓扑结构
PCI控制卡总线宽度32位,同步工作频率可达到33MHz,最高传输速率为132MB/S,设计标准中考虑了负载,即使扩展卡超过了负载的最大值,系统也能正常工作。
并且提供数据和地址奇偶校验功能,保证了数据的完整性和准确性。
CAN接口通讯协议采用CAN2.0B(PeliCAN)兼容CAN2.0A,符合ISO/ISO11898规范。
通讯距离最长为10公里,很好的适应了大范围的池塘养殖的环境要求。
近距离的最高传输速率能够达到1Mbps。
本项目中根据具体硬件的特点,将CAN通讯协议帧分为两种[2],一种是标准帧,另一种为扩展帧。
表1缓存区分配:
(标准帧)
buffer
1
2
3
4
5
6
7
8
9
内容
功能码1
功能码2
D0
D1
D2
D3
D4
D5
D6
D7
表2缓存区分配:
(扩展帧)
10
11
功能码3
功能码4
2.3软件模块总体设计
在本项目中上位机系统由两部构成,分别是数据采集控制监控系统和互联网信息远程监控系统。
上位机的数据采集控制系统采用.NetFrameWork3.0平台框架,主要完成对CAN接口卡的初始化和数据采集与现场电机设备控制。
将实时采集的数据保存到服务器的数据库中。
根据养殖专家领域知识形成的龙虾养殖专家库的经验,判断比较采集数据,自动开启池塘的增氧机、给水水泵或排水水泵。
Web信息平台系统采用Struts1.2为系统框架,Tomcat6.0为Web服务器,结合FushionChar开源图表技术,实现了对养殖场情况的动态远程监控。
系统基于CAN硬件接口的底层动态链接库can_pci.dll进行编程[3]。
2.4视频监控模块总体设计
视频监控硬件模块由HK-DVR8XXH系列PC式数字硬盘录像机、高速球摄像机、键盘、声光报警、红外对射、烟感、路由器等构成。
专业视频监控软件经过设置后可在本地或Internet上巡视虾塘的状态。
1)采用基于网络、面向远程设备的控制技术数据采集技术,将环境温度、湿度、大气压力、光照、虾池视频图像等实时数据采集设备所获得的数据与计算机控制等技术有机结合,建立龙虾养殖基地数字监控系统。
2)计算机实现72小时实时数据资料备份,当龙虾出现生病或死亡时,可以随时回放,便于调查研究发生的原因。
3)在办公室实现对视频图像采集探头360度环绕调节,近、远程定点聚焦或图象放大,有效查看工作人员不易到达的虾池区域。
4)计算机显示屏可1~16画面切换虾池视频监控图像,实现远程集中监控,当发生紧急情况时,便于实时进行人工干涉。
5)龙虾易患烂鳃病、黑鳃病、烂尾病、聚缩虫病、纤毛虫病等常见病,在大规模人工养殖环境下,由于养殖区域大,养殖环境复杂,以及人工探察时,龙虾易受惊吓潜入水中,难以较早发现虾病,一旦发现,虾病情况通常已比较严重,本项目的项目特色和创新在于,开发应用一种视频监控技术,探索早期侦查虾病的有效手段。
6)龙虾有群殴、相互蚕食的习性,在成虾性成熟早期以及繁殖、打洞做窝、争抢食物时尤其严重,往往造成大规模死亡,利用视频监控信息,对龙虾群殴及时实施人工干预的经验。
7)优质的养虾环境是天然的沼泽池塘,这种环境水源丰足,水草植被茂盛,通常也道路泥泞,人工监控困难,工作量巨大,为养殖人员提供数字监控手段,在办公室就可以全面掌控龙虾养殖情况。
8)种虾及虾苗养殖经济效益高,技术要求高,养殖难度大,数字监控技术的应用,防止偷盗事件,可以为高附加值养殖业保驾护航。
9)通过网络,用电脑或手机上网,实现异地远程监控。
第三章数据采集控制模块的概要设计
3.1数据采集控制模块的需求分析
明确数据采集与控制模块的各方面需求,准备设计各个组件逻辑,最终实现对环境数据的数据采集、信息存储、数据分析与设备控制。
3.1.1运行环境需求分析
上位机将部署在龙虾养殖现场附近的主控机房中,距离数据采集前端模块约有1公里左右,使用CAN总线实现与远程数据采集与控制模块的通信[4]。
软件将面临的运行环境如下。
硬件环境:
PC机或工控机,2G内存,500G以上硬盘;
CAN总线数据采集卡PCI8110采集板;
软件环境:
WindowsXP操作系统;
SQLServer2005数据库;
NetFrameWork3.0框架平台;
can_pci.dll接口API;
CAN接口帮助文档等。
3.1.2系统功能及角色需求分析
上位机数据采集与控制系统设计主要完成以下六大功能:
1、CAN设备的初始化
主要完成对CAN数据采集板驱动的加载,对远程数据采集模块[5]、设备控制模块状态的读取,以判断远程模块是否工作正常。
2、用户与权限管理
管理创建新用户,创建角色,分配用户的权限。
同时完成用户登录与用户系统退出等工作。
3、数据采集与实施显示
本单元的功能主要负责完成读取前端的数据采集模块所采集的各种数据(温度、湿度、水温、溶解氧、PH值、风向、大气压力、光照等)。
并把数据实时的显示在软件系统的用户界面上。
4、现场设备控制
根据现场采集数据情况,可以通过软件自动或操作员手动的开启或关闭相关设备(增氧机、注水水泵和排水水泵),从而调节龙虾养殖环境的状态。
5、数据备份与还原
对运行中的数据库进行必要的数据备份,可使用指定的数据库备份文件还原数据。
6、历史记录查看
可根据操作者的选择,指定时间和养殖池塘进行历史数据查看。
图3.1系统总体功能框图
本系统的角色分为两种,一种是系统管理员。
系统管理员负责维护系统的正常运行,一般项目运行之初有技术人员负责完成,交付用户使用后,系统在正常运行过程中不需要使用系统管理员角色登录。
另一种角色为普通用户,普通用户能够使用除了用户管理、角色创建以为的所有功能。
图3.2系统管理员角色及对应操作
3.2数据库设计
数据库是系统运行的基础,将实时采集的数据保存到系统数据库中,有利于对历史数据的分析与查询。
本系统采用了SQLServer2005为数据平台。
3.2.1数据库相关技术
SQL全称是结构化查询语言(StructuredQueryLanguage),最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。
如今无论是像Oracle、Sybase、Informix、SQLserver这些大型的数据库管理系统,还是像VisualFoxPro、PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。
他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。
它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
SQL同时也是数据库文件格式的扩展名。
SQL语言包含4个部分,数据查询语言(SELECT语句)、数据操纵语言(INSERT,UPDATE,DELETE语句)、数据定义语言(如CREATE,DROP等语句)、数据控制语言(如COMMIT,ROLLBACK等语句)。
数据库顾名思义是存储数据的仓库。
只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放的。
当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。
当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。
要是下定义的话,就应该是指长期储存在计算机内的、有组织的、可共享的数据集合。
数据库包含关系数据库、面向对象数据库及新兴的XML数据库等多种,目前应用最广泛的是关系数据库,若在关系数据库基础上提供部分面向对象数据库功能的对象关系数据库。
在数据库技术的早期还曾经流行过层次数据库与网状数据库,但这两类数据库目前已经极少使用。
数据库管理(DatabaseAdministration)是有关建立、存储、修改和存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。
负责这些技术管理工作的个人或集体称为数据库管理员(DBA)。
数据库管理的主要内容有:
数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库的安全控制、数据的完整性控制和对用户提供技术支持。
数据库的设计只是提供了数据的类型、逻辑结构、联系、约束和存储结构等有关数据的描述,这些描述称为数据模式。
要建立可运行的数据库,还需进行下列工作:
(1)选定数据库的各种参数,例如最大的数据存储空间、缓冲决的数量、并发度等。
这些参数可以由用户设置,也可以由系统按默认值设置。
(2)定义数据库,利用数据库管理系统(DBMS)所提供的数据定义语言和命令,定义数据库名、数据模式、索引等。
(3)准备和装入数据,定义数据库仅仅建立了数据库的框架,要建成数据库还必须装入大量的数据,这是一项浩繁的工作。
在数据的准备和录入过程中,必须在技术和制度上采取措施,保证装入数据的正确性。
计算机系统中原已积累的数据,要充分利用,尽可能转换成数据库的数据。
3.2.2数据表的设计
1、用户信息表
表3-1UserInfo表
序号
字段名
字段描述
类型
长度
主键
外键
空
备注
1.
UserId
Int
Y
N
2.
UserName
VARCHAR
20
3.
Password
50
2、采集时间间隔表
表3-2TimeSpace表
ID
int
TimeSpace
float
SetTime
Datetime
3、池塘信息表
表3-3PoolInfo表
PoolID
PoolNum
PoolName
4.
Memo
255
5.
Available
Bit
4、池塘数据采集信息表
表3-4PoolData表
WaterTemperature
PH
Oxygen
TestDate
6.
5、节点信息表
表3-5NodeList表
NodeID
NodeNum
NodeType
ModelID
6、采集控制模块信息表
表3-6ModelList表
ModelName
ModelType
7、历史信息表
表3-7Memory表
Cont