妗堜緥/妯℃澘璇存槑 ============================ 鏈烘鑷備富鎺т富鍑芥暟璇存槑 ++++++++++++++++++++++++++++++++ 浠ヤ笅涓烘満姊拌噦涓绘帶妯℃澘浠g爜锛屽寘鍚潗鏍囩Щ鍔ㄥ熀纭€妯℃澘銆佸潗鏍囩Щ鍔ㄤ簩娆″畾浣嶆ā鏉裤€佽建杩圭Щ鍔ㄥ悓姝ユā鏉裤€佽建杩圭Щ鍔ㄥ紓姝ユā鏉裤€� 鐢ㄦ埛闇€瑕佹牴鎹」鐩儏鍐碉紝鍙傝€冩ā鏉跨紪鍐欐満姊拌噦鍓嶅彴绋嬪簭锛岀壒鍒渶瑕佹敞鎰忓宸ユ帶鏈鸿繑鍥炵殑error_code杩涜鍒ゆ柇銆� 瀹夊窛鐨勪竴閮ㄥ垎鍏ㄥ眬鍙橀噺宸茬粡琚崰鐢紝鐢ㄦ埛涓嶅厑璁镐娇鐢ㄨ繖浜涘叏灞€鍙橀噺锛岃瑙� api鐣岄潰銆� 鍏充簬妯℃澘涓殑 API 鍙互鏌ラ槄 瀹夊窛 鐨� 鈥淎PI 璇存槑鈥� 閮ㄥ垎銆� **璇锋敞鎰忔ā鏉垮嚱鏁板苟涓嶈兘鐩存帴杩愯锛岃涓€瀹氭牴鎹」鐩幇鍦虹幆澧冨拰娴佺▼闇€姹傝繘琛屼慨鏀�** 鍧愭爣绉诲姩鍩虹妯℃澘 -------------------------------------- ``XYZCartMoveBasicTpl.JBI`` .. code-block:: ' ' XYZ CartMove Basic Template ' ' ' S1: 鍒濆鍖� ' CALL JOB:XYZMasterInit DOUT OT#(1) OFF ' ' S2: 杩炴帴鍒癕ax ' CALL JOB:XYZMasterConnect ARGF"192.168.37.101" ARGF11111 ' ' 鍒囨崲浠诲姟娴佸浘锛屾牴鎹渶瑕佹坊鍔� ' ' 閲嶇疆浠诲姟 CALL JOB:XYZMasterProcCmd ARGF511 CALL JOB:XYZMasterCheckError ' ' S3: 鍒囨崲鎴愬綋鍓嶅伐浠� ' ' set vs_id SET I003 0 ' set item_codename SET S002 "item1" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' S4: 杩愬姩鍒癏ome鐐� ' ' 闇€瑕佹彁鍓嶇ず鏁橦ome鐐� MOVJ P100 VJ=30.00 PL=0 ' ' 濡傛灉鏄溂鍦ㄦ墜涓婄殑妗堜緥锛屽垯璁剧疆B010涓�1锛屽惁鍒欒缃负0 ' B010: ' 0: eye to hand ' 1: eye in hand SET B010 1 ' ' *LP_MAIN ' ' S5: 鐪煎湪鎵嬩笂 ' IFTHENEXP B010=1 ' ' S6: 杩愬姩鍒版媿鐓т綅濮跨偣 ' 闇€瑕佹彁鍓嶇ず鏁欐媿鐓т綅濮� ' MOVL P101 V=200.0 PL=0 ' ' S7: 鍙戦€佹媿鐓т綅濮� ' CALL JOB:XYZMasterProcCmd ARGF513 CALL JOB:XYZMasterCheckError ENDIF ' ' S8: 璇锋眰鎶撳彇鐩爣鐐逛綅 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF507 CALL JOB:XYZMasterCheckError ' save returned token SET LI000 I022 ' ' S9: 鑾峰彇鎶撳彇鐩爣鐐逛綅 ' ' set obtained token SET I002 LI000 CALL JOB:XYZMasterProcCmd ARGF508 CALL JOB:XYZMasterCheckError ' if no grasp pose IFTHENEXP I023<1 MSG "no grasp pose" WAIT T=5.00 JUMP *LP_MAIN ENDIF ' ' S10: 杩愬姩鍒版姄鍙栫偣浣� ' ' 棣栧厛璧板埌鎶撳彇鐐逛綅涓婃柟50mm澶� SET P105 P004 ' offs 50mm SET LD000 50000 ' get z of grasp pose GETE LD001 P105 (3) ADD LD001 LD000 SETE P105 (3) LD001 ' move to pre grasp pose MOVL P105 V=800.0 PL=2 ' 鎶撳彇 MOVL P004 V=200.0 PL=0 DOUT OT#(1) ON ' ' S11: 杩愬姩鍒版斁缃綅濮� ' ' 棣栧厛璧板埌鎶撳彇鐐逛綅涓婃柟100mm澶� SET P105 P004 ' offs 100mm SET LD000 100000 ' get z of grasp pose GETE LD001 P105 (3) ADD LD001 LD000 SETE P105 (3) LD001 ' move to post grasp pose MOVL P105 V=400.0 PL=2 ' 璧板埌鏀剧疆浣嶅Э ' 鏀剧疆浣嶅Э闇€瑕佹彁鍓嶇ず鏁欏ソ MOVL P106 V=100.0 PL=0 DOUT OT#(1) OFF ' JUMP *LP_MAIN ' ' END 鍧愭爣绉诲姩浜屾瀹氫綅妯℃澘 -------------------------------------- ``XYZCartMoveRepoTpl.JBI`` .. code-block:: NOP ' ' XYZ CartMove Repo Template ' ' ' S1: 鍒濆鍖� ' CALL JOB:XYZMasterInit DOUT OT#(1) OFF DOUT OT#(2) OFF ' ' S2: 杩炴帴鍒癕ax ' CALL JOB:XYZMasterConnect ARGF"192.168.37.101" ARGF11111 ' ' 鍒囨崲浠诲姟娴佸浘锛屾牴鎹渶瑕佹坊鍔� ' ' 閲嶇疆浠诲姟 CALL JOB:XYZMasterProcCmd ARGF511 CALL JOB:XYZMasterCheckError ' ' S3: 鍒囨崲鎴愬綋鍓嶅伐浠� ' ' set vs_id SET I003 0 ' set item_codename SET S002 "item1" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' S4: 杩愬姩鍒癏ome鐐� ' ' 闇€瑕佹彁鍓嶇ず鏁橦ome鐐� MOVJ P100 VJ=30.00 PL=0 ' ' *LP_MAIN ' ' S5+S6: 璇锋眰+鑾峰彇鎶撳彇鐩爣鐐逛綅 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF529 CALL JOB:XYZMasterCheckError ' ' S7: 鍒ゆ柇鏄惁璇嗗埆鍒板伐浠� ' IFTHENEXP I023<1 ' ' S15: 娌℃湁璇嗗埆鍒板伐浠讹紝鏈烘鑷傚鐨勭浉鏈哄垏鎹㈣瘑鍒殧鏉� ' ' set vs_id SET I003 0 ' set item_codename SET S002 "board" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' S16+S17: 璇锋眰+鑾峰彇闅旀澘鎶撳彇浣嶅Э ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF529 CALL JOB:XYZMasterCheckError IFTHENEXP I023<1 ' 鏈瘑鍒埌闅旀澘鐨勫鐞� MSG "no board" ABORT ENDIF ' ' S18: 杩愬姩鍒伴殧鏉挎姄鍙栦綅濮匡紝骞舵姄鍙栭殧鏉� ' ' 棣栧厛璧板埌闅旀澘涓婃柟50mm SET P105 P004 ' offs 50mm SET LD000 50000 ' get z of grasp pose GETE LD001 P105 (3) ADD LD001 LD000 SETE P105 (3) LD001 ' move to pre board pose MOVL P105 V=800.0 PL=2 ' 鎶撻殧鏉� MOVL P004 V=200.0 PL=0 DOUT OT#(1) ON ' ' S19: 杩愬姩鍒伴殧鏉跨殑鏀剧疆浣嶅Э ' ' 棣栧厛璧板埌闅旀澘涓婃柟100mm SET P105 P004 ' offs 100mm SET LD000 100000 ' get z of board GETE LD001 P105 (3) ADD LD001 LD000 SETE P105 (3) LD001 ' move to post board MOVL P105 V=400.0 PL=2 ' 璧板埌闅斿鏀剧疆浣嶅Э ' 闇€瑕佹彁鍓嶇ず鏁欏ソ鏀剧疆浣嶅Э MOVL P106 V=100.0 PL=0 DOUT OT#(1) OFF ' ' S20: 鏈烘鑷傚鐨勭浉鏈哄垏鎹㈡垚璇嗗埆褰撳墠宸ヤ欢 ' ' set vs_id SET I003 0 ' set item_codename SET S002 "item1" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' ELSE ' ' S8: 杩愬姩鍒版媿鐓т綅濮� ' 闇€瑕佹彁鍓嶇ず鏁欏ソ鎷嶇収浣嶅Э ' MOVL P101 V=200.0 PL=0 ' ' S9: 鍙戦€佹媿鐓т綅濮� ' CALL JOB:XYZMasterProcCmd ARGF513 CALL JOB:XYZMasterCheckError ' ' S10: 鏈烘鑷備笂鐨勭浉鏈哄垏鎹㈡垚璇嗗埆褰撳墠宸ヤ欢 ' ' set vs_id SET I003 1 ' set item_codename SET S002 "item1" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' S11+S12: 鏈烘鑷備笂鐨勭浉鏈鸿姹�+鑾峰彇宸ヤ欢鐨勬姄鍙栦綅濮� ' ' set vs_id SET I003 1 CALL JOB:XYZMasterProcCmd ARGF529 CALL JOB:XYZMasterCheckError IFTHENEXP I023<1 MSG "no object" ABORT ENDIF ' ' S13: 杩愬姩鍒版姄鍙栫偣浣� ' ' 棣栧厛璧板埌鎶撳彇鐐逛綅涓婃柟50mm SET P105 P004 ' offs 50mm SET LD000 50000 ' get z of grasp pose GETE LD001 P105 (3) ADD LD001 LD000 SETE P105 (3) LD001 ' move to pre grasp pose MOVL P105 V=800.0 PL=2 ' 鎶撳彇 MOVL P004 V=200.0 PL=0 DOUT OT#(2) ON ' ' S14: 杩愬姩鍒版斁缃綅濮� ' ' 鍏堣蛋鍒版姄鍙栫偣浣嶄笂鏂�100mm SET P105 P004 ' offs 100mm SET LD000 100000 ' get z of board GETE LD001 P105 (3) ADD LD001 LD000 SETE P105 (3) LD001 ' move to post grasp pose MOVL P105 V=400.0 PL=2 ' move to place pose ' define obj place pose first! MOVL P107 V=100.0 PL=0 DOUT OT#(2) OFF ' ' ENDIF ' ' JUMP *LP_MAIN ' END 杞ㄨ抗绉诲姩鍚屾妯℃澘 -------------------------------------- ``XYZTrajMoveSyncTpl.JBI`` .. code-block:: NOP ' ' XYZ TrajMove Sync Template ' ' ' S1: 鍒濆鍖� ' CALL JOB:XYZMasterInit DOUT OT#(1) OFF ' ' S2: 杩炴帴鍒癕ax ' CALL JOB:XYZMasterConnect ARGF"192.168.37.101" ARGF11111 ' ' 鍒囨崲浠诲姟娴佸浘锛屾牴鎹渶瑕佹坊鍔� ' ' 閲嶇疆浠诲姟 CALL JOB:XYZMasterProcCmd ARGF511 CALL JOB:XYZMasterCheckError ' ' S3: 鍒囨崲鎴愬綋鍓嶅伐浠� ' ' set vs_id SET I003 0 ' set item_codename SET S002 "item1" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' S4: 杩愬姩鍒癏ome鐐� ' ' 闇€瑕佹彁鍓嶇ず鏁橦ome鐐� MOVJ P100 VJ=30.00 PL=0 ' ' *LP_MAIN ' ' S5: 璇锋眰鎶撳彇鍜屾斁缃鍒� ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF517 CALL JOB:XYZMasterCheckError ' ' S6: 鑾峰彇 pick-in 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF518 CALL JOB:XYZMasterCheckError ' ' S7: 妫€鏌ユ槸鍚﹁瘑鍒埌宸ヤ欢 ' ' I023: way_point_num IFTHENEXP I023<1 MSG "no way_points" ABORT ENDIF ' ' S8: 鎵ц pick-in 杞ㄨ抗 ' CALL JOB:XYZMasterExecPickIn DOUT OT#(1) ON ' ' S9: 鑾峰彇 pick-out 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF519 CALL JOB:XYZMasterCheckError ' ' S10: 鎵ц pick-out 杞ㄨ抗 ' CALL JOB:XYZMasterExecPickOut ' ' S11: 鑾峰彇 place-in 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF520 CALL JOB:XYZMasterCheckError ' ' S12: 鎵ц place-in 杞ㄨ抗 ' CALL JOB:XYZMasterExecTraj DOUT OT#(1) OFF ' ' S13: 鑾峰彇 place-out 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF521 CALL JOB:XYZMasterCheckError ' ' S14: 鎵ц place-out 杞ㄨ抗 ' CALL JOB:XYZMasterExecTraj ' JUMP *LP_MAIN ' ' END 杞ㄨ抗绉诲姩寮傛妯℃澘 -------------------------------------- ``XYZTrajMoveAsyncTpl.JBI`` .. code-block:: NOP ' ' XYZ TrajMove Async Template ' ' ' S1: 鍒濆鍖� ' CALL JOB:XYZMasterInit DOUT OT#(1) OFF ' ' S2: 杩炴帴鍒癕ax ' CALL JOB:XYZMasterConnect ARGF"192.168.37.101" ARGF11111 ' ' 鍒囨崲浠诲姟娴佸浘锛屾牴鎹渶瑕佹坊鍔� ' ' 閲嶇疆浠诲姟 CALL JOB:XYZMasterProcCmd ARGF511 CALL JOB:XYZMasterCheckError ' ' S3: 鍒囨崲鎴愬綋鍓嶅伐浠� ' ' set vs_id SET I003 0 ' set item_codename SET S002 "item1" CALL JOB:XYZMasterProcCmd ARGF528 CALL JOB:XYZMasterCheckError ' ' S4: 杩愬姩鍒癏ome鐐� ' ' 闇€瑕佹彁鍓嶇ず鏁橦ome鐐� MOVJ P100 VJ=30.00 PL=0 ' ' S5: 璇锋眰鎶撳彇鍜屾斁缃鍒� ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF517 CALL JOB:XYZMasterCheckError ' ' *LP_MAIN ' ' S6: 鑾峰彇 pick-in 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF518 CALL JOB:XYZMasterCheckError ' ' S7: 妫€鏌ユ槸鍚﹁瘑鍒埌宸ヤ欢 ' ' I023: way_point_num IFTHENEXP I023<1 MSG "no way_points" ABORT ENDIF ' ' S8: 鎵ц pick-in 杞ㄨ抗 ' CALL JOB:XYZMasterExecPickIn DOUT OT#(1) ON ' ' S9: 鑾峰彇 pick-out 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF519 CALL JOB:XYZMasterCheckError ' ' S10: 鎵ц pick-out 杞ㄨ抗 ' CALL JOB:XYZMasterExecPickOut ' ' S11: 璇锋眰涓嬩竴娆$殑鎶撳彇鍜屾斁缃鍒� ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF517 CALL JOB:XYZMasterCheckError ' ' S12: 鑾峰彇鏈 place-in 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF520 CALL JOB:XYZMasterCheckError ' ' S13: 鎵ц鏈 place-in 杞ㄨ抗 ' CALL JOB:XYZMasterExecTraj DOUT OT#(1) OFF ' ' S14: 鑾峰彇鏈 place-out 杞ㄨ抗 ' ' set vs_id SET I003 0 CALL JOB:XYZMasterProcCmd ARGF521 CALL JOB:XYZMasterCheckError ' ' S15: 鎵ц鏈 place-out 杞ㄨ抗 ' CALL JOB:XYZMasterExecTraj ' JUMP *LP_MAIN ' ' END