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

Weirdness

  • droth
  • February 13, 2019 at 9:31 PM
  • Thread is Resolved
  • droth
    Reactions Received
    11
    Trophies
    3
    Posts
    185
    • February 13, 2019 at 9:31 PM
    • #1

    Setting up a new work cell, UOP for starting. Everything was working fine last week. There is no auto-exec for hot or cold start, I've disabled RESTORE SELECTED PROGRAM, yet when I SELECT a different program and hit start, robot jumps back to the last program we were running.

    Unfortunately, I have to go put out a fire elsewhere so that's as detailed as I can be at the moment. Robot is a Control Reliable M-16iA/R-J3iB. My start button is mapped to PRODUCTION START...

    Any thoughts?

  • Robo_Eng_13
    Reactions Received
    26
    Trophies
    4
    Posts
    432
    • February 13, 2019 at 9:56 PM
    • #2

    1. Have you tried abort all? I have found if you try to open a program in the currently active call stack, it will just auto stuff you into the current program, which is super annoying.

    2. Do you have Background Edit, and have you made sure nothing is open in it? This has caused some weird behavior for us as well.

    3. What is your start type? PNS, RSR, or Other? Is your PLC trying to start a specific program rather than the one you want?

    4. Try putting a break point (wait or pause) in the program you want to be in. This will catch the cursor if the robot it just taking off on a logic path out of the program. Also, try putting a break point in the program it seems to want to be in, see if it is stationary or just reading through too fast to see.

  • droth
    Reactions Received
    11
    Trophies
    3
    Posts
    185
    • February 14, 2019 at 3:58 PM
    • #3

    Start type is OTHER. Yes, I ABORT with much frequency. These particular robots are a little different than what I am used to, and I'm guessing that has to do with the Control Reliable deal. When I switch from T1/T2 to AUTO or vice versa, the TP typically tells me I am either entering or leaving INTERLOCK mode. I'm not sure what that means, so if anyone can clarify, that would be good. But I've always just pressed OK and proceeded to do what I was trying to do. INTERLOCK mode has not seemed to have any bearing on what I have been trying to accomplish.

    So, like I said, the program I want to run is selected. I can see it listed at the top left corner of the TP. But as soon as I hit START, first I often get a SYST-079 Startup Check Failed, which is a little odd because as far as I can tell, all of the startup checks have been disabled. But hitting RESET and issuing another START takes care of that. Once the START is issued, the program we used all last week appears on the pendant, replacing what I just selected and begins to run.

    If background edit is an option on this old controller, we do not have it. I'm not sure I've ever done any background editing on any of our robots. There is no background logic or condition monitors or any other obvious reason for this robot to do this. I mean, we literally just bought this robot, refurbished, placed it in a new work cell, and ran our first order last week with no major issues. We had another job to run this week, so we wrote a new program, hit START, and it goes right back to the first program we put on it.

    Now, this robot came from the same place we've bought most of our robots from, and I've never gotten one that had any signs of previous ownership (i.e. old programs, configurations, etc.) They always come wiped clean and ready to integrate into whatever application we choose. We've done power cycles on the machine with RESTORE SELECTED PROGRAM disabled - so I am forced to SELECT the program I want to run, but it continues to jump out of the selected program and back to the old one from last week. It is the weirdest thing... :hmmm:

  • Robo_Eng_13
    Reactions Received
    26
    Trophies
    4
    Posts
    432
    • February 14, 2019 at 4:37 PM
    • #4

    If you are using the Other selection method, what are you using to change your program? As i understand it, when you have the selection style set to other, it will run whatever program is listed in $shell_wrk.$cust_name, so if you want to change what program runs, you have to change this. We do this to run a main program then just use digital I/O to navigate our process flow after that. Try changing the name of the program to be launched by Other, see if that solves the problem.

  • droth
    Reactions Received
    11
    Trophies
    3
    Posts
    185
    • February 14, 2019 at 7:00 PM
    • #5

    Excellent. Thanks for the help Rob_Eng_13. That was exactly the issue. Now, maybe you can enlighten me as to how that first program made its way into that variable in the first place? I didn't put it there and I can't imagine anyone else here would have either.

    Anyway, I would like for the operator to be able to select the program he wants to run from the TP, hit the START button that I've mapped to the User Input for PROD_START, and go on his merry way. Is that possible or do I need to create a MAIN program to run on START. I could do that, but that likely means having to edit the CALL or RUN command in the MAIN program every time we need to run a different part...

    Otherwise, I guess I could switch the robot back over to local (SOP) control. Unfortunately, the controller is mounted above the work cell and inaccessible to the operator. Can I use the SOP with UOP enabled? Or can I map the START button on the controller to a digital input or do I need to physically wire that START button down to my operator's button bank?

    I guess this setup is slightly different than the work cells I've put together in the past, but it seems like it should still be manageable...

  • Robo_Eng_13
    Reactions Received
    26
    Trophies
    4
    Posts
    432
    • February 14, 2019 at 7:09 PM
    • #6

    Here are some options that we use to some degree.

    1. Run a main program, then use digital I/O in the main loop to branch out to specific programs. This can be done via PLC to make things pretty user friendly. We have a UI with a list of part numbers and descriptions. When they select a part and hit run, it toggles the I/O to branch into that program.

    2. Explicit Messaging. You are able to use this feature to send the name of a program directly to a String Register, then use background logic to set the system variable to the string. This is effectively the same as the other option, but cuts out the need to manage branching on the robot side.

    3. Set up a "Run" program with nothing in it but a "Call" statement, then have the operators choose the program in the parameter of the Call statement and hit start. It will auto execute the initial program, which will then trigger the selected program. This is probably the closest you are going to get to selecting from the menu and running, without switching back to Local.

    A cool thing would be to have a BG logic that would read the current open program from one system variable, then write it directly into the pre-set run program system variable. That way, you could open the program and hit the run button and it would do exactly that.

    As for how it got there, it can be entered under Setup (i will have to find the proper path) but the same place where you set it to PNS/RSR/Other. It does not have to be set via System Variable.

    Edit: Proper path looks like MENU -> SETUP -> PROG SELECT

    Edited once, last by Robo_Eng_13 (February 14, 2019 at 7:17 PM).

  • droth
    Reactions Received
    11
    Trophies
    3
    Posts
    185
    • February 18, 2019 at 3:18 PM
    • #7

    Once again, good stuff, thank you. I think your option 3 is my best (maybe only) bet. The software on this robot, like most of the 12 I tend to here, is pre-BGLogic, and like I said, the controller is out of the operator's reach. But we count on our operators to be pretty comfortable with the TP, so they should be able to apply this method without much trouble...

  • Robo_Eng_13
    Reactions Received
    26
    Trophies
    4
    Posts
    432
    • February 18, 2019 at 4:51 PM
    • #8

    If you go this route, some things to watch out for:

    1. Stack overflow. Make sure that your sub called programs come to an end before returning to your main call program. By default, it should complete the subprogram, and then return to the main, there is no need to re-call the main at the end of each sub.

    2. Put in a mechanism to pause the main when a change of program is needed, otherwise it will re-trigger the same sub over and over without giving you a chance to choose.

    3. There may be a way (i am not sure) to have a pop-up occur on the TP which will prompt the user to select a program. I am not sure what all is available, and what is impossible. It is not something we have ever looked into since we put all macro scale decision making on the PLC, and only leave the more micro scale decisions to the robot.

    4. To prevent the need to abort tasks and switch to Teach mode to change the program, it may be in your best interest to have an interface via some other inputs. If i were setting up a system to run like this, i might have a range of Digital I/O or flags which were labeled with each of the available program names, and then have a master program called by the UOP start which would check for a change in I/O status, and run a program based on this. It would be possible to use a Register to count parts down to a new program change, and a register or duplicate range of I/O to keep track of what the previous program was. Ideally, you would want to make it so that only one program could ever be selected at a time.

    I hope you are able to get your system working in a way that satisfies everyone on your end!

  • Hazard
    Reactions Received
    15
    Trophies
    3
    Posts
    55
    • February 18, 2019 at 6:43 PM
    • #9

    [shadow=red,left]3. There may be a way (i am not sure) to have a pop-up occur on the TP which will prompt the user to select a program.[/shadow]

    There is a way to do this. I think you have to have the Menu Utility option. An Operator Entry menu and/or List menu will do this. The Operator Entry menu can be configured to accept various types of data such as boolean, numeric, etc. The List menu can be configured to list up to 8 items or so that can be selected.

  • Robo_Eng_13
    Reactions Received
    26
    Trophies
    4
    Posts
    432
    • February 18, 2019 at 8:21 PM
    • #10
    Quote from Hazard


    [shadow=red,left]3. There may be a way (i am not sure) to have a pop-up occur on the TP which will prompt the user to select a program.[/shadow]

    There is a way to do this. I think you have to have the Menu Utility option. An Operator Entry menu and/or List menu will do this. The Operator Entry menu can be configured to accept various types of data such as boolean, numeric, etc. The List menu can be configured to list up to 8 items or so that can be selected.

    That is great information! I am not sure we have the Menu Utility option, but i may look into that for our new training cell!

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