DCPとは?
DCP=Discovery And Configuration Protocolのことで、ProfinetにとってなくてはならないProtocolの一つです。Profinetは工業用のProtocolって言われましたが、中身にはたくさんのProtocolや仕組みに積んでおり、DCPはもその一つですね。
DCPはなにできる?
DCPを使うことによってPN Controllerやエンジニアリングツールに、
- デバイスの検索
- デバイスの情報
- デバイス設定
- デバイス名
- デバイスのIP
などを実装すること可能です。
エンジニアリングツールに統合されてといわれてもすべてのコマンドをSupportするわけでもない。例えばデバイス検知だけできるとか、Reset to FactoryするにもいろんなModeがあって、いくつかのModeだけSupportしてるか。
例えば下図はSiemensのエンジニアリングツールですが、そのStart SearchはDCPを使用しています。
そのDCPはLayer2のもので各種のコマンドを発行できます。
- IdentifyAll
- Flash
- Identify
- Reset to Factory
- Set
- Get
- Hello
などなどです。注意するのはDCPはLayer2のものなので、DataLink層(いわゆるちゃんとつながってるか)を確認することができます。
流れ
次はPN Controllerが立ち上げるとき、DCPはどのように使用してるかを見てみましょう。
例えばいまProfinetネットワーク内にDevice1という名前のPN Deviceが存在します。そしてそのネットワーク構成にもControllerにダウンロードしました。
実際PN Controllerが立ち上げると、まずDCP “Identify”でDevice1がありますか?とネットワーク内にDCP Protocol Supportしてるデバイスに聞きます。返事ないならまた繰り返しします。
Device1の名前のPN Devicesがありの返事きたら次にそのDeviceにあるべきのIP(あなたのネットワーク構成による、このCASEでは192.168.1.231)をARP Protocolを使用し機器へ問い合わせします。
次は3つの場合があります。
CASE1:
誰も返事きていません。つまり”Device1″という名のPN Deviceがあるが、IPがない。
その場合ControllerがDCP “SET”で”Device1″にIPを与えます。
CASE2:返事きたけど、Device1ではない。つまりネットワーク内に”Device1″以外の機器にIP”192.168.1.231”がある。なので”Device1″にIPを与えることできません。Step1に戻ります。
CASE3:返事がきて、なおかつDevice1です。構成が一致ですね。PN Controllerが次のPN Deviceに同じの流れを問い合わせします。
下図は先いってた流れですね。
Command
Command “Identify All”
MulticastのコマンドでProfinetネットワークを検知したりすべてのPN Devices機器を検索したりに使われています。そのコマンドで素早くPN Device Listをもらうことが可能で、List内に以下の情報が含まれています:
- Device名
- IP
- Subnet Mask
- Router Address
- MAC
- Device Type
- Vendor 情報
などなどです。
そして情報もらえるってことは、ネットワークの設定エラーなどを見つかることできます。
- 接続してないデバイス
- 誤りのIPやDevice名
- 重複のIPやDevice名
- Device名なしの機器
- 誤りのデバイス
などなどです。
Command “Identify”
Multicastのコマンドで特定のデバイスを検索するに使われてるコマンドです。例えばPN Controllerが立ち上げるときにとか。
Command “SET”
Unicase のコマンドでデバイス名やIPを設定するときなどに使われています。最初に思い浮かぶのはSiemensのTIAでDevice名を一つ一つを設定するときでしょう。そのときはDCP SETコマンドを使用しています。
そしてそのSET は一時的なのかROMに書き込むかを一応設定できます。(DefaultはROMに書き込むことが多いと思いますが)、例えばDevice名に一時的に名前を設定し、電源を入れ直したら、該当するDeviceはまた”NoNameSet”になってしまいます。
Command ”SET/RESET”
Unicase のコマンドでDeviceをProfinet Factory Resetすることができます。そうすると名前がEmptyになりIPは0.0.0.0になります。
(前も言いましたが、Factory ResetにもいろんなModeがあります。)
Command “SET/Signal”
Unicase のコマンドで機器についてLEDをFlashさせる機能で、Profinetを立ち上げる、Device名設定する個別のDeviceを特定するによく使われています。(注意するのはAll DeviceがSupportするわけでもない)
Command ”GET”
Unicase のコマンドで指定の機器から様々な情報(IP・Device名・メーカ情報など…)を貰えます。