MODULE Module1
CONST robtarget Target_10:=[[1306.57,-152.73,872.13],[0.707106781,0,0,0.707106781],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_20:=[[306.4,508.08,896.419],[0.707106781,0,0,0.707106781],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VAR num x:=0;!声明x为数字变量
VAR num z:=0;z为数字变量
PROC main()
FOR i FROM 1 TO 4 DO!以下代码运行四次,j变成4
FOR i FROM 1 TO 7 DO!以下代码运行七次(与上面的结合一共运行28次)
movej offs(Target_10,0,0,200),v800,fine,Tooldata_2; !目标点上方200mm
waitdi DW0,1;!等待DW信号
movel offs(Target_10,0,0,0),v800,fine,Tooldata_2;
WaitTime 0.1;
setdo zz0,1;!输出信号1,夹取
waittime 0.1;
movel offs(Target_10,0,0,300),v800,fine,Tooldata_2;!抓取完成后将工具往上拉
waittime 0.1;
TEST i !当i是1,2,3,4时运行以下代码
CASE 1,2,3,4:
MoveJ offs(Target_20,x,0,200+z),v800,fine,Tooldata_2;!到达目标点上方
waittime 0.1;
Movel offs(Target_20,x,0,0+z),v800,fine,Tooldata_2;!到达目标点
waittime 0.1;
setdo zz0,0;!将信号变成0,放下部件
waittime 0.1;
movel offs(Target_20,x,0,220+z),v800,fine,Tooldata_2;!到达目标点上方
x:=x+300;!改变x坐标
CASE 5,6,7:!5,6,7时运行以下代码
movej RelTool(Target_20,x,550,20+z,\Rz:=90),v800,fine,Tooldata_2;!这里的\Rz是绕z轴旋转
waittime 0.1;
Movel offs(Target_20,x,550,0+z\Rz:=90),v800,fine,Tooldata_2;
waittime 0.1;
setdo zz0,0;
waittime 0.1;
movel offs(Target_20,x,550,220+z\Rz:=90),v800,fine,Tooldata_2;
x:=x-400;
DEFAULT:!否则stop
Stop;
endtest!结束test
ENDFOR !结束for
z:=z+100;
x:=0;
ENDFOR!结束for
ENDPROC!结束程序
PROC Path_10()!工具坐标
MoveL Target_10,v1000,z100,Tooldata_2\WObj:=wobj0;
MoveL Target_20,v1000,z100,Tooldata_2\WObj:=wobj0;
ENDPROC
ENDMODULE
这是一个码垛编程的代码(多层
希望大佬能够解答,软件老是报错,但是认为又找不到错误,轻喷。