Posts by Mentat
-
-
Go read Read First.
I can only guess that by "move enable bit" you mean $Move_enable. Point it to 1025 and it will be permanently on.
-
But what's the advantage of one over the other ?
Safety - when it inevitably breaks and always returns 0. The one that normally is at 0 won't seem any different from when it wasn't broken.
-
In the newer (8.5 +) KSS versions I have not found a file to permanently disable the 6D mouse, but there is now a Rights management in StartUp section. That's where you can set Jogging using the 6D mouse to Deactivated, so no one has to suffer anymore
-
Just a guess, but I think 0.134311587 is the closest value to 0.134311593 that can still be expressed in the limited amount of bits that the real value is stored in.
The bad news is cos(adj) is going to be wrong too due to the same reason.
The good news is, the difference between these approximated calculations and normal ones is going to be around the fourth significant digit, which I think is still below your robot accuracy.
Solutions:
1. It's rather insignificant, just live with it.
2. Implement a communication protocol to do these calculations on a different computer.
3. Implement a sort of big_num library to do these calculations.
-
what?
I think MOM is just expressing his incredulity that you claimed to have read the manuals and still had questions about such basic matters.
-
I am fairly sure, this could have been found in expert programming manual. The variable is $Pos_act - current position of the current tool in current base.
-
You could, but why not just increase the load_data[] size? Or if that's a no-go, just create your own array and assign data from that.
-
I am guessing that by point position name you mean something like "XP1"? Maybe try getting it indirectly? You have the program text, you have the current executable line, parse the line(s) for the name.
-
I don't understand what are you trying to achieve or what you have done with "other message cannot displaying at the same time". Are you trying to flood the screen with dialog boxes?
-
Representing a number in different bases is not specifically related to KUKA or even robotics, it more Informatics 101, that's why it's not in KUKA manuals It's something that you could try googling or just search the forum, e.g.:
-
-
Most Ethernet KRL commands return an Eki_status value, use it with a switch case.
-
If understood correctly, you would like all motions to be at the same speed.
The problem is that Ptp motion speed is set as percentage, and Lin- in m/s.
If these motions are constant, then I suggest lowering Ptp speed until it looks good enough.
If you need to parametrize, you will need to set the ptp speed, by calculating axes difference between Ptp motion start and end position (don't forget the approximated motion), distance between those positions and then figure out the needed percentage setting from either the axis that turned the most or was the slowest. Don't forget axis acceleration - they don't go max speed from the start
Also, is it really "PTP BefPickPress C_DIS" and not "PTP BefPickPress C_PTP"?
-
Seems pretty straightforward to do with interrupts, look into those.
-
This has been discussed quite a few times on the forum already.
You will want to use an interrupt that triggers from the input and run a search function that gets closer to the part. The interrupt will terminate the search function prematurely and from there the main program continues. -
Properly done, the end result will be the same either way. Touch up will be faster and easier if you have access to the robot.
The process of touch up is written out in sufficient detail in KUKA user manual.
-
You only lose the count if you don't save it anywhere. Create a struc to save a pallet state: patterns for odd and even levels, amount of parts on the pallet and then use that as a function parameter to find either pick up or place position.
Also I suggest passing box/part size as parameter and using that to find offsets from starting position. And make your life easier - use geometric operator.
-
Sps is not cyclically called, it's called once and then runs. There is (usually) a loop inside, that runs cyclically.
but can the robot program at any line of its code be interrupted, or are there restrictions where a call of the sps is not possible.
Don't understand what you mean by this.
-