久久国产乱子,九九九九在线精品免费视频,日本福利一区,亚洲理论a中文字幕在线,欧美美女视频图片,杨幂最新视频,朝国美女视频

機床網(wǎng)
基于CMC的數(shù)控機床PLC編程
2016-12-28 09:42:06

                                 李理 周華磊
                             武漢華中數(shù)控股份有限公司
                   國家高技術(shù)研究發(fā)展計劃(863計劃)課題“基于CMC的裝備數(shù)控系統(tǒng)的研制與應(yīng)用”(2012AA041706)
【摘要】 本文基于的是以CMC運動控制芯片為核心控制器的數(shù)控裝置,重點介紹其應(yīng)用于機床控制及加工上的PLC編程部分。CMC運動控制芯片是國內(nèi)自主研發(fā)的一款帶G代碼解釋器及運動控制硬核的MCU芯片,可應(yīng)用于輕量級運動控制場景,其PLC部分支持IEC61131-3標準編程語言。本文中所有PLC代碼部分均采用ST語言編寫,主要包含了機床安全運行檢查及急停控制、機床回零、MODBUS通信、G代碼調(diào)度、M代碼實現(xiàn)、機床手動控制等部分。
【關(guān)鍵詞】機床PLC; MODBUS通信; CMC

[Abstract] This paper is based on the CMC motion control chip as the core controller of the numerical control device, focusing on its application in the PLC programming part of the machine tool. CMC motion control chip is an independent research and development MCU with hardcore of G code interpreter and motion control unit which can be used in lightweight motion control scene, The PLC part supports IEC61131-3 standard programming language. In this paper, all the PLC code using ST language writing, mainly includes the machine safety operation inspection and emergency stop control, machine back to zero, Modbus communication realization, G code & M code scheduling, machine tool manual controlling etc.
[Keywords] machine tool PLC programming; MODBUS communication; CMC

    在數(shù)控系統(tǒng)中,PLC編程為通用平臺的個性化應(yīng)用提供了簡單快速的開發(fā)接口,PLC以其簡單、高效、可視化等優(yōu)點,便于技術(shù)人員在應(yīng)用現(xiàn)場進行編程以滿足控制需求。本文以CMC運動控制芯片為平臺,描述了在該平臺下進行系統(tǒng)搭建所涉及的各個方面,包括CMC運動控制芯片的介紹,整個數(shù)控系統(tǒng)的框架,編程語言及工具的介紹,以及重點介紹了其PLC邏輯與控制功能的實現(xiàn)[1][2]。
1.CMC運動控制芯片
    CMC運動控制芯片為一款國產(chǎn)研發(fā)的帶運動控制功能的MCU,最高頻率可達50MHz。芯片集成了Flash、SRAM、通用定時器、PLL、實時鐘,以及以太網(wǎng)MAC、UART、CAN、SPI、I2C 等多種通信接口。
    CMC運動控制芯片是將組態(tài)處理、程序存儲、信號輸入輸出、控制算法、通訊接口等全部集成在一個芯片中的產(chǎn)品,實現(xiàn)的主要功能可以簡述為:片內(nèi)邏輯控制和運動控制,程序處理及調(diào)度管理,數(shù)字量信號處理,多種數(shù)據(jù)接口通信。
    本文中所涉及的數(shù)控裝置是以CMC運動控制芯片為核心、板載外圍電路的控制單元,包括I/O、串口、AD、DA、進給軸等。
2.編程及語言

    CMC運動控制芯片上位機PLC編輯軟件能夠支持IEC61131-3所包含的5種編程語言,由于ST語言與通用計算機編程語言C語言語法格式更加類似,學(xué)習成本較低,更利于學(xué)校掌握與熟悉,本文所涉及的所有代碼均采用ST編程語言編寫。
    CMC芯片制造商提供的PLC編輯軟件還能夠支持數(shù)控系統(tǒng)G代碼編程、運行調(diào)試、變量監(jiān)控、常用控制功能塊調(diào)用等,方便開發(fā)與調(diào)試。
    程序編寫完后需要進行編譯,由CMC組態(tài)軟件翻譯成CMC運動控制芯片內(nèi)部運動控制單元所能識別的指令,并通過網(wǎng)口通訊下載到CMC芯片的代碼存儲區(qū)。
3.系統(tǒng)框架
    基于CMC運動控制芯片的數(shù)控系統(tǒng)架構(gòu)如下圖所示:
        
               圖1 CMC數(shù)控系統(tǒng)框架圖
    整個系統(tǒng)框架中,CMC運動控制芯片為系統(tǒng)中的主控芯片,外部掛接三個伺服驅(qū)動器,用于進行位置控制,并使用一個變頻器用于主軸速度控制。運動控制器包含32路外部信號輸入及32路外部信號輸出,用于檢測機床限位、回零、報警,控制機床上電、驅(qū)動器使能、刀架控制及潤滑、冷卻等邏輯功能。
    CMC運動控制器自身并不具備圖形設(shè)備接口,系統(tǒng)中使用網(wǎng)絡(luò)通訊連接HMI設(shè)備,通過MODBUS/TCP協(xié)議實現(xiàn)數(shù)據(jù)交互、代碼下載等功能。HMI從CMC運動控制器中獲取系統(tǒng)運行的相關(guān)狀態(tài)及信息,顯示給用戶,同時HMI負責G代碼存儲、編輯、編譯等工作。
    另外,CMC運動控制器通過SPI總線連接數(shù)控系統(tǒng)功能鍵盤,CMC運動控制器將鍵盤點位映射到PLC層,通過編程,實現(xiàn)鍵盤控制功能。
4 系統(tǒng)PLC編程
4.1 進給軸手動控制

    機床在使用過程中,需要手動對進給軸進行移動。CMC運動控制芯片配套的組態(tài)軟件直接提供了單軸運動控制功能塊,以實現(xiàn)當按下軸方向移動按鍵時,調(diào)用PLC功能塊實例,根據(jù)操作需求,傳入運動控制參數(shù),以控制進給軸移動速度、方向及進行軸選擇等。以下代碼片段為實例化后的單軸運動控制功能塊實例代碼:
MC_SingleAxis_Inst(
Axis := axisSel,
Mode := axisMode,
Direction := axisDir,
InitialVelocity := 10000,
StableVelocity := axisSpeed,
Acc := 500000,
Pulses := axisPulse
);
    PLC中根據(jù)功能按鍵的輸入請求,實時地傳入不同參數(shù),以適應(yīng)操作需求。
4.2 回參考點
    機床在移動軸的正負方向都安裝了觸點零位開關(guān),開關(guān)量信號以外部I/O信號的方式接入至CMC運動控制器。當回零過程被激活,通過組態(tài)軟件進行PLC編程,首先控制進給軸快速移動至對應(yīng)軸的觸點零點開關(guān)位置,觸發(fā)觸點開關(guān)后,低速緩慢朝反方向移動直至觸點開關(guān)彈開,然后以更低的速度往回零方向移動,直到再次觸發(fā)觸點開關(guān)后,即完成回零過程。
    通過實際測量,發(fā)現(xiàn)通過上述方法進行回零,機床并不能每次都能回到同一個位置,誤差會在±0.3mm左右,這是因為回零檢測使用的輕觸開關(guān)是機械結(jié)構(gòu),并且由于回零速度差異,所以并不能對回零位置做精準定位。為了提高回零精度,可以在系統(tǒng)側(cè)接入電機碼盤Z脈沖信號,由于電機每運轉(zhuǎn)一圈就會發(fā)出一個固定位置的Z脈沖信號,通過檢測該Z脈沖,就可以為系統(tǒng)提供一個更加精準的位置參考。
    在完成第一步的回零過程后,使進給軸電機繼續(xù)往回零方向以超低的速度移動,并實時檢測電機碼盤Z脈沖信號,檢測到Z脈沖信號后,立即停止移動。至此,整個回零過程才算真正完成。以此回零方式實測回零精度在±0.01mm以內(nèi),足以滿足實際應(yīng)用需求。
        
                圖2 回零過程
4.3 限位急停及超程解除
    機床在移動軸正負方向的極限位置都安裝了限位開關(guān),例如銑床有X軸正/負限位、Y軸正/負限位及Z軸正/負限位這六個限位信號,這些信號以外部I/O信號的方式接入至CMC運動控制器,通過PLC編程,實時監(jiān)測限位信號,當限位觸發(fā)時,立刻關(guān)閉驅(qū)動器使能信號,并調(diào)用PLC功能塊,使得CMC運動控制器停止脈沖輸出,并清除內(nèi)部運動控制單元相關(guān)狀態(tài)標識。
    限位急停后,當PLC中捕獲到超程解除按鍵被按下,電機將被重新使能,同時PLC程序只允許移動周向被限位方向的反方向運行,繼續(xù)往限位方向移動的請求將被忽略。當機床移動至限位信號釋放的位置后,超程解除完成,限位急停功能將重新啟動。
        
                   圖3 限位急停與超程解除流程圖
4.4 G代碼調(diào)度及M代碼及實現(xiàn)
    CMC運動控制芯片自帶G代碼解釋器硬核,內(nèi)部含有16塊緩存區(qū)用于存儲編譯后的G代碼數(shù)據(jù),每個緩沖區(qū)大小為64KB。上位機通過網(wǎng)絡(luò)傳輸,將交叉編譯后的G代碼傳送至緩沖區(qū),若G代碼數(shù)據(jù)量比較大,或者需要進行存儲M代碼,則會在上位機中,以M代碼為間隔,將G代碼進行切片,并將切片后的G代碼以及M代碼片段分別裝入緩存區(qū)塊中,如下圖所示:
        
                   圖4 G代碼、M代碼執(zhí)行過程
    在PLC中可以調(diào)用功能塊獲取當前G代碼執(zhí)行狀態(tài)以及當前運行的是哪一段G代碼。當檢測到當前段G代碼執(zhí)行完畢后,此時與當前G代碼段相對應(yīng)的M代碼段將會被自動加載到特殊功能寄存器SFR中,PLC從SFR中逐個讀取M指令碼,并做相應(yīng)動作。若當前M指令段的所有M指令都執(zhí)行結(jié)束后,如果沒有遇到M30指令,則PLC調(diào)用功能塊,將下一個G代碼段的段號填入功能塊入口后,下一段G代碼便開始執(zhí)行,該段G代碼執(zhí)行結(jié)束后便重復(fù)上面的M代碼執(zhí)行過程。G代碼段和M代碼段如此交替執(zhí)行,直至讀到M30指令,整個G代碼執(zhí)行結(jié)束。
4.5 Modbus/Tcp通信
    系統(tǒng)上下位機通信物理層使用100M以太網(wǎng),采用Modbus/Tcp協(xié)議通信,CMC組態(tài)軟件提供Modbus/Tcp功能塊,如下面代碼段所示:
modbusWordWrite (
ID,
Dtype,
Addr,
Size,
Data0, Data1, Data2, Data3,
Data4, Data5, Data6, Data7,
Data8, Data9, Data10, Data11,
Data12, Data13, Data14, Data15
);
    上下位機之間協(xié)商好ID、地址及相應(yīng)數(shù)據(jù)便可直接進行數(shù)據(jù)交互。下位機CMC運動控制芯片將系統(tǒng)運行相關(guān)信息,如當前模式、運行狀態(tài)、位置信息等通過該功能塊周期性的傳送至上位機HMI顯示。
4.6 主軸控制
    機床上的主軸需要進行速度控制,一般都是使用變頻器驅(qū)動。變頻器的輸入為0~10V的模擬量電壓,變化的模擬量輸入將導(dǎo)致變頻器電源輸出端頻率的變化,進而使交流電機的運行速度隨之變化。
    CMC運動控制器板載4路16bits模擬量輸出,經(jīng)過信號調(diào)理電路后模擬量輸出范圍為-10V~+10V。在PLC中,對接入主軸變頻器的那一路模擬量輸出進行數(shù)據(jù)寫入便可實現(xiàn)主軸電機速度的線性控制。
    在實際PLC編程中,將0~10V輸出均分為五個等級,利用MCP鍵盤的波段開關(guān)實現(xiàn)五級調(diào)速,以滿足不同材質(zhì)加工料件的切削需求。
5 結(jié)束語
    本文所提到的所有內(nèi)容均在實際機床上進行過加工驗證,事實表明,該套系統(tǒng)可以完成常見的車床、銑床乃至加工中心的零部件加工,PLC部分所實現(xiàn)的功能也能滿足機床操作的基本需要。

 

 

[1]彭瑜,何衍慶. IEC61131-3編程語言及應(yīng)用基礎(chǔ)[M]. 北京:機械工業(yè)出版社,2009
[2]郇極,靳陽,肖文磊等. 基于工業(yè)控制編程語言IEC61131-3的數(shù)控系統(tǒng)軟件設(shè)計[M]. 北京:北京航空航天大學(xué)出版社,2011
致謝
基金項目:國家高技術(shù)研究發(fā)展計劃(863計劃)課題“基于CMC的裝備數(shù)控系統(tǒng)的研制與應(yīng)用”(2012AA041706)。

轉(zhuǎn)載請標注來源158機床網(wǎng)