第5回:PLCリンクを「実務向けPLC間通信」として整理する(ソフトウェアエンジニア向けフィールドネットワーク入門)
第5回:PLCリンクを「実務向けPLC間通信」として整理する
(ソフトウェアエンジニア向けフィールドネットワーク入門)
本記事は
「ソフトウェアエンジニアがフィールドネットワークを理解する」シリーズ 第5回です。
シリーズ全体は記事末尾のリンク一覧から参照できます。
はじめに
これまでの記事では、次のように
フィールドネットワークを「考え方」で整理してきました。
- 第2回:EtherNet/IP
→ API・メッセージ通信 - 第3回:DeviceNet
→ I/O バス - 第4回:CC-Link IE Field
→ 共有メモリ
という、設計思想を持ったネットワークを整理してきました。
今回は少し視点を変えて、現場でよく使われる PLCリンク を取り上げます。
PLCリンクは、厳密には標準規格というより
実務向けに割り切って使われている通信方式です。
PLCリンクを一言で言うと
ソフトウェア開発者向けに一言で表すなら、
PLCリンクは
「PLC同士でメモリを取りに行く
ポーリング型通信」
です。
通信の考え方としては、
- 相手PLCが公開している領域を
- 自分が定期的に取得する
という構造で、
ソケット通信に近い感覚があります。
実際にやっていた設定内容
キーエンスPLCで、
他社PLC(例:三菱)と通信した際の設定は、
非常にシンプルでした。
- 相手PLC側
- 自身のポート番号
- 公開するデバイスアドレス
- キーエンスPLC側
- 接続先IP
- 取得するアドレス
- 取得周期
これらを設定すると、
キーエンスPLCが 相手PLCに取りに行く 形で
通信が成立します。
通信は分かりやすいが、速さはほどほど
PLCリンクの通信遅延は、
体感として 100〜150ms 程度でした。
これは、
- 周期通信ではない
- ポーリング型
- 相手応答待ちが発生する
という構造上、
自然な結果だと言えます。
PLCリンクは、
即時性よりも
分かりやすさと安定性を優先した通信
だと感じました。
設定しやすかった理由
個人的に PLCリンク を使っていて良いと感じた点は、
用途ごとにアドレスを分けて設定できる
ことでした。
- 状態監視用
- 制御信号用
- ステータス取得用
といったように、通信単位でアドレス領域を切り分けられるため、
- どの通信が
- どのデータを扱っているか
が分かりやすく、
設計やデバッグがしやすかったです。
CC-Link IE Field との対比
ここで、第4回で扱った CC-Link IE Field と比較してみます。
| 観点 | CC-Link IE Field | PLCリンク |
|---|---|---|
| 通信モデル | 共有メモリ | ポーリング取得 |
| アドレス | 1つの連続領域 | 用途別に分離可能 |
| 可読性 | 低い(設計依存) | 高い |
| 遅延 | 周期更新(〜150ms) | ポーリング(〜150ms) |
| 設計負荷 | 高い | 低い |
CC-Link IE Field は
通信を極限まで簡略化する代わりに、
メモリ設計を人に委ねる構造でした。
一方 PLCリンクは、
通信ごとに意味を持たせられる
実務寄りの通信
だと感じました。
エラーが分かりやすいという安心感
キーエンスPLCリンクで特に良かった点として、
接続できない場合に
きちんとエラーが出る
という点があります。
- 接続不可
- 応答なし
- 設定ミス
といった状態が
PLC上で明確に分かるため、
「通信できているのか、できていないのか」
を判断しやすく、トラブルシュートが非常に楽でした。
この点は、実務で使う上でかなり重要だと感じました。
PLCリンクは「規格」ではなく「実装」
ここまでを踏まえると、
PLCリンクは次のように整理できます。
- 標準化された通信規格ではない
- Ethernet/TCP といった一般技術を土台にしている
- メーカー主導で通信ルールが決まっている
- その分、導入と運用が楽
ソフトウェア開発者向けに言い換えるなら、
REST や gRPC ではないが、
社内向けAPIとしては非常に便利な通信
です。
PLCリンクが向いている用途
PLCリンクは、
次のような用途に向いています。
向いている
- 他社PLCとの簡易連携
- 状態監視
- 上位装置とのデータ取得
- 即時性が不要な制御連携
向いていない
- 高速・厳密な同期制御
- ミリ秒単位のリアルタイム制御
- 標準規格による相互接続が必須な場合
まとめ
- PLCリンクは 実務向けのPLC間通信
- ポーリング型で分かりやすい
- 遅延は 100〜150ms 程度
- 用途別にアドレスを分けられる
- エラーが明確でデバッグしやすい
PLCリンクは、
「思想で選ぶネットワーク」ではなく、
「現場で早く動かすための通信」
として捉えると、
非常に合理的な選択肢だと感じました。
シリーズを振り返って
ここまでで、
- API 型(EtherNet/IP)
- I/O バス型(DeviceNet)
- 共有メモリ型(CC-Link IE Field)
- 実務向け通信(PLCリンク)
という、
FA分野で実際に使われる通信の考え方が一通り揃いました。
このシリーズが、ソフトウェアエンジニアにとって
フィールドネットワークを理解する際の「思考の地図」になれば幸いです。
Discussion