




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 中 文 摘 要 随着我国国民经济的迅猛发展,人们的生活水平日益提高,对于食品的保质和 保鲜质量也提出了更高的要求。因此,在食品生产、加工、运输等多种环节中,运 用智能温度监测、记录、报警等科技手段已经成为了强制性的要求。特别是近年来 与食品运输关系最为密切的冷库企业要能在激烈的竞争中取得优势,就必须建立符 合企业自身特点的冷库温度监测管理系统,通过计算机软件方便地对冷库系统的运 行状况进行实时管理,最大限度地提高冷库工作人员的管理效率和管理水平。 本文所设计的冷库温度监测系统对 12 路冷库温度信息进行管理, 实现了温度信 息的显示、记录、报警和对冷库参数的设置等功能。其中温度信息显示功能实现了 每一路冷库实时温度显示和相应的历史温度显示;冷库温度的报警功能有三种报警 方式弹屏报警、声光报警和手机短信报警;冷库参数设置功能可对每一个冷库的报 警上下限、报警开启与关闭下位机的实时温度测量周期、历史温度记录周期等参数 进行设置。与现有的其它冷库温度监测系统相比,本系统功能更全面,操作更方便, 界面更友好。 本论文由五部分组成。 首先介绍了冷库温度监测系统研究意义和目的。 其次介绍了实现冷库温度监测系统需要的主要技术,如.net 平台简介、c#开 发语言及数据库访问技术等。 然后用两章的篇幅详细介绍了冷库温度监测系统的总体设计和具体实现方法, 包括系统的需求分析、数据库系统的设计、本系统每一个功能和界面设计、关键技 术实现逻辑、以及相应的程序代码编写。 最后对本论文和本系统进行了总结,对存在的问题进行了分析,以及对未来工 作的展望。 关键词:关键词: 温度监测系统;.net;数据库 ii abstract with the rapid development of chinas national economy, peoples living standards are improving, and the demand of more quality and freshness food are put forward. so, the use of technological means like intelligible monitoring, recording and alarm ways has become a mandatory requirement in food production ,processing and transportation areas. especially, cold storage areas which most closely related to the transport food in recent years which want to gain advantage in fierce competition must be established their own characteristics temperature monitoring and management system. computer software cans management cold storage system easily and timely, it makes the staff and level of management maximize efficiency. in this cold temperature monitoring system for cold storage temperature of 12 information management, and the temperature information display, record, alarm and set the parameters for cold storage and other functions. refrigerators temperature monitoring system the paper discussed is a cold storage that has 12 cold rooms. the system has some functions such as management temperature information, display temperature information, record alarm, set the refrigerator parameters and others. temperature information which include cold storage, real-time display of temperature display and historical temperature display, including cold temperature alarm mode screen bomb alarm, sound and light alarms and mobile phone text messages warning of three ways, cold storage parameter settings include setting upper and lower limits for each refrigerator alarm , alarm, and the next crew to enable real-time temperature measurement period and the historical record of temperature cycles and other parameter information. cold storage temperature monitoring system with other more comprehensive than function, the operation more convenient interface more friendly. this paper consists of five parts: first of all, this paper introduced the meaning and the purpose of iii refrigeratory temperature monitoring system; then introduces the three basics know ledges of design this system. the three basics know ledges named like. net platform introduction, c # development language and database access technology; then the paper introduced the design and the implementation of cold storage temperature monitoring system detailed by two chapters. including system requirements analysis, database system design and the system interface functions for each key technology introduction and logic and implementation code; finally, the paper introduced the summary and the outlook of this system. key words: temperature monitoring and recording alarm system; net; data base 承 诺 书 36 承 诺 书 本人郑重声明:所呈交的学位论文,是在导师指导下独立完成的, 学位论文的知识产权属于山西大学。如果今后以其他单位名义发表与在 读期间学位论文相关的内容,将承担法律责任。除文中已经注明引用的 文献资料外,本学位论文不包括任何其他个人或集体已经发表或撰写过 的成果。 作者签名: 20 年 月 日 学位论文使用授权说明 37 学位论文使用授权说明 本人完全了解山西大学有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关机关或机构送交论文的复印件和电子文档,允许 论文被查阅和借阅,可以采用影印、缩印或扫描等手段保存、汇编学位 论文。同意山西大学可以用不同方式在不同媒体上发表、传播论文的全 部或部分内容。 保密的学位论文在解密后遵守此协议。 作者签名: 导师签名: 20 年 月 日 第一章 绪论 1 第一章 绪论 1.1 课题研究的背景及意义 众所周知,我国是世界上的农业大国,而农副产品是农产品产销链上的重要环 节,目前在市场上已经几乎看不到没有冷藏处理过的农副产品。随着经济的发展、 人民生活水平的提高,人们的食品消费观念从传统的单一向现代化的多样、快捷化 变化,尤其中国加入 wto 给中国的食品物流带来了新的发展空间1。在我国,食 品安全问题层出不穷,造成了严重的社会影响,越来越多得引起政府和群众百姓的 广泛关注。我国现已颁布中华人民共和国食品安全法对此问题进行法律规制, 进一步规范食品安全渠道。冷藏室对食品的保鲜、保质起到核心和关键作用,无论 是冷库还是冷藏车,抑或是超市的冰柜,实时监控温度都具有重要意义2。 随着计算机控制技术的不断发展,它越来越广泛的被应用到工业领域中去,制 冷系统也不例外。目前越来越多的冷库厂采用计算机进行监测、实时控制和管理冷 库温度,使办公自动化提高到了一个新的水平。 根据冷库厂的实际情况和特殊需求,本系统除了拥有冷库温度报警系统的一般 功能外,还加入了修改每个冷库的名称、冷库不同班组工作人员的工作效率对比模 块和手机短信报警模块等特殊功能,其中四班三运转界面大大的提高了工作人员和 管理人员的工作效率。 1.2 国内外研究现状及发展趋势 1.2.1 国内研究现状 埃森哲是全球最领先的几个管理咨询、技术服务和外包机构之一。它的一份针 对中国冷链行业的报告显示,中国目前只有 15%的易腐烂产品通过冷藏车运输,而 在发达国家,这一比率高达 90%。其后果是,中国的蔬菜水果等每年由此产生的损 失高达 89 亿美元,占蔬菜水果年产量的 30%,而在其他发达国家,这一损失率仅 为 5%。 冷库作为在冷链物流的一个重要载体, 其附属着冷冻和物流的双重意义, 然而, 在长期的计划经济体制下,冷库只是起到一个低温冷藏室的作用,其物流属性处于 非常滞后的状态。 随着我们经济的发展,人们的生活水平日益提高,冷藏库的容量也随之增大, 但与发达国家相比,仍然有不小的差距。在我国,国有大中型冷库占整个冷库市场 的 2/3,冷库库龄大多都在 30 年左右。我国的各类冷藏库,不论规模大小,功能如 冷库温度监测管理系统的设计与实现 2 何,都是按照以往的土建工程模式建造,然而这种不合理的建构模式,已经不能满 足现在市场对冷库的要求了,必须进行冷库资源的整合改建与新冷库的建设。 大约在上世纪 80 年代, 我国才开始发展信息管理与信息系统领域的研究, 而且 大多是在企业里也只是以单机操作的计算机数据处理为主。随着 internet 和网络技 术的发展,我国与世界各国一样,提出了声势浩大的信息技术革命的口号,信息技 术在我国才开始逐渐发展起来。 由于资金和人才的缺乏, 以及信息基础的相对薄弱, 我国大型企业的信息管理水平要高于中小型企业,在我国,大型企业已经开始有传 统的单机数据处理的信息化管理像集成的网络信息化管理转变。 冷库温度的测量、记录、存储也作为一种信息化管理开始逐渐发展起来,客户 使用此类产品可以不用去现场坐在工控机前就可以知道冷库各个采温点的度数,如 果有哪个采温点温度超出报警限,直接从工控机中就可以反映出来,温度的信息化 处理也相对精确和轻松。在我国,市面上有许多冷库温度监测报警系统,有用 vb 做的,有用 java 做的,有 b/s 架构的,有 c/s 架构的,层出不穷,但功能上都大 同小异,都为了满足客户对冷库温度的测量、记录和报警,此类产品也随着信息管 理系统和计算机控制技术的发展而发展,比如,冷库温度的报警方式已从单一的弹 屏报警方式,增加到了弹屏报警、声光报警、手机短信远程报警三种报警方式结合 的报警方式,这就为工作人员剩了不少时间,大大的提高了工作效率。 1.2.2 国外研究现状 国外的信息技术是在上世纪 70 年代得到了突飞猛进的发展, 并在企业中得到了 广泛的应用。管理信息系统把企业中的相应的数据,经过集中并快速的处理,是企 业的预测未来走向、管理企业形式、调节和控制企业政策的强有力支撑点。 接着开发人员在 mrp 的基础上增加了能力需求计划,使系统具有了形成了闭 环 mrp 的能力。mrp 于 1977 年提出它将企业中的其它信息,如:材料采购,信息 流通,数据分析等融合为一个完整的体系,特别是加入了数据库的管理,这样系统 就具有了储存数据、检索数据、分析数据的能力。从上世纪 90 年代开始,mrp 便 逐渐发展成为新一代的企业资源管理系统。erp 系统是 mrp 系统的升级产物,它 比 mrp 系统升级在于,erp 系统加入了客户的信息资源,将系统与客户联系在了 一起, 通过对供应链的分析和合理高效利用, 来提高企业在全球市场中的竞争能力, 是现在目前最流行的信息管理系统。 第一章 绪论 3 1.3 论文的研究内容和结构 本文主要研究了基于.net 的冷库温度监测管理系统的设计与实现。 论文的组织 结构如下: 第一章首先介绍课题的研究背景和意义,接着介绍了国内外研究现状与发展趋 势以及我国冷库温度监测管理系统的发展现状,分析了开发冷库温度测量、记录、 报警系统对提高冷库管理效率的现实意义,最后阐述了论文主要研究内容和结构。 第二章对本系统实现的一些技术支撑进行了说明,其中包括.net 平台的简介、 c#语言的介绍以及 ado.net 技术的说明。 第三章首先对系统进行了详细的需求分析和可行性分析,通过需求分析和可行 性分析,结合冷库厂自身的特点设计了系统的各个功能,然后在此基础上对本系统 进行了模块划分,并详细说明了各个模块的主要功能。 第四章详细说明了冷库温度监测管理系统的具体实现过程。首先给出了利用 ado.net 中的断开模型实现数据读取的方法,接下来详细论述了冷库温度测量、 记录、报警系统中的用户权限模块、即时监控模块、历史温度模块、三班四运转模 块、历史事件模块、参数设置模块、报警设置模块的实现过程。最后,阐述了本系 统中上下位机交互的内容。 第五章总结了本系统在实现过程中的创新之处和欠缺之处,最后对本系统进行 了一些展望。 冷库温度监测管理系统的设计与实现 4 第二章 冷库温度监测管理系统的相关技术简介 2.1 .net 平台简介 2.1.1 .net 的基本概念 2000 年 6 月,微软公司公布了 microsoft.net。它是微软公司倾注了所有人力 和财力打造的一种战略,是一系列产品和技术总称,也是各种设备得以互通互连的 平台。如今,microsoft.net 技术及其相应产品已经被广泛使用,微软曾经表示, “microsoft.net 将会使计算和通信变得容易到前所未有的程序”, “它将会产生出 新一代因特网服务,使成千上万的软件开发商有机会创造出革命性在线服务和新业 务”。围绕着这样一种充满想象力的构想,微软推出了相应的软件产品和技术,这 些产品和技术就组成了一个面向网络、支持各种用户终端的开发环境 microsft.net 平台3。 microsoft.net 是一项革命性的技术框架。其核心技术包括分布式技术、xml、 组件技术、即使编译技术等。microsoft.net 产品和服务包括:windows.net、连同 建立积木式服务的核心集成套件、 msntm.net、 个人订购服务、 office.net和visual studio.net 等4。 冷库温度监测管理系统之所以选择.net 是因为其集成了大量的库函数, 为开发 人员节省了大量的时间,更提高了代码的运行效率和可读性。 2.1.2 .net framework 介绍 .net framework 是 microsoft 为开发应用程序而创建的一个富有革命性的新平 台。它可以作为集成各种操作系统的方式。 .net framework 中包含了许多命名空间,每一个命名空间中又包含许多类库, 每一个类库,这就说明了.net framework 的是一种采用面向对象机制的代码库,比 如我们在编写代码时,如果需要调用串行接口方面的类库,只需要在程序的上面加 上串行接口库所在的命名空间即可, 这样, 就可以调用串行接口类库中的一些属性、 方法和事件,既简单又方便。 使用.net framework 编写应用程序,就是使用.net 代码库编写代码(使用支 持 framework 的任何一种语言)。 2.1.3 应用程序开发平台 本系统使用的开发平台是 microsoft visual studio 2008,vs 是一种功能特别 强大的开发平台。vs 为了执行 c#语言,必须将 c#语言转换成自己可以识别的语言, 第二章 冷库温度监测、记录、报警系统的相关技术简介 5 叫做本机代码,在.net framework 框架下,这个编译过程是由 msil 和 jit 两个阶 段完成的。在编译应用程序时,将编译系统创建的 msil 代码存储在程序集中,程序 集包括了.exe, 即可行文件和.dll,即程序中所引用的库两个文件组成。 在把程序代 码编译成 vs 所能识别的本机代码之后,clr 还没有完全完成工作,因为.net framework 在编写代码的过程中是完全托管的。另外,托管代码中最要的一项功能 就是垃圾回收功能,这保证了内存的即时释放,不会形成计算机因内存不够用而速 度缓慢的现象,也为程序员编写代码时剩去了大量的处理内存的工作。 2.2 系统开发语言 本文采用 c#作为系统的开发语言。 c#语言是一个比较特殊的语言, 它不能像 c 语言或者 c+等语言一样单独的使用,而是必须在.net framework 平台下使用,也 就是说 c#语言是专门为.net 配套的语言。c#不仅拥有同 vb 一样的简易使用性, 而且还具备 vc+的强大功能,同时还汲取了 java 语言简洁的语法特点,可以说, c#是一种全新的、功能强大的、面向对象的编程语言。它具有一下特点: (1)专门为.net 平台量身定制,c#语言使用.net 框架提供的统一类库,其类 型的安全检测、垃圾收集和异常处理等都由公共语言运行库(clr)来完成。 (2)c#中,每种类型都被看作一个对象,都是由 object 类派生而来的。 (3)c#代码由公共语言运行库托管运行, 不能对内存进行直接操作, 因此消除 了指针所带来的影响。 正是因为以上特点,冷库温度监测管理系统选用 c#作为开发语言。 2.3 数据库访问技术 在.net framework 中是通过 ado.net 进行数据库访问的。 2.3.1 ado.net 概述 在信息管理系统设计过程中,大多需要进行数据的存储、检索、分析等功能, 而这些数据都是存放在数据库的, 本系统使用的数据库为 microsoft sql server 2005 数据库。随着数据库技术以及编程技术的发展,数据库访问技术也由最初的 odbc 数据访问技术到 dao 数据访问技术,再到后来的 ado 数据访问技术,再到现在的 ado.net 数据访问技术5。 ado.net 是一组专门面向.net 程序员而公开的数据访问服务类。 ado.net 提 供了大量数据访问、共享组件,是.net framework 中不可缺少的一部分。 冷库温度监测管理系统的设计与实现 6 2.3.2 ado.net 类的使用 冷库温度监测管理系统中需要将下位机采集的历史温度值和冷库所发生的历史 事件存入数据库中,并查询,在.net 中是通过 ado.net 来进行数据库的访问的,为 了提高代码的复用性和灵活性,编写了相应的公共数据库访问类,为数据库访问提 供统一的方法。每次插入或者查询数据时,只需要调用公共数据库访问类中相应的 方法即可实现3。 冷库温度监测管理系统中需要将每一路冷库的历史温度值保存在数据库中,并 通过检索语句将数据进行分析和显示。 2.4 本章小结 本文首先对.net 平台进行了简单的介绍,给出了.net framework 平台的基本概 念及说明如何在.net 环境下开发应用程序, 然后说明了本系统为什么选用 c#作为本 系统的开发语言,最后介绍了数据库的访问技术。 第三章 冷库监测管理系统总体分析与设计 7 第三章 冷库温度监测管理系统总体分析与设计 3.1 系统功能需求分析 冷库温度监测管理系统的主要功能是测量冷库的当前温度值并判断是否报警、 记录和分析下位机采集的冷库历史温度值以及设置每一个冷库的报警上下限和报警 使能。经过多次现场调研和用户走访,并对用户提出的需求加以分析和整理,按照 快捷、准确、方便、善于操作和识别的原则,设计出冷库温度监测管理系统的模块 结构图 3.1 所示。 图 3.1 冷库温度监测管理系统结构图 (1)监测 10 个冷库的温度,并以数值和曲线两种方式显示,将每一个冷库的 表示用不同的颜色区分开。 (2)查看 10 个冷库的历史温度值,以表和曲线两种方式显示,表中明确区分 出超出报警上限和报警下限,以及化霜的温度值,曲线以不同的颜色区分,可以进 行放大、缩小,并可以打印和导出。 (3)三种报警方式,声光报警、弹屏报警和短信报警,可以选择报警一种或者 多种报警方式,报警锁定画面,短信报警最多可以发送 3 个手机。 (4)比较四个班组(运一、运二、运三、运四)之间的工作效率,四个班组每 八个小时倒一次班,可以按年、按月、按周进行比较,可以显示同一段时间内每个 班组工作时冷库的温度均值、方差、最大温度值、最小温度值、最大温差、超上限 次数、超下限次数和总超限次数。 (5)可以查看冷库发送的所有事件,比如冷库温度报警、冷库化霜等信息。并 可以将数据打印和导出,用于评比最近厂里的工作效率。 (6)可以修改冷库名称、冷库的地理位置、租用冷库的客户名称、客户联系方 式、冷库的储藏物等具体信息,并可以将此信息导出和打印。 管 理 员 列 表 实 时 温 度 历 史 温 度 四 班 三 运 转 历 史 事 件 登 陆 管 理 参 数 设 置 报 警 设 置 冷 库 信 息 冷库温度监测管理系统 冷库温度监测管理系统的设计与实现 8 (7)可以设置和查看每个冷库的报警上限、报警下限和报警使能,其中报警使 能按钮要有总开关,并可以将此信息打印出来。 (8)可以设置和查看下位机的测量周期、记录周期和化霜周期。 (9)可以设置和查看 gsm 模块短信报警的电话号码, 最多设置 3 个手机号码。 (10)历史温度读取可以选择自动读取和手动读取两种方式。 (11)权限管理。分为登录管理界面、管理员列表界面和退出管理界面。登录 管理界面可以登录和注册,用户分为普通管理员和高级管理员两种。普通管理员不 能随意删除管理员,高级管理员可以删除不需要得管理员。管理员列表界面可以查 看所以管理员的权限级别,注册时间,最后一次登录本系统的时间,并可以打印。 (12)帮助。此按钮连接到 chm 文件,用来介绍本系统和使用步骤。 (13)系统界面友好,操作简单。 3.2 数据库设计 本系统采用大型关系数据库 sql server 2005,数据库是整个系统的核心,设计 质量的合理与否直接影响到系统设计的工作量和系统运行的效率及稳定性。因此只 有在适合的数据库上设计出满足系统要求的数据库模型,才能降低整个系统的开发 难度。本系统将下位机(终端机)采集的温度值通过串行接口传入上位机(工控计 算机),然后写入数据库中,再进行查询和分析。 3.2.1 数据库需求分析 任何数据库设计都需要先了解用户的需求,否则就不具备可用性了。用户需求 具体体现为各个数据实体的增加、删除、修改和查询等基本操作,这就要求数据库 结构能充分满足各种信息的输入和输出。 根据系统描述和系统功能分析,总结该系统的数据实体主要包括以下几种。冷 库信息:冷库名称、是否报警、报警方式、冷库地理位置、客户姓名、客户电话、 储藏信息;历史温度:日期时间、冷库名称、温度、班组、班组工作段;用户信息: 用户名称、用户密码、用户级别、第一次登录时间、最后一次登录时间;历史事件: 日期时间、历史事件记录。 3.2.2 数据库设计 在经过系统的需求分析后,系统就进入进一步细化的系统设计过程。在开发数 据库系统时,首要任务就是选择数据库的结构设计。数据库的结构设计是指数据库 中各个表结构的设计,包括信息保存在哪些表格中、各表的结构如何以及各表之间 第三章 冷库监测管理系统总体分析与设计 9 的关系。 表 3.1 冷库历史温度表 字段名 字段类型 是否主键 可否为空 说明 id int 是 not null 编号 time smalldatetime 否 null 温度日期 name int 否 null 冷库名称 temp varchar(10) 否 null 冷库温度 groupperson varchar(2) 否 null 班组名 grouptime varchar(2) 否 null 班组时间 从下位机取得的冷库历史温度值都存入在冷库温度表中,是本系统中最重要的 表。其中冷库温度表中的 name 列与冷库信息表中的 name 列建立关系。 表 3.2 冷库信息表 字段名 字段类型 是否主键 可否为空 说明 nameid int 是 not null 冷库编号 name varchar(20) 否 null 冷库名称 alarmed varchar(2) 否 null 报警使能 alarmedmodel varchar(4) 否 null 报警方式 position varchar(50) 否 null 地理位置 gusetname varchar(8) 否 null 用户名称 guestphone varchar(11) 否 null 用户电话 furniture varchar(500) 否 null 冷库信息 冷库信息表中存放了冷库名称、报警使能、报警方式、地理位置、用户名称、 用户电话、冷库信息等重要信息,其中 name 列与冷库信息表中的 name 列建立了关 系。 表 3.3 冷库历史事件表 字段名 字段类型 是否主键 可否为空 说明 id int 是 not null 编号 时间日期 datetime 否 null 发生时间 历史事件 varchar(100) 否 null 历史事件 冷库历史事件表中存入了冷库的所有发生事件。 冷库温度监测管理系统的设计与实现 10 表 3.4 用户登录表 字段名 字段类型 是否主键 可否为空 说明 id int 是 not null 编号 username varchar(50) 否 null 用户名 passedword varchar(50) 否 null 用户密码 usergrade varchar(2) 否 null 用户级别 firsttime varchar(50) 否 null 第一次登录 时间 lasttime varchar(50) 否 null 最后一次登 录时间 用户登录表是本系统的权限管理表,存放了本系统的用户名称、用户密码、用 户级别、用户第一次登录本系统的时间和用户最后一次登录本系统的时间。 3.3 本章小结 本章首先在需求分析的基础上,设计和规划出了系统的总体结构图,然后详细 论述了数据库的设计,并给出了数据库中每一个表的设计图。 第四章 冷库温度监测管理系统的实现 11 第四章 冷库温度监测管理系统的实现 4.1 通用数据库访问类的实现 一个优秀的信息管理系统离不开一个好的数据库。选择一个适合自己系统的数 据库是一个项目成功的关键5。数据库是信息管理系统的核心,而几乎每一个界面 都存在与数据库的交互,所有为了提高系统中数据传输效率和代码的利用率,本人 将数据库的访问编写成一个独立的类,方便其它一个类进行调用。通用数据访问类 mylinktodatabase 使用 ado.net 的功能,考虑到公共数据访问类得安全性,将 mylinktodatabase 类的所有属性设置为私有的,为了方便系统中其它类进行调用, 将 mylinktodatabase类中的数据检索方法和数据库更新方法的属性设置为公有的, 具体代码如下: private string connectionstring = data source = (local);initial catalog=db;integrated security=true;/用于数据库的连接 private sqlconnection dataconnection; private sqlcommandbuilder sqlcommandbuilder; private dataset mydataset = new dataset(); private sqldataadapter mydataadapeter; 公共访问函数的实现如下: public dataset selectmydatabase(string temperturestrsql,string temperturetablename) this.mystrsql = temperturestrsql;/查询字符串 this.myconnection = new sqlconnection(connectionstring); this.mydataadapter = new sqldataadapter(this.strsql,this.myconnection); this.ds.clear(); this.da.fill(mydataset,temperturetablename); return mydataset;/将检索数据赋值给mydataset,其中所使用的数据表以 temperturetablename给出的字符串命名 更新数据库数据(传dataset和datatable的对象)的方法: public dataset updatedatabase(dataset changeddataset,string tablename) 冷库温度监测管理系统的设计与实现 12 this.myconnection = new sqlconnection(connectionstring); this.da = new sqldataadapter(this.strsql,this.myconnection); this.sqlcmdbld = new sqlcommandbuilder(da); this.da.update(changeddataset,tablename); return changeddataset;/返回更新了的数据库表 检索数据库数据(传字符串,直接操作数据库): public datatable selectdatabase(string temperturestrsql) this.myconnection = new sqlconnection(connectionstring); dataset temperturedataset = new dataset(); this.da = new sqldataadapter(temperturestrsql,this.myconnection); this.da.fill(temperturedataset); return temperturedataset.tables0; 数据库数据更新(传字符串,直接操作数据库): public int updatedatabase(string tempstrsql) this.myconnection = new sqlconnection(connectionstring); /在使用command之前必须确保连接是打开状态的,操作完后必须关闭连接, 而dataadapter则会自动打开关闭连接 myconnection.open(); sqlcommand tempsqlcommand = new sqlcommand(tempstrsql,this. myconnection); int intnumber = tempsqlcommand.executenonquery();/返回数据库操作数据 的的行数 myconnection.close(); return intnumber; 第四章 冷库温度监测管理系统的实现 13 4.2 冷库温度监测管理系统的实现 4.2.1 系统硬件连接图 本系统的硬件连接图如图 4.1 所示: 图 4.1 系统的硬件连接图 因冷库厂房距监控室较远,本系统采用 485 总线进行数据传输,rs485 协议具 有远距离、高灵敏度、多点通讯、结构简单的特点,适用于通讯的应用7。上下位 机连接实体照片如图 4.2 所示。 图 4.2 硬件连接照片 温 度 传 感 器 12 温 度 传 感 器 1 温 度 传 感 器 2 温 度 传 感 器 3 rs485 工 控 机 下位机数据采集板 g s m 模 块 冷库温度监测管理系统的设计与实现 14 4.2.2 上位机与下位机的通讯协议 上位机和下位机通讯是通过在介绍通讯协议时需要补充说明一下.net 中的串行 接口技术。在.net 中串行接口是通过 serialport 类实现的。下面介绍 serialport 类得几 个重要属性和重要事件,如表 4.1 所示。 表 4.1 serialport 类的常用属性和重要事件 名 称 说 明 baudrate 获取或设置串行波特率大小,本系统选用 38400 bytestoread 获取接收串行接口中数据的字节数,判断缓冲区中有多少字节的数据 bytestowrite 获取发送串行接口缓冲区中数据的字节数 databits 获取或设置每个字节的标准数据长度 isopen 获取一个值,该值指示 serialport 对象的打开或关闭状态 parity 获取或设置串行接口奇偶校验检查协议 portname 获取或设置串行接口端口名称 stopbits 获取或设置每个字节的标准停止位数 close 关闭端口连接 open 打开端口 receivedbytesthreshold 获取或设置触发 datareceived 事件的字节数 data received 事件 从 serialport 输入缓冲区中读取字节 下位机使用的是pd78f0495 单片机,此单片机共有 62 个 i/o 端口, 系统期中的 两个端口进行串行接口通讯6。 1. 通讯命令 根据系统的功能需求共设计了以下 19 条通讯命令: (1)设置某一通道的报警上限,报警下限,报警使能; (2)设置所有通道报警使能开关; (3)设置下位机实时时钟; (4)设置下位机采集温度的记录周期; (5)设置下位机采集即时温度的测量周期; (6)设置下位机的化霜延迟时间; (7)设置下位机存储的电话号码; (8)读取下位机存储的电话号码; (9)读取所有通道的温度记录; 第四章 冷库温度监测管理系统的实现 15 (10)读取所有通道的实时温度值; (11)读取某一通道的报警上限、报警下限、报警使能; (12)读取所有通道的报警上限、报警下限、报警时能; (13)读取所有通道的报警状态; (14)读取下位机的实时时钟; (15)读取下位机存储的采集即时温度的测量周期、历史温度的记录周期以及 化霜时间; (16)通讯握手协议,用于测试 pc 机与下位机是否连接正常; (17)pc 机确认上载记录温度值完毕,此命令用在命令 9 之后,当上位机接收 到记录温度值后,上位机给下位机发送此命令。下位机接收到此命令后才会移动上 载指针。否则下位机默认此次上载记录温度值错误,下次上载时,还会重新上载这 段记录温度值; (18)硬盘损坏,上位机读取 e2prom 中的数据,用来恢复数据,当工控机硬盘 损坏,将上位机软件重新安装在另外的电脑上,此条命令用于恢复数据; (19)硬盘损坏,上位机接收完所有的恢复数据后,给下位机发送确认命令。 接着主要说明即时温度和历史温度的封装格式。 2. 数据格式 通讯时的数据格式定义为:(ascii 码是 7bh)为起始符,(ascii 码是 7dh)为结束符,起始符后面是命令号(119),用累加和校验。 3. 发送命令的实现步骤 (1)点击发送命令按钮,将按钮 enable 属性设置为 false。 (2)将命令字符串转换成 byte 数组。 (3)将 byte 数组发送到缓冲区。 (4)接收下位机返回的确认收到指令后,将按钮 enable 属性设置为 true。 4. 接收数据的实现逻辑 (1)使用 datareceived 事件获取数据,判断最后一个字节是不是 0 x7d,是的 话,停止获取。 (2)判断倒数第四个字节,得出命令号。 (3)进入 switch 语句,分别处理。 5.实现代码 serialportcomm_datareceived(object sender, serialdatareceivedeventargs e) 冷库温度监测管理系统的设计与实现 16 arraylist receivstr = new arraylist();/存储数据 if (bufferbuffer.length - 1 != 0 x7d |bufferbuffer.length-2!=0 x00 | bufferbuffer.length - 3 != 0 x00|bufferbuffer.length-5 != 0 x7b)/如果没有取 完,循环到第一句 /接着获取数据 int commandnumber = convert.toint32(uploaddatauploaddata.length- 4);/得到命令号 switch (commandnumber) case 0 x00:确认指令;break; case 0 x01:查看某一通道的报警上限和报警下限及报警使能,这里使用 的是一个10层得循环,相当于一次设置了所有通道的报警上下限和报警 使能;break; case 0 x02:查看所有通道的使能开关;break; case 0 x03:查看实时时钟;break; case 0 x04:查看记录周期;break; case 0 x05:设置测量周期;break; case 0 x06:设置化霜延时时间;break; case 0 x07:设置电话号码;break; case 0 x08:查看电话号码;break; case 0 x09:查看所有通道的温度记录;break; case 0 x0a:查看所有通道的实时温度值;break; 以上只是将下位机采集板采集的数据取到了上位机中,接下来将要解析这些数 据,以即时温度为例。 6 数据封装格式 第四章 冷库温度监测管理系统的实现 17 一个温度值由温度0和温度1两个字节组成。温度0表示温度值的整数部分, 温度1中用 1 位表示温度正负,4 位表示温度值的 1 位小数,2 位表示超报警线,1 位表示除霜。如表 4.2 和表 4.3 所示。 表 4.2 温度数值封装 温度0 温度1 整数部分 十分位小数和标志 表 4.3 温度1的封装格式 7 除霜 6 报警(超上限) 5 报警(超下限) 4 正负 温度值的十分位 1bit 1bit 1bit 1bit 4bit 例如:-59.4。温度0=0 x3b,温度1=0 x14。 定义一组数据:byte demical = 0 x0f;/与之相与取小数; byte sign = 0 x10;/与之相与取正负; byte l_alarm = 0 x20;/与之相与取报警下限; byte h_alarm = 0 x40;/与之相与取报警上限; byte shuang = 0 x80;/与之相与取报警上限; 将温度1分别与以上数据相与既可以得到相应的状态。 7 实现逻辑 (1)上载数据。 (2)将数据分为 12 对放入一个队列中。 (3)将每一个数据的高位分别与 0 x0f、0 x10、0 x20、0 x40、0 x80 相与,可知 当前温度是否为负数,是否化霜、是否报警、超上限还是超下限。 (4)将数据赋值给控件,根据状态处理相应的事件。 4.2.3 启动界面的实现 运行程序后,自动打开启动界面,启动界面使用了浅蓝和黄色搭配,给客户一 种清晰又温暖的感觉,启动界面的正中央显示本系统的名称,名称采用正副双级标 题,一级标题是:冷库温度测量、记录、报警系统,二级标题是:具有远程手机短 信通知报警功能,清晰的显示出了本系统的特点。点击桌面本系统的启动图标,如 图 4.3 显示的启动界面显示 8 秒后自动跳转到实时温度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初入职场新人面试技巧与常见问题解答
- 20XX年度XX市社会保基金管理局信息系统运维服务项目采购需求
- 单韵母的教学课件
- 2025年水利工程管理专业初级考试要点回顾与热点预测题集
- 中式面点师教学课件
- 2025年特岗教师招聘考试美术学科模拟试题及答案
- 2025年新媒体运营师实战手册与模拟题集
- 2025年河南省平顶山市中考化学一模试卷
- 电信诈骗消防知识培训课件
- 2025年中小学教师招聘考试数学科目模拟题与解析
- 数学分析-测试试卷及答案
- 【教案】程式与意蕴-中国传统绘画+教学设计高中美术人美版(2019)美术鉴赏
- 2023-2024学年江苏省南京市高三上学期学情调研物理试题
- 2024年内蒙古丰镇市招聘社区工作者26人历年重点基础提升难、易点模拟试题(共500题)附带答案详解
- “案”说刑法(山东联盟)-知到答案、智慧树答案
- 围手术期病人的安全转运
- 新能源汽车行业的营销渠道与渠道管理
- 基于5G通信技术的无人机立体覆盖网络白皮书
- 2024年度国网基建安全(变电土建)安全准入备考试题库(附答案)
- 《HSK标准教程3》第1课
- 石油储量与产量预测模型研究
评论
0/150
提交评论