ABB机器人通过PROFINET向西门子plc发送轴数据和速度
一、硬件准备
1、ABB机器人(型号IRB120,并已开通PROFINET通信功能)
2、西门子PLC(型号1200)
二、数据准备
1、创建一个jointtarget型变量(jpos1),用于存放机器人当前轴数据
2、创建一个num型数组(rdata),用于将读出的轴数据进行拆分,每个轴的角度单独存入一个变量以便后续处理
3、建立7个num型变量(A1、A2、A3、A4、A5、A6、A7),处理各轴角度和当前速度时作为中间变量使用
4、创建一个intnum型变量(intno1),用于连接中断程序
5、创建7个16位的组输出变量(outa1、outa2、outa3、outa4、outa5、outa6、sudu),通过PROFINET将处理过的数据映射到PLC
6、创建6个数字输出变量(a1s、a2s、a3s、a4s、a5s、a6s),将各轴角度的正负反应到PLC
7、创建两个点位(phome10、phome20),用于在程序循环执行的时候,不断改变各轴的当前角度
注:组输出变量以及数字输出变量的建立方法,请参照ABB机器人与TIA V15 PROFINET通讯
三、指令介绍
1、IDelete(中断删除):用于取消(删除)中断预定,彻底擦除中断的定义。 如果中断仅临时禁用,则应当使用指令ISleep或IDisable。为了再次进行定义,必须首先将其重新连接至软中断程序。 建议从停止点开始IDelete。
2、CONNECT:CONNECT用于发现中断识别号,并将其与软中断程序相连。
3、ITimer(Interrupt Timer):用于下达和启用定时中断的指令。
4、CJointT(Current Joint Target):用于读取机械臂轴和外轴的当前角度。
5、CSpeedOverride:用于读取由来自FlexPendant示教器的运算符所设置的速度覆盖。
返回值将为0 - 100范围中的一个数值,其中,100相当于编程速度。
四、程序编写
MODULE Zhou
PROC main()
initia;
x:
MoveJ phome, v200, z50, tool0WObj:=wobj0;
MoveJ phome20, v200, z50, tool0;
GOTO x;
ENDPROC
PROC initia()
IDelete intno1;
CONNECT intno1 WITH infor;
ITimer 2, intno1;
ENDPROC
TRAP information
jpos1 := CJointT();
rdata{1} := jpos1.robax.rax_1;
rdata{2} := jpos1.robax.rax_2;
rdata{3} := jpos1.robax.rax_3;
rdata{4} := jpos1.robax.rax_4;
rdata{5} := jpos1.robax.rax_5;
rdata{6} := jpos1.robax.rax_6;
rdata{7} := CSpeedOverride();
A1 := Trunc(rdata{1});
A2 := Trunc(rdata{2});
A3 := Trunc(rdata{3});
A4 := Trunc(rdata{4});
A5 := Trunc(rdata{5});
A6 := Trunc(rdata{6});
A7 := Trunc(rdata{7});
IF A1<0 THEN
Set a1s;
A1 := Abs(A1);
ELSE
Reset a1s;
ENDIF
IF A2 < 0 THEN
Set a2s;
A2 := Abs(A2);
ELSE
Reset a2s;
ENDIF
IF A3 < 0 THEN
Set a3s;
A3 := Abs(A3);
ELSE
Reset a3s;
ENDIF
IF A4 < 0 THEN
Set a4s;
A4 := Abs(A4);
ELSE
Reset a4s;
ENDIF
IF A5 < 0 THEN
Set a5s;
A5 := Abs(A5);
ELSE
Reset a5s;
ENDIF
IF A6 < 0 THEN
Set a6s;
A6 := Abs(A6);
ELSE
Reset a6s;
ENDIF
SetGO outa1, A1;
SetGO outa2, A2;
SetGO outa3, A3;
SetGO outa4, A4;
SetGO outa5, A5;
SetGO outa6, A6;
SetGO sudu, A7;
ENDTRAP
ENDMODULE
温馨提示:关于指令详细介绍手册以及此篇文章的电子板(Word格式)已经一并提供,需要的朋友请点击下方的“点击下载附件”自行下载!!!