Connecting a Single PLC End to End
This tutorial walks you through connecting a single PLC and confirming that data actually flows in. Once you get the first one working, the rest is a repeat of the same procedure.
No installation is required — the public demo has several simulators attached, so you can follow along right now. You can do the real gateway installation after you've gone through this.
- An installed Edge gateway → Installation (install.sh)
- The IP address and port of one PLC, and one address you want to read
- Network reachability from the gateway to that PLC — if it can't reach it, everything downstream will fail
There's a public demo — https://demo-edge.plantpulse.io (admin / admin123!).
The screens below are captured from this demo. Use https://demo-platform.plantpulse.io for the upper platform side.
Each step has a short silent video attached.
Step 1 — Log in and change your password
Open the gateway address in your browser. The username is admin.

The badge under the logo is this gateway's identifier (the demo is EDGE-303).
If you're using the default password, change it now → Change the initial password. If you put it off, you usually never change it.
Step 2 — Create a connection
On the Connections screen, press + to expand the protocol cards. Select the card for your equipment.

The video above is based on LS XGT. Siemens S7 and Modbus/TCP have the same three-step structure.
If you're not sure which protocol you're using, find it by equipment type in the Protocol Guide.
The form has the same three-step structure regardless of the driver.
| Step | What you fill in |
|---|---|
| OPC info | Site ID · OPC ID · Name · Description |
| Protocol connection | IP · Port · Collection interval (ms) · Collection options |
| Driver-specific options | Only this part varies by protocol |
It's exactly as stated in the on-screen guidance. Decide on a naming convention first, then register. If a required field is empty, registration itself fails.
Step 3 — Press Test connection
This is the first gate of this tutorial. Press it before saving to see whether it actually connects.
If it fails — it's almost always one of these three:
| Symptom | What to check first |
|---|---|
| Timeout | Firewall/VLAN from the gateway to the PLC → Network configuration |
| Connection refused | Port number, PLC-side connection permission settings |
| Connects but no values | Driver-specific options (slave ID, etc.) → Driver reference |
If it succeeds, save.
Step 4 — Create one tag
Register one address you want to read as a tag. Address notation differs by protocol — check the plc_address rules for your driver in the Driver reference. If you get this wrong, the connection is fine but no values come in.
Choose an address whose value keeps changing (e.g., a counter) so you can confirm it immediately on the screen. Don't register dozens at first — once one works, the rest follow the same rules.
Step 5 — Check that values are flowing in
This is the second gate. Verify on the dashboard that the value of the tag you just created is updating.
If you don't see a value, narrow it down in this order:
- Is the connection status normal (in the connection list)?
- Does the tag address notation match the driver rules?
- Is the collection interval too long?
- What does the log show? → Troubleshooting
Step 6 — Push it up to the platform
Once you see values at the gateway, send them to the upper PlantPulse platform. The platform address and token are the ones you entered during installation →
server.api_key of Change the initial password.
When you see the same tag on the platform screen, you're done.
What's next
| Next task | Documentation |
|---|---|
| Add the remaining PLCs the same way | Protocol guide |
| Query the collected values | Point search |
| Need formulas/processing | Flow |
| Inspection before handing over to the field | Production readiness criteria |
This video is the fastest way to learn how to query collected values.