基于MySQL的玻璃厂工艺数据归档方法
2014-06-23张国金邹宁波
张国金,邹宁波
(中国建材国际工程集团有限公司,蚌埠 233018)
基于MySQL的玻璃厂工艺数据归档方法
张国金,邹宁波
(中国建材国际工程集团有限公司,蚌埠 233018)
玻璃生产中有许多归档数据需要记录,传统记录方式有很多不足。该文介绍了基于MySQL的玻璃厂工艺数据归档方法,结合玻璃厂实际生产需求,创建了归档数据表,开发了数据库与应用程序接口,并基于MySQL建立了玻璃厂归档数据网络。
MySQL数据库; 归档数据; 结构化查询语言; 开放数据库互连; 玻璃冷端
在平板玻璃生产中,有很多工艺数据需要实时或者分时的记录下来,主要目的是为将来的生产提供一个可查询的记录。如热端窑炉中温度、压力数据,冷端中的玻璃切割和堆垛数据等等。这种记录方法目前存在的主要是靠计算机去自动归档记录,此功能一般情况是在一些通用组态监控软件上进行开发的。而该文将探讨运用另外一种方法,直接利用MySQL数据库开发的一种玻璃厂生产工艺数据归档记录的方法,它的优点在于不依赖于任何组态软件,而又能集成到任何组态软件中。该文通过冷端的切割数据为实例叙述如何通过MySQL数据库进行归档,研究如何通过C++语言编写与数据库之间的接口程序,并基于MySQL建立平板玻璃厂的数据归档计算机网络结构。
1 MySQL数据记录的优点
以往在利用计算机进行数据自动记录归档的方法通常是基于组态软件进行开发。例如,通常使用的西门子WINCC监控软件或者IFIX监控软件都会提供一些归档记录功能给用户使用,利用这些自带的归档记录功能基本能够满足生产上的需要。但是这些软件的缺点在于平台之间不能互相通用,并且它们的功能有限,所以通用性和扩展性是这些组态软件的先天缺陷。
MySQL是瑞典MySQLAB公司开发的一种网络化的关系型数据库管理系统(Relational Database Management System,RDBMS)。MySQL数据库支持结构化查询语言(Structured Query Language,SQL),使用C/C++语言编写,在多种编译器上进行了测试。因此,它的移植性特别好,能够支持多种不同的操作系统,拥有多种编程语言接口,具有运行速度快、使用复杂度低、价格低、连接性和安全性高等优点,被广泛应用于各种中小型网站的数据库服务器上。该文将基于MySQL数据库系统通过具体实例来阐述如何在玻璃厂中进行数据记录归档。
2 玻璃厂常用归档数据分析
在平板玻璃从原料到成品的生产过程中,为了方便将来对历史数据进行查询,所以存在众多的数据需要记录归档。例如在原料车间各种原料的配比情况需要归档,在热端如各种热工设备的压力、流量、温度等工艺参数需要归档,在冷端如玻璃切割尺寸、等级、成品数量、废品数量等信息需要归档。
3 MySQL数据库
3.1 归档数据表的建立
在数据库glass中建立归档表file。根据玻璃厂常用归档数据情况,将玻璃编号设置为表file的主键,无符号整形,并设置为自增。将横切尺寸、玻璃等级、纵切尺寸1、纵切尺寸2、纵切尺寸3、纵切尺寸4设置为无符号整形,将纵切组合形式设置为char型,将time设置为Timestamp型。Timestamp类型值的范围为从1970年到2037年,精度为1 s,以数字的形式显示。使用它可以自动的用当前的日期和时间标记对数据表的操作。该文将以平板玻璃冷端切割数据为例,叙述如何对MySQL数据库进行数据归档,冷端玻璃切割数据的常见形式及类型如表1所示。
表1 玻璃厂归档数据表参数及类型
通过desc[tablename]命令可以查看表的结构,显示出字段名、字段类型、是否为空、主键、默认值、额外信息等参数,如图1所示。除了命令行之外,还可以通过Navicat管理数据库。Navicat是一套快速、可靠的数据库管理工具,它支持多种操作系统,能够为MySQL等数据库提供图形化的用户界面,让使用者安全简单的访问本机或者远程服务器,可以降低数据库的管理难度。Navicat显示数据库file表的内容如图2所示。
3.2 数据库的维护与操作
MySQL数据库的维护与操作使用SQL语言完成,常用的操作有插入数据、查询数据、更新数据、删除数据、添加列、删除列、修改列、删除表等。
3.2.1 表中数据的插入
MySQL数据库使用insert语句来完成插入功能。SQL示例代码如下:
insert intofile(横切尺寸,玻璃等级,纵切组合形式,纵切尺寸1,纵切尺寸2,纵切尺寸3,纵切尺寸4), values(200,1,"001",25,26,42,32)。
该语句将横切尺寸为200,玻璃等级为1,纵切组合形式为“001”,纵切尺寸1为25,纵切尺寸2为26,纵切尺寸3为42,纵切尺寸4为32的记录插入数据表file。
3.2.2 表中数据的查询
表中数据的查询使用select语句。该语句是数据库内容查询的核心,使用十分灵活,可以在select语句基础上添加查询条件,按照该条件从数据库中获取数据。Select语句SQL示例代码如下:
3.2.3 表中数据的修改
update语句可以用新值更新原有记录的内容,即该语句用于表中数据的修改,where字句作为更新的条件。Update语句的SQL示例代码如下:
updatefile set纵切尺寸1=34 where玻璃编号=5;//将表file中玻璃编号为5的记录的纵切尺寸1修改为34。
update students set玻璃等级=玻璃等级+1;//将表file中所有记录的玻璃等级加1。
3.2.4 表中数据的删除
当数据表中包含有多余数据时,就需要删除。使用delete语句完成,可以使用where字句来确定删除条件,delete语句的SQL示例代码如下:
3.2.5 表结构的修改
对创建后对表结构的修改使用alter table语句。该语句不是对表中数据进行操作,而是修改表的结构,比如为表增加一列属性,修改表头名字或类型,删除一列属性等操作。SQL示例代码如下:
3.3 数据库接口实现
开放数据库互连(Open Database Connectivity,ODBC)是微软公司提出的数据库访问接口标准,它可以利用SQL来完成数据库操作任务。ODBC屏蔽了不同数据库之间的差异,增加了程序的通用性,使应用程序开发者能够方便的操作数据库。使用ODBC要在计算机中配置数据源名称(Data Source Name,DSN),数据源用于存储建立数据库连接的信息,系统通过数据源名称,就可以找到与之对应的数据库连接。
MFC中操作数据库主要用到的类包括CDatabase类和CRecordset类。
CDatabase类:封装了应用程序和数据库之间的连接以及执行SQL语句的方法。MFC要与数据源建立连接,应该首先构造一个CDatabase对象,再调用CDatabase的Open成员函数建立连接。ExecuteSQL成员函数用于执行一条SQL语句,该语句不返回数据记录,在VC中使用该函数即可执行SQL语言。以数据插入为例,示例代码如下:
CRecordset类:封装了操作数据库的方法,包括浏览和修改记录、排序等操作。CRecordset对象代表一个记录集,即每一个CRecordset类的派生类都代表一张数据库的表,使用ClassWizard可以创建CRecordset派生类,在创建过程中与MySQL数据库中的表相关联,创建完成后,在派生类中就会产生一组数据成员,它们与所关联表的字段相对应,且类型匹配,因此被称为字段数据成员。数据库的查询使用CRecordset类,示例代码如下:
玻璃厂归档数据应用程序如图3所示,应用程序在客户机上运行,将数据库的字段(玻璃编号、横切尺寸、玻璃等级、纵切组合形式、纵切尺寸1、纵切尺寸2、纵切尺寸3、纵切尺寸4)以编辑框的形式列出,程序分为自动模式和手动模式。自动模式下每一台客户机自动将生产玻璃产生的数据存储到数据库中。手动模式下根据主要参数可以对数据库进行插入、修改、删除、查询等操作。以查询为例,当输入玻璃等级为1,其他参数默认时,点击查询按钮,即可将玻璃等级为1的记录显示出来,显示结果如图4所示。
3.4 玻璃厂归档数据组网
MySQL采用客户机/服务器体系结构,客户机通过网络连接到数据库服务器的程序,向服务器提交数据操作请求。数据库服务器提供并发控制,监听客户机的请求,根据这些请求访问数据库并向客户机提供它们所要求的数据。多个客户机可以同时访问相同的表,它们不必互相裁决和协商,只要发送请求给服务器并让其确定完成这次请求的顺序即可。
在玻璃厂中,生产在不同的车间同时进行,所以有众多信息需要进行归档,必须形成一个数据库网络,使每一个厂房中的计算机都可以访问数据库服务器,进行数据库存取等操作。图5所示为玻璃厂归档数据网络,每一台客户机分别位于不同的生产厂房内,它们通过网络连接到服务器,每一台客户机都具有操作数据库的权限。客户机只需要安装MySQL客户端,在DSN配置时,将TCP/IP server的值配置为服务器的IP地址。所有由客户机产生的数据库记录全部存储在远端的服务器上。
4 结 论
该文通过对MySQL数据库在平板玻璃冷端切割数据归档上的应用,叙述了报表建立、维护、接口程序的编写以及数据库组网的方法,与传统数据报表归档方法相比,避免受第三方平台开发的限制,以及额外的费用支出等问题。同时,由于MySQL数据库操作维护简单,也易于工程技术人员掌握并在工程项目中应用,利用MySQL数据库组网将有效的提高玻璃厂数据记录的效率,增加数据存储容量,方便厂区数据管理。因此,基于MySQL的玻璃厂工艺数据归档方法无论在功能上还是经济上都具有非常广泛的应用价值。
[1] 王志刚,江友华.MySQL高效编程[J].计算机应用,2012,31(6):63-67.
[2] 李荣国,王 见.MySQL数据库在自动测试系统中的应用[J].计算机应用,2012,31(A02):169-171.
[3] 刘 伟.MFC数据库访问接口技术[J].电脑编程技巧与维护,2010,15(8):72-73.
[4] 兰旭辉,熊家军,邓 刚.基于MySQL的应用程序设计[J].计算机工程与设计,2004,25(3):442-443.
Archiving Method Based on MySQL in Glass Factory Production
ZHANG Guo-jin,ZOU Ning-bo
(China Triumph International Engineering Group Co,Ltd,Bengbu 233018,China)
There are large amounts of archived data that need to be recorded in glass production,however the traditional recording methods is limited by many shortcomings.This thesis describes the archived approach for process data in glassworks based on MySQL.Combing with glass production needs,this artictle sets up an table of archived data, develops the programming interface between database and application,builds archived data networks of glass based on MySQL.
MySQL database; archive data; structured query language; open database connectivity; glass cold end
2014-08-20.
张国金(1983-),工程师.E-mail:zgj@ctiec.net
10.3963/j.issn.1674-6066.2014.05.018