1.例如编写了下文的画圆指令 MoveCircle(robtarget pCenter,num Radius,speeddata Speed,zonedata Zone,PERS tooldata Tool\PERS wobjdata WObj) (包括5个参数和一个可选参数\wobj)。 PROC MoveCircle(robtarget pCenter,num Radius,speeddata Speed,zonedata Zone,PERS tooldata Tool\PERS wobjdata WObj) VAR robtarget p1; VAR robtarget p2; VAR robtarget p3; VAR robtarget p4;
IF Radius<2 THEN ErrRaise "ERR_CIRCLE",errorid,ERRSTR_TASK,"Radius",NumToStr(Radius,2),"2",ERRSTR_CONTEXT; ENDIF
p1:=pCenter; p2:=pCenter; p3:=pCenter; p4:=pCenter; p1.trans:=pCenter.trans+[0,Radius,0]; p2.trans:=pCenter.trans+[Radius,0,0]; p3.trans:=pCenter.trans+[0,-Radius,0]; p4.trans:=pCenter.trans+[-Radius,0,0]; MoveL p1,Speed,Zone,Tool\WObj?WObj; MoveC p2,p3,Speed,z10,Tool\WObj?WObj; MoveC p4,p1,Speed,Zone,Tool\WObj?WObj; BACKWARD MoveL p1,Speed,Zone,Tool\WObj?WObj; ERROR IF ERRNO=ERR_CIRCLE THEN TPWrite "The radius is too small"; RAISE ; ENDIF ENDPROC
2.希望能在示教器的插入指令界面新建一个新的指令集Customer,并在其中显示MoveCirle,如何实现。 可以编写如下MoveCircle_MMC.cfg文件并加载,或者直接在原有系统的MMC.cfg文件中修改。 Man-machine Communication (MMC)配置文件主要用于示教器界面上的配置。相关解释如下: MMC:CFG_1.0::
MMC_PALETTE_HEAD: -name "Customer" -type "MMC_Cus"
MMC_Cus = MMC_PALETTE: -name MoveCircle
MMC_REAL_ROUTINE: -name MoveCircle -default_struct 1,1,1,1,1,0 -hidden
MMC_REAL_PARAM: -name MoveCircle_pCenter -name_rule SEQ -method hirule_robtarget -name MoveCircle_Radius -name_rule LAST def_name 10 -name MoveCircle_Speed -name_rule LAST -def_name v1000 -name MoveCircle_Zone -name_rule LAST -def_name z50 -name MoveCircle_Tool -name_rule CUR -method hirule_tooldata -name MoveCircle_WObj -name_rule CUR -method hirule_wobjdata
MMC_INSTR_WITH_WOBJ: -name MoveCircle -param_nr 6
********************************
|