第1章工業機器人基本知識和特有的功能
/ 001
1.1機器人概述 / 001
1.1.1機器人基本知識 / 001
1.1.2機器人通用功能 / 002
1.1.3機器人型號 / 002
1.2機器人技術規格 / 003
1.2.1垂直多功能機器人技術規格 / 003
1.2.2水平多功能機器人技術規格 / 005
1.3技術規格中若干性能指標的解釋 / 006
1.3.1機器人部分有關規格的名詞術語 / 006
1.3.2控制器技術規格 / 006
1.3.3控制器有關規格的名詞術語 / 007
1.4機器人特有的功能 / 008
1.4.1機器人坐標系及原點 / 008
1.4.2專用輸入輸出信號 / 014
1.4.3操作權 / 015
1.4.4*佳速度控制 / 016
1.4.5*佳加減速度控制 / 016
1.4.6柔性控制功能 / 016
1.4.7碰撞檢測功能 / 016
1.4.8連續軌跡控制功能 / 016
1.4.9程序連續執行功能 / 016
1.4.10附加軸控制 / 016
1.4.11多機器控制 / 016
1.4.12與外部機器通信功能 / 017
1.4.13中斷功能 / 017
1.4.14子程序功能 / 017
1.4.15碼垛指令功能 / 017
1.4.16用戶定義區 / 017
1.4.17動作范圍限制 / 017
1.4.18特異點 / 017
1.4.19保持緊急停止時的運動軌跡 / 017
1.4.20機器人的“形位(pose)” / 017
第2章編程指令快速入門
/ 022
2.1MELFA-BASIC V的詳細規格 / 022
2.1.1MELFA-BASIC V的詳細規格 / 022
2.1.2有特別定義的文字 / 023
2.1.3數據類型 / 024
2.2動作指令 / 024
2.2.1關節插補 / 024
2.2.2直線插補 / 026
2.2.3Mvc(Move C)——三維真圓插補指令 /
027
2.2.4Cnt(Continuous)——連續軌跡運行 /
027
2.2.5加減速時間與速度控制 / 028
2.2.6Fine定位精度 / 029
2.2.7Prec高精度軌跡控制 / 030
2.2.8抓手TOOL控制 / 030
2.2.9PALLET(碼垛)指令 / 031
2.3程序結構指令 / 034
2.3.1無條件跳轉指令 / 034
2.3.2根據條件執行程序分支跳轉的指令 / 034
2.4外部輸入輸出信號指令 / 036
2.4.1輸入信號 / 036
2.4.2輸出信號 / 036
2.5通信指令 / 036
2.5.1Open——通信啟動指令 / 037
2.5.2Print——輸出字符串指令 / 038
2.5.3Input——從指定的文件中接收數據,接收的數值為ASCII碼 / 039
2.5.4On Com GoSub指令 / 039
2.5.5Com On/Com Off/Com Stop / 040
2.6運算指令 / 040
2.6.1位置數據運算(乘法) / 040
2.6.2位置數據運算(加法) / 040
2.7多任務處理 / 041
2.7.1多任務定義 / 041
2.7.2設置多程序任務的方法 / 042
2.7.3多任務應用案例 / 044
第3章編程指令詳細說明
/ 047
3.1動作控制指令 / 047
3.1.1Mov(Move)——關節插補 / 048
3.1.2Mvs(Move S) / 049
3.1.3Mvr(Move R) / 050
3.1.4Mvr2(Move R2) / 051
3.1.5Mvr3(Move R3) / 052
3.1.6Mvc(Move C)——三維真圓插補指令 /
052
3.1.7Mva(Move Arch)——過渡連接型圓弧插補指令 / 053
3.1.8Mv Tune(Move Tune) / 054
3.1.9Ovrd(Override) / 054
3.1.10Spd(Speed) / 055
3.1.11JOvrd(J Override) / 055
3.1.12Cnt(Continuous) / 055
3.1.13Accel(Accelerate) / 057
3.1.14Cmp Jnt(Comp Joint) / 057
3.1.15Cmp Pos(Composition Posture) / 057
3.1.16Cmp Tool(Composition
Tool) / 058
3.1.17Cmp Off(Composition Off) / 058
3.1.18CmpG(Composition Gain) / 059
3.1.19Mxt(Move External) / 059
3.1.20Oadl(Optimal Acceleration) / 060
3.1.21LoadSet(Load Set) / 060
3.1.22Prec(Precision) / 061
3.1.23Torq(Torque) / 061
3.1.24JRC(Joint Roll Change) / 062
3.1.25Fine(Fine) / 063
3.1.26Fine J(Fine Joint) / 063
3.1.27Fine P——以直線距離設置定位精度 / 064
3.1.28Servo(Servo)——指令伺服電源的ON/OFF
/ 064
3.1.29Wth(With)——在插補動作時附加處理的指令 / 064
3.1.30WthIf(With If) / 064
3.1.31CavChk On——“防碰撞功能”是否生效
/ 065
3.1.32ColLvl (ColLevel)——設置碰撞檢測量級 /
065
3.2程序控制流程相關的指令 / 065
3.2.1Rem(Remarks) / 066
3.2.2If…Then…Else…EndIf(If Then Else) / 067
3.2.3Select Case(Select Case) / 068
3.2.4GoTo(Go To) / 070
3.2.5GoSub(Return)(Go
Subroutine) / 070
3.2.6Reset Err(Reset Error) / 071
3.2.7CallP(Call P) / 071
3.2.8FPrm(FPRM) / 072
3.2.9Dly(Delay) / 073
3.2.10Hlt(Halt) / 073
3.2.11On…GoTo(On Go To) / 074
3.2.12On…GoSub(ON Go
Subroutine) / 075
3.2.13While…WEnd(While End) / 075
3.2.14Open(Open) / 076
3.2.15Print(Print) / 077
3.2.16Input(Input) / 078
3.2.17Close(Close) / 079
3.2.18ColChk(Col Check) / 079
3.2.19On Com GoSub(ON
CommunicationGo Subroutine) / 080
3.2.20Com On/Com Off/Com Stop(Communication
ON/OFF/STOP) / 081
3.2.21HOpen/HClose(Hand
Open/HandClose) / 081
3.2.22Error(Error) / 081
3.2.23Skip(Skip) / 082
3.2.24Wait(Wait) / 082
3.2.25Clr(Clear) / 082
3.2.26END——程序段結束指令 / 083
3.2.27For
□ Next——循環指令 / 083
3.2.28Return——子程序/中斷程序結束及返回 /
084
3.2.29Label(標簽、指針) / 084
3.3定義指令 / 085
3.3.1Dim(Dim) / 085
3.3.2Def Plt(Define Pallet) / 086
3.3.3Plt(Pallet) / 089
3.3.4Def Act(Define Act) / 090
3.3.5Act(Act) / 091
3.3.6Def Arch(Define Arch) / 092
3.3.7Def Jnt(Define Joint) / 093
3.3.8Def Pos(Define Position) / 093
3.3.9Def Inte/Def Long/Def Float/DefDouble
/ 093
3.3.10Def Char(Define
Character) / 094
3.3.11Def IO(Define IO) / 094
3.3.12Def FN(Define Function) / 095
3.3.13Tool(Tool) / 096
3.3.14Base(Base) / 096
3.3.15Title(Title) / 097
3.3.16賦值指令(代入指令) / 097
3.4多任務相關指令 / 098
3.4.1XLoad(X Load)——加載程序指令 /
098
3.4.2XRun(X Run)——多任務工作時的程序啟動指令 / 099
3.4.3XStp(X Stop)——多任務工作時的程序停止指令 / 099
3.4.4XRst(X Reset)——復位指令 / 099
3.4.5XClr(X Clear)——多程序工作時,解除某任務區(task slot)的程序選擇狀態 / 100
3.4.6GetM(Get Mechanism) / 100
3.4.7RelM(Release Mechanism) / 101
3.4.8Priority(Priority)——優先執行指令 /
101
3.4.9Reset Err(Reset Error) / 102
3.5視覺功能相關指令 / 102
3.5.1NVOpen(Network vision
sensor lineopen)——連接視覺通信線路 / 102
3.5.2NVClose——關斷視覺傳感器通信線路指令 / 104
3.5.3NVLoad(Network vision
sensorload) / 105
3.5.4NVRun(Network vision
sensorrun) / 105
3.5.5NVPst(Network vision
programstart) / 106
3.5.6NVIn(Network vision
sensorinput) / 109
3.5.7NVTrg(Network vision
sensortrigger) / 110
3.5.8EBRead(EasyBuilder read) / 111
3.6視覺追蹤功能指令 / 113
3.6.1TrBase指令 / 113
3.6.2TrClr——追蹤緩存區數據清零指令 / 113
3.6.3Trk——追蹤功能指令 / 114
3.6.4TrOut——輸出信號和讀取編碼器數值指令 /
114
3.6.5TrRd——讀追蹤數據指令 / 115
3.6.6TrWrt——寫追蹤數據指令 / 116
3.7其他指令 / 117
3.7.1ChrSrch(Character Search)——查找“字符串”編號
/ 117
3.8附錄——以起首字母排列的指令 / 117
第4章機器人狀態變量
/ 122
4.1C-J狀態變量 / 122
4.1.1C_Date——當前日期(年/月/日) / 122
4.1.2C_Maker——制造商信息 / 122
4.1.3C_Mecha——機器人型號 / 122
4.1.4C_Prg——已經選擇的程序號 / 123
4.1.5C_Time——當前時間(以24小時顯示時/分/秒) / 123
4.1.6C_User——用戶參數“USERMSG”所設置的數據 / 123
4.1.7J_Curr——各關節軸的當前位置數據 / 123
4.1.8J_ColMxl——碰撞檢測中“推測轉矩”與“實際轉矩”之差的*大值 / 124
4.1.9J_ECurr——當前編碼器脈沖數 / 126
4.1.10J_Fbc/J-AmpFbc——關節軸的當前位置/關節軸的當前電流值 /
126
4.1.11 J_Origin——原點位置數據 /
126
4.2M開頭的狀態變量 / 127
4.2.1M_Acl/M_DAcl/M_NAcl/M_NDAcl/M_AclSts /
127
4.2.2M_BsNo——當前基本坐標系編號 / 127
4.2.3M_BrkCq——Break指令的執行狀態 / 128
4.2.4M_BTime——電池可工作時間 / 128
4.2.5M_CavSts——發生干涉的機器人CPU號 / 128
4.2.6M_CmpDst——伺服柔性控制狀態下指令值與實際值之差
/ 129
4.2.7M_CmpLmt——伺服柔性控制狀態下指令值是否超出限制
/ 129
4.2.8M_ColSts——碰撞檢測結果 / 130
4.2.9M_Cstp——檢測程序是否處于“循環停止中” /
130
4.2.10M_Cys——檢測程序是否處于“循環中” / 130
4.2.11M_DIn/M_DOut——讀取/寫入CCLINK遠程寄存器的數據 /
131
4.2.12M_Err/M_ErrLvl/M_ErrNo——報警信息 / 131
4.2.13M_Exp——自然對數 / 132
4.2.14M_Fbd——指令位置與反饋位置之差 / 132
4.2.15M_G——重力常數(9.80665) / 132
4.2.16M_HndCq——抓手輸入信號狀態 / 132
4.2.17M_In/M_Inb/M_In8/M_Inw/M_In16——輸入信號狀態 /
133
4.2.18M_In32——存儲32位外部輸入數據 / 133
4.2.19M_JOvrd/M_NJOvrd/M_OPovrd/M_Ovrd/M_NOvrd——速度倍率值 / 134
4.2.20M_Line——當前執行的程序行號 / 134
4.2.21M_LdFact——各軸的負載率 /
134
4.2.22M_Mode——操作面板的當前工作模式 / 135
4.2.23M_On/M_Off / 135
4.2.24M_Open——被打開文件的狀態 / 135
4.2.25M_Out/M_Outb/M_Out8/M_Outw/M_Out16——輸出信號狀態(指定輸出或讀取輸出信號狀態) / 136
4.2.26M_Out32——向外部輸出或讀取32bit 的數據 / 137
4.2.27M_PI——圓周率 / 137
4.2.28M_Psa——任務區的程序是否為可選擇狀態 /
137
4.2.29M_Ratio——(在插補移動過程中)當前位置與目標位置的比率 / 138
4.2.30M_RDst——(在插補移動過程中)距離目標位置的“剩余距離” / 138
4.2.31M_Run——任務區內程序執行狀態 / 138
4.2.32M_SetAdl——設置指定軸的加減速時間比例(注意不是狀態值) / 138
4.2.33M_SkipCq—— Skip指令的執行狀態 / 139
4.2.34M_Spd/M_NSpd/M_RSpd——插補速度 / 139
4.2.35M_Svo——伺服電源狀態 / 139
4.2.36M_Timer——計時器(以ms為單位) / 140
4.2.37M_Tool——設定或讀取TOOL坐標系的編號 / 140
4.2.38M_Uar——機器人任務區域編號 / 141
4.2.39M_Uar32——機器人任務區域狀態 / 141
4.2.40M_UDevW/ M_UDevD——多CPU之間的數據讀取及寫入指令
/ 141
4.2.41M_Wai——任務區內的程序執行狀態 / 142
4.2.42M_Wupov——預熱運行速度倍率 / 142
4.2.43M_Wuprt——在預熱運行模式時距離預熱模式結束的時間(秒) / 143
4.2.44M_Wupst——從解除預熱模式到重新進入預熱模式的時間
/ 143
4.2.45M_XDev/M_XDevB/M_XDevW/M_XDevD——PLC 輸入信號數據 / 143
4.2.46M_YDev/M_YDevB/M_YDevW/M_YDevD—— PLC 輸出信號數據 / 144
4.3P開頭狀態變量 / 144
4.3.1P_Base/P_NBase——基本坐標系偏置值 /
144
4.3.2P_CavDir——機器人發生干涉碰撞時的位置數據 /
145
4.3.3P_ColDir——機器人發生干涉碰撞時的位置數據 /
145
4.3.4P_Curr——當前位置(X,Y,Z,A,B,C,L1,L2)(FL1,FL2) / 145
4.3.5P_Fbc——以伺服反饋脈沖表示的當前位置(X,Y,Z,A,B,C,L1,L2)(FL1,FL2) / 146
4.3.6P_Safe——待避點位置 / 146
4.3.7P_Tool/P_NTool——TOOL坐標系數據 / 146
4.3.8P_WkCord——設置或讀取當前“工件坐標系”數據 /
147
4.3.9P_Zero——零點[(0,0,0,0,0,0,0,0)(0,0)] / 147
第5章編程指令中使用的函數
/ 148
5.1A起首字母 / 148
5.1.1Abs——求絕對值 / 148
5.1.2Align / 148
5.1.3Asc——求字符串的ASCII碼 / 148
5.1.4Atn/Atn2——(余切函數)計算余切 / 149
5.2B起首字母 / 150
5.2.1Bin$——將數據變換為二進制字符串 / 150
5.3C起首字母 / 150
5.3.1CalArc / 150
5.3.2Chr$——將ASCII碼變換為“字符” /
151
5.3.3CInt——將數據四舍五入后取整 / 151
5.3.4CkSum——進行字符串的“和校驗”計算 / 151
5.3.5Cos——余弦函數(求余弦) / 151
5.3.6Cvi——對字符串的起始2個字符的ASCII碼轉換為整數 / 152
5.3.7Cvs——將字符串的起始4個字符的ASCII碼轉換為單精度實數 /
152
5.3.8Cvd——將字符串的起始8個字符的ASCII碼轉換為雙精度實數 /
152
5.4D起首字母 / 152
5.4.1Deg——將角度單位從弧度rad變換為度deg / 152
5.4.2Dist——求2點之間的距離(mm) / 153
5.5E起首字母 / 153
5.5.1Exp——計算e為底的指數函數 / 153
5.5.2Fix——計算數據的整數部分 / 153
5.5.3Fram——建立坐標系 / 153
5.6H起首字母 / 154
5.6.1Hex$——將十六進制數據轉換為“字符串” /
154
5.7I開頭 / 154
5.7.1Int——計算數據*大值的整數 / 154
5.7.2Inv——對位置數據進行“反向變換” / 154
5.8J起首字母 / 155
5.8.1JtoP——將關節位置數據轉成“直角坐標系數據”
/ 155
5.9L起首字母 / 155
5.9.1Left$——按指定長度截取字符串 / 155
5.9.2Len——計算字符串的長度(字符個數) /
156
5.9.3Ln——計算自然對數(以e為底的對數) / 156
5.9.4Log——計算常用對數(以10為底的對數) / 156
5.10M起首字母 / 156
5.10.1Max——計算*大值 / 156
5.10.2Mid$——根據設定求字符串的部分長度的字符 /
156
5.10.3Min——求*小值 / 157
5.10.4Mirror$——字符串計算 / 157
5.10.5Mki$——字符串計算 / 157
5.10.6Mks$——字符串計算 / 158
5.10.7Mkd$——字符串計算 / 158
5.11P起首字母 / 158
5.11.1PosCq——檢查給出的位置點是否在允許動作區域內
/ 158
5.11.2PosMid——求出2點之間做直線插補的中間位置點 / 158
5.11.3PtoJ——將直角型位置數據轉換為關節型數據 /
159
5.12R起首字母 / 159
5.12.1Rad——將角度單位(deg)轉換為弧度單位(rad) / 159
5.12.2Rdfl1——將形位(pose)結構標志用字符“R”/“L”,“A”/“B”,“N”/“F”表示 / 159
5.12.3Rdfl2——求指定關節軸的“旋轉圈數” / 160
5.12.4Rnd——產生一個隨機數 / 160
5.12.5Right$——從字符串右端截取“指定長度”的字符串
/ 160
5.13S起首字母 / 161
5.13.1Setfl1——變更指定“位置點”的“形位(pose)結構標志FL1” / 161
5.13.2Setfl2——變更指定“位置點”的“形位(pose)結構標志FL2” / 161
5.13.3SetJnt——設置各關節變量的值 / 162
5.13.4SetPos——設置直交型位置變量數值 / 162
5.13.5Sgn——求數據的符號 / 163
5.13.6Sin——求正弦值 / 163
5.13.7Sqr——求平方根 / 163
5.13.8Strpos——在字符串里檢索“指定的字符串”的位置
/ 163
5.13.9Str$——將數據轉換為十進制字符串 / 164
5.14T起首字母 / 164
5.14.1Tan——求正切 / 164
5.15V起首字母 / 164
5.15.1Val——將字符串轉換為數值 / 164
5.16Z起首字母 / 164
5.16.1Zone——檢查指定的位置點是否進入指定的區域 /
164
5.16.2Zone2——檢查指定的位置點是否進入指定的區域(圓筒型) / 165
5.16.3Zone3——檢查指定的位置點是否進入指定的區域(長方體) / 165
第6章參數功能及設置
/ 167
6.1參數一覽表 / 167
6.1.1動作型參數一覽表 / 167
6.1.2程序型參數一覽表 / 169
6.1.3操作型參數一覽表 / 170
6.1.4專用輸入輸出信號參數一覽表 / 170
6.1.5通信及現場網絡參數一覽表 / 172
6.2動作參數詳解 / 172
6.3程序參數 / 189
6.4專用輸入輸出信號 / 196
6.4.1通用輸入輸出1 / 197
6.4.2通用輸入輸出2 / 198
6.4.3數據參數 / 198
6.4.4JOG運行信號 / 199
6.4.5各任務區啟動信號 / 200
6.4.6各任務區停止信號 / 201
6.4.7(各機器人)伺服ON/OFF / 201
6.4.8(各機器人)機械鎖定 / 202
6.4.9選擇各機器人預熱運行模式 / 202
6.4.10附加軸 / 202
6.5操作參數詳解 / 205
6.6通信及網絡參數詳解 / 211
第7章輸入輸出信號
/ 212
7.1輸入輸出信號的分類 / 212
7.2專用輸入輸出信號詳解 / 212
7.2.1專用輸入輸出信號一覽表 / 212
7.2.2專用輸入信號詳解 / 216
7.2.3專用輸出信號詳解 / 226
7.3使用外部信號選擇程序的方法 / 238
7.3.1先選擇程序再啟動 / 238
7.3.2選擇程序號與啟動信號同時生效 / 240
第8章RT ToolBox2軟件的使用
/ 242
8.1RT軟件的基本功能 / 242
8.1.1RT軟件的功能概述 / 242
8.1.2RT軟件的功能一覽 / 242
8.2程序的編制調試管理 / 243
8.2.1編制程序 / 243
8.2.2程序的管理 / 251
8.2.3樣條曲線的編制和保存 / 253
8.2.4程序的調試 / 254
8.3參數設置 / 256
8.3.1使用參數一覽表 / 256
8.3.2按功能分類設置參數 / 257
8.4機器人工作狀態監視 / 261
8.4.1動作監視 / 261
8.4.2信號監視 / 262
8.4.3運行監視 / 264
8.5維護 / 264
8.5.1原點設置 / 264
8.5.2初始化 / 268
8.5.3維修信息預報 / 268
8.5.4位置恢復支持功能 / 269
8.5.5TOOL長度自動計算 / 269
8.5.6伺服監視 / 269
8.5.7密碼設定 / 270
8.5.8文件管理 / 270
8.5.92D視覺校準 / 270
8.6備份 / 272
8.7模擬運行 / 272
8.7.1選擇模擬工作模式 / 272
8.7.2自動運行 / 273
8.7.3程序的調試運行 / 275
8.7.4運行狀態監視 / 276
8.7.5直接指令 / 276
8.7.6JOG操作功能 / 277
8.83D監視 / 278
8.8.1機器人顯示選項 / 278
8.8.2布局 / 278
8.8.3抓手的設計 / 280
第9章應用案例——機器人在儀表檢測項目中的應用
/ 283
9.1項目綜述 / 283
9.2解決方案 / 283
9.2.1硬件配置 / 284
9.2.2輸入輸出點分配 / 284
9.3編程 / 286
9.3.1總流程 / 286
9.3.2初始化程序流程 / 288
9.3.3上料流程 / 288
9.3.4卸料工序流程 / 291
9.3.5不良品處理程序 / 293
9.3.6不良品在1#工位的處理流程 (31TOX) / 295
9.3.7主程序子程序匯總表 / 297
9.4結語 / 300
參考文獻
/ 301