Hi, I'll jump into this thread with my question as well. I've been working on one project with euromap 67 and I came across that "mold area free" signal and from my understanding it is kind of safety signal?? But why it is wired through standard signals? In manual for euromap 67 it is described as two separate signals mold area free channel 1 and channel 2. Do ye know the purpose of that and how it should be implemented (I mean proper way)?
Posts by radcho
-
-
I use variable CURR_PROG_NR which is unique for each sequance and is mapped to plc as 8 bits. Whenever plc sends pgno to robot, cell will execute routine assigned to that program nr. When robot interpreter gets inside the routine im assigning same value to that variable and when routine is at the end im resetting that value to 0. That's how i transfer information to plc not only about the sequance was executed but which one was just done as well.
But just for monitoring purposes whether the routine is executed you can monitor existing signal: APPL_RUN, so I don't think there is a need of creating another signal as massula suggests. No harm but why not using something already existing.
I think the easier way would be create some kind of "job done" signals, and set them at the end of each program.
This way PLC would know what program was done inside the sequence, and what isn't.
-
Mentant, yes i used trigger to switch the bit INTERRUPT_SWITCH_OFF to true.
And then in my submit created if condition to turn off interrupt.
-
I was trying to use bit INTERRUPT_SWITCH_OFF to trigger that during the motion and switching that through:
1. if statement in sps
IF INTERRUPT_SWITCH_OFF THEN
INTERRUPT 10 OFF
ENDIF
didn't work because interrupt local declaration in cell (That's the explanation from Kuka support I got)
2. same if statement in my own submit (called camera_handshake) started in cell by cwrite command (not sure if it is the right way to use it - never tried that before):
CWRITE ($CMD, STAT, MODE, "RUN/R1/CAMERA_HANDSHAKE()")
It seemed to be not working. Maybe I need to test more carefully.
But wouldn't it be similar idea as using cyclical flag?
-
Hi Lads,
I'll jump here with similar problem, different though.
Kr3 R 540, Krc 4 compact, KSS 8.5
I am using interrupt program as a monitoring function to stop robot in case part on the vacuum gripper is lost. The interrupt is declared in Cell as local interrupt because Im using brake and resume.
I would like to switch of that monitoring function on the fly when robot is inserting the part into pocket and can possibly loose the vacuum signal.
I'tried sps to do that but as it is local interrupt it doesn't bring needed effect.
Next I tried my own submit that is started when cell is started - still no good.
Any suggestions, ideas on that?
Thanks,
Radek.
-
The robot we got is second hand robot and initially it was configured to Profinet but for the purpose of our application I needed to reconfigure that for EthernetIP so got rid of Profinet in the bus and replaced it with EthernetIP - would that create the issue?
Sorry, got mixed up with projects
The robot I have that issue was brand new out of the box - so I didn't modify bus configuration.
-
Hi all,
I have very similar issue. I want to test my main loop in automatic mode but getting that message. Aut mode is ticked for all users in rights management.
-
Hi All,
Kr3 R540 KRC4 compact
KSS 8.3.38
I would like to have a possibility to change speed of the robot from machine HMI. I know how to do that in sps using $ov_pro, but the problem is that if I code it in sps I cannot adjust speed from smartpad then. Is there any way to have those two options working?
My idea is that I will limit general speed of the robot to max 80% but the operator will be able to input the values from 0 to 100 %. I'd like to have option to adjust that from smartpad as well so I don't think $ov_pro is the proper variable for that (because sps will lock it at coded level)
which parameter/variable is $ov_pro referring to?
I think the only way is to limit that referring value.
Is that DEF_OV_PRO in config.dat?
Is it possible to modify that on the fly somehow? As far as i know config file is read only on start up of the controller, right? so modifying that parameter during robot operation will not have immediate effect.
Thanks for any help.
-
Hi All,
I know that not everything is reasonable to automate and program but try to convince my boss
Anyway I've used while loop:WHILE REV<4.5
SLIN_REL {Z 0.1875, A 179.99} C_DIS
REV=REV+0.5
ENDWHILEAnd it is working ok.
-
Thanks All for your replies,
Will you help me with one more thing here. I cannot work out the motion to move up the robot to follow the screw and keep it rotating axis 6 in the same time. I need 5 revolutions on the distance of 2mm.
-
panic mode where to find this manual?
-
$VEL_AXIS[6] - isn't it set to 100% as default? I think it is.
Anyway I've found another variable in config.dat, is it related to rotational velocity of each axis?
REAL DEF_VEL_ORI2=200.000 ; rotation velocity [GRAD/Sec]I've changed that to 400 and to 10, each time rebooting controller with reloading files - but no difference - what is it for so?
-
Hi All,
Is there anybody here who came across this process using 6th axis of the robot to unscrew small screws?
I've changed the 6th axis to endless and can rotate 5 revolutions (revs to unscrew fully). My question would be how to control the speed of revolutions? I've used sptp_rel {a6 1800} and another issue is how to follow the screw moving up together with revolutions?
KSS 8.3
Kr3 R540 Krc4 compact -
Thanks for your reply.
I don't think I need synchronous movement. Let me explain in more detail: the robot is going to be mounted on linear track controlled by beckhoff motor. There would be 3 or 4 positions that this track has to get to. We are trying to work on the configuration for that and I am wondering whether it would be possible to have that motor to be controlled directly by robot controller or it has to be done through plc. The machine in general will be drived by Beckhoff plc so there will be additional communication between KRC and PLC through Ethercat bridge(safety and standard I/O).
-
Hi All,
We are going to build machine equipped with Kuka Kr3 robot and KRC4 compact controller with additional 7th axis. The 7th axis would be executed by Beckhoff servo motor. Any help how to connect all this stuff and configure it?
The machine is Beckhoff plc, comunication KRC4<->PLC through EtherCAT. -
Hi Lads,
Gripper sorted - you were right - signal coming from plc to soon (It was pulsing just after 12ms).
They modified function block for the gripper. Now it is fine!!Thanks for your suggestions and finding root cause.
-
I thought same about HMI. Oscilloscope - you mean feature in WoV, right?
Regarding timer - I have to measure the time and put same delay - that's what you mean?
The sequence for gripper is as fallows:
Robot is getting to the position=>sending out (request to close the gripper)=>PLC send input signal confirming it is closed(robot waiting for this signal)=>robot switch off request to close and fly away with motions after gripping - standard handshake (I think so, at least).PLC is communicating with gripper controller and whenever it is getting signal from there passes it to robot controller.
-
From my point of view(more likely from smartpad view) I can say that the input was not on. PLC programmer told me same from his point of view.
GRIP_CLOSE_REQ is an output declared in config as Signal GRIP_CLOSE_REQ $OUT[22]
I put WAIT SEC 0 just because I run out of ideas why it is not stopping. I thought it might be because of advanced run (because I put this command in KRL in first instance).
I was advised by KUKA support to change $advance from 3 to 1 - but I'm not sure if it will make any difference. I'll test that today.
-
Hi Lads,
I need some help. I am facing an issue mentioned above. KR10 R1100 sixx with KRC4 compact is equipped with Schunk servogripper. Gripper is controlled by PLC not by robot controller.
So when robot is in pick or place position I am sending relevant signal to plc with request to grip or ungrip, then I'm waiting for signal from plc that part is gripped/ungripped, then I proceed with motion. But somehow robot is executing motion without waiting for this signals.
Please have a look on the code (just a part):;FOLD SLIN PICKPOS Vel=2 m/s CPDAT1 ADAT0 Tool[1]:GRIPPER Base[0];%{PE}%R 8.3.43,%MKUKATPBASIS,%CSPLINE,%VSLIN_SB,%P 1:SLIN_SB, 2:PICKPOS, 3:, 5:2, 7:CPDAT1, 8:ADAT0
SLIN XPICKPOS WITH $VEL=SVEL_CP( 2, , LCPDAT1), $TOOL=STOOL2( FPICKPOS), $BASE= SBASE( FPICKPOS.BASE_NO),$IPO_MODE=SIPO_MODE( FPICKPOS.IPO_FRAME), $LOAD=SLOAD( FPICKPOS.TOOL_NO), $ACC=SACC_CP( LCPDAT1), $ORI_TYPE=SORI_TYP( LCPDAT1), $JERK=SJERK( LCPDAT1)
;ENDFOLD
GRIP_CLOSE_REQ=TRUE
WAIT SEC 0
;FOLD WAIT FOR ( IN 22 'GRIP_CLSD' );%{PE}%R 8.3.43,%MKUKATPBASIS,%CEXT_WAIT_FOR,%VEXT_WAIT_FOR,%P 2:, 4:, 5:$IN, 6:22, 7:GRIP_CLSD, 9:
WAIT FOR ( $IN[22] )
;ENDFOLD
GRIP_CLOSE_REQ=FALSE
;FOLD SLIN POSTPICK Vel=2 m/s CPDAT2 ADAT0 Tool[2]:GRIPPER LIGHT Base[0];%{PE}%R 8.3.43,%MKUKATPBASIS,%CSPLINE,%VSLIN_SB,%P 1:SLIN_SB, 2:POSTPICK, 3:, 5:2, 7:CPDAT2, 8:ADAT0
SLIN XPOSTPICK WITH $VEL=SVEL_CP( 2, , LCPDAT2), $TOOL=STOOL2( FPOSTPICK), $BASE= SBASE( FPOSTPICK.BASE_NO),$IPO_MODE=SIPO_MODE( FPOSTPICK.IPO_FRAME), $LOAD=SLOAD( FPOSTPICK.TOOL_NO), $ACC=SACC_CP( LCPDAT2), $ORI_TYPE=SORI_TYP( LCPDAT2), $JERK=SJERK( LCPDAT2)
;ENDFOLDWhat am I missing? Any suggestions, tips appreciated
-
So my screen is looking like below.
Now, we use Beckhoff CX2020 so how to reset all safety in Kuka using this plc.
At the moment I'm able to move the robot just in start-up mode. How make it happen to move at least in T1?