Robot program from a check: generation, motion check, approval
How to get a file for a FAIRINO, ABB or KUKA controller from a successful check, what the motion check does, and what is missing before a program can be approved.
Create a program
When the reach check has passed without errors, click "Create a robot program from this check" in Robotics Studio and enter a program key (letters, digits, _ . -). A new revision appears in the "Seams & programs" tab.The robot poses come from the check: the same joint values that were checked for reach and collisions. The robot does not solve them again and does not pick another arm configuration.
Before creating it you can choose what the controller does on top of the poses:
- seam tracking while welding (the controller's laser seam sensor, or through the arc with a weave);
- a touch search for the seam before welding.
Generate the file
"Generate" makes the file for the cell's controller:- FAIRINO — an FR Lua program;
- ABB — a RAPID module (.mod);
- KUKA — a KRL program (.src).
Process values (power, speed, gas, spindle speed…) come only from the recipe or from a confirmed equipment preset of the cell. If something is missing — an unmapped signal, no tool number or name, no template for a controller function — no file is generated and the system says exactly what is missing. Nothing is guessed.
Motion check
While generating, the server runs the finished program the way the robot will:- linear moves every millimetre, joint moves every degree;
- corner blending, weaving, moves between seams;
- reach, collisions and joint speeds against their rated limits.
The result is shown under the revision: welded length, cycle time, the highest joint load and any problems found.
Required checks and approval
To approve a revision you need:- "Program review" — a person has reviewed the file;
- "Dry run" — a full cycle on the cell with the laser off;
- for programs made from a check — "Motion check".
If the motion check cannot be run, you can record "Motion accepted without the check" — only with a reason: who accepts it and why.
An approved program is bound to its inputs. Changing the layout, tool, robot model, seam or recipe makes it non-current — the system shows what changed.
The cell's start state
A program must not move off from an unknown place. In the cell settings bring the robot to the pose every program starts from and click "Take the start state from the robot" (its joints from the live state through the gateway), then save the cell.Then every program:
- first checks on the controller that the robot stands at the start state (every axis within tolerance, 1° by default) and otherwise stops without moving anything. ABB uses CJointT, KUKA $AXIS_ACT; FAIRINO needs a start_check template in the cell dialect — without it the program warns that the start is not checked;
- moves to that pose first, and the motion check covers the way from there to the first seam.
Without a confirmed start state the motion check does not become "verified" — the program then needs a waiver with a reason.