0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry PiとPLCの接続方法まとめ

Last updated at Posted at 2025-08-28

Raspberry Pi(以下Raspi)とPLCをつなぐ方法は、大きく (A) ネットワーク通信(ソケット/各種産業プロトコル)(B) I/O連携(SSRなどのリレー経由) の2系統です。
ここでは両方の手順・サンプルコード・注意点をまとめます。


1. まずはPLCの通信機能を確認

  • ソケット通信(TCP/UDP) をサポートしているか
  • EtherNet/IP、Modbus TCP、MCプロトコル、PROFINET などの産業プロトコルに対応しているか
  • IPアドレス、ポート番号、データ形式を把握

👉 いずれかに対応していれば、LANケーブル接続でRaspiと直接通信可能です。


2. Raspi側:Pythonでのネットワーク通信

汎用ソケット通信(TCP)の例

送信(Raspi → PLC)

import socket

HOST = "192.168.0.10"  # PLCのIP
PORT = 502             # 例: Modbus TCPのデフォルト

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.settimeout(5.0)
    s.connect((HOST, PORT))
    s.sendall(b"Hello PLC")     # PLCが期待するバイト列に合わせて送信
    data = s.recv(1024)         # 応答を受信
    print("受信:", data)

受信(PLC → Raspi)

import socket

HOST = "0.0.0.0"
PORT = 502

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    s.bind((HOST, PORT))
    s.listen(1)
    print("待ち受け開始")
    conn, addr = s.accept()
    with conn:
        print("接続:", addr)
        while True:
            buf = conn.recv(1024)
            if not buf:
                break
            print("受信:", buf)
            conn.sendall(b"OK")

3. ソケット通信が使えない場合:I/O連携(SSR利用)

3.1 電圧・絶縁の要点(超重要)

  • RaspiのGPIO出力は 3.3V
  • PLCのデジタル入力は通常 24V系
  • 直接接続は厳禁。必ず SSR(ソリッドステートリレー)フォトカプラ で電気的に分離する。

👉 物理リレーは接点摩耗で故障しやすいため、SSR推奨

3.2 おすすめ例:SSR-25DD(DC-DC)

  • 入力:3–32V DC(Raspi GPIOでも駆動可能。ただしGPIO電流の余裕に注意)
  • 出力:5–220V DC(PLCの24V入力を開閉可能)
  • 大電流品のため 発熱・放熱 に注意。小電流用途なら小型のフォトカプラモジュールの方が扱いやすい。

3.3 I/Oの構成例

  • 1本目のIO:Raspi → PLC(結果の出力)
  • 2本目のIO:Raspi → PLC(死活監視信号)

3.4 プログラムの構成

1.画像取得
2.判定結果を1本目のIOに出力
3.2本目のIOのStateを変える(0->1->0)

1.-3.をwhile文で無限ループする

PLCは決まったタイミングで1本目の出力を読み取り
2本目の立ち上がり(立ち下がりでも良し)が前回稼働時と比べて一度も無ければ、Raspiとの通信不良エラーを出力する


まとめ

  • PLCにソケット通信機能があればLANケーブルで接続し、Pythonで通信可能
  • 通信機能がなければSSRを使い、I/O制御で連携
  • 物理リレーよりSSRを推奨

RaspiとPLCを組み合わせることで、低コストかつ柔軟に自動化や監視システムを構築できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?