Posts by robotecnik

    You know that you can right click on the Robotstudio icon and there will be a menu box appear. One item will say "run with graphics processor", allowing you to select the high performance graphics card rather than the built in graphics processor. Also, there is a setting in one of the config files that you can set to always use the higher power graphics card.

    Do you mean I should right click the robotstudio.exe file? I can't see the option you say if I do that...

    Sorry for asking something that obvious...

    Thanks for answering Lemster!

    Hello all,

    I have helped a customer to finish a robot cell program, but, now it's time to improve the cycle time it takes to finish a part, I am using RobotStudio to do that: I make modifications in the robot RAPID code and then launch the program, seeing the result in the 3D view.

    I open MainModule in the RAPID editor, set the PP in the testing function and press F8 (launch).

    It takes almost 3 minutes to finish all the process.

    I would like to compress this time to be able to make more tests in less time.

    I've tried to change the simulation speed relative to real time value in FILE >> Options >> Simulation >> Simulation clock >> Simulation speed setting it at maximum and checking the checkbox. None of them helped me, the computer is brand new and powerful so this is not the cause...

    Am I missing something?

    Thank you all!

    Hello all,

    I am trying to add World Zones in a virtual controller, but, when I click on the checkbox to add the "608-1 World Zones" option I get the message:

    An error occurred when selecting 608-1 World Zones. See Output for details.

    The output is:

    Exception: OptionManager.OptionManagerException: Option "608-1 World Zones" is not availa...

    If I open the output message:

    RobotStudio .NET exception:

    OptionManager.OptionManagerException: Option "608-1 World Zones" is not available in any of the license added

    at OptionManager.RoboticsOption.(Option )

    at OptionManager.RoboticsOption.SetOption(Option option)

    at ABB.Robotics.RIM.SettingsManager.SetOption(Option option)


    Base exception: ProductSettingsException

    OptionManager.OptionManagerException: Option "608-1 World Zones" is not available in any of the license added

    at OptionManager.RoboticsOption.(Option )

    at OptionManager.RoboticsOption.SetOption(Option option)

    at ABB.Robotics.RIM.SettingsManager.SetOption(Option option)

    at ABB.Robotics.RIM.SettingsManager.SetOption(Option option)

    at RobotStudio.Services.Systems.SystemBuilder.SystemBuilderRpkBase.AddOption(SettingsManager settingsManager, Option option, Func`2 userChoiceCallback, Action`2 optionSelected)

    at RobotStudio.UI.Controller.GandalfOptions.GandalfOptions.OptionCheckBox_OnChecked(CheckBox checkBox)

    This is a virtual robot... shouldn't I be able to add options?

    This robotstudio cell comes from a customer and maybe he created it from a backup, but as we will get the option in the next days, I wanted to advance work for them.

    Anything I can do to add that option?

    Thank you in advance! :thumbup:

    Hello all,

    I am trying to configure two users in the robot controller:

    1. Default user: Only can execute programs.

    2. Admin user: Full access.

    It's super easy, from RobotStudio I get write access, click on Authenticate, select Edit users and groups and check only the "Default group" for the default user. The default group has been updated checking only the "Execute program" item.

    For the Admin user I have checked Full Access.

    Pressed OK in the wizard and warm started the robot controller.

    To my surprise that Default User

    After all this the default user can still move the robot using the joystick.

    Am I doing something wrong?

    Thank you all!

    Hi all!

    Just to close this post:

    Got a "MOVITRAC B" VSD from "SEW Eurodrive", plugged it into the EtherCAT bus directly, added the ESI and it simply worked.

    Guys at KUKA Spain have done a great job assisting in the test.

    Notice: Some VSD don't work because of the special parameters in the ESI file, but, at least with SEW MOVITRAC B it works as easy as it could.

    So, point for KUKA and point for SEW.


    Hello all,


    I always have programmed robot cells with an external PLC that is used to start the robot...

    Now I have to program a couple of robots without PLC, consider the KSS version to be the newest one as the robots are still being manufactured.

    The customer will start the robot program pressing a button connected to a digital input of the robot.

    I don't think I will be able to write on $MOVE_ENABLE, $DRIVES_ON, $DRIVES_OFF, $EXT_START from submit as those are system inputs.

    In order to be able to do this, I guess I will need:

    CWRITE($CMD,STAT,MODE,"RUN /R1/A6()") ; << This code has been taken from the CREAD/CWRITE manual.



    Can I run the selected program in the KCP using CWRITE? I mean, is it possible to call:

    CWRITE($CMD,STAT,MODE,"RUN") ; << no path to the program to select and run written after RUN

    To run the program that is selected?

    In case it is not possible, is there any way to read the selected program name from Submit?

    Thank you very much in advance!


    Skooter I think years ago they had problems when batteries were almost worn out and they got used to shut the computer down following that method.

    In any case, I've got the logs today, and there is nothing there related to the issue.

    I asked also the customer to make a video of the computer leds when a normal start happens and also when a wrong start happens.

    As soon as I have both videos I will let you know.

    Thank you very much for your time and help.

    SomeTekk I have asked the customer to send me 2 event logs, the normal one without deleting anything and then another one after emptying the log and trying to restart the robot as usual.

    Skooter I am afraid they have only one ABB robot in their factory, so it is not possible to try another computer by now.

    Thank you both.

    Hello all,

    Yesterday one customer explained me he has a problem in an old 4400/45 robot from 2006 (+/-) with IRC5.

    Every time he has to shut the robot down, he shut down the robot computer first following sequence:

    ABB >> Restart >> Advanced >> Shut down >> OK >> Shut down *1.

    *1 Names translated from Spanish, but you get the idea of the procedure he follows to shut the robot down.

    Till now, after following the shutdown sequence the flex pendant was kept powered on while trying to reconnect to the robot PC (unsuccessfully of course as the PC was shut down).

    A couple of weeks ago, the flex pendant display gets black just after the last "Shut down" button press in the previous sequence.

    After that, the customer must wait some time to be able to start the robot again. If he tries to start it immediately it simply does not start. If he starts the robot the next day everything works as usual, until he shuts the robot down again.

    Have any of you faced this issue? and if you have, how have you solved this?

    Thank you all in advance.

    panic mode , SkyeFire

    I have never done this before, but:

    1. have opened work visual.

    2. File -> Import / Export -> Import Device Description File -> selected the VSD ESI / xml file and imported it.

    3. Opened an old project.

    4. Right click on EtherCAT, select Add.

    5. Search for Omron.

    6. Add it into the project.

    7. It appeared into the project.

    I understand I need to create the IO's related to what is published / subscribed into the $CONFIG.DAT (as usual) and then in the IO Mapping tab, link those variables with the Newly added device from the Fieldbusses tab.

    But I don't know how to assign the right addresses in the Modules tab...

    In 1.png you can see the PDO's I activated for that drive (the same I activated in previous projects with PLC).

    In 2.png you can see the TwinCAT configuration of the read current torque parameter (in the #x1A00 Index on 1.png).

    In 3.png you can see the Modules tab, here I see all the PDO's available, marked in green there is the 0x1A00, where I should set a value for the object to be mapped. That value should be the same one as in the TwinCAT capture.

    Any manual in which I could check about my doubts?

    Do you know how this works? a few pointers to put me on path would be more than welcome.

    Of course I will try to organize a MS Teams meeting with tech support in Spain, but given their previous answer saying this was completely impossible and that I should use external axes I am afraid this will be a dead end.

    And in case it is needed, As a reminder only:

    - Robots are brand new, still using KRC4, don't know the KSS version but I assume it will be the newest one.

    - WOV 6.0.

    And as always, A BIG THANKS for your time and help.


    Ideally the VSD would be an Omron MX2 with the EtherCAT card 3G3AX-MX2-ECT as it's the model they use normally.

    I have attached it's ESI file (xml).

    In any case, it can be any other available drive that works with EtherCAT, that could be plugged directly to the robot and that would allow to set the speed and to read the current torque.

    Thank you in advance.

    Hello all,

    One customer asked me to program a couple small robot cells. He asked me to remove the PLC of those cells as they need to perform very simple operations which submit should be able to handle without hassle.

    Just in case, those robots will be KR50-R2100 and KR20-R1810-2 both with KRC4.

    Those robot cells will have 2 Variable Speed Drives (VSD from now on) each.

    Robots are brand new, in fact are being manufactured now and will be at the customer place in 16 weeks or so, I have time to prepare it all, to read as many documentation as needed and to replace the connection for analog IOs in case it is impossible.

    The best idea would be to connect those VSDs to the robot via EtherCAT, to have maximum flexibility and to avoid electrical noises affecting analog signals.

    I contacted KUKA in Spain technical support and they told me it is not possible to connect VSDs directly to the robot, but... with the right ESI (EtherCAT Slave Information file (XML from the manufacturer)) shouldn't WorkVisual be able to accept any EtherCAT device?

    I am used to connect VSDs to the PLC and there, I can configure the PDO's the VSDs will use to get and send data from/to the PLC, but I have no idea if that can be done in WorkVisual.

    My questions:

    1. Is it possible to connect a VSD directly to the robot EtherCAT bus?
    2. In case it is possible:
      1. Is there any manual I could read about it?
        1. In case receiving that manual is not legal, could you point at the manual title? I could ask it to the KUKA tech support.
      2. If there is not any manual about it, could you give me a few pointers on how to proceed?
      3. Can I modify the PDOs the VSDs are using from WorkVisual?
        1. Robot must be able to write to the VSD the following data:
          • Command (word for stop, move right, move left).
          • Desired rotation speed (word for Hz.).
        2. Robot must be able to read from the VSD the following data:
          • Status (OK, not OK)
          • Current torque (motor effort to rotate).

    As always, thank you very much in advance.


    Fubini No, it's far from singularities, robots have no absolute accuracy.

    will ask my customer about that parameter $CP_VEL_TYPE, log book and values of those variables.

    But (and this is just a guess) PTP movements should not be affected by CP_VEL_TYPE, should they?

    Thank you very much for your post!

    Hi again,

    After speaking with my customer again, I can tell:

    1. there are 2 KRC4 robots that behave different.

    2. the oldest one (see first post please for KSS versions) does not suffer from this behavior.

    3. logics in the programs are almost the same (there are slight changes that has nothing to do with speeds).

    4. the robot is programmed using EXPERT TECH syntax :

    PTP {X 304.63, Y -14.55, Z 181.53, A 93.89, B -1.3, C -179.34, S 2., T 10.}

    and the speeds are programmed like:


    5. In automatic external mode the problem does not seem to appear.

    6. when my customer resets the program and starts it, robot goes XHOME and halts (halt instruction at line 48).

    6.1. then my customer press start again and the robot launches the main logics of the cell. At this point the robot call the function U_PieceInRobP13() to check if there is a part into the clamp. THE ONLY MOVEMENT IN THAT FUNCTION WHILE IN MANUAL MODE IS SUPER SLOW.

    7. If my customer restarts the program and allows the robot to reach HOME, but then, instead of pressing again START selects the line 51 with the U_PieceInRobP13() function call, then the movement in that function is fast.

    8. I've asked him to put the function call just after the HALT that's after the HOME movement and the behavior has been the same.

    9. To avoid BCO issues, after that HALT (line 50), I've also asked him to write PTP $POS_ACT, but the next movement has also been slow.

    The code at the beginning of the program looks like this:

    The contents of U_PieceInRobP13 are:

    I've asked him to check the values of $ACC and $ACC_AXIS[1..6] in both robots and both are the same.

    The advance pointer value is $ADVANCE = 3 in both robots too.

    I could understand the fact that the first movement would be slow while doing the BCO, but if the first movement is PTP $ACT_POS it should avoid the next movement to be slow at all...

    Notice the newest robot has SET_CD_PARAMS (0) inside the HOME fold. I guess this has relationship with Collision Detection as I have been able to see this appeared in the configuration files of the newest robot.

    Am I missing something stupid?

    As always, thank you very much for your time and help.