Wow! Thank you a lot! I used another, inofficiel documentation for the crosscom.exe interface. Yours is much better!!! Has somebody the same for the cross.ocx Very best regards, and thank you again, Tilman
Everyone I have talked to who could have potentially modified the program says they didn't.
Great idea, a robot that writes his own program. I would buy him!
I think that you didn't talk to everyone... What happened: a linear motion command was added with an inline form. This is available by the menu Commands->Motion. This can be done in user-mode (you don't have to change to the expert group). Even an operator could have programmed this.
I have heard of a possibility to avoid this: protecting the src-file against writing. But I don't know if there might be side effects.
You have seen perhaps the simulation of the KR6 in my video. It was not Kuka Sim, but OfficeLite with a virtual arm that I programmed myself (for economic reasons…). I used here the cross.ocx interface, but only for reading the position ($AXIS_ACT). I stopped playing with the cross.ocx at this level.
The programming is not very hard, if you know ActiveX. The main problem is that no documentation is available. For example to copy a file, it could be the function DownLoad:
short __fastcall DownLoad(BSTR strFile/*[in]*/, BSTR strKRCDest/*[in]*/, BSTR strOpt/*[in]*/);
But strOpt... Is it a timeout value? And the strKRCDest, what is the syntax of the path?
There is also the crosscommexe.exe interface. You can find some unofficial documents for it. This interface is a little more user friendly, but it is not supported on newer versions of the KSS any more.
After all, I prefer the solution that you explained, SkyeFire: transferring the positions. This solution is documented, you can realize it without any package (by using the RS232 interface), no problem with the guarantee of your robot… and you need less time to realize it
NiamoR42 is a french guy, and he send me private message in french. I gave him a short response (normally, I don't do this, discussions should be made here, this is the code of a forum).
I told him nearly the same, but (now Mookie has to leave definitively the country), you did it better
I thought about one more possibility: using the cross interface (for example, the cross.ocx). There are nice functions, which seems to do exactly what NiamoR42 needs (Copy, Select, Run, etc.) Disadvantage: theses functions are not documented. Anyone tried them?
Again a "Newbie" who is a german expert… Welcome Fubini!
Thank you for your effort to write the formulas. The way to explain homogenous transformations was new for me. It is very useful.
Some little remarks:
1) You did not mention it, but I think that not all readers know $TFLWP (I didn't know this variable either). It is the offset between flange point and wrist point, this variable is defined in the machine.dat.
2) The function Inv_Pos is not documented… but you can also use INV_FRAME (source code given in klue_weg.src).