0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Siemens#IDevicesを使う

Posted at

前書き

いまの工場現場はますます複雑になり、もちろんStation間(PLCとPLCと)にもデータが交換すること求められています。しかも単なるデータ交換できるではなく、効率よく、ネットワーク機器少なく、簡単明瞭で、立ち上げはすぐできるなども必要になります。そこでSiemnes社がI-Deviceという機能が提供し、2つのControllerの間に簡単でデータ簡単を実現します。

IDeviceとは?

少し詳しくそのIDeviceを見てみましょう。IDeviceを使うことによって2つのControllerの間にデータ交換することが簡単に実現できると書いていますが、ざっくりいうとそのIDeviceはCPU(PLC、Motion Controller、Software Controllerなど)、CP(Communication Processer)をDevice扱いするってことです。そうすると、自分がControllerで自分のネットワーク内のRemote IO、Fieldデバイス持ちながら他の上位のControllerの”Device”として通信するってことです。

(国産のメーカよくMasterとSlaveのような言い方で、自分がMasterでSlaveのデバイスありながら他の上位システムのSlaveとして存在するって意味ですね。SiemensはそれをControllerとDevicesと呼ぶ)

例えば下のように、一番上のIO Controllerと他のFieldデバイスとProfinetでつながっています。
下にぶら下がってる四角のはS7-1200でそのS7-1200はIO Devicesであり(一番の上のS7-1500からみると)、そして自分もIO ControllerとしてRemote IOのようなIO Devicesがもってます。簡単明瞭。
image.png

使用可能のデバイス

  • S7-300(Firmware V3.2以上)
  • CP 341-1(Adv)
  • S7-400(Firmware V6以上)
  • S7-1500
  • S7-1200(Firmware V4以上)
  • ET 200S/ET200SP/ET200pro CPU
  • SIMOTION

その詳細はManualを参照お願いします。

ここでもう一つのアプリケーションを話ししましょう。
まず上にいるのは上位のCPUで、自分のDistrictedがあり、そしてWirelessを使ってVehicle1..nの各PLCとIDeviceでデータ交換します。そして各PLCも自分のFieldデバイスあり、それを実現するとか上位PLCが自分のプロジェクトにデバイス名ことにアドレスふっておけば問題ありません。
Vehicle1:IQ5000からー
Vehicle2:IQ5050からーなど。
image.png

メリット?

  • ネットワークの配置はもっと柔軟になる
  • 各プロジェクトの修正が最小限に
  • SiemensのControllerと他のメーカーデバイスと統合(GSDFilesを使う)
  • PN/PN couplersいらない
  • ルーターなどの設置なく

まぁ、つまりお金ですね。

IDevicesの基本

もちろん、そのままプロジェクトの設定こうして、次はこうしてScreen Shotを貼り付ければOKですが、そのやり方はいかにも芸が無さすぎでここで基本を踏みながらしたいと思います。

用語

IDevice

Intelligent IO deviceの構成設定されてるCPUかCPのこと。

Profinet

PROFINETとは1999年にプロフィバス協会より発表された産業用のEthernetプロトコルです。PROFIBUSと同様にPROFIBUS & PROFINET Internationalにより管理されています(日本では、日本プロフィバス協会が普及に取り組んでいます)。

GSD

PROFIBUSで機器の通信設定するにはGSDファイル(General Station Description) が必要で、
PROFINETならGSDMLファイル(XMLベースのGSD)が必要です。
そのFILEはベンダーより提供されていますので、GSDファイルを入手し、通信設定ツールを使用しスレーブアドレスやI/O割付などの設定作業を行います。

データ交換のコンセプト

基本的にI-DeviceはCPU中のProcess Imageでデータ交換します。Process Imageを使うことによって直接すべてのデバイスをアクセスできるようになり、ルータ、Gatewayを使わず済みます。

IOContollerの視点

IOContollerにとっては単なるRemote IOとやり取りとあまり変わりません。Process ImageからInputを読み、メモリをOutputへ書き込むのような感じです。

I-Deviceの視点

それでもあまり変わりませんね。データを上位IOControllerとやりとりはRemote IOとINPUT、OUTPUTのデータ交換みたいです。

Transfer areas

先に言いましたが、CPUのProcess Imageでデータ交換するのでそのProcess Imageの領域が”Transfer areas”と呼びます。

領域

image.png

AR

ARはApplication Relationshipのこと。

注意するのは1440Bytesまで交換できますよと書いておりますが、
そのRangeは直接Profinet更新時間に影響します。
transfer areasのBandwidth+下位IOSystemのBandwidth=IDeviceで使うBandwidth。

設定の選択肢

  • 同じTIAプロジェクト内で直接構築する
  • 異なるプロジェクトで構築する(その場合はGSDが必要になります)

IDeviceの種類

IDevice自分のIOSystem無し

いわゆる以下のような構成ですね。
自分Remote IOなく、上位のControllerとProfinetでつながってデータ交換する。
image.png

IDevice自分のIOSystemあり

いわゆる以下のような構成ですね。
IOControllerが自分のRemote IOなどがあり、そして上位のControllerのDevicesとしてProfinet繋がってデータ交換する。
image.png

アラームと診断

S7CPUは様々な診断関数が提供され、例えば下位Systemとの通信エラーなど、より簡単でトラブルによる停止時間を短くすることができます。

OB

  • OB 83 (insert/remove)
  • OB 85 (program sequence error)
  • OB 86 (rack failure)
  • OB 122 (I/O access errors)

TIA関数

  • GET_ERROR
  • GET_DIAG

Project構成

いよいよProjectをどう構築すればよいかのところまで来たね。同じProject内で構築すると別々Projectで構築する方法を紹介したいと思います。

同じProject内

ここでまずPLC_1とPLC_22つのControllerがあり、PLC_1はControllerでPLC_2がDeviceとしてPLC_1とデータ交換。
image.png

PLC_1にProperties>PROFINET Interface>Ethernetを選んで、Add new subnetで新しいSubnetを追加し、IPはネットワーク構成に合わせるように設定します。
image.png

次はPLC_2にProperties>PROFINET Interface>Ethernetを選んで、Subnetのところに先追加したSubnetを選択します。
image.png

いまは2つPLCが同じSubnetに繋がっています。
image.png

次はPLC_2をDeviceとして設定します。Operating modeでIO DeviceのCheckBoxを入り、Assigned IO ControllerをPLC_1のInterfaceを選んでください。
image.png

下のTransfer areasでを押すと新しい転送エリア設定できます。そして矢印を押すとIかQかを設定することができます。もちろんIはInput,QはOuputです。
image.png

それだけです。最後はProjectを2つのPLCにもダウンロードすればOKです。

別々Projectで

多分こっちのほうが使うことが多いと思います。よく考えたら少し大きめなLineであればそもそも全てのControllerが同じProject内にはあまり考えられないです。ここで使うのはGSDFileです。考え方としてはもし自分がControllerでありながらすればDeviceのGSDをIMPORTする必要があり、逆に自分がDeviceとして他の上位Controllerとデータ交換したいのであればGSDをEXPORTしControllerのProjectにIMPORTする必要があります。

でも大丈夫です。ここで両方も紹介しますので。

_test2のプロジェクトで同じのように、IO DeviceにCheckBox入り、Transfer areasで必要な交換領域を設定。
image.png

次はCtrl+BでコンパイルしExportボタンを押します。
image.png

次は以下のPopup出てきます。OKをします。
image.png

このようなXMLがEXPORTされています。
image.png

次はControllerのプロジェクト開きます。Magnage general description files(GSD)をクリックします。
image.png

次は1のところに先EXPORTされてたXMLのところ選んたら、2のところにそのGSDが見えます。CheckBox入れ、3のInstallボタンを押します。
image.png

Install終わりったらCatalog>Other field devices>PROFINET IO>PLCs & CPs>で先Installしたものを構成に追加します。
image.png

構成はこうになりますね。PLC_1もうこのProjectの中にDeviceとして存在します。
image.png

Not assigned のところに選んでPLC_1.XXXXでネットワーク構成に合わせ、どっちのPORTを繋がっていくのかを。
image.png

最後はそのDeviceをダブルクリックしDevice viewに切り替え、I addressとQ addressでProcess Imageのアドレス設定すればOKです。
image.png

お疲れ様ですー

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?