CIPとは?EtherNet/IPの中身を解説!マニュアルが読める3つの鍵

  • URLをコピーしました!
\ 迷子にならないための地図 /

未経験から一人前への
「最短ルート」公開中

独学で「何から勉強すれば…?」と悩んでいませんか?
現場で戦える知識を、体系的にまとめました。

FA電気設計ロードマップを見る

キーエンスやオムロン、ロックウェルなどのマニュアルを読んでいると、必ず出てくる「CIP」という言葉。 EtherNet/IPのケーブルを繋ぎたいだけなのに、急に「CIP通信」や「CIPオブジェクト」なんて専門用語が出てくると、「新しい規格?」「メーカー独自?」と混乱してしまいますよね。

この「CIP」を理解していないと、PLCでメッセージ通信(MSG命令)を組むとき、「クラス? インスタンス?」とパラメータ入力で挫折することになります。 結果、設定ミスで通信エラーが消えない「地獄」を見ることに……。

そこで今回は、多種多様なメーカーの機器を接続してきた実務9年の現場エンジニアの視点から、難解なCIPの仕組みを「ある会社の組織図」に例えて解説します。

結論から言うと、CIPとは「工場の共通言語(文法)」であり、マニュアルの数字は「会社の内線番号」に過ぎません。

ただし、メーカーによって「言葉の並び順(エンディアン)」が逆になるという致命的な罠があります。 これを知らずに接続すると、「100mm」と指令したつもりが「25600mm」と解釈され、機械が壁に激突するかもしれません。


目次

CIPとは何か?EtherNet/IPとの決定的な違い

まず、よくある勘違いを解消しましょう。 「EtherNet/IP」と「CIP」は、役割が全く違います。

結論から言うと、EtherNet/IPは「電話機」であり、CIPはそこで話される「日本語」です。

「電話機」と「日本語」の違いでイメージせよ

この2つの関係性は、以下のようにイメージしてください。

  • EtherNet/IP = 「電話機(伝達手段)」
  • CIP = 「日本語(話す内容・文法)」

電話(Ethernet)を使おうが、糸電話(DeviceNet)を使おうが、そこで語られている「言葉のルール(CIP)」は同じですよね?

だから、EtherNet/IPもDeviceNetもCompoNetも、みんな「CIPファミリー(親戚)」と呼ばれます。 伝達手段(ケーブル)が違うだけで、中身の文法(CIP)は共通だからです。

ケーブルの中の「マトリョーシカ」現象

もっと物理的なイメージで言うと、「トラック(Ethernet)」の中に「手紙(CIP)」が乗っている状態です。

  • Ethernet/TCP/IP(トラック・封筒)
    • データを運ぶための運送業者。
    • 「192.168.1.10へ運んでくれ」という宛名だけを見て運びます。中身には関知しません。
  • CIP(手紙)
    • 封筒の中に入っている「手紙」そのもの。
    • 「製造部の1号機さん、データを教えて」という命令の中身が書かれています。

現場で言う「CIP通信をする」というのは、いつものLANケーブル(トラック)を使って、この特殊なフォーマットの手紙(CIP)を送り合うことなのです。

EtherNet/IPとCIPの関係性を示すイラスト。EtherNet/IPを「伝達手段であるトラック」、CIPをその荷台に乗っている「話す内容(手紙)」に例え、物理層(ケーブル)が変わっても通信の中身(CIP)は共通であることを表現。

マニュアル解読の鍵!「C・I・A」は会社組織だ

さて、ここからが本題です。 PLCでCIP通信(Explicitメッセージ)を行おうとすると、必ず以下の3つのパラメータ入力を求められます。

  1. Class (クラス)
  2. Instance (インスタンス)
  3. Attribute (アトリビュート)

マニュアルの「オブジェクト仕様書」に並ぶこの無機質な数字。 これを「会社の組織」に置き換えると、一瞬で意味が分かるようになります。

通信相手の機器(インバータなど)を、「ひとつの会社(インバータ株式会社)」だと思ってください。。

① Class(クラス) = 「部署」

会社の中には、機能ごとに部署が分かれていますよね。CIPも同じです。 「Class ID」を指定するということは、「どの部署に電話をかけるか」を選んでいるだけです。

  • Identity クラス (ID: 1)
    • 「総務部(自己紹介課)」
    • 会社の名前や、製品名などを管理している部署です。
  • Assembly クラス (ID: 4)
    • 「製造部(入出力課)」
    • 実際のデータ(ON/OFF信号など)を扱っている部署です。
  • Parameter クラス (ID: 15)
    • 「技術部(設定課)」
    • 加速時間などのパラメータを管理している部署です。

「Class ID」を指定するということは、「どの部署に電話をかけるか」を選んでいるだけです。

② Instance(インスタンス) = 「社員(担当者)」

部署の中には、実際に働いている「人」がいます。 「Instance ID」を指定するのは、「その部署の、誰(何番さん)を呼び出すか」を指定することです。

  • Instance 1 → 「1号機の担当者さん」
  • Instance 2 → 「2号機の担当者さん」

※インバータ単体の場合は、基本的に「1番さん(Instance 1)」しかいないことが多いですが、多軸コントローラなどの場合は2番、3番と増えていきます。

③ Attribute(アトリビュート) = 「その人の個人情報」

電話に出てくれた担当者さんから、何を聞き出したいですか? 「Attribute ID」は、その人が持っている「名簿の何行目のデータが欲しいか」を指定する番号です。

  • Attribute 1 (Vendor ID)「あなたの会社コードは?」
  • Attribute 7 (Product Name)「あなたの製品名は?」
CIPのオブジェクトモデルを「インバータ株式会社」の組織図に置き換えた図解。総務部(Identity Class 1)の1号機担当(Instance 1)が持つ社名コード(Attribute 1)や、製造部(Assembly Class 4)の入出力担当が持つデータなどを視覚化。

「住所(CIP)」は読めた。じゃあ、どうやって送る?

クラスやインスタンスで「宛先」は理解できましたね。 では、その宛先にデータを送るとき、「都度メールを送る(Explicit)」のが良いのか、「ベルトコンベアで垂れ流す(Implicit)」のが良いのか?

現場で迷いがちな「通信モードの使い分け」については、こちらの記事で解説しています。

あわせて読みたい
【EtherNet/IP】メッセージとサイクリックの違い!設定の罠と使い分け 実務9年の現役設計者が、EtherNet/IPの2大通信モード「Explicit(メッセージ)」と「Implicit(タグデータリンク)」の違いを解説。「メール」と「ベルトコンベア」の図解で使い分けがスッキリ分かります。RPI設定の落とし穴や、通信できない時の対処法も網羅。

実際に「翻訳」してみよう

では、実際にマニュアルによくある設定を、この「会社」の例えで翻訳してみましょう。

具体的な「翻訳」の流れ

【ミッション】インバータの製品名(形名)をPLCで読み出したい。 マニュアルのオブジェクト一覧表には「Identity Object, Class 1, Instance 1, Attribute 7」と書いてある。

これを翻訳すると、こうなります。

  1. Class 1 (Identity)
    • 「もしもし、総務部(自己紹介課)をお願いします」
  2. Instance 1
    • 「総務部の1番さん(代表者)を出してください」
  3. Attribute 7 (Product Name)
    • 「あなたの製品名(7番の項目)についてですが……」
  4. Service Code (Get Attribute Single)
    • 内容を教えて!(Get)

返答: 「はい、私は『FR-E800』です」

どうですか? やっていることは、ただの「電話での問い合わせ」なんです。 PLCのMSG命令で設定している数字の羅列は、この「内線番号」を順番に指定していただけなんですね。


サービスコードは「動詞」である

最後に一つだけ。「Service Code(サービスコード)」という設定項目があります。 これは、相手に対する「動詞」です。

  • Get (0E) = 「教えて(読む)」
    • データを読み出したいときに使います。
  • Set (10) = 「書き換えて(書く)」
    • パラメータを変更したいときに使います。

「部署・人・項目」を特定して、最後に「それをどうするのか(読む or 書く)」を命令する。これがCIP通信の流れです。


コラム:実は「いつもの通信」でもCIPは使われている?

ここまで読むと、「CIPって、面倒なメッセージ通信(Explicit)をするときだけ使うんだな」と思うかもしれません。 でも実は、皆さんが普段何気なく設定している「サイクリック通信(I/O通信)」でも、裏側ではCIPが使われているのです。

設定ソフト(Network Configuratorなど)で、こんな入力をしたことはありませんか?

  • Input Instance: 100
  • Output Instance: 101

「ああ、いつもの設定ね」とスルーしていたこの数字。 実はこれ、「製造部(Class 4)の、100番さん(Instance 100)と契約します!」 という、バリバリのCIPアドレス指定なんです。

  • メッセージ通信:
    • 毎回電話して「〇〇部の××さん!」と呼び出す。(都度注文)
  • サイクリック通信:
    • 最初に一回だけ「〇〇部の××さんと契約!」と申し込んで、あとは自動で届けてもらう。(定期購読)

「あの数字は、CIPの『社員番号(インスタンス)』だったのか!」 これを知っていると、設定画面の入力項目がただの記号ではなく、意味のある「住所」に見えてきませんか?


現場でハマる「CIP設定」の落とし穴2選

最後に、現場で一番困るポイントを解消しておきましょう。 「理屈は分かったけど、実際のソフトにはどう入力すればいいの?」 メーカーのマニュアル(メニュー表)からPLCの設定画面(注文書)へ転記するときには、3つのコツがあります。

最大の罠!「エンディアン」で数値がバケモノになる

ここがプロでもやらかす最大の落とし穴です。 CIP通信の規格は「リトルエンディアン(下位バイトが先)」と決まっていますが、通信相手のロボットや計測器が「ビッグエンディアン」で動いている場合、データが逆順で届くことがあります。

例えば、PLCから「100mm(Hex: 0064)」という移動距離を送ったとします。

  • PLC側(リトルエンディアン): 64 00 の順番で送信
  • 海外製ロボット(ビッグエンディアン): 64 00 を受け取り、「上位バイトが64だ!」と解釈

すると、ロボット側では 6400 (Hex)「25,600mm」 という値に化けてしまいます。

  • 指令値: 100mm
  • 実際: 25,600mm (25メートル暴走!)

通信エラーが出ないのが一番の恐怖 恐ろしいことに、CIP通信自体は「正常」に成功しています。

他社メーカーと通信する際は、必ず「バイトスワップ(並び替え)」機能を使うか、テスト時に「1」などの小さな値を送って、データが化けていないか確認してください。

インスタンスIDは「1」とは限らない!

ここが初歩的なミスの温床です。 「とりあえず 1 を入れておけば動く」と思っていると痛い目を見ます。

  • 基本機能(総務部など): Identityオブジェクトなどは、確かに 「1」 であることがほとんどです。
  • 入出力(製造部): Assemblyオブジェクトなどは、「100」「101」 など、全然違う番号が割り振られています。

マニュアルのオブジェクト一覧表には、必ず「Instance ID」や「Instance」という項目(あるいは表の枠外)に番号が書かれています。 「だいたい 1 だろう」と思い込まず、必ずマニュアルに書かれている番号(社員番号)をそのまま入力してください。

「16進数」と「10進数」の変換

ここが最大の落とし穴です。 マニュアルの表に書かれている数字は、**「16進数(Hex)」**で書かれていることがほとんどです。

  • 例:Class 0F, Attribute 10 など

しかし、PLCの設定ソフトはメーカーによって**「10進数」**で入力を求めてくることがあります。

  • Class 0F (Hex) → 15 (Dec)
  • Attribute 10 (Hex) → 16 (Dec)

「設定したのにエラーが出る!」という時は、だいたいこの変換ミスです。 マニュアルに 0xh が付いていたら16進数なので、Windowsの電卓(プログラマ電卓モード)で変換して入力しましょう。


まとめ:CIPはただの「会社の電話帳」である

今回の内容をまとめます。

  • EtherNet/IPとCIP: 「電話機」と「日本語」の関係。
  • Class: 部署(総務部、製造部…)
  • Instance: 担当者(1番さん…)
  • Attribute: 欲しい情報(社名、設定値…)

このイメージを持ってマニュアルの「オブジェクト仕様書」を見返してみてください。今まで暗号に見えていた数字の表が、「会社の電話帳」に見えてくるはずです。

【応用】もし、その手紙が「非常停止」だったら?

通常のCIP通信は「白い封筒」に入った普通の手紙です。しかし、命に関わる「非常停止信号」を送る場合は、もっと厳重なセキュリティが必要です。 普通のCIPと何が違うのか?「黄色いアタッシュケース」と呼ばれるCIP Safetyの仕組みはこちらで解説しています。

あわせて読みたい
CIP Safetyとは?LANケーブルに非常停止を流せる「黒い土管」の仕組み CIP Safetyはなぜ普通のLANケーブルで非常停止を送れるのか?その秘密は「通信を信用しない(ブラックチャンネル)」という設計思想にあります。時間監視、ID確認、データ破損チェックなどの4つの検問機能と、安全PLC導入の判断基準、メリット・デメリットを現場目線で解説。

💬 更新情報を X (Twitter) で発信中!

記事の更新通知や、現場で役立つ「電気制御の小ネタ」をツイートしています。 また、「記事のここが分からなかった」「現場でここが困っているけどどうしたらいい?」といった疑問があれば、DMで募集しています!個別のトラブル相談も、ブログのネタにさせていただけるなら大歓迎です!ぜひフォローして気軽に絡んでください!

図解】CIPマニュアル完全攻略!Class・Instance・Attributeを「会社の組織図」でスッキリ理解。左側は難解なマニュアルに悩むエンジニア、右側はCIPの構造を「部署(Class)・社員(Instance)・個人情報(Attribute)」に置き換えて電話をかけるイメージのイラスト。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次