本发明属于制造业信息化领域,更具体地说,涉及一种数控机床生产信息获取与统计方法。
背景技术:数控机床可以通过循环执行加工程序实现高效的生产,在现代制造业中得到广泛的运用。数控机床可以组合多品种零件编写加工程序,实现程序循环执行一次可同时完成多个零件加工,如利用数控激光切割机床在一次装夹钢板后可批量切割出多品种多规格零件。这在提升效率的同时为管理工作带来了复杂性,对生产管理来说,需要统计原材料消耗、产成品种类与数量、废品数量以及班组生产的开始与结束时间;对设备管理来说,需要统计设备的总运行时间、故障时间、关键工艺的执行时间或次数等。目前,对上述信息缺少有效的自动统计方法,很难获得机床工作过程的完整信息,而这类信息对于如何提高生产效率具有十分重要的参考意义。CNC(计算机数控)系统运行于机床的主控电脑中,通过执行数控程序来控制机床作业。CNC系统在运行过程中会生成日志文件,该文件按时间序列记录了机器状态信息、程序执行过程信息以及其他操作信息。目前,日志文件仅用于技术人员对设备的事后故障排查或运行分析,尚未应用于生产管理信息化的统计。公开号103064905A的专利申请文件,公开了一种数控系统的日志管理方法。该方法包括日志生成过程和日志使用过程,日志生成过程包括:将数控系统的信息分为六大类日志文件,在数控系统开机时对日志文件进行容量管理,将记录的日志存储在对应类别的日志文件中;日志使用过程包括:将日志文件以列表的形式显示给用户,将日志文件导出为文本文件,部分截取操作日志中的连续操作过程,根据该连续操作过程生成脚本文件,并利用脚本文件对连续操作过程进行回放,分别提取故障日志、加工日志、文件修改日志和操作日志中的所有信息,并根据该信息生成对应的日志报表。该发明解决了现有系统中由于没有日志记载所带来的数控机床信息化管理的数据缺失以及没有数控机床使用状况的统计分析的问题。由于机床日志是面向机床操作过程的,并没有解决生产管理信息化统计分析相关问题,具体来说,利用当前技术不能自动获取产成品规格与数量、原材料种类与数量、废品数量、关键工艺的执行时长或次数、设备的利用率等信息报表。
技术实现要素:1.技术问题现有数控机床一般具有日志系统功能,但日志系统生成的日志文件仅针对机床运行过程而且信息不全,无法完整或直接地统计出面向生产管理的数据报表,本发明针对上述问题提供了一种数控机床生产信息获取方法,它可以基于现有的机床日志系统实现生产管理相关数据的自动获取与管理报表的自动生成,可以实时、简单的获取数控机床及产品的在生产加工过程中的信息。2.技术方案本发明的目的通过以下技术方案实现。一种数控机床生产信息获取方法,该系统包括机床主控电脑、数据库服务器、报表服务器和客户端;所述的机床主控电脑中设置有日志读取模块;所述的数据库服务器设置有生产信息数据库;所述的报表服务器中设置有报表模块;该信息获取方法,其步骤为:(1)将机床主控电脑连接到局域网,并在网上部署好数据库服务器和报表服务器;编写机床数控加工代码,操作数控机床系统读入所述数控加工代码进行生产,数控机床系统自动生成日志文件;(2)在机床主控电脑中,根据机床日志文件格式编写日志读取模块,日志读取模块的内部过程如下:a.获取日志文件列表;b.逐个读入列表中的日志文件;c.逐行扫描日志文件中的字符串信息;d.对日志行进行时间序列分析和结构化处理并保存结构化数据,建立数控程序执行信息表和零件加工信息表进行存储;所述的结构化数据包括机床运行信息以及编写数控代码时所备注的产品、材料信息;e.依次读取剩余日志文件并提取数据;f.将读取完的日志文件重命名并移动到备份文件夹;(3)所述的日志读取模块自动将数据保存到所述的生产信息数据库中,生产信息数据库由安装在数据库服务器中的数据库管理系统创建,该数据库用于存储日志读取模块所读取的数据,同时作为报表模块的数据源,其中,数据表中的字段包含“机床编码”、“程序名称”、“材料编号”、“零件厚度”、“钢板尺寸”、“程序运行开始时间”、“程序运行结束时间”、“程序重复执行次数”、“零件名称”、“零件开始切割时间”、“零件重量”、“激光穿孔次数”、“切割长度”、“空走长度”、“切割时间”、“工作时间”、“停机时间”和“故障停机时间”;(4)在报表服务器中,根据生产信息数据库中的数据和用户要求的报表样式设置报表模块;报表模块负责响应所述的客户端发送的请求,生成用户所需的统计报表,在报表模块中根据需求定义报表格式,从生产信息数据库的表中统计相应的数据;报表视图可分别按日、月、年的时间周期或材料、程序、零件的类别设计,所有报表的数据源均从上述生产信息数据库的数据表中建立;(5)用户通过客户端访问报表服务器,获得在报表模块中定义的多种信息统计报表。进一步地,在所述的步骤(1)中,在编写机床数控代码时,将产品的规格、型号以及材料的规格信息以注释形式写入数控代码中。3.有益效果本发明与现有技术相比,其有益效果是:(1)生产报表的原始数据是通过信息化手段从机床PLC日志系统中自动获取的,免去了人工记录与输入;(2)本发明通过在数控代码中添加与该代码所加工的对象有关的注释信息,如原材料类型、尺寸,成品名称、规格、重量等信息,由于这些注释信息能随着数控代码的执行而输出到日志文件中,使得本发明的日志读取模块能获取完整的生产管理信息,不仅包括机床运行过程信息,还包括以编程注释的方式添加的产品规格等业务信息;(3)本发明的机床生产信息报表自动统计的信息全面,能以机床、班组、时间区间等为统计条件生成用户所关心的生产信息报表,可实现机床生产信息统计的自动化;(4)本发明中的信息获取与发布均是基于网络的,使得所管理机床对象不受区域地点限制,可实现跨地域的信息化管理;(5)本发明的可扩展性高、成本低,使用本发明管理的数控机床数量不受限制,当增加机床时,仅需在相应的机床计算机中安装日志读取系统并连接网络即可。附图说明图1为单台机床的加工信息提取系统网络拓扑图;图2为数控机床生产信息获取系统的功能框架图;图3为日志读取系统的工作流程图;图4为使用本发明所得到的机床生产信息报表示意图。具体实施方式下面结合附图和具体的实施例对发明的技术方案进行详细说明。实施例1结合图2,以管理一台数控激光切割机床的生产信息为例,该机床使用著名的德国产GlobalControl数控系统:首先准备好日志读取模块,该模块使用C#语言开发,处理对象为GlobalControl数控系统运行所生成的日志文件,该日志为文本格式,日志片段示例如下:由于日志记录很长,在此随机截取一段以示例。可以看出,日志文件以文本行为记录单元,每行由三部分组成,起首第一部分为时间戳,如“2011-04-22_19-14-12”,表示2011年4月22日19时14分12秒,第二部分为状态码,如“1213”、“1211”、“138”、“302”等,第三部分为状态信息,如“X=0.0Y=0.0”,“S:0”,“Part-Cut-Length/1383/525-FBM29-1”、“M:MildSteelT:6.0X:1282.0Y:859.0P:'/PartPrograms/k1/testprogram_GC/01852580.txt'”、“Part-Cut-Length/2620/525-FBM29-2”,这三部分之间由多个空格字符隔开,其中状态码表示机器的状态,如“1240”表示CNC系统装载数控程序,后续的状态信息则表示所装载的程序文件路径,“137”表示开始切割,“138”表示切割结束,状态码往往要与后续的状态信息相配合才能表示具体含义,如“312S:2”表示机床自动运行状态下开始运行,“312S:1”表示机床自动运行状态下停止运行,有时还需要与前后日志行的状态码相配合来判断机床的具体状态,如“180”状态码行的后续行中出现“132”状态码,则表示机床停机。此处的状态码含义是以德国GlobalControl数控系统为例,其他厂商数控系统的日志含义请查阅相关资料或根据生产经验猜解。日志读取模块的编程是根据上述的日志规则含义,提取结构化的机床加工过程信息,以便用于报表模块的统计。如图3,设计日志读取模块的工作流程为:1、首先获取日志文件列表;2、读入列表中的日志文件;3、逐行扫描日志文件中的字符串信息;4、识别并过滤日志信息,由于日志信息是伴随着机器工作实时产生的,有些时候机器处于故障状态、停机状态、空运转状态,此时产生的大量日志行记录是用户不关心的无效信息,可以将其过滤,对有效信息对照前段代码示例说明的含义进行结构化处理,转化为结构化数据并保存到数据库;5、依次读取剩余日志文件并提取信息;6、将读取完的日志文件重命名并移动到备份文件夹。日志读取模块编译好后安装到数控激光切割机床的主控电脑中,日志读取系统可设置为定时运行,保证CNC系统的日志信息能及时被读取。提取后的结构化数据分两个数据表存储,数据表结构如下(表1、表2),表1与表2使用jobId字段进行关联,其中,表1用于存储机床执行某个数控程序的信息,如执行该程序所使用的机床编码、该程序加工所需的材料规格、该程序所生产产品的规格,该程序的执行次数、开始运行时间、结束运行时间等等,表2用于存储与表1行信息相对应的零件加工过程信息,如切割时间、切割长度、穿孔个数、工作时间、故障时间等信息。表1数控程序执行信息表表2零件加工信息表部署数据库服务器,在数据库服务器中安装SQLserver2005数据库系统,创建生产信息数据库,该数据库用于存储日志读取模块所读取的数据,同时作为报表模块的数据源,因此,该数据库表结构设计只要满足日志读取模块以及报表模块的数据定义与访问要求即可,一般来说,数据表中要包含“机床编码”、“程序名称”、“材料编号”、“零件厚度”、“钢板尺寸”、“程序运行开始时间”、“程序运行结束时间”、“程序重复执行次数”、“零件名称”、“零件开始切割时间”、“零件重量”、“激光穿孔次数”、“切割长度”、“空走长度”、“切割时间”、“工作时间”、“停机时间”、“故障停机时间”等字段,如表1、表2所示,用于存储日志读取模块所提取的结构化信息,即构成本发明中的数据库模块。部署报表服务器,在报表模块中按车间管理的需求定义报表格式,从数据库服务器的表中统计相应的数据。报表服务器中的报表模块采用Microsoft公司的RDLC报表工具设计实现,也可以用水晶报表(CrystalReport)进行设计,报表视图可分别按日、月、年等时间周期或材料、程序、零件等类别设计,所有报表的数据源均从上生产信息数据库的数据表中建立。数据库系统与Web报表模块也可以安装在同一台服务器中。日志读取模块从CNC日志中读取信息并保存到数据库服务器的生产信息数据库中,生产信息数据库为报表模块提供了数据源。报表模块负责响应用户通过Web浏览器发送的请求,生成用户所需的统计报表,典型报表如图4所示。将日志读取模块安装在机床主控计算机中并接入局域网,在网络上部署好数据库服务器和报表服务器。当数控机床生产时,机床操作人员根据产品要求编制数控代码,需要注意的是,由于数控程序仅针对产品的加工工艺过程控制,因此,日志文件在通常情况下只会包含机床系统状态和工艺过程信息,而对于一些生产中有管理价值但又与机床运行控制无关的信息就不能直接获取,但可以将这类信息以注释的形式在编程时编写到数控程序中,如产品名称、编码、重量、尺寸规格、坯料的材料与尺寸规格等,这样机床在执行数控代码的同时,便会将上述注释信息写入到日志文件中,从而大大丰富了日志文件的信息,日志读取模块根据这些注释信息实现对所加工产品的相关信息读取。这里的注释就是普通的程序代码注释,一般注释是为了帮助理解代码含义,这里的注释是为了添加信息到日志文件中。用户查看报表时,使用PC机或笔记本电脑以有线或无线的方式访问报表服务器,网络拓扑如图1所示。报表模块从数据库服务器中检索相关数据并返回到用户电脑中。实施例2对多台数控机床进行生产信息管理。使用本发明对多台数控机床进行管理时,方法与步骤与实施例1相同,只需将所有数控机床的主控电脑分别安装日志读取系统并接入车间局域网即可,所有机床的管理共用数据库服务器与报表模块,在数据库表中用数控机床编号区分不同机床,日志读取模块在上传各自机床数据时,同时上传机床编号。这样便能在报表模块中实现按机床编号统计生产信息。