Skip to content

Machine FG_01

github-actions[bot] edited this page Sep 15, 2026 · 1 revision

FG_01 in TwinCAT

This page is generated from the machine handoff and the TwinCAT solution. Published from _docs/context/fg-01.md — edit it there, not here. Changes made in the wiki are overwritten on the next sync.

The control side only. What FG_01 is - its scene hierarchy, its devices and everything a human authored about it - is in the main repo: FG_01.

Twin PLC path MAIN.FG_01
Control PLC path MAIN.Machine.FG_01
Module FG_01 EXTENDS FB_PackML_BaseModule
Served by Index01 (FG_Transport)
Devices 9
Behaviour fg-01-behaviour.md

Components

Symbol Device type Twin FB Control PLC path I/O Linked
B_SafetyGate1 SensorBinary FB_SensorBinary MAIN.Machine.FG_01.B_SafetyGate1 1 1
B_SafetyGate2 SensorBinary FB_SensorBinary MAIN.Machine.FG_01.B_SafetyGate2 1 1
P_Camera DataReader FB_Camera MAIN.Machine.FG_01.P_Camera 2 2
Y_Gate1 Cylinder FB_Cylinder MAIN.Machine.FG_01.Y_Gate1 3 3
Y_Gate2 Cylinder FB_Cylinder MAIN.Machine.FG_01.Y_Gate2 3 3
Y_Gripper Cylinder FB_Cylinder MAIN.Machine.FG_01.Y_Gripper 4 4
Y_LaserMark LinkByte FB_DeviceByte MAIN.Machine.FG_01.Y_LaserMark 2 2
Y_Platform Cylinder FB_Cylinder MAIN.Machine.FG_01.Y_Platform 4 4
Y_ReaderWindow Cylinder FB_Cylinder MAIN.Machine.FG_01.Y_ReaderWindow 4 4

The twin path is not the control path. Only the control PLC path works in an HMI binding or a TcLinkTo pragma, and the twin's spelling fails silently in both.

SIM_1

POU TwinCAT_1/PLC/SIM_1/FG_01/FG_01.TcPOU
In .plcproj yes
Mapping targets GVL_EtherCAT_1_SIM
Mapping lines 43

Only the Mapping action is ours. The {region generated code} block belongs to OC Assistant and is overwritten on the next twin regeneration.

PLC_1

POU TwinCAT_1/PLC/PLC_1/Modules/11 FG_01/FG_01.TcPOU
In .plcproj yes
PackML states Execute, Aborting, Clearing, Stopping, Resetting
Fault codes 1, 2, 3
HMI struct ST_HMI_FG_01

Fault codes are read from _FaultCode := in the ST. What each one means is behaviour and lives in the reference page named in the header.

Mapping

Process image member Dir Terminal Via
B_SafetyGate1.HardwareInput IN FG_01_EL1008_2 channel 5 Mapping_PLC.xml
B_SafetyGate2.HardwareInput IN FG_01_EL1008_2 channel 6 Mapping_PLC.xml
P_Camera.InputData IN FG_01_EL1859_1 channel 8 Mapping_PLC.xml
P_Camera.OutputData OUT FG_01_EL1859_1 channel 16 Mapping_PLC.xml
Y_Gate1.ExtendedSensor IN FG_01_EL1008_2 channel 2 Mapping_PLC.xml
Y_Gate1.RetractedSensor IN FG_01_EL1008_2 channel 1 Mapping_PLC.xml
Y_Gate1._ExtendOutput OUT FG_01_EL2008_1 channel 7 Mapping_PLC.xml
Y_Gate2.ExtendedSensor IN FG_01_EL1008_2 channel 4 Mapping_PLC.xml
Y_Gate2.RetractedSensor IN FG_01_EL1008_2 channel 3 Mapping_PLC.xml
Y_Gate2._ExtendOutput OUT FG_01_EL2008_1 channel 8 Mapping_PLC.xml
Y_Gripper.ExtendedSensor IN FG_01_EL1008_1 channel 2 Mapping_PLC.xml
Y_Gripper.RetractedSensor IN FG_01_EL1008_1 channel 1 Mapping_PLC.xml
Y_Gripper._ExtendOutput OUT FG_01_EL2008_1 channel 1 Mapping_PLC.xml
Y_Gripper._RetractOutput OUT FG_01_EL2008_1 channel 5 Mapping_PLC.xml
Y_LaserMark.InputData IN FG_01_EL1859_2 channel 8 Mapping_PLC.xml
Y_LaserMark.OutputData OUT FG_01_EL1859_2 channel 16 Mapping_PLC.xml
Y_Platform.ExtendedSensor IN FG_01_EL1008_1 channel 4 Mapping_PLC.xml
Y_Platform.RetractedSensor IN FG_01_EL1008_1 channel 3 Mapping_PLC.xml
Y_Platform._ExtendOutput OUT FG_01_EL2008_1 channel 2 Mapping_PLC.xml
Y_Platform._RetractOutput OUT FG_01_EL2008_1 channel 3 Mapping_PLC.xml
Y_ReaderWindow.ExtendedSensor IN FG_01_EL1008_1 channel 6 Mapping_PLC.xml
Y_ReaderWindow.RetractedSensor IN FG_01_EL1008_1 channel 5 Mapping_PLC.xml
Y_ReaderWindow._ExtendOutput OUT FG_01_EL2008_1 channel 4 Mapping_PLC.xml
Y_ReaderWindow._RetractOutput OUT FG_01_EL2008_1 channel 6 Mapping_PLC.xml

24 members, 24 linked, 0 unlinked. A declared but unlinked signal compiles and is silently dead - see plc-io.md for the channel map and plc-io-exceptions.md for the ones that are unlinked on purpose.

Clone this wiki locally