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. Stäubli & Bosch 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

Understanding the cycle of an application

  • 16000lc
  • October 14, 2022 at 1:17 PM
  • Thread is Unresolved
  • 16000lc
    Reactions Received
    3
    Trophies
    1
    Posts
    29
    • October 14, 2022 at 1:17 PM
    • #1

    Hello everybody.

    What brings me here today is a question that I am sure you guys will be able to help me with.

    We are working with a Staubli RX130 CS8 that performs a cycle as it follows: unloads a part from one machine, loads the part into another machine, takes it out and puts it in the washing machine.

    Each of these loops is a different subroutine, with a switch case format.


    I want to try to understand how the robot goes from one program to another, since within these programs there is no call instruction that interconnects them.

    The most certain is to be by the PLC.

    I ask this question because I want to accomplish a simple task.

    The robot only has to pick up the part and drop it in the washing machine, ignoring the two machines inbetween.

    I thought of doing the following: Introduce an input with a switch, and in the program of the first machine, do an

    " switch Routine(Machine_1)

    case 1

    if io:ignoremachine==true

    movej(washingmachine)

    open(pince1)

    break

    endswitch

    else

    (continue switch as normally does)

    endif

    This causes the robot to ignore the first machine. If I introduce this condition in all subroutines, will the PLC and the Robot be able to continue the process without major conflicts and ignore all the machines?

  • 16000lc
    Reactions Received
    3
    Trophies
    1
    Posts
    29
    • October 14, 2022 at 1:18 PM
    • #2

    Main application is B5clim, all the other files are the subroutines

  • 16000lc
    Reactions Received
    3
    Trophies
    1
    Posts
    29
    • October 14, 2022 at 1:19 PM
    • #3

    The program that makes me think the cycle is decided by the PLC

  • Galet
    Reactions Received
    19
    Trophies
    2
    Posts
    141
    • October 14, 2022 at 7:50 PM
    • #4

    Hello,

    Plc send order on Digital inputs :

    - io:E_Dech_Ader

    - io:E_Dec_Der ...

    The principal program call different subprogram for each task.

    All the subprogram are build on Grafcet structure (typical Switch Case...)

    The active Step is contain in output group like io:G7_Chg_Cint__A.

    In each step, the Jump to another step is programmed with DioGet(StepVariable,NextStep)

    It's very special (to use Output group to memorize the active Step) but I think it's to inform, in real time, the Plc

    ...

  • 16000lc
    Reactions Received
    3
    Trophies
    1
    Posts
    29
    • October 14, 2022 at 9:20 PM
    • #5
    Quote from Galet

    Hello,

    Plc send order on Digital inputs :

    - io:E_Dech_Ader

    - io:E_Dec_Der ...

    The principal program call different subprogram for each task.

    All the subprogram are build on Grafcet structure (typical Switch Case...)

    The active Step is contain in output group like io:G7_Chg_Cint__A.

    In each step, the Jump to another step is programmed with DioGet(StepVariable,NextStep)

    It's very special (to use Output group to memorize the active Step) but I think it's to inform, in real time, the plc

    Display More

    How does the principal program call the other programs on its own?

    For example, the principal program only calls G7_Chg_Cint if io:E_Chg_Cint==true or DioGet(io:G7_Chg_Cint) != 1

    Since the program hasn’t been called yet, io:G7_Chg_Cint=1 (right?) so it has to use the other condition. Where does the io:E_Chg_Cint come from? I thought it came from the plc because I can’t find it anywhere on the robot

  • Galet
    Reactions Received
    19
    Trophies
    2
    Posts
    141
    • October 15, 2022 at 6:28 PM
    • #6

    It's difficult to give you all the information without all the programs.

    Quote


    For example, the principal program only calls G7_Chg_Cint if io:E_Chg_Cint==true or DioGet(io:G7_Chg_Cint) != 1

    Right.

    Quote


    Since the program hasn’t been called yet, io:G7_Chg_Cint=1 (right?)

    Not sure.

    In your example program (G7_Chg_Cint_A), the grafcet Step variable is "io:G7_Chg_Cint_A" (probably an array of digital output because the program read and write this variable). In the picture, we don't see the initialization of this variable. Without reset, the output keep the last value. Necessary the program need to initialize it somewhere...

    Quote


    Where does the io:E_Chg_Cint come from? I thought it came from the plc because I can’t find it anywhere on the robot

    Probably from the PLC...or direct from the machine.

    Some question to help you :

    Do you have the SRS (Stäubli Robotic Suite) ?

    Witch version is installed on your CS8 (Menu / Control Panel / Version / System on SP1) ?

    Witch type of IO use you controller (Menu / Control Panel / IO) ?


  • 16000lc
    Reactions Received
    3
    Trophies
    1
    Posts
    29
    • October 15, 2022 at 9:54 PM
    • #7
    Quote from Galet

    Probably from the PLC...or direct from the machine.

    You are absolutely correct.

    I managed to get access to the PLC program and found all I was looking for. The cycle is controlled by the plc with set resets.

    The plc decides which routine the robot has to execute. And it receives feedback from the machines. So the method I was thinking to use( ignoring the machines using the robot routines) will not work because the PLC will be stuck waiting for feedback from the machines.


    I

    Quote from Galet

    Some question to help you :

    Do you have the SRS (Stäubli Robotic Suite) ?

    Witch version is installed on your CS8 (Menu / Control Panel / Version / System on SP1) ?

    Witch type of IO use you controller (Menu / Control Panel / IO) ?


    I don’t have SRS

    The other info I can only give you Monday when I’m back to work.

    Best regards

  • Galet
    Reactions Received
    19
    Trophies
    2
    Posts
    141
    • October 16, 2022 at 8:48 AM
    • #8

    It's difficult to analyze the application direct on the controller.

    You can make a backup (on Usb Key) to read the files with an editor but the best way is to install SRS. Without any license, you can read all the programs and find variable...

    Without SRS, the definition of all the global variables are in the file NameOfApplication.dtx (in the folder Usr/UsrApp/NameOfApplication/). It's Xml file type so, you can read it with Excel (if you have it)...

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

Similar Threads

  • FANUC robot repeatability issue for Handling Application

    • nikhilpotdar15
    • November 17, 2020 at 10:04 PM
    • Fanuc Robot Forum

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