PLC
ปานกลาง
16 นาที

คำสั่ง Modbus TCP/IP

เรียนรู้การใช้งาน Modbus TCP/IP กับ PLC ตั้งแต่การตั้งค่า Network IP Address การ Configure SamSoar2022

อัพเดทล่าสุด: 1/2/2569

ราคาชุดอุปกรณ์

฿3,690

การใช้งาน 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

  1. เปิด Command Prompt
  2. พิมพ์ ipconfig เพื่อดู IP Address ของเครื่องคอมพิวเตอร์
  3. ตรวจสอบ Subnet Mask (255.255.255.0) เพื่อระบุ Network ID
  4. อุปกรณ์ทั้งหมดต้องอยู่ใน Network เดียวกัน (192.168.1.x)

การเปลี่ยน IP Address ของ PC

  1. ไปที่ Control PanelNetwork & InternetNetwork & Sharing Center
  2. คลิก EthernetProperties
  3. Double Click Internet Protocol Version 4 (TCP/IPv4)
  4. ตั้งค่า IP Address ให้อยู่ในวงเดียวกับ PLC

การตั้งค่า SamSoar2022

การ Configure Client PLC

  1. เปิด ConfigureProject SettingsCommunicationNet
  2. เลือก Protocol เป็น TCP IP Master
  3. ระบุ Local IP เป็น 192.168.1.200
  4. กด OK และ Download configuration ผ่าน USB

การ Configure Server PLC

  1. เปิด ConfigureProject SettingsCommunicationNet
  2. เลือก Protocol เป็น TCP IP Slave
  3. ระบุ Local IP เป็น 192.168.1.201
  4. Slave Port: 2000 (Default) หรือ 502 (Standard Modbus)
  5. กด OK และ Download configuration ผ่าน USB

เคล็ดลับ: หลังจาก Configure แล้ว ต้อง Switch PLC จาก Run → Stop → Run เพื่อให้การตั้งค่ามีผล

การเขียนโปรแกรม

ขั้นตอนการเขียนโปรแกรม Modbus TCP/IP

  1. กำหนด IP Address ปลายทาง
  2. สร้าง Modbus Table
  3. สร้างช่องทางการสื่อสาร
  4. เรียกใช้คำสั่ง Modbus
  5. ตรวจสอบสถานะการทำงาน
  6. Monitor การทำงาน

การเขียน Network ใน Client PLC

กำหนด IP Address Server (192.168.1.201:2000)
ใช้ M8151 (Second Scan) เพื่อเขียนค่า IP ลง D800-D804 ครั้งเดียวตอนเปิดเครื่อง
N0
IP Octet 1 = 192
M8151MOVK192, D800
IP Octet 2 = 168
M8151MOVK168, D801
IP Octet 3 = 1
M8151MOVK1, D802
IP Octet 4 = 201
M8151MOVK201, D803
Port = 2000
M8151MOVK2000, D804
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv
เปิดช่องสื่อสาร + ส่งคำสั่ง Modbus
DESTIP เปิด TCP connection, MBUSTCP ส่งคำสั่งตาม MBUS_TABLE
N0
M800 ON → เปิด Client ID 1 ไปที่ IP ใน D800, retry ต่อเนื่อง
M800DESTIPD800, K1, K65535, D850
M800 ON → ส่งคำสั่ง Modbus ตาม MBUS_TABLE
M800MBUSTCPK1, MBUS_TABLE, D860, D861
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

คำอธิบาย Parameter

DESTIP (Destination IP):

  • Address: D800 (Starting IP Address)
  • Client ID: K1 (หมายเลขช่องการสื่อสาร)
  • Retry: K65535 (พยายามต่อเนื่อง)
  • Return Code: D850 (สถานะการเชื่อมต่อ)

MBUSTCP:

  • Client ID: K1 (ต้องตรงกับ DESTIP)
  • Table: MBUS_TABLE (ตารางคำสั่ง)
  • Code: D860 (สถานะการทำงาน)
  • Index: D861 (ลำดับคำสั่ง)

การทดสอบการทำงาน

Ping Test

cmd
ping 192.168.1.200
ping 192.168.1.201

หาก Reply กลับมา แสดงว่าการสื่อสารเกิดขึ้นได้ปกติ

การทดสอบ Read/Write

  1. Test Write: สั่ง M1000 ให้ติด เพื่อควบคุม Y0 ของ Server
  2. Test Read: ตรวจสอบค่า M1100 ที่อ่านกลับมาจาก Server
  3. Test Data: เขียนค่า 55 ไปที่ D1000 และตรวจสอบที่ D0 ของ Server

การแก้ปัญหาที่พบบ่อย

ปัญหาการเชื่อมต่อ

อาการ: Ping ไม่ผ่าน หรือไม่มี Reply วิธีแก้:

  1. ตรวจสอบว่าอุปกรณ์อยู่ใน Network เดียวกัน
  2. ตรวจสอบการ Download configuration
  3. Switch PLC จาก Run → Stop → Run
  4. ลองปิด-เปิดไฟใหม่

Error Code การสื่อสาร

Return Code = 0: การสื่อสารปกติ Error 16: การเชื่อมต่อขาดหาย (สายแลนหลุด หรือ Server ดับไฟ)

การจัดการ Error

ตรวจสอบ Return Code + Modbus Error
Flag M900-M902 สามารถใช้เชื่อมต่อกับ HMI หรือ Alarm ต่อไปได้
N0
เชื่อมต่อปกติ → M900 ON
D850 = K0M900
เกิดข้อผิดพลาด → M901 ON
D850 <> K0M901
Error 16 = สายแลนหลุด → M902 ON
D860 = K16M902
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

เคล็ดลับ: ระบบจะพยายามเชื่อมต่ออัตโนมัติเมื่อปัญหาได้รับการแก้ไข

การขยายระบบ

การใช้งานกับอุปกรณ์อื่น

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 และการทดสอบระบบอย่างละเอียด เพื่อให้ระบบทำงานได้อย่างเสถียรและน่าเชื่อถือ

ควรอ่านก่อน: