構(gòu)建PMAC數(shù)控系統(tǒng)的關(guān)鍵技術(shù)和實(shí)現(xiàn)方法
點(diǎn)擊:1947
A+ A-
所屬頻道:新聞中心
0 引言
PMAC(Programable Multi-axes Controller)是美國Delta Tau公司生產(chǎn)的多軸運(yùn)動(dòng)控制器,采用高速度的DSP56000系列數(shù)字信號(hào)處理器,提供全新高性能技術(shù)驅(qū)動(dòng)各種類型伺服電機(jī),滿足用戶在運(yùn)動(dòng)控制各個(gè)領(lǐng)域的需要Ⅲ。PMAC優(yōu)異的軌跡跟蹤能力和開放特性,是開發(fā)高性能數(shù)控系統(tǒng)的理想產(chǎn)品。PMAC具有多種接口類型以適應(yīng)不同的系統(tǒng)構(gòu)架方式,女flISA和PCI接口類型可構(gòu)建“PC+PMAC”數(shù)控系統(tǒng)、PCI04接口類型可構(gòu)建嵌入式數(shù)控系統(tǒng)。PMAC也能夠獨(dú)立構(gòu)成數(shù)控系統(tǒng)產(chǎn)品,并且可以通過RS232、RS485或USB接口與計(jì)算機(jī)進(jìn)行通訊。在開發(fā)PMAC數(shù)控系統(tǒng)中,掌握PMAC的關(guān)鍵使用技術(shù)是有效構(gòu)建數(shù)控系統(tǒng)的重要環(huán)節(jié)。作者在北京理工大學(xué)的“PRS.XY型混聯(lián)機(jī)床”項(xiàng)目研制中,采用了“PC+TurboPMAC”模式成功地開發(fā)了開放式數(shù)控系統(tǒng)。通過深入研究和實(shí)際應(yīng)用,總結(jié)了PMAC的部分關(guān)鍵技術(shù)的實(shí)際應(yīng)用方法,本文就有關(guān)PLC編程、代碼轉(zhuǎn)換以及數(shù)控程序跟蹤技術(shù)和實(shí)現(xiàn)途徑進(jìn)行描述。
1 PLC編程技術(shù)
常規(guī)PLC(Programable Logic Controller)的基本工作方式是周期循環(huán)掃描,分為3個(gè)步驟:集中輸入采樣、程序運(yùn)行和集中輸出刷新。集中輸入和輸出方式是PLC的重要特征之一,程序在運(yùn)行過程中通過輸入和輸出映象寄存器訪問I/O端口,而不直接訪問物理端口,這樣可有效避免控制程序的邏輯混亂。PLC程序一般可通過語句程序和梯形圖程序編制,而后者由于與電氣圖有一定的相似性,邏輯清晰直觀、容易理解,在實(shí)際工程中得到了普遍應(yīng)用。
PMAC內(nèi)嵌了PLC功能,以支持?jǐn)?shù)控系統(tǒng)的邏輯處理和I/O控制,并且具有一般PLC的運(yùn)行特征,即循環(huán)運(yùn)行方式,但通常是通過語句程序?qū)崿F(xiàn)的,而且沒有明確的集中處理約束,因此在進(jìn)行復(fù)雜PLC程序設(shè)計(jì)時(shí)應(yīng)借鑒常規(guī)PLC的設(shè)計(jì)方法和原則,才能保證程序邏輯的準(zhǔn)確性。
要實(shí)現(xiàn)PLC的集中輸入輸出特性,首先要保證I/O語句在程序中的位置,即首先將輸入端口的狀態(tài)數(shù)據(jù)讀入映象寄存器中,使運(yùn)行程序只檢測(cè)該寄存器的狀態(tài),將輸出結(jié)果存放在輸出映象寄存器中,最后將輸出映象寄存器的內(nèi)容映射到實(shí)際物理端口。在配置了ACC一34A端子板的PMAC系統(tǒng)中,
(1)數(shù)據(jù)定義
M1000和M1002分別對(duì)應(yīng)輸入和輸出端口物理地址,由PMAC系統(tǒng)即時(shí)刷新端口狀態(tài);M1001和M1003為對(duì)應(yīng)的映象變量,并指向PMAC固定存儲(chǔ)器,以便在上電或復(fù)位時(shí)自動(dòng)清零。把緩沖器字節(jié)分解成位,并由M變量直接進(jìn)行位操作,方便了對(duì)端口各位的獨(dú)立操作。
(2)PLC程序
符合了PLC的基本工作方式,用戶程序只需對(duì)M1001和M1003映象變量或分解后的M變量操作,不要直接訪問M1000幣IIMl002。
梯形圖是編制PLC程序的有效方法,將其引入PMAC的PLC程序設(shè)計(jì)中,代替直接使用編程語句的設(shè)計(jì)方法,在很大程度上降低了PLC程序設(shè)計(jì)難度。為描述該設(shè)計(jì)方法,典型的電機(jī)正反轉(zhuǎn)控制電路為例進(jìn)行說明。
在PMAC數(shù)控系統(tǒng)中,將按鈕SBl、SB2、SB3和熱繼電器KR的常開觸點(diǎn)接在端子板的輸入端,將KMl和KM2接觸器線圈接在輸出端,則其控制邏輯可表達(dá)的梯形圖。
M變量分別對(duì)應(yīng)按鈕在PMAC中的輸入位和輸出位,因此M具有邏輯變量特性,即只能取值0或1。容易根據(jù)梯形圖寫出由布爾邏輯表達(dá)的PMAC程序語句;
M900=(M800^1)&(M801IM900)&(M901^1)&(M803^1);,
M901=(M800^1)&(M8021M90 1)&(M900^1)&(M803^1);
語句中的“I”是“位或”操作符,表示節(jié)點(diǎn)并聯(lián);“&”是“位與”操作符,表示節(jié)點(diǎn)串聯(lián);PMAC中沒有“位反”指令,但可使用“異或”操作符“^’’表示梯形圖中的常閉節(jié)點(diǎn),即有:
M按位取反=M^1_M常閉節(jié)點(diǎn)
顯然,采用梯形圖設(shè)計(jì)使邏輯關(guān)系清晰明了,尤其對(duì)于復(fù)雜的邏輯程序設(shè)計(jì),采用布爾邏輯表達(dá)式避免了因大量使用if...Else...Endlf條件語句而造成的邏輯混亂,而且程序語句運(yùn)算簡(jiǎn)單,有利于加快程序的執(zhí)行速度。
2 數(shù)控代碼轉(zhuǎn)換
PMAC有一套完整的專用數(shù)控編程語言,支持用戶進(jìn)行數(shù)控程序設(shè)計(jì)。而對(duì)于通用數(shù)控機(jī)床,編程語言通常采用國際ISO標(biāo)準(zhǔn)規(guī)定的代碼字符和格式,我國的數(shù)控機(jī)床標(biāo)準(zhǔn)也是參照ISO制定的,如GB8870—88(代替JB3050—82)等效IS0840標(biāo)準(zhǔn)。因此由PMAC構(gòu)建的數(shù)控系統(tǒng)必須將G、M、T等代碼轉(zhuǎn)換為PMAC的專用語言。
PMAC能以子程序的方式支持G、M等代碼的使用,只需在PMAC中編制相應(yīng)的子程序,將G和M代碼轉(zhuǎn)換為PMAC的運(yùn)動(dòng)程序表達(dá)式,即可實(shí)現(xiàn)對(duì)ISO代碼的支持。子程序的入口地址根據(jù)代碼字符和后續(xù)的功能號(hào)確定,G代碼的轉(zhuǎn)換子程序格式如下:程序中,M902對(duì)應(yīng)主軸的控制端口,M02代碼轉(zhuǎn)換中使用延時(shí)指令的目的是停止PMAC的程序預(yù)讀功能,以免主軸提前停止。
3 數(shù)控加工程序跟蹤
數(shù)控加工過程中,需要對(duì)程序的運(yùn)行過程進(jìn)行跟蹤,即要求實(shí)時(shí)顯示當(dāng)前正在執(zhí)行的數(shù)控代碼。在“PC+PMAC”的數(shù)控系統(tǒng)中,可通過顯示界面顯示程序執(zhí)行過程。
PMAC的在線指令“PE”能夠顯示當(dāng)前正在執(zhí)行程序行的偏置地址,但由于用戶程序是以ISO標(biāo)準(zhǔn)代碼編制,在PMAC中使用了代碼轉(zhuǎn)換,因此用“PE”指令很難捕捉到當(dāng)前的G或M代碼指令,基本上只能返回轉(zhuǎn)換子程序中的PMAC語句在該子程序中的偏置地址,而該地址數(shù)據(jù)對(duì)于用戶程序中的任何同功能代碼都是一致的,因而無法判斷當(dāng)前正在執(zhí)行的程序代碼。
有一個(gè)簡(jiǎn)單的方法可以解決數(shù)控程序跟蹤問題,即在用戶程序下載到PMAC之前,自動(dòng)在每一行程序前自動(dòng)插入標(biāo)志變量賦值語句,賦值量與對(duì)應(yīng)的用戶程序行號(hào)一致,但界面顯示仍為原始的用戶程序。通過標(biāo)志變量的值即可判斷正在執(zhí)行的代碼位置,并可以在界面顯示的程序中做明顯標(biāo)記。
程序中的M1變量為標(biāo)志變量,不能使用“=”賦值格式,必須使用“==”賦值格式。PMAC具有程序預(yù)讀功能,“=”賦值會(huì)在預(yù)讀時(shí)立即執(zhí)行,導(dǎo)致M1的賦值提前于實(shí)際運(yùn)行的程序代碼。“==”是一種同步賦值格式,使用該賦值格式的M變量稱為同步變量,同步變量在預(yù)讀時(shí)不會(huì)進(jìn)行立即賦值,只有在該變量的下一個(gè)運(yùn)動(dòng)程序塊開始實(shí)際運(yùn)行時(shí)才進(jìn)行賦值,從而保證了M變量值與當(dāng)前運(yùn)行的程序行完全同步。
4 結(jié)束語
本文對(duì)開發(fā)基于PMAC的數(shù)控系統(tǒng)中的有關(guān)軟件設(shè)計(jì)技術(shù)進(jìn)行了探討,分析了常規(guī)PLC的運(yùn)行原理,將集中輸入輸出思想、梯形圖設(shè)計(jì)方法和布爾邏輯表達(dá)式引入到PMAC的PLC程序設(shè)計(jì)中,簡(jiǎn)化了程序設(shè)計(jì),提高了程序的可靠性和邏輯清晰度。對(duì)G代碼和M代碼的轉(zhuǎn)換方法做了說明,使數(shù)控系統(tǒng)能直接支持廣泛使用的ISO代碼編程。數(shù)控加工程序行的實(shí)時(shí)跟蹤是數(shù)控系統(tǒng)的重要實(shí)用功能,文中對(duì)PMAC由于代碼轉(zhuǎn)換而不能有效跟蹤程序執(zhí)行過程的問題提出了解決方法。文中提到的設(shè)計(jì)技術(shù)均應(yīng)用于北京理工大學(xué)PRS-XY混聯(lián)機(jī)床開放式數(shù)控系統(tǒng)設(shè)計(jì)中,并取得了很好的效果。
(審核編輯: 智匯張瑜)
分享