Hello,
does anybody know how to monitor the speed set by the SPEED command? I found the MSPEED command, but it returns the speed set on the TP or by MON_SPEED!
Hello,
does anybody know how to monitor the speed set by the SPEED command? I found the MSPEED command, but it returns the speed set on the TP or by MON_SPEED!
When say monitoring robot speed, what exactly do you mean by 'robot'/
Robot has 4-6 joints that move at independent (%) speeds as well as EOAT (linear speeds).
If you are looking at 'actual EOAT speed' then usually this is part of a sealing application to control material flowrate.
The post below offers some insight and a test program for functionality.
Hello Kwakisaki,
I want to monitor the EOAT speed of the TCP. The robot is CP180L with E03 controller.
AFAIK there is no direct command to return the current tcp speed.
MPSEED variations only sniff on the commanded speed (set inside a program).
The link above, refers to a variation of a method used to monitor tcp speed and send values back to a flow controller with actual tcp speed so that when automatic speed adjustments are made during the process, the flowrate adjusts accordingly ensuring a very basic way of retaining bead width (material delivery).
In order to use this method though, you would need to change the application in the robot to painting/sealing from handling.
You would need to contact Kawasaki really to assist in changing as the option sits in the maintenance area.
This will not stop a handling robot performing as a handling robot, but allow certain commands associated with sealing to become available.
Application changes can only be made when no user data already exists.
Alternatively, you can create a simple background task which requires running all the time to sniff on 2 positions, calculate the distance/time and output the result every 'x' seconds.
An example below:
.PROGRAM tcpspd.pc()
;================================================
; Execute as PC Task to monitor tcp speed
; Test in teach mode using different speed levels
; Teach mode is constant velocity
;================================================
.delta_tme = 0.02; Set time delta
WHILE (TRUE) DO; Stay looping
HERE .p1;
TWAIT .delta_tme;
HERE .p2;
.tcp_dist = DISTANCE(.p1,.p2);
.tcp_spd = .tcp_dist/.delta_tme;
BITS 2001,16 = INT(.tcp_spd); output result as integer as BCD
END
.END
Display More
You can use the AS command:
sysdata(tool.vel.cmd)
set it to a variable in a PC program.
That's the commanded tool velocity value isn't it and not the actual tool velocity?
If I'm wrong, then cheers for the heads up..........