# Kawasaki E Controller AS-Signal Output within Path Function

• Hi guys,

How are you!

I am new at kawasaki robot, during making the OLP, I was try to find out a way to send out signal once robot arrive the target point accurately,

or closest to target point according to accuracy value.

There has a doc to describe this function :

SIGPOINT #POINT, SIGNAL Index1, SIGNAL index 2,……

Output the specified signal at the point closest to the teaching pose in the path

JMOVE #A

SIGPOINT #B1, 1

SIGPOINT #B2, 2

LMOVE #B

pasted-from-clipboard.png

SIGAPPRO DISTANCE,SIGNAL Index1, SIGNAL index 2,……

Output the specified signal from the point at the end point of the path that is away by the specified distance

JMOVE #A

SIGAPPRO x, 1

JMOVE #B

SIGDEPART DISTANCE,SIGNAL Index1, SIGNAL index 2,……

Output the specified signal from the point at the beginning of the path that is away by the specified distance

JMOVE #A

SIGDEPART x, 1

JMOVE #B

After reading the spec, I make a simple program to test it, and received the fault P2006.

Sorry that I've reach the maximum number of attachments allowed, so I directly post the program here:

.PROGRAM pg001() #0

SPEED 100 ALWAYS

ACCURACY 100 ALWAYS

step[1] = 29

step[2] = 30

step[3] = 31

step[4] = 32

BITS step[1],4 = 0

POINT tgripper1 = TRANS(0,0,50,0,0,0)

TOOL tgripper1

HOME 1

SPEED 50

JAPPRO #testpos,200

SPEED 1

ACCURACY 0

LMOVE #testpos

SIGPOINT #testpos, 29

SPEED 10

ACCURACY 50

LAPPRO #testpos,200

SPEED 100

HOME 1

.END

I've double check the spec book, and can't find out the reason.

Does anyone has such experience on this function? Thank you!

• Welcome to the forum................

I've never used the function, but the code P2006 will also have a 'message' associated with it called 'option not set'.

This means that code it is trying to execute belongs to an option not enabled/set.

In order to use the AS - Signal within path function, requires this option to be enabled.

You would need to contact your nearest Kawasaki distributor in order to receive instructions on how to enable this.

It may well be they require a fee to provide this information.

• Hi Kwakisaki:

I've contact with local sales, he will provide technical support when the robot arrive to our plant.

I will update the status once I get the method how to active this function.

• Maybe if you define the workspace in that area, you can activate the output. I think that you can have up to 8 workspaces.

Why do you need to set an output when you are into a certain area? Maybe there is another solution.

• Maybe if you define the workspace in that area, you can activate the output. I think that you can have up to 8 workspaces.

Why do you need to set an output when you are into a certain area? Maybe there is another solution.

It's for home return function.

For each point we will setup different step number, then the robot can choose the return path according to the step number when the operator push the 'HOME' function button on HMI.

I don't want to use DISTANCE function, because of it will make the program very complex if we have lots of program and point. If the space between two points is very large, this way of judging is not easy to use.

I also test the autostart function, scan all the point list, use DISTANCE function to compare with HERE, set BITS if robot arrive point, it is works, but seems the program scanning cycle is too long that even robot has passed a preset point, but the BITS is too late to react unless set TWAIT function.

So I try to use SIGPOINT function.

• Depending of your robot cell configuration you have determine the areas how the robot may retreat to home position.

Once i have done the auto recovering to home position and i needed only 2 areas.

• Usually when using signals associated with positions via code instructions, signal states remain in their active state when moving away from the positions.

Therefore, the signals have to be managed to prevent false indications for position reporting.

When using workspaces as Alexandru suggested, these are effectively controlled on/off via the TCP location reference to the workspace cube defined area.

When you get around to use this function, after visiting the location and turning on the signal(s), can you confirm if the signal(s) automatically turn off when you move away from the location or do they retain their state?

I'd be interested to know if this is the case, if it is then signal management is not required and this would be a very good feature to implement in future installs.

• Actually, For KUKA, Fanuc and ABB robot, we use variables to record the position reached by the robot, which can be called the step number.

All of those brand of robot has 'Tringle' function, we can setup the variable once robot arrive the target point accurately, or closest to target point according to accuracy value. Before robot reach next point, the value of variable won't change that we can judge which point the robot has passed according to the value of this variable, and then return to that point, and then loop the judgment until it reaches the home position.

1. I admit that the method mentioned by Alexandru is worked, but as our station's process are complex that we usually need to add additional judgement sentence to judge the actual state of the robot. And for the robot without safety options, the workspace will used for setup area interlock with PLC.

2. I try to find the same function in Kawasaki robot, as you mentioned, SIGPOINT can only work with signal, not variable, also can't work with BITS. So even SIGPOINT can work, it's still not a good way.

When you get around to use this function, after visiting the location and turning on the signal(s), can you confirm if the signal(s) automatically turn off when you move away from the location or do they retain their state?

I think the signal would keep its status. I will update the test result as I finish the test.

• You can also use variables to record the position reached by the robot. In order to prevent the ahead calculation you can use the a while loop between the actual position and the target position. Use the distance function and some tolerance. Then you can use the same thing as you using with other models of robot.

• The standard Kawasaki AS Language contains some very good flexible coding options and as Alexandru has mentioned, alternatives to the actual signal within path function may be worthwhile evaluating/testing at least.

A simple example below produces a linear move to the recovery position (which is pre-taught) central to the workspace, but is in a workspace directly above and clear of all workspaces below:

Code
``````IF SIG(wrk.space[2])==TRUE THEN
POINT .tmp = #wrkspace_recov[2]
WHILE SIG(wrk.space[1])==FALSE AND DISTANCE(HERE,.tmp)>10 DO
SPEED .slw_spd_recover MM/S
LMOVE #wrkspace_recov[2]
STABLE 0.1
END
END``````