Real time robot programming with CNC Siemens and synchronized actions

  • Hello everyone,


    I am a new born on this forum and saw that the community was very welcoming and active during my research, so i decided to ask myself some questions.

    I am at the beginning of an apprenticeship, based on robotization of process, and my tutor asked me to make a technical report on how synchronized actions were mannaged for tha control of a robot, and what kind of sensors/real-time technologies were more suitted to gain accuracy during the process. After that, he took his vacation ^^' so i can't ask him any questions...


    The thing is : I am just entering the "robotic shere" and i never touch a Siemens CNC before in my life. I did a state of the art about the accuracy enhancement of industrial robots and earned lots of technical knowledge but it is not enough. Obviously, i've read hundred of pages about the subject in the siemens' functions manuals and all but even if i feel like i understand what is written, i can't visualize any applications or make a clear resume ... It is kind of fuzzy.

    I am getting lost between the 'PLC', the others sub program codes, the use of synchronized actions etc (this last part mostly : I quickly understood that there were M functions that you can create to trigger actions during an interpolation cycle, but how do you manage to use them in parallele of the entire code ? When is it interesting to use them for the robot ? Why ?)


    Sorry if this post raises to much questions, i really am lost ^^' (also sorry if my english is bad, not native english here haha).


    Sara

  • This is a very broad topic. There is also a distinction to be made between "synchronous" actions (for example, where the CNC and robot move in a coordinated way), and "handshake" actions, where each device acts discretely and simply use signals and wait states to avoid collisions. Unless your robot is working inside the CNC while the CNC is in motion, you're probably concerned with "handshake" actions.


    Any robot, and most CNCs, have some capability for sending and receiving signals to/from other devices. This takes many forms, but the most basic signals are often like relays, or emulate simple switches/buttons. Each machine will have a certain number of outputs, and inputs. The outputs on Machine A can be wired to the inputs on Machine B, and vice versa.


    Let's take a simple example of a robot that loads raw stock into a CNC machine, and unloads the finished work piece. We'll assume that the Outputs on each machine are wired into the same-numbered Input on the other machine, for simplicity (ie, Ouput 1->Input 1, Output 2 -> Input 2, etc):


    1. CNC machine is empty, ready to be loaded. CNC sets Output 1, waits for Input 5

    2. Robot is waiting for an input from the CNC. Input 1 triggers the "load raw stock" program -- robot picks up raw stock, moves towards CNC

    3. Robot loads raw stock into vise, triggers Output 5, waits for Input 5

    4. CNC, on receiving Input 5, closes the vice, and then sends Output 5, waits for Input 6

    5. Robot, on receiving Input 5, opens its gripper, and exits the CNC

    6. Once physically clear of the CNC, robot sends Output 6, waits for Input 2

    7. Input 6 allows CNC to close its door, and begin the milling program

    8. When the milling program is complete, the CNC program opens the door, then sends Output 2, waits for Input 3

    9. When robot receives Input 2, this triggers the "remove finished part" program. Robot moves into CNC, grips part, sets Output 3, waits for Input 3.

    10. When CNC program receives Input 3, it opens the vice, and sets Output 3, waits for Input 4

    11. Robot receives Input 3, takes part out of CNC and places it in outgoing tray.

    12. Robot sets Output 4, waits for Input 1

    13. when CNC receives Input 4, it preps the vice and axes to receive a new stock. Program returns to Step 1

Advertising from our partners