Posts by Plc_User

    In the application, in the sps the software limits of axis E1 are now written in the submit program :
    f.i. $SOFTP_END[7]=180.0, $SOFTN_END[7]=180.0.
    The writing is always done (no if statement).
    We got reply of custommer that sps is sometimes stopped since we did last changes to the robot.
    The changes were not just the software limits but also other code.
    We did not get the ability yet to inspect the logs of the robot for diagnosis.
    Does anyone know if writing the software limits of an axis constantly in the sps is no problem for the controller, or if it could be the cause for the sps stopping?
    Until we get access to the controller it would be good to know if this is allowed.

    We have Kuka robot KR90 R3100 extra HA V8.5.9 KRC4 that controls two KP1 manipulators KP1-H5000. The two manipulators are configured in master slave position control,
    because they are placed opposed and are used clamp in between tubes to weld on. Now we want to teach in the geometric transformation between the manipulators and the robot. That for the purpose of the tcp of the robot following the motion of the KP1 when both are synchronous coupled.
    Questions :
    - the procedure of teaching in 4 points where the tcp of the robot touches the probe of the KP1 in different positions,does it has to be done on the master, or may it also be the slave?
    - As someone else has done the basic configuration of the system, what is the easiest way to detect which manipulator is the master and which one is the slave?


    We have KRC4 robot KSS 8.5.6.
    I was wondering if the calls of the submit interpreter are somehow related to the robot program.
    I know SPS is cyclically called, but can the robot program at any line of its code be interrupted, or are there restrictions where a call of the sps is not possible. I should like to know that for the synchronisation between robot program and sps program.

    Our system is KRC4 robot KSS 8.5.6.
    We have triggers that will set output signals at certain distance from target position.
    An example is this :

    TRIGGER WHEN PATH = 120 DELAY = 0 DO QSeparatorOut = TRUE

    This trigger will set the output 120 mm after the target position.
    However in certain condtions we will stop at the target position and do an additional motion.
    We do not want however when we do the additional motion that the output is set during that motion.
    So at start of the additional motion (if it is executed) we need something to disable the already configured trigger.
    How can we accomplish this?
    If the trigger would be on 'PATH = -120' it would be no problem because then the output is set before the target position.
    In our case it is after the target position.

    EthernetIP will be no option, the Siemens controllers to communicate with are all on Profinet.
    On the first plc (that is doing now the standard communication : ext start, etc) we cannot change anything because we have no acces to it (source code, passwords, etc).
    Remaining solution is making the second plc profinet device of the Kuka.
    In that case, if f.i. that second plc is powered down, will the Kuka controller be able to run its programs as if the plc node was powered and ok? Of course we will not receive any data from the second plc, but I mean does a failed profinet device node of the Kuka prevent the Kuka let the robot run its normal motions or will the robot interpreter be haldted?

    Our robot is KRC4 KSS 8.5.6.
    It is a Profinet device of a Siemens plc that is Profinet controller.
    So the Siemens Plc handles the 'auto external' signals of the robot and also the safety over Profisafe.
    Now the robot should communicate with another Siemens plc over Profinet.
    I don't know if the robot can also be a Profinet device of another plc?
    Or does the robot then have to be controller of that second plc (that then will be Profinet device)?
    For both cases I don't have seen examples before :
    - KRC4 as Profinet device to a second Profinet controller

    - KRC4 as Profinet device of one plc, and as controller of a second plc.

    What is possible or advisable here.
    The communication to the second plc is off course non failsafe.
    Are there examples, manuals, posts available about these two options?


    Our customer has a KRC4 robot KSS 8.5.6 with the option Safe Operation3.4.5.
    The machine builder that commissioned the robot does not exist anymore. The customer has no passwords, no received source code of the robot and of the plc that is Profinet controller of the Kuka.
    We now should want to change some settings in the safety zones. We don't know the 'safety maintenance' password, it is not the default.
    The administrator password is the default.

    We succeeded in uploading the project from the controller, so we have now the Workvisual project of the controller.
    After implementing the changing we will do a complete safety acceptance as necessary, and take full responsibility of the installation.
    Is it possible to make changes in safety in Workvisual and then deploy to controller, although we don't know the actual 'safety maintenance' passwoord? Or should more things be done on the controller to overcome the fact that the 'safety maintenance' password is not known?

    Our customer has a KRC4 robot KSS 8.5.6 with the option Safe Operation3.4.5.
    The robot was not commisionend by us, but now the customer asks us to change some settings that are in Safe Operation.
    I know the pasword for Admin is the standard 'kuka', but we don't know the password for the user 'Safety maintenance'.
    Can we change all settings from Safe Operation with the login of Admin, or do we need to login as 'Safety Maintenance'?
    The manual was not completely clear to me on this point.
    We have at this moment no acces to the robot.


    Our system is KRC4 KSS 8.3.34 and kr470-2PA robot.

    In a certain part of our program the robot moves its gripper horizontally, from point A to point B with a PTP motion.
    Then the gripper is moved from position B to C, what is a strictly vertical movement downwards.
    Point B is approximated, point c not (robot stops at point c for some actions).
    For reduction of cycle times we tried to speed up the motions.
    Off course for the PTP motion this is no problem. For the LIN motion however we can only bring the speed to about 60% of maximum (2 m/sec), otherwise we get error of axis 5 (palletizing robot), sometimes also from axis 2.
    If I change to motion to point C to SLIN in spite of LIN, will larger movement speed of that section then be possible?
    For now I can in stop the LIN motion to C if a condition is not ok, this is done with the brake-resume function, and works well.
    Will that brake function continue to work is LIN is changed to SLIN,
    The tool data is setup correctly.

    Our system is KRC4 KSS 8.3.34 and kr470-2PA robot.
    If I use the 'Brake' function in an interrupt routine when a LIN motion was active, what decceleration value will be used then? If I have set $ACC.CP to a certain value before the LIN motion was started, will this value then also be used for the decceleration when brake function (not a brake f or brake ff) is executed in an interrupt routine?
    Or is a fixed decceleration value always used?

    Can I conclude that in my example as posted before :


    LIN P1 C_DIS

    LIN P2 C_DIS

    LIN P3 C_CIS


    P1,P2,P3 are E6POS variables, that have all identical values, except that

    P1.E2 = 0.0, P2.E2 = 120.0 and P3.E2 = 240.0, where E2 is the external axis of the manipulator that must rotate.

    $ADVANCE is set to 3 and load data is not changed.

    That the motion of the external axis will stop shortly every time P1,P2 or P3 is reached?

    The value of $ADVANCE IS 3.
    It is set explicitly before the subroutine RotateCil() is called : $ADVANCE=3.

    After that instruction there are no other assignments to $advance before entering 'RotateCil()'.
    On the KCP I also see its value at 3 when executing RotateCil().

    PowerOnPreheat , CycleStep_PreheatKP1 and NegDirectionPreheatP1 are defined as global variables in a Dat-file.
    DECL GLOBAL INT CycleStep_PreheatKP1=12
    DECL GLOBAL BOOL NegDirectionPreheatKP1=FALSE

    If BASE_DATA[4] is not changing during execution of the loop in RotateCil, the motion stops shortly every 120° of E2-rotation. If f.i. the X-value changes slightly (even if its only 0.001 mm every new LIN execution) the rotation is not stopped.
    BASE_DATA[4] is the base used in the LIN-motions


    The approximation distance should be 20 mm.

    Underneath is the subroutine that is active when the manipulator is rotating.
    I tested in T2-mode and already set $STOPNOAPROX to true,
    but I get no message that approximation is not possible.
    So it does not seem that the advance run pointer is stopped.


    The system is KRC4 8.5.7 HF1.
    The external axis for the manipulator is synchronous when the application is run.
    I don't have the exact program at the moment, but basically I loop through three LIN motions, continuous (C_DIS suffix).
    e.g. LOOP

    LIN P1 C_DIS
    LIN P2 C_DIS
    LIN P3 C_CIS

    P1,P2,P3 are E6POS variables, that have all identical values, except that
    P1.E2 = 0.0, P2.E2 = 120.0 and P3.E2 = 240.0, where E2 is the external axis of the manipulator that must rotate.
    $ADVANCE is set to 3.
    The motion (only rotation of E2) behaves just like the C_DIS was ommited (rotation comes to a stop after reaching P1,P2,P3 and then starts again towards next point..

    We have now already programmed this. It is a spiral that contains multiple rotations of the external axis.
    I repeat lin motions where I rotate the external axis each time 120° further while moving the robot along its track.
    This works fine.
    But now we also need an application where the robotaxes and its track will stay stationary during multiple complete rotations of the external axis. The problem I observe is that now the motion of the external axis is not continues anymore : it stops shortly every 120° of rotation. I don't have that stopping if there is also some motion of the robotaxes (even if f.i. the x-axis moves only 0.001 mm / rotation). I understand that there is no approximation possible if you go from one point to another point if X,Y, Z of that point are the same. What is the proposed solution for my case : robotaxes and its track stationarry, but external axis rotating multiple turns without any intermediarry stoppings.