Connecting industrial equipment with the Cumulocity Protocol Gateway

The S7-300 is dead. Long live the S7-300.

October 2025 marked the “beginning of the end” for a titan of industrial automation. Siemens officially began discontinuing the S7-300 line, following a two-year phase-out period. While spare parts remain available, the official word is clear: it’s time to migrate.

But let’s be honest—we’ll likely still be connecting S7-300s to Cumulocity in 2035.

With millions of these units produced over the last three decades, now is the perfect time to rescue one, pair it with some DI/DO and AI modules, and use the Cumulocity Protocol Gateway to establish bi-directional communication to Cumulocity.

Why was this PLC so successful? The unit on my desk is living proof. It survived a competitor acquisition and the eventual demolition of its original factory. The factory has been gone for years, but this S7-300 was salvaged and still runs flawlessly—mostly. The power supply did immediately go up in smoke the moment I plugged it in, filling the room with that unmistakable “sweet” scent of vintage fried electronics.

Navigating the World of OT Integration

While I spent 90% of my time wrestling with S7-300 hardware, TIA Portal configurations, and legacy ladder logic, I’m going to focus this post on the remaining 10%: configuring the Protocol Gateway and the setup within Cumulocity.

Through our partnership with Takebishi we are now able to combine their technology integrating with more than 320 OT device series with thin-edge.io to have a Protocol Gateway that let’s you connect all these devices directly to Cumulocity and fully manage the integration through Cumulocity Device Management.

For this project, I used a Raspberry Pi running thin-edge.io and the Protocol Gateway.

Installation Guide: If you’re curious about how to setup everyting, check out this repository or our official training.

My “rescued” S7-300 stack provides 8 Digital Inputs (DI), 8 Digital Outputs (DO), and an Analog Input (AI) module connected to two Pt100 temperature sensors.

Although the Protocol Gateway can directly read from the interface a more professional setup is to create data blocks in the S7-300 and interact though that.

Setting up the Protocol Gateway

Setting up the connection is straightforward:

  1. Add a new S7 Source: Select the model (S7-300) and enter the IP address.

  2. Define the Tags: Map the specific tags you want to read or write. Since we’re following best practices, we’ll point these to our Data Block addresses.

  3. Forward to thin-edge.io: Create an event to push these tags to thin-edge, which handles the heavy lifting of cloud communication.

The Data Strategy:

  • Temperature (Analog): Transferred on a fixed schedule.
  • Digital Inputs: Monitored by the Protocol Gateway and transferred “on change” to save bandwidth.
  • Digital Outputs: We listen for a c8y_Command operation from thin-edge, which then writes the value back to the S7-300.

Visualization in Cumulocity

In Cumulocity, I built a simple dashboard to tie it all together. For the DIs and DOs, I used the AI-powered HTML widget to generate custom switches. Toggling a switch on the dashboard generates the corresponding operation, which travels back down to the PLC in milliseconds.

s7_clip

Conclusion

Let’s be honest: programming legacy PLCs is rarely a “piece of cake.” However, connecting them to Cumulocity is. The best part? This setup is future-proof. When you eventually swap that vintage S7-300 for a modern S7-1500, you don’t have to start over. Simply update the source type in the Protocol Gateway. If you’ve migrated your PLC program and kept your Data Block structure consistent, the cloud won’t even know the hardware changed.

Get started by yourself

  1. Check out the training
  2. Get thin-edge installed
  3. Get the Protocol Gateway deployed

Talk to an Expert

Have questions or want to dive deeper? Our experts are ready to help you find the best solution for your needs. Speak with an expert now.

3 Likes