0
0
FreertosHow-ToBeginner · 4 min read

How to Connect PLC to Cloud: Simple Steps and Example

To connect a PLC to the cloud, use a communication protocol like MQTT or HTTP supported by your PLC or a gateway device. Configure the PLC or gateway to send data to a cloud service endpoint securely using credentials and network settings.
📐

Syntax

Connecting a PLC to the cloud typically involves these parts:

  • PLC Program: Code or configuration to send data.
  • Communication Protocol: Usually MQTT or HTTP.
  • Cloud Endpoint: URL or broker address where data is sent.
  • Authentication: Credentials like username/password or certificates.

Example syntax for MQTT connection in a PLC or gateway:

plaintext
mqttClient.connect(brokerUrl, username, password)
mqttClient.publish(topic, message)
💻

Example

This example shows a simple Python script acting as a gateway to send PLC data to an MQTT cloud broker. Replace broker.hivemq.com with your cloud MQTT broker and plc/data with your topic.

python
import paho.mqtt.client as mqtt
import time

broker = "broker.hivemq.com"
topic = "plc/data"

client = mqtt.Client()
client.connect(broker, 1883, 60)

# Simulated PLC data
plc_data = {"temperature": 25.5, "pressure": 101.3}

while True:
    message = f"Temperature: {plc_data['temperature']} C, Pressure: {plc_data['pressure']} kPa"
    client.publish(topic, message)
    print(f"Sent: {message}")
    time.sleep(5)
Output
Sent: Temperature: 25.5 C, Pressure: 101.3 kPa Sent: Temperature: 25.5 C, Pressure: 101.3 kPa Sent: Temperature: 25.5 C, Pressure: 101.3 kPa ...
⚠️

Common Pitfalls

  • Wrong Protocol: Using unsupported protocols on PLC causes connection failure.
  • Network Issues: Firewalls or missing ports block cloud access.
  • Authentication Errors: Incorrect credentials prevent connection.
  • Data Format: Sending data in wrong format makes cloud reject it.

Always verify your PLC supports the protocol and test network connectivity before deployment.

plaintext
## Wrong way: No authentication or wrong broker URL
mqttClient.connect("wrongbroker.com")

## Right way: Correct broker and credentials
mqttClient.connect("broker.hivemq.com", "user", "pass")
📊

Quick Reference

Tips for connecting PLC to cloud:

  • Use MQTT for lightweight, real-time messaging.
  • Check PLC documentation for supported protocols.
  • Use a gateway device if PLC lacks direct cloud support.
  • Secure connection with TLS and credentials.
  • Test connection with simple messages before full deployment.

Key Takeaways

Use MQTT or HTTP protocols supported by your PLC or gateway to connect to the cloud.
Configure correct broker URL, topic, and authentication credentials for secure communication.
Test network connectivity and protocol compatibility before deploying your solution.
Use a gateway device if your PLC cannot connect directly to the cloud.
Send data in the correct format and secure your connection with TLS where possible.