1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. KUKA Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Configuring Auto Ext Mode with PROFINET on KR 6 R700 (KRC4 Compact)

  • A.Mekni
  • April 21, 2025 at 5:24 PM
  • Thread is Unresolved
  • A.Mekni
    Trophies
    1
    Posts
    13
    • April 21, 2025 at 5:24 PM
    • New
    • #1

    Good morning everyone,

    I'm currently working with a KUKA KR 6 R700 robot (controller: KRC4 Compact) and attempting to switch to Auto Ext mode for external automation. However, I'm encountering difficulties when mapping the automatic external variables via PROFINET.


  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • April 21, 2025 at 5:56 PM
    • New
    • #2

    As far as I know, you can't map I/O to variables this way. Instead, you need to map FieldBus I/O to KRC I/O, then map the internal variables to the KRC I/O.

    In the WoV I/O Editor, "PLC" doesn't mean an external PLC, it refers to (IIRC) the internal PLC if the KRC has the CodeSys or ProconOS options installed. An external PLC is always interfaced through some sort of FieldBus.


  • A.Mekni
    Trophies
    1
    Posts
    13
    • April 21, 2025 at 6:56 PM
    • New
    • #3

    Thank you for your response. Could you please explain in detail how to properly map internal variables to the KRC I/O system?

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • April 21, 2025 at 7:04 PM
    • New
    • #4
    Quote from A.Mekni

    Thank you for your response. Could you please explain in detail how to properly map internal variables to the KRC I/O system?

    It's detailed in the manuals under "automatic external". Short version: any internal system signal (like $MOVE_ENABLE) is already declared as a $IN[x] or $OUT[x], one simply needs to change the x to the correct Input or Output, as per your I/O mapping. It should be noted that the byte containing $IN[1025] and $IN[1026] should never be mapped, as those two Inputs are special always-True/always-False inputs.

    For non-system variables like PGNO_FBIT, you simply change the value of the Integer variable to that of the relevant $IN or $OUT. In the screenshot below, PGNO_FBIT and PGNO_LENGTH mean that this KRC would use $IN[33] to $IN[48]. PGNO_PARITY being 0 will cause CELL/P00 to not perform any Parity calculations on the PGNO value.

  • A.Mekni
    Trophies
    1
    Posts
    13
    • April 22, 2025 at 11:33 AM
    • New
    • #5

    I truly appreciate your previous guidance, which has given me a much clearer understanding of the system. However, I’m still encountering an issue when attempting to send the signal IN[133] from our Siemens PLC to the KUKA KRC controller. Despite the configuration appearing correct, I’m not observing any changes reflected in the KRC display when the signal is triggered.

    1000001668.jpg


    To troubleshoot, I tried adjusting the mapping parameters, but this resulted in an error

    " The option 'KUKA.PROFINET MS' is not installed. Please install the option in version '4.1.0'."


    Could you kindly provide further insights into why the signal might not be updating as expected? Any advice on how to diagnose or correct this issue would be greatly appreciated.

    Thank you once again for your time and expertise—it’s been incredibly helpful so far!

  • A.Mekni
    Trophies
    1
    Posts
    13
    • April 23, 2025 at 4:42 PM
    • New
    • #6

    Good morning,

    I’ve resolved the previous issue—thank you for your help! Now, I’m following the full sequence but I’m stuck because the $STOPMESS signal remains high. For the process to proceed, I need it to transition to low.

    I’d appreciate any guidance to troubleshoot this efficiently.


  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • April 23, 2025 at 5:55 PM
    • New
    • #7

    So, $CONF_MESS needs a pulse (specifically, the False-True transition edge) to clear any messages. If $STOPMESS remains True after you pulse $CONF_MESS, then you need to look at what messages on the KRC are not being cleared.

    You also need to check your timing. Each signal should be a send, wait for response, then execute the next signal. If you fire the various signals too quickly, you can cause a lockup. For instance, pulsing $DRIVES_ON followed to $CONF_MESS too quickly can result in the messages not clearing, since the Drives need some time to engage before their blocking status clears.

  • A.Mekni
    Trophies
    1
    Posts
    13
    • May 8, 2025 at 12:53 PM
    • New
    • #8

    Good morning everyone,

    I'm encountering an issue when switching from production mode back to cell for initialization or maintenance. Could you please assist me with this problem?

  • Fubini
    Reactions Received
    270
    Trophies
    9
    Posts
    1,866
    • May 8, 2025 at 1:18 PM
    • New
    • #9
    Quote from A.Mekni

    I'm encountering an issue when switching

    An issue. Define please. Whats expected behavior compared to what you see. As detailed as possible please. We do know nothing about your setup. Just saying it does not work please help is unfortunately useless. See forum Read First about minimal requirements before asking.

    Or is an issue that the above problem persists even you stated otherwise.

  • A.Mekni
    Trophies
    1
    Posts
    13
    • May 8, 2025 at 1:29 PM
    • New
    • #10

    Sorry, you're right okay, this is a screenshot of my cell program.

    Everything works fine, but I don't know how to return to the program when I'm in production mode, or after I press the emergency stop

    For exemple after triggering an emergency stop, I need the system to return to the Cell (for re-initialization), but it currently:

    • Always resumes exactly where it stopped
    • Maintains production mode state

    I considered calling the cell program directly from the E-stop routine (IR_STOP), but I think this might create safety/compliance issues

    Code
    &ACCESS R1
    &COMMENT HandlerOnRobotFault
    DEF  IR_STOPM ( )
    ;-----------------------------------
    ; Error Handling Robot Controller 
    ; Switch OFF and Switch ON processes
    ; KRC Version >= V5.5
    ;-----------------------------------
      ;FOLD DECLARATIONS
      ;FOLD USER DECL
      ; Please insert user defined declarations
    
      ;ENDFOLD (USER DECL)
      ;FOLD BASISTECH DECL
        BOOL ApplicationRunFlag
        DECL CHAR ID[3]
      ;ENDFOLD (BASISTECH DECL)
      ;ENDFOLD (DECLARATIONS)
      ;FOLD BASISTECH INIT
         INTERRUPT OFF 3
         STOPM_FLAG=TRUE ;Reflects state of interrupt 3 to activate/deactivate $Stopmess interrupt
         ID[]="CTL"
         If ($STOPMESS==TRUE) THEN ;APP// "IF" ~ Notepad++ Formatierung
           BRAKE
      ;ENDFOLD (BASISTECH INIT) 
      
      ;FOLD USER STOP
    ;Make your modifications here
    
      ;ENDFOLD (USER STOP)
      ;FOLD COLLISION DETECTION
         IF ($IMPROVED_COLLMON == TRUE) AND ($COLL_ALARM == TRUE) THEN
           CollDetect_UserAction()
         ENDIF
      ;ENDFOLD COLLISION DETECTION
      ;FOLD BASISTECH STOP
         P00 (#EXT_ERR,#PGNO_GET,ID[],128 )
         ApplicationRunFlag=FALSE
         IF (Appl_Run>0) THEN
           IF $OUT[Appl_Run] THEN
             ApplicationRunFlag=TRUE
             $OUT[Appl_Run]=FALSE
           ENDIF
         ENDIF
         REPEAT
           POWER=SYNC()
           HALT
         UNTIL (($STOPMESS==FALSE) AND ($POWER_FAIL==FALSE))
      ;ENDFOLD (BASISTECH STOP)
    
      ;FOLD BASISTECH RESTART
         P00 (#EXT_ERR,#PGNO_GET,ID[],0 )
         IF (ApplicationRunFlag==TRUE) THEN
           IF (Appl_Run>0) THEN
             $OUT[Appl_Run]=TRUE
           ENDIF
         ENDIF
      ;ENDFOLD (BASISTECH RESTART)
      ;FOLD USER RESTART
    ;Make your modifications here
    
      ;ENDFOLD (USER RESTART)
      
      ;FOLD BASISTECH REACTIVATE
        Endif ;APP// "ENDIF" ~ Notepad++ Formatierung 
    	INTERRUPT ON 3
        STOPM_FLAG=FALSE ;Reflects state of interrupt 3 to activate/deactivate $Stopmess interrupt   
      ;ENDFOLD (BASISTECH REACTIVATE)
    END
    Display More

    This is my first time facing this and my first complete project

    Edited once, last by A.Mekni (May 8, 2025 at 2:29 PM).

  • Online
    panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,026
    • May 8, 2025 at 3:55 PM
    • New
    • #11

    Since you are using EXT mode, all of this is handled in PLC...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • hermann
    Reactions Received
    403
    Trophies
    9
    Posts
    2,593
    • May 8, 2025 at 4:28 PM
    • New
    • #12
    Quote from panic mode

    Since you are using EXT mode, all of this is handled in PLC...

    Don't think so. He asks for aborting actual production and return to beginning of "cell" !?

    If this is the case. There isn't anything included in standard "cell" to abort running production and go back/initialise to/from beginning. You must do this by your own.

    There are several procedures to achieve this.

    You can search for 'resume' here in the forum, that's one possibility, or you can read and use as starting point: RE: Reset Cell KRC4

    You also have in mind that standard "cell" only starts when robot is in home, if not it's up to you to bring him to home.

  • A.Mekni
    Trophies
    1
    Posts
    13
    • May 8, 2025 at 4:59 PM
    • New
    • #13

    Thank you for your previous guidance. I’ve implemented an interrupt routine to return the robot to its home position ,but now encounter a new issue during execution

    image.png
    while the degagnemet works fine, I'm getting stuck with an error saying "$GEaAR_JERK variable write Protected in module BAS" when it tries to move home.

  • Fubini
    Reactions Received
    270
    Trophies
    9
    Posts
    1,866
    • May 8, 2025 at 5:14 PM
    • New
    • #14

    Do not use a inline form in this case. You need plain krl for this. Inside interrupts no inline forms are allowed.

  • A.Mekni
    Trophies
    1
    Posts
    13
    • May 8, 2025 at 5:48 PM
    • New
    • #15

    Thank you! When I modify it, it works well, but afterward, the robot immediately returns to the production code point where the interruption occurred. Do I need to send another program number (PGNO) when I'm at the home position? I'm still stuck on how to reset the production program or return to the cell's default state

  • Fubini
    Reactions Received
    270
    Trophies
    9
    Posts
    1,866
    • May 8, 2025 at 6:03 PM
    • New
    • #16

    As Herman already said use forum search with keyword resume. You can find many examples and explanations for this. Your question gets asked very regularly.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Users Viewing This Thread

  • 1 Guest
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download