一 SECS-II 概述 SECS-II 標准定義了使用如SECS-I、HSMS等傳輸協議在設備和主機之間交換的消息的形式和含義。 定義了以消息的形式在設備和主機之間傳遞信息,消息按其行為分類,稱為Stream。有很多不同的行為Stream,每個Stream又包括具體的消息,稱為Function。 ...
一 SECS-II 概述
SECS-II 標准定義了使用如SECS-I、HSMS等傳輸協議在設備和主機之間交換的消息的形式和含義。
定義了以消息的形式在設備和主機之間傳遞信息,消息按其行為分類,稱為Stream。有很多不同的行為Stream,每個Stream又包括具體的消息,稱為Function。
標準還定義了消息的結構,消息由數據項和數據項列表 ( items and lists of items ) 構成。該結構允許自描述數據格式,以保證對消息的正確解釋。
SECS-II還規定了事務協議,用於管理消息的交換、分塊等,對SECS-II實現提出了一些最低要求。
二 Stream and Function
所有的消息按照行為分為不同的Stream,在每種Stream中再按照其功能分為Function,即一個Stream中的一個Function對應一種具體行為功能的消息。
2.1 Strem的分類
- Stream 1 Equipment Status:設備狀態;
- Stream 2 Equipment Control and Diagnostics:設備控制和診斷;
- Stream 3 Material Status:原料狀態;
- Stream 4 Material Control:原料控制;
- Stream 5 Exception Handling:異常處理;
- Stream 6 Data Collection:數據採集;
- Stream 7 Process Program Management:工藝程式管理;
- Stream 8 Control Program Transfer:控製程序傳輸;
- Stream 9 System Errors:系統錯誤;
- Stream 10 Terminal Services:終端服務;
- Stream 11 Host File Services (Deleted):主機文件服務(已刪除);
- Stream 12 Wafer Mapping:晶片圖形佈置;
- Stream 13 Data Set Transfers:數據集傳輸;
- Stream 14 Object Services:對象服務;
- Stream 15 Recipe Management:配方管理;
- Stream 16 Processing Management:工藝進程管理;
- Stream 17 Equipment Control and Diagnostics:設備控制和診斷;
- Stream 18 Subsystem Control and Data:子系統控制和數據。
2.2 Stream和Function的編號
Stream和Function按照數字進行編號。所有的Primary Message的Function編號為奇數,其對應的Secondary Message(即 Reply Message)的Function編號為偶數且為其Primary Message的Function編號加1。
如果Primary Message不需要應答,則其對應的偶數編號(Primary Message Function 編號加1)的Function不使用,保留。
所有Stream中Function編號為0的Message保留,用於中止事務。
下列Stream和Function編號組為SECS-II標準所定義:
- Stream 0, Functions 0-255;
- Streams 1-63, Functions 0-63;
- Streams 64-127, Function 0。
下列Stream和Function可由用戶自定義:
- Streams 1-63, Functions 64-255;
- Streams 64-127, Functions 1-255。
三 事務和會話協議
3.1 事務
事務:是信息交換的基礎。一個事務由不需要Reply的Primary Message或需要Reply的Primary Message及其Reply Message組成。
下列是SECS-II在事務層面所規定的要求:
- 使用S1F2來響應S1F1;
- 對於接收到的任何設備無法處理的消息,使用Stream 9發送相應的錯誤消息;
- 格式化任何其他受支持的消息;
- 在檢測到設備上的事務超時後,向主機發送S9F9;
- 在收到Function 0的Message作為對Primary Message的回覆後,終止相關事務。該設備不應向主機發送任何錯誤消息。
3.2 會話
會話:是用於完成特定任務的一系列一個或多個相關事務。會話應包括完成任務所需的所有事務,會話結束時,會話雙方應釋放相關資源。
會話超時:表示會話在規定時間內未完成。會話超時時間和檢測有用戶應用程式自定義。
會話超時將終止會話的進一步操作,並將允許清除任何已提交的資源。在設備上檢測到會話超時後,應發送S9F13給主機。
SECS-II中定義了7種類型的會話:
1. 一個無需回覆的Primary Message是最簡單的會話。此消息必須是一個單塊的SECS-II消息。
2. 如果響應端有發起端想要的數據,則會使用Primary Message請求這些數據,響應端將這些數據作為Reply Message回覆給發起端。這是一個 request / data conversation。
3. 如果發起端將單塊消息中的數據發送給響應端,並期望從響應端回覆確認。這是一個 send / acknowledge conversation。
4. 如果發起端有一個要為特定的交互發送的多塊消息,則發起端必須在發送數據之前獲得響應端的許可。
會話中的第1個事務請求發送許可權,響應端授予或拒絕發送許可權。如果授予許可權,發起端發送數據,響應端進行相應地回覆。
這是一個 inquire / grant / send / acknowledge conversation。
5. 一個關於在設備和主機之間傳輸未格式化的數據集的對話,這個會話在 Stream 13 中有詳細描述。
6. 一個關於設備之間原料處理的會話。這個會話在 Stream 4中詳細描述。
7. 發起端可以向響應端請求需要一段時間才能獲取的信息(例如,操作員的輸入)。
會話中的第一個事務請求信息,並且響應端以三種方式之一響應:(1)返回信息,(2)響應端表示不能或不會獲得信息,(3)響應端表示將在隨後的事務中獲得並返回信息。
對於方式(3),響應端將在信息可用時啟動後續事務返回信息。方式(3)是一個 request / acknowledge / send / acknowledge conversation。
四 消息的數據結構
所有根據SECS-II標準的消息使用兩種數據結構,即 Item (項目) 和 List(列表)。消息數據結構定義了消息的邏輯劃分,與消息傳輸協議的物理劃分不同。
消息的數據結構旨在為在設備和主機之間傳遞的消息提供一個自描述的內部結構。
4.1 Item
一個Item是一個具有長度和格式的信息包。由Item Header 和 Item Body 組成。
Item的前2個、前3個或前4個位元組稱為 Item Header,用以描述Item的長度和格式。Item Header後的位元組稱為 Item Body,Item Body是Item的實際數據。
下圖是ItemHeader的結構圖。
Header的第1個位元組為Format byte,其後的位元組為Length byte。
Format byte的第1位和第2位:
定義Format byte後面有幾個位元組來表述Item Body的長度。取值只能1、2、3。如果值為2,則表示有2個位元組表述Item Body的長度,即第2個和第3個位元組。值為0是非法的,會產生錯誤。
Format byte的第3位至第8位:
定義數據的格式,即ItemBody中的位元組數據類型。下圖為數據類型定義表:
4.2 List
List是一組有序的元素,其中元素可以是Item或List。
List的Header與數據類型為0的Item的Header形式相同。不過List的Header中的長度表示List中元素的個數,Item的Header中的長度表示數據位元組的個數。
4.3 Localized Character String Items
本地化字元串項是一個用於表示由多位元組字元組成的字元串的Item。其Header中的Format Code為22(Octal)。它由string header和string組成。
因為字元有許多不同的編碼方案,所以有一個附加的string header來表述字元集。
string header 是一個2位元組16位的數字,它在 Item Header 之後,在string之前。
string header 是 Item 的 實際數據的一部分,所以它的長度計算包含在Item Header 的 Length byte 中。
下圖為string header的編碼集對應。
4.4 不同Item的數據實例
1. 包含一個二進位數據10101010的Item。
00100001 Item, binary, 1 length byte
00000001 1 byte length
10101010 data byte
2. 包含三個ASCII字元ABC的Item。01000001 Item ASCII, 1 length byte
00000011 Three bytes long
01000001 ASCII A
01000010 ASCII B
01000011 ASCII C
3. 包含三個2位元組有符號整型數字的Item。01101001 Item, 2-byte integers
00000110 6 bytes total (6/2=3 integers)
xxxxxxxx MSByte number x
xxxxxxxx LSByte number x
yyyyyyyy MSByte number y
yyyyyyyy LSByte number y
zzzzzzzz MSByte number z
zzzzzzzz LSByte number z
4. 包含一個4位元組浮點數的Item。10010001 Item, 4-byte floating point
00000100 4 bytes (4/4=1 number)
f f f f f f f f
f f f f f f f f Floating point number
f f f f f f f f
f f f f f f f f
說明:
SECS-II 定義的標準Stream Fuction消息,這些Stream Function的描述和含義未做進一步闡述 . . .
標準消息所應使用的數據項未作進一步闡述 . . .
未完待續 . . .
以上為SECS通信基礎知識的整理-3。