Repository navigation
Machine FG_01
This page is generated from the Unity twin. Published from
_docs/context/fg-01.md— edit it there, not here. Changes made in the wiki are overwritten on the next sync.
| Scene path | Project/FG_01 |
| Twin PLC path | MAIN.FG_01 |
| Served by |
Index01 (FG_Transport) |
| Symbols | 9 |
| Behaviour | fg-01-behaviour.md |
Identifies the payload and applies a laser mark. The camera reads the serial number the part carries; the mark content is abstract, and FG_02 reads it back.

The FG_01 identify and mark station, isolated.
| # | Device | Type | Twin FB | Twin PLC path | What it does |
|---|---|---|---|---|---|
| 1 | Y_Gate1 |
Cylinder | FB_Cylinder |
MAIN.FG_01.Y_Gate1 |
Guard gate cylinder. Closes to shield the cell during laser marking and opens to let pallets pass. Normal state gate opened (Home Position) (Top Position) |
| 2 | Y_Gate2 |
Cylinder | FB_Cylinder |
MAIN.FG_01.Y_Gate2 |
Guard gate cylinder. Closes to shield the cell during laser marking and opens to let pallets pass. Normal state gate opened (Home Position) (Top Position) |
| 3 | Y_ReaderWindow |
Cylinder | FB_Cylinder |
MAIN.FG_01.Y_ReaderWindow |
Pneumatic window in front of P_Reader, doubling as the camera shield. Closed while the laser fires, opened for the read. |
| 4 | Y_Platform |
Cylinder | FB_Cylinder |
MAIN.FG_01.Y_Platform |
Moves the laser head. Service mode only - SequenceUnit1 takes override control of it on enable and releases on disable, but never actuates it during the normal cycle. |
| 5 | B_SafetyGate1 |
SensorBinary | FB_SensorBinary |
MAIN.FG_01.B_SafetyGate1 |
Safety sensor monitoring a guard gate position. |
| 6 | B_SafetyGate2 |
SensorBinary | FB_SensorBinary |
MAIN.FG_01.B_SafetyGate2 |
Safety sensor monitoring a guard gate position. |
| 7 | Y_LaserMark |
LinkByte | FB_DeviceByte |
MAIN.FG_01.Y_LaserMark |
— |
| 8 | Y_Gripper |
Cylinder | FB_Cylinder |
MAIN.FG_01.Y_Gripper |
Two finger clamp that holds the payload steady for the duration of marking and reading. |
| 9 | P_Camera |
DataReader | FB_Camera |
MAIN.FG_01.P_Camera |
Reads the serial number the payload carries. It runs after the laser fires but does not verify the mark - FG_02 does that. |
# is the numbered arrow on the figure above.
The twin path is not the control path. A control platform spells these devices differently - it may fold a twin child into its parent unit, or address it from another root entirely - and only the control spelling works in a binding or a link, where the twin's fails silently. The verified control path for each row is on the vendor page linked below.
Control is what the PLC writes and the twin obeys; Status is what the twin reports and the PLC reads. Which member a device uses is on its device type page.
| Symbol | Meaning |
|---|---|
Control.0 |
enable |
Control.1 |
trigger |
Status.0 |
Ready |
Status.1 |
Busy |
Status.2 |
ResultValid |
Status.3 |
ResultOK |
2 of 8 control bits and 4 of 8 status bits used. The remaining bits are unused and unmapped. ResultOK is meaningless unless ResultValid is set.
The scene tree. The comment on each line is what the node is; † marks one that differs between scenes.
Barcode Reader: # grouping, not a device
P_Camera: # DataReader
Y_ReaderWindow: # Cylinder
Axis: # grouping, not a device
Laser Unit: # grouping, not a device
Y_Platform: # Cylinder
Axis: # grouping, not a device
Y_LaserMark: # LinkByte
DataReader: # grouping, not a device
Y_Gripper: # Cylinder
Finger_1: # grouping, not a device
Finger_2: # grouping, not a device
Y_Gate1: # Cylinder
Axis: # grouping, not a device
Y_Gate2: # Cylinder
Axis: # grouping, not a device
B_SafetyGate1: # SensorBinary
B_SafetyGate2: # SensorBinaryTwin animation: SequenceUnit1.cs — behaviour contract is in transport-behaviour.md
Barcode Reader — MAIN.FG_01.Barcode Reader · not a PLC symbol
- Function — Verification sub assembly - the optical reader behind a pneumatic window that shields it while the laser fires.
P_Camera — MAIN.FG_01.P_Camera · DataReader
- Signal — Enable, then trigger; reads back Ready, Busy, ResultValid and ResultOK. The twin echoes the two control bits and hands over the datum; the verdict is synthesised in OC_SIM FB_Camera.
Y_ReaderWindow — MAIN.FG_01.Y_ReaderWindow · Cylinder
- Signal — Double solenoid with both limits read. EXTENDED opens the window for the read; retracted shields the optics and is home.
Axis — `` · not a PLC symbol
- Function — Kinematic axis that slides the reader window in front of the camera.
- Twin — OC Axis driven by the Y_ReaderWindow cylinder. The window doubles as the camera shield during marking.
Laser Unit — MAIN.FG_01.Laser Unit · not a PLC symbol
- Function — Marking sub assembly - the laser head, its service mode platform cylinder and the kinematic axis they ride on.
Y_Platform — MAIN.FG_01.Y_Platform · Cylinder
- Signal — Double solenoid with both limits read. Service positioning of the laser head. Never actuated during the production cycle.
Axis — MAIN.FG_01.Axis · not a PLC symbol
- Function — Kinematic axis carrying the laser head, driven by the Y_Platform service cylinder.
Y_LaserMark — MAIN.FG_01.Y_LaserMark · LinkByte
- Signal — One control bit out enables the laser module; held high for 1 s it applies the mark. NO status bits - the PLC gets no confirmation that it fired.
- Twin — LinkByte plus ActorStateColor for the beam visual. Its DataReader child is what actually writes the mark onto the payload.
- Approximation — The mark is one number written to a payload key, not geometry. Nothing is engraved and nothing can be inspected other than by reading that key back.
DataReader — `` · not a PLC symbol
- Function — Writes the LaserMark datum onto the payload under the laser.
- Twin — OC DataReader on a Rigidbody - despite the name it both reads and writes, via Read() and Write(float). Keyed by _key, which here is LaserMark.
- Caution — FG_01 WRITES LaserMark here but READS SerialNumber with its camera. It never verifies its own mark - FG_02 is what reads LaserMark back.
Y_Gripper — MAIN.FG_01.Y_Gripper · Cylinder
- Signal — Double solenoid with both limits read. EXTENDED clamps the payload for marking and reading; retracted releases.
Finger_1 — `` · not a PLC symbol
- Function — One jaw of a two-finger gripper. Cosmetic kinematics only.
- Twin — OC Axis driven by the gripper cylinder. Carries no payload itself - the Gripper sibling holds it.
Finger_2 — `` · not a PLC symbol
- Function — One jaw of a two-finger gripper. Cosmetic kinematics only.
- Twin — OC Axis driven by the gripper cylinder. Carries no payload itself - the Gripper sibling holds it.
Y_Gate1 — MAIN.FG_01.Y_Gate1 · Cylinder
- Role — Guard gate 1. Must be closed before the FG_01 laser may fire.
- Signal — Extending CLOSES the gate, retracting OPENS it, and retracted is home - the opposite sense to a transport stopper. Both limits are read; the two gates are commanded together.
Axis — `` · not a PLC symbol
- Function — Kinematic axis that swings the laser guard gate.
- Twin — OC Axis on the Gate Typ 1 prefab.
- Caution — EXTENDING CLOSES the gate; retracted is home and OPEN. The opposite sense to a transport stopper, and the thing most often got backwards here.
Y_Gate2 — MAIN.FG_01.Y_Gate2 · Cylinder
- Role — Guard gate 2. Must be closed before the FG_01 laser may fire.
- Signal — Extending CLOSES the gate, retracting OPENS it, and retracted is home - the opposite sense to a transport stopper. Both limits are read; the two gates are commanded together.
Axis — `` · not a PLC symbol
- Function — Kinematic axis that swings the laser guard gate.
- Twin — OC Axis on the Gate Typ 1 prefab.
- Caution — EXTENDING CLOSES the gate; retracted is home and OPEN. The opposite sense to a transport stopper, and the thing most often got backwards here.
B_SafetyGate1 — MAIN.FG_01.B_SafetyGate1 · SensorBinary
- Role — Monitors guard gate 1 for the FG_01 laser interlock.
- Signal — Binary presence sensor. Monitors a guard gate. Must be Active, with both gates at their extended limit, before the laser may fire.
B_SafetyGate2 — MAIN.FG_01.B_SafetyGate2 · SensorBinary
- Role — Monitors guard gate 2 for the FG_01 laser interlock.
- Signal — Binary presence sensor. Monitors a guard gate. Must be Active, with both gates at their extended limit, before the laser may fire.
The twin is master for structure, and that is all this page states. The control module, the twin device layer, the verified control PLC paths and the terminal mapping is the control platform's own knowledge base:
- Beckhoff
- Siemens — no knowledge base published yet
Generated from DT_PSA_OPCV by _workflow/tools/build_wiki.py — 39 pages. Edit the source there; changes made here are overwritten.
Getting started
- Home
- Setup
- Using-The-Application
- How-It-Works
- PLC-Connectivity
- Engineering-Workflow
- Machine-Description
- Glossary
The machine
- Machine
- Machine-PLC-Symbols
- Machine-Provenance
- Machine-FG_01
- Machine-FG_02
- Machine-FG_03
- Machine-FG_04
- Machine-FG_05
- Machine-FG_System
- Machine-FG_Transport
Behaviour
- Behaviour-FG_01
- Behaviour-FG_02
- Behaviour-FG_03
- Behaviour-FG_04
- Behaviour-FG_05
- Behaviour-FG_System-Safety
- Behaviour-Gripper-Station-Reset
- Behaviour-State-Lamp
- Behaviour-Transport
Device types
- Device-Button
- Device-ControlBunker
- Device-Cylinder
- Device-DataReader
- Device-DrivePosition
- Device-DriveSimple
- Device-Lamp
- Device-LinkByte
- Device-Lock
- Device-PanelSampler
- Device-SensorBinary
- Device-SignalBinary
Control platforms
- Beckhoff TwinCAT 3
- Siemens TIA Portal — no wiki yet