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

Can a PLC Call a specific program in the robot

  • Sean_MMSNI
  • November 29, 2018 at 2:05 PM
  • Thread is Resolved
  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • November 29, 2018 at 2:05 PM
    • #1

    I am making a production line for wheel assembly's. An irb 6400 with s4c controller will be lifting the wheels in and out of machines. There are different types and sizes of wheels so will require different programs for each one. I am controlling the production line with a PLC with a HMI screen, I'm wondering if when I change the program on the PLC can I also call the relative program on the robot without having to actually go lift the teach pendant and change it manually there.

    Thanks

  • Lemster68
    Reactions Received
    295
    Trophies
    9
    Posts
    2,452
    Blog Articles
    7
    • November 29, 2018 at 2:37 PM
    • #2

    Basically, you set up a group input from the PLC to the robot in which you send the values for the corresponding program to run. It is a good practice to echo the number back to the PLC so you need a group output from the robot to the PLC. If the numbers match, then the PLC should send a start signal to the robot.

  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • November 29, 2018 at 3:01 PM
    • #3

    Whats the group output? Also what values are to be sent to the robot?

  • Fabian Munoz
    Reactions Received
    133
    Trophies
    9
    Articles
    1
    Posts
    1,517
    • November 29, 2018 at 3:19 PM
    • #4

    hi
    Whats the group output?
    I guess you know PLCs " I change the program on the PLC"
    A group of outputs/inputs is very similar to a word in PLC language

    You grouped together a bunch of I/O and you call it GO or GI

    Also what values are to be sent to the robot?
    At the moment, are you using the PLC to send I/O to the robots ? Group I/O are the same principle, you just use a word to read them

    Search the ABB forum for EIO and Group

    Retired but still helping

  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • November 29, 2018 at 3:28 PM
    • #5

    yeah I'm sending I/O to the robot telling it when to lift a wheel in and out of the machine when it has finished what it needs to do and not letting the machine operate when the robot is not at a safe position. So I can do that easy enough. Its just what exactly do I send to the robot in order to make it load and run the program.

    Edited once, last by Sean_MMSNI (November 29, 2018 at 3:37 PM).

  • Lemster68
    Reactions Received
    295
    Trophies
    9
    Posts
    2,452
    Blog Articles
    7
    • November 29, 2018 at 6:49 PM
    • #6

    Example:

    nProgramNumber:=giProgNum;
    Test nProgramNumber
    CASE 1:
    rProgram1;
    CASE 2:
    rProgram2;
    and so on....
    DEFAULT:
    !Good to have in case something unanticipated happens
    Stop;
    ENDTEST

  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • November 30, 2018 at 9:05 AM
    • #7

    So then would I just use an output from the plc in correspondence with each case?

  • SAABoholic
    Reactions Received
    21
    Trophies
    5
    Posts
    550
    • November 30, 2018 at 1:23 PM
    • #8

    Not quite...

    A Group Input is a collection / group (hence the name) of digital inputs read as a Binary input.
    For example, a group of eight inputs would allow you to set a value (i.e. call a program) between 0-255

  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • November 30, 2018 at 1:32 PM
    • #9

    Ah yes, I understand now. Not sure if I will have enough spare outputs to do this then on my plc then.

  • SAABoholic
    Reactions Received
    21
    Trophies
    5
    Posts
    550
    • November 30, 2018 at 1:40 PM
    • #10

    You only need to assign as many as you need to call programs for...
    4 outputs would give you 15 programs, 5 = 31 etc.

  • Iowan
    Reactions Received
    2
    Trophies
    4
    Posts
    686
    • November 30, 2018 at 1:44 PM
    • #11
    Quote from SAABoholic


    For example, a group of eight inputs would allow you to set a value (i.e. call a program) between 0-255

    Depending on how many options you need, you can create a smaller group - 4 inputs would give you 16 options (though I don't usually use "0"), a 5-bit group would yield 32 options.

    @SAABoholic,
    I seem to be about half a post behind you today...

    Edited once, last by Iowan (November 30, 2018 at 1:46 PM).

  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • November 30, 2018 at 1:45 PM
    • #12

    I wont need that many only need 5 or 6 options max

  • robotero
    Reactions Received
    14
    Trophies
    4
    Posts
    346
    • November 30, 2018 at 5:48 PM
    • #13

    Just designate a Group of inputs then use this value to call you program

    reg1 := GInput(gi1)

    then

    CallbyVar "proc", reg1;

    need to name your routines proc1, proc2, etc

    or

    TEST reg1
    CASE 1:
    procedure_a;
    CASE 2:
    another_process;
    CASE 1:
    last_c;
    DEFAULT:
    EXIT;
    ENDTEST

    In this case routines CAN have different names

    or

    %"proc"+NumToStr(reg1,0)% ;

    same as the first case, routines should be name proc1, proc2, etc

  • SAABoholic
    Reactions Received
    21
    Trophies
    5
    Posts
    550
    • November 30, 2018 at 7:14 PM
    • #14
    Quote from Sean_MMSNI


    I wont need that many only need 5 or 6 options max

    3 outputs / inputs would give you 7 combinations / programs.
    2 outputs would only give you 3

  • Jaycephus
    Reactions Received
    15
    Trophies
    4
    Posts
    109
    • December 11, 2018 at 12:49 AM
    • #15

    The case-statement-style software method (using EtherNet/IP in/out of the robot) was how I do it with Fanuc, too.
    (After a command number is echoed back, then a start bit activates that 'command' or program.)
    What about getting the robot running from a PLC-connection? With Fanuc, I can have the PLC reset and start via EtherNet/IP bits.

    After EStops are enabled, can the EtherNet/IP connection between my PLC and IRC5 controller clear, reset and get the main program running? (Or is the 'command processor' set up to run automatically in a multitasking system?)

    Thanks,

    - Jay
    (This account has been screwed up by new Robot-Forum, and it no longer allows replies or new posts for an unknown reason that Robot-Forum has been unable to determine or help with. So, I have been unable to reply to any questions on my past posts. Apologies. I'm not ignoring people on purpose.) :frowning_face:

  • Sean_MMSNI
    Reactions Received
    2
    Trophies
    3
    Posts
    123
    • December 11, 2018 at 9:13 AM
    • #16

    I cant do this as my plc only has one Ethernet port and I need it for connecting the HMI screen. and my robot with s4c controller doesn't have Ethernet.

  • Lemster68
    Reactions Received
    295
    Trophies
    9
    Posts
    2,452
    Blog Articles
    7
    • December 11, 2018 at 2:16 PM
    • #17

    If the robot runchain is ok and the robot is not faulted, then you can send the system input for motors on. When the robot sends the system output that the motors are on, then you can send the system input to start the program. Some use startatmain, but I don't like that, it can create a lot of problems, especially crash problems which would have to be dealt with in a recovery routine. A multitasking system typically will have background tasks which are either semi-static or static. They will run all the time, you don't have to start them. If you configure a background task as normal, however, and it will start when the start command is given.

  • Jaycephus
    Reactions Received
    15
    Trophies
    4
    Posts
    109
    • December 11, 2018 at 8:11 PM
    • #18

    Thanks for the replies.

    Being from Fanuc World, I am guessing that the "run chain ok" is "all safety devices on all circuits are closed, enabled, etc?" I did multiple searches in IRC5 manuals and found no definition of "run chain," but that is what I infer from how the phrase is used.

    I currently have a PLC connected to my IRC5 controller via EtherNet/IP, and so I can configure any one of these system I/O to my EIP bits?

    In my case, I can have Main be mostly a looping case statement waiting for a command number and run bit from the PLC (with echo back of command number to the PLC to acknowledge before running). So if the robot is commanded to run the Main program from the beginning, nothing happens until the robot is also commanded to run a specific process (a program called from the case-statement, initiated by the separate PLC process once it knows the robot is running and ready).

    But the one 'gotcha' I see from your description and my experience is the "robot is not faulted." In Fanuc, I don't have a "must acknowledge" fault from an EStop or Gate Open event. Yes, it stops the robot. But then the PLC can reset and restart over EtherNet/IP without having to reset or manually acknowledge anything on the pendant. So, in a basic scenario of running the system, performing a process, the robot returns to waiting for a new process command, the operator opens the cell gate, stopping the robot via the safety inputs, resets up the work-piece, exits the cell, returning the run chain (?) to 'ok,' and then he can hit a button on the HMI to reset the robot, and another one or more buttons to run robot Main, and initiate a process on the new work-piece.

    In my experience with ABB, opening the gate creates a fault that requires the operator to also have to perform an acknowledge on the Flex pendant prior to being able to run. Any way around that, or do I have to live with that. Or am I wrong on one or more of these points? Also, I have multitasking, so if an always-running task helps in this application, let me know.

    Thanks,

    - Jay
    (This account has been screwed up by new Robot-Forum, and it no longer allows replies or new posts for an unknown reason that Robot-Forum has been unable to determine or help with. So, I have been unable to reply to any questions on my past posts. Apologies. I'm not ignoring people on purpose.) :frowning_face:

  • Lemster68
    Reactions Received
    295
    Trophies
    9
    Posts
    2,452
    Blog Articles
    7
    • December 11, 2018 at 8:23 PM
    • #19

    When an operator opens the gate and opens the auto stop circuit, there will be a message written to the teach pendant stating such. It is not really a fault, it is doing what it is supposed to do. The operator can acknowledge it or not. As soon as the circuit is closed again, it will have Run chain ok despite not acknowledging the message. Only the e-stop requires a reset, all others are good once the circuit is complete again.

  • Jaycephus
    Reactions Received
    15
    Trophies
    4
    Posts
    109
    • December 11, 2018 at 9:02 PM
    • #20

    Thanks for the answer!
    Currently working on the implementation.

    - Jay
    (This account has been screwed up by new Robot-Forum, and it no longer allows replies or new posts for an unknown reason that Robot-Forum has been unable to determine or help with. So, I have been unable to reply to any questions on my past posts. Apologies. I'm not ignoring people on purpose.) :frowning_face:

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