高慶云 張中明
摘 要: 為防止機床主軸長時間在高溫情況下運行,以配置有華中HNC-818D數控系統的加工中心為例,設計了機床主軸溫度預警系統,利用PT100熱電阻感測主軸溫度,通過采集卡和NCUC總線傳送到數控系統的G寄存器內,PLC讀取實測溫度數據后作出判斷,確定是否需要進行屏幕報警。由于數控系統不能大量保存數據,所以借助有線網絡通信將G代碼行號與主軸溫度共同上傳到PC,實現溫度與指令域的匹配保存,方便后續對數據價值的開發利用。
關鍵詞: 數控系統; 主軸溫度; 可編程控制器; 數據采集
中圖分類號: TG 502 文獻標志碼: A 文章編號: 1671-2153(2018)05-0097-04
0 引 言
數控機床在加工過程中,由于摩擦和負載阻力的存在,會使得各運動部件發熱。對于加工中心而言,主軸的溫度升高較為明顯,特別是在高速或重切削情況下尤甚。因為熱脹冷縮,溫升會引起相關部件變形,致使主軸旋轉中心位置偏移,降低加工精度。當溫升過高時,內部軸承的間隙被改變,潤滑條件被破壞,磨損加速,導致主軸的使用壽命縮短[1]。所以,當主軸溫度持續超過某一定值時應當產生報警,以便提示操作人員采取適當措施,避免主軸長時間處在高溫運行狀態。
1 系統整體設計
HNC-818D 數控系統提供二次開發接口,方便用戶根據實際需要增加新的功能。圖1為主軸溫度預警系統框圖[2]。圖1中,選用三線制PT100端面熱電阻感測主軸前軸承、后軸承的溫度,無需溫度變送模塊,可直接接入HIO-1075溫度采集卡(低電平有效,最多可接入6個PT100),HIO-1075溫度采集卡插在底板上,通過NCUC總線將溫度值傳送到數控系統的X寄存器內,再利用PLC實現溫度報警。在PC上開發通信程序,經過網絡接口讀取溫度數據并保存。
2 溫度采集程序設計
2.1 看門狗設置
HNC-818D 數控系統配置的I/O單元及各類采集卡上都有指示燈顯現通信狀況,若指示燈常亮則表示通信正常,若指示燈閃爍則意味著通信不暢。每次根據使用情況重新配置I/O單元和數據采集卡之后,該指示燈會閃爍,則必須重新設置看門狗,以確定系統內部映射的X、Y寄存器地址與物理I/O單元保持對應關系。
主軸溫度預警系統配置的I/O單元、采集卡示意圖,如圖2所示。每個HIO-1031單元占用4個字節的X寄存器、2個字節的Y寄存器;HIO-1073 模數/數模轉換卡有4路模數輸入,每路占用2個字節的X寄存器;HIO-1075溫度采集卡共6路輸入,每路占用2個字節的X寄存器;則實際占用X寄存器數目為4+4+4+2×4+2×6=32 Bytes。因為HNC-818D 數控系統默認10個字節容量的I/O點為一組,所以,向大數值方向取10的整數倍,即40個字節的X寄存器容量,I/O單元和采集卡共占用X寄存器的地址范圍為X0-X39。在PLC程序的初始化程序結束指令iEND之后,添加數據傳送指令MOV,將X39所有數據傳送到Y39,設置看門狗,若在梯形圖程序監控界面看到所有的X39數據能夠實時傳送到Y39之內,則說明看門狗設置成功,數控系統與I/O單元、采集卡的通信正常,指示燈會處于常亮狀態。
2.2 P參數設置
使用采集卡將溫度變化引起的阻值變化直接轉換成具有特定意義的數字信號,經NCUC總線傳輸到數控系統的X寄存器內,再將數控系統內部進行的數值運算轉換成單位為攝氏溫度(℃)的數據存放在起始地址為G3080的系統G寄存器內(每路通道的溫度數據對應存放在一個G寄存器內)。為了完成數值的正確演算,需要準確計算每個采樣通道的X寄存器偏移地址。由圖2可知,“溫度0”使用X20-X21寄存器(16位分辨率),“溫度1”使用X22-X23寄存器。只要在PLC中使用“TEMPSEN 0 X20 2 P91”和“TEMPSEN 1 X22 2 P95”功能指令[3],即可將I/O端的前軸承溫度、后軸承溫度模擬信號換算成℃保存到數控系統的G3080和G3081寄存器(每個寄存器含2個字節)內,并顯示在屏幕主界面的右上角。指令中的“TEMPSEN”是指令名稱,“0和1”指溫度傳感器編號,“X20和X22”是溫度采集數字信號對應的X寄存器首地址,“2”指的是每個溫度數據占用2個字節,“P91和P95”是連續4個P參數(用戶自定義參數)的首地址。PLC程序編寫完畢后,必須將溫度傳感器的測溫范圍及其對應的分度電阻值擴大100倍寫入指定的P參數內。本系統選用的PT100熱電阻可測溫度范圍是0~150 ℃,對應電阻值分別是100 Ω和157.33 Ω[4],應寫入P參數的數據值,如表1所示。
2.3 溫度預警
主軸溫度預警系統的PLC程序設計主要是在原機床的基礎上添加了主軸前軸承和后軸承的溫度數據采集、顯示與報警功能,使用梯形圖語言編程,程序流程如圖3所示。理論上,系統寄存器G3080和G3081的值1 ms更新1次,由于溫度的升高具有連續性、滯后性、累積性,所以,將實際溫度與報警閾值進行比較的頻次沒有必要跟隨理論值確定。故本系統設定5 min內,每30 s比較1次溫度值,考慮到數據采集與傳輸的偶發性錯誤,決定總共比較的10次結果中,若有80%的結果都是實際值大于報警閾值的,則進行報警。
圖3中,初始化是指利用數據傳送指令MOV將溫度閾值賦予Tmax(使用斷電保持繼電器B)、計數值D0和D1(使用單字節內部繼電器R)清零;使用加一指令INC實現計數值的自動增長;利用延時導通定時器TMRB實現30 s計時;HNC-818D 數控系統并沒有設置主軸溫度報警內容,所以,還需要將報警文件“PMESSAGE.txt”拷貝到PC上增加主軸軸承溫度報警號與報警提示信息,再在PLC程序中讓相應的G信號得電,即可顯示溫度報警。例如,若將溫度報警閾值Tmax設為35 ℃,則當采集的主軸前軸承溫度值連續5 min大于35 ℃時,就會在數控系統屏幕的“報警顯示”界面出現“UP_ERR_0097 用戶PLC——主軸前軸承溫度過高 G3016.0”的提示,“UP_ERR_0097”是報警號,“G3016.0”是外部報警的使能G地址,必須緊接著上一個報警地址進行編輯,不可跳躍。實際使用中,應當根據主軸、軸承等相關零部件的可承受范圍確定Tmax值和比較時間。
3 上位機軟件設計
HNC-818D 數控系統具有32個通道(通道編號為0~31)可供上位機利用網絡通信從數控系統獲取寄存器、參數、G代碼行號、坐標系等數據,直接調用二次開發提供的C++函數接口即可。主軸溫度預警系統上位機的主要作用是實現歷史溫度數據與指令域對齊保存在TXT文本中,每按下一次“采樣開始”按鈕就會用時10 s產生一個TXT數據文件,每個文件包括500組數據,每組數據的讀取間隔為20 ms,分為5列,對應0~4號通道。其中,第一列是當前G代碼行號,第2列是X軸指令位置,第3列是HIO-1073采集卡的壓力數據,第4列是主軸前軸承溫度數據,第5列是主軸后軸承溫度數據。只有第一列數據不需要與標準單位進行數值換算,其他4列需要根據算式將純粹數值轉換為指定含義的數據,溫度預警系統用到的第4列、第5列數據只需要除以10就能夠得到單位是℃的溫度。TXT文件的數據容量、每組數據時間間隔可以根據實際需要通過修改程序參數來進行設置。
3.1 開發環境配置
上位機軟件是在Windows平臺下利用Microsoft Visual Studio 10.0進行開發的,對于新建的工程要進行環境配置,具體步驟如圖4所示。圖4中,首先,需要將二次開發提供的頭文件、動態鏈接庫文件加入新建的工程目錄下,再配置新建工程的屬性,將庫文件和頭文件的存放路徑告知新建工程,在生成的.exe文件目錄下加入動態鏈接文件,最后在新建項目文件的頂部聲明各個加入的頭文件,就可以在此基礎上進行所需功能的開發。
3.2 網絡通訊
將新建工程的開發環境配置完畢后,為了從數控系統獲取數據,還需要建立網絡連接。主軸溫度預警系統使用有線網絡通信,將普通網線分別插在數控系統和PC的網絡端口,設置IP地址為192.168.1.101和192.168.1.108(必須在同一網段內),可以先在PC上的“命令提示符”窗口利用Ping命令檢查網絡是否連通,盡早排除物理故障和“本地連接屬性”設置等錯誤。
在已配置好的開發環境中建立通訊的步驟是:網絡初始化、網絡連接、斷開網絡。根據二次開發接口要求,必須先進行網絡初始化,才能連接網絡。網絡初始化調用HNC_NetInit接口函數,網絡連接調用HNC_NetConnect接口函數,網絡斷開調用HNC_NetExit接口函數[5]。編程時,需要根據各個接口函數的要求填入相應參數,且可以利用函數的返回值判斷各個功能是否成功。
3.3 數據采樣與存儲
當數控系統和PC建立通信后,即可進行數據采樣,采用按鈕觸發方式打開數據采樣功能,當按下“開始采樣”按鈕,會按照如圖5所示的流程自動完成數據采樣與文件寫入。程序中調用HNC_SamplSetPeriod接口函數實現采樣周期的設定,調用HNC_SamplSetChannel接口函數設置采樣通道,使用HNC_SamplTriggerOn接口函數開啟采樣功能,調用HNC_SamplGetStat接口函數獲取當前采樣狀態,利用HNC_SamplGetData接口函數讀取采樣數據[5]。
需要注意的有3點:① 在設置主軸前軸承、后軸承的溫度采樣通道時,偏移量應分別為G3080-G2960=120和G3081-G2960=121,因為系統G寄存器的地址是從G2960開始;② 應當申請動態二維數組,原因是PC的時鐘周期與數控系統的時鐘周期不同步,在設定的讀取數據周期內,并不一定正好獲得指定量的數據,使用動態數組可以根據實際情況開辟數據存放空間,避免出現存儲空間不夠或者浪費的情況。而對于申請的動態數組在使用完畢之后,必須進行內存釋放,因為系統不會自動釋放存儲空間;③ TXT文件的命名方式為時間戳,即讀取溫度數據時的年月日時分秒。
4 結 論
主軸溫度預警系統在主軸前軸承、后軸承實際溫度連續超過一定時間大于設定的溫度閾值Tmax時,會在屏幕上顯示報警信息提示操作人員,以便采取相應措施,避免了軸承在超過自身耐溫情況下繼續運行導致磨損加劇,降低主軸使用壽命。還可以將歷史溫度數據與G代碼行號對齊保存在上位機,為今后對加工程序優化、主軸熱誤差補償的實現提供了可靠的數據支撐。
參考文獻:
[1] 馮偉,張祥雷. 機床主軸溫升試驗研究及控制措施[J]. 裝備制造技術,2013(11):250-251.
[2] 林錦富. 一種機床主軸溫度控制系統及方法[P]. 中國專利:201510091841.2,2015-07-29.
[3] 武漢華中數控股份有限公司. 華中8型數控系統PLC編程說明書[EB/OL]. (2016-02-01)[2018-05-17].http://www.huazhongcnc.com/UploadFiles/Files//yuhao/201710/au52dgsj.x1k.pdf.
[4] 江蘇華科自動化儀表有限公司. Pt100熱電阻分度表[EB/OL]. (2010-09-27)[2018-05-22]. http://www.chem17.com/tech_news/detail/97351.html.
[5] 武漢華中數控股份有限公司. 華中8型數控系統二次開發手冊[EB/OL]. (2016-12-16)[2018-05-17].https://wenku.baidu.com/view/1c450e3a33d4b14e842468b3.html.
Abstract: In order to prevent machine spindle from running at impermissible temperature for a long time, a temperature warning system of spindle of CNC machine tool is designed based on the HNC-818D CNC. The PT100 thermoelectric resistance is used for sensing the spindle temperature in the system. The data is transmitted to the G registers in CNC by means of the acquisition card and the NCUC bus. According to the measured temperature, PLC can decide whether the screen alarm needs to be carried out. There is not have enough storage space for large amount of data in CNC, so the G code line number and the spindle temperature are uploaded to PC by the cable network, and the temperature and the instruction domain can be matched and preserved, which is convenient for the subsequent development and application of the data.
Keywords: CNC; spindle temperature; PLC; data acquisition
(責任編輯:徐興華)