Get CODESYS-based data to MQTT and the cloud.
If your CODESYS controller can serve Modbus, an AppBlocks gateway polls its registers, scales the values, and publishes them to any MQTT broker, an HTTP API, Azure IoT, or AppBlocks Cloud. The gateway is a separate device next to the controller, and its logic is a flowchart your whole team can read.
One mapping on the PLC, then the gateway does the rest.
A one-time Modbus mapping
You decide which values the PLC exposes as Modbus registers. Everything else in the program stays as it is.
Read-only unless you say so
The gateway only reads. If you choose to send setpoints back, limits are checked in the flow before anything reaches the PLC.
Secure on the way out
MQTT over TLS with QoS 0, 1, or 2, and HTTPS for API calls, so plant-side Modbus never leaves the plant.
Two steps from register map to broker.
The flow uses real block names. Open the Designer and you’ll find each one in the palette.
Step 1: Serve Modbus from the CODESYS controller
CODESYS includes Modbus TCP and Modbus RTU slave devices. Add one to the device tree, map holding registers to your variables, and the PLC serves them to the gateway.
Because the setup lives in the CODESYS project, it works the same on every controller that runs the CODESYS runtime, whichever vendor built it.
- Modbus TCP slave on port 502, or Modbus serial slave for RTU
- Map only the variables you want to expose
- The PLC program stays in charge; the gateway reads
PLC variable Modbus address Gateway variable GVL.TankLevel 40001 tank_level GVL.PumpRunning 40002 pump_running GVL.LineSpeed 40003 line_speed
Step 2: Poll the registers and publish
A timer sends a Modbus Request. When the PLC answers, On Modbus Response scales the value and publishes it. If the PLC stops answering, On Modbus Timeout publishes a status topic, so your dashboard can tell zero from offline.
- Function codes 01–06, 15, and 16
- Fast tags every second, slow ones every minute
- Report by exception to save cellular data
Build your first gateway in an afternoon.
CODESYS-based and the other product names on this page are trademarks of their owners. AppBlocks is not affiliated with or endorsed by them.
Questions, answered.
Which controllers does this cover?
Any controller that runs the CODESYS runtime and includes the Modbus slave option, from many automation vendors. Check your vendor’s runtime documentation for what’s included.
Can the PLC serve Modbus RTU instead of TCP?
Yes. Add the Modbus serial slave device on a serial port, and connect the gateway’s RS-485 port to it.
Is Modbus TCP secure?
Modbus has no authentication or encryption of its own, so keep the PLC-to-gateway link on the plant network. The gateway then publishes outward over MQTT with TLS or over HTTPS.
What hardware do I use for the gateway?
A Tibbo Project System device with an Ethernet port and an RS-485 module is the usual choice, in a DIN-rail enclosure. Add a 4G LTE module for sites without a network. AppBlocks also runs on Zephyr boards such as the ESP32. Supported boards.
Ready to connect your first device?
Start free in your browser, follow the tutorials, or book a free one-on-one session. No board yet? We’ll demonstrate everything on ours.