産業用ネットワーク技術まとめ#1

<!---
産業用ネットワーク技術まとめ#1
-->

tootsie で Qiita に顔を出すことにしました。はじめまして。

海外の産業用ネットワーク技術を提供する会社にいるので、ここで集まる情報を元に、いろいろとまとめていこうと思います。
産業用ネットワークの世界もIoTの流れを無視出来なくなりました。IIoT(Industrial Internet of Thing)です。海外に目を向けると、例えばドイツは『Industrie4.0』を提唱しています。モノのインターネット化により、設備と人とが協調して動く、サイバーフィジカルシステム(Cyber-Physical System)を実現していこうというものです。
日本でも同じような考え方があります。

## 産業用ネットワークの背景
遠隔地(といっても100M以下ですが)にあるセンサやモータなどを配線するのに、個別にやっていたらキリ無いし配線大変だしノイズ乗るし大変なので『ネットワーク化』して『情報をやり取りする』ことで面倒を見ましょう、と。
※100M以下としていますが、これはEthernetにおける100Base-TX を元にしているためです。光ファイバを使ったり、RS485準拠のネットワーク規格の場合は、条件付きですが1kmを超える配線も可能です。

ネットワーク化するには、センサやモータ側にも相応のインテリジェント化が必要になります。が、今時は単純なセンサやスイッチ以外はマイコン化が進んでいるので、ここにネットワークインターフェイス向けの処理も行わせて下さい、と。リモートI/Oと呼ばれる、ネットワークインターフェイスとセンサ・スイッチ類用のI/Oを備えたモジュールもあるので、これを使うと対応が楽です。
上述したサイバーフィジカルシステムの考え方の中に、ネットワークインターフェイスが追加され、センサ類がコスト高になる分は、保守性の向上などで補うことが出来る、というものがあります。
センサ類がインテリジェント化されると、稼働時間や品名等がネットワーク経由で確認出来るので、例えば装置寿命が来る前に事前に購入し(品名はネットワーク経由で判明済み)、かつ、余分な在庫は持つ必要が無い、というイメージです。

## 産業用ネットワークの種類 ##

### RS485系のネットワーク ###
歴史的にはこちらが最初で、20年以上の歴史を数えるプロトコルもあります。今でも現役で多数稼動しています。
RS485ベースなので、複数の機器を同じネットワークラインに接続することが出来ます。
ここでは代表的なプロトコル名を列挙しておきます。

* PROFIBUS
* DeviceNet
* CC-Link
* CANOpen

CC-Link は日本製のネットワーク、他は海外メーカが原産ですが、日本製の機器も数多く対応しています。

### Ethernet 系のネットワーク ###

オフィスで使われている100BASE-TXの技術をベースにしたもので、産業用ネットワークとしては後発になります。が、配線の扱いやすさだったり、オフィスネットワークと技術的な土台が同じという『とっつきやすさ』が、ここ数年の伸び率の高さとして表れているように感じます。[市場シェアの統計]( http://anybus.jp/company/news_network_marketshare_2017.shtml "産業用ネットワーク市場シェア2017 (HMS社統計)")によると、最近はイーサネットを使った技術の成長が著しく、年々加速しています。 

* PROFINET
ドイツのシーメンス社がメイン。接続を確立する際に UDP/IPを使うなど、オフィスネットワークとの親和性もあります。
Master / Slave とは呼ばず、Controller / Device という呼び名を使います。

* EtherCAT
ドイツのベッコフ(Beckhoff)社がメイン。EthernetベースだがIPアドレスを使用せず、パケット形式が若干特殊になるため、オフィスネットワークと共存させるには仕掛けが必要になります。
ネットワーク使用効率は非常に高いです。スレーブデバイスは2つ以上のネットワークポートを持ち、デイジーチェインで接続していくのが基本で、機器のアドレスは接続順に割り当てていきます(ハードウェアスイッチによる設定も可能)。
デイジーチェインでは無く、バスを分岐する場合は、専用の分岐アダプタが必要になります。なので、物理的に許される場合はデイジーチェインで繋いでいくのが楽です。経路の多重化に対応した機器もあるので、デイジーチェインが1箇所切れてもネットワーク構成がダウンしないようにすることも可能です。

* EtherNet/IP
アメリカのロックウェル社がメイン。ODVAという規格団体が管理している他のネットワーク(DeviceNet)などとも共通の『CIP』というプロトコルを使用します。
EtherNet/IP は文字通りIPベースで動作するので、オフィスネットワークとの親和性があります。
Master / Slave とは呼ばず、Scanner / Adapter という呼び名を使います。

* OpenModbus/TCP
Modicon社が提唱したModbusをTCP/IPに拡張したもの。比較的歴史が古い。
プロトコル自体が簡単でパソコンや組込系マイコン上への移植も容易。対応機器も豊富にあります。TCP/IPなのでオフィスネットワークとの親和性も高いです。
その代わり、後出のプロトコルと比べてデータ型の定義に乏しいので、それぞれの機器が持っているデータが何を表しているのかを意識する必要があります。また、微妙に動作仕様が異なる場合もあって、OpenModbus/TCP対応同士だが接続出来ない、なんてことにならないように注意が必要だったりします。

\* 相互接続性は、実は全てのプロトコルで微妙な問題だったりします。認証試験制度もあるのですが、それでも『間違い無く繋がる』とは言い切れないのが実情です。メーカを特定すれば接続性の問題を減らせる可能性もありますが、対応機器が限られたりコストが無視出来なくなったりで、『事前に検証して下さい』としか言えません。

\* オフィスネットワークとの親和性が高いというのは、下手に繋ぐとトラフィックが増大して制御に影響を及ぼしたり、セキュリティ面のリスクが増える、という一面もあります。レイヤ2以上でフィルタする、ファイアウォールを設ける、特定のパソコンとだけ接続するなどの考慮は必要です。

### その他 ###
国内では、上記に挙げた以外の産業用ネットワークも使われています。代表的なものを挙げておきます(まだまだあります)。

* メカトロリンク
安川電機がメイン。サーボモータ制御に使用されるので、必然的に同期制御に強い。

* FL-Net
トヨタ系列で強い。Ethernetベース。

* RTEX(RealTime Express)
    パナソニックのリアルタイムネットワーク。100BASE-TX使用。Ethernet準拠では無い?

* CC-Link IE / IE-Field / IE-Field Basic
三菱電機のEthernet系ネットワーク。

海外製品の動向として、最近はIO-Link が有望視されています。センサやアクチュエータ、インテリジェントスイッチなど、末端のデバイスを接続するための技術です。

あと、PLC間のネットワークについては、独自プロトコルを採用していることが多いので省略しています。

独断ですが、『ネットワーク化』して『情報をやり取りする』には何が大事になるかというと、『仕様』だったり『物理的な接続の方式』だったり『設定の簡易さ』だったり、いろいろなアイテムが考えられるのですが、
実際には『ネットワーク経由でも、そこそこ満足にデータのやり取りが出来る』という現実を理解する、あるいは『そこそこ満足』なやり取りで対応出来るような構成としてしまう、という方が大事になるように思います。