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

Cyclic flag usage with WAIT FOR instruction

  • saikomiki
  • May 10, 2025 at 12:43 PM
  • Thread is Resolved
  • saikomiki
    Trophies
    1
    Posts
    2
    • May 10, 2025 at 12:43 PM
    • New
    • #1

    Hi there, I'm quite new with kuka programming, forgive me if I'm asking for too simple issue.
    I'm having trouble understanding an approach to a Cyclic Flag and WAITFOR instruction in offline program I'm reworking.

    Is there any possible reason programmers keep using $IN instead of just assigned $CYCFLAG in WAITFOR/IF statements?
    Compare those two parts of the code, would the second one work identical?

    Code
    (...)
    ;$IN[97] = TRUE - (Release to work area)
    $CYCFLAG[2]=$IN[97]
    
    WAIT FOR  ( $IN[97] OR $TIMER_FLAG[1] ) 
    
    IF ($IN[97]==TRUE) THEN
      GOTO LblEnd
    ENDIF
    (...)
    Code
    (...)
    ;$IN[97] = TRUE - (Release to work area)
    $CYCFLAG[2]=$IN[97]
    
    WAIT FOR  ( $CYCFLAG[2] OR $TIMER_FLAG[1] ) 
    
    IF ($CYCFLAG[2]) THEN
     GOTO LblEnd
    ENDIF
    (...)
  • MOM May 10, 2025 at 1:43 PM

    Approved the thread.
  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • May 12, 2025 at 5:19 PM
    • New
    • #2

    IIRC, the message would be different, but the effect should be the same. This is, the message would say "Waiting for $CYCFLAG[2]" instead of $IN[97].

    $CYCFLAG[2]=$IN[97]
    WAIT FOR ( $IN[97] OR $TIMER_FLAG[1] )
    WAIT FOR ( $CYCFLAG[2] OR $TIMER_FLAG[1] )

    Generally no one bothers with $CYCFLAGs because there's nothing really to be gained from using them, outside of certain specific situations. The first one I can thing of is Interrupts -- Interrupts do not support Boolean Algebra, so if you want an Interrupt to trigger on a complex signal combination, using something like $CYCFLAG[1]=($IN[1] AND ($IN[2] OR NOT $IN[3]) AND ($IN[4] EXOR $IN[5]), you can do that and then have the Interrupt triggerd by the $CYCFLAG.

    The automatically generated WAIT FOR messages are convenient, but simplistic. When I got into complex wait situations, I got into the habit of simply using a REPEAT loop with my own Status message, and erasing the message upon the Loop exit.

  • saikomiki
    Trophies
    1
    Posts
    2
    • May 13, 2025 at 8:44 AM
    • New
    • #3

    Thanks, It didn't cross my mind that this could affect messages, I guess in my case that's the reason ($IN[x] is easier to understand for maintenance guys).

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

Tags

  • cycflag
  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