Posts by diglo
-
-
Hey people,
I know this is an old discussion, but I'm looking for some documentation on how to interface directly to CrossComm, on KRC4... (currently i'm using KUKAVARPROXY)Can you help me, Vyastrebov?
diglo
-
you could declare a GLOBAL INT variable and initilize it in the DAT file, like
DEFDAT MY_RUNTIMEVAR PUBLIC
GLOBAL INT RUNTIME=0
ENDDATand then each time you will do RUNTIME=RUMTIME+1, the value will be written in the DAT file and is non-volatile
At the end of the day your dat file will look like:
DEFDAT MY_RUNTIMEVAR PUBLIC
GLOBAL INT RUNTIME=2557
ENDDATciao ciao!
diglo -
Hello people!
Has anyone ever worked with "extended" or "midsize" KRC4 cabinets?
I was wondering if the extra space, when not used by KPP's or KSP's may be used to install DIN rails and mount some additiona stuff such as relays, contact blocks, 24V power supply, profibus I/O, etc...We usually adopt normal KRC4's and use an additional cabinet to install all our application-specific electronics.
The option to have only one "big" cabinet wich cointains everything is interesting!
(attached you will see KRC4 rack, normal, midsize and extended)
Let me know!
diglo -
OPC package is not free...
I have self-answered my question with this, using KUKAVARPROXY:http://www.robot-forum.com/rob…xy-native-vb-net-library/
With KUKAVARPROXY you have ALL the system variables, $IN, $OUT and all your own GLOBAL variables to read/write.
KUKAVARPROXY exposes the variables through a TCP socket but you cannot direcly move the robot, you should make a robot program which is always reading a POS variable, and you change the variable using kukavarproxy, but the connection latency won't make this realtime...
-
I don't know. But it's not a good idea to override the maximum speed/accel, you may damage drives, motors and gears!
-
Of course you can set velocity and acceleration in PTP movements, the only thing is you can't set a metric speed like m/s od gedg/s, only the percentage of maximum.
PTP is a best-effort motion strategy which will move the TCP between points as fast as possible given the payload (mass and inertia)All values are in percentage of max.
EDIT: BAS() instruction is available in KRC4, i don't know if it's present in KRC2 also. Using BAS() is easier than setting each sys variable...
diglo
-
As far as i know, PTP movements do not allow to set exact speeds/accelerations.
You are only able to exactly control the linear and rotational accelerations of the robot's TCP through the motion interpolation so you must use LIN, CIRC or SPLINE movements in conjuction with motion dynamics modifiers.
You can't set the acceleratons in m/s^2 or deg/s^2 because the maximum value is dependent on the payload.Example, move 1000mm at 200mm/s with maximum acceleration possible.
Code;init movement and BCO run BAS(#INITMOV,0) PTP $POS_ACT ;test movement LIN {x 0, y 0, z 0, a 0, b 0, c 0} c_dis BAS(#VEL_CP, 0.2) BAS(#ACC_cp, 100) LIN {x 0, y 1000, z 0, a 0, b 0, c 0} c_dis
Motion dynamic modifiers:
Set TCP linear velocity to 0.5 m/s
BAS(#VEL_CP, 0.5)Set angular velocities for TCP rotation in degrees/s
(I don't know exactly what 1 and 2 refer to, you have to experiment a little as i did)
$VEL.ORI1= 90
$VEL.ORI2= 70Set TCP linear acceleration in percentage of the maximum reachable in relation to the payload.
You can't set the value in m/s^2
BAS(#ACC_CP, 20)Set angular acceleration of TCP in percentage of maximum rechable.
$ACC.ORI1=100
$ACC.ORI2=100diglo
-
Ok so i must copy KUKAVARPROXY.exe on krc4 and start, correct?
but KUKAVARPROXY.exe not create problem when robot running?Yes, KUKAVARPROXY has been long time tested by the robot community and seems not to have problems but it's supplied without any warranties.
Don't forget to open port 7000 TCP on robot's firewal.diglo
-
KUKAVARPROXY.exe is included in my archive
-
irobot, I used the reference from your blog! (thanks google translate)
-
Hello everyone!
I've built a simple VB.NET native library to communicate with KUKAVARPROXY.
It builds the TCP packet to make the read/write requests to KUKAVARPROXY.exe without using JOpenShowVar.
Read/write time is around 7-8ms.KUKAVARPROXY.exe is included in the archive you are downloading, just unzip it and run it on the robot controller, you may also put it into the windows startup folder, to ,make it start when robot is tuned on.
Also, modify KUKA firewall to allow port 7000 TCP.Attached you will find the visual studio 2012 project with a demo application
UPDATE March 2020:
- some bugs in the TCP communication corrected
- have a look at https://github.com/ImtsSrl/KUKAVARPROXY for the KUKAVARPROXY program.
diglo
-
-
K350 strenght, have a look at this video:
External Content www.youtube.comContent embedded from external sources will not be displayed without your consent.Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy. -
$ACCU_STATE to monitor backup batteries
$POS_ACT, $AXIS_ACT to get the current commandend cartesian/axes position
$POS_ACT_MES to get the current measured cartesian position
$POS_INT, $AXIS_INT to get the position at the last interrupt event
$TORQUE_AXIS[1-6] to get the current motor torqueinside custom.dat
$CP_VEL_TYPE if set to #VAR_ALL will not trigger the over speed error near singularitiesthen, i use this function to limit the torque of the axes
Code
Display MoreDEF limit_torque(ax:IN,percent:IN) INT ax REAL percent DECL TorqLimitParam limits IF percent>0 THEN limits.monitor = #off limits.max_lag= 30 limits.max_vel= 250 limits.lower = -$TORQUE_AXIS_MAX[ax]*(percent/100) limits.upper = $TORQUE_AXIS_MAX[ax]*(percent/100) SET_TORQUE_LIMITS(ax, limits) ENDIF END
and
to reset torque to default -
Hello everyone!
I developed a vision application which is light enough to run directly onto the KRC4 to which an ethernet 3D camera is attached. (screenshot FIY)
Currently, the output of the processing (a set of points) is written onto a text file in the /UserFiles directory, the file is then parsed by a robot program.What do you suggest to implement a robot <-> application communication?
I'm currently working on an OPC class to add native OPC capability to my apps, but which are the other options? KUKAVARPROXY+JOpenShowVar?
I don't really need realtime communcation...cheers,
diglo -
Hello people!
Do you know which robot variable allows to change the jog mode?
I would like to program some instruction in the SPS to force the jog mode to AXIS when the operator switches to T1.I tried with $COSYS=#AX but it does not work, my system variable reference manual is old...
I'm using 8.3.15
cheers,
diglo -
Hi all,
I've been progamming Kuka robots for 3 years but I've always wondered what's the purpose of the "Reload Files" option when rebooting the controller.
Kuka service never gave me an explanation...
diglo
-
You may also start and reset a timer at each SPS cycle and check if the value of the timer exceeds a fixed value, for example 500ms.
This will detect if the SPS has been stopped for more than 500ms.diglo
-
uhm, the manual brake release is just a socketed wrench... you just overcome the braking force by turning the motor axis directly....
Am I wrong?