シナリオ:通信確立¶
1. 概要¶
本シナリオでは、ホストと装置間の完全な通信確立シーケンスについて説明します。TCP接続からONLINE REMOTE状態までの流れを記述します。
2. 前提条件¶
| 条件 | 状態 |
|---|---|
| 装置電源オン | はい |
| ネットワーク接続済み | はい |
| HSMS設定済み | はい |
| 装置が正しい状態 | OFFLINEまたはHOST OFFLINE |
3. 完全シーケンス図¶
sequenceDiagram
participant Host
participant Equipment
rect rgb(240, 248, 255)
Note over Host,Equipment: フェーズ1:TCP/IP接続
Host->>Equipment: TCP SYN
Equipment-->>Host: TCP SYN-ACK
Host->>Equipment: TCP ACK
Note over Host,Equipment: TCP接続確立
end
rect rgb(255, 248, 240)
Note over Host,Equipment: フェーズ2:HSMS選択
Host->>Equipment: Select.req (SType=1)
Equipment-->>Host: Select.rsp (SType=2, Status=0)
Note over Host,Equipment: HSMSセッション選択完了
end
rect rgb(240, 255, 240)
Note over Host,Equipment: フェーズ3:SECS-II通信
Host->>Equipment: S1F13 W (Establish Communication)
Note over Equipment: リクエスト検証
Equipment-->>Host: S1F14 (COMMACK=0, MDLN, SOFTREV)
Note over Equipment: 状態:COMMUNICATING
end
rect rgb(255, 240, 255)
Note over Host,Equipment: フェーズ4:オンライン移行
Host->>Equipment: S1F17 W (Request Online)
Note over Equipment: オンライン許可確認
Equipment-->>Host: S1F18 (ONLACK=0)
Note over Equipment: 状態:ONLINE LOCAL
end
rect rgb(255, 255, 240)
Note over Host,Equipment: フェーズ5:初期状態交換
Host->>Equipment: S1F3 W (Status Request)
Equipment-->>Host: S1F4 (Status Variables)
Host->>Equipment: S5F5 W (Alarm List Request)
Equipment-->>Host: S5F6 (Active Alarms)
end
4. フェーズ詳細¶
4.1 フェーズ1:TCP/IP接続¶
装置は設定されたポートでTCP接続を待機します。
| 装置モード | 動作 |
|---|---|
| PASSIVE | 装置がリッスン、ホストが接続 |
| ACTIVE | 装置がホストへ接続を開始 |
タイムアウト:障害後の再接続時はT5(接続分離)が適用されます。
4.2 フェーズ2:HSMS選択¶
Select.reqヘッダフォーマット:
| バイト | 値 | 説明 |
|---|---|---|
| 0-3 | 0x00000000 | メッセージ長(制御メッセージは0) |
| 4-5 | 0xFFFF | Session ID |
| 6 | 0x00 | Header Byte 2 |
| 7 | 0x00 | Header Byte 3 |
| 8 | 0x00 | PType |
| 9 | 0x01 | SType (Select.req) |
| 10-13 | System Bytes | Transaction ID |
Select.rspステータス:
| 値 | 説明 |
|---|---|
| 0 | 通信確立 |
| 1 | 通信は既にアクティブ |
| 2 | 通信準備未完了 |
| 3 | 接続枯渇 |
タイムアウト:T6(制御トランザクション)が適用されます。
4.3 フェーズ3:SECS-II通信確立¶
S1F13構造:
S1F14構造:
COMMACK値:
| 値 | 説明 | 次のアクション |
|---|---|---|
| 0 | 受理 | オンラインへ進む |
| 1 | 拒否、再試行 | 遅延後に再試行 |
4.4 フェーズ4:オンライン移行¶
S1F17構造:
S1F18構造:
ONLACK値:
| 値 | 説明 | 次のアクション |
|---|---|---|
| 0 | 受理 | 装置はONLINE |
| 1 | 不受理、既にオンライン | アクション不要 |
| 2 | 不受理、装置オフライン | 待機またはオペレータ操作 |
4.5 フェーズ5:初期状態交換¶
ホストは通常以下を照会します: - 装置状態変数(S1F3/F4) - アクティブアラーム(S5F5/F6) - 有効化されたイベントとレポート - 現在のプロセス状態
5. エラー処理¶
5.1 TCP接続失敗¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: TCP SYN
Note over Equipment: 応答なし
Note over Host: 接続タイムアウト
Note over Host: T5待機、再試行
5.2 選択拒否¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: Select.req
Equipment-->>Host: Select.rsp (Status=2, Not Ready)
Note over Host: 待機して再試行
5.3 通信拒否¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S1F13 W
Equipment-->>Host: S1F14 (COMMACK=1)
Note over Host: 遅延後に再試行
5.4 オンライン拒否¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S1F17 W
Equipment-->>Host: S1F18 (ONLACK=2)
Note over Host: 装置はオペレータ操作が必要
6. 状態遷移¶
| ステップ | 遷移前の装置状態 | 遷移後の装置状態 |
|---|---|---|
| TCP Connect | NOT CONNECTED | NOT SELECTED |
| HSMS Select | NOT SELECTED | SELECTED |
| S1F13/F14 | NOT COMMUNICATING | COMMUNICATING |
| S1F17/F18 | HOST OFFLINE | ONLINE LOCAL |
7. 生成される収集イベント¶
| イベント | CEID | 発生タイミング |
|---|---|---|
| CommunicationEstablished | 1001 | S1F14 (COMMACK=0)後 |
| ControlStateChange | 2001 | S1F18 (ONLACK=0)後 |
| OnlineLocal | 2003 | ONLINE LOCAL移行後 |
8. タイミング概要¶
| フェーズ | タイムアウト | デフォルト |
|---|---|---|
| TCP Connect | アプリケーション定義 | 10秒 |
| Select | T6 | 5秒 |
| S1F13応答 | T3 | 45秒 |
| S1F17応答 | T3 | 45秒 |
9. Linktest推奨事項¶
通信確立後、定期的なlinktestを実装します:
sequenceDiagram
participant Host
participant Equipment
loop 30秒ごと
Host->>Equipment: Linktest.req
Equipment-->>Host: Linktest.rsp
end
これにより接続の健全性が確保され、アイドル接続でのT7タイムアウトを防止します。