ROBO PRO慧魚編程教程_第1頁
ROBO PRO慧魚編程教程_第2頁
ROBO PRO慧魚編程教程_第3頁
ROBO PRO慧魚編程教程_第4頁
ROBO PRO慧魚編程教程_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE48/NUMPAGES48第11章ROBOPRO軟件教程概述ROBOPRO軟件的安裝ROBOPRO軟件的界面介紹硬件測試程序模塊程序的編寫在線和下載操作

第11章:ROBOPRO軟件教程11.1概述你一定曾經(jīng)問過自己,機(jī)器人是如何執(zhí)行被分配的任務(wù),看上去就像有一只無形的手在操縱它。但不僅僅是真正的機(jī)器人,在許多其他涉及到自動化控制技術(shù)的領(lǐng)域中同樣如此,包括慧魚機(jī)器人。在接觸了眾多的慧魚模型后,你一定很驚訝于慧魚模型的操縱程序。究竟是什么軟件編出了這樣的程序呢?在接下來的章節(jié)中,我們將一起來學(xué)習(xí)ROBOPRO軟件。11.2ROBOPRO軟件的安裝安裝方法如下:將安裝光盤插入光驅(qū),安裝程序自動啟動后,在安裝程序第一個的歡迎窗口中,你只需按一下NEXT按扭,如圖:第二個窗口是重要提示,包括重要的程序安裝和程序本身更新提示,這里也只要按NEXT按扭。這個窗口是許可協(xié)議,顯示ROBOPro的許可契約。你必須按YES接受協(xié)議并按NEXT進(jìn)入下一個窗口中。下一個窗口是用戶詳細(xì)資料,請輸入你的名字等信息。下一個窗口是安裝類型,允許你在快速安裝和自定義安裝中選擇。在自定義安裝中,你可以選擇單個組件來安裝。如果你是在舊版本的ROBOPro基礎(chǔ)上安裝新版本的ROBOPro,而且你已經(jīng)修改過了舊版本的范例程序,你可以選擇不安裝范例程序。如果你不這么做,你已經(jīng)修改過的舊版本范例程序會在沒有提示的情況下被自動覆蓋。如果你選擇自定義安裝并按下NEXT,會出現(xiàn)一個新的選擇組件窗口中。在安裝目標(biāo)目錄窗口,允許你選擇將ROBOPro安裝到的目標(biāo)文件夾或者目錄。默認(rèn)路勁是C:\Programs\ROBOPro。當(dāng)然,你可以選擇其他的路勁。當(dāng)你在最后一個窗口,按下Finish按鈕,安裝就完成了。安裝一旦結(jié)束,程序會提示安裝成功。如果安裝有問題,會有錯誤信息出現(xiàn),幫助你解決安裝問題。在第一次用USB連接線將接口板及計算機(jī)連接時,會提示你安裝USB驅(qū)動程序,根據(jù)提示安裝完成后就可以將程序?qū)懭虢涌诎辶恕?1.3ROBOPRO軟件的界面介紹雙擊圖標(biāo)啟動ROBOPro程序,會出現(xiàn)以下窗口:菜單欄工具欄菜單欄工具欄模塊窗口窗口中有一個菜單欄和工具欄,上面有各種操作按鈕,左面的窗口里還有各種不同的變成模塊。對于初學(xué)者,可以在菜單欄中選擇級別中的級別一,以后根據(jù)自己對ROBOPro知識的增長選擇不同的級別。為了更好的熟悉全新的界面,我們打開一個現(xiàn)成的范例程序。點擊按鈕,范例程序可以在C:\Promgrams\ROBOPro\Sampleprograms中打開文件Testt00MotorstartStopp.rpp:程序窗口模塊程序程序窗口模塊程序11.4硬件測試將接口板和計算機(jī)相連,給接口板接上電源通電。為了使接口板和計算機(jī)間的連接工作正常,ROBOPro必須對當(dāng)前使用的接口板進(jìn)行設(shè)置。具體來說,請點擊按鈕。出現(xiàn)如下窗口:這里我們用的是ROBO接口板,因此選擇端口時,我們應(yīng)該選擇端口USB。一旦選擇了適當(dāng)?shù)脑O(shè)置,點擊”確認(rèn)”,關(guān)閉窗口。然后,可以點擊工具欄中的”Test”,打開接口板測試窗口。其中顯示了接口板有效的輸入和輸出。窗口下方的綠條顯示了計算機(jī)和接口板的連接狀態(tài)。InterfaceconnectionOK指示已及接口板準(zhǔn)確連接。\NoconnectiontoInternet表明計算機(jī)和接口板還無法建立正確的連接。狀態(tài)條顯示為紅色。一旦連接正確建立了,我們就可以通過接口板測試窗口來測試接口板和及它連接的模型。測試窗口顯示了接口板的各種輸入和輸出:數(shù)字量輸入I1-I8這里可以接各種傳感器。數(shù)字量輸入只有兩種狀態(tài)0和1,或者Y和N。開關(guān),光電傳感器或者干簧管可以作為數(shù)字量輸入來連接。馬達(dá)輸出M1-M4這里可以連接所謂的執(zhí)行器,可以是馬達(dá)、電磁鐵或者燈。這思路馬達(dá)輸出可以改變方向和8級調(diào)速。燈輸出O1-O8每個馬達(dá)輸出也可以用作一對單個的輸出這個輸出不僅可以用作燈的控制,也可以用作單向馬達(dá)的控制。模擬量輸入AX-AY模擬量輸入AX-AY測量所連接傳感器的阻抗。模擬量輸入A1-A2這兩個可以測量10V電壓輸入。距離傳感器D1-D2只有特殊的距離傳感器可以接到距離傳感器輸入端D1-D2。數(shù)字信號和模擬信號對D1和D2都有效。擴(kuò)展板Em1-Em3可以連接擴(kuò)展接口板。11.5程序模塊11.5.1首先我們要創(chuàng)制一個新程序:方法一,在菜單欄中點擊“文件”下拉一對話框,單擊“新建”;方法二,單擊工具欄中的圖標(biāo)。插入程序模塊把鼠標(biāo)移到想使用的程序模塊的符號上,并單擊左鍵。然后把鼠標(biāo)移動到程序窗口內(nèi),再單擊一次。你也可以通過按住鼠標(biāo)鍵把程序模塊拖入程序窗口。移動程序模塊和組可以通過按住鼠標(biāo)左鍵,將一個已插入的程序模塊移動到理想的位置。如果你想將一些模塊合并成一組同時移動,你可以首先按住鼠標(biāo),沿著這些模塊的外圍畫出一個框。在這個矩形框中的模塊將會顯示為有紅色的邊框。用鼠標(biāo)左鍵移動這些紅色模塊中的一個,所有被選中的模塊會跟著移動。復(fù)制程序模塊和組在移動程序模塊前,按住“ctrl”鍵,將要復(fù)制的程序模塊移到所需要的位置,即完成復(fù)制。刪除模塊和撤銷功能可以通過按下鍵盤上的“delete”鍵,刪除所有標(biāo)記為紅色的模塊。也可以左鍵單擊工具欄中的按鈕,然后點擊要刪除的單個模塊。若想恢復(fù)被刪除的模塊,可以利用“編輯”菜單中的“撤銷”功能。11.5數(shù)字量/模擬量判斷模塊用鼠標(biāo)右鍵單擊程序窗口的程序模塊,會出現(xiàn)一個對話窗口,這里可以改變模塊的各種屬性?!胺种А蹦K的屬性窗口如右圖所示。I1至I8按鈕的選項中,可以選擇所要查詢的接口板的輸入端。在類型一欄中,可以為及輸入端相連的傳感器選擇一個圖示。數(shù)字量輸入端最常用的是按鍵式傳感器,但也經(jīng)常使用光電傳感器或干簧管開關(guān)。在交換1/0分支位置一欄中,可以交換分支出口1及分支出口0的位置。小貼士:如果使用迷你開關(guān)的一對常開觸點,1端及3端,則一旦按下開關(guān),程序?qū)⑦B入分支1,而非分支0。如果使用迷你開關(guān)的一對常閉觸點,1端及2端,則一旦按下開關(guān),程序?qū)⑦B入分支0,而非分支1。馬達(dá)輸出模塊屬性的編輯:通過選擇M1至M4,來選擇所要控制的接口板輸出。在類型一欄中,選擇代表連接到輸出端的慧魚元件的圖示。在動作狀態(tài)一欄中,可以選擇輸出動作類型??梢宰岆姍C(jī)左轉(zhuǎn)(逆時針),右轉(zhuǎn)(順時針),或者停止電機(jī)。同樣也可以控制一盞燈。在調(diào)速度一欄中,可以設(shè)定電機(jī)運(yùn)轉(zhuǎn)的速度或燈的亮度。可能的數(shù)值為1到8。小貼士:有時候馬達(dá)只朝一個方向運(yùn)行,比如輸送帶馬達(dá)。這種情況下,可以把馬達(dá)接到指示燈輸出,這樣可以少用一條線路。時間延時模塊用延時模塊可以使流程執(zhí)行延遲一個所設(shè)定的持續(xù)周期。單擊右鍵,在一定范圍內(nèi)可以設(shè)定自己所需要的時間。延時時間范圍可以從1毫秒到500小時。然而,延時時間越長,精度越低。延遲精度至30秒1/1000秒至5分鐘1/100秒至50分鐘1/10秒至8.3小時1秒至83小時10秒至500小時1分鐘輸入等待模塊出了時間延時模塊,還有另外的兩個模塊,用來等待一些程序繼續(xù)運(yùn)行的東西。等待接口板的某個輸入由一種特定的方式改變?yōu)橐环N特定的狀態(tài)。這個模塊共有五種不同的形式。符號等待輸入=1(閉合)輸入=0(打開)跳變0-1(打開到閉合)跳變1-0(閉合到打開)任一跳變(1-0或0-1)脈沖計數(shù)器很多fischertechnik機(jī)器人模型都是用脈沖輪。這些齒輪每旋轉(zhuǎn)一圈會觸動四次開關(guān)。有了這些脈沖輪,你可以以一個精確的輪數(shù)來驅(qū)動電機(jī),而不是根據(jù)給定的時間。為了達(dá)到這一點,你需要計算接口板的某個輸入處的脈沖數(shù)。脈沖計數(shù)模塊就是用來等待用戶定義的脈沖數(shù)。對于這種模塊,同樣地,設(shè)定所計脈沖為0-1,1-0或者兩者皆可的。脈沖輪通常等待雙向的變化,這樣用一個四齒脈沖輪達(dá)到了每轉(zhuǎn)8個脈沖的精度。循環(huán)計數(shù)器有了循環(huán)計數(shù)模塊,可以十分簡單地將程序中的特定部分多次運(yùn)行。只有當(dāng)循環(huán)次數(shù)及先前設(shè)定的數(shù)值相等時,循環(huán)計數(shù)分支將會轉(zhuǎn)到Y(jié)es出口;如果需要進(jìn)一步的循環(huán),循環(huán)計數(shù)分支將會轉(zhuǎn)到No出口。在“循環(huán)計數(shù)”一欄,可以輸入在“Y”出口激活前,“循環(huán)計數(shù)”從“N”出口執(zhí)行的次數(shù)。輸入值必須為正。如果選中了“交換Y/N分支位置”,點擊“確認(rèn)”,關(guān)閉窗口時,Y和N連線就會互換。根據(jù)Y和N連線的位置,程序中被重復(fù)執(zhí)行的部分將會在“循環(huán)計數(shù)”模塊的右部或者下部。燈輸出用燈輸出編程模塊,可以開關(guān)接口板的任一個單極輸出O1-O8.接口板的輸出既可以成對地用作馬達(dá)輸出,也可以用作單個的燈輸出O1-O8。及馬達(dá)輸出不同,燈輸出只占用一個接線端。小貼士:如果連接四組燈或者馬達(dá),也可以用馬達(dá)輸出來接燈。這樣更實用,因為這樣可以將燈的兩個接線端直接接到接口板的輸出,而不是必須將所有負(fù)極都連到接地插孔。在“燈輸出”一欄,可以設(shè)置O1-O8中的任一個作為要使用的輸出。在“接口板/擴(kuò)展板”一欄,可以選擇所需要的是ROBO接口板、擴(kuò)展板還是其它接口板的輸出。在“類型”一欄,可以選擇代表連接到輸出的慧魚器件的圖示。在“動作狀態(tài)”一欄,可以設(shè)置使輸出如何動作??梢源蜷_或者關(guān)閉燈。可以指定1-8之間的一個強(qiáng)度,其中8亮度最大,1最小。在燈關(guān)閉狀態(tài)下,自然不用再定義強(qiáng)度了。全局變量每個變量可以存儲一個-32767到32767之間的數(shù)值。變量的值可由連接一個“=”模塊到指令模塊的左邊來設(shè)定。在屬性窗口中,也可以賦予變量一個初始值,并保持到其收到第一個指令改變的值。ROBOPro只能為所有的變量模塊建立一個同名而且變量類型為全局的變量。所有的同名全局變量都是一樣的,而且有相同的值,即使它們出現(xiàn)在不同的子程序中。當(dāng)其中一個變量模塊通過指令改變了,所有其它的同名變量也被改變了。這一條對于局部變量并不適用。除了“=”指令,變量也可以接受“+”和“-”指令。所以,比如說變量接到了一個指令“+5”,就將5加到了當(dāng)前值上。對于“-”指令,指令傳送的值就由當(dāng)前值減去。警告:如果執(zhí)行“+”或者“-”指令后,變量的值超出了所允許的范圍,變量值就會加上或者減去65538,以使得變量值回到有效范圍中。因此,要注意變量值的取值范圍。變量的屬性窗口在“名稱”一欄,可以輸入變量名。在“初始值”一欄,可以輸入變量的初始值。變量保持這個值,直到通過=、+或者-指令得到一個新的值。這個“變量類型”項只有在子程序中對變量才有意義。局部變量局部變量及全局變量的作用幾乎相同,只有一點區(qū)別:局部變量只是在它被定義的子程序中有效。即使在不同的子程序中兩個局部變量同名,它們也是既然不同的獨立的兩個變量。即使同一個程序同時并行幾個流程,每個流程中的子程序都有一套獨立的局部變量。局部變量只在定義它們的子程序中發(fā)生作用,所以在程序開始時局部變量并不被賦予初始值,而是在每次啟動相關(guān)的子程序之時。常量和變量一樣,常量也是一個值,但常量的值不能由程序來改變。如果子程序中總是使用一個相同的值,可以將一個常量和一個子程序符號的數(shù)據(jù)輸入相關(guān)聯(lián)。常量在運(yùn)算器計算中也是非常實用的。定時器變量定時器變量的運(yùn)用根本上和變量相似。即使和定時器變量相比存在普通和靜態(tài)變量的區(qū)別。唯一的區(qū)別在于定時器變量由存儲的固定的時間間隔向下計時,直到其值為零。定時器的值一旦達(dá)到零,就保持在那邊。如果定時器的值變?yōu)樨?fù)的,比如通過減法指令,其值會在下一個時間節(jié)拍回到零。定時器變量向下計時的速度可以在其屬性窗口中設(shè)定,在每節(jié)拍1/1000秒和每節(jié)拍1分鐘之間。定時器的精度取決于時間節(jié)拍的設(shè)置。在操作時,應(yīng)該選擇小的時間節(jié)拍,比如10x1秒或者100x0.1秒,而不是1x10秒。在程序需要等待至少一個小時的時候,才可以選擇1分鐘的時間節(jié)拍。向下計時的節(jié)拍數(shù)通常是由賦值“=”指令來分配給定時器。在圖示的例子中,要向下計時100個10ms的節(jié)拍。這對應(yīng)于1000ms=1s的一個時間間隔。其精度為10ms。如果要測量一個時間值,可以在開始時將定時器變量設(shè)置為盡可能大的正值。這樣一來,在定時器到達(dá)零時還剩下很多時間。將初始值減去當(dāng)前的定時器的值,就是已經(jīng)得時間。定時器變量的屬性窗口:在“延時”一欄,可以確定定時器變量的初始值。作為慣例,可以在這里輸入0,并在適當(dāng)?shù)臅r間用“=”指令來給定時器變量設(shè)定一個值。但是如果定時器假設(shè)的是在程序或者子程序開始的時候來投入運(yùn)行,那么其相應(yīng)值可以在這里輸入。在“時間單位”一欄,可以設(shè)定定時器變量在向下計時的時候,所用的時間節(jié)拍的單位大小。在“定時器變量類型”一欄,可以設(shè)定定時器變量為全局變量還是局部變量。序列序列模塊相當(dāng)于一個變量,其存儲不止一個而是多個數(shù)值。變量中可以存儲的數(shù)值的最大個數(shù)可以在其屬性窗口中設(shè)定。下列的序列功能可以用傳遞指令到W輸入來運(yùn)用:指令數(shù)值作用-32767到32767添加指令可以將新的數(shù)值加到序列的末尾。整個序列就多了一個模塊。如果序列已經(jīng)達(dá)到了最大數(shù)值,則忽略此指令。0到32767刪除序列末尾已有的模塊。及指令一起傳遞的數(shù)值是所需要刪除的模塊號。如果此號碼大于序列的模塊號,則所有的模塊會被刪除。如果號碼為0或為負(fù),則忽略此指令。0到32767將已有的模塊和序列的第一個模塊交換。及指令一起傳遞的數(shù)值時所需要交換的模塊的位置號。序列屬性窗口:在“最大數(shù)量”一欄,可以輸入序列中元素的最大值。這個尺寸無法用Append指令超出。在“初始數(shù)量”一欄,輸入開始時用以初始化序列的元素數(shù)量。在“初始值列表”一欄,可以輸入預(yù)分配到序列的初始值??梢杂糜米兊陌粹o對序列進(jìn)行編輯。在“從.CSV文件調(diào)用”一欄,可以選擇一個Excel兼容的.CSV文件,序列可以從此文件中提取數(shù)值。在所選擇區(qū)域的中部,可以選擇.CSV文件欄用于此目的。文件直接裝載并且顯示在Listofinitialvalues下。開始執(zhí)行程序或者執(zhí)行下載操作,ROBOPro會多次試圖從文件裝載當(dāng)前值。如果不成功,則只能用存儲在Listofinitialvalues下的數(shù)值。在“存入.CSV文件”一欄,可以指定一個文件,用來將程序結(jié)束后存儲序列的內(nèi)容。這項功能只對在線模式和靜態(tài)序列有效。在“列分隔符”一欄,可以選擇序列的單個的列是否應(yīng)該用逗號或者分號分開。在“序列變量類型”一欄,可以將序列設(shè)置為一個全局或局部變量。對于大序列建議設(shè)置為全局變量,因為全局變量比局部變量有更多的存儲區(qū)可用。指令=(賦值)賦值指令“=”將一個數(shù)值分配個接受者,其經(jīng)常用來將數(shù)值分配給變量,定時器變量,序列模塊或者面板輸出。+(加)指令“+”可以傳遞到變量或者定時器變量來增加變量的值。指令“+”可以附帶任何一個想要的值,并加到變量上。因為指令附帶的值也可以為負(fù),變量的值也可以用此指令來減少。-(減)指令“-”和上述的指令“+”比較相似。唯一的區(qū)別在,指令所附帶的值會從變量的值里減去。向右“Right”指令傳遞到一個馬達(dá)輸出模塊來切換馬達(dá)到順時針方向。向左“Left”指令傳遞到一個馬達(dá)輸出模塊來切換馬達(dá)到逆時針方向。停止“Stop”指令傳遞到一個馬達(dá)輸出模塊來停止馬達(dá)。沒有值隨“Stop”指令傳遞。打開“On”指令傳遞到一個燈輸出模塊來將燈打開?!癘n”指令也可以傳遞到馬達(dá)輸出模塊,相當(dāng)于“向右”指令。關(guān)閉“Off”指令傳遞到一個燈輸出模塊來將燈關(guān)閉。也可以傳遞到馬達(dá)輸出模塊,相當(dāng)于“停止”指令。文本“Test”指令是一條特殊的指令,由于它不是傳遞一條帶數(shù)值的指令,而是選擇的一個文本,到所連接的模塊。然而,只有一個程序模塊可以處理“文本”指令,它是面板中的文本顯示指令。添加數(shù)值“Append”指令是針對序列的一條特殊的指令。這條指令附帶著一個數(shù)值,用來添加到序列的末尾。如果序列已經(jīng)滿了,則會忽略這條指令。刪除數(shù)值“Delete”指令是針對序列的一條特殊指令。用這條指令可以刪除序列末尾的任何數(shù)值。想要的號碼作為數(shù)值隨指令附帶。如果這個值大于序列中所有模塊,序列中所有的數(shù)會被刪除。交換數(shù)值“Exchange”指令是針對序列的一條特殊的指令。用這條指令,序列中所有的值都可以和第一個模塊交換。要和第一個模塊交換的模塊號作為一個數(shù)值隨指令附帶。注意:序列第一個模塊的編號為0.如果指令附帶的值不是一個有效的模塊號,序列模塊會忽略此指令。指令模塊的屬性窗口:在“指令”一欄,可以在可能的指令列表中選擇想要的指令。在“值”一欄,可以輸入隨指令附帶的數(shù)值。如果沒有附帶值,這一欄為空。在“值的描述”一欄,可以輸入一個簡短的表示文本,顯示在有附帶值的指令模塊中。這段文字應(yīng)該說明包含了哪種類型的值。這一部分只是作為現(xiàn)實內(nèi)容,沒有其他作用。在“外部數(shù)據(jù)賦值”一欄,可以指定是否指令模塊的左邊帶一個橙色的用來附帶數(shù)據(jù)的數(shù)據(jù)輸入端。對于所有的指令模塊,數(shù)值可以輸入在指令模塊內(nèi),也可以從指令模塊左邊的數(shù)據(jù)輸入端讀取。判斷(帶數(shù)據(jù)輸入)這個程序判斷模塊的左邊有一個橙色的數(shù)據(jù)輸入端“A”。通過這個端子,可以讀入一個經(jīng)常來自輸入模塊的數(shù)值。數(shù)據(jù)輸入端“A”可以和變量,定時器變量或運(yùn)算器的輸出相關(guān)聯(lián)。模塊將來自數(shù)據(jù)輸入端“A”的數(shù)值和一個固定但可自由定義的值比較。根據(jù)比較是否保持,決定模塊的分支以“Y”或“N”為出口。判斷模塊的屬性窗口在“條件”一欄,在右邊的區(qū)域,可以輸入用來和輸入值A(chǔ)作比較的數(shù)值。通常的比較運(yùn)算器對于這一比較是有效的。如果選擇了“交換Y/N分支位置”,“Y”和“N”兩個出口就會互換。15.及固定值作比較該程序模塊數(shù)據(jù)輸入端A的數(shù)值可以和一個固定的,但可以自由定義的數(shù)值作比較。根據(jù)在數(shù)據(jù)輸入端A出現(xiàn)的數(shù)值大于、小于或等于固定值,控制分支就以比較模塊的右邊,左邊或者中間為出口。比較模塊屬性窗口在“比較值”一欄,可以輸入一個和輸入端A的值進(jìn)行比較的常數(shù)。16.比較使用比較程序模塊,數(shù)據(jù)輸入端A和B的數(shù)值可以相互比較。根據(jù)A小于B,A大于B,或A等于B,模塊分支以左邊,右邊或中間作為出口。這個模塊最普通的應(yīng)用是將一個名義上的值和一個實際的值作比較。根據(jù)名義上的值和實際值的相對關(guān)系,比如馬達(dá)可以左轉(zhuǎn)、右轉(zhuǎn)或停止。17.等待…等待程序模塊可以組織程序的執(zhí)行,直到發(fā)生一個變化或在模塊的數(shù)據(jù)輸入端達(dá)到一個特定的狀態(tài)。模塊有五種變化狀態(tài)。“等待”模塊的屬性窗口在“等待”一欄,可以在上述五種功能中作選擇。如果選擇了“出發(fā)變化監(jiān)測”,模塊在其不應(yīng)當(dāng)執(zhí)行的時候,也會檢測信號變化的發(fā)生。在此情況下,模塊保存了最近的值。當(dāng)模塊再次執(zhí)行的時候,如果值在間歇期已經(jīng)按正確的方式變化了,程序就可以立即繼續(xù)執(zhí)行了。這種方式下,丟失信號變化的可能性就較小了,因為程序去完成其它任務(wù)了。18.脈沖計數(shù)器這個程序模塊在繼續(xù)執(zhí)行程序之前,要等待一個可定義的,來自左邊數(shù)據(jù)輸入端的脈沖輸入數(shù)。這對于用脈沖齒輪的簡單的定位任務(wù)是非常使用的。要更精確的定位,比如用變量值,必須用帶變量的子程序。脈沖計數(shù)器的屬性窗口在“脈沖數(shù)量”一欄,可以輸入在程序繼續(xù)執(zhí)行前,要等待的脈沖數(shù)。在“脈沖類型”一欄,可以選擇三種形式的脈沖中的任一種:0-1,1-0或兩者皆是。19.數(shù)字量輸入數(shù)字量輸入I1到I8的值可由用“Digitalinput”模塊來查詢。如果接口板上輸入端口電氣上是閉合的,則數(shù)字量輸入模塊的成色連接上會返回一個數(shù)值“1”,否則就會返回一個數(shù)值“0”。數(shù)字量輸入的屬性窗口:在“數(shù)字量輸入”一欄,可由選擇所用的接口板輸入端號。擴(kuò)展板上的輸入端課可以在“接口板/擴(kuò)展板”中選擇。在“類型”一欄,可由選擇鏈接到輸入端的傳感器圖示。大多數(shù)情況下是一個“微動開關(guān)”?!案苫晒堋笔且环N可以檢測磁場的傳感器。雖然光電開關(guān)事實上是一種模擬的傳感器,到那也可以接到數(shù)字接口。20.模擬量輸入和數(shù)字量輸入返回“0”和“1”值不同,模擬量輸入可以分辨連續(xù)的輸入。所有的模擬量輸入返回一個“0到1023”之間的值。模擬量輸入可以適用來測量電阻,測量電壓和測量距離的不同的傳感器。輸入端輸入類型測量范圍A1,A2電壓輸入0-10,23伏AX,AY電阻輸入0-5,5千歐D1,D2距離傳感器輸入Ca.0-50cmAV電源電壓0-10V通常的傳感器中,溫度傳感器和光電傳感器將被測量轉(zhuǎn)換成一個電阻值。所以必須將這些傳感器接到AX和AY輸入端。電壓輸入端A1和A2設(shè)計用來連接所有產(chǎn)生0到10V電壓的傳感器。距離傳感器輸入端D1和D2可以接到慧魚特殊傳感器,可以測量距離。21.紅外線輸入ROBO接口板有一個內(nèi)置的紅外線接收器,可以用慧魚遠(yuǎn)紅外控制組中的手持式發(fā)射器來控制。手持式發(fā)射器非常有用,不僅可以遙控,還可以作為模型控制的鍵盤。遠(yuǎn)紅外控制組中有兩個接收器,可以用手持式發(fā)射器上的按鈕“1”和“2”鍵來切換。在紅外輸入的屬性窗口中,可以用其頂部的標(biāo)簽在IR1,IR2和IR1+2之間切換。如果選擇IR1,手持式發(fā)射器按下相應(yīng)的鍵且先前已經(jīng)通過“1”鍵設(shè)置為任務(wù)1,IR輸入模塊就只返回一個“1”。另一方面,選擇IR2,手持式發(fā)射器必須已經(jīng)通過“2”鍵設(shè)置為任務(wù)2。如果選擇了IR1+2,手持式發(fā)射器的設(shè)置無關(guān)。這種情況下,可以將1)))a和2)))鍵用作輸入。22.馬達(dá)輸出用Motoroutput模塊可以可能股指接口板或者只能接口板的四個雙向馬達(dá)之一。一個馬達(dá)輸出通常使用兩個接口板接口,而燈輸出只用一個借口。必須用一個指令模塊傳遞一個指令到馬達(dá)輸出來控制輸出。馬達(dá)輸出模塊可以用下列指令來處理:指令值動作向右1to8馬達(dá)以速度1到8順時針轉(zhuǎn)動向左1to8馬達(dá)以速度1到8逆時針旋轉(zhuǎn)停止None馬達(dá)停止打開1to8和向右一樣關(guān)閉None和停止一樣=-8to8值-1to-8:馬達(dá)順時針旋轉(zhuǎn)值1to8:馬達(dá)逆時針旋轉(zhuǎn)值0:馬達(dá)停止23.燈輸出用燈輸出模塊可以控制接口板或者智能接口板的8個單極燈輸出o1-o8之一。燈輸出只用了接口板的一個輸出接口。燈的另一根線接到了接口板的接地端。在這種接線方式下,負(fù)載燈只能打開或者關(guān)閉,無法改變它的極性。必須用一個指令模塊傳遞一個指令到燈輸出來控制輸出。燈輸出模塊可以用下列指令來處理:指令值動作打開1到8燈打開到1到8之間的一種亮度關(guān)閉無燈被關(guān)閉=0到8值1-8:燈打開0:燈關(guān)閉24.面板輸入ROBOPro提供了模型設(shè)計面板的功能,按鈕、滑動開關(guān)和數(shù)據(jù)輸入模塊可以在面板中使用。面板只能在在線模式下使用。面板輸入的屬性窗口:一塊面板和每個主程序或子程序相關(guān)聯(lián)。面板模塊在相關(guān)的程序名字下列出。如果沒有定義任何的面板模塊,那么列表中就沒有任何模塊。因此,必須在將一個面板輸入和一個面板模塊關(guān)聯(lián)之前,設(shè)計面板。25.面板輸出除了用按鈕和其它輸入模塊來控制模型,也可以在面板中插入顯示模塊。在這些顯示模塊中,可以顯示,例如機(jī)器人的軸的坐標(biāo)或極限開關(guān)的位置。面板屬于每一個主程序或子程序。面板模塊在相關(guān)的程序名字下列出。如果沒有定義任何的面板模塊,那么列表中就沒有任何模塊。因此,必須在將一個面板輸入和一個面板模塊關(guān)聯(lián)之前,設(shè)計面板。要創(chuàng)建一個面板,請在功能欄選擇“面板”:在空白的下面灰色區(qū)域,可以插入面板模塊。面板總是屬于創(chuàng)建面板時所在的主程序或子程序。因此,在創(chuàng)建面板時,很重要的是要在子程序欄選對正確的子程序,面板通常是在主程序下創(chuàng)建。面板包含顯示和控制模塊。用顯示模塊,可以顯示變量值或文字信息。另一方面,用控制模塊,如同附加的模擬量輸入等傳感器。對于插入面板的每一個面板模塊,在程序中都有一個相應(yīng)的模塊。一個是“面板輸入”,控制模塊用;另一個是“面板顯示”,顯示模塊用??梢酝ㄟ^這些程序模塊在程序和面板之間建立連接。可以在“輸入,輸出”模塊組找到它們。不同符號的現(xiàn)實根據(jù)關(guān)聯(lián)到程序模塊的響應(yīng)面板模塊的不同。26.運(yùn)算器這一組的所有程序模塊稱之為運(yùn)算器。運(yùn)算器有一個或多個橙色數(shù)據(jù)輸入端。從數(shù)據(jù)輸入端來的數(shù)值由運(yùn)算器組合得出一個新值,此新值由運(yùn)算器的輸出端用一個“=”指令傳遞。運(yùn)算器的屬性窗口:所有的運(yùn)算器使用相同的屬性窗口。通過屬性窗口,可以將一個運(yùn)算器轉(zhuǎn)換為另一個運(yùn)算器。在“運(yùn)算”一欄,可以設(shè)置運(yùn)算器如何來組合它的輸入。在“輸入端數(shù)量”一欄,可以設(shè)置運(yùn)算器所持有的輸入號。1)算數(shù)運(yùn)算器ROBOPro有四種基本的算數(shù)運(yùn)算器,帶有兩個輸入端,符號如下:加減乘除取負(fù)A+BA-BA*BA/B-A如果Minus運(yùn)算器有超過兩個輸入端,所有后來的輸入值從A輸入端的數(shù)值中減去。如果“Minus”運(yùn)算器只有一個輸入端,則運(yùn)算器改變輸入值的符號。如果Dividedby有兩個以上的輸入端,則輸入端A的數(shù)值被所有其它的值相除。2)邏輯運(yùn)算器ROBOPro有三種邏輯運(yùn)算器,可以用來組合數(shù)字輸入量。及或非A>0及B>0A>0或B>0A<=0邏輯運(yùn)算器將一個大于零的值看作yes或true,并把一個小于等于零的數(shù)看作no或false,而“1”看作true。如果所有的輸入值都為真,“及”運(yùn)算器傳遞一個附帶值為1的賦值指令,到連結(jié)在其輸出的模塊。否則模塊將傳遞一個附帶值為0的賦值指令。如果至少一個輸入值為真,“或”運(yùn)算器將傳遞一個附帶值為1的賦值指令,到連結(jié)在其輸出的模塊。否則模塊將傳遞一個附帶值為0的賦值指令。如果至輸入值為假,“非”運(yùn)算器將傳遞一個附帶值為1的賦值指令,到連結(jié)在其輸出的模塊。否則模塊將傳遞一個附帶值為0的賦值指令。27.顯示1)儀表儀表模塊基于一個帶指針的模擬儀器,主要是用來顯示模擬輸入量。但也可以用來顯示變量或是其它的程序模塊。儀表模塊是在程序中通過“面板顯示”模塊控制的。可以在“輸入,輸出”模塊組找到“面板顯示”模塊??梢酝^一條“=”指令到程序中相應(yīng)的“面板顯示”模塊來設(shè)定儀表值。幾乎所有的帶數(shù)據(jù)輸出的程序模塊,當(dāng)這些只改變后都用“=”指令傳遞。也可以直接將模擬量輸入或變量連接到“面板顯示”模塊。儀表模塊的屬性窗口:在“ID/名稱”一欄,可以輸入儀表的名字,這名字很重要,因為可能要在程序中區(qū)別很多儀表。在“背景顏色”一欄,可以設(shè)置其它顏色背景。在“起始刻度值”和“滿量程刻度值”:可以設(shè)定刻度左右端點相應(yīng)的數(shù)值。如果其中一個的值小于0而另一個大于0,那么0就會特別長??潭扔虚L短兩種。在長短刻度間的距離可以“長線刻度/短線刻度”一欄輸入,如果是同樣值,僅僅有長線刻度顯示。2)文本顯示在“文本顯示”模塊中,可以用來顯示數(shù)字值,文本,或兩者都有。文本顯示是在程序通過面板顯示控制的??梢栽凇拜斎?,輸出”模塊中找到“面板顯示”模塊。一旦在面板輸出的參數(shù)窗口中將它和文本顯示相關(guān)聯(lián),這個符號改變了,且顯示了面板的名字和文本??梢酝^兩種方式,設(shè)置文本顯示:可以通過“=”指令將顯示的內(nèi)容傳遞到程序中相應(yīng)的“面板顯示”模塊。如果要用它來顯示變量或是其它程序模塊,因為大部分的程序模塊會在值改變時,自動通過他們的數(shù)據(jù)輸出發(fā)出“=”指令。這條“=”指令僅僅改寫到最后的6個字符。如果多行顯示,可以在某一行上加上解釋文字。在多行顯示時,僅有最后一行的最后6個字符通過“=”指令被改寫??梢杂梦谋局噶钤O(shè)置所要顯示的內(nèi)容。文本指令是個特殊的指令模塊,通過它的輸出不僅可以傳遞數(shù)據(jù),還可以是完整的文本。用此種方法可以隨意組合數(shù)據(jù)和文本。文本指令控制字符:指令字符效果######將數(shù)據(jù)輸入中數(shù)值以一個帶“+”的5位數(shù)字符輸出。##.##將數(shù)據(jù)輸入中數(shù)值一個帶兩位小數(shù)的數(shù)值輸出,且用句號分隔。##,##將數(shù)據(jù)輸入中數(shù)值一個帶兩位小數(shù)的數(shù)值輸出,且用逗號分隔。\c清除顯示,并將后來的文本插入顯示的開頭。文本顯示的屬性窗口:在“文本”一欄,可以輸入所要顯示的內(nèi)容。這些內(nèi)容一直保留,直到從程序中傳遞一個指令來顯示它們。如果傳遞一個“=”指令來顯示,只有顯示內(nèi)容的最后6個字符被寫出。正文的開頭內(nèi)容保留,所以在數(shù)值的前面可以顯示一個注釋來說明數(shù)值的種類。在圖示的例子中,文本“Var=”保留。顯示有10個字符,所以10-6=4個字符保留。在“數(shù)字位數(shù)/列數(shù)”一欄和“行數(shù)”一欄,可以設(shè)定顯示空間的字符數(shù)。在一個多行顯示中,可以顯示一個注釋。3)指示燈燈是用程序的面板輸出來控制的。一旦在面板輸出的參數(shù)窗口中將它和指示燈相關(guān)聯(lián),這個符號就改變了??梢酝ㄟ^傳遞一個相應(yīng)的面板輸出指令“On”和“Off”來打開或關(guān)閉燈。也可以通過“=”指令來關(guān)閉燈。如果大于0,燈被打開。如果小于等于0,則燈被關(guān)閉。指示燈的屬性窗口:入選中“初始燈亮”選項,指示燈一直點亮,直到相應(yīng)的程序模塊收到指令。否則指示燈初始時是關(guān)閉的。28.控制模塊1)按鈕按鈕模塊在程序中通過“面板輸入”模塊可以查詢??梢栽谳斎胼敵瞿K組中找到“面板輸入”模塊。還可以將按鈕和面板輸出關(guān)聯(lián),并輸出到任何程序模塊的數(shù)據(jù)輸入端,比如判斷模塊,如果按下按鈕,返回“1”值,否則返回“0”值。如果選中按鈕屬性窗口中的“按鈕開關(guān)”一項,按鈕作開關(guān)用而不是傳感器。如果按下按鈕,那么它會保持壓下狀態(tài)直到第二次點擊。否則,按鈕就當(dāng)傳感器用,手松開壓簧也直接打開了。2)滑塊和按鈕只能返回“0”和“1”值不同,滑塊可以返回有許多不同的值。數(shù)值的范圍可以通過屬性窗口來設(shè)置。滑塊經(jīng)常連接到一個帶數(shù)據(jù)輸入的指令模塊。這樣就可以用滑塊來控制馬達(dá)的速度了。在屬性窗口中,“最小值和最大值”可以輸入滑塊的值的范圍。11.6程序的編寫程序的編寫都是按照一個流程一個流程編寫的,程序流程都是由“開始”模塊作為開頭的。如果程序不是由此模塊開頭,流程就無法執(zhí)行。假如一個程序由幾個流程組成,每一個流程必須由“開始”模塊開頭。各個不同的流程就同時開始啟動?!伴_始”模塊沒有屬性編輯。如果一個程序結(jié)束,最后一個模塊的出口應(yīng)該連到“結(jié)束”模塊。流程也可以在各個不同的地方用此模塊終結(jié)。也可以將各個不同模塊的出口連接到同一個“結(jié)束”模塊。但是,也很有可能流程是個沒有結(jié)束的循環(huán),不含“結(jié)束”模塊?!敖Y(jié)束”模塊同樣也沒有屬性窗口。11.6.3各個程序模塊間是通過程序流程線來連接的,箭頭的方向即程序流動方向。小貼士:如果線沒有被正確連接到一個接點或一條線,將會在箭頭處出現(xiàn)綠色矩形。在此情況下,通過移動或刪除及重畫線來重新建立連接。否則,程序運(yùn)行到這一點就不會再運(yùn)行下去。刪除程序流程線刪除程序流程線和刪除程序模塊的方法一樣。左擊這條線,使得它顯示為紅色。然后按下鍵盤上的“del”鍵來刪除這條線。如果同時按住shift鍵,然后連續(xù)點擊那些線,可以選中多根線。除此之外,還可以通過框起這些線,來選中它們,然后再按下“del”鍵一下刪除所有紅色的線。改變連接線如果移動了某一模塊,ROBOPro會試圖以一種合理的方式調(diào)整連接線。另外,還可以自行移動這些連接線。以下是不同鼠標(biāo)的用法:如果鼠標(biāo)處于一根垂直線上,則可以通過按住左鍵來拖動整條垂直線。如果鼠標(biāo)處于一根水平線上,則可以通過按住左鍵來拖動整條水平線。如果鼠標(biāo)處于一根斜線上,則當(dāng)在線上左擊時,會在線上插入一個新的點,然后按住左鍵來拖動這條線來確定這個新點的位置。如果鼠標(biāo)處于線的端點附近或連接線的夾角處,通過按住左鍵來移動這一點。智能將此連接線的端點移到另一個合適的程序模塊的接線端。這樣,兩個端點就連上了。否則,端點不能移動。另一種連接的方法通過移動程序模塊來建立連接線。如果移動一個程序模塊,使得它的入口位于另一個模塊出口下方一到兩個格子,就可以建立兩個模塊間的連接線。同樣,也適合于將出口移動到入口之上。就可以將程序模塊移動到最終位置。11.6.4有時候,我們設(shè)計的程序相當(dāng)?shù)凝嫶?,需要很多靈活的流程圖。如果工作表里都是組件的話,到處都是連接線,弄得相當(dāng)混亂。于是,我們想到用子程序來解決這個問題。在“級別”菜單欄中選擇“第二級”:子程序,模塊窗口將一分為二。模塊窗口模塊窗口子程序及之前的程序非常相似,首先,建立一個空的新程序。在工具欄中,點擊圖標(biāo),創(chuàng)建一個子程序。將會出現(xiàn)一個對話窗口,在窗口內(nèi)輸入子程序的名稱和描述。子程序的名稱不宜太長(8到10個字節(jié)),不然子程序符號會很大。當(dāng)然名稱以后還可修改。一旦點擊了確認(rèn),關(guān)閉了新建子程序窗口,在子程序狀態(tài)欄上面會顯示新的子程序。任何時候,都可以點擊子程序欄上的程序名在主程序和子程序之間的切換。通過點擊屬性,可以從功能欄切換到子程序的屬性窗口。在這里可以修改子程序名。其他大多數(shù)區(qū)域只能在更高級甚至是專家級中才能改變。點擊功能欄上的功能,就可以對子程序的功能進(jìn)行編程。程序窗口及主程序大致相同,但又有區(qū)別:主程序總是由一個“開始”模塊開頭;子程序由一個相似的模塊“子程序入口”開頭,模塊有這樣一個名字是因為控制流程是從主程序經(jīng)由這個模塊進(jìn)入子程序的。這里不能用“開始”模塊,因為顯然沒有開始新的流程。在子程序I/O中可以找到子程序入口和出口。開始模塊開始一個新的獨立的流程子程序入口程序控制由主程序交到子程序停止模塊停止一個獨立流程的執(zhí)行子程序出口程序控制從子程序交回到主程序在對慧魚機(jī)器人進(jìn)行程序編程時,可以先從主程序入手,將機(jī)器人的動作分解成若干個子程序,再對各個子程序進(jìn)行編程。也可以先從子程序入手,把編好的子程序穿在主程序中完成一個完整的動作。下面是一個完整的主子程序?qū)嵗涸诰帉懽映绦驎r,要確信是在子程序欄中輸入的子程序,而不是在主程序欄下。建立的子程序可以在“已加載的程序”欄下找到,如果還沒有保存過文件,則其文件名為unnamed1。在模塊組“已加載的程序/unnamed1”一欄中,可以找到兩個綠色的子程序符號。這樣就可以將子程序符號和普通程序模塊一樣插入到主程序中。11.6.5把一個子程序從一個文件復(fù)制到另一個文件十分方便:同時加載兩個文件,用已經(jīng)加載的程序模塊組,將子程序從一個文件插入到另一個文件。對于經(jīng)常使用的子程序,使用庫的話,操作會更簡便。ROBOPro包括了一個預(yù)置的子程序庫,可以方便地重復(fù)使用。1)使用庫:庫初始化分為兩個主要的組。在組合包組里,可以找到用于特定的組合包里的模型的子程序。在通用組里,可以找到能用于所有模型的子程序。每一個機(jī)器人組合包,比如ROBO移動組,在組合包里都有自己的子程序,有時候,這些子組根據(jù)各個組合包的裝配手冊中模型,還進(jìn)一步分組。當(dāng)選擇了組合包或者其中一個模型,在模塊窗口會顯示這個模型的現(xiàn)成的子程序。如果用鼠標(biāo)指向一個子程序符號,會顯示一個簡短的描述信息。如果將一個子程序插入程序,可以在子程序工具條上選擇子程序,再單擊功能工具欄的描述,就可以顯示其詳細(xì)的描述。注意:如果從庫里插入一個子程序,在一些情況下,比如某個子程序所用到的子程序會同時插入程序??梢赃x擇編輯菜單上的撤消功能,刪除這些子程序。2)使用自己的庫:為避免每次使用子程序都要查找打開相關(guān)文件,可以建立自己的庫,就像預(yù)置的庫一樣。自己的庫存放在同一個文件夾下的ROBOPro文件組。每個文件夾都?xì)w類到自己的組中去。在文件菜單的用戶自定義庫文件路徑選項里,定義在哪個文件夾里存放自己的庫。3)組建自己的庫:ROBOPro沒有特別的改變庫的功能,不過操作起來也很方便。如果需要從一個庫中添加或者刪除子程序,必須調(diào)用相關(guān)的文件??梢栽谀阕约旱膸煳募夸浵抡业竭@個文件。打開第二個文件,把“已加載的程序”組只能夠選擇一個子程序,然后拖到庫的主程序中。在庫里,主程序本身并不顯示在模塊窗口。注意:如果修改了一個庫文件并保存,還必須在“文件”菜單里選擇“更新我自己的庫”。這樣可以更新組窗口的文件列表。11.6.6除了ROBOPro會自動生成子程序符號外,也可以自己定義符號,用來更好表達(dá)此子程序的功能。首先,需要在子程序的屬性窗口,從自動符號模式切換到手動符號模式。接下來,從“屬性”欄切換到“符號”欄,來編輯子程序的符號。這個模塊組窗口中的“繪制圖表”模塊組中可以找到繪圖功能。在畫圖/形狀這個模塊組里,可以找到常用的圖形,如矩形,橢圓,圓形等等。在圖畫/文字下面,可以找到各種字體和大小的文字對象。在圖畫的其它組里,可以找到更改顏

溫馨提示

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

評論

0/150

提交評論