今回の雑談ではProfinetとS7通信ついて、少し話します。
PROFINET IO Communications
PROFINET IO は PROFIBUS over Ethernet とよく似ています。PROFIBUS がPLCとのデータ交換に最大 12M baud のサイクリック通信を使うのに対して、PROFINET IO は PLC とのデータ交換に Ethernet 経由のサイクリックデータ転送を使います。
PROFIBUS と同様、PLC と機器 はデータ構造と意味を事前に構築している必要があり、データはモジュールを含むスロットとして構成され、システムの I/O ポイントの総数は個々のモジュールの I/O ポイントの合計となります。
そんなPROFINET IO は4つの異なる通信チャネルを使用して、PLCや他のデバイスとデータを交換します。
- 標準TCP/IPチャネルは、以下の操作で使われています。
- パラメータ設定
- コンフィギュレーション
- 非周期的な読み取り/書き込み操作
- PROFINET RT チャンネルは標準的なサイクリック・データ転送とアラームに使用されます。RT 通信は標準 TCP/IP インタフェースをバイパスし、高速でPLC とのデータ交換ができます。
- IRT(Isochronous Real-Time)は、モーション・コントロール・アプリケーションに使用される、さらに高速チャネルです。
- 非リアルタイム(NRT)は診断とコンフィギュレーションに使用される。
S7 Communications
S7通信はシーメンス通信のバックボーンであり、SIMATIC製品ライン全体でサポートされています。S7プロトコルはメディアに依存せず、MPI(通シーメンス独自のインターフェース)、PROFIBUS、産業用イーサネットメディアで使用されます。
S7プロトコルはSIMATIC CPU、コントロール・プロセッサ(CP)、通信モジュール(CM)で使用され、BSEND/BRCV、USEND/URCV、AG_SEND/AG_RECIVE、PUT/GETのFunction Blocを使用します。そしてよく使われているAG_SENDとAG_Receiveは、最も使用される命令の一部です。
また、GET/PUTは、一方向通信メカニズムである。つまり、もう一方のコントローラは、通信に気付かないという特徴はあります。
また、SIMATIC S7コントローラは、S7通信プロトコルをサポートしています。このプロトコルは、コントローラ間、コントローラ-オペレータ間、およびSIMATICデバイス以外の通信のInterfaceとして提供します。
PROFINET vs. S7?
PROFINET と S7 の通信は大きく異なり、比較するものではありません。
PROFINET は高度に構造化されたメカニズムを持つネットワーク上システムで、エンドデバイスと PLC の間でサイクリック通信を実装します。プログラマブルコントローラとデバイスは、データファイル(GSDML)を通して、データ構造と意味を事前に理解し、Hardware Configurationを構築しています。
S7 通信は、2 つの PLC が通信する汎用的な方法を提供するために設計されました。PROFINET が PLC の動作と非同期に動作するのに対し、S7 は PLC の動作の一部です。PLC ロジックによる特定のアクションがなければ、通信はできません。