ต่ออีเทอร์เน็ต PLC LINGKONG LK3U/GT3U: Modbus TCP Server, Client และคำสั่ง FROM/TO ทีละขั้น | VR Automation

วันที่ 18 สิงหาคม 2569 | คู่มือเทคนิค | VR Automation

การเชื่อม PLC เข้ากับ SCADA หรือระบบ IoT ผ่านอีเทอร์เน็ตช่วยลดสายและเพิ่มความเร็วในการเก็บข้อมูลมหาศาล PLC LINGKONG LK3U/ZK3U/GT3U รุ่นที่มีพอร์ตอีเทอร์เน็ตรองรับได้ถึง 8 พอร์ตอิสระ ทำหน้าที่ทั้งเป็น Modbus TCP Server และ Client ในเวลาเดียวกัน บทความนี้อธิบายโครงสร้างพอร์ต รีจิสเตอร์ที่เกี่ยวข้อง และวิธีเขียนคำสั่งอ่าน-เขียนข้ามอุปกรณ์

โครงสร้าง 8 พอร์ตอีเทอร์เน็ต

ช่อง หน้าที่ตามค่าเริ่มต้น หมายเหตุ
ช่อง 0–4 MELSOFT connection (เปิดใช้เป็นค่าเริ่มต้น) ใช้ต่อกับ GX Works2 และซอฟต์แวร์ตระกูล MELSOFT
ช่องที่ 1 MODBUS TCP Server ให้ SCADA หรือ HMI มาอ่าน/เขียนข้อมูล PLC
ช่องที่ 6 SNTP ใช้เมื่อเปิด SNTP ในพารามิเตอร์ซอฟต์แวร์
ช่องที่ 7 MELSOFT connection (ตายตัว) สงวนไว้เสมอ
MODBUS Client TCP รองรับ 7 ช่อง / UDP รองรับ 1 ช่อง UDP ต่อสเลฟได้สูงสุด 247, TCP ได้ 7 สเลฟ

ข้อควรทราบสำคัญจากคู่มือ: เฟิร์มแวร์เวอร์ชันใหม่รองรับการดาวน์โหลดพารามิเตอร์อีเทอร์เน็ตผ่านซอฟต์แวร์เฉพาะเท่านั้น ไม่รองรับการตั้งค่าผ่าน GX Works2 และฟังก์ชัน Ethernet Diagnostic ใน GX Works2 ก็ใช้ไม่ได้ ทุกครั้งที่ดาวน์โหลดพารามิเตอร์ใหม่ต้องปิดไฟแล้วเปิดใหม่ค่าจึงจะมีผล

💡 Pro Tip: แม้จะตั้งค่าพารามิเตอร์ผ่านซอฟต์แวร์เฉพาะ แต่หลังจากตั้งเสร็จแล้วสามารถใช้ GX Works2 เชื่อมต่อทำงานผ่าน LAN ได้ปกติ — เลือก FX3U แล้วดับเบิลคลิก Ethernet Board เลือก connect via hub ใส่ IP หรือใช้ฟังก์ชันค้นหา FXCPU บนเครือข่ายอัตโนมัติ จากนั้นจะอัปโหลด/ดาวน์โหลด/มอนิเตอร์ได้เหมือนต่อสายอนุกรม

รีจิสเตอร์ที่อยู่ IP และสถานะการเชื่อมต่อ

รีจิสเตอร์ หน้าที่ อ่าน/เขียน
D8380 / D8381 ที่อยู่ IP ปัจจุบัน (ส่วนต่ำ / ส่วนสูง) อ่านอย่างเดียว
D8382 / D8383 ซับเน็ตมาสก์ปัจจุบัน อ่านอย่างเดียว
D8384 / D8385 IP ของเราเตอร์เริ่มต้น อ่านอย่างเดียว
D8492 / D8493 ค่าที่ต้องการตั้งเป็น IP ใหม่ อ่าน/เขียน
D8494 / D8495 ค่าที่ต้องการตั้งเป็นซับเน็ตมาสก์ใหม่ อ่าน/เขียน
D8496 / D8497 ค่าที่ต้องการตั้งเป็น IP เราเตอร์ใหม่ อ่าน/เขียน
D8405 สถานะพอร์ต — b10 เชื่อมต่อแล้วหรือไม่, b14 = 100BASE-TX อ่านอย่างเดียว
D8406 สถานะอะแดปเตอร์ — b0 เริ่มต้นสำเร็จ, b2 ความเร็ว, b4 สื่อสารผิดพลาด อ่านอย่างเดียว
D8415–D8417 ที่อยู่ MAC ของเครื่อง (3 คำ) อ่านอย่างเดียว
D8418 รหัสข้อผิดพลาดของอะแดปเตอร์อีเทอร์เน็ต อ่านอย่างเดียว

ฝั่งรีเลย์: M8404 คือแฟล็กว่า ENET พร้อมใช้งาน (ตรวจรีเซ็ตชิป W5500 สำเร็จ), M8492 คือสั่งเขียน IP ใหม่จาก D8492–D8497 ลงหน่วยความจำ, M8493/M8494 คือแฟล็กเขียนสำเร็จ/ล้มเหลว, M8495 คือสั่งล้างค่า IP ที่บันทึกไว้ และ M8498 จะ ON เมื่อ IP ที่เก็บไว้ถูกใช้งานจริง

ทำหน้าที่ Modbus TCP Client ด้วยคำสั่ง FROM / TO

เมื่อ PLC ต้องไปอ่านข้อมูลจากอุปกรณ์อื่น เช่น มิเตอร์ไฟฟ้าหรืออินเวอร์เตอร์ที่รองรับ Modbus TCP คู่มือกำหนดให้ใช้คำสั่ง FROM (อ่าน) และ TO (เขียน) โดยเลือกโปรโตคอลผ่าน D8438 ก่อน

ขั้นตอน คำสั่ง ความหมาย
เลือกโปรโตคอล TCP [MOV K0 D8438] เขียน 0 = ใช้ TCP
อ่านข้อมูลจากสเลฟ [FROM H301 K0 D0 K1] H301 = ฟังก์ชัน 3 (อ่านรีจิสเตอร์) สเตชัน 1, อ่านที่อยู่ 0 มาเก็บที่ D0 จำนวน 1 คำ
เขียนข้อมูลไปสเลฟ [TO H601 K0 D0 K1] H601 = ฟังก์ชัน 6 (เขียนรีจิสเตอร์) สเตชัน 1, เขียนค่า D0 ไปที่ที่อยู่ 0
เลือกโปรโตคอล UDP [MOV K502 D8438] ค่าที่ไม่ใช่ 0 คือหมายเลขพอร์ต UDP ปลายทาง
กำหนด IP ปลายทาง (UDP) [DMOV HC0A8030A D8436] HC0A8030A = 192.168.3.10

อ่านค่า m1 อย่างไร — 8 บิตล่างคือที่อยู่สเตชันสเลฟ ส่วน 8 บิตบนคือฟังก์ชันโค้ดที่จะส่ง เช่น H301 แยกเป็น H03 (ฟังก์ชัน 3) กับ H01 (สเตชัน 1) ในโหมด TCP สเตชันใช้ได้ 1–7 ตามจำนวนช่องที่รองรับ ส่วนโหมด UDP ใช้ได้ถึง 247 ความยาวข้อมูล n กำหนดได้ 1–255 ยกเว้นเมื่อใช้ฟังก์ชัน 5 หรือ 6 ที่ต้องตั้งเป็น 1 เสมอ

ทั้งหมดนี้สอดคล้องกับข้อกำหนดของ Modbus TCP มาตรฐาน ที่ใช้พอร์ต 502 และคงฟังก์ชันโค้ดชุดเดียวกับ Modbus RTU โดยตัด CRC ออกเพราะ TCP รับประกันความถูกต้องของข้อมูลอยู่แล้ว

ตรวจสอบเมื่อเชื่อมต่อไม่สำเร็จ

  1. อ่าน D8405 บิต 10 — ถ้าเป็น 0 แปลว่าสายไม่เชื่อมหรือฮับไม่ทำงาน ตรวจสายและไฟที่พอร์ตก่อน
  2. อ่าน D8406 บิต 0 — ถ้าไม่ขึ้น 1 แปลว่าการเริ่มต้นระบบล้มเหลว ให้ดาวน์โหลดพารามิเตอร์ใหม่แล้วปิด-เปิดไฟ
  3. ตรวจว่า IP ของ PLC กับคอมพิวเตอร์อยู่ในซับเน็ตเดียวกัน โดยอ่านค่าจริงจาก D8380–D8383
  4. ถ้าฝั่ง Client ไม่ตอบ ให้ตรวจว่า D8438 ตั้งเป็น 0 (TCP) หรือหมายเลขพอร์ต UDP ถูกต้อง
  5. ตรวจไฟร์วอลล์และสวิตช์ว่าไม่บล็อกพอร์ต 502
⚠️ ข้อควรระวัง: อย่าเปิดพอร์ต 502 ออกอินเทอร์เน็ตโดยตรง เพราะ Modbus TCP ไม่มีการยืนยันตัวตนหรือเข้ารหัสใด ๆ ใครที่เข้าถึงพอร์ตได้ก็เขียนค่าลงรีจิสเตอร์ของ PLC ได้ทันที ควรใช้ VPN หรือเกตเวย์ที่มีระบบยืนยันตัวตนคั่นเสมอ

สรุป

อีเทอร์เน็ตบน LK3U/GT3U ให้ความยืดหยุ่นสูงเพราะทำหน้าที่ทั้งฝั่ง Server ให้ SCADA มาดึงข้อมูล และฝั่ง Client ไปเก็บข้อมูลจากอุปกรณ์อื่นได้พร้อมกัน โดยไม่ต้องซื้อโมดูลสื่อสารแยก จำสองข้อไว้ให้ดี — พารามิเตอร์อีเทอร์เน็ตต้องดาวน์โหลดด้วยซอฟต์แวร์เฉพาะและต้องปิด-เปิดไฟ ส่วน D8438 คือสวิตช์เลือก TCP กับ UDP ที่ต้องตั้งก่อนใช้ FROM/TO เสมอ ดูอุปกรณ์เครือข่ายเสริมได้ที่หมวด อุปกรณ์เครือข่าย

ตารางสรุป ความสามารถอีเทอร์เน็ตของ LK3U/GT3U
ความสามารถอีเทอร์เน็ตของ LK3U/GT3U — VR Automation

แหล่งข้อมูลและมาตรฐานอ้างอิง

  1. Catalog: LK3UZK3U-en.pdf — Lingkong LK3U/ZK3U Series PLC User Manual (หน้า Ethernet Function Description, Special M/D Register, MODBUS TCP/UDP Client Application)
  2. PLC Programming — Modbus TCP/IP: MBAP Header, Function Codes & Port 502 — โครงสร้างเฟรมและฟังก์ชันโค้ดของ Modbus TCP
  3. SCADA Protocols — Modbus TCP/IP Port 502 Explained: Setup, Security, and Troubleshooting — ประเด็นความปลอดภัยของการเปิดพอร์ต 502
  4. Industrial Monitor Direct — How to Send and Receive Modbus TCP Messages in PLCs — ตัวอย่างการเขียนคำสั่งอ่าน/เขียนข้ามอุปกรณ์
ติดต่อ VR Automation PLC LINGKONG รุ่นมีอีเทอร์เน็ต

สนใจสั่งซื้อ PLC LINGKONG LK3U / GT3U รุ่นมีอีเทอร์เน็ต?

VR Automation จำหน่ายและให้บริการติดตั้ง พร้อมทีมช่างผู้เชี่ยวชาญ

โทรสอบถามราคา: 083-848-8314

อีเมล: [email protected]

Line: @vrautomation

vrautomation.co.th

สต๊อกกรุณาสอบถาม | รับประกันสินค้า | บริการหลังการขาย | ออกใบกำกับภาษีได้

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *