このトピックには、以下のセクションが含まれています。
WebSphere MQ Telemetry Transport を介してブローカーに接続するクライアントからのメッセージを受信するには、SCADAInput ノードを使用します。 SCADA デバイス・クライアントは、MQIsdp プロトコルを使用して、SCADAInput ノードが WebSphere Message Broker によって認識される形式に変換するメッセージを送信します。 このノードは、これらのメッセージの処理環境も確立します。
SCADA デバイスから受信するメッセージを処理するメッセージ・フローは、常に SCADAInput ノードから開始されます。SCADAInput ノードのプロパティーを設定すると、メッセージの受信方法を制御できます。 例えば、メッセージをトランザクション制御下で処理するように指示できます。
SCADA ノードを含むメッセージ・フローをブローカーにデプロイする場合、メッセージ・フローの数にかかわりなく、単一の実行グループにデプロイする必要があります。
SCADA は主にパブリッシュ/サブスクライブなので、通常 Publication ノードを組み込んでフローを終了します。 Publication ノードを組み込みたくないシナリオの場合には、SCADAOutput ノードを組み込むことができます。 そうする場合には、メッセージのソースにかかわらず SCADAInput ノードも組み込む必要があります。 SCADAInput ノードは、SCADAOutput ノードが必要とする接続情報を提供するからです。
SCADAInput ノードで開始されるメッセージ・フローに出力ノードを組み込む場合には、サポートされるいずれかの出力ノード (ユーザー定義の出力ノードも含む) を使用できます。 必要な任意の変換を提供するようにブローカーに要求するようにメッセージ・フローを構成できますので、SCADA デバイスからメッセージを受け取り、サポートされるトランスポートすべてを使用してブローカーに接続するクライアント用のメッセージを生成する、メッセージ・フローを作成できます。
特定のトピックのメッセージをパブリッシュして、ブローカーが SCADA リスナーを開始または停止するように要求できます。これは、すべてのポートまたはメッセージ内で識別される単一ポートに対して行うことができます。
SCADAInput ノードは、次のメッセージ・ドメインのメッセージを処理します。
z/OS システム上にデプロイされるメッセージ・フロー中で、SCADAInput ノードを使用することはできません。
着信 SCADA メッセージ内のデータを処理したい場合には、ResetContentDescriptor ノードなどを組み込んでそのプロパティーを設定し、以降のノードによるビット・ストリームの再解析を強制します。
サブフローとして使用するメッセージ・フローを作成する場合には、標準入力ノードを使用することはできず、入力ノードのインスタンスを最初のノードとして使用して、サブフロー用の in ターミナルを作成する必要があります。
ご使用のメッセージ・フローが SCADA 接続を経由してメッセージを受け取らない場合には、サポートされる入力ノードのいずれかを選択できます。
ワークベンチでは、SCADAInput ノードは次のアイコンで表されます。
このノードの使用方法の例として、リモート・センサーが操作環境の変化 (屋外温度の低下など) を検出した場合に、リモート・センサーからのメッセージを受信するメッセージ・フローを、SCADAInput ノードを使って作成すると想定します。 このノードを MQOutput ノードに接続します。MQOutput ノードは、これらのメッセージを WebSphere MQ アプリケーションがサービスするキューで使用可能にします。 このアプリケーションは、受信した情報を分析して、これに応答します。
2 番目の例として、リモート・システムから毎分メッセージを受信するメッセージ・フローを、SCADAInput ノードを使って作成します。 メッセージには、システムのスイッチ設定の詳細が含まれています。 受信されたデータは、ResetContentDescriptor ノードに送られ、バイナリー (BLOB) から MRM メッセージ形式にキャストされます。 システムに関する情報は、Database ノードを使用してデータベースに保管され、Compute ノードを使用して拡充され、Publication ノードを使用してパブリッシュされる XML メッセージが作成されます。
XML メッセージは、送信するのに費用がかかるため (サテライト伝送はバイトごとに費用がかかるため)、データがブローカーによって拡充されるときにこの方法を使用することには利点があります。
SCADAInput ノードのインスタンスをメッセージ・フローに入れると、SCADAInput ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。ノードの基本プロパティーが、プロパティー・ダイアログに表示されます。
値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。
以下のように、SCADAInput ノードを構成します。
メッセージ・セットのペイロード部分を「オン」または「オフ」にセットした制御トピック $SYS/SCADA/MQIsdpListener/<port_number> でパブリッシュすることによって、リスナーの状況を更新することができます。
ブローカー・データベースとして DB2 を使用している場合、DB2 構成パラメーター maxappls および maxagents に設定した値以下の値を指定する必要があります。 詳細は、データベースへの接続を参照してください。
多くのクライアント (200 を超えるクライアント) が接続する場合にのみ、このオプションを使用します。
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
MQRFH2 ヘッダーの値とは異なる値を設定すると、MQRFH2 ヘッダーの値が優先されます。
XML、XMLNS、XMLNSC、JMS、MIME、および BLOB パーサーの場合、「メッセージ・セット」はブランクのままにしてください。
XML、XMLNS、XMLNSC、JMS、MIME、IDOC、および BLOB パーサーの場合、「メッセージ・タイプ」はブランクのままにしてください。
XML、XMLNS、XMLNSC、JMS、MIME、および BLOB パーサーの場合、「メッセージ形式」はブランクのままにしてください。
詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。
「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。
SCADAInput は、out ターミナルに正常に取り出される各メッセージをルーティングします。 これが失敗すると、メッセージは failure ターミナルに伝搬されます。 ノードをこのターミナルに接続し、この状態を処理することができます。 failure ターミナルに接続していなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。
メッセージ・フロー内でさらに例外がスローされた後、このノードによってメッセージがキャッチされる場合、メッセージは catch ターミナルにルーティングされます。 catch ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。 メッセージがメッセージ・フロー内でロールバックする可能性がある場合には、ノードが常時このターミナルに接続されているようにしてください。
メッセージ・フローに SCADAInput ノードを組み込む場合、「トランザクション・モード 」で設定する値が、メッセージを同期点下で受信するかどうかを定義します。
(MQOutput ノードは、このオプションをオーバーライドするように構成できる唯一の出力ノードです。)
SCADAInput ノード・ターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 |
Out | キューからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。 |
Catch | 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。
SCADAInput ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
始動時にリスナーを使用可能にする | はい | いいえ | 選択されている | リスナーを開始する時期。チェック・ボックスを選択した場合、メッセージ・フローがブローカーによって開始されるとリスナーが開始されます。チェック・ボックスを選択しない場合、指定されたポートにメッセージが到達するとリスナーが開始されます。 |
ポート | はい | はい | 1883 | SCADA プロトコルが listen するポート。 |
最大スレッド | はい | はい | 500 | SCADA デバイスをサポートするために始動するスレッドの最大数。 |
スレッド・プール使用 | はい | はい | 選択されていない | スレッド・プールを使用するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
SCADAInput ノードの「デフォルト」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
メッセージ・ドメイン | いいえ | いいえ | 着信メッセージの構文解析に使用されるドメイン。 | |
メッセージ・セット | いいえ | いいえ | 着信メッセージが定義されているメッセージ・セットの名前または ID。 | |
メッセージ・タイプ | いいえ | いいえ | 着信メッセージの名前。 | |
メッセージ形式 | いいえ | いいえ | 着信メッセージの物理フォーマットの名前。 |
SCADAInput ノードの「拡張」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
トランザクション・モード | はい | いいえ | 「はい」 | 着信メッセージが同期点下で受信されるかどうか。 有効な値は、「自動」、「はい」、および「いいえ」です。 |
SCADAInput ノードの妥当性検査プロパティーについては、次の表に説明されています。
これらのプロパティーの詳細については、MRM ドメインのメッセージの妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | はい | はい | 「なし」 | 妥当性検査が行われるかどうか。有効な値は、「なし」、「内容と値」、および「内容」です。 |
失敗処置 | はい | いいえ | 例外 | 妥当性検査に障害が発生した場合の動作。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | はい | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。 |
修正 | はい | いいえ | 「なし」 | このプロパティーは編集できません。 |
SCADAInput ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | はい | いいえ | 要求時 | このプロパティーは、入力メッセージを構文解析する時を制御します。
有効な値は、「要求時」、「即時」、および「完全」です。
このプロパティーの詳細については、要求時の構文解析を参照してください。 |
MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 | いいえ | いいえ | 「False」 | このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。 |
SCADAInput ノードの XMLNSC パーサー・オプションのプロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | はい | 選択されていない | 「いいえ」 | ![]() ![]() |
混合内容保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。 |
コメント保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。 |
処理命令保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。 |
SCADAInput ノードの説明プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |