Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Virtual PLC Lab: Ladder Logic Control of a Filling Tank with Factory I/O and OpenPLC over Modbus TCP

Description and use

A virtual PLC lab using Factory I/O and OpenPLC over Modbus TCP enables ladder logic practice for tank control without physical hardware.

Problem

Learn PLC programming without owning physical hardware by creating a virtual rig that simulates a tank, valves, and buttons using Factory I/O and OpenPLC connected over Modbus TCP.

Outcome

The virtual rig successfully demonstrates ladder logic control of a filling tank, meeting all specified requirements: single‑press start, timed stop, interlock, status lamps, and live countdown display.

Workflow

  • Install Factory I/O and open the "3 - Filling Tank (Timers)" scene. Read tag names for address mapping. Install OpenPLC Runtime and start it. Verify runtime logs show Modbus slave listening on 502, master connected, and PLC RUNNING. Create an OpenPLC project and connect the editor to the runtime. Configure the PLC’s Modbus slave server (port 502, slave ID 1). Add a remote Modbus device pointing to Factory I/O’s IP and port 502. Map Factory I/O tags to PLC addresses using discrete inputs, coils, and holding registers. Declare the 14 process interface variables in the OpenPLC editor. Write ladder logic to implement button‑driven fill/drain with timers and interlocks. Download the program and observe the simulated process responding to button presses. Verify PLC I/O image via the slave server to confirm correct data exchange.

Evidence

I wanted to learn PLC programming, but there was one obvious problem: I don't own a PLC, a tank, valves, or a panel with buttons.

Source

Factory I/O v2.5.10 (Ultimate Edition) ... runs a Modbus TCP/IP server

Source

OpenPLC Runtime v4 ... runs a Modbus master (client) plus its own slave server

Source

The PLC is the one polling the process every 100 ms. It feels backwards at first — the controller is the client here — but that is exactly how a lot of real PLC-to-remote-I/O communication works.

Source

The goal I set for myself: control a tank with a PLC program, where the process behaves like real equipment.

Source

  • Record date: 2026-10-09T10:41:02.530Z