来源:网络转载更新时间:2021-05-19 14:45:39点击次数:2019次
在煤炭企业中,由于各个矿点比较分散,各个矿点距离较远,容易形成信息孤岛;又由于煤炭企业生产环境恶劣,容易造成对信号的干扰,使得网络的传输出现差错,造成信息丢失;轨道衡计重信息的采集时效性不高,不利于煤炭企业的查询决策,极大的降低了企业的综合竞争力。为了提高煤炭企业综合竞争力,解决信息不能共享问题以及完成企业信息化的建设,煤炭企业需要对轨道衡计重信息进行科学和有效的管理,形成煤炭企业的一种隐性的竞争力。随着计算机技术和现代通讯技术的发展,建立一个分布式的轨道衡智能计重系统,对煤炭企业的信息化建设起着很大的作用。且由于轨道衡计重信息采集的准确性和及时性,对煤炭销售管理和分析,以及安排各个矿点的生产具有举足轻重的作用。因此,煤炭分布式轨道衡智能计重系统是整个企业信息化管理系统的关键环节。
1 系统需求分析
系统以一家大型煤炭企业为背景,设计开发煤炭分布式轨道衡智能计重系统。企业以前的轨道衡计重系统是以单机版为主,并且各个矿点的数据格式不统一,全公司不能共享计重信息,生成的计重信息报表很大一部分还要采用人工录入和设计,计重信息采用纸质报表上报总公司,总公司采用电话批示或者委派人员下矿指导,时效性不高。这样就不利于企业决策层以市场为导向做出及时有效的决策,也不利于过磅人员及时准确的掌握本矿点的煤炭库存情况。煤炭分布式轨道衡智能计重系统必须满足下面四方面的需求,这四个方面分别是司磅员,公司业务管理人员,系统管理员,系统的健壮性。司磅员的需求是录入计重信息、打印磅单、打印日报表;公司业务管理人员的需求是修改由于司磅员的失误产生的错误数据,汇总打印,制定销售计划和生产计划;系统管理员的需求是设置计重系统运行的基本参数,添加、修改、删除用户;系统的健壮性是系统适应恶劣环境的需要,保证数据的安全和准确。
2 系统设计
系统体系结构
根据需求,煤炭分布式轨道衡智能计重系统采用经典的C/S 结构,这种结构人机界面友好,还可以充分利用两端硬件环境的优势,将任务合理分配到Client 端和Server 端来实现,降低了系统的通讯开销。客户端采用Delphi7.0 开发,因为Delphi7.0 在开发C/S结构的系统时有着绝对的优势,比如,快速开发,编译高效,等。服务器端用SQL Server 2005 作为数据库服务器,因为SQL Server2005 在企业数据管理中有着高可用性和提供易用性、可管理性、及支持大型SQL Server 配置的集成的管理工具和管理应用编程接口(APIS)的优点;并且SQL Server 2005 对XML 的支持和在SQL 语言中嵌入高级语言的支持在完成数据库系统的开发中起着举足轻重的作用。
系统功能模块设计
煤炭分布式轨道衡智能计重系统功能详细介绍如下。智能计重业务:负责计重信息的采集和录入,智能计重系统可智能关联到站信息,主界面上实时显示重量信息和预设偏差重量,便于操作人员有效控制每节车皮的装车情况,本系统智能记忆录入的车皮信息,减少手工输入工作量,提高工作效率。
轨道衡查询打印:用户通过自定义查询条件,配置默认打印报表形式,适应不同单位对报表形式的要求。数据修改:由于操作员失误,造成数据有误,可以申请管理员修改已经提交的计重数据,系统智能记录修改操作以及相关信息,并备案。
中央数据管理:配置当前磅点的信息;客户关系管理,中央数据库客户信息的下载;设置上传本地计量数据方式,可以设置自动上传或者手工上传;断点自动上传,错误数据自动回滚,提高系统的健壮性;添加,删除,修改用户信息。权限管理:添加权限组,以及设置不同角色的操作权限。系统设置:设置串口的类型;设置串口基本参数。
3 关键技术
3.1 SPCOMM
用Delphi 实现串口通信,常用的方法有:使用第三方控件,如Spcomm 控件等;使用Windows API 函数。使用Windows API 函数的方法比较适合于编写较为复杂的底层通信程序。Spcomm 是Small-Pig Team 开发的一个第三方Delphi 串口控件,该控件封装了串口通信的类的属性和方法,提供了对串口的各种操作,编程简单、通用性强、可移植性好。在Delphi 开发中已经成为一个被广泛应用的串口通信开发控件。
Spcomm 共实现了三个类:串口类、读线程类以及写线程类。串口类的一个实例调用方法StartComm 中打开串口,并实例化了一个读线程实例和一个写线程实例,这两个实例和主线程之间进行消息的传递,实现串口通信。Spcomm 应用的核心在于主线程、读线程和写线程之间的消息传递机制,而通信数据相关信息的传递也是以消息传递的方式进行的。
利用Spcomm 进行串口通信,必须设置的基本属性。CommName 属性:计算机串口端口号的名字,COM1、COM2……等,在实例化串口类后必须设置串口的此属性。BaudRate:设定串口通信用的波特率9600,4800 等,根据实际需要来定。Parity 属性:校验位信息None、Odd、Even、Mark、Space 等。ByteSize 属性:表示一个字节中,使用多少个数据位收发数据,根据具体情况设定5、6、7、8 等。StopBits 属性:表示一个字节中,使用停止位的位数,根据具体情况设定1、1.5、2 等。利用Spcomm 进行串口通信,必须调用的方法和触发的事件。StartComm 方法:用来打开串口,开始串口通信。如果失败,则会抛出串行口错误。错误类型有串行口己处于打开状态,所以不能打开串行口,不能创建读写进程,不能建立串行口缓冲区等。StopComm 方法:用来停止串行口的所有进程,关闭串口。WriteCommData(pDataToWrite:PChar;dwSizeofDataToWrite:Word)方法是返回布尔值的函数,其中参量pszStr-ingToWrite 是要发送到串行口的字符串,DwSizeaf- DataToWrite 是要发送到串行口的字符串的长度。该方法通过写线程向串行口输出缓冲区发送数据。发送操作将在后台默认执行。如果写线程PostMessage 成功,则返回值是True,若写线程失败,返回值是False。OnReceiveData(Buffer:Pointer;BufferLength:Word)事件是接受缓冲区收到数据时触发的事件,其中参量Buffer 是指向输入缓冲区的指针。参量BufferLength 是从缓冲区收到的数据长度。当输入缓冲区收到数据时,该事件被触发。当输入缓存有数据时将触发该事件,对从串口收到的数据进行处理。
3.2 ADO
ADO(ActiveX Data Object, Active 数据对象)是Microsoft 提供的一种面向对象,与语言无关的数据访问应用编程接口。是处理关系数据库和非关系数据库的实用新技术,基于OLE DB 数据访问模式,支持大部分商业数据源。具有易于编程,易于数据库移植,访问速度快和效率高,占用磁盘空间较少和低内存支出等优点。ADO 实际上是OLE DB 的应用层接口,这种结构也为一致的数据访问接口提供了很好的扩展性,而不再局限于特定的数据源,因此,ADO 可以处理各种OLE DB 支持的数据源。ADO 本身由几个对象所组成,这几个对象分别负责提供各种数据库操作行为,大致上可以分为连接、修改和查询3 个部份。在ADO 模型中,主体对象只有3 个:Connection、Command 和Recordset,一个典型的ADO 应用使用Connection 对象建立与数据源的连接, 然后用一个Command 对象给出对数据库操作的命令,比如查询或者更新数据等,而Recordset 用于对结果集数据进行维护或者浏览等操作。1) Connection 对象
Connection 对象代表与数据源进行的唯一会话。也称为连接对象,用来创建一个与指定数据源的连接,包括Microsoft SQL server、Oracle 以及能够为其指明一个OLEDB 提供程序或一个ODBC 驱动器的任何数据源。
2) Command 对象
Command 类是IDBCommand 接口的实现,通过Command 来执行数据库命令以及数据库数据的查询、更新、插入都通过Command 来实现。
3) Recordset 对象
Recordset 对象代表一个记录集,是一个连接的数据库中的表,或者是Command 对象的执行结果返回的记录集.在ADO 对象模型中, Recordset 有着举足轻重的作用。可以通过Recordset 在行中检查和修改数据, 所有对数据的操作几乎都是在Recordset 对象中完成的。Record 对象可以用于选定行,上下移动行,添加,更改,删除行。
4 系统实现
根据系统需求分析,系统设计以及对关键技术的运用,在delphi7和VS2005 开发环境下完成系统的开发。
5 结论
煤炭分布式轨道衡智能计重系统在完成计重操作由手工操作转化为自动化操作的同时,还融入的先进的管理理念,使得企业的管理更加规范化和系统化,也使得整个公司的决策更加及时有效,该系统已经在福建某大型国有煤炭企业中得到成功的运用。
本文源于网络转载,如有侵权,请联系删除
×