




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号 淮安信息淮安信息职业职业技技术术学院学院 毕毕业业论论文文 题 目 龙虾养殖远程监控系统的设 计与实现数据采集上位 机软件模块 学生姓名 学 号 系 部计算机科学与工程系 专 业软件技术 班 级 指导教师 顾问教师 摘 要 ii 摘 要 i 摘摘 要要 基于 can 总线的龙虾养殖远程监控系统是针对江苏盱眙龙虾养殖基地而设 计的一套高效精细化养殖系统。采用高效现代化设施农业改造是实现精细化养 殖,提高特色水产养殖经济效益的必由之路。根据本项目作业范围大的特点, 系统采用了 can 总线作为现场总线,配合多种传感器技术和远程控制技术,实 现了对现场的数据采集和电气设备控制。在此基础上开发了一整套用于监控和 数据处理的智能化龙虾养殖管理系统。 基于 can 总线的龙虾养殖远程监控系统集数据采集、视频监控、软件控制 等多种技术于一体,是一个综合性、应用性比较强的项目。分别由计算机科学 与工程系和电子系教师承担指导,两系学生共同完成。项目总体分为四个模块: 数据采集上位机软件模块、远程监控软件模块、环境数据采集硬件模块和视频 监控模块组成。 本篇论文主要完成龙虾养殖远程监控系统中上位机数据采集模块功能的设 计与实现。在该模块中通过 can 总线实现了对现场多种传感器的数据读取,同 时根据系统的设定自动或手动的启动养殖水域的各种电气设备。在这个过程中 依赖 can 远程控制卡提供的 dll 驱动,实现了数据的读取与设备控制。上位 机数据采集模块使用 c#语言进行开发,模块系统基于 c/s 架构。 关键词关键词:can 总线 数据采集 c#三层模型 龙虾养殖监控 目 录 ii 目目 录录 摘摘 要要i 目目 录录ii 第一章第一章 前言前言.1 1.1 项目开发背景与意义1 1.1.1 项目开发背景.1 1.1.2 项目开发意义.1 1.2 龙虾养殖国内外情况调查2 1.2.1 龙虾养殖国外情况.2 1.2.2 龙虾养殖国内情况.2 1.3 项目技术关键与本模块工作任务3 1.3.1 项目技术关键.3 1.3.2 本模块工作任务.3 第二章第二章 系统总体设计系统总体设计.4 2.1 系统总体功能概述4 2.2can 总线网络拓扑设计.5 2.3 软件模块总体设计6 2.4 视频监控模块总体设计6 第三章第三章 数据采集控制模块的概要设计数据采集控制模块的概要设计.7 3.1 数据采集控制模块的需求分析.7 3.1.1 运行环境需求分析7 3.1.2 系统功能及角色需求分析7 3.2 数据库设计.8 3.2.1 数据库相关技术8 3.2.2 数据表的设计10 3.3 主要研究方法.12 第四章第四章 数据采集与控制模块的详细设计数据采集与控制模块的详细设计.13 4.1 详细设计规范.13 4.1.1 程序编码规范.13 4.1.2 数据库命名规范14 4.1.3 术语规范14 4.2 can 设备初始化 15 4.2.1 can 数据采集卡初始化15 4.2.2 can 远程模块初始化18 4.3 系统功能的实现.21 4.3.1 数据采集模块主界面设计21 4.3.2 历史数据的显示24 4.3.3 其他功能27 第五章第五章 总结与展望总结与展望.30 目 录 iii 致致 谢谢.31 参考文献参考文献.32 附录附录 1 软件著作权软件著作权35 附录附录 2 项目开发过程照片项目开发过程照片36 第一章 前言 1 第一章第一章 前言前言 1.1 项项目开目开发发背景与意背景与意义义 1.1.1 项项目开目开发发背景背景 “盱眙龙虾”是一种淡水龙虾,学名克氏螯虾,俗称“小龙虾”原产于欧 美国家,20 世纪中期传入我国并大量繁殖。 小龙虾早在 18 世纪时,就成为欧洲和美洲人的重要食物,欧美市场小龙虾 需求量大,自给能力不足,我国一直是小龙虾的出口国,但近几十年来,中国 人也开始大规模消费小龙虾,自然龙虾资源不断枯竭,为了缓解供需矛盾,上 世纪八十年代初开始研究小龙虾生物学特性,人工繁殖,人工养殖及加工,国 内外建立了大量的小龙虾养殖场,开始大规模人工养殖小龙虾,几十年来,由 于人们对小龙虾的研究,基本上停留在对小龙虾生物学特性的认知层面,对于 龙虾养殖管理技术的研究投入不足,尤其是在现代计算机控制技术和多种信息 采集技术突飞猛进,计算机技术迅速向各行各业渗透的今天,龙虾养殖业的发 展尚未有效地与计算机技术结合,这不能不说是一种缺陷。不失时机地把龙虾 规模化养殖与信息化管理技术结合起来,迅速提升龙虾养殖产业管理技术水准, 以现代装备手段,推动龙虾养殖产业长足发展,是龙虾人工繁殖、养殖技术进 一步发展的重要任务。 本项目旨在建设“盱眙龙虾规模化养殖与信息化管理技术相结合的数字监 控系统”它是把现代成熟的计算机控制技术和多种信息采集技术,系统地应用 到大规模龙虾养殖产业工作中,其实质是把龙虾养殖这个新兴产业与计算机现 代高科技手段相结合,以现代测控技术为实施农业服务,形成技术集成创新, 引领龙虾养殖管理技术的发展趋势。 1.1.2 项项目开目开发发意意义义 实施“5000 亩盱眙龙虾规模化养殖与信息化管理技术开发应用”项目,为 了促进盱眙龙虾成虾养殖和繁殖工作向集约化方向发展,将盱眙龙虾养殖技术 与基于计算机技术的信息化管理技术相结合,实现龙虾养殖稳产、高产、保产、 保收、保增长、保效益的目的。本项目不是要研究龙虾养殖技术本身,也不是 要研究计算机技术本身,它是把计算机和多种信息采集设备及应用技术结合到 龙虾养殖业工作中,完成两种现有技术的集成。 大莲湖龙虾养殖基地位于江苏省淮安市盱眙县河桥镇大莲湖村境内,连片 龙虾养殖面积 6000 多亩,精养水面 3000 余亩,是目前江苏省规模最大的专业 化淡水龙虾养殖基地,5000 亩盱眙龙虾规模化养殖与信息化管理技术开发应用, 有利于建设规模更大、养殖水平更高的盱眙龙虾精细化养殖示范基地,有利于 推动数字农业技术进步,增强盱眙龙虾品牌的高科技含量。有利于加快建设盱 淮安信息职业技术学院毕业设计论文 2 眙龙虾现代综合性专业化养殖体系,有利于推动中国小龙虾养殖乃至于推动世 界小龙虾养殖产业发展。 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 年全国出口淡水螯虾加 工产品达一万吨以上,我国不仅成为世界淡水螯虾的产量大国,也是世界淡水 螯虾的出国大国。二十世纪九十年代末,江苏盱眙的许建忠先生针对淡水螯虾 第一章 前言 3 的性味开发出了专门用来烧制克氏原螯虾(淡水小龙虾)的龙虾调料十三 香。 国内龙虾养殖研究也取得了比较大的进步,通过研究淡水螯虾的生殖生理 过程,达到增产增收的目的。湖北省水产科学所研究控制光照、控制水温、控 制水位、改善水质、加强投喂的综合措施,人工诱导红螯虾和克氏小龙虾同步 产卵,规模化繁殖获得很好的效果。淡水螯虾人工批量繁殖工作仍将是今后一 段时间世界淡水螯虾产业的工作热点。一些水产科研人员研究了淡水螯虾与一 些掠食性鱼类的生存关系,淡水螯虾对多种沉水植物的利用及相互影响等。 1.3 项项目技目技术术关关键键与本模与本模块块工作任工作任务务 1.3.1 项项目技目技术术关关键键 该项目是集软件开发、数据采集与设备控制、视频监控、智能传感应用于 一体的综合项目,其中涉及到多学科知识领域。同时,项目需要结合养殖现场 的具体情况进行调试与应用。在项目开发过程中重点要解决以下关键技术问题。 第一,传感器数据采集信号与控制指令的网络传输问题; 第二,上位机数据采集与控制系统开发问题; 第三,web 远程访问技术; 第四,视频监控与系统集成问题。 1.3.2 本模本模块块工作任工作任务务 本模块主要完成上位机数据采集与控制软件系统的设计,面向 can 总线硬 件接口编程,主要完成功能如下。 第一,完成数据采集与控制平台软件的设计; 第二,负责初始化 can 系统模块,并根据软件设计要求实时采集 can 前 端模块连接的智能传感器数据,主要包括环境温度、湿度、大气压 力、光照强度、风向、水中含氧量、ph 值等数据信息; 第三,根据采集数据状态,手动或自动启动设备控制程序,实现对养殖现 场电气设备的具体操控(给水水泵、排水水泵、增氧机等) ; 第四,数据保存与历史记录查询。 淮安信息职业技术学院毕业设计论文 4 第二章第二章 系统总体设计系统总体设计 2.1 系系统总统总体功能概述体功能概述 基于 can 总线的龙虾养殖远程监控系统主要分为三大功能:现场环境因子 的数据采集;养殖现场的电器设备控制;养殖区域的视频监控,系统采用 can 总线实现对各种采集数据和控制数据的传输。系统中心设立上位机与 web 服务 器,上位机中运行系统监控程序,负责数据采集与控制指令的发出。web 服务 器负责体统系统的远程访问与控制,同时兼顾视频监控系统的图像处理。系统 功能示意图如图 2.1 所示。 图 2.1 系统功能示意图 在项目设计和实施中,将系统分为前端数据采集和上位机数据处理、web 服务器三层框架结构。前端主要对龙虾养殖环境因子进行数据采集,其中主要 包括池塘的水温、水中溶解氧指标、ph 值、空气温度、大气压力、空气湿度、 光照度等环境数据。同时,配合闭路监控系统实时图像采集,直观观察养殖现 场的情况。在上位机的控制端,根据采集到的环境因子结合专家系统进行分析, 并通过系统自动控制养殖场的增氧机、注水水泵和排水水泵进行相应的调节。 在上位机和远端传感器间通过 can 总线进行信号传递。第三层为 web 远程表 示层,可以通过互联网在远程实时监控养殖现场的生产情况,包括视频情况。 表 2.1 数据采集与控制项目 采集数据项目 水温大气压力 ph 值光照度 溶解氧空气湿度 环境温度风向 控制数据项目 第二章 系统总体设计 5 增氧机注水水泵 排水水泵 龙虾养殖场现场数据采集 监 控 室 图像采集 探头1 图像采集 探头n 光照采 集探头 风向采 集探头 大气压力 采集探头 温度采 集探头 湿度采 集探头 光端机光端机 计算机 (工控机) 服务器 电视机 (电子显示设备) 数据 采集卡 数据 采集卡 光端机 数据备份 存储设备 摄像头控制信号 接入互联网(远程监控) 5000亩盱眙龙虾规模化养殖与信息化管理技术开发应用项目技术路线图 图 2.2 系统总体架构图 2.2can 总线总线网网络络拓扑拓扑设计设计 系统采用一整套 can 总线接收控制卡、前端数据 a/d 转换模块和数字量输 出模块,分别实现对传感器的数据采集,远端继电器板单元动作控制,进而控 制现场电气设备。 图 2.3 can 总线拓扑结构 pci 控制卡总线宽度 32 位,同步工作频率可达到 33mhz,最高传输速率为 132mbs,设计标准中考虑了负载,即使扩展卡超过了负载的最大值,系统也 淮安信息职业技术学院毕业设计论文 6 能正常工作。并且提供数据和地址奇偶校验功能,保证了数据的完整性和准确 性。can 接口通讯协议采用 can2.0b(pelican)兼容 can2.0a,符合 iso/iso11898 规范。通讯距离最长为 10 公里,很好的适应了大范围的池塘养殖 的环境要求。近距离的最高传输速率能够达到 1mbps。本项目中根据具体硬件 的特点,将 can 通讯协议帧分为两种2,一种是标准帧,另一种为扩展帧。 表 1 缓存区分配:(标准帧) buffer0123456789 内容 功能码 1 功能码 2 d0d1d2d3d4d5d6d7 表 2 缓存区分配:(扩展帧) buffer01234567891011 内容 功能码 1 功能码 2 功能码 3 功能码 4 d0d1d2d3d4d5d6d7 2.3 软软件模件模块总块总体体设计设计 在本项目中上位机系统由两部构成,分别是数据采集控制监控系统和互联 网信息远程监控系统。上位机的数据采集控制系统采用.net framework3.0 平台 框架,主要完成对 can 接口卡的初始化和数据采集与现场电机设备控制。将实 时采集的数据保存到服务器的数据库中。根据养殖专家领域知识形成的龙虾养 殖专家库的经验,判断比较采集数据,自动开启池塘的增氧机、给水水泵或排 水水泵。 web 信息平台系统采用 struts1.2 为系统框架,tomcat6.0 为 web 服务器, 结合 fushionchar 开源图表技术,实现了对养殖场情况的动态远程监控。系统基 于 can 硬件接口的底层动态链接库 can_pci.dll 进行编程3。 2.4 视频监视频监控模控模块总块总体体设计设计 视频监控硬件模块由 hk-dvr 8xxh 系列 pc 式数字硬盘录像机、高速球摄像 机、键盘、声光报警、红外对射、烟感、路由器等构成。专业视频监控软件经 过设置后可在本地或 internet 上巡视虾塘的状态。 1)采用基于网络、面向远程设备的控制技术数据采集技术,将环境温度、 湿度、大气压力、光照、虾池视频图像等实时数据采集设备所获得的数据与计 算机控制等技术有机结合,建立龙虾养殖基地数字监控系统。 2)计算机实现 72 小时实时数据资料备份,当龙虾出现生病或死亡时,可 以随时回放,便于调查研究发生的原因。 3)在办公室实现对视频图像采集探头 360 度环绕调节,近、远程定点聚焦 或图象放大,有效查看工作人员不易到达的虾池区域。 4)计算机显示屏可 116 画面切换虾池视频监控图像,实现远程集中监控, 当发生紧急情况时,便于实时进行人工干涉。 第二章 系统总体设计 7 5)龙虾易患烂鳃病、黑鳃病、烂尾病、聚缩虫病、纤毛虫病等常见病,在 大规模人工养殖环境下,由于养殖区域大,养殖环境复杂,以及人工探察时, 龙虾易受惊吓潜入水中,难以较早发现虾病,一旦发现,虾病情况通常已比较 严重,本项目的项目特色和创新在于,开发应用一种视频监控技术,探索早期 侦查虾病的有效手段。 6)龙虾有群殴、相互蚕食的习性,在成虾性成熟早期以及繁殖、打洞做窝、 争抢食物时尤其严重,往往造成大规模死亡,利用视频监控信息,对龙虾群殴 及时实施人工干预的经验。 7)优质的养虾环境是天然的沼泽池塘,这种环境水源丰足,水草植被茂盛, 通常也道路泥泞,人工监控困难,工作量巨大,为养殖人员提供数字监控手段, 在办公室就可以全面掌控龙虾养殖情况。 8)种虾及虾苗养殖经济效益高,技术要求高,养殖难度大,数字监控技术 的应用,防止偷盗事件,可以为高附加值养殖业保驾护航。 9)通过网络,用电脑或手机上网,实现异地远程监控。 淮安信息职业技术学院毕业设计论文 8 第三章第三章 数据采集控制模块的概要设计数据采集控制模块的概要设计 3.1 数据采集控制模数据采集控制模块块的需求分析的需求分析 明确数据采集与控制模块的各方面需求,准备设计各个组件逻辑,最终实 现对环境数据的数据采集、信息存储、数据分析与设备控制。 3.1.1 运行运行环环境需求分析境需求分析 上位机将部署在龙虾养殖现场附近的主控机房中,距离数据采集前端模块 约有 1 公里左右,使用 can 总线实现与远程数据采集与控制模块的通信4。软 件将面临的运行环境如下。 硬件环境:pc 机或工控机,2g 内存,500g 以上硬盘; can 总线数据采集卡 pci8110 采集板; 软件环境:windows xp 操作系统; sql server2005 数据库; net framework3.0 框架平台; can_pci.dll 接口 api; can 接口帮助文档等。 3.1.2 系系统统功能及角色需求分析功能及角色需求分析 上位机数据采集与控制系统设计主要完成以下六大功能: 1、can 设备的初始化 主要完成对 can 数据采集板驱动的加载,对远程数据采集模块5、设备控 制模块状态的读取,以判断远程模块是否工作正常。 2、用户与权限管理 管理创建新用户,创建角色,分配用户的权限。同时完成用户登录与用户 系统退出等工作。 3、数据采集与实施显示 本单元的功能主要负责完成读取前端的数据采集模块所采集的各种数据 (温度、湿度、水温、溶解氧、ph 值、风向、大气压力、光照等) 。并把数据 实时的显示在软件系统的用户界面上。 4、现场设备控制 根据现场采集数据情况,可以通过软件自动或操作员手动的开启或关闭相 关设备(增氧机、注水水泵和排水水泵) ,从而调节龙虾养殖环境的状态。 5、数据备份与还原 对运行中的数据库进行必要的数据备份,可使用指定的数据库备份文件还 原数据。 6、历史记录查看 可根据操作者的选择,指定时间和养殖池塘进行历史数据查看。 第三章 数据采集模块的概要设计 9 数据采集与控制模块功能 can 端口 初始化 用户与权 限管理 数据采集 与显示 现场设备 控制 数据备份历史记录 查询 初 始 化 接 口 板 巡 检 采 集 模 块 巡 检 控 制 模 块 用 户 登 录 用 户 管 理 权 限 设 定 数 据 读 取 数 据 实 施 显 示 采 集 周 期 设 定 权 限 分 配 注 水 水 泵 控 制 排 水 水 泵 控 制 增 氧 机 控 制 数 据 库 备 份 数 据 库 还 原 池 塘 信 息 维 护 历 史 记 录 查 看 数 据 导 出 图 3.1 系统总体功能框图 本系统的角色分为两种,一种是系统管理员。系统管理员负责维护系统的 正常运行,一般项目运行之初有技术人员负责完成,交付用户使用后,系统在 正常运行过程中不需要使用系统管理员角色登录。另一种角色为普通用户,普 通用户能够使用除了用户管理、角色创建以为的所有功能。 系统管理员 用户管理 角色管理 数据库维护 图 3.2 系统管理员角色及对应操作 3.2 数据数据库设计库设计 数据库是系统运行的基础,将实时采集的数据保存到系统数据库中,有利 于对历史数据的分析与查询。本系统采用了 sql server2005 为数据平台。 3.2.1 数据数据库库相关技相关技术术 sql 全称是结构化查询语言(structured query language),最早的是 ibm 的 圣约瑟研究实验室为其关系数据库管理系统开发的一种查询语言,它的前身是 square 语言。sql 语言结构简洁,功能强大,简单易学,所以自从 ibm 公司 1981 年推出以来,sql 语言得到了广泛的应用。如今无论是像 oracle 、sybase、informix、sql server 这些大型的数据库管理系统,还是像 visual foxpro、powerbuilder 这些微机上常用的数据库开发系统,都支持 sql 语言作 淮安信息职业技术学院毕业设计论文 10 为查询语言。sql 是高级的非过程化编程语言,允许用户在高层数据结构上工 作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放 方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的 sql 语言 作为数据输入与管理的接口。它以记录集合作为操纵对象,所有 sql 语句接受 集合作为输入,返回集合作为输出,这种集合特性允许一条 sql 语句的输出作 为另一条 sql 语句的输入,所以 sql 语言可以嵌套,这使他具有极大的灵活性 和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独 事件只需要一个 sql 语句就可以达到目的,这也意味着用 sql 语言可以写出非 常复杂的语句。sql 同时也是数据库文件格式的扩展名。sql 语言包含 4 个部 分,数据查询语言(select 语句) 、数据操纵语言(insert, update, delete 语句) 、数据定义语言(如 create, drop 等语句) 、数据控制语言 (如 commit, rollback 等语句) 。 数据库顾名思义是存储数据的仓库。只不过这个仓库是在计算机存储设备 上的,而且数据是按一定格式存放的。当人们收集了大量的数据后,应该把它 们保存起来进入近一步的处理,进一步的抽取有用的信息。当年人们把数据存 放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计 算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。 要是下定义的话,就应该是指长期储存在计算机内的、有组织的、可共享的数 据集合。数据库包含关系数据库、面向对象数据库及新兴的 xml 数据库等多种, 目前应用最广泛的是关系数据库,若在关系数据库基础上提供部分面向对象数 据库功能的对象关系数据库。在数据库技术的早期还曾经流行过层次数据库与 网状数据库,但这两类数据库目前已经极少使用。数据库管理(database administration)是有关建立、存储、修改和存取数据库中信息的技术,是指为保 证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。负责 这些技术管理工作的个人或集体称为数据库管理员(dba)。数据库管理的主要内 容有:数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库 的安全控制、数据的完整性控制和对用户提供技术支持。数据库的设计只是提 供了数据的类型、逻辑结构、联系、约束和存储结构等有关数据的描述,这些 描述称为数据模式。 要建立可运行的数据库,还需进行下列工作: (1)选定数据库的各种参数,例如最大的数据存储空间、缓冲决的数量、并 第三章 数据采集模块的概要设计 11 发度等。这些参数可以由用户设置,也可以由系统按默认值设置。 (2)定义数据库,利用数据库管理系统(dbms)所提供的数据定义语言和命令, 定义数据库名、数据模式、索引等。 (3)准备和装入数据,定义数据库仅仅建立了数据库的框架,要建成数据库 还必须装入大量的数据,这是一项浩繁的工作。在数据的准备和录入过程中, 必须在技术和制度上采取措施,保证装入数据的正确性。计算机系统中原已积 累的数据,要充分利用,尽可能转换成数据库的数据。 3.2.2 数据表的数据表的设计设计 1、用户信息表 表 3-1 userinfo 表 序号序号字段名字段名字段描述字段描述类型长度长度主键主键 外键外键 空空 备注备注 1.useridintyn 2.usernamevarchar 20n 3.passwordvarchar 50n 2、采集时间间隔表 表 3-2 timespace 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.idintyn 2.timespacefloatn 3.settimedatetimen 3、池塘信息表 表 3-3 poolinfo 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.poolidintyn 2.poolnumvarchar20n 3.poolnamevarchar20n 4.memovarchar255 5.availablebitn 4、池塘数据采集信息表 表 3-4 pooldata 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 淮安信息职业技术学院毕业设计论文 12 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.idintyn 2.watertemperaturefloatn 3.phfloatn 4.oxygenfloatn 5.testdatedatetimen 6.poolidintyn 5、节点信息表 表 3-5 nodelist 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.nodeidintyn 2.nodenumvarchar50n 3.nodetypevarchar20n 4.modelidintyn 6、采集控制模块信息表 表 3-6 modellist 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.modelidintyn 2.modelnamevarchar20n 3.modeltypevarchar20n 4.poolidintyn 7、历史信息表 表 3-7 memory 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.idintyn 2.contenttvarchar255n 3.testdatedatetimen 8、设备状态信息检查表 表 3-8 devicecheck 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 第三章 数据采集模块的概要设计 13 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.idintyn 2.nodeidintyn 3.testdatedatetimen 9、公共数据采集信息表 表 3-9 commondata 表 序号序号字段名字段名字段描述字段描述类型 长长 度度 主键主键 外键外键 空空 备注备注 1.idintyn 2.temperaturefloatn 3.humidityfloatn 4.atmosphericfloatn 5.lumfloatn 6.winddirectvarchar20n 7.testdatedatetimen 3.3 主要研究方法主要研究方法 在开发过程中严格遵循软件工程设计模式,具体设计过程如下: 需求分析 系统体系结构设计 系统详细设计 数据库模型创建 项目平台 demo 开发 项目编码实现 系统测试与应用 基 于 c/s 框 架 的 数 据 采 集 模 块 调查数据采集功能的需求 设计整体系统架构,实现项目任务分 解 详细设计系统接口,开发规范 根据需求与系统设计,建立数据模型 项目原型开发,进一步调整需求 设计可视化操作界面,整合各个模块 功能 测试,发布项目 图 3.3 系统开发过程控制方法 淮安信息职业技术学院毕业设计论文 14 第四章 数据采集与控制模块的详细设计 15 第四章第四章 数据采集与控制模块的详细设计数据采集与控制模块的详细设计 4.1 详细设计规详细设计规范范 在系统详细设计之初,按照 it 行业编码规范要求,统一制定项目详细设计 规范,在开发过程中严格按照此规范要求进行开发。 4.1.1 程序程序编码规编码规范范 变量/方法名 必须采用有意义的英文单词或英文单词组合作为变量名称,首字母小写,第 二个单词首字母大写。 例如 healthinfo 是一个符合规范的名称,a, arr 等则不符合规范。 静态全局变量 静态全局变量采用全部大写字母进行名。 常量 采用首字母大写的英文单词或英文单词组合表示常量。例如 pi,connection 等。 类/接口 采用首字母大写的英文单词或英文单词组合表示类。例如 dboperator 等 if 语句等的写法: if () /. 缩进 4 个空格(用 tab 键缩进) “=”号左右各留一个空格 如 string personalname = “张三”; 逻辑表达式在逻辑运算符两侧各留一个空格 如 if (password = “12345” /创建数据库连接对象 4.1.2 数据数据库库命名命名规规范范 本系统采用 sql server2005 为数据库平台,现对数据库对象进行命名规则 说明: 表 表名要用有实际意义的英文单词命名,若单词名字太长,可以做适当缩写。 主键 主键命名由表名_主键字段名_pk 进行命名。 如:personbaseinfo_personsysid_pk。 外键 外键命名由本表名_主表名_fk 进行命名。 如:personbaseinfo_familyid_fk。 数据字典 系统中所有的数据字典表命名为:dict_表名。 如:dict_dep,为部门字典表。 存储过程 系统中的存储过程命名:proc_过程名。 如:proc_join,分页存储过程。 序列 系统中序列的命名:sequ_序列名。 触发器 系统中触发器的命名:trig_触发器名。 4.1.3 术语规术语规范范 表 4-1 术语定义或解释表 第四章 数据采集与控制模块的详细设计 17 序号术语名称术语定义 1总体结构软件系统的总体逻辑结构。为树形的功能模块结构图。 2外部接口 本软件系统与其他软件系统之间的接口,接口设施可以是中间 件。接口描述包括:传输方式、带宽、数据结构、传输频率、 传输量、传输协议 3数据结构数据结构包括:数据库表的结构、其他数据结构等 4 概念数据 模型 cdm 关系数据库的逻辑设计模型,叫做概念数据模型;主要内容包 括张逻辑 e-r 图及其相应的数据字典 5 物理数据 模型 pdm 关系数据库的物理设计模型,叫做物理数据模型。主要内容包 括一张物理表关系图及其相应的数据字典 6视图 在基表或其他视图之上建立的一张虚表,叫做视图,它具有物 理表的许多性质,在数据处理和授权上很有用 7角色 数据库中享有某些特权操作的用户,叫做角色。角色的权利通 过授权来实现 8子系统 具有相对独立功能的小系统叫做子系统;一个大的软件系统可 以划分为多个子系统,每个子系统可由多个模块或多个部件组 成 9模块具有功能独立、能被调用的信息单元叫做模块。 10内部接口 软件系统内部各子系统之间、各部件之间、各模板之间的接口, 叫做内部接口。接口描述包括:调用方式、入口信息、出口信 息等 11相关文件 指当本文件内容变更后,可能引起变更的其他文件。如需求分 析报告、计细设计说明书、测试计划、用户手册 12参考资料 指本文件书写时用到的其他资料。如各种有关规范、模板、标 准、准则 4.2 can 设备设备初始化初始化 4.2.1 can 数据采集卡初始化数据采集卡初始化 1.can总线数据采集卡说明 kpci-8110适用于pc/286/386/486/586/及各种工控机,兼容机(pci总线)的长 距离,高传输速 率,多站点的can总线通讯板,采用光电隔离技术,使用两根 线每路可连接110个工作站。 2. 主要技术参数 淮安信息职业技术学院毕业设计论文 18 pci 局部总线性能:总线宽度 32 位,同步工作频率可达到 33mhz,最高传 输速率为 132mbs 。使用方便,能够实现自动配置,实现设备的即插即用。 可靠性高,标准中考虑了负载,即使扩展卡超过了负载的最大值系统也能正常 工作。提供数据和地址奇偶校验功能,保证了数据的完整性和准确性 2.2 can 接口 主要技术指:通讯协议采用 2.0b(pelican)兼容 can2.0a,符合 iso/iso11898 规范。通讯距离最长 10km。传输速率最高 1mbps。电源电压为 5v10% ,隔离电压 1000v。 can 接口为孔型 db9,符合 cia 标准 2.3 电源功耗:(不使用外部电源) 5v(10)400ma 2.4。工作 温度 070,相对湿度 095(不凝露) , 存贮温度 5585。 3. can数据采集卡的外观与使用 图 4.1can 数据采集卡的外观 系统基于 can 硬件接口的底层动态链接库 can_pci.dll 进行编程。下面是 初始化 can pci 控制卡的部分核心代码6。 dllimport(“can_pci.dll“, entrypoint = “can_open“) static extern boolean can_open(int mindex); dllimport(“can_pci.dll“, entrypoint = “can_reset“) static extern boolean can_reset(int mindex); dllimport(“can_pci.dll“, entrypoint = “can_init“) static extern boolean can_init(int mindex, byte config); dllimport(“can_pci.dll“, entrypoint = “can_trans“) static extern boolean can_trans(int mindex, byte config, int wtimeout); 第四章 数据采集与控制模块的详细设计 19 dllimport(“can_pci.dll“, entrypoint = “can_recv“) static extern boolean can_recv(int mindex, byte config, int rtimeout); public void openchannel(byte station_, byte channel) /打开 can 通道 long data, data1; byte canbuff = new byte11; byte func; byte canbuff1 = new byte5; byte setout1, setout2; byte station = station_; func = 8; /置输出数据指令为 /设定输出通道 1 置 位 setout2 = 0x0; /设定输出通道 9 置 位 data = cframe(station, func); data = data data1 = (data canbuff10 = 2; /第一字节填入本帧数据场长度 canbuff11 = (byte)data1; canbuff12 = (byte)(data canbuff13 = setout1; /要输出的 1-8 通道数据内容 canbuff14 = setout2; /要输出的 916 通道数据内容 public long cframe(byte station1, byte func1) /处理转发帧的信息 头 淮安信息职业技术学院毕业设计论文 20 long a1, b1; a1 = (station1 * 32) b1 = func1; b1 = (b1 * 4096) return a1 | b1; 4.2.2 can 远远程模程模块块初始化初始化 在本系统中共使用了两种类型的 can 远程模块:分别是 k8512 模拟量数据 采集和 k8520 开关量输出模块。 图 4.2 can 远程数据采集与控制模块 第四章 数据采集与控制模块的详细设计 21 在系统启动时,首先要初始化 can 总线采集卡,之后通过 can 总线采集 卡初始化远程 can 模块,检查其状态信息。下面的代码是对远程 can 模块的 初始化与设备检查。 /-以下是模拟量采集的功能方法-使用多通道- public double read_chan(byte station_no) byte tarr1 = new byte6; byte tarr2 = new byte5; int cth, ctl; long fv, dv, df; fv = 10000; /量程为-10v的fv和df设定 df = 0; dv = 65535; /16位测量精度,位测量精度dv值为: byte canbuff = new byte11; long data, data1; byte func; byte canbuff1 = new byte4; /设定模块站址为 byte station = station_no; /进行多通道的数据采集 func = 0x6; /读模块单通道数据指令为 data = data data1 = (data canbuff10 = 0; canbuff11 = (byte)data1; canbuff12 = (byte)(data if (can_trans(0, canbuff1, 10) = false) /下发指令帧 console.writeline(“ + canbuff3); else 淮安信息职业技术学院毕业设计论文 22 /下发完指令后,接收第一帧数据。从-11字节 if (can_recv(0, canbuff, 100) /接收模块返回帧 /判断是否是第一帧 if (canbuff1 t 4; t+) ctl = canbuff3 + t * 2; cth = canbuff4 + t * 2; read_resultt = ctl + cth * 256; read_resultt = (read_resultt text4(i).text = format(cstr(value(i) and dv) / dv * fv - df) / 1000), “#0.000“) /接收第二帧数据。从-11字节 if (can_recv(0, canbuff, 100) /判断是否是第二帧 if (canbuff1 t 4; t+) ctl = canbuff3 + t * 2; cth = canbuff4 + t * 2; read_resultt + 4 = ctl + cth * 256; /text4(i).text = 第四章 数据采集与控制模块的详细设计 23 format(cstr(value(i) and dv) /dv * fv - df) / 1000), “#0.000“) /判断是否是第二帧结束 /接收第二帧结束 /判断是否是第一帧结束 /接收第一帧结束 /判断下发指令是否成功,结束! 4.3 系系统统功能的功能的实现实现 4.3.1 数据采集模数据采集模块块主界面主界面设计设计 图 4.3 数据采集与控制模块主界面 在主界面上一共分为四个区域: 1) 、环境数据采集与显示 系统对虾池周边的环境因子进行数据采集,其中包括室外温度、室内温度、环 境湿度、引用水 ph 值、室内环境含氧量、大气压力、日照强度、环境风向。 图 4.4 数据采集显示区 2) 、环境数据 24 小时曲线显示与数据库存储 淮安信息职业技术学院毕业设计论文 24 图 4.5 数据曲线显示 系统对虾池周边的环境因子进行数据采集同时,利用图像 24 小时显示其曲 线变化情况。 3) 、现场设备控制 系统提供了对养虾池塘现场设备的控制功能。在虾池中通常有三种设备: 降温风扇、降温淋浴、换气扇。根据现场采集数据情况,可以手动开启某个虾 池的现场设备,并设定工作时间。 图 4.6 设备控制面板 4) 、菜单工作区 系统提供了对常用操作的快捷方式,可以使用下面的菜单与工具条进行快 速控制与操作。 图 4.7 菜单与工具面板 主界面的实现代码: 1、系统主方法 public mainform() initializecomponent(); /获得工作区的大小 int i = screen.primaryscreen.workingarea.height; 第四章 数据采集与控制模块的详细设计 25 int i = screen.primaryscreen.workingarea.width; /获得窗口的大小 int i = this.width; int j = this.height; this.addnametotree();/为treeview初始化 this.datetimetxt.text = this.getsystime();/设置系统时间. this.systime_timer.enabled = true;/启动系统时间timer m_timer.enabled = true;/启动公共timer this.setreadtime();/设置夺取数据的间隔时间 /初始化k8110板卡 onof_control contr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 33484-2025船用固定式泡沫灭火系统试验方法
- GB/T 21035-2025饲料安全性评价致畸试验
- 小学生室内课件操
- DB31∕T 1397-2023 智慧物流中心规划和运营要求
- DB14∕T 3245-2025 标准地名地址编制规范
- 在节假日举办的中秋节活动方案范本
- 消防安全管理活动策划方案
- XX重阳节主题活动方案
- 小学生字迷课件
- 小学生圆梦航天课件
- JG/T 366-2012外墙保温用锚栓
- HY/T 0465-2024红树林修复与利用地埋管网系统技术指南
- 学烧烤合同协议书怎么写
- T/NAHIEM 56-2022医疗机构放疗中心建设标准
- T/CTRA 01-2020废轮胎/橡胶再生油
- 武汉市华一寄宿学校新初一分班语文试卷含答案
- 常见的立式旋风水膜除尘器(大气污染治理)
- 教育培训系统v2.3-产品介绍
- 高等材料力学教学课件
- 农艺工技师实操考试试题及答案
- 医院新员工入职廉洁教育培训
评论
0/150
提交评论