คำสั่ง Modbus TCP/IP
เรียนรู้การใช้งาน Modbus TCP/IP กับ PLC ตั้งแต่การตั้งค่า Network IP Address การ Configure SamSoar2022
อัพเดทล่าสุด: 1/2/2569
ราคาชุดอุปกรณ์
การใช้งาน Modbus TCP/IP กับ PLC
การสื่อสารแบบ Modbus TCP/IP เป็นการพัฒนาต่อยอดจาก Modbus RS485 โดยใช้สายแลนแทนสายไฟ 2 เส้น ทำให้มีข้อดีในเรื่องของความเสถียรในการส่งสัญญาณและสามารถนำไปบูรณาการกับระบบ SCADA หรือระบบสมัยใหม่ได้ง่ายขึ้น
ข้อดีของ Modbus TCP/IP
- ความเสถียรสูง: การสื่อสารผ่านสายแลนมีความน่าเชื่อถือมากกว่าสายไฟแบบเดิม
- ระยะทางไกล: สามารถใช้งานได้ในระยะไม่เกิน 100 เมตร โดยสามารถใช้ Switch หรือ Hub เพื่อขยายสัญญาณได้
- การบูรณาการ: เหมาะสำหรับการเชื่อมต่อกับระบบ SCADA และระบบการจัดการสมัยใหม่
- ความยืดหยุ่น: ใช้โครงสร้างเดิมจาก Modbus RS485 ได้โดยเปลี่ยนเพียงสื่อการสื่อสาร
การตั้งค่า Network
การกำหนด IP Address
PLC Client (เดิมคือ Master):
IP Address: 192.168.1.200
บทบาท: ส่งคำสั่งและเป็นผู้ขอข้อมูล
PLC Server (เดิมคือ Slave):
IP Address: 192.168.1.201
Port: 2000 (Default ของ Samkoon)
บทบาท: ให้ข้อมูลและรับคำสั่ง
การตรวจสอบ Network
- เปิด Command Prompt
- พิมพ์
ipconfigเพื่อดู IP Address ของเครื่องคอมพิวเตอร์ - ตรวจสอบ Subnet Mask (255.255.255.0) เพื่อระบุ Network ID
- อุปกรณ์ทั้งหมดต้องอยู่ใน Network เดียวกัน (192.168.1.x)
การเปลี่ยน IP Address ของ PC
- ไปที่ Control Panel → Network & Internet → Network & Sharing Center
- คลิก Ethernet → Properties
- Double Click Internet Protocol Version 4 (TCP/IPv4)
- ตั้งค่า IP Address ให้อยู่ในวงเดียวกับ PLC
การตั้งค่า SamSoar2022
การ Configure Client PLC
- เปิด Configure → Project Settings → Communication → Net
- เลือก Protocol เป็น TCP IP Master
- ระบุ Local IP เป็น 192.168.1.200
- กด OK และ Download configuration ผ่าน USB
การ Configure Server PLC
- เปิด Configure → Project Settings → Communication → Net
- เลือก Protocol เป็น TCP IP Slave
- ระบุ Local IP เป็น 192.168.1.201
- Slave Port: 2000 (Default) หรือ 502 (Standard Modbus)
- กด OK และ Download configuration ผ่าน USB
เคล็ดลับ: หลังจาก Configure แล้ว ต้อง Switch PLC จาก Run → Stop → Run เพื่อให้การตั้งค่ามีผล
การเขียนโปรแกรม
ขั้นตอนการเขียนโปรแกรม Modbus TCP/IP
- กำหนด IP Address ปลายทาง
- สร้าง Modbus Table
- สร้างช่องทางการสื่อสาร
- เรียกใช้คำสั่ง Modbus
- ตรวจสอบสถานะการทำงาน
- Monitor การทำงาน
การเขียน Network ใน Client PLC
// กำหนด IP Address ของ Server
M8151 ──[MOV K192 D800]── // IP Octet 1
──[MOV K168 D801]── // IP Octet 2
──[MOV K1 D802]── // IP Octet 3
──[MOV K201 D803]── // IP Octet 4
──[MOV K2000 D804]── // Port Number
// เปิดช่องการสื่อสาร
M800 ──[DESTIP D800 K1 K65535 D850]──
// ส่งคำสั่ง Modbus
──[MBUSTCP K1 MBUS_TABLE D860 D861]──
คำอธิบาย Parameter
DSIP (Destination IP):
- Address: D800 (Starting IP Address)
- Client ID: K1 (หมายเลขช่องการสื่อสาร)
- Retry: K65535 (พยายามต่อเนื่อง)
- Return Code: D850 (สถานะการเชื่อมต่อ)
MBUS_TCP:
- Client ID: K1 (ต้องตรงกับ DSIP)
- Table: MBUS_TABLE (ตารางคำสั่ง)
- Code: D860 (สถานะการทำงาน)
- Index: D861 (ลำดับคำสั่ง)
การทดสอบการทำงาน
Ping Test
cmd
ping 192.168.1.200
ping 192.168.1.201
หาก Reply กลับมา แสดงว่าการสื่อสารเกิดขึ้นได้ปกติ
การทดสอบ Read/Write
- Test Write: สั่ง M1000 ให้ติด เพื่อควบคุม Y0 ของ Server
- Test Read: ตรวจสอบค่า M1100 ที่อ่านกลับมาจาก Server
- Test Data: เขียนค่า 55 ไปที่ D1000 และตรวจสอบที่ D0 ของ Server
การแก้ปัญหาที่พบบ่อย
ปัญหาการเชื่อมต่อ
อาการ: Ping ไม่ผ่าน หรือไม่มี Reply วิธีแก้:
- ตรวจสอบว่าอุปกรณ์อยู่ใน Network เดียวกัน
- ตรวจสอบการ Download configuration
- Switch PLC จาก Run → Stop → Run
- ลองปิด-เปิดไฟใหม่
Error Code การสื่อสาร
Return Code = 0: การสื่อสารปกติ Error 16: การเชื่อมต่อขาดหาย (สายแลนหลุด หรือ Server ดับไฟ)
การจัดการ Error
// ตรวจสอบ Return Code
D850 ──[= K0]──(เชื่อมต่อปกติ)
──[<> K0]──(เกิดข้อผิดพลาด)
// ตรวจสอบ Modbus Error
D860 ──[= K16]──(แจ้งเตือนสายแลนหลุด)
เคล็ดลับ: ระบบจะพยายามเชื่อมต่ออัตโนมัติเมื่อปัญหาได้รับการแก้ไข
การขยายระบบ
การใช้งานกับอุปกรณ์อื่น
Modbus TCP/IP สามารถสื่อสารได้กับ:
- PLC ยี่ห้ออื่น
- VFD (Variable Frequency Drive)
- Sensor อัจฉริยะ
- ระบบ SCADA
- HMI และ Touch Screen
ข้อมูลที่ต้องการ
เมื่อต้องการเชื่อมต่อกับอุปกรณ์อื่น ต้องทราบ:
- IP Address และ Port
- Modbus Address และ Function Code
- Data Type และจำนวน Register
- การ Mapping ข้อมูล
สรุป
Modbus TCP/IP เป็นการพัฒนาที่สำคัญจาก Modbus RS485 โดยให้ประโยชน์ในเรื่องของความเสถียร การขยายระยะทาง และการบูรณาการกับระบบสมัยใหม่ การใช้งานจะใช้หลักการเดียวกับ Modbus RS485 แต่เปลี่ยนสื่อการสื่อสารเป็นสายแลน ทำให้สามารถนำความรู้เดิมมาประยุกต์ใช้ได้ทันที
สิ่งสำคัญคือการตั้งค่า Network ให้ถูกต้อง การเขียนโปรแกรมที่มีการจัดการ Error และการทดสอบระบบอย่างละเอียด เพื่อให้ระบบทำงานได้อย่างเสถียรและน่าเชื่อถือ
ควรอ่านก่อน:
มีคำถาม? ติดต่อทีมงาน
