พื้นฐาน Modbus Protocol สำหรับ PLC
เรียนรู้ Modbus Protocol สำหรับ PLC ตั้งแต่เริ่มต้น หลักการ Master-Slave, RS485, TCP/IP, Data Frame และประเภทข้อมูล เพื่อเชื่อมต่อระบบอุตสาหกรรม
อัพเดทล่าสุด: 1/2/2569
ราคาชุดอุปกรณ์
บทนำสู่ Modbus Protocol
Modbus เป็น Communication protocol ที่สำคัญในระบบอัตโนมัติอุตสาหกรรม ช่วยให้อุปกรณ์ต่างผู้ผลิต ต่างรุ่น สามารถสื่อสารกันได้ เมื่อคุณมีความรู้เรื่อง PLC พื้นฐานแล้ว การเรียนรู้ Modbus จะช่วยให้คุณสามารถเชื่อมต่อระบบที่ซับซ้อนได้
ทำไมต้องใช้ Modbus?
ในโลกของอุตสาหกรรมจริง เรามักต้องเผชิญกับความท้าทายเหล่านี้:
- ใช้ PLC หลายตัวในระบบเดียว
- เครื่องจักรใหญ่ที่ต้องการการควบคุมหลายจุด
- การเชื่อมต่อกับอุปกรณ์ต่างแบรนด์ ต่างผู้ผลิต
Modbus เป็นภาษากลาง ที่ผู้ผลิตอุปกรณ์ส่วนใหญ่รองรับ ทำให้เราสามารถเชื่อมต่ออุปกรณ์ที่หลากหลายเข้าด้วยกันได้
หลักการทำงานของ Modbus
โครงสร้างแบบ Master-Slave
ระบบ Modbus ประกอบด้วย:
Master (Client)
- เป็นผู้ส่งคำขอ (Request)
- อุปกรณ์ที่สามารถเป็น Master ได้: PLC, HMI, Computer
Slave (Server)
- เป็นผู้ตอบกลับ (Response)
- แต่ละ Slave ต้องมี Device Address (ID) ที่ไม่ซ้ำกัน
การสื่อสาร
การทำงานเป็นแบบ Request-Response:
- Master ส่ง Request ไปที่ Slave
- Slave ตอบกลับด้วย Response
- วนซ้ำไปเรื่อยๆ
ช่องทางการสื่อสาร
RS485 (Serial Communication)
- ใช้สายไฟ 2 เส้น ส่งแรงดัน
- ต้องกำหนด Device Address ให้แต่ละ Slave
- มี Error Check ในระบบ
TCP/IP (Network Communication)
- ใช้สายแลน (Ethernet)
- ใช้ IP Address แทน Device Address
- ไม่มี Device Address ใน Data Frame แต่มี Unit ID
Modbus Data Frame
ส่วนประกอบหลัก
[Device Address] [Function Code] [Data] [Error Check]
Function Code: กำหนดคำสั่งที่ต้องการให้ Slave ทำ Data: ระบุ Address เริ่มต้นและจำนวนข้อมูลที่ต้องการ
ตัวอย่าง Data Frame
Request: [01] [01] [00 00] [00 0A] [Error Check]
Response: [01] [01] [02] [05] [Error Check]
การแปลความหมาย:
- Function Code 01: อ่าน Coil
- Address 0: เริ่มที่ตำแหน่ง 0
- จำนวน 0A (10 ชิ้น): อ่าน 10 ชิ้น
- Response 05: ข้อมูลที่อ่านได้
ประเภทข้อมูลใน Modbus
Modbus แบ่งหน่วยความจำเป็น 4 ประเภท:
ข้อมูล 1-bit
- Coil (0x) - สามารถอ่าน/เขียนได้
- Input (1x) - อ่านได้อย่างเดียว
ข้อมูล 16-bit
- Input Register (3x) - อ่านได้อย่างเดียว
- Holding Register (4x) - สามารถอ่าน/เขียนได้
Function Code ที่ใช้บ่อย
| Function Code | การใช้งาน | Address Type |
|---|---|---|
| 01 | อ่าน Coil | 0x |
| 02 | อ่าน Input | 1x |
| 03 | อ่าน Holding Register | 4x |
| 04 | อ่าน Input Register | 3x |
เคล็ดลับสำคัญ
⚠️ ระวังความสับสน: Address 4x ใช้ Function Code 03 (ไม่ใช่ 04)การใช้งานในทางปฏิบัติ
ขั้นตอนการตั้งค่า Modbus
- ศึกษาคู่มือผู้ผลิต - ดู Memory Address ที่ต้องการอ่าน
- กำหนด Device Address - ให้แต่ละ Slave มี ID ไม่ซ้ำ
- เลือก Function Code - ตาม Address Type ที่ต้องการ
- ระบุ Starting Address และ Quantity - ข้อมูลที่ต้องการอ่าน/เขียน
การอ่านข้อมูลจาก PLC
ใน PLC สามารถแมป Modbus Address กับ Internal Address:- X (Input) → Input Register
- Y (Output) → Coil
- M (Auxiliary) → Coil
- D (Data) → Holding Register
การแก้ปัญหาที่พบบ่อย
ปัญหา: ไม่สามารถสื่อสารได้
- ตรวจสอบ Device Address ว่าซ้ำกันหรือไม่
- ตรวจสอบการเชื่อมต่อสาย RS485
- ตรวจสอบ Baud Rate และ Parity Setting
ปัญหา: อ่านข้อมูลผิด
- ตรวจสอบ Function Code ที่ใช้
- ตรวจสอบ Starting Address
- ตรวจสอบ Data Type (1-bit หรือ 16-bit)
สรุป
Modbus เป็น protocol ที่จำเป็นสำหรับการสื่อสารระหว่างอุปกรณ์ในอุตสาหกรรม จุดสำคัญที่ต้องเข้าใจ:
- โครงสร้าง Master-Slave ที่ทำงานแบบ Request-Response
- 4 ประเภทข้อมูล หลัก: Coil, Input, Input Register, Holding Register
- Function Code ที่สอดคล้องกับประเภทข้อมูล
- การอ้างอิงคู่มือผู้ผลิตเพื่อหา Memory Address ที่ถูกต้อง
การเรียนรู้ Modbus จะช่วยให้คุณสามารถเชื่อมต่อและควบคุมระบบอุตสาหกรรมที่ซับซ้อนได้อย่างมีประสิทธิภาพ
ควรอ่านก่อน:
อ่านต่อ:
มีคำถาม? ติดต่อทีมงาน
