一般來講,機(jī)床的控制環(huán)節(jié)由兩部分組成:一是由CNC控制的刀具運(yùn)動(dòng)軌跡,即位移控制;二是由可編程邏輯控制器(PLC)順序控制的機(jī)床各輔助功能。這些功能主要包括MST代碼的順序動(dòng)作的執(zhí)行、機(jī)床外圍設(shè)備的控制、以及機(jī)床報(bào)警信息的處理等等,其中機(jī)床外圍設(shè)備的控制信息主要是指數(shù)控系統(tǒng)PLC設(shè)備的輸入信息和輸出信息,即I/O信息。IO設(shè)備作為機(jī)床重要的數(shù)據(jù)接口,主要負(fù)責(zé)數(shù)據(jù)的輸入和輸出,是實(shí)現(xiàn)機(jī)床PLC信號(hào)采集和控制指令重要的窗口。
海德漢數(shù)控系統(tǒng)在狀態(tài)信息監(jiān)控表中有專門的輸入和輸出信號(hào)狀態(tài)表,為制造商和最終用戶提供了獲取實(shí)際IO點(diǎn)信息的渠道。每個(gè)具體的IO狀態(tài)信息的獲取,常規(guī)的操作步驟是:首先通過翻閱對(duì)應(yīng)機(jī)床的電氣原理圖,查找到準(zhǔn)確的I點(diǎn)或O點(diǎn);再通過輸入特定密碼進(jìn)入到IO表格中去搜索具體的地址;最后獲取到目標(biāo)點(diǎn)的狀態(tài)信息。整個(gè)操作較為繁瑣,需要熟識(shí)機(jī)床電氣原理圖,并且要求操作人員對(duì)海德漢數(shù)控系統(tǒng)有較高的認(rèn)知技能水平。為了降低查詢操作難度,提升機(jī)床設(shè)備的友好性及服務(wù)效率,通過海德漢數(shù)控系統(tǒng)高度兼容的Python編程語(yǔ)言開發(fā)了可視化的IO狀態(tài)監(jiān)控界面。
海德漢數(shù)控系統(tǒng)IO模塊和狀態(tài)信息查詢
海德漢數(shù)控系統(tǒng)的PL模塊,由PLB620x或PLB610x 基本模塊和I/O模塊組成, I/O模塊又分為數(shù)字量I/O模塊和模擬量I/O模塊,常用的I/O模塊如圖1所示。
圖1 海德漢數(shù)控系統(tǒng)IO模塊硬件
海德漢數(shù)控系統(tǒng)界面中,用戶需要輸入特定密碼后獲得PLC查看權(quán)限,然后在TABLE界面中看到Input界面及Output界面,如圖2、圖3所示。
圖2 海德漢數(shù)控系統(tǒng)Input界面
圖3 海德漢數(shù)控系統(tǒng)Output界面
從機(jī)床標(biāo)準(zhǔn)界面中查詢到具體某個(gè)信號(hào)的狀態(tài)比較復(fù)雜,雖然可以通過光標(biāo)移動(dòng)或者GOTO按鍵跳轉(zhuǎn)到具體搜尋的點(diǎn)位上,但也只能看到該點(diǎn)位的英文備注,不僅不直觀,還需要操作人員具備較高的英語(yǔ)技能及查閱電氣圖紙的能力,給實(shí)際操作、設(shè)備調(diào)試和設(shè)備檢修造成很多不便,耽誤了時(shí)間。
界面設(shè)計(jì)
數(shù)據(jù)可視化這個(gè)理念,主要旨在借助于圖形化手段,清晰有效地傳達(dá)與溝通信息。通過將抽象的數(shù)字信號(hào),轉(zhuǎn)化為形象的圖像信號(hào),能更加直觀地反映圖像背后所傳達(dá)的信息。隨著中國(guó)制造2025的推進(jìn),工業(yè)制造領(lǐng)域?qū)τ跓o紙化裝配、數(shù)據(jù)可視化的要求也越來越高。
為此,我們采取使用海德漢二次開發(fā)的方案,設(shè)計(jì)一個(gè)簡(jiǎn)單易懂的可視化IO狀態(tài)界面。海德漢數(shù)控系統(tǒng)支持Python語(yǔ)言開發(fā)的界面,二次開發(fā)的界面可以嵌入到機(jī)床本身的系統(tǒng)中,通過側(cè)邊欄的按鈕激活界面。
界面設(shè)計(jì)方案
·將0/1 數(shù)字狀態(tài)變成紅燈/綠燈信號(hào)燈狀態(tài),更形象;
·將英文全部改成中文顯示,更易理解;
·可以看到對(duì)應(yīng)IO點(diǎn)位的名稱,減少尋找難度;
·物理地址跟畫面對(duì)應(yīng),更方便排查硬件故障。
在設(shè)計(jì)界面過程中,遵循CRAP四項(xiàng)基本設(shè)計(jì)原理,包括對(duì)比 (Contrast)、重復(fù) (Repetition)、對(duì)齊 (Alignment)、親密 (Proximity),在保證信息交互的高效性的同時(shí),盡可能保留美感。該設(shè)計(jì)原則目前廣泛應(yīng)用于平面排版、網(wǎng)頁(yè)設(shè)計(jì)等,能高效地將信息排列成合理、更易理解的順序,也符合人的正常的閱讀順序和設(shè)計(jì)心理學(xué)。
代碼編寫
由于各個(gè)機(jī)型的IO點(diǎn)排布各不相同,為了確保主程序的完整性,單獨(dú)將各個(gè)機(jī)型的點(diǎn)位排布保存在獨(dú)立的機(jī)型配置文件中,通過python導(dǎo)入庫(kù)的方式加載到程序中。
圖4 IO信號(hào)狀態(tài)各個(gè)數(shù)據(jù)描述
在界面的設(shè)計(jì)上,根據(jù)輸入INPUT及輸出OUTPUT分成3列,再根據(jù)柜內(nèi)SLOT的位置分為不同行的組別。每個(gè)組別又根據(jù)實(shí)際的IO點(diǎn)腳號(hào)排布進(jìn)行分行排列。
為保持信息的高效傳遞,省去相同的提示內(nèi)容,統(tǒng)一放置到頁(yè)面的最底部,僅供提示作用。另一方面,將信號(hào)狀態(tài)的幾種表現(xiàn)狀態(tài)羅列出來,作為提示,當(dāng)IO點(diǎn)信號(hào)出錯(cuò)時(shí)可以快速幫助排查問題所在,可以實(shí)際反映硬件當(dāng)前的電氣連接狀態(tài)及PLC程序中的變量定義狀態(tài)。
圖5 IO監(jiān)控界面
結(jié)束語(yǔ)
數(shù)控機(jī)床實(shí)時(shí)的IO狀態(tài)是反映機(jī)床各功能部件是否正常的重要信息通道,通過界面直觀地觀測(cè)到IO信號(hào),能快速查看機(jī)床的當(dāng)前狀態(tài)、排查機(jī)床存在的問題。通過Python開發(fā)代碼,設(shè)計(jì)可視化界面,能有效提高機(jī)床的人機(jī)交互界面友好性。
從用戶需求出發(fā),以用戶為中心,挖掘用戶的本質(zhì)需求,更多地站在用戶角度去思考設(shè)計(jì),這樣我們的設(shè)計(jì)才能走得更遠(yuǎn)。相比之下,新設(shè)計(jì)的IO界面的優(yōu)勢(shì)一目了然,幫助用戶在操作過程中可以省去查找電氣原理找相應(yīng)點(diǎn)位的問題,查看信號(hào)狀態(tài)變得更加簡(jiǎn)單高效;更重要的是,在遇到緊急情況時(shí)可以為客戶實(shí)現(xiàn)快速搶修,為客戶提供了極大便利。