FAネットワーク選定とOSI 7階層の基本|EtherNet/IP・PROFINET・Modbus TCPの違いを整理

電気・制御
電気・制御
記事内に広告が含まれています。
スポンサーリンク
この記事でわかること
  • Ethernet系通信とは何か、Ethernetフレームとは何か
  • OSI 7階層はどのように見てそれを使うのか
  • EtherNet/IP、PROFINET、Modbus TCP、FL-net、SLMP、MC Protocol、CC-Link IEの7階層イメージ

この記事の対象になる方

  • EtherNet/IP、PROFINET、Modbus TCPなどの違いが分かりにくい方
  • PLC、リモートI/O、インバータ、上位PC通信のネットワーク設定に関わる方
  • pingは通るのにPLC通信できない理由を整理したい生産技術・保全・制御設計の方

はじめに

FAネットワークを調べていくと、すぐに出てくる言葉があります。

それが OSI 7階層 です。またはネットワークの7階層と呼ばれていたりします。
※OSI:Open Systems Interconnectionの略です。

初めて見ると、専門用語が多くて少し難しく感じるかもしれません。

7階層は後述しますが、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層に分かれます。

名前だけ見ると、いかにもネットワーク専門家向けの話に見えますよね。
しかし、PLCやFA機器に触れている方であれば、7階層はそこまで遠い話ではありません。

例えば、現場で通信トラブルが起きたときに、次のような確認をした経験はないでしょうか。

  • LINKランプは点いているか
  • IPアドレスは合っているか
  • pingは通るか
  • PLC側の通信設定は合っているか

実はこれらの確認は、自然とOSI 7階層を見ているようなものです。

OSI 7階層は難しい理論ではなく、通信トラブルをハード側からソフト側へ順番に切り分けるための地図です。

この記事では、専門家でない方でも分かりやすいように、ネットワークの「階層」と呼ばれる部分を筆者の独断と偏見で解説していきたいと思います!!

Ethernet系通信とは何か

今回は「通信」という大きなくくりの中でも、現場でよく耳にする「Ethernet」をメインに理解していきたいと思います。

この記事にたどり着いた皆さんも、一度は聞いたことがあるのではないでしょうか。

「それはEthernet系の通信 ですね」

ここで気になるのが、「系」って何ですか?という疑問です。

代表的なものには、以下があります。

  • EtherNet/IP
  • PROFINET
  • Modbus TCP
  • FL-net
  • SLMP
  • MC Protocol
  • CC-Link IE

ここで注意したいのは、これらがすべて同じ通信という意味ではないことです。

Ethernet系通信とは、Ethernetの物理層やEthernetフレームを土台にした通信という意味です。
通信規格が同じという意味ではありません。

例えば、同じRJ45コネクタで接続できても、EtherNet/IP機器とPROFINET機器がそのまま通信できるわけではありません。

RJ45はあくまで接続口の形のことです。
※RJ45はこちらの記事で紹介しています↓

通信できるかどうかは、上位の通信規格が合っているかで決まります。

まず「フレーム」とは何か

ネットワークの話でよく出てくる言葉に フレーム があります。

フレームとは、通信で送るデータのひとかたまりのことで、
超ざっくり書くと以下のようなイメージです。

[宛先] [命令] [アドレス] [データ数] [データ] [チェック]

これ全体が1つのフレームで、中身は基本的にバイト列(データ列)になります。

例えば、次のようなデータ列があったとします。

01 03 00 64 00 02 XX XX

この場合、例としてざっくり意味を分けると、次のようになります。

部分意味
01相手の番号
03読み出し命令
00 64読みたいアドレス
00 022ワード読む
XX XXエラーチェック

このように、バイト列をどの順番で並べ、どこを宛先、どこを命令、どこをデータとして扱うかの「区切り」を決めたものがフレームです。

つまり、

フレームとは、通信データを相手に正しく読んでもらうための決まった並び方です。

バイト列だけを見ても、ルールがなければただの数字の列ですよね。
いや、もはや永遠に続く連続する2進数でしかない ⇒ 0101110100100

しかし、フレームのルールが決まっていれば、相手側はそのバイト列を意味のある通信として読み取ることができるということです。

Ethernetフレームの例

Ethernetの場合、代表的には以下のような形でデータを扱います。

[宛先MAC] [送信元MAC] [種類] [データ本体] [チェック]

部分役割
宛先MACどの機器へ届けるか
送信元MACどの機器から送ったか
種類中身がIPv4なのかIPv6なのか、別の通信なのかを示す
データ本体IPパケット、TCP/UDP、EtherNet/IP、レジスタ情報などの中身
チェック通信データに異常がないか確認する

このEthernetフレームが、OSI 7階層でいう主に 第2層 データリンク層 の話になります。
※OSI7階層は次項に表があります

もう少し正確に言うと、Ethernetは第1層と第2層にまたがる技術です。

階層Ethernetで見る内容
第2層Ethernetフレーム、MACアドレス
第1層LANケーブル、RJ45、M12、電気信号

つまり、Ethernet系通信では、まずEthernetフレームという外側の箱があり、その中にIP、TCP/UDP、各通信規格のデータが入るイメージです。

ネットワークの7階層とは

OSI 7階層を表にすると、以下のようになります。

階層名前ざっくり役割
7層アプリケーション層人や装置が使う通信内容EtherNet/IP、HTTP、FTP、Modbusなど
6層プレゼンテーション層データ形式を整える文字コード、暗号化、圧縮、データ表現
5層セッション層通信の開始・終了を管理接続の維持、通信セッション
4層トランスポート層データの届け方を決めるTCP、UDP
3層ネットワーク層相手先までの経路を決めるIPアドレス、ルータ
2層データリンク層同じネットワーク内で届けるMACアドレス、Ethernetフレーム
1層物理層電気信号・ケーブル・コネクタLANケーブル、RJ45、M12

この表だけを見ると難しく感じますが、現場目線では意外とシンプルです。

1層に近いほどケーブルや信号の話、7層に近いほどPLCデータや通信設定の話になります。

つまり、みんな大好きな部分は目で見える第1層ということですね!

通信トラブルを例にすると、実は皆さんも無意識に各層を確認しています。

通信トラブルを例にOSI 7階層を理解

ここではトラブルシューティングを例に、皆さんが無意識に行っている各層の確認を紹介していきたいと思います!

LINKランプが点かない場合

LINKランプが点かない場合は、主に 第1層 物理層 の問題です。

最初に考えられる原因は以下です。

  • LANケーブル不良
  • コネクタ不良
  • 配線ミス
  • 電源未投入
  • 断線、接触不良

この段階では、IPアドレスやEtherNet/IP設定を見る前に、まず物理的につながっているかを確認します。

LINKランプが点かない状態では、上位の通信設定を見ても解決しません。
まずは第1層の確認が先です。

LINKは点くがpingが通らない場合

LINKランプは点くがpingが通らない場合は、主に 第3層 ネットワーク層 の問題が多いです。

考えられる原因は以下です。

  • IPアドレス違い
  • サブネットマスク違い
  • ネットワークアドレス違い
  • デフォルトゲートウェイ違い

LINKが点いているということは、物理的な接続は成立している可能性が高いです。
しかし、IPアドレスの設定が合っていなければ、相手機器まで通信が届きません。

pingは通るがPLCと通信できない場合

pingは通るのにPLC通信ができない場合は、第4層〜第7層 の問題の可能性があります。

pingが通るということは、IPレベルでは相手に届いています。
しかし、PLC通信として成立するには、その上位の通信設定が合っているかを確認する必要があります。

例えばEtherNet/IPの場合、以下の設定を確認します。

  • EtherNet/IP対応機器ではない
  • Scanner / Adapterの役割が合っていない
  • 入力サイズ、出力サイズが違う
  • コネクション数の上限を超えている
  • 必要なTCP/UDP がネットワーク機器で遮断されている
  • ファイアウォールや管理スイッチで必要な通信が通っていない

ここで注意したいのは、通常の設定でユーザーが毎回TCP/UDPポート番号を手入力するわけではない、ということです。

EtherNet/IPでは、代表的なポートは規格側で決まっています。

用途通信代表ポート
Explicit通信、設定・読書き系TCP/UDP44818
Implicit通信、周期I/O系UDP2222

ただし、これらのポートがネットワーク機器やファイアウォールで遮断されていると、pingは通ってもEtherNet/IP通信は成立しないことになります。

Ethernet系通信規格の7階層比較

FAでよく出てくるEthernet系通信規格を、階層イメージで一覧にしてみました。

第5層のセッション管理や第6層のデータ表現は、第7層の通信仕様や機器設定の中に含めて扱われることが多いため、ここでは現場で意識しやすい層を中心に整理します。

通信規格EtherNet/IPPROFINETModbus TCPFL-netSLMPMC ProtocolCC-Link IE
7層CIP / EtherNet/IPPROFINET IO / RT / IRTModbusFAリンクプロトコルSLMPMELSEC通信プロトコルCC-Link IE通信
4層TCP / UDPTCP/UDP、RT/IRTTCPUDPTCP / UDP、またはCC-Link IE上TCP / UDP、またはシリアル種類による
3層IPIP 等IPIPIP 等IP 等種類による
2層EthernetEthernet / RT / IRTEthernetEthernetEthernet / CC-Link IEEthernetEthernet系 / TSN系
1層Ethernet物理層Ethernet物理層Ethernet物理層Ethernet物理層Ethernet物理層Ethernet物理層、またはシリアル物理層Ethernet物理層
使用先のイメージ汎用FA機器Siemens系FA機器 等汎用FA機器日系FA機器三菱系FA機器三菱系FA機器三菱系FA機器

CC-Linkは種類が多いので、別の機会に……。

この表を見ると、なんか設定しないといけない項目がいっぱいありそう……ってなりますよね。
自分もそうでした。

ただ、7階層はあくまで「この通信規格は、だいたいこんな構造になっています」という説明です。
実際にユーザー側で設定する内容については、次に紹介します!

ユーザーが変更するのは構造ではなく設定値

EtherNet/IP、PROFINET、Modbus TCP、FL-net、SLMP、MC Protocol、CC-Link IEなどの通信規格を使う場合、ユーザーが毎回階層構造を組み立てるわけではありません。

例えば、ユーザーが毎回、以下のように細かく決める必要はありません。

第2層はEthernetにする
第3層はIPにする
第4層はTCPにする
第7層はModbusにする

このような構造は、通信規格側で決まっています。

ユーザーが行うのは、規格で決まった構造に対して必要な設定値を入れることです。

ここでは、一例として紹介しておきます。

設定項目
自分のIPアドレス192.168.0.10
サブネットマスク255.255.255.0
相手機器のIPアドレス192.168.0.20
通信周期EtherNet/IPならRPI、PROFINETなら更新周期など
入出力サイズ入力32byte、出力32byteなど
割付アドレスPLCのDレジスタ、I/Oメモリ
接続先機器情報リモート機器 等
通信の役割Scanner / Adapter、Controller / Deviceなど

ここで注意したいのは、

同じEthernet系通信でも、設定項目の名前や考え方は通信規格ごとに違います。

もし設定値が分からなければ、メーカーへ問い合わせしましょう!!

設定項目が多く見える理由

ネットワークは、設定項目が多く見えます。

IPアドレス、局番、I/Oサイズ、RPI、デバイス名、ポート番号。

一見すると、通信は難しいものに見えます。

しかし、整理するとやっていることは大きく分けて以下です。

分類設定内容
どの機器と通信するかIPアドレス、デバイス名、局番
どの通信規格を使うかEtherNet/IP、PROFINET、Modbus TCPなど
どのデータを扱うかI/Oサイズ、レジスタ番号、Assembly、リンクデバイス
どの周期で更新するかRPI、更新時間、通信周期
PLCのどこに割り付けるかDレジスタ、I/Oメモリ、タグ、リンクレジスタ

通信設定は、階層構造を作る作業ではありません。
相手、データ量、周期、割付を決める作業です。

この考え方になると、7階層の見え方が意外とシンプルになると思います。

FAネットワーク選定で見るべきポイント

最後に、FAネットワークをこれから選定するという方向けに、見るべきポイントをご紹介したいと思います。

通信規格名だけで決めるのではなく、以下を確認しておきましょう。

汎用性のあるネットワークか

FAネットワークは、設備単体だけでなく、工場全体の保全性にも関係します。

既設PLC、保全員の慣れ、予備品、設定ツール、上位システムとの接続を考え、汎用性を持たせる規格で選定しましょう。

接続したい機器が対応しているか

構築されたネットワークに機器を追加する場合、機器がその通信に対応しているかを確認しましょう。

例えば、PLCがEtherNet/IP Scannerに対応していても、相手機器がEtherNet/IP Adapterに対応していなければ、通常の通信はできません。

必要な更新周期に対応しているか

高速なI/O更新やモーション制御では、通信周期が重要です。

通常の監視用途なら数十msでも問題ない場合がありますが、サーボや同期制御ではもっと厳しい周期が必要になります。

その場合、リアルタイム性が強い通信規格が候補になります。

通信によって「何をしたいか」を明確にしておくことが重要です

まとめ

ユーザー側で、OSI 7階層を丸暗記する必要はありません。
ネットワーク仕様を確認するときの見方として、覚えておけば十分です。

理解するコツは、通信を第1層のハード側から第7層のソフト側へ、順番に整理したものとして見ることです。

また、Ethernet系通信とは、Ethernetを土台(フレーム)にした通信という意味です。
EtherNet/IP、PROFINET、Modbus TCP、FL-net、SLMP、MC Protocol、CC-Link IEは、同じEthernet系でも通信規格は異なります。

多くの人にとって、ネットワークの設定とは通信の階層を作る作業ではなく、

通信規格という決められた道路の上で、どの機器と、どのデータを、どの周期で、どこに割り付けるかを決める作業です。

OSI 7階層を理解するのに、この記事が少しでも役に立てばと思います!!


本記事は学習目的の情報提供です。実際の電気工事・設計・配線・機器選定・部材選定・改造は、法令・社内基準に従い、有資格者および責任者の管理下で実施してください。現場条件により最適解は変わるため、必ずメーカー仕様書・設計基準・安全規程・JISを確認のうえ判断してください。

スポンサーリンク
Nikolaをフォローする

この記事へのコメント