Learn FACTORYIO-MACROS with Real Code Examples
Updated Nov 27, 2025
Practical Examples
Auto-start a conveyor when a part enters a zone
Create a timed piston extension with delay
Toggle a machine state on repeated sensor triggers
Simulate machine warm-up sequences
Implement custom part sorting logic
Troubleshooting
Check if tags are bound correctly
Verify sensor orientation and trigger distance
Check macro execution order
Review simulation logs for errors
Watch value changes in real-time tag monitor
Testing Guide
Use live tag monitoring
Enable slow-motion simulation
Test boundary conditions (empty vs. full)
Simulate sensor misreads for robustness
Validate sequence timing with timers
Deployment Options
Macros embedded directly in the scene file
Export the .factoryio scene
Share within training labs
Integrate with external PLC later
Cloud/VM-ready for remote training
Tools Ecosystem
Factory I/O Tag Viewer
Macro Editor Window
Scene Designer
External PLC drivers (Modbus, OPC, Siemens, Allen-Bradley)
3D model library
Integrations
Modbus TCP
OPC UA/DA
Siemens S7 driver
Allen-Bradley EtherNet/IP
Custom TCP/UDP bridges through tags
Productivity Tips
Duplicate objects with macros for consistency
Use templates for repeating machine behavior
Leverage slow-motion mode when debugging
Name tags meaningfully (sensor_in, motor_out)
Build logic incrementally
Challenges
Understanding simulation timing
Managing multiple macros in large scenes
Creating reliable sequences
Aligning virtual sensors correctly
Debugging event interactions