梅洋, 孫奇涵, 鄧三鵬, 曹川川, 周彧
(1.天津職業(yè)技術(shù)師范大學(xué)機(jī)電工程研究所,天津300222;2.天津創(chuàng)智數(shù)控科技有限公司,天津300222)
PMAC運(yùn)動(dòng)控制器是由Delta Tau公司設(shè)計(jì)制造的低成本、高精度多軸運(yùn)動(dòng)控制器,是工業(yè)領(lǐng)域最常用的運(yùn)動(dòng)控制器之一,廣泛應(yīng)用于各數(shù)控系統(tǒng)中[1]。無(wú)論是何種數(shù)控系統(tǒng),機(jī)床控制面板都是必不可少的組成部件,是操作人員與數(shù)控系統(tǒng)進(jìn)行人機(jī)交互的工具。PMAC運(yùn)動(dòng)控制器內(nèi)置PLC的I/O點(diǎn)都是由軟件來(lái)控制的,只要使用一個(gè)類似高級(jí)程序中的指針變量指向某一個(gè)I/O地址,就可以方便地在運(yùn)動(dòng)程序和PLC程序中通過(guò)指針變量來(lái)對(duì)該I/O點(diǎn)進(jìn)行輸入或輸出控制[2]。同時(shí)該P(yáng)LC具有強(qiáng)大的邏輯功能判斷能力,可編制復(fù)雜的邏輯關(guān)系[2]。因?yàn)閿?shù)控機(jī)床控制面板中有大量的按鍵,而且都是開(kāi)關(guān)量,需要對(duì)這些開(kāi)關(guān)量信號(hào)進(jìn)行實(shí)時(shí)處理,為了節(jié)省PMAC運(yùn)動(dòng)控制器的I/O點(diǎn)而采用行(列)掃描法對(duì)按鍵進(jìn)行識(shí)別。
矩陣鍵盤(pán)又名行列式鍵盤(pán),它是用帶I/O口的線組成行列結(jié)構(gòu),再把按鍵設(shè)置在行列的交點(diǎn)上。例如用5×6的行列式結(jié)構(gòu)可以構(gòu)成30個(gè)鍵的鍵盤(pán)。當(dāng)按鍵數(shù)量按照平方增長(zhǎng)時(shí),I/O口只是線性增長(zhǎng),從而節(jié)省I/O口。矩陣鍵盤(pán)的原理圖如圖1所示。
圖1 矩陣鍵盤(pán)的原理圖
首先,判斷整個(gè)鍵盤(pán)上有無(wú)鍵按下[3],方法是:將列全輸出為0,然后讀入行的狀態(tài),如果行讀入的狀態(tài)全為1,則無(wú)鍵按下,不全為1則有鍵按下[3]。其次,若有鍵按下則進(jìn)行逐列掃描,方法是:依次將列線送低電平0,檢查對(duì)應(yīng)行線的狀態(tài)[3];若行線全為1,則按鍵不在此列[3];若不全為1,則按鍵必在此列,且是與0電平行線相交的那個(gè)鍵[3]。最后,確定鍵值,并進(jìn)入鍵處理程序[3]。
DTC-32 IN和DTC-32 OUT是由Delta Tau(中國(guó))設(shè)計(jì)的32位通用數(shù)字輸入和輸出板,為用戶提供32個(gè)光電隔離的通用數(shù)字輸入點(diǎn)和輸出點(diǎn),該板卡通過(guò)clipper的復(fù)用端口連接[1]。
當(dāng)有外部變量輸入時(shí),將實(shí)際字變量的值實(shí)時(shí)復(fù)制給映像字變量,這樣PMAC卡能實(shí)時(shí)通過(guò)映像字變量讀到DTC-32 IN輸入點(diǎn)的信號(hào)。當(dāng)有變量輸出時(shí),將映像字變量的值實(shí)時(shí)復(fù)制給實(shí)際的字變量,這樣PMAC卡能實(shí)時(shí)通過(guò)映像字變量寫(xiě)到DTC-32 OUT輸出點(diǎn)的信號(hào)。
在配置了DTC-32 IN和DTC-32 OUT端子板的PMAC 系統(tǒng)中,程序格式如下[4]:
上述定義中,M7842和M7843分別對(duì)應(yīng)輸入和輸出端口物理地址,由PMAC系統(tǒng)即時(shí)刷新端口狀態(tài)[4];M7840和M7841為對(duì)應(yīng)的映象變量,并指向PMAC固定存儲(chǔ)器,以便在上電或復(fù)位時(shí)自動(dòng)清零[4]。把緩沖器字節(jié)分解成位,并由M變量直接進(jìn)行位操作,方便了對(duì)端口各位的獨(dú)立操作[4]。
根據(jù)矩陣鍵盤(pán)的工作原理,用一個(gè)M變量指向DTC-32 IN的八位寄存器地址,一次讀取8個(gè)輸入點(diǎn)的值,然后根據(jù)這8個(gè)點(diǎn)的值,去判斷該執(zhí)行哪條指令;用一個(gè)M變量指向DTC-32 OUT的八位寄存器地址,依次輸出低電平,判斷哪個(gè)按鍵按下。M1000和M1001分別指向M7824-M7831和M7824-M7831的地址,M的地址是連續(xù)的。
機(jī)床控制面板上每個(gè)按鈕的功能各不相同,現(xiàn)在以常見(jiàn)按鈕功能進(jìn)行介紹,并給出其關(guān)鍵程序代碼。手動(dòng)方式時(shí),按下X+按鈕,X軸電機(jī)便向X正方向運(yùn)動(dòng),當(dāng)抬起X+按鈕,X軸停止運(yùn)動(dòng)[2];按下快速按鈕,可控制手動(dòng)運(yùn)動(dòng)為手動(dòng)快速進(jìn)給。快速按鈕是帶自鎖的鍵,多次按下時(shí),會(huì)在開(kāi)關(guān)狀態(tài)中切換,鍵上的指示燈滅時(shí),表示手動(dòng)快速開(kāi)關(guān)關(guān)閉,鍵上的指示燈亮?xí)r,表示手動(dòng)快速開(kāi)關(guān)打開(kāi)。當(dāng)手動(dòng)快速開(kāi)關(guān)打開(kāi)時(shí),手動(dòng)進(jìn)給變?yōu)槭謩?dòng)快速進(jìn)給,實(shí)際進(jìn)給速度與快速倍率有關(guān),快速倍率分為4檔,可通過(guò)按 X1,X25,X50,X100,4 個(gè)鍵進(jìn)行選擇。其關(guān)鍵程序如下所示:
波段旋鈕是機(jī)床控制面板必不可少的器件,主軸修調(diào)和進(jìn)給率及進(jìn)給修調(diào)都需用到波段旋鈕。當(dāng)主軸波段開(kāi)關(guān)旋到對(duì)應(yīng)刻度時(shí),主軸將按設(shè)定值乘以對(duì)應(yīng)百分?jǐn)?shù)執(zhí)行動(dòng)作[6]。當(dāng)進(jìn)給軸波段開(kāi)關(guān)旋到對(duì)應(yīng)刻度時(shí),各進(jìn)給軸將按設(shè)定值乘以對(duì)應(yīng)百分?jǐn)?shù)執(zhí)行進(jìn)給動(dòng)作[6]。其關(guān)鍵程序如下所示:
研發(fā)了一種基于PMAC運(yùn)動(dòng)控制器構(gòu)成的開(kāi)放式數(shù)控系統(tǒng),根據(jù)矩陣鍵盤(pán)工作原理,對(duì)機(jī)床控制面板控制系統(tǒng)進(jìn)行了分析研究。該控制方法簡(jiǎn)單,具有可移植性,極大地節(jié)省PMAC運(yùn)動(dòng)控制器的I/O點(diǎn),降低成本。編制的的控制程序已在VNCZT-545加工中心上應(yīng)用。
[1] Delta Tau Clipper多軸運(yùn)動(dòng)控制卡[EB/OL].http://www.cntrades.com/b2b/jixie0406/sell/itemid-24806557.html.
[2] 吳奎.龍門(mén)式精密運(yùn)動(dòng)平臺(tái)的滑??刂扑惴ㄑ芯颗c實(shí)現(xiàn)[D].廣州:廣東工業(yè)大學(xué),2012.
[3] 楊芷,禹恒洲,魯五一.基于S7-200PLC的矩陣式鍵盤(pán)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2006(10):62-65.
[4] 牛志剛,張建民,孫宏昌.構(gòu)建PMAC數(shù)控系統(tǒng)的關(guān)鍵技術(shù)和實(shí)現(xiàn)方法[J].制造業(yè)自動(dòng)化,2005(11):37-39.
[5] 錢(qián)俊晗.基于PMAC的開(kāi)放式數(shù)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:東南大學(xué),2008:37-39.
[6] 數(shù)控實(shí)訓(xùn)指導(dǎo)書(shū) V1.1[EB/OL].http://www.doc88.com/p-8169042914945.html.