BS H成型機規格擴充需求(V2) === ###### tags: `BS` [TOC] ### 需求 - 1.範圍 H成形機22台 PROCESS管理 - 1.1 成型機 H1-H7 Hitachi PLC - 1.2 成型機 H8-H22 Mitsubishi PLC - 2.需求說明 - .44台PLC PROCESS管理 - 2.1 日立PLC成型機 7 台 H01-H07 (1ST&2ND) - a.Hitachi PLC 14台 - b.PROCESS.01~30 (DATA No.60個) 如附件 - 2.2 三菱 PLC 成形機 H08-H22 (1ST&2ND) - a.Mitsubishi PLC 30台 >>H18~H22 預留 - b.PROCESS.01~29 (DATA No.200個) 如附件 - 3.功能需求 - 3.1 每台成型機PROCESS 1ST&2ND 電腦可以各建立100個 - 3.2 PROCESS 可以指定寫入PLC 指定位置 分別管理 - 3.3 每個PROCESS(1)可以管理(2)匯出(3)時間紀錄(4)設有權限管理 - 3.4 電腦裡的PROCESS項目名稱可以修改複製貼上 --- ### 軟體功能 #### 自動功能 - 自動同步 Process 至 PLC - HMI 修改 PLC Process ID - APP 自動同步剩餘 Process Data 至 PLC - 自動備份 Process 回 APP - 監測 (控制點/修改時間) - 自動讀取 Process 並進行備份 #### 手動功能 - 管理 Process - 匯入 - 從外部檔案輸入資料 - 匯出 - 將系統的 Process 資料匯出 - 編輯 - 檢視 Process 資料,並編輯 - 發行 - Process 的版本控制 [Gitmind](https://gitmind.com/app/doc/d0ab9845063f25c60b7fd9647cb3dfab) - ## Auto - 監控 - 監控 PLC 暫存器資料 - 同步控制點 - Process 改變時間 - Process ID - 寫入 - 自動同步 Process Data 至 PLC - 讀取 Process ID 更改 - 查詢 Process 資料庫 - 寫入資料到 PLC - 備份 - 透過同步控制點 - 觸發備份 - 透過監控時間 - 自動備份 - ## Manual - 檔案 - 編輯 - 存檔 - 匯入 - 匯出 - 監控 - 機台備用 Process 檢視 - 讀取成型機備用 Process - 讀取 PLC Process 備份 - csv - 選定檔案匯入 - 寫入 - 寫入 Process 至 PLC - 指定 - 機台 - ProcessId - 寫入位置 - 歷史查詢 - 發行紀錄 - 寫入紀錄 --- ### 系統架構圖 ```graphviz digraph hierarchy { nodesep=1.0 // increases the separation between nodes node [color=blue,shape=box] //All nodes will this shape and colour edge [color=black, dir=both] //All the lines look like this Application->{XMLServer Database ProcessFiles} XMLServer->{SyncDevice} SyncDevice->{H01 H22} } ``` --- - ### Process 自動循序圖 - #### 自動同步 Process ```sequence Note Right of Application: 自動模式 Application->PLC: 讀取 Process ID PLC->Application: 回傳 Process ID Note left of PLC: 判斷 Process ID 改變 Application->Database: 讀取 Process Note left of Database: 讀取新版 Process Database->Application: 回傳 Process 資料 Application->PLC: 寫入 Process 資料 Note left of PLC: 更新該 Process 資料 ``` - #### 自動備份 Process - 自動備份控制點 ```sequence Note Right of Application: 自動模式 Application->PLC: 讀取控制點 on PLC->Application: 回傳控制點狀態 Note right of Application: 控制點 on Application->PLC: 讀取 Process Application->Database: 寫入 Process 資料 Note left of Database: 更新該 Process 資料 ``` - 計算修改時間 ```sequence Note Right of Application: 自動模式 Application->PLC: 讀取 Process ID PLC->Application: 回傳 Process ID Note left of PLC: 判斷 Process ID 改變 Note right of Application: 開始倒數 1hr Note right of Application: 時間到 Note right of Application: 判斷資料無再改變 Application->PLC: 讀取 Process Application->暫存 Process: 寫入 Process 資料 Note left of 暫存 Process: 更新該 Process 資料 ``` --- - ### Process 手動循序圖 - #### 編輯 Process 並發行 ```sequence Application->Database: 讀取 Process Note left of Database: Read Files Database->Application: Editing Contents Note left of 暫存Process: 編輯 Process 檔案 Application->暫存Process: Save Note left of 暫存Process: 儲存 Process 檔案 Application->Database: Release Note left of Database: 產生新版 Process ``` ---- - #### 匯入 Process 並發行 ```sequence Application->檔案: 讀取檔案 Note right of Application: Read Files Application->暫存Process: Editing Contents Note left of 暫存Process: 編輯檔案 Application->暫存Process: Save Note left of 暫存Process: 儲存檔案 Application->Database: Release Note left of Database: 發行版本 Process ``` ---- - #### Process 匯出 ```sequence Application->Database: 查詢機台 Process Note left of Database: Read Process Database->Application: 回傳 Process Note left of Database: 最新的 Process Application->ProcessFile: Export Process Note left of ProcessFile: 匯出 Process 檔案 ``` --- - #### Process 寫入 & 驗證 ```sequence Application->XMLServer: 讀取現行 Process Note left of XMLServer: Read Files 並備份 Application->XMLServer: 確認機台狀態 Note left of XMLServer: 手動或停機 Application->XMLServer: 寫入 Process 資料 Note left of XMLServer: 等待 10 秒 SyncDevice->XMLServer: SyncData Note right of XMLServer : 產生新版 Process SyncDevice->H01_H22: SyncData Note right of SyncDevice : 將資料同步到產線 SyncDevice->H01_H22: SyncData Note right of SyncDevice : 讀取寫入的資料 SyncDevice->XMLServer: SyncData Note right of XMLServer : 更新產線 Process File XMLServer->Application: 讀取 Process 資料 Note left of XMLServer: 判斷是否寫入正確 ``` --- #### Process 發行歷史查詢 ```sequence Application->Database: Read Release History Log Note left of Database: 讀取發行歷史 Database->Application: Return Release History Log Note left of Database: 回傳發行歷史 Application->Application: Process Display Note right of Application: Process 內容 ``` ---- #### 機台下載歷史查詢 ```sequence Application->Database: Read Download History Log Note left of Database: 讀取下載歷史 Database->Application: Return Download History Log Note left of Database: 回傳下載歷史 Application->Application: 點選P rocess Note right of Application: 顯示 Process 內容 ``` --- #### Process Rollback ```flow st=>start: 開始 e=>end: 結束 op5=>operation: 備份機台 Process op6=>operation: Alarm op=>operation: 寫入新 Process op2=>operation: 等待 10 秒 op3=>operation: 讀取機台 Process op4=>operation: 寫回備份 Process op7=>operation: 顯示寫入成功 cond=>condition: 寫入是否正確? cond2=>condition: Alarm & Rollback? st->op5->op->op2->op3->cond cond(yes)->op7->e cond(no)->cond2 cond2(yes)->op4->e cond2(no)->e ``` --- - 手動 - 管理 Process - 透過軟體 - 編輯 - 存檔 - 匯出 - 匯入 - 由檔案匯入 - 寫入 - 指定 - 機台 - ProcessId - 寫入位置 - 備份 - 讀取指定機台 Process 資料 - 自動 - 監控 - ProcessId - 確認是否有改變 - 監控 Process 資料改變的時間 - 同步控制點 - 寫入 - 確認 ProcessId 改變 - 查詢 Process Data - 寫入 Process Data - 備份 - 確認 同步控制點 - 啟動備份機制 - 確認 超過編輯時間 - 資料無繼續改變 - 備份