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