T3_2_PL固定貨架.vb 詳細說明書

1. 概述

本檔案是為了進行棧板式固定貨架 (PL固定貨架型) 設計計算所開發的 Windows 表單應用程式[cite: 9]。 主要職責在於根據棧板固定貨架倉庫的尺寸、層數、列數等輸入參數,自動計算出整座倉庫所需的尺寸(寬度、長度、高度)、樓面面積、虛擬樓面面積等,以產生佈局設計所需的基礎資料[cite: 9]。

固定貨架方式透過雙面使用的貨架結構(單面貨架與雙面貨架的組合),實現空間利用率高的倉庫設計[cite: 9]。 此程式實作為具備有效期限檢查功能的試用版,會在表單載入時檢查有效期限[cite: 9]。

2. 主要類別/模組

2.1. PL固定貨架F 類別

目的

用來執行棧板式固定貨架設計計算的主表單類別[cite: 9]。 接收各種輸入參數後,透過單面貨架與雙面貨架的組合,自動計算倉庫所需的尺寸、面積及層數結構等[cite: 9]。

主要屬性

此類別繼承自 System.Windows.Forms.Form,並包含了大量的文字方塊(Tb)、標籤(L)、按鈕(Bt)、群組方塊(Gb)等 UI 控制項[cite: 9]。 主要的變數如下所示:

  • PL尺寸相關: PL寬度, PL深度, PL總高, PL厚度, 貨物高度[cite: 9]
  • 倉儲結構: 座數, 列數, 行數, 層數, PL儲存數[cite: 9]
  • 貨架結構: 單面貨架, 雙面貨架, 單面貨架數, 雙面貨架數, 貨架深度[cite: 9]
  • 空間相關: 相鄰間距(C), 輔助通道, 搬運通道, 天花板間距(C), 貨架間距(C), 支柱寬度, 背面間距(C)[cite: 9]
  • 層數結構: 最上層高, 中間層高, 最下層高, 中間層數[cite: 9]
  • 計算結果: 貨架總長, 貨架總高, 所需寬度, 所需長度, 所需高度, 所需面積[cite: 9]
  • 面積相關: 所需面積, 總虛擬樓面面積[cite: 9]

主要方法/函式

  • PL固定貨架計算_Load - 表單初始化與啟動主程式[cite: 9]
  • Tb讀取 - 從文字方塊讀取資料[cite: 9]
  • 計算明細 - 主要的計算邏輯[cite: 9]
  • 虛擬樓面計算 - 虛擬樓面面積的計算[cite: 9]
  • 計算開始Bt_Click - 點擊計算按鈕時的處理程序[cite: 9]
  • 封面Pb_Click / 開始Bt_Click - 標籤頁切換處理[cite: 9]
  • 關閉Bt_Click - 表單關閉處理程序[cite: 9]

3. 主要函式/副程式詳細說明

3.1. PL固定貨架計算_Load

功能說明

表單載入時執行的事件處理常式[cite: 9]。負責設定版權顯示、有效期限顯示、有效期限檢查、讀取初始資料,並執行初次計算(計算明細及虛擬樓面計算)[cite: 9]。

參數

參數名稱 型別 說明
sender Object 觸發事件的物件[cite: 9]
e EventArgs 事件參數[cite: 9]

回傳值

型別: 無 (Sub)
說明: 因屬事件處理常式,故無回傳值[cite: 9]

處理流程

  1. 設定版權標籤與有效期限標籤的文字[cite: 9]
  2. 取得目前日期,並與試用版有效期限進行比較[cite: 9]
  3. 若已過期,則顯示訊息方塊並關閉表單[cite: 9]
  4. 若在有效期限內,則呼叫 Tb讀取() 來讀取資料[cite: 9]
  5. 呼叫 計算明細() 執行主要計算[cite: 9]
  6. 呼叫 虛擬樓面計算() 算出虛擬樓面面積[cite: 9]
特別注意事項:
作為試用版功能,內建了有效期限檢查機制[cite: 9]。若已過期,應用程式將會立即終止[cite: 9]。

3.2. Tb讀取

功能說明

讀取各文字方塊中輸入的數值,並儲存至變數中[cite: 9]。 同時也會進行部分計算(例如算出貨物高度、計算列數等)[cite: 9]。

參數

無[cite: 9]

回傳值

型別: 無 (Sub)
說明: 僅將數值設定至內部變數[cite: 9]

處理流程

  1. 從文字方塊讀取 PL寬度、PL深度、PL總高、PL厚度[cite: 9]
  2. 計算 貨物高度 = PL總高 - PL厚度,並顯示於文字方塊中[cite: 9]
  3. 讀取座數、行數、層數[cite: 9]
  4. 計算 列數 = 座數 × 2,並顯示於文字方塊中[cite: 9]
  5. 讀取相鄰間距(C)、輔助通道、搬運通道、天花板間距(C)、貨架間距(C)、支柱寬度、橫樑厚度、升降間距(C)、背面間距(C)[cite: 9]
特別注意事項:
此方法作為計算前的準備階段,將 UI 輸入值轉換為內部變數[cite: 9]。 列數會由系統自動計算,因此使用者僅需輸入座數[cite: 9]。

3.3. 計算明細

功能說明

計算棧板式固定貨架倉庫各種尺寸與面積的主程式[cite: 9]。 會依序計算儲存數量、單面/雙面貨架的尺寸、行間距、層數結構、所需空間、樓面面積等[cite: 9]。

參數

無(使用類別內的變數)[cite: 9]

回傳值

型別: 無 (Sub)
說明: 計算結果會顯示於各文字方塊中[cite: 9]

處理流程

  1. 儲存數量計算:
    • 列數 = 座數 × 2[cite: 9]
    • PL儲存數 = 列數 × 行數 × 2 × 層數[cite: 9]
  2. 所需寬度計算:
    • 貨架深度 = PL深度[cite: 9]
    • 單面貨架 = PL深度 + 相鄰間距(C)[cite: 9]
    • 雙面貨架 = PL深度 + 背面間距(C) + PL深度[cite: 9]
    • 單面貨架數 = 2(兩側)[cite: 9]
    • 雙面貨架數 = (列數 - 2) / 2[cite: 9]
    • 所需寬度 = 單面貨架 × 單面貨架數 + 雙面貨架 × 雙面貨架數 + 搬運通道 × 座數[cite: 9]
  3. 行間距與所需長度計算:
    • 行間距 = PL寬度 × 2 + 貨架間距(C) × 3 + 支柱寬度[cite: 9]
    • 貨架總長 = 行間距 × 行數 + 支柱寬度[cite: 9]
    • 所需長度 = 貨架總長 + 相鄰間距(C) + 輔助通道[cite: 9]
  4. 貨架總高與所需高度計算:
    • 最上層高 = PL總高 + 橫樑厚度[cite: 9]
    • 中間層高 = PL總高 + 升降間距(C) + 橫樑厚度[cite: 9]
    • 中間層數 = 層數 - 2[cite: 9]
    • 最下層高 = PL總高 + 升降間距(C)[cite: 9]
    • 貨架總高 = 最上層高 + (中間層高 × 中間層數) + 最下層高[cite: 9]
    • 所需高度 = 貨架總高 + 升降間距(C)[cite: 9]
  5. 佈局面積計算:
    • 所需面積 = Int(所需長度 × 所需寬度 / 1000² + 0.5) [m²][cite: 9]
特別注意事項:
固定貨架方式是透過單面貨架(單面使用)與雙面貨架(雙面使用)的組合,來提升空間利用率[cite: 9]。 系統採用兩側各配置單面貨架(2座),中央部分配置雙面貨架的標準結構來進行計算[cite: 9]。

3.4. 虛擬樓面計算

功能說明

計算建築基準法上的虛擬樓面面積[cite: 9]。當最上層橫樑上面高度達 5000mm 以上時,必須將其作為虛擬樓面計入樓面面積中,因此需算出該面積[cite: 9]。

參數

無(使用類別內的變數)[cite: 9]

回傳值

型別: 無 (Sub)
說明: 計算結果會顯示於虛擬樓面面積Tb中[cite: 9]

處理流程

  1. 計算 最上層橫樑上面高度 = 貨架總高 - PL總高[cite: 9]
  2. 當最上層橫樑上面高度小於 5000mm 時:
    • 設定 虛擬樓面面積 = 0 並結束處理[cite: 9]
  3. 當最上層橫樑上面高度達 5000mm 以上時:
    • 總虛擬樓面面積 = Int(貨架總長 × (貨架深度 × 2) / 1000² + 貨架總長 × (雙面貨架 × 雙面貨架數) / 1000² + 0.5) [m²][cite: 9]
    • 將單面貨架的通道部分(2座份)與雙面貨架整體的面積加總[cite: 9]
特別注意事項:
在建築基準法中,高度達 5m 以上的部分會被視為虛擬樓面[cite: 9]。 透過此項計算,可確認是否符合防火區劃及避難規定等建築法規[cite: 9]。

3.5. 計算開始Bt_Click

功能說明

點擊「計算開始」按鈕時所執行的事件處理常式[cite: 9]。 會重新讀取資料並執行重新計算,同時切換結果顯示區的背景顏色以提供視覺回饋[cite: 9]。

參數

參數名稱 型別 說明
sender Object 觸發事件的按鈕[cite: 9]
e EventArgs 事件參數[cite: 9]

回傳值

型別: 無 (Sub)
說明: 因屬事件處理常式,故無回傳值[cite: 9]

處理流程

  1. 透過 Tb讀取() 重新讀取資料[cite: 9]
  2. 透過 計算明細() 執行主要計算[cite: 9]
  3. 透過 虛擬樓面計算() 計算虛擬樓面面積[cite: 9]
  4. 根據 計算開始_Chk 旗標,切換 計算明細Gb 與 計算結果Gb 的背景色(LightYellow ⇔ PowderBlue)[cite: 9]
特別注意事項:
背景顏色的切換是 UI 上的巧思,讓使用者每次按下計算按鈕時,都能在視覺上確認結果已更新[cite: 9]。

3.6. 封面Pb_Click / 開始Bt_Click

功能說明

點擊封面圖片(Pb)或開始按鈕時,將標籤頁控制項切換至「PL固定貨架計算Tp」標籤[cite: 9]。

參數

參數名稱 型別 說明
sender Object 觸發事件的控制項[cite: 9]
e EventArgs 事件參數[cite: 9]

回傳值

型別: 無 (Sub)
說明: 因屬事件處理常式,故無回傳值[cite: 9]

處理流程

  1. 將 TabControl1 的 SelectedTab 屬性設定為 PL固定貨架計算Tp[cite: 9]
特別注意事項:
作為應用程式的導覽功能,提供從封面畫面轉換至計算畫面的功能[cite: 9]。

3.7. 關閉Bt_Click

功能說明

點擊「關閉」按鈕時關閉表單[cite: 9]。

參數

參數名稱 型別 說明
sender Object 觸發事件的按鈕[cite: 9]
e EventArgs 事件參數[cite: 9]

回傳值

型別: 無 (Sub)
說明: 因屬事件處理常式,故無回傳值[cite: 9]

處理流程

  1. 使用 Me.Close() 來關閉表單[cite: 9]
特別注意事項:
這是一個簡單的表單關閉處理程序[cite: 9]。

4. 依賴關係

  • System.Windows.Forms - Windows 表單應用程式的基本功能[cite: 9]
  • System.Drawing - 用於 UI 顏色設定(Color 型別)[cite: 9]
  • System - 用於基本型別與 DateTime 處理[cite: 9]
  • 全域變數模組(推測) - 參照版權、公司名稱、試用版有效期限等全域變數[cite: 9]
注意:
程式碼中參照的變數(公司、版權、試用版有效期限、計算開始_Chk 等),推測是定義在其他模組或共通設定檔中[cite: 9]。

5. 修訂歷史

修訂日期 版本 修訂內容 負責人
2025年 1.0 初次建立詳細說明文件[cite: 9] -

6. 計算公式摘要

儲存數量

  • 列數 = 座數 × 2[cite: 9]
  • PL儲存數 = 列數 × 行數 × 2 × 層數[cite: 9]

貨架結構

  • 貨物高度 = PL總高 - PL厚度[cite: 9]
  • 貨架深度 = PL深度[cite: 9]
  • 單面貨架 = PL深度 + 相鄰間距(C)[cite: 9]
  • 雙面貨架 = PL深度 + 背面間距(C) + PL深度[cite: 9]
  • 單面貨架數 = 2(兩側的固定值)[cite: 9]
  • 雙面貨架數 = (列數 - 2) / 2[cite: 9]

所需尺寸

  • 所需寬度 = 單面貨架 × 單面貨架數 + 雙面貨架 × 雙面貨架數 + 搬運通道 × 座數[cite: 9]
  • 行間距 = PL寬度 × 2 + 貨架間距(C) × 3 + 支柱寬度[cite: 9]
  • 貨架總長 = 行間距 × 行數 + 支柱寬度[cite: 9]
  • 所需長度 = 貨架總長 + 相鄰間距(C) + 輔助通道[cite: 9]

層數結構與高度

  • 最上層高 = PL總高 + 橫樑厚度[cite: 9]
  • 中間層高 = PL總高 + 升降間距(C) + 橫樑厚度[cite: 9]
  • 中間層數 = 層數 - 2[cite: 9]
  • 最下層高 = PL總高 + 升降間距(C)[cite: 9]
  • 貨架總高 = 最上層高 + (中間層高 × 中間層數) + 最下層高[cite: 9]
  • 所需高度 = 貨架總高 + 升降間距(C)[cite: 9]

面積

  • 所需面積 = Int(所需長度 × 所需寬度 / 1000² + 0.5) [m²][cite: 9]
  • 最上層橫樑上面高度 = 貨架總高 - PL總高[cite: 9]
  • 總虛擬樓面面積 = Int(貨架總長 × (貨架深度 × 2) / 1000² + 貨架總長 × (雙面貨架 × 雙面貨架數) / 1000² + 0.5) [m²]
    ※但若 最上層橫樑上面高度 < 5000mm,則為 0[cite: 9]
關於單位的注意:
輸入值通常以 mm 為單位進行處理,在計算面積時會除以 1000² 將其轉換為 m²[cite: 9]。

7. 與 PL_Ass 計算的差異

結構上的差異

  • PL_Ass 計算: 針對自動倉儲(堆垛機方式)所設計的計算[cite: 9]
  • PL固定貨架: 針對固定貨架(單面與雙面貨架的組合)所設計的計算[cite: 9]

計算項目的差異

  • PL固定貨架的特色:
    • 單面貨架(單面使用)與雙面貨架(雙面使用)的組合[cite: 9]
    • 需要與座數相等的搬運通道[cite: 9]
    • 儲存數量的計算方式為「列數 × 行數 × 2 × 層數」(雙面儲存)[cite: 9]
    • 只有在高度達 5m 以上時,才會計算虛擬樓面面積[cite: 9]
  • PL_Ass 計算的特色:
    • 考量了自動倉儲專用的通道寬度[cite: 9]
    • 自動計算防火牆數量[cite: 9]
    • 依據有無補強材來區分層高[cite: 9]
使用時機:
PL固定貨架適用於規模較小,且預設以堆高機等進行手動搬運的倉庫[cite: 9]。 PL_Ass 計算則適用於大規模的自動化倉儲系統[cite: 9]。