Posts by Agustin Costa


    I imagine you have solved this issue since the post was in 2015 but I recently found myself with the same issue and I ended up using the help files loaded in the controller: C:\KRC\Help

    You can copy the folder to your PC and browse the HTML files in en/index_SystemSoftware_VX.X.htm containing all messages and the related help just as it is shown in the controller with possible causes and solutions.

    Just leaving this response in case it helps anyone, as I also couldn't find a pdf with this same information.

    panic mode,

    I want to prevent someone else working in other projects in the plant to be able to access my robot project as a form of know-how protection mainly. I know that without the password for the HMI they won't be able to change the program and normally there is no physical access to the machine except by trusted personnel. I undestand that this isn't entirely safe but I'm just trying to make it harder for this information to be taken.

    I am not familiar with that option of putting functionality in binary form or another product, so if that is the best way to achieve what I want could you please provide any sources to read about it?



    I am have been reading the manuals for workvisual (I am using version 6.0) and haven't been able to find if there is a way to lock with a password online access to a controller.

    The specific situation is that I have a robot installed in a plant and connected to the plant's industrial network and I don't want unauthorized users connected to the network to be able to access and download the project.

    Is there a way to do this?

    Thank you

    Hello Skyefire,

    According to the signal diagrams $DRIVES_ON precedes $CONF_MESS. The dependence between $PERI_READY and $CONF_MESS is simply to have the sequence run without any timers.

    Would you say it's safer to just make it based on timers and make sure enough time passes between signals?


    In the following image is the ladder block I'm using to start a robot in EXT mode from a siemens PLC. This block was made based on the signal diagrams on the KSS manuals but it seems to not work sometimes. 95% of the time when this block is run the robot starts correctly but sometimes it doesn't respond, as if the start sequence wasn't received.

    Just to clarify, "RobotControl" in this example is a structure to write commands and the status of the robot.

    I was wondering if any of you could share how you do it or at least any comments or opinions.

    Thank you.

    Hello Fubini,

    Sorry I wasn't very clear on many aspects.

    No messages are shown on the controller. I currently have some lines of code on the sps.sub that when the PLC requests it (in case of an error for example) cancels CELL.SRC and runs it again by means of CWRITE (only on EXT mode). This works just fine and doesn't seem to be the issue because my problem persists even after commenting this code out. Even when changing from EXT to T1 mode, the issue still persists. I don't have any other programs that use similar commands, only regular robot programs with motions and IO operations.

    I don't exactly know what is happening but whenever I try to run a selected program in any mode, as soon as I press the run button, or the controller issues the run command, the robot doesn't move and the robot interpreter symbol on the Smartpad turns red. What I've seen looking at the EXT mode signals when doing this is that $PRO_ACT turns on when the run command is given, but it immediately is turned off with no clear reason (all other signals remain unchanged and no buttons are pressed).

    This problem seemingly goes away when the controller is rebooted but that isn't a really good solution.

    I know it isn't much to go on but I was hoping someone had any thoughts or experience with similar issues.


    I'm working on a KRC4 KSS 8.6.6 that normally operates in EXT mode controlled by a PLC.

    I am still making adjustments to the robot program so I am switching back and forth between T1 to transfer changes and EXT to test them. At some point the robot controller does something weird and the robot program cancels itself automatically.

    When this happens I can't even move the robot in T1 mode while doing a BCO run because aprox 1s after I press the enabling switch and the run button the $PRO_ACT signal is set to false and the robot doesn't move. This same behavior happens in all modes. I even tried with the submit interpreter deselected and it still stays stuck, the only way to resolve it is to reboot the KRC4.

    I have no idea what could be the cause of this, but I am pretty sure I haven't programmed anything that would do it.

    Can anyone help me?

    Thank you

    Ok, that was very clear. My question was more general, not specifically about palletizers. I've done other projects where smaller robots are guided by cameras and in those cases the trajectories were much more uncertain, and my question applies much more to that rather than to the palletizing application.

    In any case, I'll just make sure all workspaces have sufficient margin to stop at high speed.

    Thank you panic mode

    Hi panic mode,

    Are you referring to the STOP WHEN PATH instruction? But how would I program this stop condition? The robot controller raises a flag when the workspace is already violated, unless there is another way to know before the spline motion begins that I'm not familiar with


    I am working with a KR120R3200PA and a KRC4 KSS 8.6.6.

    I hace defined several workspaces to avoid existing obstacles while palletizing but the robot only stops once it enters them, while when the destination point of a motion is outside the range it stops before starting said motion.

    I would like the robot to stop before executing the motion that goes through the workspace as it does when it tries to go outside it's reach. Is this possible?

    The problem I have with the workspaces is that it takes a moment to react and stop when it violates one so they have to be very big to not hit anything when moving at speed.

    Thank you


    I have a KR3 R540 robot with KRC4 compact KSS 8.6 that is doing pick and place. I have recently configured collision detection on the robot because it is meant to pick small boxes that are fed to it laying flat on a conveyor, but eventually some boxes end up standing up. When the robot goes to pick one of the boxes at the expected height it may collide with a box that is standing up.

    What I intended was for the robot to safely retreat (I've already programmed that and it works as expected) and wait for acknowledgement to restart, before which an operator should enter the cell and remove the crushed box. The problem is that while the robot detects the collision, the CollDetect_UserAction program isn't called and the robot remains stuck waiting for the error message to be acknowledged in T1 mode. Is this how it is supposed to work? Maybe there is something that I've configured wrong but I've checked and $IMPROVED_COLLMON==TRUE and #ADAP_ACC <> #NONE, which are the conditions listed in the manual.

    Any help is appreciated.

    I seem to have solved it altering the code in tm_bib.src

    First, the TM values correspond to the following according to the code in tm_bib.src:

    $TORQ_DIFF being force-induced torque and $TORQ_DIFF2 impact torque

    What I did to stop the values from updating was to comment out the function calls to


    The function UPDATE_DATAS is called in TQM_SWAP_VALUES and UPDATE_TMVALUE is called in TQM_SWAP_VALUES_S.

    For reference, my code with fixed torque monitoring now is something like this:

    If anyone that knows more about the subject reads this please let me know if there is something wrong with the way I did it.



    I am working in a project with a KR6 R700-2 robot with KRC4 compact controller running KSS 8.3.

    I have configured torque monitoring in most of the motions in the different routines that the robot runs but first of all I dont know how to interpret the TM parameters with the torque and impact limits for each motion. This shouldn't be a problem because the controller calculates and updates them automatically but that specifically is causing problems for me.

    I am using the robot as a cardboard box erector, so the robot picks the box folded flat and using other static surfaces it opens it and folds the flaps. The issue is that some boxes present more resistance than others since the cardboard may be more rigid or not pre-folded correctly. In essence the issue is that the controller updates the torque for some boxes where it works well but when it encounters more resistance it cuts the routine as the torque limit is exceeded. This creates a real problem since no other boxes can be made now that the limit is so low.

    I've tried increasing the offset value in the "Torque monitoring" menu on the SmartPad but as I said previously I don't know how to interpret this value so I don't want to increase it so far that a real collision may not be detected and handled. Running without TM isn't an option since there has already been a collision that partly damaged the gripper.

    What I want is to understand the values:

    DECL TQM_TQDAT_T TM1={T11 11,T12 11,T13 11,T14 15,T15 22,T16 16,T21 17639,T22 19491,T23 11200,T24 5697,T25 6935,T26 3424,K1 304,K2 305,K3 302,K4 306,K5 309,K6 306,O1 45,O2 31,ID 1,OVM 70,TMF 1.00000}

    So that I can set them manually based on a few runs that the controller updates automatically and then disable the auto update of the torque limits so it isn't then lowered by a short batch of less resistant boxes.

    Sorry for the long explanation

    Yes, it is a KR120 R3200 PA with the KRC4 controller KSS 8.6.7.

    The user would always be blocking the light barrier when entering because there isn't any space for them to enter. But anyways, I don't have SafeOperation so I'll have to do the normal process of acknowledging and resetting then.

    Thank you


    I am working on a project with a palletizing robot and I want to have the users enter the robotic cell through a safety light curtain to remove the used interlayer cardboards.

    How can I have the robot not go into an error state when the safety gate signal is interrupted? I still want the robot to be stopped by the controller to ensure the safety but I'm looking for a way to not have to reset the whole system in each entry. Is there any other alterative for this kind of situation?

    Thank you


    I have a pick and place system with a KR3 R540 robot with a KRC4 compact controller with KSS 8.6.6. It is commanded by a PLC so the robot is always in EXT mode.

    The issue I have is that I don't know how to acknowledge certain errors that happen sporadically like "Workspace error" for example without switching to T1 mode and acknowledging it manually. What I'd like is to handle this error by letting the PLC know what's happened and have the CELL.SRC be restarted so the robot does its return home motion and it can start again.

    This error doesn't seem to be acknowledged by using the CONF_MESS input so I don't know how to make so that it disappears and STOPMESS goes low.

    Can anyone help me with this?



    What does this mean, exactly? Do you mean that the robot stays physically in the last S&T combination?

    Yes, the KSS manual says for SPTP motion instructions:


    If not all components of the end point are specified, the controller takes the values of the previous position for the missing components.

    The start point for the motion I want to perform is completely defined with S&T, but the end point isn't because I didn't know how the robot axis would end up when picking up the object with the coordinates from the camera.

    And sticking to LIN motions after this "unwind" motion, so that the S&Ts that result from the camera data don't have any effect.

    I didn't want to use LIN motions because they can be much slower than PTP and speed is critical in my application as one whole pick & place cycle should take just 1s.

    This way the axis always "unwinds" but my problem was how to determine the optimal path for the A6 axis to take. For some end points A6 would turn 270° in one direction for example instead of 90° in the opposite direction, just to maintain the start point's Turn.

    As my problem can be reduced to a 2D situation, I calculated an equation which, from the relative position of the pick location to the robot, calculates A6 (assuming A4 stays in or near 0° and knowing A1 is always positive), and I set the bit 5 of Turn accordingly. This works fine but I wanted to know if there was a more general way to solve this issue. I still have to try to implement the solution panic mode suggested but it seems that is what I was looking for.

    Thanks to the both of you!

Advertising from our partners