Line automation
The line is built from units: each has its own logic and state, and the commissioning engineer sees the whole line in one window — even when units come from different vendors.
A new unit — without reworking the rest
A unit is a module
Each line unit is described separately: inputs, outputs, steps. Adding a unit does not touch the neighbours' logic.
Logic the commissioning engineer can read
The sequence of steps and transition conditions — in IEC 61131-3 languages familiar to a control systems engineer.
State of each unit
Running, waiting, error — for each unit and for the line as a whole; the reason for a stop is visible on screen.
Line logic verified before start-up
- Promise
- Logic errors are found at the desk, not at the machine.
- How it works
- A unit in the twin → the real program against the simulator → the same model runs in parallel with the real line — as the shadow.
- What you get
- Unit test run in the browser — today; shadow mode with «model expected — sensor silent» deviations — a subject of the implementation.
- Who it is for
- Integrators and plants whose line is made of units from different vendors.
- Next
- Virtual commissioning and line shadow →
A unit is the axes, inputs and outputs of a mechanism
An automation unit is the axes, outputs and inputs of a physical mechanism: a robot arm, a welding positioner, a track, a gripper, a conveyor. In the platform it is described as a block — a set of channels and the logic that goes with it.
A machine executes G-code and derives the toolpath from the part. A unit executes an IEC 61131-3 program, and its path is named by the author. A unit succeeds when the cycle reaches the final step and the unit is in the PackML Complete state.
That is why a motion program can be written both for a three-axis mill and for a single-axis conveyor: being “machine-like” is a capability of the mechanism, not its breed.
| Channel | Name in the program | What it is |
|---|---|---|
| Axes | srv0, srv1, … | Driven joints — what moves |
| Digital inputs | di0, di1, … | Sensor points |
| Digital outputs | do0, do1, … | Actuator ports |
| Analog inputs | ai0, ai1, … | Pressure, temperature, level, weight, current, flow, distance, force |
The axis role selects the drive mode
| Role | Drive mode | Units | What it is |
|---|---|---|---|
| Linear axis | by position | mm | A straight axis: travel along a coordinate — slide, feed, conveyor |
| Joint | by position | ° | Rotary axis between links: angle |
| Spindle — rotation | by velocity | rpm | Rotation without a target: conveyor, auger, spindle |
| Spindle — tightening | by torque | N·m | Screwing, press-fitting, clamping |
Role and mechanism are different things
A conveyor belt and a crane mast are both linear by role, but look and behave differently. The axis mechanism is chosen separately: belt, pusher, gantry axis, mast, fork, rotary table, auger, screwing spindle, press ram, film feed, probe axis, local feed.
Analog signal format
4–20 mA — a break is visible: zero is impossible on a healthy line. 0–20 mA, 0–10 V, ±10 V — a break is not visible. Break monitoring is set separately: a window on the raw signal, a health input or “not monitored”.
The drive datasheet is not decoration
A block with an incomplete datasheet carries the “datasheet incomplete” tag, and if a start on drives is impossible without it — “servo start will be refused”. The refusal is named in advance, not at the moment of start.
What a port does and what a sensor knows
A role is not a terminal address but a declaration of meaning. From it the program author is offered an action, and the operator gets a clear on-screen label.
| Output | Action | What it means |
|---|---|---|
| Grip | grip / release | The manipulator gripper holds the part while the output is on |
| Clamp | clamp / unclamp | Clamping a part in position: table, jig, pallet lock |
| Stopper | hold / pass | Stopping the flow: a conveyor stopper, a magazine separator |
| Valve | open / close | Pneumatics or media: air, blow-off, dosing |
| Marker | mark the part | Marking a part by the inspection result |
| Applicator | apply | Label, stamp, embossing |
| Diverter | divert flow | A route fork in sorting |
| Vacuum | suck / release | Vacuum grip: the meaning of a grip, different physics |
| Glue | apply glue | Feeding glue or sealant onto a seam |
| Feeder | feed a part | Feeding a single part from a magazine |
| Input | Action | What it means |
|---|---|---|
| Part present | wait for part | A part is in the zone — the most common line sensor |
| Arrived at point | wait for arrival | The mechanism has arrived: a position limit switch |
| Event | wait for event | An external flow event: a box arrived, a start from a neighbour |
| Inspection verdict | wait for verdict | The gauge’s answer: pass or reject |
| Fill level | wait for fill | Level reached: doser, hopper, container |
| Force reached | wait for force | Confirmation of clamping or tightening |
| Grip confirmed | wait for confirmation | The gripper has closed on the part: “picked”, not “command sent” |
| Label gap | wait for label | The gap between labels — feed synchronisation |
A unit is offered only its own actions: a block without a presence sensor is never offered “wait for part”. A blind pause is a timeout without a named outcome, and it ends in a false success.
A unit from a brought-in mechanism
A catalogue sample is a ready unit: a mechanism with geometry, a channel datasheet and an example program. The channel set is not written by hand but read from the mechanism file: how many moving joints, what they are called, what their travel limits are.
The catalogue has a 6-axis arm, a 7-axis arm, welding positioners, a seventh-axis track, a two-finger gripper and an empty block. The empty block is a valid start: axes, inputs and outputs are added by hand, the mechanism is brought in as a file.
Sample numbers are marked
A number inherited from a sample carries a “typ.” badge — a typical template number, not a measurement of your hardware. While the mark is there, it is a starting point for discussion.
Every channel remembers its source
What the sample brought and what the engineer added by hand is visible on each axis and port. Additions are not lost when the sample is updated.
The hardware binding is empty
Drive, joint and pin are set on a specific test bench during commissioning. The start checks the binding and refuses if it is missing.
Mimic joints are not supported: where a mechanism declares a joint as following another, the program addresses the leading one explicitly. The full list of equipment kinds is in the library.
From one unit to a line
- Assign to a test benchA unit lives in the cloud but runs on the box. The description of axes and channels, the loop profile and the current program are sent there.
- Starting one unitA one-unit project: you feed the inputs by forcing. Mode — virtual servos or drives; “In cycle” — run until “Stop”.
- Build a projectA project is one line zone: a 3D scene of units and a procedure. Units sit on one or several test bench machines.
- Connect on the “Graph”A wire from one unit’s output to another unit’s input: a “writer Status → reader Command” tag, one writer per link.
- Line start and stopOne button by the actual state, next to it — a “simulation / drives” switch.
The package on the box is self-contained
The cycle runs on the box; the cloud receives facts and sends intent — the program and the “run” and “stop” commands. Jog and raw drive commands stay at the equipment.
Only one party holds the bus
If another mode has taken the bus, the platform says which one: commissioning or the automation cycle. Units are swapped “hot”, without restarting the machine.
Places are formal
The program knows Pick and Place; the project specifies the actual point: the neighbouring conveyor, the floor. Goods leave one unit’s output and enter another unit’s input.
Before start — a bus snapshot
A start on drives checks the units’ drives against a snapshot of the test bench bus. A drive is unavailable — a refusal with the reason in words. A machine in the project comes up first, units after it.
The safety circuit is not made of tags
It runs separately; tag wiring does not replace it. Units communicate only through tags; links between them are virtual.
Export to AutomationML
The project is exported to AutomationML: ISA-88 roles, PackML tags as signal interfaces, links along the graph edges.
All unit tracks on one time scale
The unit cockpit shows servos, inputs and outputs at once: “who turns when” is read at a glance. On the left of each track — drive state, input lamp and live position.
The oscilloscope unfolds under the selected track on the same time scale: cursors line up with program blocks, and you can see which step produced a spike.
| Quantity | Unit | Meaning |
|---|---|---|
| Position | mm / rev | Where the axis is now |
| Velocity | mm/s / rev/s | How fast it moves |
| Torque | ‰ | Per mille of the drive’s rating |
| Lag | rev | How far the axis lags behind the command |
The four-window rule: any unit setting reads the same in the twin, on the test bench, in the commissioning tool and on the panel at the equipment. A channel set up in only one of the four would leave the operator blind.
Second module: links units into a line
Programs come from the model screen, commands go to your drives — the other modules in the diagram are clickable.
What exactly the engineer gets
A line of units
- What counts as a unit
- Machine, robot, conveyor, positioner, wrapper, stacker — any piece of equipment with its own cycle.
- Different vendors
- Units from different suppliers are controlled and monitored in one window.
- Inputs and outputs
- Sensors and actuators — on the same bus as the drives.
Operating logic
- Language
- Controller programming languages per IEC 61131-3.
- Steps and transitions
- The sequence of unit operations and the conditions for moving to the next step.
- Linking units
- The neighbour unit's readiness conditions are written in the logic explicitly — they can be seen and checked.
- Check
- The logic runs on the line model before start-up on the equipment. How verification works →
States and diagnostics
- States
- Running, waiting, error — for each unit; the overall line state on top.
- Reason for a stop
- Which unit stopped the line and at which step — visible on screen.
- Machine panel
- Start, stop and state — without the cloud.
Stage “SFC logic and cycle time”
- Timeline
- In the implementation contract
- Result
- The cells’ SFC logic and the line cycle time on virtual axes — the second act of the implementation.
- Price
- Per line cell, minimum 3 cells — in the “Implementation” block below on this page.
Compatibility — by open specifications
| Standard | What we follow | Where it is verified |
|---|---|---|
| EtherCAT | bus for drives and couplers; the master brings slaves up to OP | works on the test bench |
| CiA 402 | drive profile: states, CSP and CSV modes; servo drives from different manufacturers on the test bench | works on the test bench |
| IEC 61131-3: ST and SFC | unit logic; compiler check; execution on the test bench | works on the test bench |
| PLCopen Motion | axis motion blocks in the unit program | works |
| ISA-88 | unit model: a unit of modules, a module of channels | works |
| PackML | unit states and Command/Status tags | works |
| AutomationML | line project export; import in external systems is a subject of the implementation | export available |
| CANopen | drive on the test bench: travel measured | verified on the test bench |
For an integrator this means: the logic, bus and drives of your line can be read, verified and maintained by open specifications.
Key points for this module
- Open standards— logic in IEC 61131-3, drives over EtherCAT/CiA402: your commissioning engineer understands and edits the system on their own.
- On your equipment— we connect the drives, machines and robots you already have or choose yourself; no need to buy a fleet from one vendor.
Discuss an implementation
A unit or line where units from different vendors must be made to work together.
Unit logic and an experimental control configuration within an R&D stage.
Test protocol: cycles/h, faults — published with your consent.
Questions about the module
Can our commissioning engineer edit the logic on their own?
The logic is written in IEC 61131-3 languages — a control systems engineer knows them. What is handed over to your team is fixed in the implementation specification.
Do we need to change the WMS or MES?
It works alongside your WMS/MES and warehouse platforms — we are responsible for the equipment level.
What if a unit from another vendor is not supported?
Unit compatibility is checked at the start of the implementation and fixed in the specification; if a unit needs separate work, that is part of the research.
Can we start with one unit?
The implementation is priced by line cells, minimum 3 cells; a cell is a line unit. The rest of the line — as a next stage based on the acts.
Implementation under an R&D contract
Line virtual commissioning implementation: price per line cell, minimum 3 cells; payment in stages by acts.
- Model and cell layoutYour line’s cells in the twin: mechanisms from the library or from your STEP, layout on the site.
- SFC logic and cycle timeThe cells’ SFC program is run on virtual axes; the line cycle time comes from the run.
- Report and run videoA report on conflicts and reachability and a video of the line run.
A cell is a line unit (an ISA-88 unit). Scope — mechanisms from our library or the customer’s STEP, no modelling from scratch.
Implementation price and terms →We will bring your line's units into one window
Tell us which units your line has and whose equipment it uses — we will reply with the price and timeline of the stage.
Request access