สอนใช้ Modbus RS485 Master-Slave
คู่มือสอนการใช้งาน Modbus RS485 สำหรับ Samkoon PLC แบบ Master-Slave การเชื่อมต่อ PLC หลายตัว ตั้งค่า Communication Port และการสร้าง Modbus Table
อัพเดทล่าสุด: 8/3/2569
ราคาชุดอุปกรณ์
รู้จักกับ Modbus RS485 สำหรับ Samkoon PLC
การสื่อสารผ่าน Modbus RS485 เป็นพื้นฐานสำคัญในระบบอัตโนมัติอุตสาหกรรม โดยเฉพาะการเชื่อมต่อ PLC หลายตัวเข้าด้วยกัน ในบทความนี้จะแนะนำการใช้งาน Samkoon PLC แบบ Master-Slave ผ่าน Modbus RS485
ระบบที่ใช้ในการสาธิต
- Master: Samkoon PLC รุ่น FAs-32MT-AC-E
- Slave: Samkoon PLC 2 ตัว (รุ่นต่างๆ)
- สายสัญญาณ: สายไฟ 2 เส้นสำหรับ RS485
หลักการทำงานของ Modbus RS485
บทบาทของอุปกรณ์
- Modbus Master: ผู้ออกคำสั่งการอ่านและเขียนข้อมูล
- Modbus Slave: ผู้รับคำสั่งและส่งข้อมูลกลับ
การเชื่อมต่อสายไฟ
การต่อสายแบบ Multi-Drop:- เชื่อมต่อ 485A ของแต่ละอุปกรณ์เข้าด้วยกัน
- เชื่อมต่อ 485B ของแต่ละอุปกรณ์เข้าด้วยกัน
- ใช้สายไฟเพียง 2 เส้นสำหรับทั้งระบบ
ขั้นตอนการตั้งค่า Master PLC
1. สร้าง Project ใหม่
Project Name: Master Demo
PLC Model: FAs-32MT-AC-E
Ladder: เลือกตามต้องการ
2. ตั้งค่า Communication Port
ใน Project Settings > Communication:
Tab Com0 หรือ Com1:
- Station Number: 0 (สำหรับ Master)
- Protocol: Modbus Master
- Baud Rate: ปล่อยเป็น Default
- Data Bits: ปล่อยเป็น Default
- Parity: ปล่อยเป็น Default
3. กำหนด IP Address
ใน Project Settings > Net:
IP Address: 169.254.1.100
Subnet Mask: ปล่อยเป็น Default
Gateway: ปล่อยเป็น Default
การตรวจสอบ Network:
- เปิด Command Prompt
- พิมพ์
ipconfig - ตรวจสอบ Ethernet Adapter
- ปรับ Network Settings ให้ตรงกัน
4. ทดสอบการเชื่อมต่อ
ping 169.254.1.100
หากมี Reply กลับมา แสดงว่าการตั้งค่า IP สำเร็จขั้นตอนการตั้งค่า Slave PLC
การตั้งค่า Slave ตัวที่ 1
Station Number: 1
Protocol: Modbus Slave
IP Address: 169.254.1.101
การตั้งค่า Slave ตัวที่ 2
Station Number: 2
Protocol: Modbus Slave
IP Address: 169.254.1.102
การสร้าง Modbus Table
หลักการสร้าง Table
- สร้าง 1 Table สำหรับทุก Slave
- สร้าง 1 Table ต่อ 1 Slave
- แยก Table สำหรับการอ่าน (Read) และการเขียน (Write)
- กำหนดชื่อให้เข้าใจง่าย เช่น
Slave1Read,Slave2Write
ตัวอย่างการตั้งค่า Table สำหรับการอ่าน
Table: Slave1Read
Port: 1 (Slave ID)
Function Code: 01 (Read Coils) สำหรับ Y
Slave Register: 1 (Y0)
Master Register: M1000
Comment: Read Slave 1 Y0
Function Code: 01 (Read Coils) สำหรับ M
Slave Register: 30000 (M0)
Master Register: M1100
Comment: Read Slave 1 M0
Function Code: 02 (Read Input) สำหรับ X
Slave Register: 0 (X0)
Master Register: M1200
Comment: Read Slave 1 X0
Function Code: 03/04 (Read Holding Register) สำหรับ D
Slave Register: 40000 (D0)
Master Register: D1000
Comment: Read Slave 1 D0
ตัวอย่างการตั้งค่า Table สำหรับการเขียน
Table: Slave1Write
Function Code: 05 (Write Coil)
Slave Register: 1 (Y0)
Master Register: M1500
Comment: Write to Slave 1 Y0
Function Code: 06 (Write Holding Register)
Slave Register: 40000 (D0)
Master Register: D1500
Comment: Write to Slave 1 D0
การใช้งาน MBUS Instruction
พารามิเตอร์ของ MBUS
MBUS(Comm, TBL, WR, WRID)
Comm: Serial Port (0 หรือ 1)
TBL: ชื่อ Modbus Table
WR: Data Register เก็บ Information Code
WRID: Data Register เก็บ Current Command ID
ตัวอย่างการเขียนโปรแกรม
[M0]--[MBUS(0, Slave1Read, D0, D1)]
|
\--[MBUS(0, Slave2Read, D2, D3)]
Information Code ที่ใช้บ่อย
- 0: Communication สำเร็จ
- Error Code: ระบุปัญหาการสื่อสาร (ดูจาก Manual)
การทดสอบระบบ
การทดสอบการอ่านข้อมูล
- Download โปรแกรมไปยัง Master PLC
- เปิด Monitor Mode
- เปลี่ยนค่าใน Slave PLC
- เปิด M0 เพื่อเริ่มการสื่อสار
- ตรวจสอบค่าใน Master Register
ตัวอย่างผลลัพธ์:
Slave Y0 = ON → Master M1000 = ON
Slave M0 = ON → Master M1100 = ON
Slave D0 = 123 → Master D1000 = 123
การทดสอบการเขียนข้อมูล
- เปลี่ยนค่าใน Master Register
- ส่งคำสั่งผ่าน Write Table
- ตรวจสอบค่าใน Slave PLC
ตัวอย่าง:
Master M1500 = ON → Slave Y0 = ON
Master D1500 = 555 → Slave D0 = 555
เคล็ดลับการใช้งาน
การจัดการ Table
- ใช้ชื่อ Table ที่เข้าใจง่าย
- แยก Table สำหรับ Read และ Write
- เขียน Comment ทุกแถวเพื่่อป้องกันความสับสน
การตั้งค่า Network
- ตรวจสอบ IP Range ให้ตรงกับเครื่อคอมพิวเตอร์
- ใช้สาย LAN เพื่อความสะดวกในการ Monitor
- ทดสอบ Ping ก่อนใช้งานจริง
การแก้ปัญหา Communication
- ตรวจสอบการต่อสาย RS485
- ตรวจสอบ Station Number ให้ไม่ซ้ำกัน
- ตรวจสอบ Baud Rate ให้ตรงกันทุกตัว
- ดู Error Code จาก WR Register
การแก้ปัญหาที่พบบ่อย
ไม่สามารถสื่อสารได้
- ตรวจสอบสายไฟ: A-A, B-B ต่อถูกต้องหรือไม่
- ตรวจสอบ Station Number: ไม่ซ้ำกันและตรงกับ Table
- ตรวจสอบ Protocol: Master-Slave ตั้งค่าถูกต้องหรือไม่
ข้อมูลผิดพลาด
- ตรวจสอบ Function Code: เลือก Code ให้ตรงกับชนิดข้อมูล
- ตรวจสอบ Register Address: ดูจาก Memory Map ของ PLC
- ตรวจสอบ Data Type: 16-bit, 32-bit ให้ตรงกัน
การสื่อสารไม่เสถียร
- เช็ค Timing: เพิ่ม Delay ระหว่างคำสั่ง
- ตรวจสอบสายสัญญาณ: คุณภาพและระยะทาง
- ลองลด Baud Rate: เพื่อเสถียรภาพ
สรุป
การใช้งาน Modbus RS485 กับ Samkoon PLC ประกอบด้วย 4 ขั้นตอนหลัก: การต่อสาย, การตั้งค่า Communication, การสร้าง Modbus Table, และ การใช้ MBus Instruction เมื่อทำตามขั้นตอนครบถ้วนแล้ว จะสามารถควบคุมและรับข้อมูลจาก PLC หลายตัวผ่านสายเพียง 2 เส้น ทำให้ระบบมีความยืดหยุ่นและประหยัดค่าใช้จ่ายในการติดตั้ง ความรู้นี้สามารถนำไปประยุกต์ใช้กับการรับข้อมูลจากเซ็นเซอร์หรือการควบคุมอุปกรณ์ต่างๆ ในงานอุตสาหกรรมได้อย่างมีประสิทธิภาพ
มีคำถาม? ติดต่อทีมงาน


