1. 需求概述
透過準確記錄每次機台狀態變更的開始時間與結束時間,實現以下功能:
[1] 即時監控:透過記錄狀態變更的時間點,達到機台狀態的即時監控。
[2] 數據量化:提供量化數據,支援運行效率的分析與異常狀態的追蹤。
[3] 性能優化:利用歷史數據分析,精準定位問題根源,為性能優化提供依據。
2. 資料提供
3. 資料流程
[1] 建立「機台狀態資料集」。
[2] 將「機台狀態碼」設為觸發條件,以監測機台狀態的最新異動。
[3] 至通用資料庫取得異動機台的基本資訊。
[4] 至事件資料庫取得異動機台的狀態紀錄。
[5] 至「機台狀態資料集」更新狀態紀錄的結束時間。
[6] 至「機台狀態資料集」寫入異動機台的最新狀態。
二、建立資料集
1. 點選【Create New】。
2. 設定Basic information。
3. 設定Componet。
[1] 說明:依據資料集欲輸出的欄位名稱和型別設定元件。
[2] 方式:依據欄位的資料型態在右方選擇後拖曳至Componet區域,並輸入相關資訊。
4. 點選【Save】。
三、建立收集定義
1. 建立收集定義。
[1] 方式
- 左方選單點選【Data collection】。
- 點選【Create Collect definition】。
- Template選擇「Create new」後點選【Create New】。
- 設定Basic information。
2. 設定觸發條件。
[1] 說明:當最新的機台狀態碼與上一筆的機台狀態碼不相等時觸發資料收集。
[2] 方式
- 右方選單點選「Common data additional trigger」圖示後拖曳至圖示設置區。
- 在Search欄位輸入「Device status number」後按下Enter鍵。
- 在Device tree中點選「Device status number (controller_status_number)」後,按下【>】將其加入至Condition settings。
- 設定Conditions:The latest previous data != controller_status_number The latest data。
[3] 輸入內容
3. 取得異動機台的基本資訊。
[1] 說明:至通用資料庫取得異動機台的ID、Unix時間戳、設備狀態碼。
[2] 方式
- 右方選單點選「Common data collection」圖示後拖曳至圖示設置區。
- 在Device tree中找到需要抓取的欄位後,按下【>】將其加入至Attribute。
4. 取得異動機台的狀態紀錄。
[1] 說明:
- 至事件資料庫取得異動機台上次狀態異動紀錄。
- 在「controller-status-number」資料集中篩選出異動機台的所有狀態變化資料,並用資料ID進行降冪排序,以取得此機台的最新一筆資料的ID。
- 右方選單點選「Event data collection」圖示後拖曳至圖示設置區。
- 點選select dataset 選擇「controller-status-number」後,點選【Save】。
- 左方點選controller-id 後,點選上方【>】將其加入至Filtering Conditions。
- 設定Filtering Conditions。
- 左方點選ID後,點選下方【>】將其加入至Get Items。
- 設定Get Items。
- 展開Group by, Sort by, Offset後並設定相關內容。
[3] 輸入內容
5. 更新狀態紀錄的結束時間。
[1] 說明:在「controller-status-number」資料集中先找到此資料ID這筆數據後,更新狀態結束時間。
[2] 方式
- 右方選單點選「Record update」圖示後拖曳至圖示設置區。
- Dataset to be written選擇「controller-status-number」,點選【Save】。
- Record ID 選擇「ID」。
- 設定end-time-integer的Write value為「unix_time」。
6. 寫入異動機台的最新狀態。
[1] 說明:在「controller-status-number」資料集為異動機台寫入一筆最新的狀態資料。
[2] 方式
- 右方選單點選「Record insert」圖示後拖曳至圖示設置區。
- Dataset to be written選擇「controller-status-number」,點選【Save】。
- 設定Write value。
- 點選【Save】。
四、功能測試
1. 測試程式。
2. 收集結果。