打破PLC、機(jī)器人和運(yùn)動(dòng)控制之間的界限
點(diǎn)擊:1876
A+ A-
所屬頻道:新聞中心
越來越多的最終用戶要求使用常用的PLC語言,來實(shí)現(xiàn)機(jī)器人、運(yùn)動(dòng)控制器和PLC的編程,這便于機(jī)器設(shè)備制造商的編程人員來理解,也便于最終用戶的服務(wù)人員進(jìn)行維護(hù)。為了降低復(fù)雜性,使三個(gè)獨(dú)立的平臺(tái)從外觀、用戶體驗(yàn)以及功能上更加協(xié)調(diào)。負(fù)責(zé)運(yùn)動(dòng)控制的PLCopen工作組已經(jīng)提出了一系列的標(biāo)準(zhǔn)化工具,允許從類似于PLC的編程環(huán)境中直接運(yùn)行協(xié)調(diào)運(yùn)動(dòng)。
傳統(tǒng)上,工業(yè)機(jī)器人使用復(fù)雜的專用語言進(jìn)行編寫,除了機(jī)器人編程人員可以理解外,其它人根本弄不明白。運(yùn)動(dòng)控制器的范圍要廣一些,而且變化也比較多,一般使用PC庫(kù)或其它專用語言進(jìn)行編程,而PLC則一般使用梯形圖邏輯進(jìn)行編程。在當(dāng)今的自動(dòng)化環(huán)境中,PLC、運(yùn)動(dòng)控制器和機(jī)器人必須緊密的集成在一起。很多元素被集成到機(jī)器設(shè)計(jì)中,而每個(gè)元素的優(yōu)勢(shì),都需要通過專用語言的編程體現(xiàn)出來。
PLC編程
1968年,通用公司需要開發(fā)一種能夠替代硬接線繼電器的設(shè)備,于是PLC就應(yīng)運(yùn)而生。自誕生以來,PLC一直使用梯形圖邏輯進(jìn)行編程。PLC可以輕松的控制使用數(shù)字和模擬量設(shè)備的過程,但是如果要去控制那些更復(fù)雜的、本質(zhì)上是順序控制的過程,使用PLC比使用BASIC、 C或 C#語言實(shí)現(xiàn)要困難的多。經(jīng)過多年的演化,PLC已經(jīng)可以使用BASIC或C語言進(jìn)行編程,但是在大多數(shù)情況下,仍然依賴于梯形圖(是IEC61131-3規(guī)定的編程語言的一種)。
很多低端PLC通過步進(jìn)或直接輸出來支持運(yùn)動(dòng)控制。利用價(jià)格更高的專用模塊,則可以實(shí)現(xiàn)某些更高級(jí)的運(yùn)動(dòng)控制,但是必須將這些模塊增加到基本系統(tǒng)中去。即使這樣,大多數(shù)設(shè)備仍然使用梯形圖邏輯進(jìn)行編程,這需要對(duì)編程環(huán)境具有較深入的了解,而編程環(huán)境則隨著生產(chǎn)廠家的不同而有所不同,更高級(jí)的功能通常由專用的功能塊來實(shí)現(xiàn)。
運(yùn)動(dòng)控制器
在通用市場(chǎng)上,典型運(yùn)動(dòng)控制器一般包括插值運(yùn)動(dòng)(線性和圓形)、協(xié)調(diào)運(yùn)動(dòng)、齒輪、凸輪和事件觸發(fā)運(yùn)動(dòng)(使用傳感器和位置鎖存器)等。更古老的運(yùn)動(dòng)控制器則在每個(gè)軸上使用專用的輸入、輸出設(shè)備。運(yùn)動(dòng)輸入包括啟用、過行程限位器和解碼輸入(每個(gè)軸一或兩個(gè));運(yùn)動(dòng)輸出包括伺服指令(一般情況下為+/- 10 V的模擬量)和步進(jìn)指令(步進(jìn)或直接)。大多數(shù)控制器還包含一些具有基本功能的I/O。新控制器則依賴于諸如EtherCAT或Mechatrolink的網(wǎng)絡(luò)來將控制信號(hào)傳送給驅(qū)動(dòng)器,并發(fā)送和接收數(shù)字I/O信號(hào),這些I/O通過硬接線與驅(qū)動(dòng)器直接連接。
在處理互聯(lián)軸的運(yùn)動(dòng)時(shí),典型的運(yùn)動(dòng)控制器無法與機(jī)器人控制器抗衡。在使用典型的運(yùn)動(dòng)控制器時(shí),如果最終結(jié)果是要運(yùn)動(dòng)到某個(gè)特定點(diǎn),則必須為每個(gè)軸計(jì)算出正確的位置。機(jī)器人和其它帶有機(jī)械互聯(lián)機(jī)制的機(jī)械設(shè)備,則需要逆向運(yùn)動(dòng)學(xué)。使用逆向運(yùn)動(dòng)學(xué),需要使用公式,將現(xiàn)實(shí)空間的特定點(diǎn)轉(zhuǎn)換為單個(gè)位置信息,機(jī)器人的每個(gè)關(guān)節(jié)(或軸)利用這些位置信息,將機(jī)械互聯(lián)的機(jī)械設(shè)備移動(dòng)到目的點(diǎn)。由于范圍比較廣,而且變化也比較多,因此應(yīng)用這些系統(tǒng)時(shí),需要對(duì)專門的編程環(huán)境有相當(dāng)深度的了解。
PLCopen運(yùn)動(dòng)標(biāo)準(zhǔn)的第四部分,包含運(yùn)動(dòng)控制功能塊,將PLC、機(jī)器人和運(yùn)動(dòng)控制集成到一種易于理解的、并在很多廠商比較常見的語言中。一般情況下,這些轉(zhuǎn)變功能塊由供應(yīng)商提供,所以對(duì)大多數(shù)生產(chǎn)制造商而言,如果運(yùn)動(dòng)控制器不支持,則不能添加此功能。該標(biāo)準(zhǔn)支持SCARA 和DELTA,但除此之外,任何編程人員都可以編寫自己的運(yùn)動(dòng)轉(zhuǎn)換功能。
機(jī)器人控制器
機(jī)器人控制器已經(jīng)被用于實(shí)現(xiàn)某些復(fù)雜機(jī)械設(shè)備的最優(yōu)控制。大多數(shù)控制器都是為某個(gè)特定的設(shè)備定制生產(chǎn),需要使用廠家自有的專門編程語言進(jìn)行編程,這些編程語言因產(chǎn)品平臺(tái)的不同而有很大的差異。如果機(jī)器人控制器用于控制其為之定制的對(duì)象,效率很高,但是在通訊性能、集成性能以及可編程能力方面則不是最好的。
過去,一般只有特定的機(jī)器人控制器CONTROL ENGINEERING China版權(quán)所有,支持動(dòng)力學(xué)和逆向動(dòng)力學(xué)?,F(xiàn)在,提供部分機(jī)器人類型指令的運(yùn)動(dòng)控制器更為常見,尤其是面向包裝自動(dòng)化的控制器。機(jī)器人控制器和運(yùn)動(dòng)控制器之間的界限正在變得模糊,但是仍需要編程人員在這些不同的系統(tǒng)之間進(jìn)行協(xié)調(diào),因?yàn)槊總€(gè)系統(tǒng)的編程都使用了為某個(gè)目的而專門設(shè)計(jì)的語言。
PLC和運(yùn)動(dòng)控制的結(jié)合
負(fù)責(zé)運(yùn)動(dòng)控制的PLCopen工作組,已經(jīng)將運(yùn)動(dòng)控制程序的各個(gè)方面進(jìn)行了標(biāo)準(zhǔn)化,并從邏輯上對(duì)其進(jìn)行了定義。這是一種將PLC、機(jī)器人和運(yùn)動(dòng)控制集成到一種易于理解和常見的語言中去的最佳嘗試。
其中很多的功能塊都是最基本的,比如:相對(duì)和絕對(duì)運(yùn)動(dòng),在很多運(yùn)動(dòng)控制系統(tǒng)中,都是非常簡(jiǎn)單、易懂的功能塊。在所需運(yùn)動(dòng)的難度增加的時(shí)候,多個(gè)控制系統(tǒng)的標(biāo)準(zhǔn)化、統(tǒng)一的外觀以及用戶體驗(yàn),就成為一種優(yōu)勢(shì)。
例如:當(dāng)任何一個(gè)運(yùn)動(dòng)停止,下一個(gè)運(yùn)動(dòng)還沒有開始的時(shí)候,將相對(duì)或絕對(duì)運(yùn)動(dòng)串聯(lián)起來,非常簡(jiǎn)單。但是設(shè)想一組更復(fù)雜的運(yùn)動(dòng):在軸的速度沒有變?yōu)榱愕臅r(shí)候,就需要轉(zhuǎn)向下一個(gè)運(yùn)動(dòng),這樣在軸的整個(gè)運(yùn)動(dòng)路徑中,將單個(gè)運(yùn)動(dòng)匯合成多個(gè)運(yùn)動(dòng)。PLCopen運(yùn)動(dòng)控制規(guī)范制定了標(biāo)準(zhǔn)的混合操作,這樣編程人員利用生產(chǎn)制造商可以利用的、常見的混合和轉(zhuǎn)變模式,實(shí)現(xiàn)混合運(yùn)動(dòng)。
在移動(dòng)由數(shù)學(xué)模型控制的通過機(jī)械互聯(lián)的多個(gè)軸系時(shí),一個(gè)最基本的問題是,對(duì)于同步移動(dòng)來講,通常并不清楚哪一個(gè)軸是關(guān)鍵軸。所以當(dāng)故障發(fā)生時(shí),運(yùn)動(dòng)控制器一般不能判斷其它哪些軸受到影響。通過定義運(yùn)動(dòng)組,PLCopen對(duì)此進(jìn)行了處理,從而使得當(dāng)其中一個(gè)軸組發(fā)生故障時(shí),控制器能夠產(chǎn)生一個(gè)適當(dāng)?shù)墓收享憫?yīng)。成組的概念,使編程人員獲得更大的自由度,集中精力處理機(jī)器所要求的特定任務(wù),通過實(shí)施圖中所示的組狀態(tài)機(jī)器,由控制器來完成組功能。
PLCopen運(yùn)動(dòng)控制規(guī)范的第四部分包含了可以協(xié)調(diào)運(yùn)動(dòng)控制的功能塊,對(duì)其第一和第二部分在三維空間多軸運(yùn)動(dòng)控制的協(xié)調(diào)功能進(jìn)行了擴(kuò)展,以滿足在此領(lǐng)域中絕大部分的應(yīng)用需求。它們定義了一套標(biāo)準(zhǔn)的功能塊,可在三維空間內(nèi)應(yīng)用于復(fù)雜的運(yùn)動(dòng)控制,包括運(yùn)動(dòng)轉(zhuǎn)變功能塊。一般情況下,這些轉(zhuǎn)變功能塊由供應(yīng)商提供,所以對(duì)大多數(shù)生產(chǎn)制造商而言,如果運(yùn)動(dòng)控制器不支持,則不能添加此功能。目前獲得支持的主要是SCARA 和DELTA機(jī)器人。此外,任何編程人員都可以編程實(shí)現(xiàn)自己的運(yùn)動(dòng)轉(zhuǎn)換功能。當(dāng)需要將實(shí)際位置轉(zhuǎn)換為關(guān)節(jié)空間,或者將關(guān)節(jié)空間轉(zhuǎn)換為實(shí)際位置時(shí),專用程序就可以調(diào)用這些運(yùn)動(dòng)程序。
該標(biāo)準(zhǔn)在原先一直相互獨(dú)立的PLC、計(jì)算機(jī)數(shù)字控制、機(jī)器人控制以及運(yùn)動(dòng)控制領(lǐng)域之間架起了一座橋梁。目前,利用一臺(tái)類似PLC的系統(tǒng),就可以實(shí)現(xiàn)對(duì)一個(gè)完整的機(jī)械設(shè)備控制程序的編程。該標(biāo)準(zhǔn)使機(jī)器人控制器和運(yùn)動(dòng)控制器,不再是相互獨(dú)立的系統(tǒng),而是集成為控制系統(tǒng)的一部分。將運(yùn)動(dòng)控制和邏輯控制在一個(gè)軟件包中實(shí)現(xiàn),所帶來的最重要的優(yōu)勢(shì)包括:在邏輯控制器和運(yùn)動(dòng)引擎之間無限制的數(shù)據(jù)交換,而且沒有延遲,在傳統(tǒng)的系統(tǒng)中,延遲會(huì)影響設(shè)備的性能。事實(shí)上,現(xiàn)在利用機(jī)械設(shè)備控制器就可以在機(jī)器人和外設(shè)的伺服軸之間實(shí)現(xiàn)完美的同步,這在以前CONTROL ENGINEERING China版權(quán)所有,只能在機(jī)器人控制領(lǐng)域才可以實(shí)現(xiàn)。
獨(dú)立編程
最后,PLCopen標(biāo)準(zhǔn)允許獨(dú)立編程,完全擺脫對(duì)硬件或特定生產(chǎn)制造商的依賴。如果不同的硬件供應(yīng)商支持同樣的基礎(chǔ)代碼,具有同樣的行為模式,編程人員就不必學(xué)習(xí)每個(gè)生產(chǎn)制造商的專有編程語言了。這樣,就可以在更短的時(shí)間內(nèi),更快的開發(fā)出具有更高精度的復(fù)雜機(jī)械設(shè)備控制系統(tǒng),并將其投入到市場(chǎng)。通過減少工程復(fù)雜性、降低對(duì)專門培訓(xùn)的需求,PLCopen使得這種開發(fā)成為可能,這樣對(duì)眾多的現(xiàn)有PLC編程人員來講,整個(gè)系統(tǒng)就顯得非常熟悉了。
(審核編輯: 滄海一土)