Forgot #tool or #base as first parameter after the position.
Hi Fubini, it still doesn't seem to like it.
Forgot #tool or #base as first parameter after the position.
Hi Fubini, it still doesn't seem to like it.
Display MoreYes. If e.g, e1 is at 270
lin_rel {e1 -270} #AS_PROG
should bring it to zero. The same can be achived by
slin_rel {e1 -270}
Here #as_prog is not needed since this is the default for spline.
Fubini
Okay, I see. Thank you!
I did try it, but there is a compilation error.
AS_prog should also work on relative motion commands.
PostRotate axis 6Hello,
I have an aplication with an Agilus KR10 R1100 sixx, I need to rotate axis 6 370º at a constant and controlated speed,
I've tried with LIN_REL {A 370} but i can't move the axis fast, I've changed VEL.ORI1 to 400 º/s and ACC.ORI1 to 100
but the axis don't move fast (in T2 mode of course). Does anybody know the maximun values for VEl.ORI1 and ACC.ORI1
or another mode to do this movement?
Fubini
Are you referring to something like?:
- LIN_REL { E2: 0.0 } #TOOL #AS_PROG
Yes. Lookup #AS_PROG.
Fubini
Right. Thank you.
I do use #AS_PROG, but AFAIK, #AS_PROG only works with ASYPTP. My goal is to move away from ASYPTP and control E1, E2 only through LIN.
For example:
LIN { X 1288.000, Y -500.000, Z 1250.000, A 79.0000, B 90.0000, C 0.0000, E1 43.2303, E2 0.0000, S 'B00010', T 'B001010' } C_DIS
Am I missing something?
Hi all,
I would like my external axis joints to get to exact value specified in the motion command, but that's not the case. The position always rotates in the direction where the angle is the closest to reach.
For example:
- Current angle of E2 is 200
I want LIN {E2 0}
The positioner rotates to 360.
Is there any setting that can disable such behavior and instead rotate to exactly 0, in the right direction?
Any help would be much appreciated!
Positioner: DKP 400 1 40A
Robot: KRC 60 3 C4
KSS 8.5.7 HF1
Have a look here (khash)
Thanks MOM.
From my understanding and trials, khash is used to encrypt the user's password on the KUKA to be used with `krl_mount`.
I did manage to create a mount point, but then am I able to transfer files from that mounted point to my /R1 folder programmatically?
Hello all,
I recently stumbled upon CWRITE/CREAD manual, and I was surprised to see a bunch of file system operation commands ready to be used, but not the ability to copy a file from a specific location (either from local drive to R1 on the KUKA, or from a mounted shared disk to /R1).
My goal is to have a piece of code that lives in an submit program, and copies (or removes) files on request from an external system.
Would this be possible to achieve using CWRITE? If not, is there any other solution for that?
Any help would be much appreciated!
KRC4
KSS 8.5.7 HF1
WorkVisual 6.0
you should read the manual. analog signal are in range 0..1 or -1..+1
they can not have values like 327.68 or 20.0
Understood.
The manual states that analog signals are in range 0..1 or -1 to +1 - that is crystal clear.
However, it doesn't say anything about the "calibration factor" that can be set in WoV. What is the usage of that?
Furthermore, why can analog signals be set to different data types such as SINT, UINT, INT or even UNKNOWN?
KRL treats any mulit-bit SIGNAL declaration as an Unsigned Integer (with the exception of a 32-bit SIGNAL, which is treated as Signed Integer implicitly). So calculating the value of a signed value less then 32 bits, it's necessary to separate the sign bit, evaluate the 'remainder', then use the sign bit to determine if the unsigned value needs to be negated.
The given solution makes a lot of sense, thank you!
That makes me wonder - in what circumstance is it a good idea to use analog signals instead of grouped digital signals?
Hello all,
I have a welding machine connected over EtherNet/IP. The welding machine has few outputs (from welding machine to robot) that returns two signals I'm interested in:
I'm aware I can map the signal to a grouped digital input on the KUKA then do the mapping myself. However, I'd like to map it to analog input in order to have it mapped automatically.
Regarding Signal 1, I mapped 16 bits then changed its type to the "+-" sign which infers the signal is of INT type. Then I tried to map it to an analog input ANIN[1] whose type is SINT with a calibration factor is set to 10. I can not connect the mapped EtherNet/IP signal to its analog input KUKA counterpart unless I change the ANIN[1] type to INT, but that's not what I'm aiming for.
Regarding Signal 2, I proceeded in the same way, except that both ANIN[2] and the mapped EtherNet/IP signal types are UINT. However, how can I define the right range which is 0.5 to 20.0?
I digged deeper in the forum regarding this, and I came across some comments saying it's better to avoid KUKA analog input/output. Why is that so?
Additionally, manuals do not go deep when it comes to mapping on a binary level...
Any help would be much appreciated!
KRC4
KSS 8.5.7 HF1
WorkVisual 6.0
Hi all,
Just would like to UP to revive my previous message ✌
Many thanks MOM, panic mode. If only such simplified explanation was added to the KUKA manual . Makes me wonder how KUKA came up with geometry operator syntax rather than raw mathematical commands...
One last question I have, then, in this case, let's assume one knows the following:
Is it possible to transform TCP position relative to BASE_DATA[17]? Essentially calculating what the controller does when switching active base from $NULLFRAME to BASE[17] while keeping the same tool
Hi panic mode ,
Woow, I'm blown away by the detailed explanation and the exposed way of thinking behind your answer. Thank you!!
I completely understood the logic behind your message. However, I am a little bit confused on few details.
Assuming the following:
E6POS P17={X 60.78,Y 1708.54,Z 84.56,A 53.47,B 89.90,C 8.63,S 010,T 001010} (left side picture)
B0 = $NULLFRAME (where B0 refers to Base0, which is $NULLFRAME on the right side picture)
B17 is the external axis base fixed tool FRAME BASE_DATA[17]={X 1719.48,Y -4.1,Z 5.48,A 89.27,B 0.25,C -0.16}. This frame is the transformation from the tool/base management window
R1, R2: foot of the robot in the left side image, and right side image respectively. Is there any variable to retrieve such frame from?
T1: actual position of the robot?
calculations for P17 and B17 led to:
P17 doesn't result to the position from the left side of the image
Hello MOM,
I’d like to calculate the left picture (actual position relative to BASE_DATA[17]) from the info given in the right picture.
BASE_DATA[17], TOOL[16] are both known.
Hello,
I recently got into a workshop in my city where they happen to have a KUKA w/ an external axis. Therefore, I'm use the occasion to explore and understand how things work.
I noticed that, when switching the active base, the TCP position is transformed to fit that new base as frame of reference. So, I tried to figure out the math behind it using the function INV_POS I recently stumbled upon, which, from my understanding after reading the manual, simply calculates the inverse of a FRAME.
Therefore, I noted down the TCP positions in two different bases:
To go from TCP position in NULLFRAME to TCP position in ExAx frame, I came up with the following calculation:
INV_POS(BASE_DATA(17):$BASE_C:$POS_ACT_MES
This didn't not return the TCP position calculated by the robot as shown on the left side of the screenshot.
Any help is very welcome 😁!
Sorry for not using KUKA/robotics specific terms, I'm just a hobbyist