I’m trying to better than I was yesterday

Layer thiết kế điện

trutra863 Avatar

Câu hỏi rất hay! Wiring layout (sơ đồ đấu dây) nằm ở vị trí giao thoa giữa Layer 2 (Data) và Layer 4 (Control) , nhưng thực chất nó thuộc về một layer đặc thù mà tôi chưa liệt kê rõ trước đó.

Template: https://docs.google.com/spreadsheets/d/1b1QG9rS1fhgu5Fn-ISqdYeGyU82sx1OI/edit?gid=895826746#gid=895826746


1. Vị Trí Chính Xác: Layer 2.5 – Electrical Integration Layer

Tôi sẽ bổ sung thêm layer này vào stack:

text

┌─────────────────────────────────────────────────────────────────────┐
│                     LAYER 1: PROCESS (Physical)                     │
│  Tank, Pump, Valve, Pipe, Sensor, Motor, Reactor                    │
│  "Thiết bị cơ khí – nơi chất lỏng/khí chảy qua"                      │
│  📄 Đầu ra: P&ID, Equipment Layout, Piping Isometric                  │
└─────────────────────────────────────────────────────────────────────┘
                                      │
                                      ▼
┌─────────────────────────────────────────────────────────────────────┐
│                     LAYER 2: DATA (Instrumentation)                 │
│  IO List, Tag Database, Instrument Index, Signal Mapping            │
│  "Mapping thế giới vật lý → tín hiệu điện"                           │
│  📄 Đầu ra: IO List, Instrument Datasheet, Loop Diagram (sơ cấp)     │
└─────────────────────────────────────────────────────────────────────┘
                                      │
                                      ▼
┌─────────────────────────────────────────────────────────────────────┐
│            LAYER 2.5: ELECTRICAL INTEGRATION ⚡ (THÊM MỚI)          │
│  Wiring Layout, Panel Layout, Cable Schedule, Termination Diagram   │
│  "Biến tín hiệu logic thành kết nối vật lý bằng dây điện"            │
│  📄 Đầu ra: Wiring Diagram, Panel GA, Cable Routing, Terminal List   │
└─────────────────────────────────────────────────────────────────────┘
                                      │
                                      ▼
┌─────────────────────────────────────────────────────────────────────┐
│                  LAYER 3: LOGIC (Cause & Effect / FDS)              │
│  C&E Matrix, Functional Design Spec, Interlock Logic, Sequences     │
│  "Nếu A xảy ra → phải làm B"                                         │
└─────────────────────────────────────────────────────────────────────┘
                                      │
                                      ▼
┌─────────────────────────────────────────────────────────────────────┐
│                  LAYER 4: CONTROL (Implementation)                  │
│  PLC Code, DCS Configuration, HMI Tags, Controller Logic            │
│  "Thực thi logic bằng code"                                          │
└─────────────────────────────────────────────────────────────────────┘

2. Tại Sao Wiring Layout Lại Ở Layer 2.5?

Lý do 1: Nó là “Cầu nối” giữa Data và Control

Từ Layer 2 (Data)Wiring LayoutĐến Layer 4 (Control)
Instrument Tag: PT-101Xác định dây nào nối từ sensor → PLCPLC Input Module: Slot 3, Channel 5
Signal Type: 4-20mAChọn cáp shielded, xác định cực (+/-)Scaling: 4mA = 0 bar, 20mA = 10 bar
Loop Number: FIC-101Đánh số terminal, xác định đường điPID Block: PID101 trong code

Wiring layout là bản vẽ thể hiện “physical manifestation” của IO List.

Lý do 2: Nó Phụ Thuộc Cả Hardware và Software

text

Wiring layout chịu ảnh hưởng từ:

Hardware side (Layer 2 & 4):
├── Loại PLC module (screw terminal hay front connector?)
├── Khoảng cách từ sensor đến tủ điện (chọn cỡ dây)
├── Loại tín hiệu (analog cần shielded, digital có thể dùng dây thường)
└── Panel layout (terminal block ở vị trí nào)

Software side (Layer 3 & 4):
├── Tên tag trong PLC (phải đồng bộ với tên trên sơ đồ)
├── Địa chỉ PLC (I0.0, IW64 – phải khớp với channel đấu dây)
└── Logic yêu cầu (ví dụ: emergency stop phải dùng dây màu đỏ, NO/NC phù hợp)

3. Các Thực Thể Trong Data Model Cho Layer 2.5

Để xuất được wiring layout, bạn cần bổ sung các thực thể này vào data model:

A. Electrical Panel (Tủ điện)

sql

CREATE TABLE ElectricalPanel (
    PanelID VARCHAR(50) PRIMARY KEY,
    PanelName VARCHAR(100),                 -- VD: "MCC-01", "PLC-PANEL-01"
    PanelType VARCHAR(20),                  -- MCC, PLC, Instrument, Junction
    Location VARCHAR(100),
    Enclosure_Rating VARCHAR(10),           -- IP54, IP65, NEMA 4X
    Dimensions_Width INT,                   -- mm
    Dimensions_Height INT,
    Dimensions_Depth INT,
    
    -- For layout export
    Drawing_File VARCHAR(200),              -- Path to CAD template
    Layout_X INT,                           -- Position on plant layout
    Layout_Y INT
);

B. Terminal Block & Rail (Đầu nối và thanh rail)

sql

CREATE TABLE TerminalBlock (
    TerminalBlockID VARCHAR(50) PRIMARY KEY,
    PanelID VARCHAR(50),                    -- FK to ElectricalPanel
    RailNumber INT,                         -- DIN Rail số mấy
    RailPosition_X INT,                     -- Vị trí trên rail (mm từ trái)
    Manufacturer VARCHAR(50),               -- WAGO, Phoenix, Weidmüller
    Model VARCHAR(50),                      -- VD: "280-901"
    PoleCount INT,                          -- Số cực (2, 3, 4)
    Type VARCHAR(20),                       -- Feed-through, Ground, Fused, Disconnect
    Color VARCHAR(20),                      -- Gray, Blue (24V), Red (Emergency), Green (Ground)
    
    -- Metadata
    CreatedBy VARCHAR(50),
    CreatedDate DATETIME
);

CREATE TABLE Terminal (
    TerminalID VARCHAR(50) PRIMARY KEY,
    TerminalBlockID VARCHAR(50),            -- FK to TerminalBlock
    TerminalNumber VARCHAR(10),             -- VD: "1", "2", "PE"
    Function VARCHAR(50),                   -- Signal+, Signal-, Shield, 24V+, 0V, PE
    
    -- Wiring details (from/to)
    WireFrom_Device VARCHAR(100),           -- VD: "PT-101 (+)"
    WireFrom_Terminal VARCHAR(50),          -- VD: "Sensor terminal 1"
    WireTo_Device VARCHAR(100),             -- VD: "PLC Module AI1 (+)"
    WireTo_Terminal VARCHAR(50),            -- VD: "Screw terminal 5"
    
    WireColor VARCHAR(20),                  -- VD: "Brown", "Blue", "White"
    WireSize VARCHAR(10),                   -- VD: "0.5mm²", "AWG22"
    CableID VARCHAR(50),                    -- FK to Cable (nếu dùng cáp bọc)
    
    -- Status
    IsShielded BOOLEAN DEFAULT FALSE,
    ShieldConnectedTo VARCHAR(50),          -- Ground, Instrument ground, etc.
    
    -- Reference
    InstrumentID VARCHAR(50),               -- FK to Instrument (nếu có)
    IOChannelID VARCHAR(50)                 -- FK to IOChannel (nếu có)
);

C. Cable & Conduit (Cáp và ống luồn)

sql

CREATE TABLE Cable (
    CableID VARCHAR(50) PRIMARY KEY,
    CableTag VARCHAR(50),                   -- VD: "CBL-101"
    CableType VARCHAR(30),                  -- Power, Control, Instrument, Ethernet, Profibus
    CoreCount INT,
    CoreSizes VARCHAR(50),                  -- VD: "4x1.5mm²", "2x2x0.5mm² (shielded)"
    Manufacturer VARCHAR(50),
    Length_M DECIMAL(10,2),
    
    -- Routing
    From_PanelID VARCHAR(50),               -- FK to ElectricalPanel
    From_TerminalBlockID VARCHAR(50),
    To_EquipmentID VARCHAR(50),             -- FK to EquipmentInstance
    To_InstrumentID VARCHAR(50),            -- FK to Instrument
    RoutingPath VARCHAR(500),               -- VD: "Tray E-01 → Conduit C-03 → Junction JB-05"
    
    -- Physical
    ConduitType VARCHAR(20),                -- PVC, Galvanized Steel, Flexible
    ConduitSize VARCHAR(20),                -- VD: "3/4\"", "1\""
    Shielded BOOLEAN,
    FireRating VARCHAR(50)
);

D. IO Module Mapping (Kết nối giữa PLC và Terminal)

sql

-- Mở rộng bảng IOChannel từ trước
ALTER TABLE IOChannel ADD COLUMN TerminalID VARCHAR(50);
ALTER TABLE IOChannel ADD COLUMN CableID VARCHAR(50);

-- Tạo bảng liên kết chi tiết hơn
CREATE TABLE IOTerminalMapping (
    MappingID VARCHAR(50) PRIMARY KEY,
    IOChannelID VARCHAR(50),                -- FK to IOChannel
    TerminalID VARCHAR(50),                 -- FK to Terminal
    WiringSequence INT,                     -- Thứ tự đấu dây (nếu có nhiều dây cho 1 kênh)
    Note NVARCHAR(200)
);

4. Quan Hệ Giữa Các Layer (Cập Nhật)

text

LAYER 1 (Process)
    │
    │ EquipmentInstance, PipingEdge
    ▼
LAYER 2 (Data)
    │
    │ Instrument ←── (mounted on) ──┤
    ▼                               │
LAYER 2.5 (Electrical)              │
    │                               │
    ├── Terminal ←──────────────────┤
    ├── Cable                        │
    ├── ElectricalPanel              │
    └── IOChannel ←──────────────────┘
    │
    │ (physically wired to)
    ▼
LAYER 4 (Control)
    │
    └── IOModule → PLC

Điểm quan trọng:

  • Instrument (Layer 2) biết nó cần tín hiệu gì
  • Terminal & Cable (Layer 2.5) biết dây nào đi từ đâu đến đâu
  • IOChannel (Layer 2.5-4) biết kênh nào trên PLC module nhận tín hiệu đó

5. Ví Dụ Cụ Thể: Từ Sensor Đến PLC

Dữ liệu trong các layer

Layer 2 (Data):

json

{
  "Instrument": {
    "Tag": "PT-101",
    "Type": "Pressure Transmitter",
    "Signal": "4-20mA",
    "Range": "0-10 bar"
  }
}

Layer 2.5 (Electrical):

sql

-- Terminal Block
INSERT INTO TerminalBlock VALUES ('TB-101', 'PANEL-01', 1, 100, 'WAGO', '280-901', 4, 'Feed-through', 'Gray');

-- Terminals
INSERT INTO Terminal VALUES ('T-101-1', 'TB-101', '1', 'Signal+', 'PT-101 (+)', 'Terminal 1', 'PLC AI Module', 'Screw 5', 'Brown', '0.5mm²', 'CBL-101', FALSE, NULL, 'PT-101', 'CH-001');
INSERT INTO Terminal VALUES ('T-101-2', 'TB-101', '2', 'Signal-', 'PT-101 (-)', 'Terminal 2', 'PLC AI Module', 'Screw 6', 'Blue', '0.5mm²', 'CBL-101', FALSE, NULL, 'PT-101', 'CH-001');
INSERT INTO Terminal VALUES ('T-101-PE', 'TB-101', 'PE', 'Shield', 'PT-101 Shield', 'Cable shield', 'Ground Bar', 'GND-01', 'Transparent', 'Shield', 'CBL-101', TRUE, 'Instrument Ground', 'PT-101', 'CH-001');

-- Cable
INSERT INTO Cable VALUES ('CBL-101', 'CBL-101', 'Instrument', 3, '2x0.5mm² + shield', 'Belden', 45.5, 'PANEL-01', 'TB-101', 'PT-101', 'PT-101', 'Tray E-01 → Conduit C-03', 'Flexible', '1/2"', TRUE, 'LSZH');

Layer 4 (Control):

sql

-- PLC Module
INSERT INTO IOModule VALUES ('AI-01', 'PLC-01', 0, 3, 'AI', '1756-IF8', 8, 'Local:3:I.Data');

-- IO Channel
INSERT INTO IOChannel VALUES ('CH-001', 'AI-01', 0, 'PT-101', 'AI', 'Local:3:I.Ch0Data', 4.0, 20.0, 0.0, 10.0, 'bar', 'T-101-1', 'CBL-101', 'Brown', '0.5mm²', FALSE, NULL);

Wiring Layout Được Xuất Ra

Từ dữ liệu trên, bạn có thể xuất:

  1. Terminal Strip Drawing: Vị trí các terminal block trên DIN rail
  2. Wiring Diagram: Dây từ PT-101 → TB-101 (terminal 1,2,PE) → PLC module AI-01 (screw 5,6)
  3. Cable Schedule: CBL-101 dài 45.5m, đi từ PANEL-01 đến PT-101, dùng shielded, routing qua tray E-01
  4. Panel Layout: Vị trí TB-101 trên panel (rail 1, cách trái 100mm)

6. Tại Sao Layer 2.5 Quan Trọng?

Vai tròGiải thích
Cầu nốiNối giữa thế giới “tín hiệu logic” (IO List) và “thế giới vật lý” (dây điện, tủ điện)
Đảm bảo tính nhất quánIO List phải khớp với wiring diagram – nếu không sẽ đấu sai dây
Quản lý thay đổiNếu thay PLC module, chỉ cần update IOChannel mapping, không cần vẽ lại toàn bộ wiring
Tối ưu hóaCó thể tối ưu vị trí terminal block để giảm chiều dài dây, dễ bảo trì
Truy xuấtKhi có lỗi tín hiệu, có thể trace từ sensor → terminal → cable → PLC module

7. Tổng Kết: Wiring Layout Thuộc Layer Nào?

Câu trả lờiGiải thích
Chính xác nhấtLayer 2.5 – Electrical Integration Layer
Nếu chỉ có 5 layersGiao thoa giữa Layer 2 (Data) và Layer 4 (Control)
Trong data model của bạnCần bổ sung các bảng: ElectricalPanelTerminalBlockTerminalCable

Wiring layout là physical implementation của IO List – nó biến tín hiệu logic thành dây đồng, terminal, và cáp đi trong nhà máy.

Search

Latest Posts

Categories

I’m trying to better than I was yesterday