はじめに
PLC と PC など、装置間 IF 設計でよく使うパターンを整理した備忘録です。
改訂履歴
- 2026/07/25 : 初版公開。
本文
1. 非同期通信
非同期通信とは、お互いが独立して通信を行う方式です。相手からの応答を待たずに状態を監視したり、生存確認を行う用途で使用します。
1-1. 状態監視
お互いに状態を公開し、相手側がその状態を監視するシンプルな仕組みです。以下は PLC 上のデバイス(メモリ)を使用したイメージです。
1-2. ハートビート
ハートビートとは、お互いのプログラムが正常に動作していることを確認するための仕組みです。状態監視では READY や ERROR などの状態を確認できますが、プログラムが停止すると最後の値が保持されたままになる場合があります。そのため、一定周期で値を更新するハートビートを併用し、生存確認を行います。
ハートビートの更新方法は、以下の2種類が一般的です。
- ビットを一定周期で ON/OFF する方式
- カウンタを一定周期でインクリメントする方式
一定時間更新されない場合は、異常と判断します。
2. 同期通信(ハンドシェイク)
同期通信とは、送信側と受信側がお互いの状態を確認しながらデータを受け渡す方式です。ハンドシェイクを使用し、データの取りこぼしや重複処理を防止できます。
2-1. 要求応答型
PLC が必要な情報を PC に要求し、PC がデータを設定した後に応答を返す方式です。ワークの品種情報やレシピ、行先データを渡すことが多いです。
2-2. 通知応答型
PLC が処理完了を通知し、PC がデータを取得して応答する方式です。処理の結果や実績、トレーサビリティデータをもらうことが多いですね。
おわりに
本当に難しいのは、タイムアウト設計や異常時の復旧処理などですかね。