promotional bannermobile promotional banner

SPC Soft Comfort

Bridge your in-game Siemens LOGO! from the Stored Program Controls Mod to a real one

SPC Soft Comfort

Bridge your in-game Siemens LOGO! to a real one.

SPC Soft Comfort is an optional addon for Stored Program Controls that lets the in-game LOGO! controller exchange signals with a real Siemens LOGO! 8 controller over Modbus TCP. Flip a lever in Minecraft, and a real-world output turns on. Press a real-world button, and an in-game lamp lights up.

This addon is for makers, automation hobbyists, and anyone who wants to use Minecraft as a soft-PLC training environment connected to actual hardware.


Requirements

  • Minecraft 1.21.1 + NeoForge
  • Stored Program Controls base mod
  • A real Siemens LOGO! 8 (0BA8) or LOGO! 8.3 with Ethernet, on the same network as your PC
  • LOGO! Soft Comfort V8.x (for configuring the real LOGO!)
  • Singleplayer / integrated server only — multiplayer is not supported in this version

What it adds

LOGO Modbus Server block Place in-world, connects to the in-game CAT-network, talks Modbus TCP to a real LOGO!
Register Read (Bool) node Reads a digital signal from the real LOGO! into your in-game program
Register Write (Bool) node Writes a digital signal from your in-game program out to the real LOGO!
6 new crafting items LOGO Modbus Core + 5 components (Modbus Transceiver Chip, Crystal Oscillator, Flash Memory Module, Optoisolator, Terminal Block). All recipes show up in JEI.

The full crafting tree builds up from base-mod components (circuit boards, machine frames, copper wire, etc.) through tier-2 electronics into the Modbus Core, then into the server block. No mystery items — every part has a real-world counterpart.


Quick setup — Minecraft side

  1. Craft a LOGO Modbus Server and place it next to your in-game LOGO! Processing Unit.
  2. Wire it to the network with a CAT6a or CAT7 cable (from the base mod) so the Programming Block can see it.
  3. Right-click the block to open its configuration GUI.
  4. In the GUI:
    • Set the Real LOGO IP field to the IP address of your physical LOGO! controller (see 1. Configure the LOGO!'s IP address).
    • Add a Register entry for each signal you want to exchange. You'll need:
      • Channel name (your label, e.g. lamp1)
      • DirectionREAD (in-game reads from real LOGO!) or WRITE (in-game writes to real LOGO!)
      • Register typeCOIL, DISCRETE_INPUT, HOLDING_REGISTER, or INPUT_REGISTER
      • Address + optional bit index (for 16-bit register types)
  5. Open your in-game program in the editor. The two new nodes appear under External I/O:
    • Register Read (Bool) — pick the server (by CAT-network IP), then pick a readable channel.
    • Register Write (Bool) — pick the server, then pick a writable channel.
  6. Wire those nodes into your logic and deploy the program.

That's it on the Minecraft side. The block polls the real LOGO! at ~5 Hz by default and pushes outbound writes at ~10 Hz.


Quick setup — Real LOGO! Soft Comfort side

In LOGO! Soft Comfort:

  1. Open or create your circuit program.
  2. Tools → Ethernet Connections
  3. Turn on "Allow Modbus access"
  4. In the Field below, right-click "Ethernet Connections", click Add Server Connection → Modbus Connection

1. Configure the LOGO!'s IP address

In LOGO! Soft Comfort:

  1. Open your circuit program.
  2. Tools → Ethernet Connections
  3. Connect to your LOGO! and confirm its IP — e.g. 192.168.0.50. This is the IP you'll enter in the Minecraft block.
  4. Make sure your Minecraft PC is on the same subnet.

2. Look up the Modbus address for the signal you want

The LOGO! 8 manual (chapter "Communication with Modbus") has the full address table. The most useful ones:

What you want to bridge Modbus type Address range
Inputs I1 – I24 (real-world buttons, sensors) Discrete Input 1 – 24
Outputs Q1 – Q20 (real-world relays, lamps) Coil 8193 – 8212
Marker bits M1 – M64 (program-internal flags) Coil 8257 – 8320
Function keys F1 – F4 (LOGO! TDE) Discrete Input 1025 – 1028
Analog inputs AI1 – AI8 Input Register 1 – 8
Analog outputs AQ1 – AQ8 Holding Register 513 – 520
Variable memory V0 – V850 Holding Register 1 – 851

3. Wire the signals in your LOGO! program

Use the function blocks you would normally use:

  • To let Minecraft read the state of input I1 → no extra LOGO! work needed; just configure a Register Read channel on Discrete Input address 1 in the Minecraft block.
  • To let Minecraft drive output Q1 → in your LOGO! program, leave Q1 unwired (or wire it through OR with whatever else drives it). Then configure a Register Write channel on Coil address 8193 in the Minecraft block.
  • To bridge a marker M5 (so both sides can read/write it) → use Coil address 8261 with direction BIDIRECTIONAL.

4. Download the program to the LOGO!

Tools → Transfer → PC → LOGO! (Ctrl + D). Once the LOGO! is in RUN mode, the Modbus TCP server is live.

5. Test it

In Minecraft, enter command "/spcsoftcomfort status". If it shows "status = connected", you did everything right. If not, look at the steps again and fix, then re-run the command.

You can test if your Modbus bits actually flip with this command, for an example of a write bit called "mc_start" in a Modbus Server block placed at 5 75 6 with a command like this:

"/spcsoftcomfort e2e write 5 75 6 mc_start true", or just click the "0" in your Modbus Server Block.

If your connected real life lamp turns on, it worked. If you just hear a relais click but no turn on where you expected it, your stored program in your real LOGO overwrites the state instantly. If you can, any input on your real Q, if you cannot do that, add a Network Input in LOGO! Soft Comfort, link that via e.g. OR to your Q. The register in the Modbus Server block now does not need "8193" as address anymore, but the one you configured in LOGO! Soft Comfort for the Network Input, per default 0.


Worked example: a real button lights up an in-game lamp

Goal: press a physical button connected to the real LOGO! → an in-game lamp turns on.

  1. Wire your physical button to LOGO! input I1.
  2. In the Minecraft Modbus Server block, add a register:
    • Channel: real_button
    • Direction: READ
    • Type: DISCRETE_INPUT
    • Address: 1
  3. In your in-game LOGO! editor, drop a Register Read (Bool) node:
    • Server IP: pick the Modbus Server block's IP from the dropdown
    • Bit: real_button
  4. Wire its output to a Display Unit or Output Block in-game.
  5. Deploy the program and start it.

Press the real button — the in-game lamp comes on. That's a complete round trip from physical hardware → Modbus TCP → in-game logic → Minecraft world.


Limitations (current version)

  • Boolean signals only. Holding/input registers are treated as 16 individual bits (selectable via the bit-index field). Full word/integer/analog values are on the roadmap.
  • Modbus TCP only. No RTU (serial) support.
  • Singleplayer / integrated server only. Multiplayer is intentionally disabled — the bridge talks to physical hardware on your LAN, and that doesn't compose well with shared servers in a safe way.
  • No automatic discovery. You enter the real LOGO!'s IP manually.

Safety note

This mod talks to real industrial hardware. If you wire your LOGO! to anything that controls real loads (mains-voltage relays, motors, heating, etc.), you are responsible for the safety of that installation. Use proper isolation, test on the bench first, and never leave Minecraft as the sole controller of anything that matters.


License & source

  • This addon is independently developed and is not affiliated with or endorsed by Siemens AG.

The SPC Soft Comfort Team

profile avatar
Owner
  • 4
    Followers
  • 41
    Projects
  • 44.1K
    Downloads

More from Livi_LPView all

  • Stored Program Controls [SPC] project image

    Stored Program Controls [SPC]

    • 186
    • Mods

    Brings industrial logic controls into Minecraft based on Siemens LOGO! Systems.

    • 186
    • April 25, 2026
    • Mods
    • +4
  • SPC Core project image

    SPC Core

    • 65
    • Mods

    The official API library for Stored Program Controls, providing the shared foundation for addons, integrations, and compatibility with other mods.

    • 65
    • April 25, 2026
    • Mods
  • Alechemy project image

    Alechemy

    • 35
    • Mods

    Step into Alechemy — a cozy craft-brewery adventure where biome waters, wild hops, and humble grains become your own named brews.

    • 35
    • September 1, 2025
    • Mods
    • +3
  • Usefull Stone Variants project image

    Usefull Stone Variants

    • 19.6K
    • Mods

    You think Andesite, Diorite and Granite are Useless? Yes thats Right but with this Mod no more

    • 19.6K
    • July 16, 2025
    • Mods
    • +1
  • Stored Program Controls [SPC] project image

    Stored Program Controls [SPC]

    • 186
    • Mods

    Brings industrial logic controls into Minecraft based on Siemens LOGO! Systems.

    • 186
    • April 25, 2026
    • Mods
    • +4
  • SPC Core project image

    SPC Core

    • 65
    • Mods

    The official API library for Stored Program Controls, providing the shared foundation for addons, integrations, and compatibility with other mods.

    • 65
    • April 25, 2026
    • Mods
  • Alechemy project image

    Alechemy

    • 35
    • Mods

    Step into Alechemy — a cozy craft-brewery adventure where biome waters, wild hops, and humble grains become your own named brews.

    • 35
    • September 1, 2025
    • Mods
    • +3
  • Usefull Stone Variants project image

    Usefull Stone Variants

    • 19.6K
    • Mods

    You think Andesite, Diorite and Granite are Useless? Yes thats Right but with this Mod no more

    • 19.6K
    • July 16, 2025
    • Mods
    • +1