シーメンスTIAポータルソフトウェアは、DeviceStates命令とModuleStates命令を提供し、リモートI/Oユニットの状態を診断します。本文では、シーメンス1212C V4.5 PLCとPROFINETプロトコルバスカプラXB6S-PN2002との通信を例に説明します。

新規にプログラムを作成し、バスカプラXB6S-PN2002との通信に成功したら、準備作業は完了です。

一、DeviceStates命令によりネットワーク内のバスカプラXB6S-PN2002の状態を読み出す
1、グローバルデータブロックを作成し、Device配列を作成してユニットの状態を確認します。

2、プログラムブロックを呼び出し、配列を追加します。

LADDRをクリックして診断が必要なシステムを選択します。本例ではPNネットワークシステムを検出します。MODEパラメータは図に示すとおりで、本例では2を使用して説明します。STATEには上記で作成したDevice配列を追加します。

3、機能テスト
プログラムをダウンロードし、Device配列をモニタします。

デバイス番号に基づいてユニットの通信状態を確認します。デバイス1で通信不可、故障、またはネットワークケーブルの配線不良が発生した場合、Device[1]はTRUEになります。

二、ModuleStates命令によりバスカプラおよびサブユニットの状態を読み出す
1、グローバルデータブロックを作成し、Module配列を作成してバスカプラおよびサブユニットの状態をモニタします。

2、プログラムブロックを呼び出し、配列を追加します。

LADDRをクリックしてモニタするバスカプラを選択します。本例ではデバイス名が「pnio」のバスカプラを選択します。MODEパラメータは図に示すとおりで、本例では5を使用して説明します。STATEには上記で作成したModule配列を追加します。

3、機能テスト
プログラムをダウンロードし、Module配列をモニタします。

現在のユニットおよびサブユニットは正常です。ユニットの通信不可や、サブユニットに保守が必要なアラーム情報が発生した場合も、配列のモニタにより確認できます。

例
あるI/Oシステムには5つのユニットが含まれており、それぞれスロット1~5に配置されています。このうち、スロット1とスロット3のユニットには保守が必要なアラームがあります。MODE=5(保守要求または推奨/アクセス不可/使用不可/エラー)のI/Oシステムに対して「ModuleStates」命令を実行します。
STATEパラメータには、以下のビットが設定されています——
ビット0 = 1:少なくとも1つのユニットに故障が発生しています。
ビット1 = 0:スロット番号0(IOデバイスにより使用)
ビット2 = 1:スロット番号1のユニットにアラームがあります。
ビット3 = 0:スロット番号2のユニットに故障は発生していません。
ビット4 = 1:スロット番号3のユニットにアラームがあります。
ビット5 = 0:スロット番号4のユニットに故障は発生していません。
ビット6 = 0:スロット番号5のユニットに故障は発生していません。
ビット7 = 0:無関係
以上が実点科技のリモートI/Oユニット XB6S PROFINETプロトコルバスカプラにおける、プログラム内変数によるユニット状態の読み出し方法です。ご視聴ありがとうございました!