数控机床远程运行监控与信息管理系统开发
2021-12-23苏春燕孟祥懿崔建辉
苏春燕,孟祥懿,崔建辉
(1.天津中德应用技术大学 软件与通信学院,天津 300350; 2.天津中德应用技术大学 机械工程学院,天津 300350; 3.天津市鑫联建辉金属制品有限公司 经理办公室,天津 301505)
0 引 言
制造业是国民经济的主体,信息化和工业化两化融合将带动制造业发展。信息物理系统(简称CPS)被视为支撑两化融合的综合技术体系,是一个综合计算、网络和物理环境的多维复杂系统。目前基于CPS的智能制造系统已经成为国内外这一领域的研究热点[1]。而数控机床是制造过程的基本单位,是智能化、信息化制造不可或缺的一部分[2],围绕CPS技术体系,结合我国数控机床企业的实际需求,探索研究“数控机床的远程运行监控和信息管理系统开发”变得紧迫和具有现实意义。目前已有不少论文涉及对数控机床基本运行数据的远程监控系统,本文的技术特点有:
(1)实现数控机床基本运行数据远程监控,数据的呈现方式有所创新;
(2)研究数控企业需求,建立了符合3个范式的较合理的数据模型,对企业的基础信息和生产过程信息进行了有效管理;
(3)改进实现数控机床批量加工“产品-工序”时间、数量信息的远程实时自动记录,文章详细探讨了其改进实现的算法;
(4)实现数控企业的基本信息和产品批量加工信息的综合管理,包括数据维护、信息查询和统计等。
1 数控企业需求分析
作为科技特派员所去数控企业“天津市鑫联建辉金属制品有限公司”有多个数控机床车间,这些机床一般本身带有网络接口,或可通过连接外部设备添加网络接口。企业管理层希望在与计算机联网数控机床基础上开发软件系统,实现在系统平台远程监控数控机床的运行状态;查看不同型号、厂家的机床数量;且自动远程记录每个联网机床批量加工产品的数量和时间,并提供相关信息的查询和统计。
根据企业引入信息技术改进生产和管理的设想和文献[3]中介绍的提取问题域中事物方法,确定出系统需处理的事物实体有:机床基本信息、机床加工产品记录信息、工人信息、产品信息、产品工序信息、系统用户信息、机床厂家信息、机床类型信息、机床系统类型信息和工人级别信息。
由文献[4]可知目前数据计算与信息处理方面软件有浏览器/服务器(B/S)和客户端/服务器(C/S) 两种架构,基于监控的数控机床往往在企业内部的车间这样的较小范围内,负责监控的计算机数量比较有限,且用户界面要求丰富和容易实现,因此,本文系统采用C/S开发框架,具体使用了这一架构中较成熟系统开发语言Visual C#,配合SQL Server数据库管理系统开发。这种架构只有在企业内安装了客户端程序的计算机才能监控机床运行,运行和数据的安全性较好,软件更新时需要维护的计算机数量也有限。
2 系统设计
2.1 系统整体功能结构与运行平台设计
结合前一节对企业生产的实际情况和对信息系统需求调研的基础上,这里介绍的所开发系统包括6个功能模块,具体有基础数据设置、机床管理、机床运行监控、加工产品信息管理、工人管理和系统管理。具体功能如图1所示。其中①所标注功能只有超级用户有权限使用,即处于可用状态,而②所标注功能只有对管理用户处于可用状态。其它功能对所有级别用户均有使用权限。
图1中“基础数据设置”模块允许使用的厂家根据实际情况事先定制一些基础数据,如:设置企业所有机床系统类型、生产厂家以及所有工人级别等信息,这样在其它 功能窗口的数据输入部分就可以将某个基础数据的值绑定到下拉组合框中,方便操作人员选择使用,此设计使系统更具灵活和开放性。
图1 系统功能设计结构
由于数控企业有多个数控机床车间,系统需要远程实时采集、记录和处理各数控机床加工信息,这就要求系统运行时尽量减少读写数据库数据的延迟时间,因此系统运行平台的设计是,在每个车间建立车间数据库服务器,负责存储本车间的运行数据,并设置企业级系统数据库主服务器,对整个企业的运行数据进行维护、查询和统计。这个数据处理的需求参考文献[5]采用数据复制和分割技术实现,即将工人信息、产品信息、产品工序信息、机床厂家信息、机床类型信息、机床系统类型信息、工人级别信息这些数据表从主数据库服务器复制到各个车间的数据库服务器,并定期将主服务器中的这些数据表信息更新复制到各个车间数据库服务器。将包含机床网址和端口号的“机床基本信息数据表”和“机床加工产品记录信息数据表”中各个车间的数据记录分割到车间数据库服务器,定期用这两个分割到车间数据库服务器的数据表的数据更新主服务器中对应数据表的数据。在各个车间和企业级信息管理部门分别安装、配置系统。整个平台的网络分布拓扑结构如图2所示。
图2 系统网络分布拓扑结构
2.2 系统数据库设计
本系统使用SQL Server数据库管理系统存储和处理数据。建立符合1-3范式[6]、能存储企业基础生产信息和生产过程信息的合理数据模型是文中系统的一个创新点。系统设计的数据表与事物之间的对应关系是:cncInfo-机床基本信息、history-机床加工的产品工序记录信息、makerInfo-工人信息、proInfo-产品信息、proProcedure-产品工序信息、userInfo-系统用户信息、CNCFactory-机床厂家信息、machineModel-机床型号信息、operateType-机床系统类型信息、popeModel-工人级别信息。
根据文献[7]引用完整性设置方式,系统通过外键建立各个表之间的关系,并且设置关系表的“级联”更新和“设置Null”删除规则。此系统的数据表及相互关系如图3所示。其建立关系的方式是:表makerInfo的主键makerID在其关联表history中作为外键makerID;表proProcedure的主键ID在其关联表history中作为外键proProcedID;表cncInfo的主键ID在其关联表history中作为外键cncID;表proInfo的主键ID在其关联表proProcedure中作为外键proID;表machineModel的主键machineTypeID在其关联表cncInfo中作为外键machineTypeID。
3 实现功能创新、其关键技术及运行测试
3.1 “数控机床基本运行数据远程监控”功能
系统实现了数控机床基本运行数据远程监控,在各类数据呈现方面做了一些创新。下面介绍其实现的主要关键技术和运行测试效果。
3.1.1 关键技术-数控机床的联网与数据读写
由文献[8]~文献[11]得到目前已有的数据采集方 式主要有PLC采集、宏程序输出、外加传感器采集和开放式数控系统接口采集。其中只有开放式数控系统接口采集不需要附加硬件设备,具有能够实时采集多种类型机床信息、实现技术难度低、实施成本低的优点。因此本系统调用数控机床本身提供的开放函数实现对数控机床的联网和数据读取。
图3 系统数据模式设计
以FANUC系统数控机床为例,其提供了Focas开发包,其中丰富的函数允许PC机与数控系统联网并实现数据读写。这些函数可以用C++或C#程序调用。FANUC公司给出了Focas的开放接口函数的使用说明。如果程序中要使用Focas开发包提供的函数访问数控机床,需要将该开发包提供的一组类库文档(如:Fwlib.dll)复制到项目存放其生成可执行文件的文件夹“……/debug”下,并在项目的根目录中添加其提供的fwlib32.cs文件[12],这个文件给出了Focas1类的定义声明,其中包含该类用到的符号常量和其它类的定义,以及这个类包含的操作数控机床函数定义的首部,这些函数通常都定义为静态、公有的,可以通过类名直接调用。
如下面这段代码是用Focas1类提供的函数连接指定网址和端口机床的程序段。
ret=Focas1.cnc_allclibhndl3(Convert.ToString(txtIp.Text) Convert.ToUInt16(txtPort.Text),Convert.ToUInt16
(txtTimeOut.Text),out CncComCtrlProd.module Class.
MyModule.Flibhndl);
if (ret== Focas1.EW_OK)
…… // 显示联网成功
else
…… // 显示联网失败
上面程序段中首先调用了Focas1类的cnc_allclibhndl3()函数来实现与数控机床连接,返回值存入ret变量。函数第1个参数是从文本框txtIp中读取的机床IP地址,并转化为字符串类型,第2个参数是从文本框txtPort读取的机床端口号,并转化为整数类型,第3个参数是从文本框txtTimeOut读取的延迟时间,并转化为整数类型,第4个参数是带回的表示此机床连接的库句柄变量Flibhndl,此变量定义在项目CncComCtrlProd的moduleClass文件夹的MyModule类中,并设为公有、静态类型变量,因此可以直接通过类名调用。如果函数返回变量ret等于Focas1.EW_OK,则表示这个连接操作成功,否则表示失败。
而语句“ret=Focas1.cnc_freelibhndl(CncComCtrlProd.moduleClass.MyModule.Flibhndl);”表示断开前面建立的 操作库函数的句柄为CncComCtrlProd.moduleClass.MyModule.
Flibhndl的连接,返回值赋给变量ret,同样如果ret等于Focas1.EW_OK,表示断开连接操作成功。
3.1.2 运行测试效果-基本运行数据远程监控
图4显示了“机床选择与联网”功能的系统运行测试效果,可以手动在文本框输入机床IP地址等,也可以从下方的信息列表中双击某个机床信息,其IP地址和端口号等信息则自动写入上方对应文本框中,然后单击“连接”按钮,就实现与指定机床的连接,并用消息框显示连接是否成功。
图4 “特定机床联网”运行效果
图5显示了“机床使用与报警情况”功能的系统运行测试效果,其展示了远程监测所联网的特定机床的使用数据。而“机床坐标与运行监测”功能则能显示机床的运行状态、坐标、主轴转速和单次加工时间等信息。
图5 “机床使用与报警情况”运行效果
图6是“所有机床基本加工运行情况浏览”的运行测试效果,其以列表形式展示了联网的所有远程机床的IP地址、当前加工零件的程序名-程序段和已加工数量等信息。
图6 “所有机床基本加工运行情况浏览”运行效果
当在“机床信息管理与连通显示”窗口单击“显示机床状态”按钮时,其变为“停止状态扫描”,同时扫描、试联网所有机床基本信息表中的机床,以不同的图标显示其是否成功联网。效果如图7所示,这里有两台显示图标为浅色的机床成功联网。
3.2 “远程实时自动记录所有机床批量加工产品相关信息” 功能
运行系统的“联网所有机床”功能时系统循环重复扫描、联网所有机床,读取当前联网机床的“产品-工序”批量加工信息存入history数据表,直到人为选择停止这一功能。对于这些信息通过远程联网的准确提取和记录是本系统的一个创新点。
3.2.1 关键技术-“自动记录机床批量加工‘产品-工序’信息”改进算法
系统此功能的整体设计思路是建立一个独立的线程,在其中实现依据数控机床数据表中记录的机床IP地址和端口循环扫描联网每个数控机床,再将联网机床的批量加工信息存入数据表。线程的建立方式在程序设计中已经成熟,联网机床技术在前一节中已经介绍,而数据表的设计在前面系统数据模式中也已经介绍。因此这里只解释根据数控机床加工产品的特点,确定并保存特定机床批量加工“产品-工序”信息的改进算法。项目初期我们已对这个算法进行研究和实现,这里又进行了更精确改进研究和建模。
图7 “显示机床连接状态”运行效果
机床加工的产品常通过多道工序完成,数控机床的一个CNC程序负责一道工序。由于数控加工的工序相对集中[13],即数控机床上产品(工件)一次装夹所完成的工序中,可加工完成钻、扩、绞和铣等这些普通机床的多道工序,所以这里说的工序可能包括普通机床的多道工序。数控机床每运行一次CNC程序即可完成产品某道工序的加工,这里的加工产品数是指产品的某个工序完成的加工数量。机床通常是让某个工序对应的CNC程序重复运行,来完成此“产品-工序”的批量加工。每个数控机床都有一个累加计数器,记录该机床加工“产品-工序”累计数量。这里开发的系统假设的工作流程是一个人在一个工作日内的一台机床完成一批“产品-工序”的加工任务后记录下在这个机床已批量加工此“产品-工序”数量,然后将累加计数器人为清零为下一次批量加工的计数做准备。即当变更了工作机床、操作人员、工作日或加工“产品-工序”编号(即CNC程序)时,就确定开始了一次新的批量加工。系统被设计成能自动采集保存某次批量加工产品的机床号、产品-工序编号、时间和累加计数器的数量等信息,这些“机床批量加工产品-工序”的相关信息被自动保存在“产品工序生产记录信息表”history数据表,此表中还设置了批量加工产品的工人编号(makerID)字段,其需要在“工人操作机床加工产品记录信息管理”功能中手工输入。
算法还提供了智能判断和提示机床新的批量加工前计数器未清零的情况,在项目初期的算法实现中,考虑到服务企业是将加工工件手工装夹,时间较长,而每个工序单次加工时间也多于2 min~3 min,因此,假设系统每扫描一遍所有机床的时间小于机床任意工序的装夹与单次加工处理时间之和,在记录开始一次新的批量时以“当前加工数>0”作为提示没有将计数器清零的条件。但是考虑到将来有可能实现机械手的自动装夹,使装夹时间大大减少,且有些工序时间较短,因此工序的每次装夹时间和单次加工处理时间之和可能小于系统的每扫描一遍所有机床的时间,因此为了提高系统对未来变化的适应能力,这个改进算法的设计是读取、计算每台机床两次扫描的时间间隔disTime和机床工序的单次加工时间proTime,在记录开始一次新的批量时以“当前加工数>disTime/proTime”作为提示没有将计数器清零的条件,在提示中进一步给出此机床号、CNC程序名、可能的多出加工量和批量加工初始时间。当disTime≥proTime且计数器的原计数值≤disTime/proTime时可能会出现智能提示失效或提示的多出加工量出现误差。这个误差的上线是disTime/proTime,这取决于机床开始加工时系统的扫描位置。但这个误差会在极个别情况下出现,且很少在装夹时间加上单次加工时间小于扫描间隔时间的情况。
另外此提示正确实现的前提是在所有机床工作前系统已经启动并开始扫描机床。系统还允许根据实际机床加工情况对这些数据进行修改、插入等管理。这些信息也可以用于查询、统计机床的使用情况,并为统计工人工作量提供了参考数据。
对于记录一台机床在一个时间段内、批量加工某产品工序的加工数此改进算法的实现逻辑比较复杂,这里用图8的流程说明。该图的算法大致流程是:当“产品工序信息表(proProcedure)”中不存在“当前CNC工序名”,显示“CNC程序不存在”错误提示并结束这个处理,否则继续。读取此产品-工序的编号(IP)和工序名(procedureName)分别存入变量proProcedID和procedureName,读取history表记录个数存入变量hisID,从history表读取当前机床的最后一个批量加工记录时间,如果没有此机床的加工记录,则智能判断累加计数器是否清零后,在history表添加新的加工记录并结束这个处理,否则继续,从是否是同已CNC程序、是否是同一天和以前的加工数是否大于当前读取的加工数等条件判定是否是同一批次的加工,以决定是添加新的批量加工记录,还是修改history表中对应记录的加工数量。
3.2.2 运行测试效果-“自动记录所有联网机床批量加工产品信息”系统实现
选择系统的“联网所有机床”功能,此时系统以图9所示的列表形式显示所有联网机床的基本信息,窗口下方的文本区可显示新的批量加工时计数器未清零的智能提示或机床CNC程序信息不存在等信息。列表的具体内容会随着每次循环扫描机床联网状况而变化,另外,机床批量加工产品-工序信息会被存入history数据表,后面是这一测试结果。而当单击此图窗口中的“停止扫描联网所有机床”按钮,即可停止这一循环扫描。
假设这一功能的测试前,系统中“产品工序信息数据表proProcedure”的具体内容见表1,而history数据表的记录为空。
这一算法逻辑功能的测试环境是“机床基本信息数据表cncInfo”所列机床中只有编号为2和3的两台机床处于开机联网状态,运行此系统并选择“联网所有机床”功能。
算法逻辑测试1:将两台数控机床加工产品工序的程序名均指定为“O1000”,设定该工序单次加工时间为3 min,而测试时系统扫描所有机床的时间为2 min,累加计数器的 值清零,分别启动两台机床这个加工工序,此时观察系统的history数据表的内容首先变为表2所示。这是由于从表1提供的表可知CNC程序名为“O1000”的“产品工序序号”是“1”,因此表2中proProcedID字段的值为“1”。由于系统不能自动采集操作工人信息,这里makerID的值设置为默认值“0000”,可使用此软件系统手动输入真正的操作机床的工人编号,而系统扫描时间间隔为2 min,其小于系统单次加工时间3 min,所以第1次扫描到这两台机床时累加计数器的值为0,quantity字段的值也为0,且2除以3取整为0,当前加工数0不大于这个值,因此在图9的下方提示区中没有给出提示信息。
图8 “记录特定机床批量加工某个产品的生产信息”算法
图9 “联网所有机床”功能运行效果
表1 系统产品工序信息数据表proProcedure内容
表2 运行测试1后history数据表内容
继续运行机床,并刷新history数据表的内容,发现随着累加计数器的值依次增加,quantity数据表的内容依次变为1、2、3,此时停止3号机床,独自运行2号机床,直到其累加计数器和quantity字段的值都为6,停止2号机床运行。这是由于在同一工作日,机床的CNC程序没有变化,且累加计数器的数值不断递增,系统判定这是同一次的批量加工,所以表2中记录的quantity字段值由“0”分别变为了“6”和“3”。这一变化表现在表3中。
算法逻辑测试2:在前面测试1的基础上,将两台数控机床加工产品工序的程序名均指定为“O1001”,设定该工序单次加工时间为4 min,而测试时系统扫描所有机床的时间还为2 min,将2号机床的计数器清零,而3号机床不清零,分别启动两台机床,此时观察系统的history数据表的内容首先变为表3所示,在图9的下方的文本区中给出“3号机床没有将前次加工计数器清零”的智能提示,表3中多出了两条分别表示这两台机床批量加工产品信息的记录。这是由于工序名改变,表示机床加工工序改变,系统确定一次新的批量加工开始。从表1可知程序名为“O1001”的“产品工序序号”是“2”,因此表3中新增记录的proProcedID字段值为“2”。由于3号机床计数器值没有清零,所以最初提取的两台机床加工数量分别为0和3,3大于2除以4的整除值0,系统给出3号机床没有将累加器清零的提示。
表3 运行测试2后history数据表内容
继续运行机床,当计数器的值依次增加时,可以观察到history数据表的值也会随之增加。当计数器的值依次变为2和5时停止机床,表3的第3、第4条记录中quantity字段的值也随之变为调整后的值2和5,这一变化反映在表4中。后期可以手动将4号记录的5减去原来计数器值3变为2。
算法逻辑测试3:在前面测试2的基础上,将两台机床的累加计数器的值都清零,重新启动机床,此时观察history数据表,得到表4所示的运行效果,在其中又多出两行表示新的批量加工的记录。由于累加计数器清零,在没有改变运行的CNC程序名和同一天的情况下,以前的加工数量2和5大于当前从计数器提取的加工数值0,系统就判定已经开始了一次新的批量加工,在history数据表中添加了两条新记录表示,其quantity字段最初值就为计数器值0,当计数器值变为1时,停止机床运行,此时数据表中5、6行的quantity字段的内容也随之变为1,这一变化反映在表5中。
表4 运行测试3后history数据表内容
算法逻辑测试4:在前面测试3的基础上,修改计算机的系统时间为后面新的1天,将2号机床加工产品工序的CNC程序名指定为“O1002”,其加工时间设置为1.5 min,小于系统扫描所有机床的时间2 min,3号机床加工产品工序程序名不变。注意这里没有将两台机床的计数器值清零,其值均为1。然后启动两台数控机床。重复多次设置这个测试4的初始运行条件并反复测试。多数测试结果是运行软件系统的图9所示窗口下方文本区会多出两个分别提示2号和3号机床计数器没有清零的提示信息,有时个别只有一个3号机床计数器没有清零的提示信息。而每次观察history数据表会多出两行表示新的批量加工信息的记录。这是由于2号机床的CNC程序名变化确定了一次新的批量加工,而3号机床与以前的批量加工记录不在同一天确定了新批量加工。第1次扫描联网2号机床时,其可能已经完成一次加工任务也可能还没有完成,这要看机床开始加工时的计算机扫描位置,从其累加计数器读取的当前加工数为2或1,这个数可能大于2整除1.5的值,也可能不大于,而且原计数器中的值1也等于2整除1.5的值。而第1次扫描联网3号机床时,其一定没有完成一次加工任务,从其累加器读取的当前加工数为1,这个数大于2整除4的值,一定会有未清零的智能提示。另外从表1可知2号机床程序名为“O1002”的“产品工序序号”是“3”,因此history数据表中其新增2号机床记录的proProcedID字段值为3,3号机床新增记录的此字段值还为“2”。如果每台机床计数器值为3时停止其运行,此时history数据表内容见表5。后期可以手动将表5中7、8号记录的quantity字段的值复查修改。
表5 运行测试4后history数据表内容
算法逻辑测试5:在前面测试5的基础上,2号机床加工产品工序的工序名指定为“O1003”,其加工时间设置为1.5 min,累加器不清零,只启动此2号机床,多次重复这个测试5的初始条件并测试。会发现每次图9所示窗口下方文本区会多出1个提示2号机床计数器没有清零的信息。这是由于原来没有清零计数器的值3大于扫描间隔时间2整除工序单次加工时间1.5,此时一定会有没有清零的提示出现。
算法逻辑测试6:在前面测试5的基础上,将两台机床加工产品工序的工序名指定为“O1007”,再启动机床加工运行,此时系统的如图9所示界面的下方的文本区给出“该工序CNC程序不存在”的提示信息。这是由于从表1可知系统没有工序名为“O1007”的产品工序。
3.3 “企业基本信息和产品批量加工信息综合管理”功能
这里的综合管理是指信息的基本维护、查询和统计。在信息基本维护功能中此系统在技术实现中充分利用数据表的多表关联,避免数据重复输入,这既减少录入信息又避免重复录入引起的错误。
3.3.1 关键技术-复杂数据查询和统计技术
参考文献[14]中的SQL查询相关技术,系统用SQL语言实现了复杂的跨越多表的数据查询和统计处理,下面就以“工人加工产品-工序信息统计”功能的部分语句为例,对其使用方式进行注释说明。
后面的3段代码组合完成了用select语句实现跨多表查询统计功能,第一段是存入变量Sut_SQL的SQL代码,其表示数据表history通过关键字段分别连接makerInfo、cncInfo和proProcedure表联合查询统计history数据表的quantity字段汇总值,这一字段名显示为“加工数量汇总”,并显示作为分类统计依据的各个字段,如:以“制造人姓名”为字段名显示makerInfo数据表的makerName字段值。
Sut_SQL="select m.makerName as 制造人姓名,p.proID as 产品序号,p.procedureName as 工序名,c.cncName as 机床名称,sum(h.quantity) as 加工数量汇总 from history h inner join makerInfo m on h.makerID=m.makerID inner join cncInfo c on h.cncID=c.ID inner join proProcedure p on h.proProcedID=p.ID";
下面是第二段存入变量Static_SQL1的SQL代码,其表示分类统计依据的字段依次是makerInfo数据表的makerName、proProcedure数据表的proID和cncInfo数据表的cncName。
Static_SQL1="group by m.makerName, p.proID,p.procedureName,c.cncName WITH ROLLUP";
下面是第三段存入变量Static_SQL的代码,其假设“where”后面变量StaticValue中存储着由用户界面选择决定的统计条件,用连接符“+”将其与前面赋值的两个变量连接成一个完整的满足指定条件的多表联合的查询统计语句。
Static_SQL=Sut_SQL+"where"+StaticValue+Static_SQL1;
3.3.2 运行测试效果-“信息综合管理功能”系统实现
单击前面图7所示窗口中“列表模式”按钮,则会出现图10所示的以列表形式展示机床基本信息的管理界面。单击前面图7中“添加机床”按钮或这里图10的“添加”按钮都可进入图11所示的添加机床信息窗口。
图10 列表形式的机床信息管理
图11 “添加机床信息”运行窗口
图11展示了“添加机床信息”功能,是系统基本维护功能的示例。当单击“机床型号编码:”旁的下拉组合框时,系统会给出所有机床类型编码和名称的列表供使用者选择,当选择某种类型机床时,该类型机床的操作系统、主轴速度、生产厂家等基本信息会根据“机床型号信息”数据表的内容自动填充,因此这些文本框都设置为只读状态,不允许用户自己添加。
图12展示了在指定的时间段在2号机床批量加工的所有“产品-工序”的制造人、机床、制造时间、产品编号、工序名和加工数量等产品工序的批量加工查询信息。
图13展示了在指定时间段内,对于1号机床,以机床为主序的机床批量加工数量的分类汇总。其说明在设定时间段内这台机床只加工了1号产品,加工的工序有数控车二序、数控车三序和数控车一序其中数控车一序有两个人在这台机床完成,总计为11台,设定时间段内这台机床总计加工零件数为15。
4 结束语
本文所构建的数控机床远程运行监控与信息管理系统从数控企业实际需求出发,改进了将现场批量加工产品的机床、工序、工人、时间和数量信息完整记录的算法,并就算法的逻辑进行了系统测试,说明该算法具有科学性、准确性和实用性。其建立了完整的数据模型,整个系统架构设计科学合理,能部分满足企业根据自身情况定制系统基础数据的要求,系统实现了企业基本数据和生产过程数据的维护、查询和统计等综合功能。考虑到系统信息通信安全和企业目前的主要需求,此系统暂时只实现了远程监测功能而没有涉及远程控制功能,下一步的工作,将考虑利用数控机床系统提供的开放接口中包含的一系列写入机床信息的函数,探索真正实现数控机床的远程控制功能。
图12 “查询工人操作机床批量加工产品信息”运行效果
图13 “统计工人操作机床批量加工产品信息”运行效果