工業(yè)機(jī)器人控制系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
工業(yè)機(jī)器人控制系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
工業(yè)機(jī)器人控制系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
工業(yè)機(jī)器人控制系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
工業(yè)機(jī)器人控制系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章緒論1.1工業(yè)機(jī)器人的開(kāi)展及分類1.1.1工業(yè)機(jī)器人的開(kāi)展工業(yè)機(jī)器人的開(kāi)展通??梢?guī)劃分為三代:第一代工業(yè)機(jī)器人:通常是指目前國(guó)際上商品化與使用化的“可編程的工業(yè)機(jī)器人〞,又稱“示教再現(xiàn)工業(yè)機(jī)器人〞,即為了讓工業(yè)機(jī)器人完成某項(xiàng)作業(yè),首先由操作者將完成該作業(yè)所需要的各種知識(shí)〔如運(yùn)動(dòng)軌跡、作業(yè)條件、作業(yè)順序和作業(yè)時(shí)間等〕,通過(guò)直接或間接手段,對(duì)工業(yè)機(jī)器人進(jìn)行“示教〞,工業(yè)機(jī)器人將這些知識(shí)記憶下來(lái)后,即可根據(jù)“再現(xiàn)〞指令,在一定精度范圍內(nèi),忠實(shí)的重復(fù)再現(xiàn)各種被示教的動(dòng)作。1962年美國(guó)萬(wàn)能自動(dòng)化公司的第一臺(tái)Unimate工業(yè)機(jī)器人在美國(guó)通用汽車公司投入使用,標(biāo)志著第一代工業(yè)機(jī)器人的誕生。第二代工業(yè)機(jī)器人:通常是指具有某種智能〔如觸覺(jué)、力覺(jué)、視覺(jué)等〕功能的“智能機(jī)器人〞。即有傳感器得到觸覺(jué)、力覺(jué)和視覺(jué)等信息計(jì)算機(jī)處理后,控制機(jī)器人的操作機(jī)完成相應(yīng)的適當(dāng)操作。1982年美國(guó)通用汽車在裝配線上為工業(yè)機(jī)器人裝備了視覺(jué)系統(tǒng),從而宣布了新一代智能工業(yè)機(jī)器人的問(wèn)世。第三代工業(yè)機(jī)器人:即所謂的“只治式工業(yè)機(jī)器人〞。它不僅具有感知功能,而且還有一定的決策及規(guī)劃能力。第一代工業(yè)機(jī)器人目前仍處在實(shí)驗(yàn)室研究階段。工業(yè)機(jī)器人經(jīng)歷了誕生---成長(zhǎng)---成熟期后,已成為制造業(yè)中不可缺少的核心裝備,世界上有約75萬(wàn)臺(tái)工業(yè)機(jī)器人正與工人朋友并肩戰(zhàn)斗在個(gè)條生產(chǎn)線上,特種機(jī)器人作為機(jī)器人家族的后起之秀,由于其用途廣泛而大有后來(lái)居上之勢(shì),仿人機(jī)器人、農(nóng)業(yè)機(jī)器人、效勞機(jī)器人、水下機(jī)器人、醫(yī)療機(jī)器人、軍用機(jī)器人、娛樂(lè)機(jī)器人等各種用途發(fā)特種機(jī)器人紛紛面世,而且正以飛快的速度向?qū)嵱没~進(jìn)。我國(guó)的工業(yè)機(jī)器人從80年代“七五〞科技攻關(guān)開(kāi)始起步,在國(guó)家的支持下,通過(guò)“七五〞、“八五〞科技攻關(guān),目前已根本掌握了機(jī)器人的操作機(jī)的設(shè)計(jì)制造技術(shù)、控制系統(tǒng)硬件和軟件設(shè)計(jì)技術(shù)、運(yùn)動(dòng)學(xué)和軌跡規(guī)劃技術(shù)、生產(chǎn)了局部機(jī)器人的關(guān)鍵元器件,開(kāi)發(fā)出噴漆、焊弧、點(diǎn)焊、裝配、搬運(yùn)等機(jī)器人;其中有130多臺(tái)配套噴漆機(jī)器人在二十與家企業(yè)的近30條自動(dòng)噴漆生產(chǎn)線上獲得規(guī)模應(yīng)用,弧焊機(jī)器人已應(yīng)用在汽車制造廠的焊裝線上。但總的來(lái)看,我國(guó)的工業(yè)機(jī)器人技術(shù)及其工程應(yīng)用水平和國(guó)外比還有一定的距離,如:可靠性低于國(guó)外產(chǎn)品;機(jī)器人應(yīng)工程起步較晚,應(yīng)用領(lǐng)域窄,生產(chǎn)線系統(tǒng)技術(shù)與國(guó)外比有差距;在應(yīng)用規(guī)模上,我國(guó)已安裝的國(guó)產(chǎn)工業(yè)機(jī)器人約200臺(tái),約占全球已安裝臺(tái)數(shù)的萬(wàn)分之四。以上原因主要是沒(méi)有形成機(jī)器人產(chǎn)業(yè),當(dāng)前我國(guó)的機(jī)器人生產(chǎn)都是應(yīng)用戶的要求,“一客戶,一次重新設(shè)計(jì)〞,品種規(guī)格多、批量小、零部件通用化程度低、供貨周期長(zhǎng)、本錢(qián)也不低,而且質(zhì)量、可靠性不穩(wěn)定。因此迫切需要解決產(chǎn)業(yè)化前期的關(guān)鍵技術(shù),對(duì)產(chǎn)品進(jìn)行全面規(guī)劃,搞好系列化、通用化、?;O(shè)計(jì),積極推進(jìn)產(chǎn)業(yè)化進(jìn)程。1.1.2工業(yè)機(jī)器人的分類工業(yè)機(jī)器人按不同的方法可分下述類型工業(yè)機(jī)器人按操作機(jī)坐標(biāo)形式分以下幾類:〔坐標(biāo)形式是指操作機(jī)的手臂在運(yùn)動(dòng)時(shí)所取的參考坐標(biāo)系的形式?!场?〕直角坐標(biāo)型工業(yè)機(jī)器人其運(yùn)動(dòng)局部由三個(gè)相互垂直的直線移動(dòng)〔即PPP〕組成,其工作空間圖形為長(zhǎng)方形。它在各個(gè)軸向的移動(dòng)距離,可在各個(gè)坐標(biāo)軸上直接讀出,直觀性強(qiáng),易于位置和姿態(tài)的編程計(jì)算,定位精度高,控制無(wú)耦合,結(jié)構(gòu)簡(jiǎn)單,但機(jī)體所占空間體積大,動(dòng)作范圍小,靈活性差,難與其他工業(yè)機(jī)器人協(xié)調(diào)工作?!?〕圓柱坐標(biāo)型工業(yè)機(jī)器人其運(yùn)動(dòng)形式是通過(guò)一個(gè)轉(zhuǎn)動(dòng)和兩個(gè)移動(dòng)組成的運(yùn)動(dòng)系統(tǒng)來(lái)實(shí)現(xiàn)的,其工作空間圖形為圓柱,與直角坐標(biāo)型工業(yè)機(jī)器人相比,在相同的工作空間條件下,機(jī)體所占體積小,而運(yùn)動(dòng)范圍大,其位置精度僅次于直角坐標(biāo)型機(jī)器人,難與其他工業(yè)機(jī)器人協(xié)調(diào)工作?!?〕球坐標(biāo)型工業(yè)機(jī)器人又稱極坐標(biāo)型工業(yè)機(jī)器人,其手臂的運(yùn)動(dòng)由兩個(gè)轉(zhuǎn)動(dòng)和一個(gè)直線移動(dòng)〔即RRP,一個(gè)回轉(zhuǎn),一個(gè)俯仰和一個(gè)伸縮運(yùn)動(dòng)〕所組成,其工作空間為一球體,它可以作上下俯仰動(dòng)作并能抓取地面上或教低位置的協(xié)調(diào)工件,其位置精度高,位置誤差與臂長(zhǎng)成正比?!?〕多關(guān)節(jié)型工業(yè)機(jī)器人又稱回轉(zhuǎn)坐標(biāo)型工業(yè)機(jī)器人,這種工業(yè)機(jī)器人的手臂與人一體上肢類似,其前三個(gè)關(guān)節(jié)是回轉(zhuǎn)副〔即RRR〕,該工業(yè)機(jī)器人一般由立柱和大小臂組成,立柱與大臂見(jiàn)形成肩關(guān)節(jié),大臂和小臂間形成肘關(guān)節(jié),可使大臂做回轉(zhuǎn)運(yùn)動(dòng)和俯仰擺動(dòng),小臂做仰俯擺動(dòng)。其結(jié)構(gòu)最緊湊,靈活性大,占地面積最小,能與其他工業(yè)機(jī)器人協(xié)調(diào)工作,但位置精度教低,有平衡問(wèn)題,控制耦合,這種工業(yè)機(jī)器人應(yīng)用越來(lái)越廣泛?!?〕平面關(guān)節(jié)型工業(yè)機(jī)器人它采用一個(gè)移動(dòng)關(guān)節(jié)和兩個(gè)回轉(zhuǎn)關(guān)節(jié)〔即PRR〕,移動(dòng)關(guān)節(jié)實(shí)現(xiàn)上下運(yùn)動(dòng),而兩個(gè)回轉(zhuǎn)關(guān)節(jié)那么控制前后、左右運(yùn)動(dòng)。這種形式的工業(yè)機(jī)器人又稱〔SCARA(SeletiveComplianceAssemblyRobotArm)裝配機(jī)器人。在水平方向那么具有柔順性,而在垂直方向那么有教大的剛性。它結(jié)構(gòu)簡(jiǎn)單,動(dòng)作靈活,多用于裝配作業(yè)中,特別適合小規(guī)格零件的插接裝配,如在電子工業(yè)的插接、裝配中應(yīng)用廣泛。工業(yè)機(jī)器人按驅(qū)動(dòng)方式分以下幾類:〔1〕氣動(dòng)式工業(yè)機(jī)器人這類工業(yè)機(jī)器人以壓縮空氣來(lái)驅(qū)動(dòng)操作機(jī),其優(yōu)點(diǎn)是空氣來(lái)源方便,動(dòng)作迅速,結(jié)構(gòu)簡(jiǎn)單造價(jià)低,無(wú)污染,缺點(diǎn)是空氣具有可壓縮性,導(dǎo)致工作速度的穩(wěn)定性較差,又因氣源壓力一般只有6kPa左右,所以這類工業(yè)機(jī)器人抓舉力較小,一般只有幾十牛頓,最大百余牛頓。〔2〕液壓式工業(yè)機(jī)器人液壓壓力比氣壓壓力高得多,一般為70kPa左右,故液壓傳開(kāi)工業(yè)機(jī)器人具有較大的抓舉能力,可達(dá)上千牛頓。這類工業(yè)機(jī)器人結(jié)構(gòu)緊湊,傳動(dòng)平穩(wěn),動(dòng)作靈敏,但對(duì)密封要求較高,且不宜在高溫或低溫環(huán)境下工作?!?〕電動(dòng)式工業(yè)機(jī)器人這是目前用得最多的一類工業(yè)機(jī)器人,不僅因?yàn)殡妱?dòng)機(jī)品種眾多,為工業(yè)機(jī)器人設(shè)計(jì)提供了多種選擇,也因?yàn)樗鼈兛梢赃\(yùn)用多種靈活控制的方法。早期多采用步進(jìn)電機(jī)驅(qū)動(dòng),后來(lái)開(kāi)展了直流伺服驅(qū)動(dòng)單元,目前交流伺服驅(qū)動(dòng)單元也在迅速開(kāi)展。這些驅(qū)動(dòng)單元或是直接驅(qū)動(dòng)操作機(jī),或是通過(guò)諸如諧波減速器的裝置來(lái)減速后驅(qū)動(dòng),結(jié)構(gòu)十分緊湊、簡(jiǎn)單。1.2工業(yè)機(jī)器人控制系統(tǒng)1.2.1工業(yè)機(jī)器人控制系統(tǒng)的特點(diǎn)工業(yè)機(jī)器人的控制技術(shù)是在傳統(tǒng)機(jī)械系統(tǒng)的控制技術(shù)的根底上開(kāi)展起來(lái)的,因此兩者之間并無(wú)根本的不同但工業(yè)機(jī)器人控制系統(tǒng)也有許多特殊之處。其特點(diǎn)如下:〔1〕工業(yè)機(jī)器人有假設(shè)干個(gè)關(guān)節(jié),典型工業(yè)機(jī)器人有五六個(gè)關(guān)節(jié),每個(gè)關(guān)節(jié)由一個(gè)伺服系統(tǒng)控制,多個(gè)關(guān)節(jié)的運(yùn)動(dòng)要求各個(gè)伺服系統(tǒng)協(xié)同工作?!?〕工業(yè)機(jī)器人的工作任務(wù)是要求操作機(jī)的手部進(jìn)行空間點(diǎn)位運(yùn)動(dòng)或連續(xù)軌跡運(yùn)動(dòng),對(duì)工業(yè)機(jī)器人的運(yùn)動(dòng)控制,需要進(jìn)行復(fù)雜的坐標(biāo)變換運(yùn)算,以及矩陣函數(shù)的逆運(yùn)算?!?〕工業(yè)機(jī)器人的數(shù)學(xué)模型是一個(gè)多變量、非線性和變參數(shù)的復(fù)雜模型,各變量之間還存在著耦合,因此工業(yè)機(jī)器人的控制中經(jīng)常使用前饋、補(bǔ)償、解耦和自適應(yīng)等復(fù)雜控制技術(shù)?!?〕較高級(jí)的工業(yè)機(jī)器人要求對(duì)環(huán)境條件、控制指令進(jìn)行測(cè)定和分析,采用計(jì)算機(jī)建立龐大的信息庫(kù),用人工智能的方法進(jìn)行控制、決策、管理和操作,按照給定的要求,自動(dòng)選擇最正確控制規(guī)律。工業(yè)機(jī)器人的控制系統(tǒng)發(fā)根本要求有:〔1〕實(shí)現(xiàn)對(duì)工業(yè)機(jī)器人的位置、速度、加速度等控制功能,對(duì)于連續(xù)軌跡運(yùn)動(dòng)的工業(yè)機(jī)器人還必須具有軌跡的規(guī)劃與控制功能。〔2〕方便的人---機(jī)交互功能,操作人員采用直接指令代碼對(duì)工業(yè)機(jī)器人進(jìn)行作用指示。使用工業(yè)機(jī)器人具有作業(yè)知識(shí)的記憶、修正和工作程序的跳轉(zhuǎn)功能。〔3〕具有對(duì)外部環(huán)境〔包括作業(yè)條件〕的檢測(cè)和感覺(jué)功能。為使工業(yè)機(jī)器人具有對(duì)外部狀態(tài)變化的適應(yīng)能力,工業(yè)機(jī)器人應(yīng)能對(duì)諸如視覺(jué)、力覺(jué)、觸覺(jué)等有關(guān)信息進(jìn)行測(cè)量、識(shí)別、判斷、理解等功能。在自動(dòng)化生產(chǎn)線中,工業(yè)機(jī)器人應(yīng)用與其它設(shè)備交換信息,協(xié)調(diào)工作的能力。1.2.2工業(yè)機(jī)器人控制系統(tǒng)的分類:工業(yè)機(jī)器人控制系統(tǒng)可以從不同角度分類,如控制運(yùn)動(dòng)的方式不同,可為關(guān)節(jié)控制、笛卡爾空間運(yùn)動(dòng)控制和自適應(yīng)控制;按軌跡控制方式的不同,可分為點(diǎn)位控制和連續(xù)軌跡控制;按速度控制方式的不同,可分為速度控制、加速度控制、力控制。程序控制系統(tǒng):給每個(gè)自由度施加一定規(guī)律的控制作用,機(jī)器人就可實(shí)現(xiàn)要求的空間軌跡。自適應(yīng)控制系統(tǒng):當(dāng)外界條件變化時(shí),為保證所要求的品質(zhì)或?yàn)榱穗S著經(jīng)驗(yàn)的積累而自行改善控制品質(zhì),其過(guò)程是基于操作機(jī)的狀態(tài)和伺服誤差的觀察,再調(diào)整非線性模型的參數(shù),一直到誤差消失為止。這種系統(tǒng)的結(jié)構(gòu)和參數(shù)能隨時(shí)間和條件自動(dòng)改變。人工智能系統(tǒng):事先無(wú)法編制運(yùn)動(dòng)程序,而是要求在運(yùn)動(dòng)過(guò)程中根據(jù)所獲得的周圍狀態(tài)信息,實(shí)時(shí)確定控制作用。當(dāng)外界條件變化時(shí),為保證所要求的品質(zhì)或?yàn)榱穗S著經(jīng)驗(yàn)的積累而自行改善控制品質(zhì),其過(guò)程是基于操作機(jī)的狀態(tài)和伺服誤差的觀察,再調(diào)整非線性模型的參數(shù),一直到誤差消失為止。這種系統(tǒng)的結(jié)構(gòu)和參數(shù)能隨時(shí)間和條件自動(dòng)改變。因而本系統(tǒng)是一種自適應(yīng)控制系統(tǒng)。第二章基于運(yùn)動(dòng)卡的控制系統(tǒng)的建立2.1總體系統(tǒng)的構(gòu)建2.1.1總體方案確實(shí)定機(jī)器人控制系統(tǒng)是一種典型的多軸實(shí)時(shí)運(yùn)動(dòng)控制系統(tǒng)。傳統(tǒng)的機(jī)器人控制系統(tǒng)根本上是設(shè)計(jì)者基于自己的獨(dú)立結(jié)構(gòu)和生產(chǎn)目的而開(kāi)發(fā),它采用了專用計(jì)算機(jī)、專用機(jī)器人語(yǔ)言、專用微處理器的封閉式體系結(jié)構(gòu)。這種結(jié)構(gòu)的控制器存在制造和使用本錢(qián)高,開(kāi)發(fā)周期長(zhǎng),升級(jí)換代困難,無(wú)法添加系統(tǒng)的新功能等一系列缺點(diǎn)。該系統(tǒng)基于TRIO運(yùn)動(dòng)控制卡的開(kāi)放式結(jié)構(gòu)機(jī)器人控制系統(tǒng),采用IPC+DSP的結(jié)構(gòu)來(lái)實(shí)現(xiàn)機(jī)器人的控制。這種機(jī)器人控制系統(tǒng)采用開(kāi)放式硬件、軟件結(jié)構(gòu),可以根據(jù)需要方便地?cái)U(kuò)展功能,具有良好的開(kāi)放性和擴(kuò)展性,能適應(yīng)于不同類型機(jī)器人或機(jī)器人自動(dòng)生產(chǎn)線。通過(guò)運(yùn)動(dòng)控制卡在工業(yè)機(jī)器人控制系統(tǒng)中的應(yīng)用,根據(jù)運(yùn)動(dòng)控制的相關(guān)理論和直流伺服電機(jī)的具有不易受干擾、易于用微機(jī)實(shí)現(xiàn)數(shù)字控制、無(wú)積累誤差等特性以及其動(dòng)作迅速、反映快、維護(hù)簡(jiǎn)單、可實(shí)現(xiàn)過(guò)載自動(dòng)保護(hù)等特點(diǎn)作為相關(guān)背景的根底之上提出了基于TRIO運(yùn)動(dòng)控制卡的自動(dòng)化程度和定位精度均較高的工業(yè)機(jī)器人控制系統(tǒng)。這種機(jī)器人控制系統(tǒng)的重要特點(diǎn)在于它采用通用個(gè)人計(jì)算機(jī)加DSP—多控制回路的開(kāi)放式體系結(jié)構(gòu)以及它的網(wǎng)絡(luò)控制特性。2.1.2可行性論證目前,由于高起動(dòng)轉(zhuǎn)矩、大轉(zhuǎn)矩、低慣量的交、直流伺服電動(dòng)機(jī)在工業(yè)機(jī)器人中得到廣泛應(yīng)用一般負(fù)載1000N〔相當(dāng)100kgf〕以下的工業(yè)機(jī)器人大多采用電伺服驅(qū)動(dòng)系統(tǒng)。所采用的關(guān)節(jié)驅(qū)動(dòng)電動(dòng)機(jī)主要是AC伺服電動(dòng)機(jī)。其中,交流伺服電動(dòng)機(jī)、直流伺服電動(dòng)機(jī)、直流驅(qū)動(dòng)電動(dòng)機(jī)〔DD〕均采用位置閉環(huán)控制,一般應(yīng)用于高精度、高速度的機(jī)器人驅(qū)動(dòng)系統(tǒng)中。利用運(yùn)動(dòng)控制卡〔運(yùn)動(dòng)控制和邏輯算法有機(jī)的結(jié)合,輕松實(shí)現(xiàn)多種運(yùn)動(dòng)形式的運(yùn)動(dòng)控制器〕對(duì)機(jī)器人驅(qū)動(dòng)系統(tǒng)進(jìn)行控制能夠有效地提高整個(gè)機(jī)器人系統(tǒng)的性能及開(kāi)發(fā)效率。由于機(jī)器人需要精確的控制和精準(zhǔn)的定位,采用適宜的直流電機(jī)調(diào)速器和光電軸角編碼器即能滿足要求。PCI—208是TrioMotion公司的一款基于PC的PCI總線控制的數(shù)字運(yùn)動(dòng)控制卡,該控制卡采用了獨(dú)立的120MHZ大DSP微處理器技術(shù),提高了電機(jī)運(yùn)動(dòng)和計(jì)算速度。該控制卡可以控制2—8軸的伺服電機(jī)或步進(jìn)電機(jī)或者二者的任意結(jié)合;32-bit的33MZ,2.2版本的PCI總線。采用100-pin的高精度屏蔽電纜與外部轉(zhuǎn)接板模塊連接,提高了設(shè)備的抗干擾信號(hào)的能力。提供ActiveX可以用VB、VC、C/C++等高級(jí)語(yǔ)言根據(jù)設(shè)備的需要進(jìn)行二次開(kāi)發(fā),還有CAN總線口,可以根據(jù)設(shè)備的需要對(duì)I/O和摸擬輸入口進(jìn)行擴(kuò)展,能夠滿足要求。由于所選用的硬件設(shè)備都是市場(chǎng)上成熟的,綜上所述,本設(shè)計(jì)題目的理論根底、整體的設(shè)想和所實(shí)施的方案是切實(shí)可行的,在老師的指導(dǎo)下,借鑒相關(guān)書(shū)籍,通過(guò)通過(guò)自己的學(xué)習(xí),能夠到達(dá)本次設(shè)計(jì)的要求。2.1.3系統(tǒng)的構(gòu)成該系統(tǒng)主要由個(gè)人PC、PCI—208系列TRIO運(yùn)動(dòng)控制卡、運(yùn)動(dòng)卡外接線板、ZK4系列直流電機(jī)調(diào)速器、光電軸角編碼器、系統(tǒng)工作狀態(tài)檢測(cè)輸入行程開(kāi)關(guān)等組成。TRIO運(yùn)動(dòng)控制卡通過(guò)對(duì)直流電機(jī)調(diào)速器發(fā)出模擬電壓信號(hào)對(duì)直流伺服電動(dòng)機(jī)的轉(zhuǎn)上速、角位移、正、反轉(zhuǎn)等進(jìn)行控制,從而外控制輸出電機(jī)驅(qū)動(dòng);且還在系統(tǒng)中采用光電軸角編碼器對(duì)電機(jī)的參數(shù)運(yùn)行狀態(tài)以及程序的運(yùn)行狀態(tài)進(jìn)行反響;另外還設(shè)置行程開(kāi)關(guān)對(duì)電機(jī)的行程位置進(jìn)行控制。2.1.4機(jī)器人控制工作原理機(jī)器人具有三個(gè)自由度〔即:RRP—大臂盤(pán)旋、仰角、小臂伸縮三個(gè)運(yùn)動(dòng)〕和一個(gè)爪開(kāi)合動(dòng)作,采用全電機(jī)驅(qū)動(dòng)控制。機(jī)器人本體由機(jī)身、大臂、小臂、手找等組成。機(jī)身固定在機(jī)械小車上;大臂可以繞著機(jī)身在水平面內(nèi)和垂直面內(nèi)旋轉(zhuǎn);小臂在絲桿的傳動(dòng)下,可以前后進(jìn)行伸縮。在大臂和小臂的共同作用下,機(jī)械手的手爪能夠接近要抓的物體。當(dāng)物體被控制在手爪的控制范圍內(nèi)時(shí),手爪夾緊物體,然后通過(guò)大臂的旋轉(zhuǎn)和小臂的伸縮運(yùn)動(dòng),最終將物體置于規(guī)定的位置。機(jī)器人大臂盤(pán)旋運(yùn)動(dòng)和大臂仰角運(yùn)動(dòng)均采用直流電動(dòng)機(jī)、諧波減速器傳動(dòng),PWM脈寬調(diào)速器控制,可實(shí)現(xiàn)20—2000mm/Min無(wú)級(jí)調(diào)速控制。機(jī)器人本體結(jié)構(gòu)如下列圖:1—機(jī)械手爪2—機(jī)械手小臂3—機(jī)械手大臂4—機(jī)身手爪開(kāi)合采用連桿及螺旋機(jī)構(gòu),同步電機(jī)驅(qū)動(dòng),其結(jié)構(gòu)簡(jiǎn)單,無(wú)調(diào)速器,電路控制方便。由于在機(jī)械結(jié)構(gòu)設(shè)計(jì)中采用了諧波減速器、滾珠絲桿、滾珠直線導(dǎo)軌等精密傳動(dòng)裝置,機(jī)器人手爪定位可到達(dá)較高的精度??刂葡到y(tǒng)電氣原理圖如圖,其工作原理如下:機(jī)器人大臂盤(pán)旋運(yùn)動(dòng)和大臂仰角運(yùn)動(dòng)均采用直流電動(dòng)機(jī)M1和M2控制,小臂伸縮采用直流電動(dòng)機(jī)M3控制,手爪的開(kāi)合由單相交流電動(dòng)機(jī)M4控制,每個(gè)電動(dòng)機(jī)均由兩個(gè)中間繼電器控制其正、反轉(zhuǎn)。首先是各運(yùn)動(dòng)軸分別復(fù)位,電動(dòng)機(jī)m1、m2、m3反轉(zhuǎn)輸出端口OUT11、OUT13、OUT15輸出24V電壓各軸正向運(yùn)動(dòng)。當(dāng)它們踏上了各自的行程開(kāi)關(guān)時(shí)外接24V分別輸入到INPUT0、INPUT1、INPUT2的輸入端口由運(yùn)動(dòng)控制卡進(jìn)行判斷并作為運(yùn)動(dòng)的原點(diǎn)。然后,當(dāng)運(yùn)動(dòng)控制卡的24V電壓輸出端口OUT11輸出指令時(shí),接通繼電器KA4,電動(dòng)機(jī)M1得點(diǎn)正轉(zhuǎn),機(jī)器人大臂向上仰運(yùn)動(dòng),到達(dá)極限位置時(shí)撞下前限位開(kāi)關(guān)ST1,繼電器KA4線圈斷電機(jī)停止運(yùn)轉(zhuǎn)。當(dāng)運(yùn)動(dòng)控制卡電壓輸出端口OUT12輸出指令時(shí),繼電器KA5線圈得電,電動(dòng)機(jī)M1得電反轉(zhuǎn)機(jī)器人大臂向下仰運(yùn)動(dòng),到達(dá)極限位置時(shí)撞下后限位開(kāi)光ST2,繼電器KA5斷電,電機(jī)停止運(yùn)轉(zhuǎn)。電動(dòng)機(jī)M1的運(yùn)動(dòng)控制由運(yùn)動(dòng)控制卡的+10/-10V模擬電壓輸出端口OUT0輸出的指令控制。當(dāng)運(yùn)動(dòng)控制卡電壓輸出端口OUT13輸出指令時(shí),繼電器KA6線圈得電,電動(dòng)機(jī)M2得電正轉(zhuǎn),機(jī)器人大臂向左旋運(yùn)動(dòng),到達(dá)極限位置時(shí)撞下前限位開(kāi)關(guān)ST3,繼電器KA6斷電,電機(jī)停止運(yùn)轉(zhuǎn)。當(dāng)運(yùn)動(dòng)控制卡電壓輸出端口OUT14輸出指令時(shí),繼電器KA7線圈得電,電動(dòng)機(jī)M2得電反轉(zhuǎn),機(jī)器人大臂向右旋運(yùn)動(dòng),到達(dá)極限位置時(shí)撞下后限位開(kāi)關(guān)ST4,繼電器KA7斷電,電機(jī)停止運(yùn)轉(zhuǎn),電動(dòng)機(jī)M2的運(yùn)轉(zhuǎn)速度由運(yùn)動(dòng)控制卡+10/-10V模擬電壓輸出端口OUT1發(fā)出指令控制。當(dāng)運(yùn)動(dòng)控制卡電壓輸出端口OUT15輸出指令時(shí),繼電器KA8線圈得電,電動(dòng)機(jī)M3得電正轉(zhuǎn),機(jī)器人小臂向前伸運(yùn)動(dòng),到達(dá)極限位置時(shí)撞下前限位開(kāi)關(guān)ST5,繼電器KA8線圈斷電,電機(jī)停止運(yùn)轉(zhuǎn),當(dāng)運(yùn)動(dòng)控制卡輸出斷口OUT16輸出指令時(shí)繼電器KA9線圈得電,電動(dòng)機(jī)M3得電反轉(zhuǎn),機(jī)器人小臂向后縮運(yùn)動(dòng)到過(guò)極限位置時(shí)撞下后限位開(kāi)關(guān)ST6,繼電器KA9斷電,電機(jī)停止運(yùn)動(dòng),電動(dòng)機(jī)M3運(yùn)轉(zhuǎn)速度由運(yùn)動(dòng)控制卡+10/-10V模擬電壓輸出端口OUT2發(fā)出指令控制。繼電器KA1和KA2分別控制機(jī)器人手爪的開(kāi)合當(dāng)向前伸時(shí)OUTPUT8輸出24V,撞到前限位開(kāi)關(guān)停止運(yùn)動(dòng);當(dāng)OUTPUT9輸出時(shí)向后伸縮撞到后限位開(kāi)關(guān)停止運(yùn)動(dòng)。光電軸角編碼器由三個(gè)編碼器輸入端口反響回各軸的實(shí)際運(yùn)動(dòng)位置給運(yùn)動(dòng)控制卡。2.2軟件介紹2.2.1軟件編程語(yǔ)言的特點(diǎn)TRIOBasic一種類似欲BASIC的語(yǔ)言,簡(jiǎn)單明了,易學(xué)易用。OCXComponent在VB、VC、Delphi、C++Builder中,直接調(diào)用運(yùn)動(dòng)函數(shù)PCI—208的安裝運(yùn)行Install_TrioPCMotion_1_2_3.exe程序。該程序?qū))自動(dòng)將PCI208的設(shè)備驅(qū)動(dòng)文件TrioPCI.sys安裝到c:\windows\system32\driver\目錄下;b)自動(dòng)將Active控件TrioPC.ocx及其幫助文件TrioPcMotionActiveX.chm安裝到C:\ProgramFiles\TrioMotion\TrioPCMotion\目錄下。安裝成功后,在“設(shè)備管理器〞中可查看有關(guān)PCI208的相關(guān)信息,如下列圖示程序界面在VB6.0中翻開(kāi)工程文件“Project1.vbp〞,在編譯環(huán)境中,直接運(yùn)行〔F5〕,程序操作畫(huà)面及介紹如下:首先進(jìn)入Form1顯示“歡送使用PCI208運(yùn)動(dòng)控制操作界面〞,單擊進(jìn)入按扭便進(jìn)入Form2程序界面。如果單擊翻開(kāi)按扭TRIOPCI由紅色小方塊變?yōu)榫G色小方框,說(shuō)明PCI208和OCX之間已成功建立連接。如果仍然為紅色說(shuō)明PCI208和OCX之間的連接未成功建立。在此程序中,可進(jìn)行運(yùn)動(dòng)控制和軸位置及I/O狀態(tài)顯示等功能。運(yùn)動(dòng)控制主要是OUTPUT8-17的輸出的開(kāi)關(guān)控制,還有INPUT33-35的原點(diǎn)檢測(cè)控制,及運(yùn)動(dòng)距離輸出控制等方面。其中關(guān)閉按扭是關(guān)閉trio軟件的連接;運(yùn)動(dòng)按扭是根據(jù)輸入的距離值進(jìn)行運(yùn)動(dòng);復(fù)位按扭是進(jìn)行各軸的原點(diǎn)復(fù)位運(yùn)動(dòng);單擊退出操作便結(jié)束程序的執(zhí)行。2.2.2OCXComponent向工程中添加TrioPCOCX控件如圖在工程中調(diào)用函數(shù)圖:程序框圖界面:2.2.3指令系統(tǒng)〔1〕軸指令BASE、AXIS:指定以下運(yùn)動(dòng)指令所對(duì)應(yīng)的軸號(hào)UNITS:指定每一個(gè)編程單位所對(duì)應(yīng)的指令脈沖數(shù)ATYPE:指定軸類型SPEED:指定軸運(yùn)行速度ACCEL:指定軸加速度DECEL:指定軸減速度DATUM_IN:指定原點(diǎn)輸入點(diǎn)OFFPOS:位置偏置MPOS:讀取實(shí)際位置DPOS:讀取指令位置DAC:設(shè)置模擬量輸出AIN:讀取模擬量輸入FHOLD_IN:設(shè)置進(jìn)給保持輸入點(diǎn)FHSPEED:設(shè)置進(jìn)給保持速度〔2〕運(yùn)動(dòng)指令MOVE:相對(duì)運(yùn)動(dòng)MOVEABS:絕對(duì)運(yùn)動(dòng)FORWARD:恒速正向運(yùn)動(dòng)REVERSE:恒速負(fù)向運(yùn)動(dòng)RAPIDSTOP:停止DATUM:回原點(diǎn)MOVEMODIFY:運(yùn)動(dòng)中改變目標(biāo)位置DEFPOS:重新定義當(dāng)前位置ADD_DAC:全閉環(huán)控制WDOG:輸出使能〔3〕輸入、輸出指令A(yù)IN:讀取模擬量輸入DAC:設(shè)置模擬量輸出IN:讀取開(kāi)關(guān)量輸入OP:設(shè)置開(kāi)關(guān)量輸出PSWITCH:位置比擬輸出PRINT:顯示〔4〕程序流程控制IF……THEN….ELSE….ENDIF:條件判斷FOR…TO..STEP…NEXT:循環(huán)控制GOTO:無(wú)條件跳轉(zhuǎn)GOTOSUB:調(diào)用子程序ON…GOTO:條件跳轉(zhuǎn)ON..GOTOSUB:條件調(diào)用子程序REPEAT..UNTIL:重復(fù)執(zhí)行控制WHILE:條件判斷WAITIDLE:等待運(yùn)動(dòng)結(jié)束WAITUNTIL:等待WA:延時(shí)〔5〕運(yùn)算處理指令1、算術(shù)運(yùn)算:+、-、*、/、SQR、EXP2、邏輯運(yùn)算:=、<>、>、<、>=、<=、AND、NOT、OR、XOR2.2.4運(yùn)動(dòng)控制程序如下:PrivateSubCommand1_Click()Form2.ShowUnloadForm1EndSubPrivateSubForm_Load()Label1.Caption="歡送使用PCI208運(yùn)動(dòng)控制界面"Label1.FontSize=18Label1.Font=楷體_GB2312Form1.BackColor=&HFFFF80EndSubOptionExplicitDimg_brunningIOAsBooleanDimg_brunningMoveAsBooleanDimg_nIOCountAsIntegerDimg_nMoveNoAsIntegerConstgk_sDefaultHostAddressAsString="192.168.0.250"Constgk_nDefaultPciBoardAsInteger=0Constgk_nDefaultLinkAsInteger=0Constgk_ndefaultModeAsInteger=0Constgk_nMaxAxesAsInteger=8Constgk_nAxesInUseAsInteger=3PrivateSubCommand1_Click()DimbopenAsBooleanTrioPCI.HostAddress=gk_sDefaultHostAddressTrioPCI.Board=gk_nDefaultPciBoardbopen=TrioPCI.Open(gk_nDefaultLink,gk_ndefaultMode)CallUpdateButtonStatesRefreshEndSubPrivateSubCommand2_Click()IfTrioPCI.IsOpen(gk_ndefaultMode)ThenTrioPCI.Close(gk_ndefaultMode)EndIfCallUpdateButtonStatesRefreshEndSubPrivateSubCommand3_Click()CallInitAxesIfTrioPCI.IsOpen(gk_ndefaultMode)ThenCallproccessStateRunEndIfEndSubPrivateSubCommand4_Click()DimAxisAsIntegerDimbokAsBooleanDimdreadvalAsDoubleIfTrioPCI.IsOpen(gk_ndefaultMode)Theng_brunningMove=TrueIfg_brunningMoveThenForAxis=0To2bok=TrioPCI.Op(12+2*Axis,1#)DoUntilLabel(33+Axis).Caption="on"CallreadIOLoopIfLabel(33+Axis).Caption="on"Thenbok=TrioPCI.Op(12+2*Axis,0#)EndIfCallReadAxisPostionsNextnAxisg_brunningMove=FalseCallUpdateButtonStatesEndIfEndIfEndSubPrivateSubCommand5_Click()EndEndSubPrivateSubForm2_Load()g_brunningIO=Falseg_brunningMove=FalsetimUpdate.Enabled=Trueg_nIOCount=0g_nMoveNo=0UpdateButtonStateEndSubPrivateSubForm_Load()Label27.Caption="運(yùn)動(dòng)距離的輸入:"Label27.FontSize=15Label31.Caption="軸位置顯示:"Label31.FontSize=15Label32.Caption="I/O狀態(tài)顯示:"Label32.FontSize=15Form2.BackColor=&HC0FFC0EndSubPrivateSubForm_Unload(CancelAsInteger)IfTrioPCI.IsOpen(gk_ndefaultMode)ThenaxTrioPC.Close(gk_ndefaultMode)EndIfEndSubOptionExplicitPrivateSubInitAxes()DimbokAsBooleanDimnAxiseAsIntegerDimnBases(gk_nAxesInUse)AsIntegerDimdreadvalAsDoubleIfTrioPCI.IsOpen(gk_ndefaultMode)Thenbok=TrioPCI.GetVariable("WDOG",dreadval)Ifdreadval>0.5Thenbok=TrioPCI.SetVariable("WDOG",0#)EndIfFornAxis=0Togk_nAxesInUse-1nBases(0)=nAxisbok=TrioPCI.Base(1,nBases)IfbokThenbok=TrioPCI.SetVariable("SERVO",0#)EndIfIfbokThenbok=TrioPCI.SetVariable("ATYPE",0#)EndIfIfbokThenbok=TrioPCI.SetVariable("UNITS",100#)EndIfIfbokThenbok=TrioPCI.SetVariable("REPDIST",1#)EndIfIfbokThenbok=TrioPCI.SetVariable("SPEED",100#)EndIfIfbokThenbok=TrioPCI.SetVariable("ACCEL",100#)EndIfIfbokThenbok=TrioPCI.SetVariable("DECEL",100#)EndIfIfbokThenbok=TrioPCI.SetVariable("FELIMIT",1000#)EndIfIfbokThenbok=TrioPCI.SetVariable("SERVO",1#)EndIfNextnAxisbok=TrioPCI.SetVariable("WDOG",1#)EndIfEndSubPrivateSubUpdateButtonStates()DimbopenAsBooleanbopen=TrioPCI.IsOpen(0)Command1.Enabled=NotbopenCommand2.Enabled=bopenAndNot(g_brunningIOOrg_brunningMove)Command3.Enabled=bopenAndNot(g_brunningIOAndg_brunningMove)EndSubPrivateSubReadAxisPostions()DimnAxisAsIntegerDimnAxes(gk_nMaxAxes)AsIntegerDimdpositionAsDoubleDimnMBRAsIntegerDimbokAsBooleanIfTrioPCI.IsOpen(gk_ndefaultMode)ThenFornAxis=0Togk_nAxesInUse-1nAxes(0)=nAxisIfTrioPCI.Base(1,nAxes)Thenbok=TrioPCI.GetVariable("DPOS",dposition)IfbokThenLabel(nAxis+1).Caption=Int(dposition)Label(nAxis+1).RefreshElsenMBR=MsgBox("errorreadingaxispositon")nAxis=gk_nAxesInUseEndIfElsenMBR=MsgBox("errorsettingbaseforreadingaxisposition")nAxis=gk_nAxesInUseNextnAxisElsenMBR=MsgBox("connectionnotopen")EndIfEndSubPrivateSubproccessStateRun()DimbokAsBooleanDimnAxisAsIntegerDimdreadvalAsDoubleDimnIOAsIntegerg_brunningIO=TrueIfg_brunningIOThennIO=0CallReadAxisPostionsFornIO=0To2CallreadIOIfVal(Text(nIO+1).Text)>50ThenMsgBox("數(shù)據(jù)過(guò)大")Elsebok=TrioPCI.Op(12+2*nIO,1#)bok=TrioPCI.MoveAbs(3,Val(Text(nIO+1).Text),nIO)CallReadAxisPostionsbok=TrioPCI.Op(11+2*nIO,0#)nIO=nIO+1EndIfNextnIOg_brunningIO=FalseCallUpdateButtonStatesEndIfEndSubPrivateSubreadIO()DimIIOAsLongDimnBitAsIntegerDimnMBRAsIntegerDimIBitAsIntegerDimInptAsLongIfTrioPCI.IsOpen(gk_ndefaultMode)ThenIfTrioPCI.In(8,17,IIO)ThenFornBit=7To16IfIIO<>0ThenLabel(nBit).Caption="on"Label(nBit).ForeColor=vbBlueElseLabel(nBit).Caption="off"Label(nBit).ForeColor=vbRedEndIfLabel(nBit).RefreshNextnBitElsenMBR=MsgBox("errorreadingIO")EndIfIfTrioPCI.In(0,2,Inpt)ThenForIBit=33To35IfInpt<>0ThenLabel(IBit).Caption="on"Label(nBit).ForeColor=vbBlueElseLabel(nBit).Caption="off"Label(nBit).ForeColor=vbRedEndIfLabel(IBit).RefreshNextnBitElsenMBR=MsgBox("errorreadingIO")EndIfElsenMBR=MsgBox("connectionnotopen")EndIfEndSub2.2.5運(yùn)動(dòng)控制程序運(yùn)行過(guò)程的簡(jiǎn)介:當(dāng)程序運(yùn)行時(shí),自動(dòng)進(jìn)入窗體一〔Form1〕點(diǎn)擊進(jìn)入按扭通過(guò)調(diào)用窗體顯示程序進(jìn)入窗體二〔Form2〕。進(jìn)入后首先應(yīng)該通過(guò)控件翻開(kāi)VB與MotionPerfect軟件的連接,這個(gè)可通過(guò)界面的翻開(kāi)按扭運(yùn)用OPEN命令即可翻開(kāi)與軟件的連接,并通過(guò)調(diào)用子程序UpdateButtonStates更新其狀態(tài)。翻開(kāi)了軟件連接后,機(jī)器人各軸的位置應(yīng)該回到初始狀態(tài),這個(gè)功能的實(shí)現(xiàn)了是通過(guò)復(fù)位程序來(lái)實(shí)現(xiàn)的。當(dāng)點(diǎn)擊復(fù)位按扭時(shí)就運(yùn)行復(fù)位程序復(fù)位,在程序運(yùn)行之前還要通過(guò)子程序InitAxes()進(jìn)行各軸的參數(shù)進(jìn)行設(shè)置,而設(shè)置參數(shù)是通過(guò)連接命令SetVariable來(lái)分別進(jìn)行設(shè)置的。設(shè)置完后而復(fù)位過(guò)程就通過(guò)循環(huán)來(lái)復(fù)位,即當(dāng)各軸進(jìn)行復(fù)位時(shí)分別通過(guò)控件連接的命令OP〔即OUTPUT〕輸出電動(dòng)機(jī)的反轉(zhuǎn)電信號(hào)〔24V電壓〕這時(shí)在軟件中相應(yīng)的輸出角狀態(tài)變?yōu)镺N。在各軸的復(fù)位運(yùn)行過(guò)程中通過(guò)子程序readIO分別循環(huán)檢測(cè)各軸的原點(diǎn)開(kāi)關(guān)輸入信號(hào)(24V電壓)的狀態(tài)是否為ON并顯示各輸入輸出的狀態(tài),而該狀態(tài)的讀取是通過(guò)控件連接命令I(lǐng)N輸入的。如果為該狀態(tài)就退出循環(huán)通過(guò)OP命令來(lái)輸出OFF來(lái)關(guān)斷反轉(zhuǎn)電信號(hào)即該軸就回到了原點(diǎn),隨后再通過(guò)子程序ReadAxisPostions顯示編碼器反響回的各軸的位置,該數(shù)據(jù)的讀取是讀取軸參數(shù)DPOS的值并通過(guò)連接命令GetVariable進(jìn)行獲取到變量postions通過(guò)賦值顯示并把該位置做為一個(gè)相對(duì)原點(diǎn)坐標(biāo)這樣整個(gè)復(fù)位程序運(yùn)行完成了。各軸復(fù)位完成以后,我們要進(jìn)行運(yùn)動(dòng)數(shù)據(jù)的輸入,即該軸要運(yùn)動(dòng)的距離。由于各軸運(yùn)動(dòng)的距離有限,所以在每次運(yùn)行時(shí)都要進(jìn)行文本框距離數(shù)據(jù)的判斷,假設(shè)距離值超過(guò)了設(shè)定值即要顯示一個(gè)對(duì)話框顯示數(shù)據(jù)過(guò)大。如果數(shù)據(jù)在正常的范圍之內(nèi),就通過(guò)控件OP命令分別輸出各電動(dòng)機(jī)的正轉(zhuǎn)運(yùn)動(dòng)信號(hào),并通過(guò)控件連接命令MoveAbs相對(duì)與反響位置點(diǎn)運(yùn)動(dòng)一斷相對(duì)距離,運(yùn)動(dòng)完成后再通過(guò)ReadAxisPostions子程序進(jìn)行位置顯示和readIO子程序進(jìn)行輸出狀態(tài)顯示,同樣通過(guò)GetVariable命令來(lái)獲取反響值之后再通過(guò)OP輸出OFF關(guān)閉各軸的運(yùn)動(dòng)電信號(hào),這些運(yùn)動(dòng)的實(shí)現(xiàn)是在子程序proccessStateRun()完成的。當(dāng)點(diǎn)擊運(yùn)動(dòng)按扭時(shí)就調(diào)用該子程序?qū)崿F(xiàn)整個(gè)運(yùn)動(dòng)的過(guò)程。這樣各軸的運(yùn)動(dòng)距離通過(guò)循環(huán)運(yùn)行子程序就到了預(yù)定的運(yùn)動(dòng)位置。最后在運(yùn)動(dòng)過(guò)程完成以后就要通過(guò)控件連接命令Close關(guān)閉與軟件的連接,并調(diào)用子程序UpdateButtonStates刷新按扭的狀態(tài),通過(guò)點(diǎn)擊退出按扭便退出操作就這樣整個(gè)程序的循環(huán)與檢測(cè)再運(yùn)行過(guò)程就結(jié)束了。第三章TRIOBASIC指令系統(tǒng)編程3.1運(yùn)動(dòng)及軸命令說(shuō)明或編程ACC類型:軸指令語(yǔ)法:ACC(acc率)注意:這個(gè)指令用來(lái)和舊的Trio控制器兼容。加速度率和減速度率可用ACCEL和DECEL軸參數(shù)設(shè)定。說(shuō)明:同時(shí)設(shè)定加速度率和減速度率參數(shù):acc率:參數(shù)單位決定于單位軸參數(shù)。加速度因子從UNITS/SEC/SEC輸入。應(yīng)用:ACC(100)AXIS類型:修改指令語(yǔ)法:AXIS〔軸數(shù)〕說(shuō)明:AXIS修改設(shè)置單軸運(yùn)動(dòng)指令或單軸參數(shù)讀寫(xiě)。AXIS參數(shù)在命令行或程序行特別有效。使用BASE指令改變根本軸。參數(shù):軸數(shù)任何有效的BASIC表達(dá)式特定軸數(shù)。注意:AXIS指令可用于修改以下指令的軸參數(shù):ADDAX,CAM,CAMBOX,CANCEL,CONNECT,DATUM,DEFPOS,F(xiàn)ORWARD,MOVEABS,MOVECIRC,MOVELINK,MOVE,MOVEMODIFY,REVERSE,REGIST,WAITIDLE,WAITLOADED。參閱:BASE()應(yīng)用:例子1PRINTMPOSAXIS〔3〕例子2MOVE〔300〕AXIS〔2〕例子3REPDISTAXIS〔3〕=100BASE類型:運(yùn)動(dòng)控制指令語(yǔ)法:BASE〔軸1,軸2,軸3〕BASE參數(shù):BA〔軸1,軸2,軸3〕BA說(shuō)明:BASE指令用于導(dǎo)向下一個(gè)運(yùn)動(dòng)指令軸的參數(shù)讀/寫(xiě)入特定軸或軸組,設(shè)置的缺省值依次為:0,1,2…每一個(gè)過(guò)程有其自己的BASE根本軸組,每個(gè)程序能單獨(dú)賦值。TrioBasic程序與控制軸運(yùn)動(dòng)的運(yùn)動(dòng)發(fā)生器分開(kāi)。每個(gè)軸的運(yùn)動(dòng)發(fā)生器有其獨(dú)立的功能,,因此每個(gè)軸能以自己的速度、加速度等進(jìn)行編程,單獨(dú)運(yùn)動(dòng),或者通過(guò)插補(bǔ)或鏈接運(yùn)動(dòng)鏈接在一起。AXIS〔〕命令只要應(yīng)用正在進(jìn)行的單命令可以重新導(dǎo)向不同的軸。而B(niǎo)ASE〔〕指令除非規(guī)定軸號(hào),否那么導(dǎo)向接下來(lái)的所有指令。參數(shù):軸號(hào):軸號(hào)或軸組號(hào)成為新的基準(zhǔn)軸排列,即軸號(hào)或軸組發(fā)送運(yùn)動(dòng)指令給多軸指令里的第一個(gè)軸。根本軸的軸數(shù)和順序軸在軸組用于多軸運(yùn)動(dòng)。應(yīng)用:例子1每軸可以有自己的速度,加速度和其它參數(shù)。BASE〔1〕UNITS=2000‘設(shè)置軸1的轉(zhuǎn)換因子。SPEED=100‘設(shè)置軸1的速度ACCEL=5000‘設(shè)置軸1的加速度BASE〔2〕UNITS=2000‘設(shè)置軸2的轉(zhuǎn)換因子SPEED=125‘設(shè)置軸2的速度ACCEL=10000‘設(shè)置軸2的加速度CANCEL類型:運(yùn)動(dòng)控制指令語(yǔ)法:CANCEL/CANCEL〔1〕備選:CA說(shuō)明:CANCEL指令取消軸插補(bǔ)軸組的當(dāng)前運(yùn)動(dòng)。速度軌跡〔FORWARD,REVERSE,MOVE,MOVEABS,MOVECIRC〕將會(huì)以DECEL參數(shù)減速直到停止。其它運(yùn)動(dòng)會(huì)立即停止。CANCEL〔1〕指令取消已緩存的運(yùn)動(dòng)而不影響正在執(zhí)行的運(yùn)動(dòng),CANCEL工作在缺省軸,除非使用AXIS參數(shù)定義臨時(shí)根本軸。注意:1.CANCEL只能取消當(dāng)前執(zhí)行的運(yùn)動(dòng)。如果在緩存中還有運(yùn)動(dòng),它會(huì)繼續(xù)被加載。2.在當(dāng)前運(yùn)動(dòng)的減速過(guò)程中,另外的CANCELS會(huì)被忽略。3.CANCEL〔1〕只取消當(dāng)前緩存中的運(yùn)動(dòng)。存儲(chǔ)在任務(wù)緩存中的運(yùn)動(dòng)由PMOVE參數(shù)定義,可以被加載到緩存一旦緩存運(yùn)動(dòng)被取消。參閱:AXIS,MTYPE,NTYPE,PMOVE,RAPIDSTOP應(yīng)用:例子1FORWARDWA〔10000〕CANCEL例子2MOVE〔1000〕MOVEABS〔3000〕CANCEL‘取消運(yùn)動(dòng)到3000,而運(yùn)動(dòng)到4000。MOVEABS〔4000〕注意MOVEMODIFY是修改運(yùn)動(dòng)結(jié)束點(diǎn)最好方法。DATUMDATUM原點(diǎn)搜尋類型:運(yùn)動(dòng)控制指令語(yǔ)法:DATUM〔sequence〕說(shuō)明:DATUM指令執(zhí)行6種方法中的一種搜尋原點(diǎn)位置,其為絕對(duì)位置同時(shí)可以重置跟隨誤差。伺服驅(qū)動(dòng)器機(jī)構(gòu)原點(diǎn)搜尋用于軸0。軸1用于MC控制單元機(jī)構(gòu)。DATUM使用CREEP速度和目標(biāo)速度用于原點(diǎn)搜尋。伺服驅(qū)動(dòng)器用于軸0。爬行速度用CREEP參數(shù)設(shè)定。目標(biāo)速度用SPEED參數(shù)設(shè)定。原點(diǎn)搜尋輸入數(shù)由DATUM_IN參數(shù)決定,用于3或7中。DATUM〔0〕用于軸出錯(cuò)時(shí)重新啟動(dòng)系統(tǒng),位置不變。。參數(shù):sequence0DATUM〔0〕指令去除跟隨誤差。將當(dāng)前位置設(shè)定為目標(biāo)位置同時(shí)AXISSTATUS狀態(tài)會(huì)被去除。注如果產(chǎn)生錯(cuò)誤的問(wèn)題仍然存在,誤差不能被去除。1軸以爬行速度〔CREEP〕正向運(yùn)行直到發(fā)現(xiàn)Z信號(hào)。目標(biāo)位置重置為0同時(shí)糾正測(cè)量位置,維持跟隨誤差。2軸以爬行速度〔CREEP〕反向運(yùn)行直到發(fā)現(xiàn)Z信號(hào)。目標(biāo)位置重置為0同時(shí)糾正測(cè)量位置,維持跟隨誤差。3軸以目標(biāo)速度〔SPEED〕正向運(yùn)行,直到碰到原點(diǎn)開(kāi)關(guān)。隨后軸以爬行速度正向運(yùn)動(dòng)直到原點(diǎn)開(kāi)關(guān)復(fù)位。目標(biāo)位置重置為0同時(shí)糾正測(cè)量位置,維持跟隨誤差。4軸以目標(biāo)速度〔SPEED〕反向運(yùn)行,直到碰到原點(diǎn)開(kāi)關(guān)。隨后軸以爬行速度正向運(yùn)動(dòng)直到原點(diǎn)開(kāi)關(guān)復(fù)位。目標(biāo)位置重置為0同時(shí)糾正測(cè)量位置,維持跟隨誤差。5軸以目標(biāo)速度〔SPEED〕正向運(yùn)行,直到碰到原點(diǎn)開(kāi)關(guān)。隨后軸以爬行速度正向運(yùn)動(dòng)直到碰到Z信號(hào)。目標(biāo)位置重置為0同時(shí)糾正測(cè)量位置,維持跟隨誤差。6軸以目標(biāo)速度〔SPEED〕反向運(yùn)行,直到碰到原點(diǎn)開(kāi)關(guān)。隨后軸以爬行速度正向運(yùn)動(dòng)直到碰到Z信號(hào)。目標(biāo)位置重置為0同時(shí)糾正測(cè)量位置,維持跟隨誤差。注意:原點(diǎn)輸入低電平有效。當(dāng)輸入OFF時(shí)設(shè)置原點(diǎn)開(kāi)關(guān)。feedhold,reversejog,forwardjog,forward,reverselimitinputs均是低電平有效。低電平輸入用于使能自動(dòng)防護(hù)接線。例子:DATUMIN=10DATUM〔5〕MOVE類型:運(yùn)動(dòng)控制指令語(yǔ)法:MOVE〔dist_1[,dist_2[,dist_3]]〕備選:MO〔dist_1[,dist_2[,dist_3]]〕說(shuō)明:MOVE指令使一軸或多軸在目標(biāo)速度,加速度和減速度下以增量的方式運(yùn)動(dòng)到特定位置。在多軸運(yùn)動(dòng)中,速度,加速度,減速度是基于根本軸的插補(bǔ)運(yùn)動(dòng)。特定長(zhǎng)度的比例由轉(zhuǎn)換因子UNITS參數(shù)設(shè)定。例如,一軸編碼器是4000edges/mm,于是軸的單元數(shù)設(shè)為4000,MOVE〔12.5〕將會(huì)移動(dòng)12.5毫米。MOVE工作在缺省軸,除非AXIS定義臨時(shí)根本軸。參數(shù)dist_1定義為缺省軸,dist_2作為另一個(gè)軸等等。通過(guò)改變軸在獨(dú)立運(yùn)動(dòng),非插補(bǔ),非同步可以獲得多軸運(yùn)動(dòng)。增量運(yùn)動(dòng)可以合并成連續(xù)運(yùn)動(dòng)軌跡,通過(guò)設(shè)置MERGE=ON??紤]兩軸運(yùn)動(dòng),每軸速度可以由以下等式計(jì)算得到。指令MOVE〔x1,x2〕和速度Vp由SPEED,ACCEL和DECEL參數(shù)計(jì)算得到。多軸運(yùn)動(dòng)距離L。每軸任何時(shí)候的獨(dú)立速度計(jì)算如下:軸i任何時(shí)刻的分速度vi由以下公式計(jì)算參數(shù):dist_I任意軸I的運(yùn)動(dòng)距離,從用戶定義的根本軸開(kāi)始。參閱:AXIS,MOVEABS,UNITS應(yīng)用:例子1系統(tǒng)轉(zhuǎn)換因子為1和1000線的編碼器。因此,需要如下指令使電機(jī)運(yùn)動(dòng)10圈?!?000線編碼器給出4000edges/turn〕。MOVE〔40000〕例子2在這個(gè)例子中,軸0,1,2獨(dú)立運(yùn)動(dòng)〔沒(méi)有插補(bǔ)〕。每軸會(huì)以程序的速度和其它參數(shù)運(yùn)動(dòng)。MOVE〔10〕AXIS〔0〕MOVE〔10〕AXIS〔1〕MOVE〔10〕AXIS〔2〕例子3X-Y平面在工作范圍內(nèi)可以在任意位置寫(xiě)文本。獨(dú)立運(yùn)動(dòng)可以被定義成相對(duì)與起始點(diǎn)相對(duì)運(yùn)動(dòng)。因此在任何位置都可以使用相同的指令。字母〞m〞的子程序如下:M:Move〔0,12〕‘A->BMove〔3,-6〕‘A->CMove〔3,6〕‘C->DMove〔0,-12〕‘D->EMOVEABS類型:運(yùn)動(dòng)控制指令語(yǔ)法:MOVEABS〔pos_1[,pos_2[,pos_3]]〕備選:MA〔pos_1[,pos_2[,pos_3]]〕說(shuō)明:MOVEABS指令使一軸或多軸在目標(biāo)速度,加速度和減速度下以絕對(duì)的方式運(yùn)動(dòng)到特定位置。在多軸運(yùn)動(dòng)中,速度,加速度,減速度是基于根本軸的插補(bǔ)運(yùn)動(dòng)。特定長(zhǎng)度的比例由轉(zhuǎn)換因子UNITS參數(shù)設(shè)定。例如,一軸編碼器是4000edges/mm,于是軸的單元數(shù)設(shè)為4000,MOVEABS〔12.5〕將會(huì)從起始點(diǎn)移動(dòng)12.5毫米。MOVEABS工作在缺省軸除非AXIS定義臨時(shí)根本軸。參數(shù)dist_1定義為缺省軸,dist_2作為另一個(gè)軸等等。通過(guò)改變軸在獨(dú)立運(yùn)動(dòng),非插補(bǔ),非同步可以獲得多軸運(yùn)動(dòng)。增量運(yùn)動(dòng)可以合并成連續(xù)運(yùn)動(dòng)軌跡,通過(guò)設(shè)置MERGE=ON。考慮兩軸運(yùn)動(dòng),每軸速度可以由以下等式計(jì)算得到。指令MOVE〔ax1,ax2〕和當(dāng)前位置〔ay1,ay2〕,速度Vp由SPEED,ACCEL和DECEL參數(shù)計(jì)算得到。多軸運(yùn)動(dòng)距離L。每軸任何時(shí)候的獨(dú)立速度計(jì)算如下:參數(shù):pos_i任意軸I的運(yùn)動(dòng)距離,從用戶定義的根本軸開(kāi)始。參閱:AXIS,MOVE,UNITS應(yīng)用:例子1X-Y平面有一個(gè)筆,圓盤(pán)的位置相對(duì)與起始點(diǎn)固定。改變筆的位置,當(dāng)指令執(zhí)行時(shí),圓盤(pán)的絕對(duì)運(yùn)動(dòng)與平面位置不相關(guān)。MOVEABS〔20,350〕例子2一個(gè)貨盤(pán)由小格組成,容器離包裝機(jī)器85毫米。從固定點(diǎn)取容器,貨盤(pán)的開(kāi)始位置用DEFPOS指令定義成原點(diǎn)〔0,0〕。到容器的一局部程序如下:xloop:forx=0to5yloop:fory=0to7MOVEABS〔-340,-516.5〕‘運(yùn)動(dòng)到撿起點(diǎn)GOSUBpick‘跳轉(zhuǎn)到撿起子程序PRINT“MOVETOPOSITION:“;X*6+Y+1MOVEABS〔x*85,y*85〕GOSUBplace‘轉(zhuǎn)到place子程序NEXTyNEXTxREVERSE類型:運(yùn)動(dòng)控制指令語(yǔ)法:REVERSE備選:RE說(shuō)明:REVERSE反向連續(xù)運(yùn)動(dòng),速度由SPEED參數(shù)設(shè)置。加速率由ACCEL參數(shù)設(shè)置。REVERSE工作在缺省根本軸,除非AXIS定義臨時(shí)根本軸。注意:反向運(yùn)動(dòng)可以被CANCEL或RAPIDSTOP指令停止。或到達(dá)反向限位,禁止或原點(diǎn)返回。參閱:AXIS,CANCEL,F(xiàn)ORWARD,RAPIDSTOP應(yīng)用:back:REVERSEWAITUNTILIN〔0〕=ON‘等待停止信號(hào)CANCEL3.2輸入/輸出指令說(shuō)明或編程AIN類型:系統(tǒng)參數(shù)語(yǔ)法:AIN〔模擬通道〕說(shuō)明:從模擬輸入口讀取數(shù)值,各種模擬輸入模塊可與運(yùn)動(dòng)控制器連接。有的運(yùn)動(dòng)控制器本身具有1至2個(gè)模擬輸入。返回的值是十進(jìn)位的,與讀自A至D轉(zhuǎn)換器的二進(jìn)制數(shù)字相等。參數(shù):模擬輸入通道0…710…31P325CAN模擬輸入通道31…39運(yùn)動(dòng)控制器本身模擬輸入通道40…71P225模擬輸入子板AIN2通道的S_RATE參數(shù)可每分鐘將數(shù)據(jù)轉(zhuǎn)換成接近的值。對(duì)于AIN1和AIN3通道,T_RATE參數(shù)可將數(shù)據(jù)轉(zhuǎn)換成扭矩的百分率。附錄:IN,S_RATE,T_RATE應(yīng)用:生產(chǎn)線的速度由材料供應(yīng)的速率決定。材料供應(yīng)通過(guò)安裝有超聲傳感器裝置上松散的環(huán)安排。超聲傳感器輸出范圍在0V—4V,4V時(shí)環(huán)最長(zhǎng)。模擬輸入值盡管應(yīng)為正的值但也需檢查確保大于0。當(dāng)值為負(fù)時(shí)進(jìn)來(lái)的信號(hào)有噪音,由于除FORWARD或REVERSE外負(fù)速對(duì)與任一類型運(yùn)動(dòng)無(wú)效而引起錯(cuò)誤。注意:模擬反響速度取決于所發(fā)生的模塊。P324以10msec更新,P225以SERVO_PERIOD更新,內(nèi)置的模擬端口以1msec更新。如果未安裝P325總線模塊,AIN(0)和AIN(1)將讀取內(nèi)置的通道以保持與老版本的兼容。HEX類型:指令說(shuō)明:HEX指令用于打印語(yǔ)句,輸出一個(gè)十六進(jìn)制格式的數(shù)。HEX指令不用在MC202或MC216應(yīng)用:PRINT#5,HEX(IN(8,16))IN()IN類型:I/O功能語(yǔ)法:IN〔input_number[,final_input_number]〕/ININ說(shuō)明:IN功能返回?cái)?shù)字輸入的值。IN〔input_number,final_input_number〕將會(huì)返回輸入的二進(jìn)制。兩個(gè)參數(shù)必須小于24分隔。IN〔input_number〕包括輸入值小于32將會(huì)返回特定通道的值。IN〔withoutarguments〕將會(huì)返回前24個(gè)輸入的二進(jìn)制。〔IN〔0,23〕〕。參考3-3-2參數(shù):input_number輸入返回的值。值是在0到31的整數(shù)。Final_input_number最后輸入返回的值。值是在0到31的整數(shù)。應(yīng)用:例子1下行可用于運(yùn)動(dòng)手輪與因子乘積的位置。手輪與輸入4,5,6,7連結(jié),輸出BCD。Moveloop:Moveabs〔IN〔4,7〕*1.5467〕WaitidleGotomoveloopOP類型:I/O功能/指令語(yǔ)法:OP[([outputno,]value)]說(shuō)明:OP指令設(shè)置一個(gè)或多個(gè)輸出或返回前24個(gè)輸出狀態(tài)。OP有三種不同形式?jīng)Q定于參數(shù)。指令OP〔output_number,value〕設(shè)置單輸出通道。output_number的范圍[8,17]。值為0或1。指令OP〔binary_pattern〕依據(jù)binary_pattern的值設(shè)置24個(gè)輸出的二進(jìn)制形式。功能OP返回24個(gè)輸出的狀態(tài)。這就允許多輸出設(shè)置而不需要改變其它不需要改變的。參考3-3-2說(shuō)明:前8個(gè)輸出〔0-7〕,在MC控制單元中不實(shí)際存在,他們不能被寫(xiě)入,并返回零。參數(shù):outputno設(shè)置輸出數(shù)value被輸出的值,OFF或ON。所有非零值被看作ON。參閱:IN應(yīng)用:例子1以下兩行等價(jià)。OP〔44,1〕OP〔44,ON〕PRINT類型:指令語(yǔ)法:PRINT指令讓TrioBasic輸出一系列字符串到串口,或適宜的光纖端口。PRINT指令可以輸出參數(shù),固定ascii串,單個(gè)ascii字符串。只要多個(gè)工程用逗號(hào),或分號(hào)分隔,都可以通過(guò)單個(gè)PRINT語(yǔ)句打印。逗號(hào),分號(hào)控制輸出字串的格式。應(yīng)用:PRINT"CAPITALSandlowercaseCANBEPRINTED"3.3程序循環(huán)和結(jié)構(gòu)編程IF..THEN..ELSE..ENDIF類型:結(jié)構(gòu)指令語(yǔ)法:IFconditionTHEN<commands>[else<commands>]ENDIFIFconditonTHEN<commands>說(shuō)明:IF…THEN…ELSE…ENDIF結(jié)構(gòu)依據(jù)條件結(jié)果控制程序流程。如果條件真,接下來(lái)的THEN到ELSE將會(huì)執(zhí)行。如果條件假,ELSE將會(huì)執(zhí)行或程序會(huì)跳到ENDIF如果沒(méi)有ELSE。ENDIF用于標(biāo)記條件段的結(jié)束。注意:IF…THEN[ELSE]ENDIF過(guò)程可以沒(méi)有限制的嵌套。對(duì)于多行IF…THEN結(jié)構(gòu),在THEN后沒(méi)有任何陳述。單結(jié)構(gòu)不用ENDIF。參數(shù):cindition任何有效的邏輯表達(dá)式。commands任何有效的邏輯表達(dá)式。應(yīng)用:例子1IFMPOS>〔0。22*VR〔0〕〕THENGOTOexceeds_length例子2IFIN〔0〕=ONThenCount=count+1PRINT“COUNTS=〞countFail=0ElseFail=fail+1EndifFOR..TO..STEP..NEXT類型:循環(huán)和條件結(jié)構(gòu)指令語(yǔ)法:FORvariable=starttoend[stepincrement]<commands>nextvariable說(shuō)明:FOR…NEXT允許將FOR和NEXT之間的局部重復(fù)執(zhí)行屢次。進(jìn)入這個(gè)循環(huán),變量初始化成start同時(shí)指令局部開(kāi)始執(zhí)行,直到執(zhí)行到NEXT指令。variable以增量方式增加。直到step值,step值可正可負(fù)。如果省略認(rèn)為是1。當(dāng)variable小于或等于end時(shí)。重復(fù)執(zhí)行指令區(qū),直到variable大于end。在next之后的程序繼續(xù)執(zhí)行。注意:FOR…NEXT在BASIC程序中可以嵌套8個(gè)指令。參數(shù):variable任何有效的BASIC表達(dá)式。既可以是一個(gè)環(huán)形變量或者是一個(gè)本地變量start任何有效的BASIC表達(dá)式end任何有效的BASIC表達(dá)式increment任何有效的BASIC表達(dá)式〔可選〕參閱:REPEAT,WHILE應(yīng)用:例子1以下例子將輸出10到18置ONFORopnum=10to18OP〔opnum,on〕NEXTOPNUMON..GOSUB類型:結(jié)構(gòu)指令語(yǔ)法:ONexpressionGOSUBlabel{,label}說(shuō)明:ON…GOSUB結(jié)構(gòu)使能條件跳轉(zhuǎn)。整數(shù)表達(dá)式用于從列表中選擇label。如果表達(dá)式的值是1,使用第一個(gè)label,對(duì)于值2使用第二個(gè)label,以此類推。依據(jù)GOSUB指令執(zhí)行子程序或跳轉(zhuǎn)。注意:如果表達(dá)式無(wú)效,不會(huì)執(zhí)行跳轉(zhuǎn)。參數(shù):expression任何有效的BASIC表達(dá)式。Label程序中任何有效的標(biāo)志。參閱:GOSUB,GOTO應(yīng)用:REPEATGET#5,charUNTIL1<=charandchar<=3OncharGOSUBmover,stopper,changeON..GOTO類型:結(jié)構(gòu)指令語(yǔ)法:ONexpressionGOSUBlabel{,label}說(shuō)明:ON…GOTO結(jié)構(gòu)使能條件跳轉(zhuǎn)。整數(shù)表達(dá)式用于從列表中選擇label。如果表達(dá)式的值是1,使用第一個(gè)label,對(duì)于值2使用第二個(gè)label,以此類推。依據(jù)GOTO指令執(zhí)行子程序或跳轉(zhuǎn)。注意:如果表達(dá)式無(wú)效,不會(huì)執(zhí)行跳轉(zhuǎn)。參數(shù):expression任何有效的BASIC表達(dá)式。Label程序中任何有效的標(biāo)志。參閱:GOSUB,GOTO應(yīng)用:REPEATGET#5,charUNTIL1<=charandchar<=3OncharGOTOmover,stopper,changeWA類型:系統(tǒng)指令語(yǔ)法:WA〔time〕說(shuō)明:WA指令暫停程序執(zhí)行一段時(shí)間。指令只能用在程序中。參數(shù):time暫停程序的毫秒數(shù)。應(yīng)用:以下例子將輸出11置OFF兩秒鐘后輸出17置ON。OP〔11,OFF〕WA〔2000〕OP〔17,ON〕WAIT..UNTIL類型:系統(tǒng)指令語(yǔ)法:WAITUNTILcondition說(shuō)明:WAITUNTIL指令重復(fù)評(píng)估條件直到變成真。此后程序繼續(xù)執(zhí)行。指令只能用在程序中。參數(shù):condition任何有效BASIC邏輯表達(dá)式。應(yīng)用:例子1此例中,程序等待軸0的測(cè)量位置超出150,然后開(kāi)始軸1的運(yùn)動(dòng)。WAITUNTILMPOSAXIS〔0〕>150MOVE〔100〕AXIS〔1〕例子2表達(dá)式的復(fù)雜程度可由用戶來(lái)定WAITUNTILDPOSAXIS〔2〕<=0ORIN〔1〕=ON以上行會(huì)等待軸2的目標(biāo)位置小于或等于0或輸入1置ON。WHILE..WEND類型:結(jié)構(gòu)指令語(yǔ)法:Whilecondition說(shuō)明:WHILE…WEND結(jié)構(gòu)程序之間的指令連續(xù)執(zhí)行,直到條件變成FALSE。此時(shí)程序會(huì)繼續(xù)執(zhí)行WEND后的程序。注意:WHILE…WEND可以無(wú)限制嵌套。參數(shù):condition任何有效的邏輯BASIC表達(dá)式。參閱:FOR,REPEAT應(yīng)用:WHILEIN〔12〕=OFFMOVE〔200〕WAITIDLEOP〔10,OFF〕MOVE〔-200〕WAITIDLEOP〔10,ON〕WENDWAITUNTIL類型:系統(tǒng)指令語(yǔ)法:WAITUNTILcondition說(shuō)明:WAITUNTIL指令重復(fù)評(píng)估條件直到變成真。此后程序繼續(xù)執(zhí)行。指令只能用在程序中。參數(shù):condition任何有效BASIC邏輯表達(dá)式。應(yīng)用:例子1此例中,程序等待軸0的測(cè)量位置超出150,然后開(kāi)始軸1的運(yùn)動(dòng)。WAITUNTILMPOSAXIS〔0〕>150MOVE〔100〕AXIS〔1〕3.4恒量FALSE類型:常數(shù)說(shuō)明:FALSE常數(shù)返回?cái)?shù)值零。注:常數(shù)為只讀。應(yīng)用:test:res=IN〔0〕ORIN〔2〕IFres=FALSETHENPRINT“inputareoff〞EndifOFF類型:常量說(shuō)明:OFF常量返回?cái)?shù)值0。注:常量為只讀。應(yīng)用:OP〔lever,OFF〕以上設(shè)置輸知名為lever的設(shè)置成OFF。ON類型:常量說(shuō)明:ON常量返回值1。注:此參數(shù)為只讀。應(yīng)用:OP〔lever,ON〕以上命令將輸知名為lever設(shè)置成ON。PI類型:常量說(shuō)明:PI常量返回?cái)?shù)值3。1416。注:此常量位只讀。應(yīng)用:circum=100PRINT“Radius=〞;circum/〔2*PI〕TRUE類型:常量說(shuō)明:TRUE常量返回?cái)?shù)值-1。注:常量為只讀。應(yīng)用:test:T=IN〔0〕ANDIN〔2〕IFT=TRUETHENPRINT“inputareON〞ENDIF3.5軸參數(shù)說(shuō)明或編程ACCEL類型:軸的參數(shù)說(shuō)明:ACCEL參數(shù)包括軸的加速率。單位units/s2。參數(shù)可以是任意正數(shù)包括零。參閱:AXIS,DECEL,UNITS應(yīng)用:BASE〔0〕ACCEL=100‘設(shè)置加速率PRINT“Accelerationrate:“;〞mm/s/s〞ACCELAXIS〔2〕=100‘設(shè)置軸2的加速率ADDAX_AXIS類型:軸的參數(shù)說(shuō)明:ADDAX_AXIS參數(shù)返回由ADDAX連接的軸數(shù)。注:此參數(shù)為只讀參數(shù)。參閱:AXIS,ADDAX應(yīng)用:>>BASE〔0〕>>ADDAX〔2〕>>PRINTADDAX_AXIS2.0000類型:軸的參數(shù)ATYPE說(shuō)明:ATYPE參數(shù)設(shè)置軸的類型。軸數(shù)軸的類型ATYPE值0伺服13〔固定〕1虛擬軸0伺服軸2編碼器輸入3〔缺省〕編碼器輸出142虛擬軸0〔固定〕開(kāi)始上電時(shí)ATYPE參數(shù)設(shè)置成軸的缺省值。參考3-3。參閱:AXIS應(yīng)用:以下指令將軸1設(shè)置成編碼器輸出。>>ATYPEAXIS〔1〕=14AXISSTATUS類型:軸的參數(shù)說(shuō)明:AXISSTATUS參數(shù)包括軸的狀態(tài)。AXISSTATUS參數(shù)對(duì)三軸定義如下。位數(shù)描述值字符〔用在MotionPerfect中〕軸0〔伺服軸〕軸1〔編碼器輸入/輸出/虛擬軸〕軸2〔虛擬軸〕0-1----1跟隨誤差報(bào)警2WX--2伺服驅(qū)動(dòng)器通訊錯(cuò)誤4AX--3伺服驅(qū)動(dòng)器報(bào)警8MX--4正向限位16FXXX5反向限位32RXXX6原點(diǎn)搜尋64DXXX7反響限制輸入128HXXX8跟隨誤差限制256EX--9正向軟件限位512XXXX10反向軟件限位1024YXXX11取消運(yùn)動(dòng)2048CXXX12編碼器輸出超速4096O-X-AXISATATUS參數(shù)用于處理運(yùn)動(dòng)錯(cuò)誤。參考8-2注:此為只讀參數(shù)。參閱:AXISERRORMASK應(yīng)用:IF〔AXISSTATUSAND16〕>0THENPRINT“inforwardlimit〞CREEP類型:軸的參數(shù)說(shuō)明:CREEP包括軸的爬行速度。爬行速度用于進(jìn)行原點(diǎn)搜尋。CREEP允許任何正值〔包括0〕。CREEP速度單位為units/s。使用因子轉(zhuǎn)換。例如,如果轉(zhuǎn)換因子設(shè)為編碼器數(shù)edges/inch,速度設(shè)為inchs/s。參閱:AXIS,DATUM,UNITS應(yīng)用:BASE〔2〕CREEP=10SPEED=500DATUM〔4〕CREEPAXIS〔1〕=10SPEEDAXIS〔1〕=500DATUM〔4〕AXIS〔1〕DAC類型:軸的參數(shù)說(shuō)明:當(dāng)SERVO=OFF時(shí)寫(xiě)進(jìn)此軸參數(shù)允許用戶強(qiáng)加一個(gè)指定電壓到伺服候。12位DAC能采用的值范圍為:DAC=2048相應(yīng)于10V電壓DAC=-2047相應(yīng)于-10V電壓16位DAC能采用的值范圍為:DAC=32767相應(yīng)于10V電壓DAC=-32768相應(yīng)于-10V電壓DECEL類型:軸的參數(shù)說(shuō)明:DECEL參數(shù)包括軸的減速率。單位為units/s2。參數(shù)可以是任意正數(shù)包括零。參閱:ACCEL,AXIS,UNITS應(yīng)用:DECEL=100‘設(shè)置減速率PRINT“Decelerationrateis“;“mm/s/s“I_GAIN類型:軸的參數(shù)說(shuō)明:I_GAIN參數(shù)包括軸的積分增益。積分輸出通過(guò)計(jì)算跟隨誤差的總和。-缺省值是0。疊加積分增益到伺服系統(tǒng)減少靜止或運(yùn)動(dòng)時(shí)的位置誤差。他可以減少超調(diào),振動(dòng)。因此適用系統(tǒng)工作在常速和慢加速的場(chǎng)合。Oi=Kix⊕e注意:為了防止系統(tǒng)的不穩(wěn)定性,伺服增益需在SERVO=OFF時(shí)改變。參閱:D_GAIN,OV_GAIN,P_GAIN,VFF_GAINMPOS類型:軸的參數(shù)說(shuō)明:MPOS參數(shù)表示用戶單位的測(cè)量位置,從編碼器得到。這個(gè)參數(shù)可應(yīng)用DEFPOS指令設(shè)置。OFFPOS參數(shù)可用于移動(dòng)起始點(diǎn)。MPOS在上電時(shí)重置成零。測(cè)量位置的范圍由REPDIST和REP_OPTION參數(shù)控制。注:此參數(shù)為只讀。參閱:AXIS,DEFPOS,DPOS,ENCODER,F(xiàn)E,OFFPOS,REPDIST,REP_OPTION,UNITS應(yīng)用:WAITUNTILMPOS>=1250SPEED=2.5MTYPE類型:軸的參數(shù)說(shuō)明:MTYPE參數(shù)包括當(dāng)前執(zhí)行的運(yùn)動(dòng)類型。下面給出可能值。運(yùn)動(dòng)數(shù)運(yùn)動(dòng)類型IDLEMOVE2MOVEABS3 MHELICAL4MOVECIRC5MOVEMODIFY10FORWARD11REVERSE12DATUM13CAM14

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論