1、河北工程学院毕业设计(论文)共 65 页 第 1 页序 言随着现代化进程的加快,工业的发达,能源的需求量迅猛增长,电厂煤矿的过磅管理已趋于沉重,计算机的发展和开发工具的强大,使得地磅的自动管理系统得以开发和推广,自动化的管理为企业节省了大量的人力、物力、财力,其应用和发展已成为势不可挡的潮流。电厂自动过衡系统就是为了提高进煤这一环节效率而开发的,在开发之前做了必要的准备工作,包括系统要实现的功能,运煤的日常业务,工作人员的管理,进货单位的管理,合同的签定等等,实习期间我们参观了福斯特公司的宜安电煤站过衡系统的演示系统,初步了解了这类系统界面和需要注意的地方我们为此还建立了联合分析小组,利用应用
2、规约技术,尽可能多了解需求信息,在明确整个任务的基础上,我们分析建模,设计检验,循序渐进,从总体上把握了这次设计任务。本系统采用了 Borland 公司的 Delphi7 系统为设计平台和 paradox 数据库,使电厂自动过衡系统查询效力极高、界面友好、可操作性强。Paradox 是 Delphi 自带的数据库,和 Access,Visual FoxPro,SQL Server 等一样也有自己独特的优点。本电厂自动过衡系统在此基础上进行设计。适用电厂煤矿的相关单位,子单位的管理维护。实现了自动过衡、汇总统计、单位车辆、货点管理、合同签订情况、设计流程、人员管理的综合状况的自动化管理,可方便的
3、对矿别、合同编号、日期、车号等按各种条件进行查询,并能对其进行各个方面的统计,避免了人工管理过程中计算复杂,易出错的问题。在这次设计初期,我们分析了系统的总体结构后,便自主选择模块合作,我主要负责制作所有页面。本次毕业设计中,得到了张鹏老师的悉心指导和帮助,使我十分顺利的完成了电厂自动过衡系统的开发,在此谨向他表以最诚挚的感谢!由于时间仓促,编者的能力和水平有限,本系统可能存在许许多多的不足之处,敬请各位领导和老师给予批评与指正。设计编者 范瑞红指导教师 张 鹏2005 年 6 月河北工程学院毕业设计(论文)共 65 页 第 2 页 概 述1.1 系统概述我国对电能的日益增加的需求使电厂的发展
4、突飞猛进,电厂无论从规模上或数量上都在成倍的增加,但在北方大部分地区,由于水力能源的缺乏,大多都是建立火力发电厂,于是大量燃料的管理便成了问题自动过衡系统便应运而生地磅自动管理系统是针对电厂的能源煤炭的称重记录查询等操作的管理而设计的系统运行流程大致如下:当车辆经过地磅进行称重时,系统通过串口进行数据采集,指示灯由绿色变为红色,毛重数据自动保存到库中,当车辆返回时输入票号,把数据从库中调出来,接着称皮重,由称重公式计算出净重,然后保存到库,并通过打印报表开发票。当用户进行查询时,可通过汇总统计或上报统计进行查看,其中有按时间查询,有按时间,矿别,车号综合查询,这样设置有利于用户更方便的管理数据
5、。单位,货点,合同,县别等的增加,删除,修改,更新等操作只能管理员进行设置,这样既有利于统一管理,又保证了系统的安全性。由于系统的主要目的是为了过衡,那么自动过衡界面便基本上代表了整个系统地磅和计算机是两个独立的运作体,两者要进行通信,必须要进行编程来实现,也就是说系统要用到单片机编程, Delphi和SQL数据库等知识而完成的自动过衡系统的出现不仅仅是为了提高效率,它也可以完成有时人工无法完成的任务这对电厂的发展有极为重要的作用,电能的充足对我国的建设也具有十分重大的意义,所以本系统虽然算不上规模宏大,但意义重要1.2 可行性分析1.2.1 技术可行性研究随着计算机软件事业的日益迅速发展,系
6、统处理软件也不断推陈出新。尤其是目前最流行的计算机软件快速开发工具之一Delphi7.0的出台。Delphi7.0功能强大,小巧易用,支持当前的多种流行技术,具备完全的可视化开发集成环境,很多界面的设计就象是在“画”而不是在写,大大提高了开发的效率,是目前最受欢迎的Windows应用程序开发工具之一。所以自动过衡系统完全可以有Delphi7.0一手开发出来单片机的通信功能在现代控制系统中越来越显得重要,它具有体积小、价格低、抗干扰性好等特点,在现代控制系统中常用在操作现场进行数据采集,以及实现现场控制中。在系统的串口通信中可以使单片机大展身手河北工程学院毕业设计(论文)共 65 页 第 3 页
7、这些软硬件的出现为系统的设计提供了技术上的可行性1.2.2 开发可行性研究随着电力需求量的增加,煤炭的供应量也大幅度提升,电厂进煤的称重统计的工作量也逐步加大,虽然煤炭过称只是电厂业务管理的一个基本的业务,从表面上看,它只是业务管理的一个简单的部分,但它涉及到的业务量之大,操作热员之多,费时费工,是一项非常艰苦的工作,例如:大量货点的车牌号,运煤量,合同等的录入、添加、修改、计算,以及过磅工作结束后的一些后续工作,一些过磅信息的查询、统计、插入、删除、整理、上报等,这都给操作员增加了大量的工作负担。如果单纯由操作员手工记录,不但为操作员增加了大量的劳动强度,在一定的时间内难免会出现一些小的输入
8、错误,而且不易发现,为公司和个人造成损失,也为以后的工作带来了很大的不便。即使能够发现,也容易由于时间、制度的限制增加了很多的麻烦,给各部门带来不便。基于此开发本系统有较好的市场需求可行性,奠定了开发本系统的基础。1.2.3 应用可行性研究由于该软件采用面向对象的可视化编程和脚本语言,因此该软件不论从界面还是到功能实现都比其他应用软件优越。使用者只需较短时间就可以掌握面向对象的可视化编程,开发出具有多功能且方便使用的软件换句话说,该软件很容易上手,通过学习,很有可能可以轻松使用,完成该系统的设计。通过调用数据库和编程语言的应用及文档窗口程序设计,文本编辑组件的使用,常用对话框的使用以及打印票据
9、的方法,系统的查询统计打印功能即可实现。1.3 系统目标1 强大的人机交互: 通过计算机与用户之间的对话,使用户通过简单操作过程,计算机对数据的及时分析处理,返回用户的请求,获得所须功能的实现。充分发挥软件能动作用,体现系统的自动化程度。自行选择查询内容,做到明了易用,快速完成相应任务。2 自动过衡功能:当地磅上经过车辆时,单片机上下位机应能接受和发送数据,系统有自动信息采集功能,收集到信息后能进行称毛重皮重,然后自动计算出净重,打印出票据,数据输入错误时,系统能出现出错提示2 强大查询功能:通过查询,系统应使数据更整齐更符合用户的要求,查询后的数据能进行汇总和上报 河北工程学院毕业设计(论文
10、)共 65 页 第 4 页2 需求分析2.1 需求获取在开发本系统前,过衡过程中单纯由操作员手工记录,不但为操作员增加了大量的劳动强度,在一定的时间内难免会出现一些小的输入错误,而且不易发现,错误的累计会对以后的数据造成更大的麻烦,即使能够发现,也容易由于时间、制度的限制增加了很多的麻烦,给电厂带来诸多不便。因此,要求本系统有较好的数据录入、更新、插入、删除的功能,还要具有较好的查询、统计等功能,将工作者从繁重的工作中解放出来。2.2 分析建模软件的分析模型通常由一组模型组成,其包括信息模块,功能模块和行为模型。在长期的实践中,人们提出了很多需求建模的方法,其中占主导地位的有结构化分析和面向对
11、象分析两种。鉴于系统的实际情况,本系统采用结构化的分析模型。2.2.1 过衡系统逻辑结构图 重新输Y N 入图 2.2.1 过衡系统逻辑结构图车辆地磅称毛重票号正确称皮重打印票据河北工程学院毕业设计(论文)共 65 页 第 5 页车辆 称毛重称皮重打印发票2.2.2 过衡系统数据流图(DFD)过衡 过衡 统计图 2.2.1 系统流图分析需求,建立系统分析模型,包括当前系统模型和目标系统模型。在图 1.1 中,称毛重需要地磅通过上位机,下位机进行串口通信传送数据,然后才能称毛重,实验中可以用单片机仿真器代用。称毛重,称皮重也许要调用数据表。在现实环境中,称毛重也需要考虑二次称重,二次回皮等功能,
12、但因其功能太复杂,在此次设计中也就去掉了。通过这样的分析,就可以抽象出自动过衡 这一系统的逻辑模型,如图 2.2.2 所示统计数据表过衡串口通信 统计 检测过衡 调出数据 无效票号 过衡数据表图 2.2.2 改进后的系统流图2.2.3 数据字典一个系统所需数据整理成数据表,表少了有时实现不了繁琐的功能,表多了本身地磅采集数据称毛重称皮重开发票车辆河北工程学院毕业设计(论文)共 65 页 第 6 页就是一种负担,由DFD图可以清晰的知道本系统主要涉及到了两个数据文件,下面将分别对它们进行分析:A:对过衡数据表的分析文件名:过衡数据表别 名:过衡组 成:合同编号+票号+进场证+车牌号+单位名称+毛
13、重+毛重时间+皮重+皮重时间+扣石+扣水+扣其他+单位编号组 织:备 注:B.:统计数据表文件名:统计数据表别 名:统计表 1组 成:合同编号+矿别+车牌号+票号+过磅日期+皮重+毛重+扣石+扣水+扣其他+司磅员组 织:备 注:2.2.4 E_R 图E_R图能直观、明了地表示数据间的复杂关系,所以数据库中各种数据之间的关系都可以利用这种图形表示出来,基于它的这些特点,有时也将它用作数据分析的工具。下面是本系统的大致E-R框图。地磅 通信 PC 机车辆通信票据打印河北工程学院毕业设计(论文)共 65 页 第 7 页2.2.4 E-R 图2.3 需求分析复审至此需求分析的文档完成,我们小组的全体人
14、员对文档进行了严格的复审。在复审中对图的使用规则和与实际系统的出入进行了仔细审查,例如图的分解速度太快,不遵守加工编号规则,不符合实际等常见错误进行了仔细审查。河北工程学院毕业设计(论文)共 65 页 第 8 页3 软件说明3.1 开发工具的选择地磅自动管理系统是一个综合应用系统,它利用计算机提供信息以支持 运行、管理、分析查询和决策功能。对于广大从事应用软件开发和数据库应用系统开发的软件人 员来说,能拥有一套得心应手的开发工具是他们梦寐以求的愿望。Borland 公司推出的 Dephli 7 正是这样一种高效而快捷的集成开发环境,它提供了可视化的、面向对象的、基于客户机服务器的开发环境。De
15、lphi 从诞生的第一天起,就获得了不少的殊荣。PC Magazine 在开发工具栏中给 Delphi 贴上了技术出众的标志。Computer World 报告说 Delphi 在顾客的满意度记分牌上得分最高。甚至连支持 Delphi 竞争者的出版商也高度评价这一产品,Delphi 在Visual Basic 编辑者杂志 上也荣获编辑推荐奖。可以说 Boland 公司在推动开发工具的发展过程中起了重要的作用。 一开放式数据库联接 ODBC 环境 这种体系结构能更好地满足企业的实际需要,有利于应用系统的移植和扩充。目前 ,市场上流行的各种数据库系统软件,如 Oracle,Interbase, S
16、ybase ,SQL Server 等,各行其道 ,使用户无所适从。然而 Delphi 7 为这些数据库提供了公共的前端工具,提供了开放式数据库连接 ODBC,不仅适用于各种数据库管理系统,具有很好的兼容性,而且还能给已有的数据资源带来全新的图形界面。 二基于客户机/服务器的体系结构 基于客户机/服务器(Client/Sever)的体系结构可以减少硬件平台的投资,并能完成大型主机的功能,而且可以集中数据的存储和管理,实现资源的共享,降低维护的难度,还能集中实施统一规则,实现信息的规范化。 三面向对象的应用程序开发方法 对象(OBJECT),是包含相关的数据(以变量的形式)以及用于操作这些数据的
17、方法( 子程序)的软件包。一个对象是一个类的具体表现,在功能上它与其它程序保持独 立,一个定义良好的对象具有封装的数据和功能。 河北工程学院毕业设计(论文)共 65 页 第 9 页对象可以继承。函数、事件、窗体、菜单、用户对象都可以继承,通过继承,可以快捷地开发出全新的满足特定要求的对象。如果没有继承,开发者将不得不每次在 编写相似对象时使用大量重复性代码。有时他们应用全局函数来减少冗余代码,但 这会使代码要完成的任务复杂化。在 Deliphi 环境下,友好的用户界面极为重要,其中标 准化是一种很好的方法。在特定类型窗口中许多细节都是相同的,如果不用父类对 象,必须为这些事件不断地进行编码,如
18、果从这个窗口到那个窗口代码不同,将不能保证一致的用户界面,因此必须设计一个单一代码源,以保证用户界面的一致性。 通过在接口库的父类对象中编写的界面逻辑代码可以实现这点。一个好的父类库可以大大地加快项目开发的进度。 四.可视化的开发环境 用户不用了解 WINDOWS 和 Delphi 编程技术,通过图形化的交互操作,就可以设计实现应用系统,开发出美观、简洁的图形化界面来。 五.强大的数据提取能力 Delphi 提供了功能强劲的可视化集成开发环境。数据窗口对 象可以用于联接数据库,获得记录,以各种风格显示数据和更新数据库。经过五个 版本的改进,数据窗口控制已经可以显示基于选定数据的商务图形, 同时
19、数据的录入和显示能力也得到增强,还增加了诸如 Crosstab,N-Up,Label,Freeform,Grid,Group,Graph,Tabular 等风格各异的报表功能。随着数据有效性验证、编辑 风格、下拉数据窗口及共享数据等功能的加入,函数的数目也再次大幅度增加。数 据窗口除了具有这样强劲的功能之外,还具有很灵活的能力,通过 Describe(),Modify(),great()等函数,编程者可以在程序中动态地改变数据窗口的结构和显示模式。 从以上 Delphi 7 的功能和特点,以及我们要做的地磅自动管理系统的情况,我们小组认为 Delphi 7 非常合适作为此系统的开发工具 3.2
20、 数据库的选择(1)数据库的概念数据库技术从 60 年代至今已有 30 年的历史,30 年来对数据库的研究和应用都取得了巨大的成功,使其成为计算机科学的中发展最快、应用广泛的技术之一。数据库理论是数据库技术的重要组成部分,其中关系数据库理论在数据库理论中占主要地位。数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数河北工程学院毕业设计(论文)共 65 页 第 10 页据库和关系数据库。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,像记录、域等。 (2)选择数据库管理系统的原则选择数
21、据库管理系统时应考虑以下几个原则:1.易用性:是指数据库管理系统的管理语句应该符合通用标准,要便于系统的维护、开发和移植;要有面向用户的简易开发工具;要有计算机的辅助软件工程工具 CASE 来帮助开发者根据软件工程的方法提供开发阶段的维护、编码环境,便于复杂的软件开发、维护;要有非过程语言的设计方法,用户不需编写复杂的过程性代码,易学,易用,易维护;还要有对多媒体数据类型的支持。2.分布性:分布性是指数据库管理系统应该有对分布式应用的支持,包括数据透明与网络透明程度。3.并发性:对于分布式数据库管理系统,面临的是多任务分布环境,可能有会有多个用户在同一时刻对同一数据进行读或写操作,为了保证数据
22、的一致性,需要同数据库管理系统的并发控制功能来完成。4.数据完整性:数据完整性是指对整个数据的正确性和一致性的保护,包括实体完整性、参照完整性、复杂的事务规则等。5.可移植性:可移植性是指垂直扩展和水平扩展能力。垂直扩展要求新平台能够支持低版本的平台,数据库客户机服务器支持集中式管理模式,这要保证用户以前的投资和系统;水平扩展要求满足硬件上的扩展,支持从单 CPU 模式转换成多 CPU 并行机模式6.安全性:安全性包括安全保密的程度如帐户管理、用户权限管理、网络安全控制、数据约束等。7.容错性:容错性是指在异常情况下系统对数据的容错能力。评价标准包括硬件的容错即有无磁盘镜像处理功能;软件的容错
23、即有无软件方法异常情况的容错功能;其他还应包括数据库描述语言的汉字处理能力(表名、域名、数据)和数据库开发工具对汉字的支持能力;并行处理能力;软件厂家的技术服务;性能价格比等因素。本系统采用 SQL Server 2000 作为开发数据库的工具,它采用客户/服务器计算模型,即中央服务器用来存放数据库,该服务器可以被多台客户机访问,数据库应用的处理过程分布在客户机和服务器上。客户/服务器计算模型分为两层的客户/服务器结河北工程学院毕业设计(论文)共 65 页 第 11 页构和多层的客户/服务器结构。在两层的客户/服务器系统中,客户机通过网络与运行 SQL Server 2000 实例的服务器相连
24、,客户机用来完成数据表示和大部分业务逻辑的实现,服务器完成数据的存储,这种客户机被称为“胖客户机” 。在多层的客户/服务器系统中,应用至少要经过三个处理层,第一层仍是客户机,但它只负责数据的表示;第二层是业务逻辑服务器,负责业务逻辑的实现,所有客户机都可以对它进行访问;第三层是数据库。这种多层结构中的客户机被称为“瘦客户机”. Internet 应用就是三层结构的一个典型例子。数据库系统采用客户/服务器结构的好处在于:1数据集中存储:数据集中存储在服务器上,而不是分开存储在各客户机上,使所有用户都可以访问到相同的数据。2业务逻辑和安全规则可以在服务器上定义一次,而后被所有的客户使用。3关系数据
25、库服务器仅返回应用程序所需要的数据,这样可以减少网络流量。4节省硬件开销,因为数据都存储在服务器上,不需在客户机上存储数据,所以客户机硬件不需要具备存储和处理大量数据的能力,同样,服务器不需要具备数据表示的功能。5因为数据集中存储在服务器上,所以备份和恢复起来很容易。河北工程学院毕业设计(论文)共 65 页 第 12 页4 系统技术指标和功能要求4.1 硬件指标、主机: Intel Pentium 233 MHZ 以上的个人计算机,推荐使用 Pentium 333MHZ以上。二、Microsoft Windows 98,Windows 2000,Windows XP 或更高版本的操作系统。三、
26、内存:至少 64MB 的基本内存,推荐 128MB 以上。四、硬盘:500MB 以上的空间硬盘。五、打印机:Windows 98、Windows 2000、Windows XP 所支持的打印机。六、显示器: 用 VAG 显示器或更高分辨率的显示器。七、鼠标或其他定点设备。4.2 软件指标一、系统:Windows98、Windowsme、Window 2000 server 的操作系统。二、其他软件:SQL server 2000 、Office 20004.3 功能指标系统开发的总体任务是实现电厂过衡的系统化、规范化、自动化,实现对用户、合同、单位、货源和执行情况的整体控制和管理,并提供多方面
27、的科学、方便的查询,帮助电厂提高工作质量,进一步提高电厂的工作效率。本次设计主要完成的功能有:1. 自动过衡:本系统的核心功能。具有采集信息,检验信息,称重,二次称重,回皮,二次回皮等功能。2. 查询和统计:包括对过衡后的数据按一定方式查询显示以及统计整理保存打印。3. 其他设置:包括单位和合同,单位和车号之间的合同设置和车牌号设置。4. 系统维护:包括用户修改,删除,更新和权限。河北工程学院毕业设计(论文)共 65 页 第 13 页5. 帮助文档:包括本系统的使用情况和我们的一些情况。5 开发原则和设计思想5.1 开发原则1、实用性由于电厂的电厂地磅的过衡很复杂,如果用人工操作的话,每天大量
28、的数据记录统计就够繁琐了,更别提查询整理等功能了,为了给单位节省物力、人力、财力,电厂采用过衡系统自动管理,这也符合现代实际。2、简易性在设计该系统时,本着简单易用的原则,力求使非专业人士都能很快上手,所以无论背后代码设计多复杂,前台界面的操作是很简洁的,这也是该系统得以推广重要前提。为了进一步的方便,系统还设置了帮助文档,用户的操作问题可以可以很方便的解答,也能在最短的时间内熟悉该系统。3、合理性在设计本系统之前,我们为了拿到第一手材料,使系统更接近实际,我们在实习期间参观了邢台的东庞矿,考察了一下系统的实际运作环境和所要考虑的方面面,另外,我们还在指导老师张鹏老师的帮助下参观了傅斯特公司的
29、宜安电煤站自动过衡系统,对这次设计的任务有了明确的认识。在设计过程中我们还参阅了大量书籍,借鉴了很多例子,多方面考虑问题,力求让本次设计的系统在性能和和功能上都能达到最好。4、容错性在设计中,我们充分考虑了出错处理,这有利于系统的健壮性。当用户非法操作,误操作或者将要做一些重要操作时系统给出警告或其他提示,不至于使系统瘫痪或出现错误结果。5、完整性在设计中,因为我们提前作了很多准备工作,就是为了使系统更加完整,更具河北工程学院毕业设计(论文)共 65 页 第 14 页有实用性,虽然我们知识水平有限,在某些功能上还有缺陷,但系统的各个功能各个模块基本上都有。5.2 设计思想此次设计要完成的系统是
30、为了完成电厂的过衡功能而设的,所以在设计之前,首先应该联系单位考察一下实际的运行环境,和数据及工作人员的设置,多方面考虑,尽可能把所有问题都考虑到,力求让系统更完美、更具有实用性,这样分析调查后,完成系统的需求分析。实际上,我们小组为了更逼真的制作出具有现实意义的过衡系统,在设计之前,我们参观了福斯特公司的宜安电煤站自动过衡系统,对该类系统有了一个初步的印象,而且在实习期间,我们还参观了邢台东庞矿的实际运作情况,这些都给了我们完成本系统的第一手材料。根据我们收集到的材料,和设计的需求分析,利用 Delphi 和 SQL Server 2000 分模块制作本系统。在此次设计中,涉及到的内容较多,
31、实现较复杂,所以我们组利用分模块到个人的方式进行设计,擅长或方便做什么便制做什么,我主要负责整个页面的设计和相互之间的关联。设计页面首先要考虑整个系统所要实现的全部功能,它除了自动过衡模块外,很显然还需要其他一些辅助设置,自动过衡模块不可能孤立的单独存在。设计所有模块,登录模块是必不可少的,用于检测用户及密码,与其他系统不同的是,过衡系统中过衡和设置应该让两种人分开做,这样保证了系统的安全性,也符合实际,所以我在系统中就设置了两种用户,一种用来操作过衡,一种进行其他的数据设置。煤矿有很多,所属的单位也不一样,处的地点也不一样,运货车辆的车牌号也不一样,为了给管理人员一个更直观的认识,也为了有效
32、的分类整理数据,在系统中设置了合同设置模块、车牌号设置模块、县别货点设置模块。过衡后的数据需要按某个条件整理出来后用于分析总结数据、上报领导等,所以还设置了汇总统计和上报统计模块,这里的统计、查询、上报、打印等的设置应该很简单明了,非专业人士也能熟练操作。过衡模块比较困难,首先地磅进行输入输数据后,此模块应该有采集功能,所以界面上应该有一个外在标志,实际上应设置一个指示灯,采集毛重数据,再设置称毛重的标志,用按钮即可,称皮重时会调用以前数据,利用票号做关键字,输入票号的编辑框必不可少。另外,称重之后系统应有自动汇总的功能,计算出过衡净重。称重完毕,打印数据,所以还要设置报表。因为系统设置了两种
33、用户,所以至少会有两个用户,需要设置注销模块切换用户。最后,初始化模块和帮助模块也是必不可少的,体现了系统的完整性和实用性。河北工程学院毕业设计(论文)共 65 页 第 15 页6 系统结构和主要功能6.1 系统总体结构电厂自动过衡系统主要功能是实现自动过衡,其他设置是辅助作用,以便更好的管理数据,设整个界面看起来更清晰明了。除了主要模块自动过衡外,其它模块还有合同设置、统计、用户设置、初始化、帮助文档等,具体模块划分如图 1-1:系统主界面登 录 界 面 用 户 设 置自 动 过 衡合 同 设 置县 别 设 置车 牌 号 设 置上 报 统 计汇 总 统 计注 销 模 块初 始 化帮 助 文
34、档PC与单片机通信单片机发送程序上位机接受程序河北工程学院毕业设计(论文)共 65 页 第 16 页6.2 系统所用数据表6.2.1 过衡表数据表过衡是数据库中的主要数据表,用来存储过衡所得信息。其数据项属性如下:表格 6.2.1 过衡列名 数据类型 长度 允许空合同编号 A 10 票号 A 10 进场证 A 10 车牌号 A 10 单位名称 A 13 毛重 L 毛重时间 D 皮重 L 扣石 (%) L 扣水 (%) L 扣其他 (%) L 单位编号 A 106.2.2 统计表数据表统计表也是数据库中的主要数据表,同样是用来存储过衡所得信息,只不过设置了利于查询的数据项。其数据项属性如下:表格
35、 6.2.2 统计表 1列名 数据类型 长度 允许空合同编号 A 10 矿别 A 15 车牌号 A 10 票号 A 10 过磅日期 D 毛重 L 皮重 L 皮重 L 河北工程学院毕业设计(论文)共 65 页 第 17 页扣石 (%) L 扣水 (%) L 扣其他 (%) L 司磅员 A 106.3 节 自动过衡自动过衡是地磅自动控制系统的核心模块,在该模块中涉及到的知识面比较广,有 Delphi 串口通信和编程的,有 PC 机和下位机通信的,有 C51 编程的等等。按照实现功能要求,将该部分划分为下面几个模块进行设计:单片机和 PC 的串口通信基本方法是什么?单片机数据通信的方式有并行通信和串
36、行通信两种,它不仅在控制外围期间中有着重要的用途,其通信功能在现代控制系统中越来越显得重要。这里所说的通信是指计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位地传送信息,所用的传输线少,因此,特别适合远距离传输。对于那些与计算机相距不远的人机交换设备和串行存储的外部设备,如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台单片机组成的分级分布控制系统中,各 CPU 之间的通信一般都是串行方式。所以串行接口是单片机应用系统常用的接口。单片机从一个 I/O 引脚逐位传输
37、一系列二进制编码数据,就是串行通信。所谓“串行通信”是指计算机和外设间使用一根数据信号线(另外需要地线,可能还需要控制线) ,数据在一根数据信号线一位一位地进行传输,每一位都占据一个固定的时间长度。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本。当然,其传输速度比并行传输慢。串行通信的优点在于远程通信和上下位机通信,缺点在于通信速度较慢。这次设计正是利用串行通信的优点上下位机通信。目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的 Windows 系统为平台。为便于查询和保存数据,还需要数据库的支持,
38、在本系统中使用 SQL Sever2000 数据库。现阶段,这种应用的核心便是数据通信,它包括单片机和上位机、客户端和服务器之间以及客户端和客户端之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。单片机和 PC 的通信是通过单片机的串口和 PC 机串口之间的硬件连接实现的。河北工程学院毕业设计(论文)共 65 页 第 18 页单片机以其体积小、价格低、抗干扰性好等特点,在现代控制系统中常用在操作现场进行数据采集,以及实现现场控制中。但是由于其数据存储能量和数据处理能力都较低,所以一般情况下要通过通信手段使它与 PC 机相连,把所采集的数据传送到 PC机上,再在 PC 机上进行数据处理
39、,充分发挥两者的优势。由于单片机输入、输出电平是 TTL 电平,而 PC 机配置的是 RS-232 标准串行接口,两者的电气规范不一致,因此要完成单片机与 PC 机的数据通信,必须对单片机输出的 TTL 电平进行电平转换。单片机和 PC 机的串口通信原理方案如下图所示:89C51 MAX232 PC图 4.3.1 串口通信原理方案用单片机的 I/O 口模拟串口一般的,这种方法用来处理单片机中的异步串行通信,属于一种单片机编程技术。NYTXDRXDGNDTIN TOUTROUT RINRXDTXDRS232CGND设置波特率设置串口工作方式请求发送允许发送调用发送子程序河北工程学院毕业设计(论文
40、)共 65 页 第 19 页图 5.3.2 单片机模拟串口功能的流程图单片机发送程序NY NY图 4.3.3 下位机通信程序流程图PC 机接收程序开始下位机通信初始化允许通信方式 1允许定时器 T0 中断放入输出缓冲区有无键按下开始上位机通信初始化串口打开继续接收接收完毕禁止 T0 中断河北工程学院毕业设计(论文)共 65 页 第 20 页NYNY图 4.3.4 上位机通信流程图输入缓冲区是否有值读入并进行数据处理等待串口输入数据串口是否关闭结束河北工程学院毕业设计(论文)共 65 页 第 21 页7 操作说明7.1 主界面电厂地磅自动管理系统主要是用于电厂进煤业务的自动化控制,他的主界面包括
41、了系统的所有模块,系统启动时即进入主界面,当点击登录模块时各个权限的用户才进入各自的界面。下图是系统启动后进入的界面,也就是本系统的主窗体主界面。图 7.1 系统主界面河北工程学院毕业设计(论文)共 65 页 第 22 页系统主界面中,除了登录模块,帮助模块,其余模块都处于非激活状态,即未登录之前系统模块时不能使用的。上方菜单此时都可以使用,当登录进系统后菜单项就会改变这样是为了保证了系统的安全性,防止非法用户进行恶意破坏或非法偷窃某些重要数据。7.2 登录模块7.2.1 登录界面登录模块是为了使操作员能够顺利进入属于自己的界面,以便更加规范有序的操作系统。如图 5.2.1图 7.2 登录界面
42、在界面中,可看到有两个编辑框,分别用于选择用户名和输入密码,然后点击确认按钮,系统把输入的密码和数据库中的数据进行比较,如果密码正确,则进入系统,如果密码不正确,则弹出如下所示出错提示框,以提示你输入的密码不正确,点击提示框中的确定按钮,则可以重新输入密码。7.2.2 出错处理河北工程学院毕业设计(论文)共 65 页 第 23 页图 7.3 登录出错界面7.3 管理员操作界面7.3.1 操作界面在登录框中,如果是系统管理员登录,且密码正确的话,则进入如图 5.2.4 所示的界面:河北工程学院毕业设计(论文)共 65 页 第 24 页图 7.4 管理员进入的主界面由图 7.3.1 可以看到,系统
43、管理员进入的界面除了过衡功能外,几乎所有模块他都能操作,上面的菜单项与操作员界面的菜单项是不一样的,它们的功能与按钮的功能基本上是一致的下面分别介绍管理员所能操作的各个界面的功能及操作步骤。7.3.2 用户设置本系统用于生产现场自动控制,在实际操作中不可能让每一个操作者都去操作所有功能,这样不利于系统数据的安全性,有可能对生产单位造成不必要的损失。因此在用户设置这一模块中主要实现用户权限的设置。我在设计过程中把用户分为两种,一是高级用户系统管理员,他具有很高的权限,包括用户设置、合同设置、售煤单位等的设置,以及上报统计等的查询。当然,此权限的用户也能对自己以及其他权限用户的权限进行修改。另外一
44、个是系统操作员,也可以叫做司磅员,他拥有比较低的权限,仅仅限于过衡系统的操作。刚才忘记说明一点,出于各方面的考虑,高级用户虽然拥有很多权限,但是他不能去操作过衡系统。在这套系统投入使用之前,用户库中只有系统管理员一项内容,拥有高级权限。目前所设计的系统为毕业设计之用,在用户数据库中含有两种权限的用户。既然有了两种权限的用户,那么相应的在用户密码修改过程中也应该有两种界面对应的呈现在各自权限用户的面前。上面已经提到高级用户享有很高的权限,他可以增加、删除、修改用户名称以及密码,还有用户权限。操作员只能修改自己的密码,他对其他用户的密码是无权过问的,更不能修改用户名称。系统管理员具有很高的操作权限
45、,他进入的用户设置界面包括了所有用户的用户名和密码,并且它可以随意的对用户进行编辑操作,界面如下所示:河北工程学院毕业设计(论文)共 65 页 第 25 页图 7.5 管理员用户管理在本界面中,ADMIN 为系统管理员,其余用户名都是一般操作员,当点击增加按钮时,可以增加新的用户,注意:新增加的用户都是一般操作员,系统管理员只能有一个。点击删除按钮时,下面编辑框中所对应的用户就被删除了。 修改按钮只能修改密码,当点击修改按钮时,系统会提示你只能修改密码! ,密码修改后,单击确认按钮,修改数据可以入库。如图 7.6 所示提示: 图 7.6 提示框7.3.3 合同设置火力发电厂是以煤作为原料生产电
46、,用到煤就和煤矿有一定的关系。一个电厂和好多煤矿有业务关系,也免不了签一些这样那样的合同,这一模块的功能就是实现合同设置。相对来说这部分涉及的内容是比较简单的,仅用到主从表的知识。这个功能只有一个窗体,在窗体中连接两个表,让这两个表的所有内容显示在用户面前,这俩表是主从关系。这个操作界面是为了让管理员方便设置单位和合同而设,整体来说,它的界面比较简单,操作也容易,具体页面效果如图 5.4:河北工程学院毕业设计(论文)共 65 页 第 26 页图 7.7 合同设置界面显而易见,由图即可知窗体功能和操作,两个 DBGird 框分别设置了单位和合同,并且这两个框的数据是总分关系,利用下面各自对应的导
47、航器,可以对数据表进行增加、删除、修改、更新等操作。7.3.4 汇总统计该模块实现的是把符合某条件的数据库中的数据查询出来,然后在界面的表中显示出来,让用户有个外在的印象,大多系统都山不了查询功能,这是因为人们不容易看懂数据库中杂乱无章的数据,只有能自动整理,系统才算是个完整的系统。汇总统计是本次毕业设计唯一具有详细查询的窗体,它的设置是为了便于数据按某个方式进行整理、统计,是用户对过衡数据有更明了的认识,这样就使系统更具有实用性。详细页面设置如下:河北工程学院毕业设计(论文)共 65 页 第 27 页图 7.8 汇总统计界面窗体上方是查询条件,下方是查询后的显示数据。查询条件有些复杂,首先选
48、择日期,如果日期选择错误,系统会弹出查询日期错误的提示,例如:开始日期大于结束日期!然后点击矿别编号的下拉框,从中选择一个矿别编号,这时矿别标签的后面便会自动出现矿别编号所对应的煤矿名称,最后在选择车号,单击统计按钮,下方 DBGird 框便会出现所要查询的数据。7.3.5 车牌号设置火力发电厂的燃料来源是煤矿,一个煤矿的运货车辆不会只有一辆,况且车牌号也是后面查询所用到的一个重要索引,所以设置车牌号很重要。本窗体主要是设置单位和车牌号之间的关系,车牌号是后面查询所用到的一个重要功能,所以必须设置好。虽然这个界面的数据和合同设置不一样,但它们的功能和操作都是相同的,所以这里就不多介绍了,下面图
49、 7.3.5 即是此界面,可参考:河北工程学院毕业设计(论文)共 65 页 第 28 页图 7.9 车牌号设置7.3.6 县别设置此模块的设置是让用户更清楚的了解煤炭的来源,一般设置的县别和货点用户对燃料来源就有了一个大致的印象和了解,县别多了、煤矿多了,就需要整理好它们之间的关系,尤其是每个县和其中的煤矿的关系。在功能这个模块与合同设置、车牌号设置一样,也是设置了两个表,并利用主从表的关系实现功能。界面如下,操作就不多介绍了。河北工程学院毕业设计(论文)共 65 页 第 29 页图 7.10 县别设置7.3.7 上报统计数据查询整理是一个必然的功能,查询后的数据有时需要打印出来,便于工作人员更好的分析数据或把整理好的数据以文件的形式呈现给上级领导,以供审批、查阅、决策等之用。既然是上报,简单的方法用 opendialog 和 savedialog 控件直接把查