I’m trying to better than I was yesterday

Layers trong PLC code

trutra863 Avatar

1. Cách chia chuẩn: 4 lớp trong “thế giới code PLC”

💡 Không phải layer hệ thống, mà là layer trong code

Mapping → Data → Logic → Interface

2. Giải thích từng lớp

🔌 1. Mapping layer (kết nối với ngoài đời)

👉 Nơi map tín hiệu thật ↔ PLC

  • I/O mapping
  • Địa chỉ module (I0.0, Q0.0…)
  • Scale analog (4–20mA → engineering unit)

🧠 Tư duy:

“Dữ liệu này lấy từ đâu ngoài đời?”


📦 2. Data layer (tổ chức dữ liệu)

👉 Nơi bạn dùng:

  • UDT
  • Tag
  • Struct

Ví dụ:

  • Motor_1
  • Tank_Level

🧠 Tư duy:

“Mình lưu thông tin hệ thống như thế nào cho gọn?”


🧠 3. Logic layer (xử lý)

👉 Nơi chạy chương trình

  • FB (Function Block)
  • FC (Function)
  • Ladder / ST

Ví dụ:

  • FB_Motor
  • PID control
  • Interlock

🧠 Tư duy:

“Hệ thống quyết định gì?”


🖥️ 4. Interface layer (giao tiếp người dùng / hệ khác)

👉 Kết nối ra ngoài:

  • HMI / SCADA tag
  • Alarm
  • Communication (Modbus, Ethernet/IP…)

🧠 Tư duy:

“Người vận hành hoặc hệ khác thấy gì?”


3. Mapping với thực tế (rất quan trọng 🔥)

Ngoài đời         →      Trong code
-----------------------------------------
Sensor → Mapping
Thiết bị (motor) → Data (UDT)
Hoạt động → Logic (FB)
Màn hình → Interface

4. Ví dụ cực dễ hiểu (1 motor)

Ngoài đời:

  • Nút nhấn Start
  • Motor chạy
  • Có lỗi overload

Trong code:

🔌 Mapping

  • I0.0 = Start button
  • Q0.0 = Motor output

📦 Data

Motor_1:
- Start
- Run
- Fault

🧠 Logic (FB_Motor)

  • Nếu Start → chạy
  • Nếu Fault → dừng

🖥️ Interface

  • HMI hiển thị:
    • Running
    • Alarm

5. Insight rất mạnh (giúp bạn code “có hệ thống”)

👉 Người mới:

  • Viết lung tung: tag + logic trộn vào nhau

👉 Người giỏi:

  • Luôn tách rõ:

Input ở đâu → lưu kiểu gì → xử lý ra sao → hiển thị thế nào


6. Một cách nhớ cực đơn giản

🔌 Mapping = “Dây”
📦 Data = “Bộ nhớ”
🧠 Logic = “Não”
🖥️ Interface = “Mặt”


7. Level cao hơn (nếu bạn đi xa)

Bạn có thể refine thêm:

  • Logic layer:
    • Equipment control (motor, valve)
    • Process control (PID, sequence)
  • Interface layer:
    • Local HMI
    • SCADA
    • MES

8. Kết luận

✔ Trong code không gọi là layer hệ thống
✔ Nhưng có thể chia thành 4 lớp tư duy rất hiệu quả:

Mapping → Data → Logic → Interface

Search

Latest Posts

Categories

I’m trying to better than I was yesterday