Posts by animisiewaz

    maybe better is to go to MENU->7 FILE->1 FILE menu and make BACKUP->ASCII backup? You will have listings of all programs with position registers etc. in *.LS files and you can open it with whatever you want, even Notepad.

    So, my BASIS Technology section looks like this:

    Could you show me example line of code, how to change permissions for users?

    Hello All,
    I have a couple of robots (KR6 Arc Ceilling) with KRC2 Controller, KSS versions between V5.2.12 HF and V5.4.14.
    I would like to disable a possibility to create/delete/modify all programs and disable TouchUp operation on User account, it should be possible only with Expert rights and upper. Is there any way to do it with all the programs?

    everything is well described in KSS Operating and Programming Instruction for System Integrators, Chapter 6.11 Configuring Automatic External. You will find there signal diagrams for all cases.

    Next thing you will have to do is prepare "auto home" program, which will bring back your robot to $Home from any other position, but this thing you have to do by yourself. This is problem is much more complex, because you have to be 100% sure, that robot will return to home pos in right way everytime, when operator will hit START button.

    Are you sure, that extension of axis limits is good advice, especially A4? Robot can cut cables inside or damage other parts of A4 axis. This is the worse thing you can do, if you want to avoid singularities.

    You can declare AXIS or E6AXIS variable and write something like this:

    For A1 axis:
    IF $AXIS_ACT_MEAS.A1 >= 170 THEN


    If you write something like this, you will program movement inside your limits.
    Don't expand your limits more, than you have in robot documentation, if you don't want to have mechanical and/or electrical problems with your mechanical unit.

    And one more thing. Cell.src is not runing continously and you can't avoid singularities and movements outside of limits in this way. Cell.src is normally selecting program to run, and when other program is running, your "rules" will not be executed. You have to avoid wrong positions during planning and programming your motions, not during program execution.

    what do you mean, if you say "mapping"?
    1. You can map physical IO's to kuka IO's in WorkVisual, in IO Mapping tab (and then you are mapping for example INPUT 1 from Beckhoff EL1809 to $IN[1] accessible in your programs)
    2. You can define signals, for example:
    Add line:

    SIGNAL iButtonStart $IN[8]

    in R1/System/config.dat file in USER GLOBALS fold. If you do it, you can simply use "iBtnStart" variable in your logic.

    Both cases are good described in System Integrator Manual.

    Hello all,
    I'm currently assembling and starting up used 2008 IRB 580-12 with IRC5P Cabinet. Robot cell arrived without any docs. Does anybody have electrical diagrams for this type of robot? I need to rewire safety signals and check other connections. This is my first ABB, i'm familiar with Kuka and little bit with Fanuc, but this one is all new for me.

    you didn't mention your type of robot and cabinet.

    in KRC4, for simple "YES/NO" questions you can use Messages (look into manual "Programming Messages"). This feature is build-in and every robot has it. If you need to ask user to input numerical value, you can use SmartInputBox from, but this option is payable (you can get free demo if you want).


    Firstly, you need to have UART <-> RS232 converter. It will give you possibility to match signal levels and whole hardware level with other RS232 devices. Read about MAX3232 IC and modules with them.

    Secondly, you need a device, which will interface between Kuka and your device. If you have Profinet package, you can use for example Siemens S7-1200+CM1241, or other PLC.

    So, topology could be looking like that:
    KRC4 <----> PLC <---> RS232-UART Converter <---> Your external motor

    if you want to use PLC Ladder language, the simpliest way is to connect external plc controller and let them to manage execution of robot programs.

    You can also program use of sensor in robot program, I think it is simplier.
    1. Add "WAIT FOR <yourInputSignal>" to your program and robot will be waiting in this line, until condition will be not fullfilled.
    2. Add some code to sps.sub ("plc" of robot) and call robot programs from it.

    For first, I advice you to read KSS 8.3 Operating and Programming Instructions for System Integrators.

    SkyeFire already answered you for question about maximum capacity for programs.

    Implementing button, which will cause robot return to home is not so simple. I see two ways:
    1. Prepare your production programs with jumps from current position (program will be not executed to the end, but execute part of program to return your robot to home, for example:

    I hope that this piece of pseudocode is showing what I mean. If in your program you will read iBtnHome input, you simply jump to label and go back to home, passing the same points like in forward run. But, be careful, path will be different! This solution also makes your program much more complex.

    2. My second idea is to stop and cancel current program in submit interpreter and call "return to home" program. You can write in your submit interpreter program something like that:

    IF iBtnHome THEN

    But, going this way, also be very careful! Your returnToHome() program have to read current position of robot and select proper path for all possible positions! It means a lot of cases and also a lot of code.

    Returning to home always depends on type of robot cell, possibility of collisions and environment of robot. If your cell is simple, you can prepare automatic procedurę for returning home. But if it is more complex, maybe it will be better to teach operators how to jog robot to home manually?

    No, you will change only HOME position. By TouchUp, you are modifying only one XHOME point, which is global and can be used in all your programs and subprograms, but it is not affecting on other points. Only paths, which are containing HOME point will change around this point.

    To shift whole programs or subprograms, you have to change bases, which you are using in them.