亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        數(shù)控機(jī)床遠(yuǎn)程運(yùn)行監(jiān)控與信息管理系統(tǒng)開發(fā)

        2021-12-23 04:35:32蘇春燕孟祥懿崔建輝
        計算機(jī)工程與設(shè)計 2021年12期
        關(guān)鍵詞:產(chǎn)品信息系統(tǒng)

        蘇春燕,孟祥懿,崔建輝

        (1.天津中德應(yīng)用技術(shù)大學(xué) 軟件與通信學(xué)院,天津 300350; 2.天津中德應(yīng)用技術(shù)大學(xué) 機(jī)械工程學(xué)院,天津 300350; 3.天津市鑫聯(lián)建輝金屬制品有限公司 經(jīng)理辦公室,天津 301505)

        0 引 言

        制造業(yè)是國民經(jīng)濟(jì)的主體,信息化和工業(yè)化兩化融合將帶動制造業(yè)發(fā)展。信息物理系統(tǒng)(簡稱CPS)被視為支撐兩化融合的綜合技術(shù)體系,是一個綜合計算、網(wǎng)絡(luò)和物理環(huán)境的多維復(fù)雜系統(tǒng)。目前基于CPS的智能制造系統(tǒng)已經(jīng)成為國內(nèi)外這一領(lǐng)域的研究熱點(diǎn)[1]。而數(shù)控機(jī)床是制造過程的基本單位,是智能化、信息化制造不可或缺的一部分[2],圍繞CPS技術(shù)體系,結(jié)合我國數(shù)控機(jī)床企業(yè)的實(shí)際需求,探索研究“數(shù)控機(jī)床的遠(yuǎn)程運(yùn)行監(jiān)控和信息管理系統(tǒng)開發(fā)”變得緊迫和具有現(xiàn)實(shí)意義。目前已有不少論文涉及對數(shù)控機(jī)床基本運(yùn)行數(shù)據(jù)的遠(yuǎn)程監(jiān)控系統(tǒng),本文的技術(shù)特點(diǎn)有:

        (1)實(shí)現(xiàn)數(shù)控機(jī)床基本運(yùn)行數(shù)據(jù)遠(yuǎn)程監(jiān)控,數(shù)據(jù)的呈現(xiàn)方式有所創(chuàng)新;

        (2)研究數(shù)控企業(yè)需求,建立了符合3個范式的較合理的數(shù)據(jù)模型,對企業(yè)的基礎(chǔ)信息和生產(chǎn)過程信息進(jìn)行了有效管理;

        (3)改進(jìn)實(shí)現(xiàn)數(shù)控機(jī)床批量加工“產(chǎn)品-工序”時間、數(shù)量信息的遠(yuǎn)程實(shí)時自動記錄,文章詳細(xì)探討了其改進(jìn)實(shí)現(xiàn)的算法;

        (4)實(shí)現(xiàn)數(shù)控企業(yè)的基本信息和產(chǎn)品批量加工信息的綜合管理,包括數(shù)據(jù)維護(hù)、信息查詢和統(tǒng)計等。

        1 數(shù)控企業(yè)需求分析

        作為科技特派員所去數(shù)控企業(yè)“天津市鑫聯(lián)建輝金屬制品有限公司”有多個數(shù)控機(jī)床車間,這些機(jī)床一般本身帶有網(wǎng)絡(luò)接口,或可通過連接外部設(shè)備添加網(wǎng)絡(luò)接口。企業(yè)管理層希望在與計算機(jī)聯(lián)網(wǎng)數(shù)控機(jī)床基礎(chǔ)上開發(fā)軟件系統(tǒng),實(shí)現(xiàn)在系統(tǒng)平臺遠(yuǎn)程監(jiān)控數(shù)控機(jī)床的運(yùn)行狀態(tài);查看不同型號、廠家的機(jī)床數(shù)量;且自動遠(yuǎn)程記錄每個聯(lián)網(wǎng)機(jī)床批量加工產(chǎn)品的數(shù)量和時間,并提供相關(guān)信息的查詢和統(tǒng)計。

        根據(jù)企業(yè)引入信息技術(shù)改進(jìn)生產(chǎn)和管理的設(shè)想和文獻(xiàn)[3]中介紹的提取問題域中事物方法,確定出系統(tǒng)需處理的事物實(shí)體有:機(jī)床基本信息、機(jī)床加工產(chǎn)品記錄信息、工人信息、產(chǎn)品信息、產(chǎn)品工序信息、系統(tǒng)用戶信息、機(jī)床廠家信息、機(jī)床類型信息、機(jī)床系統(tǒng)類型信息和工人級別信息。

        由文獻(xiàn)[4]可知目前數(shù)據(jù)計算與信息處理方面軟件有瀏覽器/服務(wù)器(B/S)和客戶端/服務(wù)器(C/S) 兩種架構(gòu),基于監(jiān)控的數(shù)控機(jī)床往往在企業(yè)內(nèi)部的車間這樣的較小范圍內(nèi),負(fù)責(zé)監(jiān)控的計算機(jī)數(shù)量比較有限,且用戶界面要求豐富和容易實(shí)現(xiàn),因此,本文系統(tǒng)采用C/S開發(fā)框架,具體使用了這一架構(gòu)中較成熟系統(tǒng)開發(fā)語言Visual C#,配合SQL Server數(shù)據(jù)庫管理系統(tǒng)開發(fā)。這種架構(gòu)只有在企業(yè)內(nèi)安裝了客戶端程序的計算機(jī)才能監(jiān)控機(jī)床運(yùn)行,運(yùn)行和數(shù)據(jù)的安全性較好,軟件更新時需要維護(hù)的計算機(jī)數(shù)量也有限。

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)整體功能結(jié)構(gòu)與運(yùn)行平臺設(shè)計

        結(jié)合前一節(jié)對企業(yè)生產(chǎn)的實(shí)際情況和對信息系統(tǒng)需求調(diào)研的基礎(chǔ)上,這里介紹的所開發(fā)系統(tǒng)包括6個功能模塊,具體有基礎(chǔ)數(shù)據(jù)設(shè)置、機(jī)床管理、機(jī)床運(yùn)行監(jiān)控、加工產(chǎn)品信息管理、工人管理和系統(tǒng)管理。具體功能如圖1所示。其中①所標(biāo)注功能只有超級用戶有權(quán)限使用,即處于可用狀態(tài),而②所標(biāo)注功能只有對管理用戶處于可用狀態(tài)。其它功能對所有級別用戶均有使用權(quán)限。

        圖1中“基礎(chǔ)數(shù)據(jù)設(shè)置”模塊允許使用的廠家根據(jù)實(shí)際情況事先定制一些基礎(chǔ)數(shù)據(jù),如:設(shè)置企業(yè)所有機(jī)床系統(tǒng)類型、生產(chǎn)廠家以及所有工人級別等信息,這樣在其它 功能窗口的數(shù)據(jù)輸入部分就可以將某個基礎(chǔ)數(shù)據(jù)的值綁定到下拉組合框中,方便操作人員選擇使用,此設(shè)計使系統(tǒng)更具靈活和開放性。

        圖1 系統(tǒng)功能設(shè)計結(jié)構(gòu)

        由于數(shù)控企業(yè)有多個數(shù)控機(jī)床車間,系統(tǒng)需要遠(yuǎn)程實(shí)時采集、記錄和處理各數(shù)控機(jī)床加工信息,這就要求系統(tǒng)運(yùn)行時盡量減少讀寫數(shù)據(jù)庫數(shù)據(jù)的延遲時間,因此系統(tǒng)運(yùn)行平臺的設(shè)計是,在每個車間建立車間數(shù)據(jù)庫服務(wù)器,負(fù)責(zé)存儲本車間的運(yùn)行數(shù)據(jù),并設(shè)置企業(yè)級系統(tǒng)數(shù)據(jù)庫主服務(wù)器,對整個企業(yè)的運(yùn)行數(shù)據(jù)進(jìn)行維護(hù)、查詢和統(tǒng)計。這個數(shù)據(jù)處理的需求參考文獻(xiàn)[5]采用數(shù)據(jù)復(fù)制和分割技術(shù)實(shí)現(xiàn),即將工人信息、產(chǎn)品信息、產(chǎn)品工序信息、機(jī)床廠家信息、機(jī)床類型信息、機(jī)床系統(tǒng)類型信息、工人級別信息這些數(shù)據(jù)表從主數(shù)據(jù)庫服務(wù)器復(fù)制到各個車間的數(shù)據(jù)庫服務(wù)器,并定期將主服務(wù)器中的這些數(shù)據(jù)表信息更新復(fù)制到各個車間數(shù)據(jù)庫服務(wù)器。將包含機(jī)床網(wǎng)址和端口號的“機(jī)床基本信息數(shù)據(jù)表”和“機(jī)床加工產(chǎn)品記錄信息數(shù)據(jù)表”中各個車間的數(shù)據(jù)記錄分割到車間數(shù)據(jù)庫服務(wù)器,定期用這兩個分割到車間數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)表的數(shù)據(jù)更新主服務(wù)器中對應(yīng)數(shù)據(jù)表的數(shù)據(jù)。在各個車間和企業(yè)級信息管理部門分別安裝、配置系統(tǒng)。整個平臺的網(wǎng)絡(luò)分布拓?fù)浣Y(jié)構(gòu)如圖2所示。

        圖2 系統(tǒng)網(wǎng)絡(luò)分布拓?fù)浣Y(jié)構(gòu)

        2.2 系統(tǒng)數(shù)據(jù)庫設(shè)計

        本系統(tǒng)使用SQL Server數(shù)據(jù)庫管理系統(tǒng)存儲和處理數(shù)據(jù)。建立符合1-3范式[6]、能存儲企業(yè)基礎(chǔ)生產(chǎn)信息和生產(chǎn)過程信息的合理數(shù)據(jù)模型是文中系統(tǒng)的一個創(chuàng)新點(diǎn)。系統(tǒng)設(shè)計的數(shù)據(jù)表與事物之間的對應(yīng)關(guān)系是:cncInfo-機(jī)床基本信息、history-機(jī)床加工的產(chǎn)品工序記錄信息、makerInfo-工人信息、proInfo-產(chǎn)品信息、proProcedure-產(chǎn)品工序信息、userInfo-系統(tǒng)用戶信息、CNCFactory-機(jī)床廠家信息、machineModel-機(jī)床型號信息、operateType-機(jī)床系統(tǒng)類型信息、popeModel-工人級別信息。

        根據(jù)文獻(xiàn)[7]引用完整性設(shè)置方式,系統(tǒng)通過外鍵建立各個表之間的關(guān)系,并且設(shè)置關(guān)系表的“級聯(lián)”更新和“設(shè)置Null”刪除規(guī)則。此系統(tǒng)的數(shù)據(jù)表及相互關(guān)系如圖3所示。其建立關(guān)系的方式是:表makerInfo的主鍵makerID在其關(guān)聯(lián)表history中作為外鍵makerID;表proProcedure的主鍵ID在其關(guān)聯(lián)表history中作為外鍵proProcedID;表cncInfo的主鍵ID在其關(guān)聯(lián)表history中作為外鍵cncID;表proInfo的主鍵ID在其關(guān)聯(lián)表proProcedure中作為外鍵proID;表machineModel的主鍵machineTypeID在其關(guān)聯(lián)表cncInfo中作為外鍵machineTypeID。

        3 實(shí)現(xiàn)功能創(chuàng)新、其關(guān)鍵技術(shù)及運(yùn)行測試

        3.1 “數(shù)控機(jī)床基本運(yùn)行數(shù)據(jù)遠(yuǎn)程監(jiān)控”功能

        系統(tǒng)實(shí)現(xiàn)了數(shù)控機(jī)床基本運(yùn)行數(shù)據(jù)遠(yuǎn)程監(jiān)控,在各類數(shù)據(jù)呈現(xiàn)方面做了一些創(chuàng)新。下面介紹其實(shí)現(xiàn)的主要關(guān)鍵技術(shù)和運(yùn)行測試效果。

        3.1.1 關(guān)鍵技術(shù)-數(shù)控機(jī)床的聯(lián)網(wǎng)與數(shù)據(jù)讀寫

        由文獻(xiàn)[8]~文獻(xiàn)[11]得到目前已有的數(shù)據(jù)采集方 式主要有PLC采集、宏程序輸出、外加傳感器采集和開放式數(shù)控系統(tǒng)接口采集。其中只有開放式數(shù)控系統(tǒng)接口采集不需要附加硬件設(shè)備,具有能夠?qū)崟r采集多種類型機(jī)床信息、實(shí)現(xiàn)技術(shù)難度低、實(shí)施成本低的優(yōu)點(diǎn)。因此本系統(tǒng)調(diào)用數(shù)控機(jī)床本身提供的開放函數(shù)實(shí)現(xiàn)對數(shù)控機(jī)床的聯(lián)網(wǎng)和數(shù)據(jù)讀取。

        圖3 系統(tǒng)數(shù)據(jù)模式設(shè)計

        以FANUC系統(tǒng)數(shù)控機(jī)床為例,其提供了Focas開發(fā)包,其中豐富的函數(shù)允許PC機(jī)與數(shù)控系統(tǒng)聯(lián)網(wǎng)并實(shí)現(xiàn)數(shù)據(jù)讀寫。這些函數(shù)可以用C++或C#程序調(diào)用。FANUC公司給出了Focas的開放接口函數(shù)的使用說明。如果程序中要使用Focas開發(fā)包提供的函數(shù)訪問數(shù)控機(jī)床,需要將該開發(fā)包提供的一組類庫文檔(如:Fwlib.dll)復(fù)制到項目存放其生成可執(zhí)行文件的文件夾“……/debug”下,并在項目的根目錄中添加其提供的fwlib32.cs文件[12],這個文件給出了Focas1類的定義聲明,其中包含該類用到的符號常量和其它類的定義,以及這個類包含的操作數(shù)控機(jī)床函數(shù)定義的首部,這些函數(shù)通常都定義為靜態(tài)、公有的,可以通過類名直接調(diào)用。

        如下面這段代碼是用Focas1類提供的函數(shù)連接指定網(wǎng)址和端口機(jī)床的程序段。

        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)

        …… // 顯示聯(lián)網(wǎng)成功

        else

        …… // 顯示聯(lián)網(wǎng)失敗

        上面程序段中首先調(diào)用了Focas1類的cnc_allclibhndl3()函數(shù)來實(shí)現(xiàn)與數(shù)控機(jī)床連接,返回值存入ret變量。函數(shù)第1個參數(shù)是從文本框txtIp中讀取的機(jī)床IP地址,并轉(zhuǎn)化為字符串類型,第2個參數(shù)是從文本框txtPort讀取的機(jī)床端口號,并轉(zhuǎn)化為整數(shù)類型,第3個參數(shù)是從文本框txtTimeOut讀取的延遲時間,并轉(zhuǎn)化為整數(shù)類型,第4個參數(shù)是帶回的表示此機(jī)床連接的庫句柄變量Flibhndl,此變量定義在項目CncComCtrlProd的moduleClass文件夾的MyModule類中,并設(shè)為公有、靜態(tài)類型變量,因此可以直接通過類名調(diào)用。如果函數(shù)返回變量ret等于Focas1.EW_OK,則表示這個連接操作成功,否則表示失敗。

        而語句“ret=Focas1.cnc_freelibhndl(CncComCtrlProd.moduleClass.MyModule.Flibhndl);”表示斷開前面建立的 操作庫函數(shù)的句柄為CncComCtrlProd.moduleClass.MyModule.

        Flibhndl的連接,返回值賦給變量ret,同樣如果ret等于Focas1.EW_OK,表示斷開連接操作成功。

        3.1.2 運(yùn)行測試效果-基本運(yùn)行數(shù)據(jù)遠(yuǎn)程監(jiān)控

        圖4顯示了“機(jī)床選擇與聯(lián)網(wǎng)”功能的系統(tǒng)運(yùn)行測試效果,可以手動在文本框輸入機(jī)床IP地址等,也可以從下方的信息列表中雙擊某個機(jī)床信息,其IP地址和端口號等信息則自動寫入上方對應(yīng)文本框中,然后單擊“連接”按鈕,就實(shí)現(xiàn)與指定機(jī)床的連接,并用消息框顯示連接是否成功。

        圖4 “特定機(jī)床聯(lián)網(wǎng)”運(yùn)行效果

        圖5顯示了“機(jī)床使用與報警情況”功能的系統(tǒng)運(yùn)行測試效果,其展示了遠(yuǎn)程監(jiān)測所聯(lián)網(wǎng)的特定機(jī)床的使用數(shù)據(jù)。而“機(jī)床坐標(biāo)與運(yùn)行監(jiān)測”功能則能顯示機(jī)床的運(yùn)行狀態(tài)、坐標(biāo)、主軸轉(zhuǎn)速和單次加工時間等信息。

        圖5 “機(jī)床使用與報警情況”運(yùn)行效果

        圖6是“所有機(jī)床基本加工運(yùn)行情況瀏覽”的運(yùn)行測試效果,其以列表形式展示了聯(lián)網(wǎng)的所有遠(yuǎn)程機(jī)床的IP地址、當(dāng)前加工零件的程序名-程序段和已加工數(shù)量等信息。

        圖6 “所有機(jī)床基本加工運(yùn)行情況瀏覽”運(yùn)行效果

        當(dāng)在“機(jī)床信息管理與連通顯示”窗口單擊“顯示機(jī)床狀態(tài)”按鈕時,其變?yōu)椤巴V範(fàn)顟B(tài)掃描”,同時掃描、試聯(lián)網(wǎng)所有機(jī)床基本信息表中的機(jī)床,以不同的圖標(biāo)顯示其是否成功聯(lián)網(wǎng)。效果如圖7所示,這里有兩臺顯示圖標(biāo)為淺色的機(jī)床成功聯(lián)網(wǎng)。

        3.2 “遠(yuǎn)程實(shí)時自動記錄所有機(jī)床批量加工產(chǎn)品相關(guān)信息” 功能

        運(yùn)行系統(tǒng)的“聯(lián)網(wǎng)所有機(jī)床”功能時系統(tǒng)循環(huán)重復(fù)掃描、聯(lián)網(wǎng)所有機(jī)床,讀取當(dāng)前聯(lián)網(wǎng)機(jī)床的“產(chǎn)品-工序”批量加工信息存入history數(shù)據(jù)表,直到人為選擇停止這一功能。對于這些信息通過遠(yuǎn)程聯(lián)網(wǎng)的準(zhǔn)確提取和記錄是本系統(tǒng)的一個創(chuàng)新點(diǎn)。

        3.2.1 關(guān)鍵技術(shù)-“自動記錄機(jī)床批量加工‘產(chǎn)品-工序’信息”改進(jìn)算法

        系統(tǒng)此功能的整體設(shè)計思路是建立一個獨(dú)立的線程,在其中實(shí)現(xiàn)依據(jù)數(shù)控機(jī)床數(shù)據(jù)表中記錄的機(jī)床IP地址和端口循環(huán)掃描聯(lián)網(wǎng)每個數(shù)控機(jī)床,再將聯(lián)網(wǎng)機(jī)床的批量加工信息存入數(shù)據(jù)表。線程的建立方式在程序設(shè)計中已經(jīng)成熟,聯(lián)網(wǎng)機(jī)床技術(shù)在前一節(jié)中已經(jīng)介紹,而數(shù)據(jù)表的設(shè)計在前面系統(tǒng)數(shù)據(jù)模式中也已經(jīng)介紹。因此這里只解釋根據(jù)數(shù)控機(jī)床加工產(chǎn)品的特點(diǎn),確定并保存特定機(jī)床批量加工“產(chǎn)品-工序”信息的改進(jìn)算法。項目初期我們已對這個算法進(jìn)行研究和實(shí)現(xiàn),這里又進(jìn)行了更精確改進(jìn)研究和建模。

        圖7 “顯示機(jī)床連接狀態(tài)”運(yùn)行效果

        機(jī)床加工的產(chǎn)品常通過多道工序完成,數(shù)控機(jī)床的一個CNC程序負(fù)責(zé)一道工序。由于數(shù)控加工的工序相對集中[13],即數(shù)控機(jī)床上產(chǎn)品(工件)一次裝夾所完成的工序中,可加工完成鉆、擴(kuò)、絞和銑等這些普通機(jī)床的多道工序,所以這里說的工序可能包括普通機(jī)床的多道工序。數(shù)控機(jī)床每運(yùn)行一次CNC程序即可完成產(chǎn)品某道工序的加工,這里的加工產(chǎn)品數(shù)是指產(chǎn)品的某個工序完成的加工數(shù)量。機(jī)床通常是讓某個工序?qū)?yīng)的CNC程序重復(fù)運(yùn)行,來完成此“產(chǎn)品-工序”的批量加工。每個數(shù)控機(jī)床都有一個累加計數(shù)器,記錄該機(jī)床加工“產(chǎn)品-工序”累計數(shù)量。這里開發(fā)的系統(tǒng)假設(shè)的工作流程是一個人在一個工作日內(nèi)的一臺機(jī)床完成一批“產(chǎn)品-工序”的加工任務(wù)后記錄下在這個機(jī)床已批量加工此“產(chǎn)品-工序”數(shù)量,然后將累加計數(shù)器人為清零為下一次批量加工的計數(shù)做準(zhǔn)備。即當(dāng)變更了工作機(jī)床、操作人員、工作日或加工“產(chǎn)品-工序”編號(即CNC程序)時,就確定開始了一次新的批量加工。系統(tǒng)被設(shè)計成能自動采集保存某次批量加工產(chǎn)品的機(jī)床號、產(chǎn)品-工序編號、時間和累加計數(shù)器的數(shù)量等信息,這些“機(jī)床批量加工產(chǎn)品-工序”的相關(guān)信息被自動保存在“產(chǎn)品工序生產(chǎn)記錄信息表”history數(shù)據(jù)表,此表中還設(shè)置了批量加工產(chǎn)品的工人編號(makerID)字段,其需要在“工人操作機(jī)床加工產(chǎn)品記錄信息管理”功能中手工輸入。

        算法還提供了智能判斷和提示機(jī)床新的批量加工前計數(shù)器未清零的情況,在項目初期的算法實(shí)現(xiàn)中,考慮到服務(wù)企業(yè)是將加工工件手工裝夾,時間較長,而每個工序單次加工時間也多于2 min~3 min,因此,假設(shè)系統(tǒng)每掃描一遍所有機(jī)床的時間小于機(jī)床任意工序的裝夾與單次加工處理時間之和,在記錄開始一次新的批量時以“當(dāng)前加工數(shù)>0”作為提示沒有將計數(shù)器清零的條件。但是考慮到將來有可能實(shí)現(xiàn)機(jī)械手的自動裝夾,使裝夾時間大大減少,且有些工序時間較短,因此工序的每次裝夾時間和單次加工處理時間之和可能小于系統(tǒng)的每掃描一遍所有機(jī)床的時間,因此為了提高系統(tǒng)對未來變化的適應(yīng)能力,這個改進(jìn)算法的設(shè)計是讀取、計算每臺機(jī)床兩次掃描的時間間隔disTime和機(jī)床工序的單次加工時間proTime,在記錄開始一次新的批量時以“當(dāng)前加工數(shù)>disTime/proTime”作為提示沒有將計數(shù)器清零的條件,在提示中進(jìn)一步給出此機(jī)床號、CNC程序名、可能的多出加工量和批量加工初始時間。當(dāng)disTime≥proTime且計數(shù)器的原計數(shù)值≤disTime/proTime時可能會出現(xiàn)智能提示失效或提示的多出加工量出現(xiàn)誤差。這個誤差的上線是disTime/proTime,這取決于機(jī)床開始加工時系統(tǒng)的掃描位置。但這個誤差會在極個別情況下出現(xiàn),且很少在裝夾時間加上單次加工時間小于掃描間隔時間的情況。

        另外此提示正確實(shí)現(xiàn)的前提是在所有機(jī)床工作前系統(tǒng)已經(jīng)啟動并開始掃描機(jī)床。系統(tǒng)還允許根據(jù)實(shí)際機(jī)床加工情況對這些數(shù)據(jù)進(jìn)行修改、插入等管理。這些信息也可以用于查詢、統(tǒng)計機(jī)床的使用情況,并為統(tǒng)計工人工作量提供了參考數(shù)據(jù)。

        對于記錄一臺機(jī)床在一個時間段內(nèi)、批量加工某產(chǎn)品工序的加工數(shù)此改進(jìn)算法的實(shí)現(xiàn)邏輯比較復(fù)雜,這里用圖8的流程說明。該圖的算法大致流程是:當(dāng)“產(chǎn)品工序信息表(proProcedure)”中不存在“當(dāng)前CNC工序名”,顯示“CNC程序不存在”錯誤提示并結(jié)束這個處理,否則繼續(xù)。讀取此產(chǎn)品-工序的編號(IP)和工序名(procedureName)分別存入變量proProcedID和procedureName,讀取history表記錄個數(shù)存入變量hisID,從history表讀取當(dāng)前機(jī)床的最后一個批量加工記錄時間,如果沒有此機(jī)床的加工記錄,則智能判斷累加計數(shù)器是否清零后,在history表添加新的加工記錄并結(jié)束這個處理,否則繼續(xù),從是否是同已CNC程序、是否是同一天和以前的加工數(shù)是否大于當(dāng)前讀取的加工數(shù)等條件判定是否是同一批次的加工,以決定是添加新的批量加工記錄,還是修改history表中對應(yīng)記錄的加工數(shù)量。

        3.2.2 運(yùn)行測試效果-“自動記錄所有聯(lián)網(wǎng)機(jī)床批量加工產(chǎn)品信息”系統(tǒng)實(shí)現(xiàn)

        選擇系統(tǒng)的“聯(lián)網(wǎng)所有機(jī)床”功能,此時系統(tǒng)以圖9所示的列表形式顯示所有聯(lián)網(wǎng)機(jī)床的基本信息,窗口下方的文本區(qū)可顯示新的批量加工時計數(shù)器未清零的智能提示或機(jī)床CNC程序信息不存在等信息。列表的具體內(nèi)容會隨著每次循環(huán)掃描機(jī)床聯(lián)網(wǎng)狀況而變化,另外,機(jī)床批量加工產(chǎn)品-工序信息會被存入history數(shù)據(jù)表,后面是這一測試結(jié)果。而當(dāng)單擊此圖窗口中的“停止掃描聯(lián)網(wǎng)所有機(jī)床”按鈕,即可停止這一循環(huán)掃描。

        假設(shè)這一功能的測試前,系統(tǒng)中“產(chǎn)品工序信息數(shù)據(jù)表proProcedure”的具體內(nèi)容見表1,而history數(shù)據(jù)表的記錄為空。

        這一算法邏輯功能的測試環(huán)境是“機(jī)床基本信息數(shù)據(jù)表cncInfo”所列機(jī)床中只有編號為2和3的兩臺機(jī)床處于開機(jī)聯(lián)網(wǎng)狀態(tài),運(yùn)行此系統(tǒng)并選擇“聯(lián)網(wǎng)所有機(jī)床”功能。

        算法邏輯測試1:將兩臺數(shù)控機(jī)床加工產(chǎn)品工序的程序名均指定為“O1000”,設(shè)定該工序單次加工時間為3 min,而測試時系統(tǒng)掃描所有機(jī)床的時間為2 min,累加計數(shù)器的 值清零,分別啟動兩臺機(jī)床這個加工工序,此時觀察系統(tǒng)的history數(shù)據(jù)表的內(nèi)容首先變?yōu)楸?所示。這是由于從表1提供的表可知CNC程序名為“O1000”的“產(chǎn)品工序序號”是“1”,因此表2中proProcedID字段的值為“1”。由于系統(tǒng)不能自動采集操作工人信息,這里makerID的值設(shè)置為默認(rèn)值“0000”,可使用此軟件系統(tǒng)手動輸入真正的操作機(jī)床的工人編號,而系統(tǒng)掃描時間間隔為2 min,其小于系統(tǒng)單次加工時間3 min,所以第1次掃描到這兩臺機(jī)床時累加計數(shù)器的值為0,quantity字段的值也為0,且2除以3取整為0,當(dāng)前加工數(shù)0不大于這個值,因此在圖9的下方提示區(qū)中沒有給出提示信息。

        圖8 “記錄特定機(jī)床批量加工某個產(chǎn)品的生產(chǎn)信息”算法

        圖9 “聯(lián)網(wǎng)所有機(jī)床”功能運(yùn)行效果

        表1 系統(tǒng)產(chǎn)品工序信息數(shù)據(jù)表proProcedure內(nèi)容

        表2 運(yùn)行測試1后history數(shù)據(jù)表內(nèi)容

        繼續(xù)運(yùn)行機(jī)床,并刷新history數(shù)據(jù)表的內(nèi)容,發(fā)現(xiàn)隨著累加計數(shù)器的值依次增加,quantity數(shù)據(jù)表的內(nèi)容依次變?yōu)?、2、3,此時停止3號機(jī)床,獨(dú)自運(yùn)行2號機(jī)床,直到其累加計數(shù)器和quantity字段的值都為6,停止2號機(jī)床運(yùn)行。這是由于在同一工作日,機(jī)床的CNC程序沒有變化,且累加計數(shù)器的數(shù)值不斷遞增,系統(tǒng)判定這是同一次的批量加工,所以表2中記錄的quantity字段值由“0”分別變?yōu)榱恕?”和“3”。這一變化表現(xiàn)在表3中。

        算法邏輯測試2:在前面測試1的基礎(chǔ)上,將兩臺數(shù)控機(jī)床加工產(chǎn)品工序的程序名均指定為“O1001”,設(shè)定該工序單次加工時間為4 min,而測試時系統(tǒng)掃描所有機(jī)床的時間還為2 min,將2號機(jī)床的計數(shù)器清零,而3號機(jī)床不清零,分別啟動兩臺機(jī)床,此時觀察系統(tǒng)的history數(shù)據(jù)表的內(nèi)容首先變?yōu)楸?所示,在圖9的下方的文本區(qū)中給出“3號機(jī)床沒有將前次加工計數(shù)器清零”的智能提示,表3中多出了兩條分別表示這兩臺機(jī)床批量加工產(chǎn)品信息的記錄。這是由于工序名改變,表示機(jī)床加工工序改變,系統(tǒng)確定一次新的批量加工開始。從表1可知程序名為“O1001”的“產(chǎn)品工序序號”是“2”,因此表3中新增記錄的proProcedID字段值為“2”。由于3號機(jī)床計數(shù)器值沒有清零,所以最初提取的兩臺機(jī)床加工數(shù)量分別為0和3,3大于2除以4的整除值0,系統(tǒng)給出3號機(jī)床沒有將累加器清零的提示。

        表3 運(yùn)行測試2后history數(shù)據(jù)表內(nèi)容

        繼續(xù)運(yùn)行機(jī)床,當(dāng)計數(shù)器的值依次增加時,可以觀察到history數(shù)據(jù)表的值也會隨之增加。當(dāng)計數(shù)器的值依次變?yōu)?和5時停止機(jī)床,表3的第3、第4條記錄中quantity字段的值也隨之變?yōu)檎{(diào)整后的值2和5,這一變化反映在表4中。后期可以手動將4號記錄的5減去原來計數(shù)器值3變?yōu)?。

        算法邏輯測試3:在前面測試2的基礎(chǔ)上,將兩臺機(jī)床的累加計數(shù)器的值都清零,重新啟動機(jī)床,此時觀察history數(shù)據(jù)表,得到表4所示的運(yùn)行效果,在其中又多出兩行表示新的批量加工的記錄。由于累加計數(shù)器清零,在沒有改變運(yùn)行的CNC程序名和同一天的情況下,以前的加工數(shù)量2和5大于當(dāng)前從計數(shù)器提取的加工數(shù)值0,系統(tǒng)就判定已經(jīng)開始了一次新的批量加工,在history數(shù)據(jù)表中添加了兩條新記錄表示,其quantity字段最初值就為計數(shù)器值0,當(dāng)計數(shù)器值變?yōu)?時,停止機(jī)床運(yùn)行,此時數(shù)據(jù)表中5、6行的quantity字段的內(nèi)容也隨之變?yōu)?,這一變化反映在表5中。

        表4 運(yùn)行測試3后history數(shù)據(jù)表內(nèi)容

        算法邏輯測試4:在前面測試3的基礎(chǔ)上,修改計算機(jī)的系統(tǒng)時間為后面新的1天,將2號機(jī)床加工產(chǎn)品工序的CNC程序名指定為“O1002”,其加工時間設(shè)置為1.5 min,小于系統(tǒng)掃描所有機(jī)床的時間2 min,3號機(jī)床加工產(chǎn)品工序程序名不變。注意這里沒有將兩臺機(jī)床的計數(shù)器值清零,其值均為1。然后啟動兩臺數(shù)控機(jī)床。重復(fù)多次設(shè)置這個測試4的初始運(yùn)行條件并反復(fù)測試。多數(shù)測試結(jié)果是運(yùn)行軟件系統(tǒng)的圖9所示窗口下方文本區(qū)會多出兩個分別提示2號和3號機(jī)床計數(shù)器沒有清零的提示信息,有時個別只有一個3號機(jī)床計數(shù)器沒有清零的提示信息。而每次觀察history數(shù)據(jù)表會多出兩行表示新的批量加工信息的記錄。這是由于2號機(jī)床的CNC程序名變化確定了一次新的批量加工,而3號機(jī)床與以前的批量加工記錄不在同一天確定了新批量加工。第1次掃描聯(lián)網(wǎng)2號機(jī)床時,其可能已經(jīng)完成一次加工任務(wù)也可能還沒有完成,這要看機(jī)床開始加工時的計算機(jī)掃描位置,從其累加計數(shù)器讀取的當(dāng)前加工數(shù)為2或1,這個數(shù)可能大于2整除1.5的值,也可能不大于,而且原計數(shù)器中的值1也等于2整除1.5的值。而第1次掃描聯(lián)網(wǎng)3號機(jī)床時,其一定沒有完成一次加工任務(wù),從其累加器讀取的當(dāng)前加工數(shù)為1,這個數(shù)大于2整除4的值,一定會有未清零的智能提示。另外從表1可知2號機(jī)床程序名為“O1002”的“產(chǎn)品工序序號”是“3”,因此history數(shù)據(jù)表中其新增2號機(jī)床記錄的proProcedID字段值為3,3號機(jī)床新增記錄的此字段值還為“2”。如果每臺機(jī)床計數(shù)器值為3時停止其運(yùn)行,此時history數(shù)據(jù)表內(nèi)容見表5。后期可以手動將表5中7、8號記錄的quantity字段的值復(fù)查修改。

        表5 運(yùn)行測試4后history數(shù)據(jù)表內(nèi)容

        算法邏輯測試5:在前面測試5的基礎(chǔ)上,2號機(jī)床加工產(chǎn)品工序的工序名指定為“O1003”,其加工時間設(shè)置為1.5 min,累加器不清零,只啟動此2號機(jī)床,多次重復(fù)這個測試5的初始條件并測試。會發(fā)現(xiàn)每次圖9所示窗口下方文本區(qū)會多出1個提示2號機(jī)床計數(shù)器沒有清零的信息。這是由于原來沒有清零計數(shù)器的值3大于掃描間隔時間2整除工序單次加工時間1.5,此時一定會有沒有清零的提示出現(xiàn)。

        算法邏輯測試6:在前面測試5的基礎(chǔ)上,將兩臺機(jī)床加工產(chǎn)品工序的工序名指定為“O1007”,再啟動機(jī)床加工運(yùn)行,此時系統(tǒng)的如圖9所示界面的下方的文本區(qū)給出“該工序CNC程序不存在”的提示信息。這是由于從表1可知系統(tǒng)沒有工序名為“O1007”的產(chǎn)品工序。

        3.3 “企業(yè)基本信息和產(chǎn)品批量加工信息綜合管理”功能

        這里的綜合管理是指信息的基本維護(hù)、查詢和統(tǒng)計。在信息基本維護(hù)功能中此系統(tǒng)在技術(shù)實(shí)現(xiàn)中充分利用數(shù)據(jù)表的多表關(guān)聯(lián),避免數(shù)據(jù)重復(fù)輸入,這既減少錄入信息又避免重復(fù)錄入引起的錯誤。

        3.3.1 關(guān)鍵技術(shù)-復(fù)雜數(shù)據(jù)查詢和統(tǒng)計技術(shù)

        參考文獻(xiàn)[14]中的SQL查詢相關(guān)技術(shù),系統(tǒng)用SQL語言實(shí)現(xiàn)了復(fù)雜的跨越多表的數(shù)據(jù)查詢和統(tǒng)計處理,下面就以“工人加工產(chǎn)品-工序信息統(tǒng)計”功能的部分語句為例,對其使用方式進(jìn)行注釋說明。

        后面的3段代碼組合完成了用select語句實(shí)現(xiàn)跨多表查詢統(tǒng)計功能,第一段是存入變量Sut_SQL的SQL代碼,其表示數(shù)據(jù)表history通過關(guān)鍵字段分別連接makerInfo、cncInfo和proProcedure表聯(lián)合查詢統(tǒng)計history數(shù)據(jù)表的quantity字段匯總值,這一字段名顯示為“加工數(shù)量匯總”,并顯示作為分類統(tǒng)計依據(jù)的各個字段,如:以“制造人姓名”為字段名顯示makerInfo數(shù)據(jù)表的makerName字段值。

        Sut_SQL="select m.makerName as 制造人姓名,p.proID as 產(chǎn)品序號,p.procedureName as 工序名,c.cncName as 機(jī)床名稱,sum(h.quantity) as 加工數(shù)量匯總 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代碼,其表示分類統(tǒng)計依據(jù)的字段依次是makerInfo數(shù)據(jù)表的makerName、proProcedure數(shù)據(jù)表的proID和cncInfo數(shù)據(jù)表的cncName。

        Static_SQL1="group by m.makerName, p.proID,p.procedureName,c.cncName WITH ROLLUP";

        下面是第三段存入變量Static_SQL的代碼,其假設(shè)“where”后面變量StaticValue中存儲著由用戶界面選擇決定的統(tǒng)計條件,用連接符“+”將其與前面賦值的兩個變量連接成一個完整的滿足指定條件的多表聯(lián)合的查詢統(tǒng)計語句。

        Static_SQL=Sut_SQL+"where"+StaticValue+Static_SQL1;

        3.3.2 運(yùn)行測試效果-“信息綜合管理功能”系統(tǒng)實(shí)現(xiàn)

        單擊前面圖7所示窗口中“列表模式”按鈕,則會出現(xiàn)圖10所示的以列表形式展示機(jī)床基本信息的管理界面。單擊前面圖7中“添加機(jī)床”按鈕或這里圖10的“添加”按鈕都可進(jìn)入圖11所示的添加機(jī)床信息窗口。

        圖10 列表形式的機(jī)床信息管理

        圖11 “添加機(jī)床信息”運(yùn)行窗口

        圖11展示了“添加機(jī)床信息”功能,是系統(tǒng)基本維護(hù)功能的示例。當(dāng)單擊“機(jī)床型號編碼:”旁的下拉組合框時,系統(tǒng)會給出所有機(jī)床類型編碼和名稱的列表供使用者選擇,當(dāng)選擇某種類型機(jī)床時,該類型機(jī)床的操作系統(tǒng)、主軸速度、生產(chǎn)廠家等基本信息會根據(jù)“機(jī)床型號信息”數(shù)據(jù)表的內(nèi)容自動填充,因此這些文本框都設(shè)置為只讀狀態(tài),不允許用戶自己添加。

        圖12展示了在指定的時間段在2號機(jī)床批量加工的所有“產(chǎn)品-工序”的制造人、機(jī)床、制造時間、產(chǎn)品編號、工序名和加工數(shù)量等產(chǎn)品工序的批量加工查詢信息。

        圖13展示了在指定時間段內(nèi),對于1號機(jī)床,以機(jī)床為主序的機(jī)床批量加工數(shù)量的分類匯總。其說明在設(shè)定時間段內(nèi)這臺機(jī)床只加工了1號產(chǎn)品,加工的工序有數(shù)控車二序、數(shù)控車三序和數(shù)控車一序其中數(shù)控車一序有兩個人在這臺機(jī)床完成,總計為11臺,設(shè)定時間段內(nèi)這臺機(jī)床總計加工零件數(shù)為15。

        4 結(jié)束語

        本文所構(gòu)建的數(shù)控機(jī)床遠(yuǎn)程運(yùn)行監(jiān)控與信息管理系統(tǒng)從數(shù)控企業(yè)實(shí)際需求出發(fā),改進(jìn)了將現(xiàn)場批量加工產(chǎn)品的機(jī)床、工序、工人、時間和數(shù)量信息完整記錄的算法,并就算法的邏輯進(jìn)行了系統(tǒng)測試,說明該算法具有科學(xué)性、準(zhǔn)確性和實(shí)用性。其建立了完整的數(shù)據(jù)模型,整個系統(tǒng)架構(gòu)設(shè)計科學(xué)合理,能部分滿足企業(yè)根據(jù)自身情況定制系統(tǒng)基礎(chǔ)數(shù)據(jù)的要求,系統(tǒng)實(shí)現(xiàn)了企業(yè)基本數(shù)據(jù)和生產(chǎn)過程數(shù)據(jù)的維護(hù)、查詢和統(tǒng)計等綜合功能。考慮到系統(tǒng)信息通信安全和企業(yè)目前的主要需求,此系統(tǒng)暫時只實(shí)現(xiàn)了遠(yuǎn)程監(jiān)測功能而沒有涉及遠(yuǎn)程控制功能,下一步的工作,將考慮利用數(shù)控機(jī)床系統(tǒng)提供的開放接口中包含的一系列寫入機(jī)床信息的函數(shù),探索真正實(shí)現(xiàn)數(shù)控機(jī)床的遠(yuǎn)程控制功能。

        圖12 “查詢工人操作機(jī)床批量加工產(chǎn)品信息”運(yùn)行效果

        圖13 “統(tǒng)計工人操作機(jī)床批量加工產(chǎn)品信息”運(yùn)行效果

        猜你喜歡
        產(chǎn)品信息系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        2015產(chǎn)品LOOKBOOK直擊
        Coco薇(2015年1期)2015-08-13 02:23:50
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        新產(chǎn)品
        玩具(2009年10期)2009-11-04 02:33:14
        產(chǎn)品
        個人電腦(2009年9期)2009-09-14 03:18:46
        下一個酷產(chǎn)品是什么
        舒適廣告(2008年9期)2008-09-22 10:02:48
        国产精品久久久久久久免费看| 国产精品一区二区久久精品蜜臀| 亚洲国产精品第一区二区三区 | 无遮挡很爽视频在线观看| 久久精品亚洲国产成人av| 国产三级不卡在线观看视频| 欧美xxxx新一区二区三区| av无码特黄一级| 日韩人妻中文字幕一区二区| 国产在线观看网址不卡一区| 亚洲一区二区三区精品久久| 精品亚洲av一区二区| 亚洲成人精品久久久国产精品| 老鲁夜夜老鲁| 又黄又硬又湿又刺激视频免费| 久久精品国产亚洲av高清热| 内射爽无广熟女亚洲| 日本午夜精品理论片A级APP发布| 五月婷婷激情六月| 国产午夜精品av一区二区三| 日韩精品一区二区免费| 性高朝久久久久久久3小时| 国产md视频一区二区三区| 99偷拍视频精品一区二区| 性激烈的欧美三级视频| 亚洲av永久无码一区| 亚洲爱婷婷色婷婷五月| 欧美一区二区午夜福利在线yw | 久久久亚洲精品蜜臀av| 日本视频在线观看一区二区| 人妻中文字幕在线网站| 久久精品国产网红主播| 亚洲av色福利天堂| 国产丝袜在线精品丝袜不卡| 国产精在线| 国产毛片三区二区一区| 91九色播放在线观看| 九九影院理论片私人影院| 久久久久香蕉国产线看观看伊| 精品人妻少妇一区二区不卡| 精品久久久久88久久久|