應用程式或本機節點都可以終止主要邏輯單元 (PLU) 連線。 關閉的準則如下:
當本機節點收到來自主機 PLU 的 UNBIND 要求時,將關閉 PLU 連線,這終止了 PLU 會話。 如果 UNBIND 類型是 BIND 即將到來的(0x02),本機節點會在 Close(PLU)要求中設定 BIND 即將到來指標,以便應用程式保留所需的資源。
如果本機節點收到來自系統服務控制點 (SSCP) 的停用邏輯單元 (DACTLU) 或停用實體單位 (DACTPU) 要求,則會關閉 PLU 連線。
如果本機節點收到來自數據連結控制件的中斷通知,則會關閉 PLU 連線。
如果本機節點偵測到來自應用程式的訊息中發生嚴重錯誤,則本機節點會關閉 PLU 連線,讓應用程式處於嚴重失敗狀態。 在此情況下,本機節點會將 TERM-SELF 要求傳送給主機,以產生 UNBIND。
應用程式應在邏輯斷電條件下關閉 PLU 連線。 例如,如果暫時無法使用其資源,或當使用者使用會話完成時。
當本機節點發出 Close(PLU) 要求時,應用程式可以從 [關閉 ] 控件欄位判斷原因。 PLU 連線上可能會有相關的狀態消息(若為 Status-Acknowledge(Nack-2)),或者在 SSCP 連線上會有狀態訊息(如果 LU 已停用,則為 Status-Session 訊息)。
無論本機節點還是應用程式關閉連線,訊息都相同。 Close 序列的啟動器會將 Close(PLU) 要求傳送給其夥伴,其會回應 Close(PLU) 回應。 Close(PLU) 要求是無條件的。 Close(PLU)回應總是會報告已成功關閉連線。
提供 Close(PLU) 回應 是為了讓 Close 序列的發起者可以判斷何時已傳遞未回應的數據和狀態消息。 為了避免可能的競爭狀況,應用程式應該捨棄在發出 Close(PLU) 要求之後,在 PLU 連線上接收的所有訊息,包括來自本機節點的任何 Close(PLU) 要求 訊息,直到收到 Close(PLU) 回應為止。
請注意,如果應用程式在 PLU 會話作用中時傳送 Close(SSCP) 要求 ,本機節點將會關閉 PLU 連線(就好像已傳送 Close(PLU) 要求 ),以及 SSCP 連線。
下圖顯示應用程式起始的 Close 訊息順序。 本機節點會將 TERM-SELF 要求傳送至主機,以產生 UNBIND。
如果主機在收到 TERM-SELF 時自動產生 UNBIND,則應用程式可以將 Close(PLU) 視為終止 PLU-SLU 會話。
應用程式起始的關閉訊息順序下圖顯示當接收到主機的 UNBIND 要求後,本機節點主動啟動的 Close 訊息流程。
接收到 UNBIND 請求後,由本地節點發起的 Close 訊息流程當應用程式使用 FMI 的邏輯單元應用程式 (LUA) 變體時,發出 Close(PLU) 要求 會導致節點將 UNBIND 要求傳送至 PLU,立即解除系結 PLU 工作階段。 Close(PLU) 回應會在收到 UNBIND 回應時傳回給應用程式,如下圖所示。
Close(PLU) 回應的訊息流程
另請參閱
開啟 PLU 連線
PLU 工作階段
外部串接
輸入鏈結
區段傳遞
括弧
方向
步調與分塊
確認和拒絕資料]
關機和靜止
復原
Application-Initiated 終止
LUSTAT]
回應時間監視器數據