跳轉到

情境:通訊建立

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 結構:

S1F13 W
<L[0]>

S1F14 結構:

S1F14
<L[2]
  <COMMACK>
  <L[2]
    <MDLN>            // "MODEL-001"
    <SOFTREV>         // "V1.0.0"
  >
>

COMMACK 值:

說明 下一步動作
0 已接受 繼續上線
1 拒絕,請重試 延遲後重試

4.4 階段 4:上線轉換

S1F17 結構:

S1F17 W
<L[0]>

S1F18 結構:

S1F18
<ONLACK>

ONLACK 值:

說明 下一步動作
0 已接受 設備已上線
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 逾時。