RS232とRS485は主にシリアル通信の電気的インターフェースを規定します。一方、CANにはメッセージ、調停、エラー処理の仕組みもあります。RS232はポイントツーポイントでよく使用され、RS485は差動マルチドロップバスに適し、CANはメッセージの優先順位と複数ノードの協調が必要な制御システムに適しています。この3つは、コネクターを変更するだけでは相互接続できません。選定時には、電気層、データ形式、アプリケーションプロトコルを併せて確認する必要があります。
「シリアルポート」と呼ばれていても直接相互接続できない理由
シリアル通信はデータを順番に送信しますが、「電気信号をどのように表すか」と「そのデータが何を意味するか」は別の問題です。コンピューターと計測器をRS232で接続する場合でも、両端でボーレート、データビット、パリティビット、ストップビットを一致させ、同じコマンド形式を使用する必要があります。ポートの形状が同じであることは、機械的に接続できる可能性を示すだけで、電圧とプロトコルの互換性を証明するものではありません。
RS232は通常、信号グランドを基準とするシングルエンド電圧を使用し、送信と受信に別々の線を使用できます。DTEとDCEの役割によって結線が変わります。DB9は一般的なコネクターにすぎず、すべてのDB9が同じピン定義を使用すると一律に考えることはできません。産業機器では、似た形状の筐体に別のインターフェースが組み込まれている場合もあるため、マニュアルを基準にしてください。

RS485:差動2線だからといって、全機器が同時に送信できるわけではない
差動受信器は2本の線の電圧差を検出するため、両方の線に共通して加わる干渉を抑えやすくなりますが、コモンモード範囲、接地、保護に関する要件は依然としてあります。2線式RS485は一般に半二重であり、通常、同時に送信するドライバーは1つだけにする必要があります。いつ誰が送信するかはアプリケーションプロトコルで決まり、例えばマスターがスレーブをポーリングします。RS485自体がアドレス、ポーリング、データ再送を自動的に提供するわけではありません。
幹線はバス構成とし、分岐はできるだけ短くしてください。終端抵抗は、ケーブルの特性インピーダンス、長さ、エッジ速度に応じて物理的な両端に設けるものであり、各ノードに無条件で追加するものではありません。ノード数は機器の負荷、配線、通信速度によって決まり、従来の数値をすべての製品に当てはめることはできません。距離と通信速度も相互に制約するため、どの通信速度でも同じ距離で動作すると約束すべきではありません。
CAN:調停は一般的な485バスとの重要な違い
CANコントローラーは、メッセージ識別子に基づいてバス調停に参加します。ドミナントビットはリセッシブビットに優先し、ノードは送信しながらバスを読み取ります。リセッシブビットを送信したのにドミナントビットを読み取ったノードは、その時点の競合から退き、優先権を得たメッセージの送信を継続させます。これは、まず衝突してデータを破損させ、その後ランダムに待機して回線を確保するという単純な方式ではありません。高優先度の識別子の割り当てが不適切だと、低優先度のメッセージが長時間待たされることもあります。
CANトランシーバーは差動電気信号を処理し、コントローラーはフレームとエラーを処理します。CANopenなどの上位層プロトコルは、さらにデバイスオブジェクトや通信動作を規定します。Classic CANとCAN FDも、フレーム長、通信速度のフェーズ、互換性の条件が異なるため、どちらもCANと表示されているだけで完全な相互運用性があると考えることはできません。

名称の優劣ではなく、プロジェクトの要件に基づいて選ぶ
短距離で単一機器をデバッグする場合、RS232は簡単で直接的な方法となり得ます。複数のメーターを数珠つなぎに接続してマスターでポーリングする場合は、対応するプロトコルを組み合わせたRS485がより一般的です。複数の制御ノードがメッセージの優先順位に従って協調する必要がある場合は、CANと適切な上位層プロトコルを検討してください。最終的には、使用環境、通信周期、エラー復旧、ソフトウェアの対応状況も確認する必要があります。
インターフェース変換器にも層の違いがあります。232から-485への変換器は、電気的インターフェースのみを変換する場合があり、メーカー固有のコマンドを自動的にModbusに変換することはできません。485とCANの間で意味を保った相互運用を実現するには、明確なゲートウェイマッピングとスケジューリングが必要です。受入試験では、線路端に波形があることを確認するだけでなく、実際のメッセージを使用して双方向のデータ、負荷時の遅延、異常からの復旧を確認してください。
オシロスコープに波形が表示されているのに、ソフトウェアがエラーを報告し続ける場合の考え方
まず、物理的な問題とデータの問題を切り分けてください。ポートの極性、基準グランド、コモンモード範囲、不適切な終端によって、受信器がビットを誤って読み取る場合があります。シリアル形式が一致していないと、正常な電圧レベルでも誤った文字境界で解釈される場合があります。アプリケーションコマンドが異なると、データ形式が正しくても有効な応答が得られない場合があります。この3つの層の問題を順に検証し、単に「シリアルポートが動かない」として原因を曖昧にしないでください。
CANの確認時には、コントローラーのエラーカウンターと状態も読み取る必要があります。バスの断線、確認応答の欠如、設定エラーによってエラー処理が作動し、深刻な場合はノードがバスオフ状態に入ることがあります。ケーブル修復後の復旧方法はコントローラーとソフトウェアの方針によって異なるため、ポートのランプが再点灯するのを待つだけでなく、アプリケーションの復旧動作を確認してください。
交換用の計測器を購入する際は、インターフェースの電気規格、コネクターのピン配置、通信速度、データ形式、アプリケーションプロトコルを一覧にし、実際のメッセージサンプルを添付してください。CAN機器の場合は、Classic CANかCAN FDか、識別子、上位層プロトコルの要件も明確にする必要があります。曖昧に「シリアルポート付き」と求めるよりも、これらの条件を漏れなく記載する方が、誤った製品の購入を防ぎやすくなります。
光ファイバーでインターフェースを延長しても、プロトコルの境界を越えることはできません。透過型の232光ファイバーモデム、485光ファイバーモデム、CAN光伝送装置は、それぞれ異なる仕組みに対応しています。特にCANでは、調停タイミングと伝搬遅延の制約も考慮する必要があります。長距離伝送システムは、システム全体の互換性に関する説明に従って設計すべきであり、一般的なシリアル光伝送機器をCANエクステンダーとして扱うことはできません。
参考資料:TI:RS422/RS485システム構成;TI:RS485差動伝送の基礎.
中国語の技術記事から翻訳。原文初公開:2020-05-18。原文最終改訂:2026-10-13T23:18:15+08:00。 中国語の原文を読む


