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. Fanuc 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

Beginner questions (vol. 2)

  • robotecnik
  • July 11, 2022 at 2:23 PM
  • Thread is Unresolved
  • robotecnik
    Reactions Received
    19
    Trophies
    4
    Posts
    568
    • July 11, 2022 at 2:23 PM
    • #1

    Hello all,

    At the end it seems I will have to program a super simple application using a FANUC robot...

    I have to pick parts from a couple of trays and then place those parts into a belt, there won't be PLC in that cell, only the robot.

    The operator will place and remove the trays manually into/from the machine.

    I was wondering:

    • Given both trays have the same sizes and the same products inside, can I use the same program using a different USER FRAME for each tray?
    • Do the Fanuc robots have INTRRUPTIONS? if I could use an interruption, I could activate a register every time the operator would press a button. That register would mean the tray is ready for the robot. In case interruptions exist, how are they named? could you point me to a manual where I could check how interruptions work?

    Thank you in advance!

    http://www.robotecnik.com | Robots, CNC and PLC programming.

  • HawkME
    Reactions Received
    570
    Trophies
    11
    Posts
    3,270
    • July 11, 2022 at 7:29 PM
    • #2

    A few different options and maybe more I didn't think of:

    1. Use different UF for each tray. This requires all points to be PR's, not P's.

    2. Use the same UF, but apply a PR offset to each point. You would use all P's with a PR offset applied to each movement.

    3. Use the same UF, but use an indirectly addressed PR for each pick movement.

    4. Dynamically modify the UF based on which tray to be picked. Then you would use all P's and no offsets.

    5. Just create 2 separate programs with their own points.

    Any of the methods above will be fine. Go with whatever you are comfortable with. I have used all the methods above in different situations. #5 is probably the simplest if it is a small program with a small qty of points.


    As far as an interrupt, I don't think that is really what you want. Instead you probably just want a WAIT statement. In your main program create a main loop with jump labels. At the top of the program you can WAIT until the register value changes or they press a cycle stop button. Then the next line of code, if the register value is a certain value then you can call your pick/place routines.

    Like this:

    MAIN_PROGRAM:

    : CALL GO_HOME;

    :

    : !Main loop start

    : LBL[1]

    : WAIT (R[x] <> 0 OR DI[x: cycle stop]);

    : IF (DI[x: cycle stop]), JMP LBL [2];

    : CALL PICK_PLACE:

    : JMP LBL[1];

    : LBL[2];

    : !Main loop end

    :

    : CALL GO_HOME;

    : END;

  • hermann
    Reactions Received
    412
    Trophies
    9
    Posts
    2,628
    • July 11, 2022 at 8:23 PM
    • #3

    Instead of Interrupts you can use BG logic.

  • robotecnik
    Reactions Received
    19
    Trophies
    4
    Posts
    568
    • July 12, 2022 at 12:10 AM
    • #4

    Thank you both.

    HawkME thanks for the detailed explanation related to UFs. Will check it and see what I like the most.

    I want interruptions, I want the operator to be able to press the button informing the robot the tray 1 is ready meanwhile the robot is working on the tray number 2. Looks like Background logic can do it.

    hermann searched for Background logic in the internet... looks pretty neat, it's like multitasking preinstalled into the robot. Thanks!

    As always, thank you both!

    http://www.robotecnik.com | Robots, CNC and PLC programming.

  • HawkME
    Reactions Received
    570
    Trophies
    11
    Posts
    3,270
    • July 12, 2022 at 1:48 AM
    • #5

    I really don't think you want a true interruption. If the robot if in the middle of placing a part you don't want to interrupt that, abandon it, then go do something else. You don't want to just drop a part.

    I think what you really want to do is finish the current task then go back to see if there is new work to do. That's what the main loop, wait example will do.

    BG Logic can set the register value so when the robot gets back to the Wait command it will know if the next tray is ready.

  • pdl
    Reactions Received
    272
    Trophies
    9
    Posts
    1,549
    • July 12, 2022 at 2:52 AM
    • #6

    HawkME hit the nail on the head.

  • robotecnik
    Reactions Received
    19
    Trophies
    4
    Posts
    568
    • July 12, 2022 at 9:28 AM
    • #7

    Yes, exactly that, I don't want to interrupt the work, but I want to be able to press the button at any moment to store the state ready of that tray.

    Knowing there is that Background Logic thing, I should be able to do this super easily.

    THANK YOU VERY MUCH!

    http://www.robotecnik.com | Robots, CNC and PLC programming.

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
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • 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
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Tags

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