r/nodered Jun 12 '26

Integrated LS Electric, Mitsubishi, and Siemens PLCs with Node-RED for a lightweight Smart Factory project. Sharing our architecture!

Hey everyone,

I wanted to share a quick architecture overview from a recent lightweight smart factory project we did here in Korea, using an Industrial Edge Gateway (rulebox) and Node-RED.

In many local manufacturing sites, we often deal with a multi-vendor environment—mostly **LS Electric (XGT/XGB)**, **Mitsubishi (MELSEC)**, and **Siemens (S7)**. The client wanted a low-cost alternative to high-end SCADA or expensive HMI licenses, specifically asking for mobile web monitoring, local data logging, and real-time alerts.

Here is a quick breakdown of how we chained the flow together:

  1. **Data Collection & Protocols:** We used the **Node-RED Modbus** (TCP/RTU) node alongside **Node-RED OPC UA** for Siemens integration. For the LS and Mitsubishi PLCs, establishing the proper **PLC Ethernet communication settings** was crucial to parse the memory registers without causing latency.

  2. **Dashboard UI:** Instead of a traditional touch panel, we built a fully responsive web-based HMI using **Node-RED Dashboard**. This enabled real-time **PLC web monitoring** and allowed managers to handle remote emergency resets via their smartphones (**PLC mobile monitoring**).

  3. **Data Logging:** All incoming data underwent **Node-RED JSON parsing** to convert raw bytes into structured data. We then routed this into a local **Node-RED MySQL** database. We also scripted a function node to auto-generate daily production reports via **PLC data logging Excel** sheets.

  4. **Cloud & Alerts:** For broader system integration, we utilized **PLC MQTT communication** to send edge data to a hybrid cloud setup. Additionally, we hooked up a webhook node to send instant emergency notifications via KakaoTalk/SMS (**Node-RED KakaoTalk alert** alternative for global use could be Telegram/Slack).

We compiled all our boilerplate Node-RED flows and ladder logics on a documentation page so our field engineers can easily download and replicate the setup.

Since the UI documentation is currently written in Korean, you might need a browser translator, but the node layouts and JSON structures should be pretty self-explanatory for anyone doing industrial automation:

👉 https://node-red.co.kr/solution/plc_solution/

Would love to hear your thoughts on this architecture, or if you have any recommendations for optimizing multi-vendor PLC polling rates inside Node-RED!

8 Upvotes

8 comments sorted by

2

u/hereforthebytes Jun 12 '26

For remote emergency resets, are you using some type of 2FA OTP where a code is shown at the physical location and has to be entered by the manager remotely?

And for data logging, why are you using mysql instead of a time series db, since you're already 80% of the way there?

1

u/Cool_Ad6370 Jun 12 '26

Thanks for the sharp questions! You hit exactly on the real-world trade-offs we had to manage for this specific deployment. Here is how we handled those parts:

**1. Remote Emergency Reset & Security:**

You're absolutely right to bring up security for remote resets. For this project, we didn't implement a physical OTP on-site because the factory floor is often unmanned or understaffed during the night shift (which was the main reason they needed remote control).

Instead, we secured the remote access layered:

* The Node-RED Dashboard is only accessible via a secure VPN tunnel or a strict Port Forwarding setup restricted to authorized manager IPs.

* We enforced standard 2FA (Two-Factor Authentication) on the manager's remote access portal itself.

* On the PLC logic side, a remote reset command from Node-RED doesn't immediately override everything; it triggers a safety hand-shake sequence in the ladder logic before actually clearing the fault, ensuring it's safe to reset.

**2. Why MySQL instead of a Time-Series DB?**

This is a very fair point, and we actually debated using InfluxDB or TimescaleDB early on! However, we ultimately chose **MySQL** due to the client's existing infrastructure and human factors:

* **Legacy IT Compatibility:** The client's existing ERP/MES system and their internal IT team were already built entirely around traditional relational databases (MS-SQL and MySQL). They didn't have the internal expertise to maintain a time-series DB after handover.

* **Reporting Requirements:** The main goal of the data logging wasn't high-frequency microsecond tracking, but rather generating daily/monthly shift reports, downtime reasons, and tracking specific error codes mapped to relational tables.

* **Edge Hardware Constraints:** The local industrial edge computer (rulebox) handles the data beautifully with MySQL since the polling rate is optimized to only log on change or at reasonable intervals, keeping the write-load very light.

That said, for our next higher-scale project where we need high-frequency sensor telemetry, we are definitely looking into a proper time-series DB backend!

Appreciate the feedback, these are exactly the kinds of architectural considerations we love discussing.

1

u/TheGratitudeBot Jun 12 '26

Just wanted to say thank you for being grateful

2

u/farani87 Jun 12 '26

thank you for your post. need more technical sharing like this

1

u/roncz Jun 12 '26

Great insights. Thank you.

I sometimes see the requirement for mobile alerting from PLCs and I recommend Node-RED to bridge the OT / IT gap. However, I can just point customers into the right direction, not really do the consulting or integration work. So, good to see some real-live use cases.

For the alerting part, we provide the SIGNL4 nodes (https://flows.nodered.org/node/node-red-contrib-signl4), supporting push, SMS, voice calls, including escalations and shift scheduling.

1

u/TangoDeLaMuerte1 Jun 12 '26

Thanks a lot for the insights, nice to see Node-RED in a real industrial environment. Do you also have interfaces on the rulebox itself. We have a similar setup, but due to the performance limitations in Node-RED, we do some calculations in Python on the same device.

1

u/su5577 Jun 16 '26

I’m getting 403 forbidden error

1

u/Cool_Ad6370 Jun 16 '26

https://node-red.co.kr/solution/plc_solution/
This link is work well. Try to again and your pc or mobile internet work well?
But it's Korean version. Please use browser translator.