蘇春燕,孟祥懿,崔建輝
(1.天津中德應用技術大學 軟件與通信學院,天津 300350; 2.天津中德應用技術大學 機械工程學院,天津 300350; 3.天津市鑫聯建輝金屬制品有限公司 經理辦公室,天津 301505)
制造業是國民經濟的主體,信息化和工業化兩化融合將帶動制造業發展。信息物理系統(簡稱CPS)被視為支撐兩化融合的綜合技術體系,是一個綜合計算、網絡和物理環境的多維復雜系統。目前基于CPS的智能制造系統已經成為國內外這一領域的研究熱點[1]。而數控機床是制造過程的基本單位,是智能化、信息化制造不可或缺的一部分[2],圍繞CPS技術體系,結合我國數控機床企業的實際需求,探索研究“數控機床的遠程運行監控和信息管理系統開發”變得緊迫和具有現實意義。目前已有不少論文涉及對數控機床基本運行數據的遠程監控系統,本文的技術特點有:
(1)實現數控機床基本運行數據遠程監控,數據的呈現方式有所創新;
(2)研究數控企業需求,建立了符合3個范式的較合理的數據模型,對企業的基礎信息和生產過程信息進行了有效管理;
(3)改進實現數控機床批量加工“產品-工序”時間、數量信息的遠程實時自動記錄,文章詳細探討了其改進實現的算法;
(4)實現數控企業的基本信息和產品批量加工信息的綜合管理,包括數據維護、信息查詢和統計等。
作為科技特派員所去數控企業“天津市鑫聯建輝金屬制品有限公司”有多個數控機床車間,這些機床一般本身帶有網絡接口,或可通過連接外部設備添加網絡接口。企業管理層希望在與計算機聯網數控機床基礎上開發軟件系統,實現在系統平臺遠程監控數控機床的運行狀態;查看不同型號、廠家的機床數量;且自動遠程記錄每個聯網機床批量加工產品的數量和時間,并提供相關信息的查詢和統計。
根據企業引入信息技術改進生產和管理的設想和文獻[3]中介紹的提取問題域中事物方法,確定出系統需處理的事物實體有:機床基本信息、機床加工產品記錄信息、工人信息、產品信息、產品工序信息、系統用戶信息、機床廠家信息、機床類型信息、機床系統類型信息和工人級別信息。
由文獻[4]可知目前數據計算與信息處理方面軟件有瀏覽器/服務器(B/S)和客戶端/服務器(C/S) 兩種架構,基于監控的數控機床往往在企業內部的車間這樣的較小范圍內,負責監控的計算機數量比較有限,且用戶界面要求豐富和容易實現,因此,本文系統采用C/S開發框架,具體使用了這一架構中較成熟系統開發語言Visual C#,配合SQL Server數據庫管理系統開發。這種架構只有在企業內安裝了客戶端程序的計算機才能監控機床運行,運行和數據的安全性較好,軟件更新時需要維護的計算機數量也有限。
結合前一節對企業生產的實際情況和對信息系統需求調研的基礎上,這里介紹的所開發系統包括6個功能模塊,具體有基礎數據設置、機床管理、機床運行監控、加工產品信息管理、工人管理和系統管理。具體功能如圖1所示。其中①所標注功能只有超級用戶有權限使用,即處于可用狀態,而②所標注功能只有對管理用戶處于可用狀態。其它功能對所有級別用戶均有使用權限。
圖1中“基礎數據設置”模塊允許使用的廠家根據實際情況事先定制一些基礎數據,如:設置企業所有機床系統類型、生產廠家以及所有工人級別等信息,這樣在其它 功能窗口的數據輸入部分就可以將某個基礎數據的值綁定到下拉組合框中,方便操作人員選擇使用,此設計使系統更具靈活和開放性。

圖1 系統功能設計結構
由于數控企業有多個數控機床車間,系統需要遠程實時采集、記錄和處理各數控機床加工信息,這就要求系統運行時盡量減少讀寫數據庫數據的延遲時間,因此系統運行平臺的設計是,在每個車間建立車間數據庫服務器,負責存儲本車間的運行數據,并設置企業級系統數據庫主服務器,對整個企業的運行數據進行維護、查詢和統計。這個數據處理的需求參考文獻[5]采用數據復制和分割技術實現,即將工人信息、產品信息、產品工序信息、機床廠家信息、機床類型信息、機床系統類型信息、工人級別信息這些數據表從主數據庫服務器復制到各個車間的數據庫服務器,并定期將主服務器中的這些數據表信息更新復制到各個車間數據庫服務器。將包含機床網址和端口號的“機床基本信息數據表”和“機床加工產品記錄信息數據表”中各個車間的數據記錄分割到車間數據庫服務器,定期用這兩個分割到車間數據庫服務器的數據表的數據更新主服務器中對應數據表的數據。在各個車間和企業級信息管理部門分別安裝、配置系統。整個平臺的網絡分布拓撲結構如圖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.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所示,這里有兩臺顯示圖標為淺色的機床成功聯網。
運行系統的“聯網所有機床”功能時系統循環重復掃描、聯網所有機床,讀取當前聯網機床的“產品-工序”批量加工信息存入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.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。
本文所構建的數控機床遠程運行監控與信息管理系統從數控企業實際需求出發,改進了將現場批量加工產品的機床、工序、工人、時間和數量信息完整記錄的算法,并就算法的邏輯進行了系統測試,說明該算法具有科學性、準確性和實用性。其建立了完整的數據模型,整個系統架構設計科學合理,能部分滿足企業根據自身情況定制系統基礎數據的要求,系統實現了企業基本數據和生產過程數據的維護、查詢和統計等綜合功能。考慮到系統信息通信安全和企業目前的主要需求,此系統暫時只實現了遠程監測功能而沒有涉及遠程控制功能,下一步的工作,將考慮利用數控機床系統提供的開放接口中包含的一系列寫入機床信息的函數,探索真正實現數控機床的遠程控制功能。

圖12 “查詢工人操作機床批量加工產品信息”運行效果

圖13 “統計工人操作機床批量加工產品信息”運行效果