ABB机器人基本输入输出指令用法及其案例,包括什么是输入、输出,什么是Set、Reset;什么是PulseDO;什么是WaitDI、WaitDO;什么是InvertDO、SetGo等,通过本节学习,你会轻松学会ABB机器人基本输入指令,不用烦恼***说明书对这些基本指令讲得云里雾里,现在就开始吧,具体如下:
1.输入输出信号
DO:指机器人数字量输出信号。
DI:指机器人数字量输入信号。
说明:ABB机器人机器人数字输入输出采用直流 24V 电源,输入输出信号有两种状态,1 ( High ) 为接通,0 ( Low ),输入输出信号必须在系统参数中定义才能使用;
2.输出信号指令Set
例如:Set do1;
do1:输出信号名,将一个输出信号赋值为 1,在输出信号名相应 I/O 板的相应信号端口输出直流 24V电压去驱动负载;
3.输出信号指令Reset
例如:Reset do1;
do1:输出信号名,将一个输出信号赋值为 0,在输出信号名,相应 I/O 板的相应信号端口没有直流 24V电压输出,即将该端口点信号复位处理;一般与Set do1配合使用;
4.输出信号指令PulseDO
解释:输出一个脉冲信号,脉冲长度范围是0.1s-32s,默认是0.2s;如果小于0.01s,则系统会报错,并且不得不热重启系统;
机器人输出数字脉冲信号,一般作为输送链完成信号或是计数信号;
例如:
WHILE TRUE DO
PulseDO do2;
END WHIE
对于模拟量,同样有模拟量输出信号指令PulseAO,例如语句:PulseAO AO3 10;表示模拟量信号AO3输出的模拟量数值是10;
AO:指机器人模拟量输出信号。
AI:指机器人模拟量输入信号。
5.输入信号指令WaitDI
解释:等待数字量输入信号满足相对应的数值时,就接通;
语句格式:WaitDISignal,Value[\MaxTime][\TimeFlag];其中Signal是输出信号名称,Value是输出信号值,[\MaxTime]是***长等待时间,[\TimeFlag]是超出逻辑量,是一个Bool数值;如果在***长等待时间内得到相应信号,将逻辑量置为FALSE,如果超过***长等待时间,将逻辑量置为TRUE;
例:1:
PROC Part()
MoveJpPrePick,vFastempty,zBig,tool1;
WaitDIdi_Ready,1;机器人等待输入信号,直到变量di_Ready为1时,再执行下一行语句;
…
END PROC
PROC Part()
例如2:
PROC Part()
MoveJpPrePick,vFastempty,zBig,tool1;
WaitDIdi_Ready,1\WMaxTime:=5;机器人等待输入信号,直到变量di_Ready为1时,在执行下一行语句;如果这个信号5秒钟内没有给出,那么超过5秒钟后,仍然继续执行下面的语句;
…
END PROC
例如3:
PROC Part()
MoveJpPrePick,vFastempty,zBig,tool1;
WaitDIdi_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;机器人等待输入信号,直到变量di_Ready为1时,在执行下一行语句,此时\TimeFlag:=0;如果这个信号5秒钟内没有给出,那么超过5秒钟后,仍然继续执行下面的语句,此时\TimeFlag:=1;
…
END PROC
6.输入信号指令WaitDO
语句格式:WaitDOSignal,Value[\MaxTime][\TimeFlag];其解释参考输入信号指令WaitDI
7.输入信号指令InvertDO
语句格式:InvertDO Single;将机器人的输出信号反置,1变为0,0变为1;
例如:InvertDO do10,;将输出信号do10的数值反转,如果此时do10为1,则通过该指令后就是为0;如果此时do10为0,则通过该指令后为1;
8.输入信号指令SetGo
语句格式:SetGO[\Sdelay]signal,Value;其中,[\Sdelay]为延迟输出时间,单位是秒;signal是输出信号名称;Value是输出信号的具体数值;
举例:
SetGO\Sdelay:=0.2,go_Type,10;输出信号go_Type延时0.2秒后,输出数值10;