使用範例
1. 基本範例
下列程式範例係將任何觸發信號連接至控制器的R-I/O接頭、在觸發輸入的情況下閂鎖機器人位置資訊,並顯示已閂鎖位置資訊。
Function Main
Motor On
Power High
Speed 50; Accel 50, 50
SpeedS 500; AccelS 5000
Go P0 '開始位置
SetLatch SETLATCH_PORT_CU_0, SETLATCH_TRIGGERMODE_LEADINGEDGE, 4
LatchEnable On '啟用閂鎖
Move P1 '開始動作,於動作時輸入觸發器
Wait LatchState = True '確認閂鎖完成
P3 = LatchPos(WithoutToolArm, 1) '取得閂鎖位置1
P4 = LatchPos(WithoutToolArm, 2) '取得閂鎖位置2
P5 = LatchPos(WithoutToolArm, 3) '取得閂鎖位置3
P6 = LatchPos(WithoutToolArm, 4) '取得閂鎖位置4
LatchEnable Off '停用閂鎖
Print P3 '顯示閂鎖位置1
Print P4 '顯示閂鎖位置2
Print P5 '顯示閂鎖位置3
Print P6 '顯示閂鎖位置4
Fend
省略參數時的程式範例
Function Main
Motor On
Power High
Speed 50; Accel 50, 50
SpeedS 500; AccelS 5000
Go P0 '開始位置
SetLatch SETLATCH_PORT_CU_0, SETLATCH_TRIGGERMODE_LEADINGEDGE
LatchEnable On '啟用閂鎖
Move P1 '開始動作,於動作時輸入觸發器
Wait LatchState = True '確認閂鎖完成
P3 = LatchPos '取得閂鎖位置
LatchEnable Off '停用閂鎖
Print P3 '顯示閂鎖位置
Fend
2. 視覺系統範例
此範例係利用機器人夾具末端來處理工件,在不停止的情況下通過外部固定上方攝影機取得點的上方,以及利用適當的位置修正來裝配工件。
此系統具有一個傳輸型感測器,能在機器人夾具末端處理工件及通過攝影機取得點時輸出觸發信號。接著,它會利用R-I/O和攝影機觸發輸入來連接感測器輸出(進行外部微調),並同步處理已閂鎖機器人位置資訊及攝影機圖像。其可計算工件位置誤差,並比較攝影機圖像與即時I/O的機器人位置資訊來執行位置偏移。
在此情況下,必須將機器人視覺系統校準為向上固定的攝像機。此外,預先登錄零件放置位置,可以利用CalRobotPlacePos結果獲取機器人位置資訊以進行精確的零件放置。可以在CalRobotPlacePos屬性嚮導中設定零件放置位置。
有關攝影機觸發器信號的連接以及視覺校準等,請參閱以下手冊。
「Vision Guide 8.0」
以下為範例程式。
Function Main
Robot 1
Motor On
Power High
Speed 100
Accel 100, 100
Jump InitPos '移動至初始位置
Wait 1.0
SetLatch 24, SETLATCH_TRIGGERMODE_LEADINGEDGE '設定閂鎖條件
MemOff 0
Xqt PictureOnFly_Camera '啟動拍攝任務
Jump StartPos C0 '移動至部件供給位置
Wait 0.5
LatchEnable On '開始等待閂鎖
MemOn 0 '啟用拍攝
Jump FrontPos C0 CP '移動至攝影機上方前面
Go PassingPos CP '通過攝影機上方
Go TargetPos :Z(-70) CP '移動至裝配位置上方
Wait MemSw(1) = On '等待圖像處理完成
Wait LatchState = True '等待位置閂鎖完成
LatchEnable Off '停用位置閂鎖
Jump ExactTargetPos C0 LimZ (-70) '移動至裝配位置
Wait 0.5
Jump InitPos '移動至初始位置
Wait 0.5
Motor Off
Fend
' 從工作影像拍攝到工作地點獲取執行的功能
Function PictureOnFly_Camera
'視覺結果變數
Integer AcqStat '閃控成像完成旗標
Boolean Found '工件偵測狀態
Wait MemSw(0) = On '等待成像開始旗標
MemOff 1 '清除成像完成旗標
MemOff 0 '清除成像開始旗標
AcqStat = 0 '清除閃控成像旗標
VRun PictureOnFly_i
Do Until AcqStat = 3 '等待閃控
VGet PictureOnFly_i.AcquireState, AcqStat
Loop
'檢查工件偵測
VGet PictureOnFly_i.Geom01.Found, Found
If Found = False Then
Print "Work NotFound"
Pause
EndIf
Wait LatchState = True '等待觸發器
'將影像拍攝位置(觸發位置)設定為視覺
VSet PictureOnFly_i.RobotPos, LatchPos (WithoutToolArm)
'取得機器人位置
VGet PictureOnFly_i.Geom01.RobotPlacePos, Found, ExactTargetPos
MemOn 1 '變更攝影機成像旗標
Fend
提示
透過設定工作空間(Box)、工作平面(Plane)模擬穿透式感測器,可實現上述範例同樣的操作。
以下為設定工作空間(Box)時的範例。
Box在機器人管理器中對準相機上方的拍攝位置設定。如需Box設定的資訊,請參閱以下內容。
在遠程控制輸出設定畫面中,將空輸出位分配給透過機器人管理器設定的Box編號對應的InsideBox(設定Box1時,輸出位分配給InsideBox1)。將此輸出信號連接到R-I/O和相機外部調諧用觸發輸入。
如需遠程控制輸出設定的資訊,請參閱以下內容。
[設置] - [系統配置] - [控制器] - [遠程控制] - [輸出]
無論控制設備設定如何,遠程控制輸出均自動輸出分配的功能狀態。因此,無需在下述設定將控制設備設為「遠程I/O」。
如需其他I/O遠端配置的詳細資訊,請參閱以下內容。
「機器人控制器手冊 - 功能資訊 - I/O遠端配置」