CAN通信とは、複数の制御装置、センサ、モーター、表示器などを2本の信号線で接続し、識別番号を付けたメッセージを共有するシリアル通信方式です。CANはController Area Networkの略で、車載機器、産業機械、農業機械、移動体、組込機器などで使用されます。

一台の親機がすべての通信を管理する方式とは異なり、各ノードが必要なタイミングでメッセージを送信できます。複数ノードが同時に送信を開始した場合も、優先順位に基づいて衝突を解決します。

ハカルプラスでは、接続台数、通信速度、メッセージ周期、配線長、ノイズ環境を確認し、CANコントローラ、トランシーバ、終端抵抗、異常監視を含む通信回路を検討します。

CAN通信の主な用途

  • 複数マイコン間の制御情報共有
  • モーター・アクチュエータの制御
  • センサ・計測器からのデータ収集
  • 車両・移動体内の機器連携
  • 操作表示器と制御ユニットの通信
  • 分散制御装置の状態・異常共有

マルチマスター通信

CANでは、通信可能な状態であれば各ノードが送信を開始できます。

中央の一台だけが通信開始権を持つわけではないため、異常や状態変化を各機器から直接通知しやすい構成です。

メッセージ指向通信

CANでは、送信先アドレスではなく、メッセージの内容や優先順位を表す識別子を付けて送信します。

受信側は識別子を確認し、自分に必要なメッセージだけを取り込みます。一つのメッセージを複数ノードが同時に利用できます。

CAN ID

各メッセージにはCAN IDと呼ばれる識別子を付けます。

標準フォーマットでは11ビット、拡張フォーマットでは29ビットの識別子を使用します。IDはデータの種類だけでなく、送信優先順位にも影響します。

アービトレーション

複数ノードが同時に送信を始めた場合、CAN IDに基づいて優先順位を決定します。

高い優先順位のメッセージが通信を継続し、他のノードは送信を中止して後で再送します。通信内容を壊さずに衝突を解決できる点が特長です。

優先順位

一般に、数値の小さいCAN IDほど高い優先順位となります。

非常停止状態、モーター異常など応答を急ぐ情報へ高い優先順位を割り当て、温度履歴や保守情報などは低い優先順位とします。

データフレーム

通常のデータ送信では、識別子、データ長、データ、誤り検出情報などを含むフレームを送信します。

従来のCANでは、一つのフレームで扱えるデータ量に制限があります。大きなデータは複数フレームへ分割します。

CAN FD

CAN FDは、従来CANより一つのフレームで扱えるデータ量を増やし、データ部分を高速に送信できる拡張方式です。

対応するコントローラとトランシーバが必要です。従来CANノードとの混在条件や通信設定を確認します。

通信速度

CANの通信速度は、ネットワーク全体で共通に設定します。

通信速度を高くすると更新を速くできますが、許容配線長が短くなります。接続台数、ケーブル長、応答要求から選定します。

配線長

許容配線長は通信速度、ケーブル、ノード数、分岐長によって変わります。

高速通信では信号伝搬時間の影響が大きいため、長距離配線には適しません。必要に応じて通信速度を下げます。

差動通信

CANは、CAN_HとCAN_Lの2本の信号線の電圧差でデータを判定します。

両線へ同じように重なるノイズを打ち消しやすく、産業機械や車載環境で安定した通信を行いやすい方式です。

CANトランシーバ

マイコン内のCANコントローラ信号を、実際の差動信号へ変換する部品です。

通信速度、電源電圧、待機機能、保護機能、コモンモード範囲を確認して選定します。

絶縁CAN

設備間の接地電位差やノイズを遮断するため、デジタルアイソレータと絶縁電源を用いてCAN通信を絶縁する場合があります。

盤間配線、長距離配線、高電圧機器の近くでは有効です。絶縁素子の遅延が通信速度へ影響しないか確認します。

終端抵抗

CANバスの物理的な両端には、一般に終端抵抗を取り付けます。

終端抵抗がない、片側だけ、複数箇所へ過剰に取り付けた場合は信号反射や電圧低下が起こります。電源OFF状態で線間抵抗を測定すると、終端状態を確認しやすくなります。

バス配線

CANは、幹線へ各ノードを短い支線で接続するバス型構成が基本です。

長いスター配線や長い分岐は信号反射の原因になります。コネクタや中継端子の配置も含めて配線します。

シールドと接地

ノイズ環境では、ツイストペアのシールドケーブルを使用します。

シールドの接地方法は設備全体の接地構成に合わせます。信号線とインバーター・モーター配線を分離します。

ビットタイミング

CAN通信では、通信速度だけでなく、一ビットをどのタイミングで判定するかを設定します。

マイコンクロック、伝搬遅延、サンプル位置、再同期幅などを考慮します。異なる機器で設定許容範囲が合うか確認します。

受信フィルタ

CANコントローラには、必要なCAN IDだけを受信するフィルタ機能があります。

不要なメッセージをハードウェアで除外すると、マイコン処理負荷を減らせます。ID追加時にはフィルタ設定も更新します。

周期送信

状態、速度、温度などを一定周期で送信する方法です。

受信側は、所定時間内にメッセージが届かなければ通信異常や送信ノード停止と判断できます。周期とタイムアウトを仕様書へ定めます。

イベント送信

異常発生、スイッチ操作、設定変更など、状態が変化したときに送信します。

通信量を減らせますが、受信確認や定期的な状態再送を組み合わせないと、メッセージ欠落時に状態が一致しない可能性があります。

ハートビート

各ノードが正常動作していることを示すため、一定周期で生存信号を送信します。

一定時間受信できない場合は、電源喪失、通信断、プログラム停止などを疑い、安全側へ移行します。

エラー検出

CANには、CRC、フレーム形式、ビット監視など複数の誤り検出機能があります。

異常を検出したノードはエラーフレームを送信し、誤ったメッセージの受信を防ぎます。送信側は必要に応じて自動再送します。

エラーカウンタ

各ノードは送信エラーと受信エラーの回数を内部で管理します。

エラーが増えると通信への影響を抑える状態へ移行し、さらに悪化するとバスから離脱します。エラーカウンタや状態を診断へ利用します。

Bus Off

重大な通信エラーが繰り返されると、ノードが送信を停止するBus Off状態になります。

復帰方法は、自動復帰、一定時間後の復帰、マイコン再起動などがあります。原因が残ったまま復帰を繰り返さないようにします。

通信負荷

周期の短いメッセージや高優先度メッセージが多すぎると、低優先度データが送信できなくなる可能性があります。

メッセージ長、周期、通信速度からバス負荷を見積もり、通常時と異常時の両方で余裕を確保します。

上位プロトコル

CANの物理通信とフレームだけでは、各データの意味や機器設定方法は決まりません。

用途に応じて、CANopenなどの上位プロトコルや独自通信仕様を使用します。異なる上位プロトコル同士は、同じCAN配線でもそのまま連携できません。

異常時の確認

全ノードが通信できない場合は、通信速度、終端抵抗、CAN_H・CAN_Lの短絡、電源、配線を確認します。

特定ノードだけ異常の場合は、ノード電源、トランシーバ、ID設定、受信フィルタを点検します。断続的な異常では、支線長、ノイズ、接地、コネクタを確認します。

ハカルプラスの対応

ハカルプラスでは、接続機器、通信速度、メッセージ周期、CAN ID、優先順位を整理し、CAN通信仕様を設計します。

マイコン回路、絶縁、終端抵抗、エラー監視、Bus Off復帰、異常履歴を組み合わせた組込機器間通信を検討します。

よくある質問

Q. CAN通信には親機が必要ですか?

A. 各ノードが送信できるマルチマスター方式ですが、上位プロトコルで管理役を設ける場合があります。

Q. CAN IDは機器のアドレスですか?

A. 主にメッセージ内容と優先順位を示す識別子で、送信先だけを表すものではありません。

Q. 通信速度を上げると配線距離は短くなりますか?

A. 一般に高速化するほど信号伝搬時間の制約が厳しくなり、許容配線長は短くなります。

Q. 終端抵抗は各機器へ付けますか?

A. 原則としてバスの物理的な両端へ取り付け、途中の各機器には付けません。

Q. Bus Offから自動復帰できますか?

A. 自動復帰は可能ですが、配線異常などの原因が残る場合を考え、回数制限や警報を設けます。

関連ワード

シリアル通信・Modbus通信とは、PLC、計量コントローラ、センサ、インバーター、表示器、パソコンなどの産業機器間で、測定値や運転指令、異常情報を送受信するための通信技術です。

RS-232C、RS-422、RS-485は、主に電気的な信号方式や配線方法を定めた規格です。一方、Modbusは、どの機器が、どのアドレスのデータを、どの形式で読み書きするかを定めた通信プロトコルです。

ハカルプラスでは、接続機器の仕様、通信距離、接続台数、必要な更新周期を確認し、制御盤、PLCプログラム、通信変換器、異常監視、上位システム連携まで含めて通信システムを構築します。

シリアル通信の仕組み

シリアル通信は、データを構成するビットを通信線上へ順番に送り、相手機器で受信して元の数値や文字列へ復元する方式です。

通信を成立させるには、送信側と受信側で、次の条件を一致させる必要があります。

  • 通信速度
  • データ長
  • パリティ
  • ストップビット
  • 局番・機器アドレス
  • 通信プロトコル

例えば、同じRS-485対応機器であっても、一方がModbus RTU、もう一方がメーカー独自プロトコルの場合は、そのままでは通信できません。

通信速度とデータ伝送時間

通信速度はbpsで表し、1秒間に送信できるビット数を示します。9,600bpsであれば、理論上は1秒間に9,600ビットを送信できます。

1文字を、スタートビット1、データ8ビット、パリティなし、ストップビット1で送る場合、1文字当たり10ビットが必要です。

1文字の送信時間tは、通信速度をB、1文字当たりのビット数をnとすると、概略的に次の式で求められます。

t=n÷B

9,600bpsで10ビットを送る場合は、約1.04msです。ただし、実際の通信時間には、要求電文、応答電文、機器の処理時間、通信間隔も含まれます。

RS-232C

RS-232Cは、一般的に1台対1台の短距離通信に使用されます。信号線と基準線との電位差で情報を伝える方式で、パソコン、計量機器、バーコードリーダー、プリンターなどの接続に利用されてきました。

通信距離は約15m以下が一般的な目安です。ただし、通信速度、ケーブル、ノイズ環境によって実用距離は変わります。

機器によってコネクタ形状や信号の割り当てが異なるため、送信線と受信線の接続、ストレート・クロス結線、信号グラウンドを確認します。

RS-422

RS-422は、2本の信号線の電位差でデータを伝える差動伝送方式です。2本の線へ同じように加わるノイズを受信側で打ち消しやすく、RS-232Cより長距離の通信に適しています。

低速通信では最大約1,200mが一般的な目安ですが、通信速度が高くなるほど通信可能距離は短くなります。

送信線と受信線を分けた4線式では、送信と受信を同時に行う全二重通信を構成できます。

RS-485

RS-485も差動伝送方式を採用しており、耐ノイズ性が比較的高く、長距離通信や複数機器の接続に適しています。

1本の通信系統に複数台の機器を接続できるため、PLCと複数台の計量コントローラ、インバーター、温調器、センサなどを接続する用途で広く使用されます。

2線式では送信と受信に同じ通信線を使用する半二重通信、4線式では送信線と受信線を分ける全二重通信を構成できます。産業設備では2線式が多く、上位機器が各機器へ順番に問い合わせる方式が一般的です。

RS-232C・RS-422・RS-485の使い分け

  • RS-232C:1対1で接続する短距離通信
  • RS-422:差動伝送を利用した長距離通信
  • RS-485:長距離かつ複数台を接続する通信

一般的な距離の目安は、RS-232Cが約15m以下、RS-422とRS-485が低速時に最大約1,200mです。

ただし、規格上の最大距離だけで方式を選ぶのではなく、接続機器の仕様、通信速度、ケーブル、接続台数、分岐、周囲のノイズ環境を確認します。

Modbus通信の仕組み

Modbusは、産業機器のデータを、コイル、入力、入力レジスタ、保持レジスタなどの領域へ割り当てて読み書きする通信プロトコルです。

上位機器が要求電文を送信し、指定された下位機器が応答する構成が基本です。要求には、対象局番、ファンクションコード、開始アドレス、データ数などが含まれます。

代表的なデータ領域には、次のものがあります。

  • コイル:ON・OFFの読み書き
  • 入力:ON・OFF状態の読み取り
  • 入力レジスタ:測定値などの読み取り
  • 保持レジスタ:設定値などの読み書き

Modbus RTU・ASCII・TCPの違い

Modbus RTU

主にRS-485やRS-232C上で使用され、データをバイナリ形式で送信します。Modbus ASCIIと比べて電文が短く、産業設備で広く使用されています。

Modbus ASCII

データをASCII文字で表して送信します。電文を文字として確認しやすい一方、RTUより電文が長くなります。

Modbus TCP

EthernetとTCP/IP上でModbusのデータを送受信する方式です。IPアドレスを使用して接続し、シリアル通信とは配線や通信設定が異なります。

レジスタとデータ形式の確認

Modbus対応機器同士であっても、接続するだけで自動的にすべてのデータを共有できるわけではありません。

機器ごとの通信仕様書で、次の内容を確認します。

  • レジスタアドレス
  • 読取り・書込みの可否
  • 整数・符号付き整数・浮動小数点などのデータ型
  • 小数点位置や倍率
  • 複数レジスタの並び順
  • ファンクションコード

例えば、実際の重量が123.4kgでも、通信上は「1234」という整数として格納され、受信側で0.1を掛けて使用する場合があります。

32ビットデータを2つの16ビットレジスタへ分割する機器では、上位・下位ワードやバイトの並び順も確認が必要です。

RS-485の配線

RS-485では、ツイストペアケーブルを使用し、機器を順番につなぐデイジーチェーン配線を基本とします。

幹線から長い分岐を設けるスター配線は、信号反射や波形の乱れを生じさせ、通信異常の原因になる場合があります。

  • 通信線の極性を統一する
  • 長い分岐配線を避ける
  • 動力線やインバーター出力線と分離する
  • シールドと接地方法を統一する
  • 通信線の両端に必要な終端処理を行う

機器メーカーによって、端子名がA・B、+・-、DA・DBなど異なる場合があります。名称だけで判断せず、信号極性を仕様書で確認します。

終端抵抗とバイアス抵抗

RS-422やRS-485では、通信線の端部で信号が反射することを抑えるため、配線の両端へ終端抵抗を設ける場合があります。

終端抵抗を途中の機器へ多数取り付けると、通信線への負荷が大きくなり、信号電圧が低下することがあります。原則として、通信幹線の両端に設けます。

通信していないときの信号状態を安定させるため、バイアス抵抗を使用する場合もあります。終端抵抗やバイアス抵抗が機器に内蔵されていることもあるため、重複設定に注意します。

通信周期と接続台数

RS-485で複数機器を接続する場合、上位機器が各局へ順番に問い合わせます。接続台数や取得データ数が増えると、全機器の情報を更新するまでの時間が長くなります。

1台当たりの通信時間をt、接続台数をnとすると、1巡に必要な時間Tは、概略的に次のように考えられます。

T≒t×n

実際には、応答待ち時間、通信間隔、再送処理も加わります。重量値や速度指令のように速い更新が必要なデータと、実績や設定値のように更新頻度が低くてもよいデータを分けて設計します。

通信異常時の処理

通信は、断線、ノイズ、機器の電源停止、設定不一致などによって途絶える可能性があります。

  • 応答待ち時間のタイムアウト
  • 一定回数の再送
  • 通信異常警報の表示
  • 最終受信値の無効化
  • 設備の停止または安全側動作

通信が復旧しても、直ちに自動運転を再開すると危険な場合があります。現在値、運転状態、機器異常を再確認し、設備ごとに復旧条件を定めます。

計量値や運転許可信号など、設備動作へ直接関係する情報は、通信異常時に過去の受信値を使い続けない設計が重要です。

計量設備での利用

計量設備では、計量コントローラからPLCへ、重量値、安定状態、ゼロ点状態、計量完了、異常コードなどを送信します。

PLCは受信した情報をもとに、スクリューフィーダー、供給ゲート、排出ゲートなどを制御します。

計量結果を管理用パソコンへ送信し、製造実績、配合実績、ロット情報として保存することもできます。

ハカルプラスの対応

ハカルプラスでは、RS-232C、RS-422、RS-485、Modbusを使用した機器接続に対応しています。

PLC、計量コントローラ、インバーター、温調器、センサ、表示器、パソコンなどの通信仕様を確認し、配線距離、接続台数、更新周期に適した構成を設計します。

制御盤、絶縁型通信変換器、中継器、PLC通信プログラム、タッチパネル画面、通信異常時のインターロックまで一体で対応します。

取得した重量値、運転状態、異常履歴、計量実績を保存し、生産管理システムや基幹システムへ連携する構成も検討できます。

よくある質問

Q. RS-485対応機器同士で通信できない原因は何ですか?

A. 通信速度、パリティ、局番、プロトコル、信号極性などの不一致が考えられます。RS-485は電気的な方式であり、通信内容まで統一する規格ではありません。

Q. Modbusの値が想定と大きく異なるのはなぜですか?

A. レジスタアドレスのずれ、小数点倍率、符号、データ型、ワードやバイトの並び順が一致していない可能性があります。

Q. 通信が時々途切れる場合はどこを確認しますか?

A. 終端抵抗、分岐配線、接地、シールド、動力線との離隔、通信速度、応答待ち時間を確認します。特定機器の接続時だけ発生する場合は、その機器や配線区間も切り分けます。

Q. 通信異常後に自動で再接続できますか?

A. 再送や再接続は可能です。ただし、設備の状態や受信データの有効性を確認し、安全条件が成立してから運転を再開します。

Q. 既設のRS-232C機器をRS-485へ接続できますか?

A. 通信変換器を使用できる場合があります。ただし、電気的な変換だけで対応できるか、通信プロトコルの変換も必要かを確認します。

関連ワード

お問い合わせ