That could be a use case. In-fact I always end up using Z as my working direction. But it would also be helpful in cases where your tool's geometry just makes it easier to translate along certain axis.
Posts by micahstuh
-
-
ABC 2-point should let you pick which axis and plane the points represent instead of forcing X axis and XY plane.
-
I have a KRC4 (v8.3.14) controlling a KR16 and a KP3 rotary table, with SafeSingleBrake.kop. Its a pretty typical setup where operator loads/unloads on one side while robot performs task on the other side.
I think it would be neat if I could get the table on the operator side to jog +- with a button the operator controls while the robot has full synchronous control of the other table its working with. This way, the operator has more flexibility for loading parts and fixtures to that table without interrupting the robot program.
I have all the pieces of the puzzle put together except I can't think of a clean way to command an asynchronous external axis while the KSS is busy running a program at the same time. Is there an obvious way of doing this? I was thinking maybe something to do with the sps.sub calling a jog routine when a button is pushed (if that's even possible).
-
That did the trick. Thanks to both of you.
-
After performing a recovery of my robot (KRC4 v8.3.14), The SmartHMI fails to load and instead opens up to the Windows 7 desktop. From there I have to select this executable to get the SmartHMI running: C:\\KRC\StartKRC.exe
I had done a stupid thing and changed IP address from windows settings side of things. I know, rookie mistake. I don't know if the recovery image I am using is a good match. We only have a couple recovery sticks and there's no telling which stick goes to which robot or KSS version. We probably don't even have a proper recovery stick and image for this robot to be honest.
That said, after picking one, and doing the recovery, the robot seems fine, except for the issue I stated at the top.
Any ideas why the SmartHMI isn't booting automatically and what I can do to fix it?
-
- It would be nice to have some UI support for non-codefold motions on teach pendant. When I click on a FRAME or similar, it should offer me a UI with tools to update the coordinates saved to the variable, examples would be touch-up with current tool/base, add/sub 100mm, etc.
- A more modern text editor on TP. Option to trade line-wrap for horizontal scrollbar, ability to select-copy-paste a portion of a line instead of selecting the whole line.
- Some more suggestions that are in-line with the hope we get support for an established object oriented language: case-sensitivity option. Unlimited recursion instead of the 20 layer cap I think its set to. Better git compatibility be removing '&' lines at the top of files.
-
Quick note about sending bytes across KUKA and Siemens PLC:
These devices use opposite endianness, which essentially means they order their bytes opposite of eachother when sending bigger data, like an integer.You can send an integer from the plc to the robot by:
- make a %QD# tag in the PLC tag list that you want to send to the robot.
- set up the IO mapping as usual on Workvisual (bit to bit) for your entire supported IO range that is allocated for PLC talk.
- In robot $config.dat, make a new signal with a 32 bit range (ie: SIGNAL my_integer $IN[153] TO $IN[184]). Replace the values inside with the values needed to match up with the address byte you chose on the PLC side. This can sometimes be hard to match up.
- my_integer is now a global variable int, whose value is the integer made up by the bits between $IN[153] TO $IN[184]
- Very important step: Siemens and Kuka have opposite endianness, so the integer value that you want to send has to go through a SWAP instruction in plc ladder logic so the bytes get flipped. (ie. int_you_want_to_send -> SWAP -> %QD#)
- for sending integers to PLC, its similar but you have to flip the INs for OUTs and the QD for and ID
- for sending REALS, you have to mulitply the value by, say 100, then convert to int, then divide it down by 100 on the other device. That would preserve 2 places after the decimal.
-
Git has support for ignoring certain files, and a Git expert may be able to figure out a way to ignore lines, but it kind of goes against the way Git tracks file changes and stores breadcrumbs.
I ended up making a WPF program where a user can select the KRL directory, and each file has lines including &ACCESS and &REL removed. Works nicely.
-
Thanks for the information! I'll probably try to make a script then that specifically looks for lines containing &REL and &ACCESS then.
-
That's too bad.
If I made a script that could delete those lines that I could run before staging my Git changes, would you see any harm in that?
In other words will deleting those lines cause problems for the controller? Or can it just auto-generate them again when it needs to? -
Hi
I am starting to use Git version control for all my KRC program folders.
One problem I am facing is that Kuka likes to add a &REL# and &ACCESS RV# to the top of each src and dat file. It does it quite frequently, even when I don't make a change to the files.
So I might go and change 1 line of 1 file, and Git will detect that there are 20 different files changed, because their &REL number increased on various files. This is quite annoying, especially for when I am trying to find specific changes in my Git history, and 99% of the changes are these revision numbers.Is there a way to get rid of these auto-generated lines at the top of the source and dat file?
I am running KRC4s from 8.3.33 to 8.6.4
Thank you.