Siemens Profinet IO
Profinet IO は Siemens が主導する産業用イーサネット標準です。S7 PLC が分散 I/O (ET200SP / ET200MP / 外部ドライブ) と通信する用途で最も多く使われ、S7 PLC 自体との通信も可能です。
このゲートウェイは共通統合エンジンを介して Profinet 通信をサポートします。
S7 とは何が違うのか
| 項目 | S7 (ISO-on-TCP) | Profinet IO |
|---|---|---|
| ポート | 102 | 34962 / 34963 / 34964 (RT) |
| 通信モデル | request/response (polling) | cyclic IO exchange (リアルタイム) |
| アドレス表記 | %DB1.DBW0 | slot/subslot/index |
| 主な用途 | PLC の DB 変数の読み取り | 分散 I/O / ドライブの process data |
| GSDML | — | 必須 (機器仕様 XML) |
S7 PLC の DB だけを読みたい場合
シーメンス S7 ページの %DB1.DBW0 形式のほうがはるかに簡単です。Profinet は 分散 I/O 自体と直接通信する場合 や cyclic データ交換が必要な場合 のためのオプションです。
登録フォームの入力値
| 入力欄 | 何を入力するか | 例 |
|---|---|---|
| IP アドレス | Profinet デバイスの IP | 192.168.0.160 |
| ポート | Profinet ポート | 34962 (RT_CLASS_1 のデフォルト) |
| Device Name (device-name) | Profinet デバイス名 (DCP) | et200sp-1 |
| GSDML ファイルパス | デバイス仕様 XML | /opt/.../gsd/GSDML-...xml |
GSDML が核心
Profinet は GSDML (機器メーカー提供の XML) がなければ slot/subslot/parameter の意味を判別できません。デバイスメーカー (Siemens / Festo / SEW / Bosch Rexroth など) のサイトからモデル別の GSDML を入手し、ゲートウェイに登録する必要があります。
タグの PLC アドレス表記
Profinet デバイスのデータは slot / subslot / index の座標で識別されます。
| 表記 | 意味 |
|---|---|
slot:1/subslot:1/index:0 | slot 1, subslot 1, parameter index 0 |
slot:2/subslot:1/input | slot 2 の cyclic input data |
slot:2/subslot:1/output | slot 2 の cyclic output data |
または GSDML のモジュール名をそのまま使用することもできます。
| 表記 | 意味 |
|---|---|
DI8.input.0 | 8-channel digital input モジュールの channel 0 |
AI4.value.0 | 4-channel analog input モジュールの channel 0 |
Drive.actualSpeed | ドライブの actual speed |
slot / subslot とは
- slot — Profinet デバイスのスロット番号。0 はデバイス自体、1 以降がモジュール
- subslot — 1 つのスロット内の sub-module (通常は 1)
- index — IO data の byte offset または parameter 番号
GSDML 内に「Module → Submodule → IOData」のツリーがすべて定義されています。
データ形式のマッチング
| 意味 | データ形式 | 形式補助 |
|---|---|---|
| Digital input/output (1 bit) | Boolean | (空欄) |
| 16-bit 整数 | Integer | (空欄) |
| 32-bit 整数 | Integer | DW |
| 32-bit 実数 | Float | REAL |
| 文字列 (devicename、ordering 情報) | String | (空欄) |
byte order は ビッグエンディアン です (Profinet 標準)。
よくある問題と解決
| 症状 | 考えられる原因 | 解決 |
|---|---|---|
| 「Device not reachable (DCP)」 | Profinet デバイス名が異なる | TIA Portal / PRONETA で device-name を確認。DCP コマンドで名前を付与 |
| 「GSDML not loaded」 | XML パスの誤り | 絶対パスで正確に指定し、ファイル権限を確認 |
| 「Slot/subslot not found」 | デバイスの hardware 構成と不一致 | 実際に装着されているモジュールと GSDML のマッチングを点検 |
| 値が stale | RT cyclic exchange が未開始 | application relation (AR) の開始を確認 |
| AR establish 失敗 | 他の master (S7 PLC) がすでに占有中 | Profinet デバイスは通常 マスター 1 台 のみ可能。ゲートウェイか PLC のいずれか一方のみ |
稼働中の PLC の分散 I/O への直接アクセスは禁止
実際の稼働環境で S7 PLC の分散 I/O (ET200SP など) にゲートウェイが直接 Profinet で接続すると、PLC と競合して ラインが停止する可能性があります。稼働ラインでは PLC の DB 変数を S7 で読み取るのが安全です。
次のステップ
- シーメンス S7 — PLC の DB 変数のみが必要な場合の推奨経路
- 高度な設定 — REST API の Profinet の例を参照。