6

PLC(シーケンサ)でCAN / CAN FD通信を行う方法

PLCはCANポートを標準で持ちません。ラダープログラムからCAN / CAN FDを扱う3つの方式と、Ethernet(UDP)変換方式の仕組み・選定時の確認項目を整理します。

  • PLC
  • CAN
  • CAN FD
  • システム構成
目次を開く

自動車部品の検査設備や試験装置を PLC(シーケンサ)で組んでいると、「ワークの ECU と CAN で通信したい」という要求が出てきます。ところが PLC のカタログを見ても CAN ポートは見当たりません。

この記事では、PLC から CAN / CAN FD を扱うための方式を整理し、それぞれがどんな設備に向くのかを説明します。

PLC は CAN ポートを標準では持たない

PLC が標準で備えているのは、デジタル入出力、アナログ入出力、温度入力、位置決め、シリアル通信(RS-232C / RS-422 / RS-485)、そして Ethernet です。CAN はこの中に含まれていません。

CAN が「線をつなげば読める」類の通信ではないことが理由です。CAN を成立させるには、少なくとも次のものが必要になります。

  • CAN トランシーバ — 差動2線(CAN_H / CAN_L)の物理層を駆動する IC
  • CAN コントローラ — ビットタイミング(サンプルポイント)の生成、アービトレーション、CRC 付加、エラーフレームの送出、エラー時の自動再送を担う
  • 終端抵抗 — バスの両端に 120Ω。片方だけ、あるいは付け忘れると通信品質が一気に落ちる

とくにアービトレーションと自動再送は CAN 特有の挙動です。複数のノードが同時に送信を始めても、ID の優先度によってビット単位で調停が行われ、負けたノードは自動的に再送します。この仕組みをソフトウェアで模倣することはできず、専用のハードウェアが要ります。

つまり PLC で CAN を扱うということは、CAN コントローラを持った何かを外付けし、PLC とその何かをどうつなぐかを決める、という設計になります。

CAN を扱う3つの方式

方式1:PLC メーカー純正の CAN ユニット

PLC のベースユニットに増設ユニットとして挿す方式です。構成としては最も素直で、配線もバックプレーン経由になります。

確認しておきたいのは次の点です。

  • CAN FD に対応しているか — 従来 CAN のみの製品も多く、CAN FD 対応品は選択肢が限られます
  • 定期送信を何件登録できるか、最小周期はいくらか
  • カウンタやチェックサムの自動付加ができるか — できない場合、その処理はラダー側の仕事になります
  • PLC の機種を変更したときに使い回せるか — 純正ユニットは当然そのメーカー専用です

方式2:PC と CAN インターフェースを使う

開発部門や解析の現場で一般的な方式です。市販の CAN インターフェースと専用ソフトを組み合わせるもので、機能の豊富さでは他の方式を圧倒します。DBC を読み込んで信号名で表示する、シミュレーションノードを立てる、といったことができます。

一方で、量産の検査ラインに載せるとなると事情が変わります

  • 号機の数だけ PC とソフトウェアライセンスが必要になる
  • PC の OS 更新、ウイルス対策ソフト、ストレージ寿命といった保守項目が増える
  • 設備の主体が PLC の場合、PC 側と PLC 側で状態をやり取りする仕組みを別途つくる必要がある
  • 起動時間があるため、ライン停止からの復旧に時間がかかる

開発・解析には最適でも、24時間動く検査設備に何十台も置く用途とは目的が違う、と考えたほうが素直です。

方式3:CAN ⇔ Ethernet(UDP)変換機器を使う

CAN コントローラを持った小型の機器を用意し、PLC とは Ethernet(UDP)でやり取りする方式です。

PLC 側から見ると、相手は「UDP で通信する機器」でしかありません。PLC が標準で持っている Ethernet ユニットをそのまま使えるため、専用の増設ユニットも PC も不要です。ラダー側の実装も、ソケット通信の命令でコマンド文字列を送るだけになります。

CANNEX はこの方式の製品です。

Ethernet(UDP)変換方式の仕組み

やり取りは大きく2方向です。

PLC → 変換機器(コマンド)

コマンド 内容
RUN CAN 通信を開始する(ボーレートも同時に設定)
STOP CAN 通信を停止する
SHOT 単発送信を行う
STTX 定期送信をメールボックスに登録する
TSTOP / TACTV 定期送信を一時停止/再開する
FILT 受信フィルタを設定する

変換機器 → PLC(受信データ)

CAN バス上で受信したフレームを、UDP パケットとして PLC へ転送します。PLC 側はソケット受信のバッファから読み出すだけです。

この方式で設計上いちばん効いてくるのは、定期送信が変換機器側のタイマで動くという点です。

PLC のラダーで周期送信を組むと、送信間隔はスキャン周期に縛られます。スキャンが 5ms なら 1ms 周期の送信は原理的につくれませんし、スキャンタイムが変動すればジッタになります。変換機器側にタイマを持たせれば、PLC のスキャンとは無関係に周期が保たれます。CANNEX の場合、定期送信は 30 件・最小 1ms で登録できます。

方式を選ぶときの確認項目

設備の要件を整理するとき、次の項目を先に決めておくと方式選定で迷いません。

  1. CAN か CAN FD か — CAN FD ならデータフェーズのボーレート(2M / 5Mbps など)と最大データ長(64 バイト)が要件になります
  2. 定期送信の件数と最小周期 — 実車の ECU をどこまで模擬するかで決まります
  3. 周期の精度を誰が保証するか — PLC のスキャンに依存させてよいか、機器側のタイマが必要か
  4. 受信の取りこぼしを許容できるか — ここが最も見落とされます。詳細は PLCのUDP受信性能とCANフレームの取りこぼし で説明しています
  5. カウンタ・チェックサム・CMAC の自動付加が要るか — 車載部品の検査では高確率で要求されます。詳細は 車載部品の検査設備で求められるカウンタ・チェックサム・CMAC をご覧ください
  6. 号機あたりのコストと保守 — 検査ラインでは 1 台あたりの差額が台数分そのまま効きます

まとめ

  • PLC は CAN ポートを標準では持たず、CAN コントローラを持った何かを外付けする必要がある
  • 方式は「純正ユニット」「PC + CAN インターフェース」「Ethernet(UDP) 変換機器」の3つ
  • 開発・解析なら PC 方式、量産の検査設備なら PLC で完結する方式が扱いやすい
  • Ethernet(UDP) 変換方式は、PLC 標準の Ethernet ユニットをそのまま使え、定期送信の周期をスキャンから切り離せる
  • 選定時は「取りこぼし」と「送信補助(カウンタ・チェックサム)」を早い段階で要件に含めておくと後戻りが減る

CANNEX の仕様は 技術仕様 に掲載しています。実際の設備構成で成立するかどうかは、デモ機でご評価いただくのが確実です。

CANNEX で試してみませんか

この記事で触れた内容は、CANNEX のデモ機で実際にご確認いただけます。貸出は原則2週間、ご事情により延長も可能です。

ほかの技術記事