




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE48/NUMPAGES48第11章ROBOPRO軟件教程概述ROBOPRO軟件的安裝ROBOPRO軟件的界面介紹硬件測(cè)試程序模塊程序的編寫(xiě)在線(xiàn)和下載操作
第11章:ROBOPRO軟件教程11.1概述你一定曾經(jīng)問(wèn)過(guò)自己,機(jī)器人是如何執(zhí)行被分配的任務(wù),看上去就像有一只無(wú)形的手在操縱它。但不僅僅是真正的機(jī)器人,在許多其他涉及到自動(dòng)化控制技術(shù)的領(lǐng)域中同樣如此,包括慧魚(yú)機(jī)器人。在接觸了眾多的慧魚(yú)模型后,你一定很驚訝于慧魚(yú)模型的操縱程序。究竟是什么軟件編出了這樣的程序呢?在接下來(lái)的章節(jié)中,我們將一起來(lái)學(xué)習(xí)ROBOPRO軟件。11.2ROBOPRO軟件的安裝安裝方法如下:將安裝光盤(pán)插入光驅(qū),安裝程序自動(dòng)啟動(dòng)后,在安裝程序第一個(gè)的歡迎窗口中,你只需按一下NEXT按扭,如圖:第二個(gè)窗口是重要提示,包括重要的程序安裝和程序本身更新提示,這里也只要按NEXT按扭。這個(gè)窗口是許可協(xié)議,顯示ROBOPro的許可契約。你必須按YES接受協(xié)議并按NEXT進(jìn)入下一個(gè)窗口中。下一個(gè)窗口是用戶(hù)詳細(xì)資料,請(qǐng)輸入你的名字等信息。下一個(gè)窗口是安裝類(lèi)型,允許你在快速安裝和自定義安裝中選擇。在自定義安裝中,你可以選擇單個(gè)組件來(lái)安裝。如果你是在舊版本的ROBOPro基礎(chǔ)上安裝新版本的ROBOPro,而且你已經(jīng)修改過(guò)了舊版本的范例程序,你可以選擇不安裝范例程序。如果你不這么做,你已經(jīng)修改過(guò)的舊版本范例程序會(huì)在沒(méi)有提示的情況下被自動(dòng)覆蓋。如果你選擇自定義安裝并按下NEXT,會(huì)出現(xiàn)一個(gè)新的選擇組件窗口中。在安裝目標(biāo)目錄窗口,允許你選擇將ROBOPro安裝到的目標(biāo)文件夾或者目錄。默認(rèn)路勁是C:\Programs\ROBOPro。當(dāng)然,你可以選擇其他的路勁。當(dāng)你在最后一個(gè)窗口,按下Finish按鈕,安裝就完成了。安裝一旦結(jié)束,程序會(huì)提示安裝成功。如果安裝有問(wèn)題,會(huì)有錯(cuò)誤信息出現(xiàn),幫助你解決安裝問(wèn)題。在第一次用USB連接線(xiàn)將接口板及計(jì)算機(jī)連接時(shí),會(huì)提示你安裝USB驅(qū)動(dòng)程序,根據(jù)提示安裝完成后就可以將程序?qū)懭虢涌诎辶恕?1.3ROBOPRO軟件的界面介紹雙擊圖標(biāo)啟動(dòng)ROBOPro程序,會(huì)出現(xiàn)以下窗口:菜單欄工具欄菜單欄工具欄模塊窗口窗口中有一個(gè)菜單欄和工具欄,上面有各種操作按鈕,左面的窗口里還有各種不同的變成模塊。對(duì)于初學(xué)者,可以在菜單欄中選擇級(jí)別中的級(jí)別一,以后根據(jù)自己對(duì)ROBOPro知識(shí)的增長(zhǎng)選擇不同的級(jí)別。為了更好的熟悉全新的界面,我們打開(kāi)一個(gè)現(xiàn)成的范例程序。點(diǎn)擊按鈕,范例程序可以在C:\Promgrams\ROBOPro\Sampleprograms中打開(kāi)文件Testt00MotorstartStopp.rpp:程序窗口模塊程序程序窗口模塊程序11.4硬件測(cè)試將接口板和計(jì)算機(jī)相連,給接口板接上電源通電。為了使接口板和計(jì)算機(jī)間的連接工作正常,ROBOPro必須對(duì)當(dāng)前使用的接口板進(jìn)行設(shè)置。具體來(lái)說(shuō),請(qǐng)點(diǎn)擊按鈕。出現(xiàn)如下窗口:這里我們用的是ROBO接口板,因此選擇端口時(shí),我們應(yīng)該選擇端口USB。一旦選擇了適當(dāng)?shù)脑O(shè)置,點(diǎn)擊”確認(rèn)”,關(guān)閉窗口。然后,可以點(diǎn)擊工具欄中的”Test”,打開(kāi)接口板測(cè)試窗口。其中顯示了接口板有效的輸入和輸出。窗口下方的綠條顯示了計(jì)算機(jī)和接口板的連接狀態(tài)。InterfaceconnectionOK指示已及接口板準(zhǔn)確連接。\NoconnectiontoInternet表明計(jì)算機(jī)和接口板還無(wú)法建立正確的連接。狀態(tài)條顯示為紅色。一旦連接正確建立了,我們就可以通過(guò)接口板測(cè)試窗口來(lái)測(cè)試接口板和及它連接的模型。測(cè)試窗口顯示了接口板的各種輸入和輸出:數(shù)字量輸入I1-I8這里可以接各種傳感器。數(shù)字量輸入只有兩種狀態(tài)0和1,或者Y和N。開(kāi)關(guān),光電傳感器或者干簧管可以作為數(shù)字量輸入來(lái)連接。馬達(dá)輸出M1-M4這里可以連接所謂的執(zhí)行器,可以是馬達(dá)、電磁鐵或者燈。這思路馬達(dá)輸出可以改變方向和8級(jí)調(diào)速。燈輸出O1-O8每個(gè)馬達(dá)輸出也可以用作一對(duì)單個(gè)的輸出這個(gè)輸出不僅可以用作燈的控制,也可以用作單向馬達(dá)的控制。模擬量輸入AX-AY模擬量輸入AX-AY測(cè)量所連接傳感器的阻抗。模擬量輸入A1-A2這兩個(gè)可以測(cè)量10V電壓輸入。距離傳感器D1-D2只有特殊的距離傳感器可以接到距離傳感器輸入端D1-D2。數(shù)字信號(hào)和模擬信號(hào)對(duì)D1和D2都有效。擴(kuò)展板Em1-Em3可以連接擴(kuò)展接口板。11.5程序模塊11.5.1首先我們要?jiǎng)?chuàng)制一個(gè)新程序:方法一,在菜單欄中點(diǎn)擊“文件”下拉一對(duì)話(huà)框,單擊“新建”;方法二,單擊工具欄中的圖標(biāo)。插入程序模塊把鼠標(biāo)移到想使用的程序模塊的符號(hào)上,并單擊左鍵。然后把鼠標(biāo)移動(dòng)到程序窗口內(nèi),再單擊一次。你也可以通過(guò)按住鼠標(biāo)鍵把程序模塊拖入程序窗口。移動(dòng)程序模塊和組可以通過(guò)按住鼠標(biāo)左鍵,將一個(gè)已插入的程序模塊移動(dòng)到理想的位置。如果你想將一些模塊合并成一組同時(shí)移動(dòng),你可以首先按住鼠標(biāo),沿著這些模塊的外圍畫(huà)出一個(gè)框。在這個(gè)矩形框中的模塊將會(huì)顯示為有紅色的邊框。用鼠標(biāo)左鍵移動(dòng)這些紅色模塊中的一個(gè),所有被選中的模塊會(huì)跟著移動(dòng)。復(fù)制程序模塊和組在移動(dòng)程序模塊前,按住“ctrl”鍵,將要復(fù)制的程序模塊移到所需要的位置,即完成復(fù)制。刪除模塊和撤銷(xiāo)功能可以通過(guò)按下鍵盤(pán)上的“delete”鍵,刪除所有標(biāo)記為紅色的模塊。也可以左鍵單擊工具欄中的按鈕,然后點(diǎn)擊要?jiǎng)h除的單個(gè)模塊。若想恢復(fù)被刪除的模塊,可以利用“編輯”菜單中的“撤銷(xiāo)”功能。11.5數(shù)字量/模擬量判斷模塊用鼠標(biāo)右鍵單擊程序窗口的程序模塊,會(huì)出現(xiàn)一個(gè)對(duì)話(huà)窗口,這里可以改變模塊的各種屬性?!胺种А蹦K的屬性窗口如右圖所示。I1至I8按鈕的選項(xiàng)中,可以選擇所要查詢(xún)的接口板的輸入端。在類(lèi)型一欄中,可以為及輸入端相連的傳感器選擇一個(gè)圖示。數(shù)字量輸入端最常用的是按鍵式傳感器,但也經(jīng)常使用光電傳感器或干簧管開(kāi)關(guān)。在交換1/0分支位置一欄中,可以交換分支出口1及分支出口0的位置。小貼士:如果使用迷你開(kāi)關(guān)的一對(duì)常開(kāi)觸點(diǎn),1端及3端,則一旦按下開(kāi)關(guān),程序?qū)⑦B入分支1,而非分支0。如果使用迷你開(kāi)關(guān)的一對(duì)常閉觸點(diǎn),1端及2端,則一旦按下開(kāi)關(guān),程序?qū)⑦B入分支0,而非分支1。馬達(dá)輸出模塊屬性的編輯:通過(guò)選擇M1至M4,來(lái)選擇所要控制的接口板輸出。在類(lèi)型一欄中,選擇代表連接到輸出端的慧魚(yú)元件的圖示。在動(dòng)作狀態(tài)一欄中,可以選擇輸出動(dòng)作類(lèi)型??梢宰岆姍C(jī)左轉(zhuǎn)(逆時(shí)針),右轉(zhuǎn)(順時(shí)針),或者停止電機(jī)。同樣也可以控制一盞燈。在調(diào)速度一欄中,可以設(shè)定電機(jī)運(yùn)轉(zhuǎn)的速度或燈的亮度??赡艿臄?shù)值為1到8。小貼士:有時(shí)候馬達(dá)只朝一個(gè)方向運(yùn)行,比如輸送帶馬達(dá)。這種情況下,可以把馬達(dá)接到指示燈輸出,這樣可以少用一條線(xiàn)路。時(shí)間延時(shí)模塊用延時(shí)模塊可以使流程執(zhí)行延遲一個(gè)所設(shè)定的持續(xù)周期。單擊右鍵,在一定范圍內(nèi)可以設(shè)定自己所需要的時(shí)間。延時(shí)時(shí)間范圍可以從1毫秒到500小時(shí)。然而,延時(shí)時(shí)間越長(zhǎng),精度越低。延遲精度至30秒1/1000秒至5分鐘1/100秒至50分鐘1/10秒至8.3小時(shí)1秒至83小時(shí)10秒至500小時(shí)1分鐘輸入等待模塊出了時(shí)間延時(shí)模塊,還有另外的兩個(gè)模塊,用來(lái)等待一些程序繼續(xù)運(yùn)行的東西。等待接口板的某個(gè)輸入由一種特定的方式改變?yōu)橐环N特定的狀態(tài)。這個(gè)模塊共有五種不同的形式。符號(hào)等待輸入=1(閉合)輸入=0(打開(kāi))跳變0-1(打開(kāi)到閉合)跳變1-0(閉合到打開(kāi))任一跳變(1-0或0-1)脈沖計(jì)數(shù)器很多fischertechnik機(jī)器人模型都是用脈沖輪。這些齒輪每旋轉(zhuǎn)一圈會(huì)觸動(dòng)四次開(kāi)關(guān)。有了這些脈沖輪,你可以以一個(gè)精確的輪數(shù)來(lái)驅(qū)動(dòng)電機(jī),而不是根據(jù)給定的時(shí)間。為了達(dá)到這一點(diǎn),你需要計(jì)算接口板的某個(gè)輸入處的脈沖數(shù)。脈沖計(jì)數(shù)模塊就是用來(lái)等待用戶(hù)定義的脈沖數(shù)。對(duì)于這種模塊,同樣地,設(shè)定所計(jì)脈沖為0-1,1-0或者兩者皆可的。脈沖輪通常等待雙向的變化,這樣用一個(gè)四齒脈沖輪達(dá)到了每轉(zhuǎn)8個(gè)脈沖的精度。循環(huán)計(jì)數(shù)器有了循環(huán)計(jì)數(shù)模塊,可以十分簡(jiǎn)單地將程序中的特定部分多次運(yùn)行。只有當(dāng)循環(huán)次數(shù)及先前設(shè)定的數(shù)值相等時(shí),循環(huán)計(jì)數(shù)分支將會(huì)轉(zhuǎn)到Y(jié)es出口;如果需要進(jìn)一步的循環(huán),循環(huán)計(jì)數(shù)分支將會(huì)轉(zhuǎn)到No出口。在“循環(huán)計(jì)數(shù)”一欄,可以輸入在“Y”出口激活前,“循環(huán)計(jì)數(shù)”從“N”出口執(zhí)行的次數(shù)。輸入值必須為正。如果選中了“交換Y/N分支位置”,點(diǎn)擊“確認(rèn)”,關(guān)閉窗口時(shí),Y和N連線(xiàn)就會(huì)互換。根據(jù)Y和N連線(xiàn)的位置,程序中被重復(fù)執(zhí)行的部分將會(huì)在“循環(huán)計(jì)數(shù)”模塊的右部或者下部。燈輸出用燈輸出編程模塊,可以開(kāi)關(guān)接口板的任一個(gè)單極輸出O1-O8.接口板的輸出既可以成對(duì)地用作馬達(dá)輸出,也可以用作單個(gè)的燈輸出O1-O8。及馬達(dá)輸出不同,燈輸出只占用一個(gè)接線(xiàn)端。小貼士:如果連接四組燈或者馬達(dá),也可以用馬達(dá)輸出來(lái)接燈。這樣更實(shí)用,因?yàn)檫@樣可以將燈的兩個(gè)接線(xiàn)端直接接到接口板的輸出,而不是必須將所有負(fù)極都連到接地插孔。在“燈輸出”一欄,可以設(shè)置O1-O8中的任一個(gè)作為要使用的輸出。在“接口板/擴(kuò)展板”一欄,可以選擇所需要的是ROBO接口板、擴(kuò)展板還是其它接口板的輸出。在“類(lèi)型”一欄,可以選擇代表連接到輸出的慧魚(yú)器件的圖示。在“動(dòng)作狀態(tài)”一欄,可以設(shè)置使輸出如何動(dòng)作??梢源蜷_(kāi)或者關(guān)閉燈??梢灾付?-8之間的一個(gè)強(qiáng)度,其中8亮度最大,1最小。在燈關(guān)閉狀態(tài)下,自然不用再定義強(qiáng)度了。全局變量每個(gè)變量可以存儲(chǔ)一個(gè)-32767到32767之間的數(shù)值。變量的值可由連接一個(gè)“=”模塊到指令模塊的左邊來(lái)設(shè)定。在屬性窗口中,也可以賦予變量一個(gè)初始值,并保持到其收到第一個(gè)指令改變的值。ROBOPro只能為所有的變量模塊建立一個(gè)同名而且變量類(lèi)型為全局的變量。所有的同名全局變量都是一樣的,而且有相同的值,即使它們出現(xiàn)在不同的子程序中。當(dāng)其中一個(gè)變量模塊通過(guò)指令改變了,所有其它的同名變量也被改變了。這一條對(duì)于局部變量并不適用。除了“=”指令,變量也可以接受“+”和“-”指令。所以,比如說(shuō)變量接到了一個(gè)指令“+5”,就將5加到了當(dāng)前值上。對(duì)于“-”指令,指令傳送的值就由當(dāng)前值減去。警告:如果執(zhí)行“+”或者“-”指令后,變量的值超出了所允許的范圍,變量值就會(huì)加上或者減去65538,以使得變量值回到有效范圍中。因此,要注意變量值的取值范圍。變量的屬性窗口在“名稱(chēng)”一欄,可以輸入變量名。在“初始值”一欄,可以輸入變量的初始值。變量保持這個(gè)值,直到通過(guò)=、+或者-指令得到一個(gè)新的值。這個(gè)“變量類(lèi)型”項(xiàng)只有在子程序中對(duì)變量才有意義。局部變量局部變量及全局變量的作用幾乎相同,只有一點(diǎn)區(qū)別:局部變量只是在它被定義的子程序中有效。即使在不同的子程序中兩個(gè)局部變量同名,它們也是既然不同的獨(dú)立的兩個(gè)變量。即使同一個(gè)程序同時(shí)并行幾個(gè)流程,每個(gè)流程中的子程序都有一套獨(dú)立的局部變量。局部變量只在定義它們的子程序中發(fā)生作用,所以在程序開(kāi)始時(shí)局部變量并不被賦予初始值,而是在每次啟動(dòng)相關(guān)的子程序之時(shí)。常量和變量一樣,常量也是一個(gè)值,但常量的值不能由程序來(lái)改變。如果子程序中總是使用一個(gè)相同的值,可以將一個(gè)常量和一個(gè)子程序符號(hào)的數(shù)據(jù)輸入相關(guān)聯(lián)。常量在運(yùn)算器計(jì)算中也是非常實(shí)用的。定時(shí)器變量定時(shí)器變量的運(yùn)用根本上和變量相似。即使和定時(shí)器變量相比存在普通和靜態(tài)變量的區(qū)別。唯一的區(qū)別在于定時(shí)器變量由存儲(chǔ)的固定的時(shí)間間隔向下計(jì)時(shí),直到其值為零。定時(shí)器的值一旦達(dá)到零,就保持在那邊。如果定時(shí)器的值變?yōu)樨?fù)的,比如通過(guò)減法指令,其值會(huì)在下一個(gè)時(shí)間節(jié)拍回到零。定時(shí)器變量向下計(jì)時(shí)的速度可以在其屬性窗口中設(shè)定,在每節(jié)拍1/1000秒和每節(jié)拍1分鐘之間。定時(shí)器的精度取決于時(shí)間節(jié)拍的設(shè)置。在操作時(shí),應(yīng)該選擇小的時(shí)間節(jié)拍,比如10x1秒或者100x0.1秒,而不是1x10秒。在程序需要等待至少一個(gè)小時(shí)的時(shí)候,才可以選擇1分鐘的時(shí)間節(jié)拍。向下計(jì)時(shí)的節(jié)拍數(shù)通常是由賦值“=”指令來(lái)分配給定時(shí)器。在圖示的例子中,要向下計(jì)時(shí)100個(gè)10ms的節(jié)拍。這對(duì)應(yīng)于1000ms=1s的一個(gè)時(shí)間間隔。其精度為10ms。如果要測(cè)量一個(gè)時(shí)間值,可以在開(kāi)始時(shí)將定時(shí)器變量設(shè)置為盡可能大的正值。這樣一來(lái),在定時(shí)器到達(dá)零時(shí)還剩下很多時(shí)間。將初始值減去當(dāng)前的定時(shí)器的值,就是已經(jīng)得時(shí)間。定時(shí)器變量的屬性窗口:在“延時(shí)”一欄,可以確定定時(shí)器變量的初始值。作為慣例,可以在這里輸入0,并在適當(dāng)?shù)臅r(shí)間用“=”指令來(lái)給定時(shí)器變量設(shè)定一個(gè)值。但是如果定時(shí)器假設(shè)的是在程序或者子程序開(kāi)始的時(shí)候來(lái)投入運(yùn)行,那么其相應(yīng)值可以在這里輸入。在“時(shí)間單位”一欄,可以設(shè)定定時(shí)器變量在向下計(jì)時(shí)的時(shí)候,所用的時(shí)間節(jié)拍的單位大小。在“定時(shí)器變量類(lèi)型”一欄,可以設(shè)定定時(shí)器變量為全局變量還是局部變量。序列序列模塊相當(dāng)于一個(gè)變量,其存儲(chǔ)不止一個(gè)而是多個(gè)數(shù)值。變量中可以存儲(chǔ)的數(shù)值的最大個(gè)數(shù)可以在其屬性窗口中設(shè)定。下列的序列功能可以用傳遞指令到W輸入來(lái)運(yùn)用:指令數(shù)值作用-32767到32767添加指令可以將新的數(shù)值加到序列的末尾。整個(gè)序列就多了一個(gè)模塊。如果序列已經(jīng)達(dá)到了最大數(shù)值,則忽略此指令。0到32767刪除序列末尾已有的模塊。及指令一起傳遞的數(shù)值是所需要?jiǎng)h除的模塊號(hào)。如果此號(hào)碼大于序列的模塊號(hào),則所有的模塊會(huì)被刪除。如果號(hào)碼為0或?yàn)樨?fù),則忽略此指令。0到32767將已有的模塊和序列的第一個(gè)模塊交換。及指令一起傳遞的數(shù)值時(shí)所需要交換的模塊的位置號(hào)。序列屬性窗口:在“最大數(shù)量”一欄,可以輸入序列中元素的最大值。這個(gè)尺寸無(wú)法用Append指令超出。在“初始數(shù)量”一欄,輸入開(kāi)始時(shí)用以初始化序列的元素?cái)?shù)量。在“初始值列表”一欄,可以輸入預(yù)分配到序列的初始值??梢杂糜米兊陌粹o對(duì)序列進(jìn)行編輯。在“從.CSV文件調(diào)用”一欄,可以選擇一個(gè)Excel兼容的.CSV文件,序列可以從此文件中提取數(shù)值。在所選擇區(qū)域的中部,可以選擇.CSV文件欄用于此目的。文件直接裝載并且顯示在Listofinitialvalues下。開(kāi)始執(zhí)行程序或者執(zhí)行下載操作,ROBOPro會(huì)多次試圖從文件裝載當(dāng)前值。如果不成功,則只能用存儲(chǔ)在Listofinitialvalues下的數(shù)值。在“存入.CSV文件”一欄,可以指定一個(gè)文件,用來(lái)將程序結(jié)束后存儲(chǔ)序列的內(nèi)容。這項(xiàng)功能只對(duì)在線(xiàn)模式和靜態(tài)序列有效。在“列分隔符”一欄,可以選擇序列的單個(gè)的列是否應(yīng)該用逗號(hào)或者分號(hào)分開(kāi)。在“序列變量類(lèi)型”一欄,可以將序列設(shè)置為一個(gè)全局或局部變量。對(duì)于大序列建議設(shè)置為全局變量,因?yàn)槿肿兞勘染植孔兞坑懈嗟拇鎯?chǔ)區(qū)可用。指令=(賦值)賦值指令“=”將一個(gè)數(shù)值分配個(gè)接受者,其經(jīng)常用來(lái)將數(shù)值分配給變量,定時(shí)器變量,序列模塊或者面板輸出。+(加)指令“+”可以傳遞到變量或者定時(shí)器變量來(lái)增加變量的值。指令“+”可以附帶任何一個(gè)想要的值,并加到變量上。因?yàn)橹噶罡綆У闹狄部梢詾樨?fù),變量的值也可以用此指令來(lái)減少。-(減)指令“-”和上述的指令“+”比較相似。唯一的區(qū)別在,指令所附帶的值會(huì)從變量的值里減去。向右“Right”指令傳遞到一個(gè)馬達(dá)輸出模塊來(lái)切換馬達(dá)到順時(shí)針?lè)较颉O蜃蟆癓eft”指令傳遞到一個(gè)馬達(dá)輸出模塊來(lái)切換馬達(dá)到逆時(shí)針?lè)较?。停止“Stop”指令傳遞到一個(gè)馬達(dá)輸出模塊來(lái)停止馬達(dá)。沒(méi)有值隨“Stop”指令傳遞。打開(kāi)“On”指令傳遞到一個(gè)燈輸出模塊來(lái)將燈打開(kāi)。“On”指令也可以傳遞到馬達(dá)輸出模塊,相當(dāng)于“向右”指令。關(guān)閉“Off”指令傳遞到一個(gè)燈輸出模塊來(lái)將燈關(guān)閉。也可以傳遞到馬達(dá)輸出模塊,相當(dāng)于“停止”指令。文本“Test”指令是一條特殊的指令,由于它不是傳遞一條帶數(shù)值的指令,而是選擇的一個(gè)文本,到所連接的模塊。然而,只有一個(gè)程序模塊可以處理“文本”指令,它是面板中的文本顯示指令。添加數(shù)值“Append”指令是針對(duì)序列的一條特殊的指令。這條指令附帶著一個(gè)數(shù)值,用來(lái)添加到序列的末尾。如果序列已經(jīng)滿(mǎn)了,則會(huì)忽略這條指令。刪除數(shù)值“Delete”指令是針對(duì)序列的一條特殊指令。用這條指令可以刪除序列末尾的任何數(shù)值。想要的號(hào)碼作為數(shù)值隨指令附帶。如果這個(gè)值大于序列中所有模塊,序列中所有的數(shù)會(huì)被刪除。交換數(shù)值“Exchange”指令是針對(duì)序列的一條特殊的指令。用這條指令,序列中所有的值都可以和第一個(gè)模塊交換。要和第一個(gè)模塊交換的模塊號(hào)作為一個(gè)數(shù)值隨指令附帶。注意:序列第一個(gè)模塊的編號(hào)為0.如果指令附帶的值不是一個(gè)有效的模塊號(hào),序列模塊會(huì)忽略此指令。指令模塊的屬性窗口:在“指令”一欄,可以在可能的指令列表中選擇想要的指令。在“值”一欄,可以輸入隨指令附帶的數(shù)值。如果沒(méi)有附帶值,這一欄為空。在“值的描述”一欄,可以輸入一個(gè)簡(jiǎn)短的表示文本,顯示在有附帶值的指令模塊中。這段文字應(yīng)該說(shuō)明包含了哪種類(lèi)型的值。這一部分只是作為現(xiàn)實(shí)內(nèi)容,沒(méi)有其他作用。在“外部數(shù)據(jù)賦值”一欄,可以指定是否指令模塊的左邊帶一個(gè)橙色的用來(lái)附帶數(shù)據(jù)的數(shù)據(jù)輸入端。對(duì)于所有的指令模塊,數(shù)值可以輸入在指令模塊內(nèi),也可以從指令模塊左邊的數(shù)據(jù)輸入端讀取。判斷(帶數(shù)據(jù)輸入)這個(gè)程序判斷模塊的左邊有一個(gè)橙色的數(shù)據(jù)輸入端“A”。通過(guò)這個(gè)端子,可以讀入一個(gè)經(jīng)常來(lái)自輸入模塊的數(shù)值。數(shù)據(jù)輸入端“A”可以和變量,定時(shí)器變量或運(yùn)算器的輸出相關(guān)聯(lián)。模塊將來(lái)自數(shù)據(jù)輸入端“A”的數(shù)值和一個(gè)固定但可自由定義的值比較。根據(jù)比較是否保持,決定模塊的分支以“Y”或“N”為出口。判斷模塊的屬性窗口在“條件”一欄,在右邊的區(qū)域,可以輸入用來(lái)和輸入值A(chǔ)作比較的數(shù)值。通常的比較運(yùn)算器對(duì)于這一比較是有效的。如果選擇了“交換Y/N分支位置”,“Y”和“N”兩個(gè)出口就會(huì)互換。15.及固定值作比較該程序模塊數(shù)據(jù)輸入端A的數(shù)值可以和一個(gè)固定的,但可以自由定義的數(shù)值作比較。根據(jù)在數(shù)據(jù)輸入端A出現(xiàn)的數(shù)值大于、小于或等于固定值,控制分支就以比較模塊的右邊,左邊或者中間為出口。比較模塊屬性窗口在“比較值”一欄,可以輸入一個(gè)和輸入端A的值進(jìn)行比較的常數(shù)。16.比較使用比較程序模塊,數(shù)據(jù)輸入端A和B的數(shù)值可以相互比較。根據(jù)A小于B,A大于B,或A等于B,模塊分支以左邊,右邊或中間作為出口。這個(gè)模塊最普通的應(yīng)用是將一個(gè)名義上的值和一個(gè)實(shí)際的值作比較。根據(jù)名義上的值和實(shí)際值的相對(duì)關(guān)系,比如馬達(dá)可以左轉(zhuǎn)、右轉(zhuǎn)或停止。17.等待…等待程序模塊可以組織程序的執(zhí)行,直到發(fā)生一個(gè)變化或在模塊的數(shù)據(jù)輸入端達(dá)到一個(gè)特定的狀態(tài)。模塊有五種變化狀態(tài)?!暗却蹦K的屬性窗口在“等待”一欄,可以在上述五種功能中作選擇。如果選擇了“出發(fā)變化監(jiān)測(cè)”,模塊在其不應(yīng)當(dāng)執(zhí)行的時(shí)候,也會(huì)檢測(cè)信號(hào)變化的發(fā)生。在此情況下,模塊保存了最近的值。當(dāng)模塊再次執(zhí)行的時(shí)候,如果值在間歇期已經(jīng)按正確的方式變化了,程序就可以立即繼續(xù)執(zhí)行了。這種方式下,丟失信號(hào)變化的可能性就較小了,因?yàn)槌绦蛉ネ瓿善渌蝿?wù)了。18.脈沖計(jì)數(shù)器這個(gè)程序模塊在繼續(xù)執(zhí)行程序之前,要等待一個(gè)可定義的,來(lái)自左邊數(shù)據(jù)輸入端的脈沖輸入數(shù)。這對(duì)于用脈沖齒輪的簡(jiǎn)單的定位任務(wù)是非常使用的。要更精確的定位,比如用變量值,必須用帶變量的子程序。脈沖計(jì)數(shù)器的屬性窗口在“脈沖數(shù)量”一欄,可以輸入在程序繼續(xù)執(zhí)行前,要等待的脈沖數(shù)。在“脈沖類(lèi)型”一欄,可以選擇三種形式的脈沖中的任一種:0-1,1-0或兩者皆是。19.數(shù)字量輸入數(shù)字量輸入I1到I8的值可由用“Digitalinput”模塊來(lái)查詢(xún)。如果接口板上輸入端口電氣上是閉合的,則數(shù)字量輸入模塊的成色連接上會(huì)返回一個(gè)數(shù)值“1”,否則就會(huì)返回一個(gè)數(shù)值“0”。數(shù)字量輸入的屬性窗口:在“數(shù)字量輸入”一欄,可由選擇所用的接口板輸入端號(hào)。擴(kuò)展板上的輸入端課可以在“接口板/擴(kuò)展板”中選擇。在“類(lèi)型”一欄,可由選擇鏈接到輸入端的傳感器圖示。大多數(shù)情況下是一個(gè)“微動(dòng)開(kāi)關(guān)”?!案苫晒堋笔且环N可以檢測(cè)磁場(chǎng)的傳感器。雖然光電開(kāi)關(guān)事實(shí)上是一種模擬的傳感器,到那也可以接到數(shù)字接口。20.模擬量輸入和數(shù)字量輸入返回“0”和“1”值不同,模擬量輸入可以分辨連續(xù)的輸入。所有的模擬量輸入返回一個(gè)“0到1023”之間的值。模擬量輸入可以適用來(lái)測(cè)量電阻,測(cè)量電壓和測(cè)量距離的不同的傳感器。輸入端輸入類(lèi)型測(cè)量范圍A1,A2電壓輸入0-10,23伏AX,AY電阻輸入0-5,5千歐D1,D2距離傳感器輸入Ca.0-50cmAV電源電壓0-10V通常的傳感器中,溫度傳感器和光電傳感器將被測(cè)量轉(zhuǎn)換成一個(gè)電阻值。所以必須將這些傳感器接到AX和AY輸入端。電壓輸入端A1和A2設(shè)計(jì)用來(lái)連接所有產(chǎn)生0到10V電壓的傳感器。距離傳感器輸入端D1和D2可以接到慧魚(yú)特殊傳感器,可以測(cè)量距離。21.紅外線(xiàn)輸入ROBO接口板有一個(gè)內(nèi)置的紅外線(xiàn)接收器,可以用慧魚(yú)遠(yuǎn)紅外控制組中的手持式發(fā)射器來(lái)控制。手持式發(fā)射器非常有用,不僅可以遙控,還可以作為模型控制的鍵盤(pán)。遠(yuǎn)紅外控制組中有兩個(gè)接收器,可以用手持式發(fā)射器上的按鈕“1”和“2”鍵來(lái)切換。在紅外輸入的屬性窗口中,可以用其頂部的標(biāo)簽在IR1,IR2和IR1+2之間切換。如果選擇IR1,手持式發(fā)射器按下相應(yīng)的鍵且先前已經(jīng)通過(guò)“1”鍵設(shè)置為任務(wù)1,IR輸入模塊就只返回一個(gè)“1”。另一方面,選擇IR2,手持式發(fā)射器必須已經(jīng)通過(guò)“2”鍵設(shè)置為任務(wù)2。如果選擇了IR1+2,手持式發(fā)射器的設(shè)置無(wú)關(guān)。這種情況下,可以將1)))a和2)))鍵用作輸入。22.馬達(dá)輸出用Motoroutput模塊可以可能股指接口板或者只能接口板的四個(gè)雙向馬達(dá)之一。一個(gè)馬達(dá)輸出通常使用兩個(gè)接口板接口,而燈輸出只用一個(gè)借口。必須用一個(gè)指令模塊傳遞一個(gè)指令到馬達(dá)輸出來(lái)控制輸出。馬達(dá)輸出模塊可以用下列指令來(lái)處理:指令值動(dòng)作向右1to8馬達(dá)以速度1到8順時(shí)針轉(zhuǎn)動(dòng)向左1to8馬達(dá)以速度1到8逆時(shí)針旋轉(zhuǎn)停止None馬達(dá)停止打開(kāi)1to8和向右一樣關(guān)閉None和停止一樣=-8to8值-1to-8:馬達(dá)順時(shí)針旋轉(zhuǎn)值1to8:馬達(dá)逆時(shí)針旋轉(zhuǎn)值0:馬達(dá)停止23.燈輸出用燈輸出模塊可以控制接口板或者智能接口板的8個(gè)單極燈輸出o1-o8之一。燈輸出只用了接口板的一個(gè)輸出接口。燈的另一根線(xiàn)接到了接口板的接地端。在這種接線(xiàn)方式下,負(fù)載燈只能打開(kāi)或者關(guān)閉,無(wú)法改變它的極性。必須用一個(gè)指令模塊傳遞一個(gè)指令到燈輸出來(lái)控制輸出。燈輸出模塊可以用下列指令來(lái)處理:指令值動(dòng)作打開(kāi)1到8燈打開(kāi)到1到8之間的一種亮度關(guān)閉無(wú)燈被關(guān)閉=0到8值1-8:燈打開(kāi)0:燈關(guān)閉24.面板輸入ROBOPro提供了模型設(shè)計(jì)面板的功能,按鈕、滑動(dòng)開(kāi)關(guān)和數(shù)據(jù)輸入模塊可以在面板中使用。面板只能在在線(xiàn)模式下使用。面板輸入的屬性窗口:一塊面板和每個(gè)主程序或子程序相關(guān)聯(lián)。面板模塊在相關(guān)的程序名字下列出。如果沒(méi)有定義任何的面板模塊,那么列表中就沒(méi)有任何模塊。因此,必須在將一個(gè)面板輸入和一個(gè)面板模塊關(guān)聯(lián)之前,設(shè)計(jì)面板。25.面板輸出除了用按鈕和其它輸入模塊來(lái)控制模型,也可以在面板中插入顯示模塊。在這些顯示模塊中,可以顯示,例如機(jī)器人的軸的坐標(biāo)或極限開(kāi)關(guān)的位置。面板屬于每一個(gè)主程序或子程序。面板模塊在相關(guān)的程序名字下列出。如果沒(méi)有定義任何的面板模塊,那么列表中就沒(méi)有任何模塊。因此,必須在將一個(gè)面板輸入和一個(gè)面板模塊關(guān)聯(lián)之前,設(shè)計(jì)面板。要?jiǎng)?chuàng)建一個(gè)面板,請(qǐng)?jiān)诠δ軝谶x擇“面板”:在空白的下面灰色區(qū)域,可以插入面板模塊。面板總是屬于創(chuàng)建面板時(shí)所在的主程序或子程序。因此,在創(chuàng)建面板時(shí),很重要的是要在子程序欄選對(duì)正確的子程序,面板通常是在主程序下創(chuàng)建。面板包含顯示和控制模塊。用顯示模塊,可以顯示變量值或文字信息。另一方面,用控制模塊,如同附加的模擬量輸入等傳感器。對(duì)于插入面板的每一個(gè)面板模塊,在程序中都有一個(gè)相應(yīng)的模塊。一個(gè)是“面板輸入”,控制模塊用;另一個(gè)是“面板顯示”,顯示模塊用??梢酝ㄟ^(guò)這些程序模塊在程序和面板之間建立連接??梢栽凇拜斎?,輸出”模塊組找到它們。不同符號(hào)的現(xiàn)實(shí)根據(jù)關(guān)聯(lián)到程序模塊的響應(yīng)面板模塊的不同。26.運(yùn)算器這一組的所有程序模塊稱(chēng)之為運(yùn)算器。運(yùn)算器有一個(gè)或多個(gè)橙色數(shù)據(jù)輸入端。從數(shù)據(jù)輸入端來(lái)的數(shù)值由運(yùn)算器組合得出一個(gè)新值,此新值由運(yùn)算器的輸出端用一個(gè)“=”指令傳遞。運(yùn)算器的屬性窗口:所有的運(yùn)算器使用相同的屬性窗口。通過(guò)屬性窗口,可以將一個(gè)運(yùn)算器轉(zhuǎn)換為另一個(gè)運(yùn)算器。在“運(yùn)算”一欄,可以設(shè)置運(yùn)算器如何來(lái)組合它的輸入。在“輸入端數(shù)量”一欄,可以設(shè)置運(yùn)算器所持有的輸入號(hào)。1)算數(shù)運(yùn)算器ROBOPro有四種基本的算數(shù)運(yùn)算器,帶有兩個(gè)輸入端,符號(hào)如下:加減乘除取負(fù)A+BA-BA*BA/B-A如果Minus運(yùn)算器有超過(guò)兩個(gè)輸入端,所有后來(lái)的輸入值從A輸入端的數(shù)值中減去。如果“Minus”運(yùn)算器只有一個(gè)輸入端,則運(yùn)算器改變輸入值的符號(hào)。如果Dividedby有兩個(gè)以上的輸入端,則輸入端A的數(shù)值被所有其它的值相除。2)邏輯運(yùn)算器ROBOPro有三種邏輯運(yùn)算器,可以用來(lái)組合數(shù)字輸入量。及或非A>0及B>0A>0或B>0A<=0邏輯運(yùn)算器將一個(gè)大于零的值看作yes或true,并把一個(gè)小于等于零的數(shù)看作no或false,而“1”看作true。如果所有的輸入值都為真,“及”運(yùn)算器傳遞一個(gè)附帶值為1的賦值指令,到連結(jié)在其輸出的模塊。否則模塊將傳遞一個(gè)附帶值為0的賦值指令。如果至少一個(gè)輸入值為真,“或”運(yùn)算器將傳遞一個(gè)附帶值為1的賦值指令,到連結(jié)在其輸出的模塊。否則模塊將傳遞一個(gè)附帶值為0的賦值指令。如果至輸入值為假,“非”運(yùn)算器將傳遞一個(gè)附帶值為1的賦值指令,到連結(jié)在其輸出的模塊。否則模塊將傳遞一個(gè)附帶值為0的賦值指令。27.顯示1)儀表儀表模塊基于一個(gè)帶指針的模擬儀器,主要是用來(lái)顯示模擬輸入量。但也可以用來(lái)顯示變量或是其它的程序模塊。儀表模塊是在程序中通過(guò)“面板顯示”模塊控制的??梢栽凇拜斎?,輸出”模塊組找到“面板顯示”模塊??梢酝^(guò)一條“=”指令到程序中相應(yīng)的“面板顯示”模塊來(lái)設(shè)定儀表值。幾乎所有的帶數(shù)據(jù)輸出的程序模塊,當(dāng)這些只改變后都用“=”指令傳遞。也可以直接將模擬量輸入或變量連接到“面板顯示”模塊。儀表模塊的屬性窗口:在“ID/名稱(chēng)”一欄,可以輸入儀表的名字,這名字很重要,因?yàn)榭赡芤诔绦蛑袇^(qū)別很多儀表。在“背景顏色”一欄,可以設(shè)置其它顏色背景。在“起始刻度值”和“滿(mǎn)量程刻度值”:可以設(shè)定刻度左右端點(diǎn)相應(yīng)的數(shù)值。如果其中一個(gè)的值小于0而另一個(gè)大于0,那么0就會(huì)特別長(zhǎng)??潭扔虚L(zhǎng)短兩種。在長(zhǎng)短刻度間的距離可以“長(zhǎng)線(xiàn)刻度/短線(xiàn)刻度”一欄輸入,如果是同樣值,僅僅有長(zhǎng)線(xiàn)刻度顯示。2)文本顯示在“文本顯示”模塊中,可以用來(lái)顯示數(shù)字值,文本,或兩者都有。文本顯示是在程序通過(guò)面板顯示控制的??梢栽凇拜斎?,輸出”模塊中找到“面板顯示”模塊。一旦在面板輸出的參數(shù)窗口中將它和文本顯示相關(guān)聯(lián),這個(gè)符號(hào)改變了,且顯示了面板的名字和文本??梢酝^(guò)兩種方式,設(shè)置文本顯示:可以通過(guò)“=”指令將顯示的內(nèi)容傳遞到程序中相應(yīng)的“面板顯示”模塊。如果要用它來(lái)顯示變量或是其它程序模塊,因?yàn)榇蟛糠值某绦蚰K會(huì)在值改變時(shí),自動(dòng)通過(guò)他們的數(shù)據(jù)輸出發(fā)出“=”指令。這條“=”指令僅僅改寫(xiě)到最后的6個(gè)字符。如果多行顯示,可以在某一行上加上解釋文字。在多行顯示時(shí),僅有最后一行的最后6個(gè)字符通過(guò)“=”指令被改寫(xiě)??梢杂梦谋局噶钤O(shè)置所要顯示的內(nèi)容。文本指令是個(gè)特殊的指令模塊,通過(guò)它的輸出不僅可以傳遞數(shù)據(jù),還可以是完整的文本。用此種方法可以隨意組合數(shù)據(jù)和文本。文本指令控制字符:指令字符效果######將數(shù)據(jù)輸入中數(shù)值以一個(gè)帶“+”的5位數(shù)字符輸出。##.##將數(shù)據(jù)輸入中數(shù)值一個(gè)帶兩位小數(shù)的數(shù)值輸出,且用句號(hào)分隔。##,##將數(shù)據(jù)輸入中數(shù)值一個(gè)帶兩位小數(shù)的數(shù)值輸出,且用逗號(hào)分隔。\c清除顯示,并將后來(lái)的文本插入顯示的開(kāi)頭。文本顯示的屬性窗口:在“文本”一欄,可以輸入所要顯示的內(nèi)容。這些內(nèi)容一直保留,直到從程序中傳遞一個(gè)指令來(lái)顯示它們。如果傳遞一個(gè)“=”指令來(lái)顯示,只有顯示內(nèi)容的最后6個(gè)字符被寫(xiě)出。正文的開(kāi)頭內(nèi)容保留,所以在數(shù)值的前面可以顯示一個(gè)注釋來(lái)說(shuō)明數(shù)值的種類(lèi)。在圖示的例子中,文本“Var=”保留。顯示有10個(gè)字符,所以10-6=4個(gè)字符保留。在“數(shù)字位數(shù)/列數(shù)”一欄和“行數(shù)”一欄,可以設(shè)定顯示空間的字符數(shù)。在一個(gè)多行顯示中,可以顯示一個(gè)注釋。3)指示燈燈是用程序的面板輸出來(lái)控制的。一旦在面板輸出的參數(shù)窗口中將它和指示燈相關(guān)聯(lián),這個(gè)符號(hào)就改變了??梢酝ㄟ^(guò)傳遞一個(gè)相應(yīng)的面板輸出指令“On”和“Off”來(lái)打開(kāi)或關(guān)閉燈。也可以通過(guò)“=”指令來(lái)關(guān)閉燈。如果大于0,燈被打開(kāi)。如果小于等于0,則燈被關(guān)閉。指示燈的屬性窗口:入選中“初始燈亮”選項(xiàng),指示燈一直點(diǎn)亮,直到相應(yīng)的程序模塊收到指令。否則指示燈初始時(shí)是關(guān)閉的。28.控制模塊1)按鈕按鈕模塊在程序中通過(guò)“面板輸入”模塊可以查詢(xún)。可以在輸入輸出模塊組中找到“面板輸入”模塊。還可以將按鈕和面板輸出關(guān)聯(lián),并輸出到任何程序模塊的數(shù)據(jù)輸入端,比如判斷模塊,如果按下按鈕,返回“1”值,否則返回“0”值。如果選中按鈕屬性窗口中的“按鈕開(kāi)關(guān)”一項(xiàng),按鈕作開(kāi)關(guān)用而不是傳感器。如果按下按鈕,那么它會(huì)保持壓下?tīng)顟B(tài)直到第二次點(diǎn)擊。否則,按鈕就當(dāng)傳感器用,手松開(kāi)壓簧也直接打開(kāi)了。2)滑塊和按鈕只能返回“0”和“1”值不同,滑塊可以返回有許多不同的值。數(shù)值的范圍可以通過(guò)屬性窗口來(lái)設(shè)置。滑塊經(jīng)常連接到一個(gè)帶數(shù)據(jù)輸入的指令模塊。這樣就可以用滑塊來(lái)控制馬達(dá)的速度了。在屬性窗口中,“最小值和最大值”可以輸入滑塊的值的范圍。11.6程序的編寫(xiě)程序的編寫(xiě)都是按照一個(gè)流程一個(gè)流程編寫(xiě)的,程序流程都是由“開(kāi)始”模塊作為開(kāi)頭的。如果程序不是由此模塊開(kāi)頭,流程就無(wú)法執(zhí)行。假如一個(gè)程序由幾個(gè)流程組成,每一個(gè)流程必須由“開(kāi)始”模塊開(kāi)頭。各個(gè)不同的流程就同時(shí)開(kāi)始啟動(dòng)?!伴_(kāi)始”模塊沒(méi)有屬性編輯。如果一個(gè)程序結(jié)束,最后一個(gè)模塊的出口應(yīng)該連到“結(jié)束”模塊。流程也可以在各個(gè)不同的地方用此模塊終結(jié)。也可以將各個(gè)不同模塊的出口連接到同一個(gè)“結(jié)束”模塊。但是,也很有可能流程是個(gè)沒(méi)有結(jié)束的循環(huán),不含“結(jié)束”模塊。“結(jié)束”模塊同樣也沒(méi)有屬性窗口。11.6.3各個(gè)程序模塊間是通過(guò)程序流程線(xiàn)來(lái)連接的,箭頭的方向即程序流動(dòng)方向。小貼士:如果線(xiàn)沒(méi)有被正確連接到一個(gè)接點(diǎn)或一條線(xiàn),將會(huì)在箭頭處出現(xiàn)綠色矩形。在此情況下,通過(guò)移動(dòng)或刪除及重畫(huà)線(xiàn)來(lái)重新建立連接。否則,程序運(yùn)行到這一點(diǎn)就不會(huì)再運(yùn)行下去。刪除程序流程線(xiàn)刪除程序流程線(xiàn)和刪除程序模塊的方法一樣。左擊這條線(xiàn),使得它顯示為紅色。然后按下鍵盤(pán)上的“del”鍵來(lái)刪除這條線(xiàn)。如果同時(shí)按住shift鍵,然后連續(xù)點(diǎn)擊那些線(xiàn),可以選中多根線(xiàn)。除此之外,還可以通過(guò)框起這些線(xiàn),來(lái)選中它們,然后再按下“del”鍵一下刪除所有紅色的線(xiàn)。改變連接線(xiàn)如果移動(dòng)了某一模塊,ROBOPro會(huì)試圖以一種合理的方式調(diào)整連接線(xiàn)。另外,還可以自行移動(dòng)這些連接線(xiàn)。以下是不同鼠標(biāo)的用法:如果鼠標(biāo)處于一根垂直線(xiàn)上,則可以通過(guò)按住左鍵來(lái)拖動(dòng)整條垂直線(xiàn)。如果鼠標(biāo)處于一根水平線(xiàn)上,則可以通過(guò)按住左鍵來(lái)拖動(dòng)整條水平線(xiàn)。如果鼠標(biāo)處于一根斜線(xiàn)上,則當(dāng)在線(xiàn)上左擊時(shí),會(huì)在線(xiàn)上插入一個(gè)新的點(diǎn),然后按住左鍵來(lái)拖動(dòng)這條線(xiàn)來(lái)確定這個(gè)新點(diǎn)的位置。如果鼠標(biāo)處于線(xiàn)的端點(diǎn)附近或連接線(xiàn)的夾角處,通過(guò)按住左鍵來(lái)移動(dòng)這一點(diǎn)。智能將此連接線(xiàn)的端點(diǎn)移到另一個(gè)合適的程序模塊的接線(xiàn)端。這樣,兩個(gè)端點(diǎn)就連上了。否則,端點(diǎn)不能移動(dòng)。另一種連接的方法通過(guò)移動(dòng)程序模塊來(lái)建立連接線(xiàn)。如果移動(dòng)一個(gè)程序模塊,使得它的入口位于另一個(gè)模塊出口下方一到兩個(gè)格子,就可以建立兩個(gè)模塊間的連接線(xiàn)。同樣,也適合于將出口移動(dòng)到入口之上。就可以將程序模塊移動(dòng)到最終位置。11.6.4有時(shí)候,我們?cè)O(shè)計(jì)的程序相當(dāng)?shù)凝嫶螅枰芏囔`活的流程圖。如果工作表里都是組件的話(huà),到處都是連接線(xiàn),弄得相當(dāng)混亂。于是,我們想到用子程序來(lái)解決這個(gè)問(wèn)題。在“級(jí)別”菜單欄中選擇“第二級(jí)”:子程序,模塊窗口將一分為二。模塊窗口模塊窗口子程序及之前的程序非常相似,首先,建立一個(gè)空的新程序。在工具欄中,點(diǎn)擊圖標(biāo),創(chuàng)建一個(gè)子程序。將會(huì)出現(xiàn)一個(gè)對(duì)話(huà)窗口,在窗口內(nèi)輸入子程序的名稱(chēng)和描述。子程序的名稱(chēng)不宜太長(zhǎng)(8到10個(gè)字節(jié)),不然子程序符號(hào)會(huì)很大。當(dāng)然名稱(chēng)以后還可修改。一旦點(diǎn)擊了確認(rèn),關(guān)閉了新建子程序窗口,在子程序狀態(tài)欄上面會(huì)顯示新的子程序。任何時(shí)候,都可以點(diǎn)擊子程序欄上的程序名在主程序和子程序之間的切換。通過(guò)點(diǎn)擊屬性,可以從功能欄切換到子程序的屬性窗口。在這里可以修改子程序名。其他大多數(shù)區(qū)域只能在更高級(jí)甚至是專(zhuān)家級(jí)中才能改變。點(diǎn)擊功能欄上的功能,就可以對(duì)子程序的功能進(jìn)行編程。程序窗口及主程序大致相同,但又有區(qū)別:主程序總是由一個(gè)“開(kāi)始”模塊開(kāi)頭;子程序由一個(gè)相似的模塊“子程序入口”開(kāi)頭,模塊有這樣一個(gè)名字是因?yàn)榭刂屏鞒淌菑闹鞒绦蚪?jīng)由這個(gè)模塊進(jìn)入子程序的。這里不能用“開(kāi)始”模塊,因?yàn)轱@然沒(méi)有開(kāi)始新的流程。在子程序I/O中可以找到子程序入口和出口。開(kāi)始模塊開(kāi)始一個(gè)新的獨(dú)立的流程子程序入口程序控制由主程序交到子程序停止模塊停止一個(gè)獨(dú)立流程的執(zhí)行子程序出口程序控制從子程序交回到主程序在對(duì)慧魚(yú)機(jī)器人進(jìn)行程序編程時(shí),可以先從主程序入手,將機(jī)器人的動(dòng)作分解成若干個(gè)子程序,再對(duì)各個(gè)子程序進(jìn)行編程。也可以先從子程序入手,把編好的子程序穿在主程序中完成一個(gè)完整的動(dòng)作。下面是一個(gè)完整的主子程序?qū)嵗涸诰帉?xiě)子程序時(shí),要確信是在子程序欄中輸入的子程序,而不是在主程序欄下。建立的子程序可以在“已加載的程序”欄下找到,如果還沒(méi)有保存過(guò)文件,則其文件名為unnamed1。在模塊組“已加載的程序/unnamed1”一欄中,可以找到兩個(gè)綠色的子程序符號(hào)。這樣就可以將子程序符號(hào)和普通程序模塊一樣插入到主程序中。11.6.5把一個(gè)子程序從一個(gè)文件復(fù)制到另一個(gè)文件十分方便:同時(shí)加載兩個(gè)文件,用已經(jīng)加載的程序模塊組,將子程序從一個(gè)文件插入到另一個(gè)文件。對(duì)于經(jīng)常使用的子程序,使用庫(kù)的話(huà),操作會(huì)更簡(jiǎn)便。ROBOPro包括了一個(gè)預(yù)置的子程序庫(kù),可以方便地重復(fù)使用。1)使用庫(kù):庫(kù)初始化分為兩個(gè)主要的組。在組合包組里,可以找到用于特定的組合包里的模型的子程序。在通用組里,可以找到能用于所有模型的子程序。每一個(gè)機(jī)器人組合包,比如ROBO移動(dòng)組,在組合包里都有自己的子程序,有時(shí)候,這些子組根據(jù)各個(gè)組合包的裝配手冊(cè)中模型,還進(jìn)一步分組。當(dāng)選擇了組合包或者其中一個(gè)模型,在模塊窗口會(huì)顯示這個(gè)模型的現(xiàn)成的子程序。如果用鼠標(biāo)指向一個(gè)子程序符號(hào),會(huì)顯示一個(gè)簡(jiǎn)短的描述信息。如果將一個(gè)子程序插入程序,可以在子程序工具條上選擇子程序,再單擊功能工具欄的描述,就可以顯示其詳細(xì)的描述。注意:如果從庫(kù)里插入一個(gè)子程序,在一些情況下,比如某個(gè)子程序所用到的子程序會(huì)同時(shí)插入程序??梢赃x擇編輯菜單上的撤消功能,刪除這些子程序。2)使用自己的庫(kù):為避免每次使用子程序都要查找打開(kāi)相關(guān)文件,可以建立自己的庫(kù),就像預(yù)置的庫(kù)一樣。自己的庫(kù)存放在同一個(gè)文件夾下的ROBOPro文件組。每個(gè)文件夾都?xì)w類(lèi)到自己的組中去。在文件菜單的用戶(hù)自定義庫(kù)文件路徑選項(xiàng)里,定義在哪個(gè)文件夾里存放自己的庫(kù)。3)組建自己的庫(kù):ROBOPro沒(méi)有特別的改變庫(kù)的功能,不過(guò)操作起來(lái)也很方便。如果需要從一個(gè)庫(kù)中添加或者刪除子程序,必須調(diào)用相關(guān)的文件??梢栽谀阕约旱膸?kù)文件目錄下找到這個(gè)文件。打開(kāi)第二個(gè)文件,把“已加載的程序”組只能夠選擇一個(gè)子程序,然后拖到庫(kù)的主程序中。在庫(kù)里,主程序本身并不顯示在模塊窗口。注意:如果修改了一個(gè)庫(kù)文件并保存,還必須在“文件”菜單里選擇“更新我自己的庫(kù)”。這樣可以更新組窗口的文件列表。11.6.6除了ROBOPro會(huì)自動(dòng)生成子程序符號(hào)外,也可以自己定義符號(hào),用來(lái)更好表達(dá)此子程序的功能。首先,需要在子程序的屬性窗口,從自動(dòng)符號(hào)模式切換到手動(dòng)符號(hào)模式。接下來(lái),從“屬性”欄切換到“符號(hào)”欄,來(lái)編輯子程序的符號(hào)。這個(gè)模塊組窗口中的“繪制圖表”模塊組中可以找到繪圖功能。在畫(huà)圖/形狀這個(gè)模塊組里,可以找到常用的圖形,如矩形,橢圓,圓形等等。在圖畫(huà)/文字下面,可以找到各種字體和大小的文字對(duì)象。在圖畫(huà)的其它組里,可以找到更改顏
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家居空間設(shè)計(jì)中的生活動(dòng)線(xiàn)優(yōu)化考核試卷
- 流動(dòng)小吃轉(zhuǎn)讓合同范本
- 酒店吧臺(tái)員工合同范本
- 吊頂合資協(xié)議合同范本
- 辦公區(qū)域清潔與維護(hù)工作計(jì)劃
- 農(nóng)村污水處理合同
- 企業(yè)增資擴(kuò)股方案及協(xié)議
- 環(huán)境保護(hù)的重要性征文
- 貨物公路運(yùn)輸合同
- 私人公寓樓房產(chǎn)轉(zhuǎn)讓合同
- 大單元教學(xué)設(shè)計(jì)基本步驟
- 《鋼鐵是怎樣煉成的》讀書(shū)分享課件
- 二手中型、重型載貨車(chē)鑒定評(píng)估技術(shù)規(guī)范
- 工業(yè)自動(dòng)化控制系統(tǒng)設(shè)計(jì)與實(shí)施規(guī)范
- 2024版2024年.旋轉(zhuǎn)課件 公開(kāi)課一等獎(jiǎng)?wù)n件
- 10 摩擦力 教學(xué)設(shè)計(jì)-2023-2024學(xué)年科學(xué)四年級(jí)上冊(cè)蘇教版
- 2024-2025學(xué)年廣東佛山順德區(qū)高三高考適應(yīng)性月考(二)數(shù)學(xué)試題含解析
- 2024-2030年鋰離子電池隔膜行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資管理策略研究報(bào)告
- 110kV線(xiàn)路大開(kāi)挖基礎(chǔ)施工方案
- CJJ101-2016 埋地塑料給水管道工程技術(shù)規(guī)程
- 流動(dòng)兒童基本情況登記表
評(píng)論
0/150
提交評(píng)論