สร้าง 5 ช่องซ็อกเก็ตบน MT200 ด้วยคำสั่ง SOCK/New: TCP Server, TCP Client, UDP, HTTP และ TELNETD | VR Automation

สร้าง 5 ช่องซ็อกเก็ตบน MT200 ด้วยคำสั่ง SOCK/New: TCP Server, TCP Client, UDP, HTTP และ TELNETD

วันที่ 19 สิงหาคม 2569 | คู่มือใช้งาน | VR Automation

สร้าง 5 ช่องซ็อกเก็ตบน MT200 ด้วยคำสั่ง SOCK/New: TCP Server, TCP Client, UDP, HTTP และ TELNETD

ข้อจำกัดคลาสสิกของอุปกรณ์แปลงพอร์ตอนุกรมรุ่นเก่าคือหนึ่งพอร์ตต่อได้ปลายทางเดียว พอโรงงานอยากให้ SCADA ในห้องคอนโทรล ระบบ MES และแดชบอร์ดบนคลาวด์เห็นข้อมูลชุดเดียวกันพร้อมกัน ก็ต้องซื้ออุปกรณ์เพิ่มหรือเขียนตัวกระจายข้อมูลเอง เกตเวย์ MT200 แก้ปัญหานี้ด้วยสถาปัตยกรรมหลายซ็อกเก็ต ที่ให้สร้างช่องสัญญาณอิสระได้สูงสุด 5 ช่อง แต่ละช่องเลือกโหมดสื่อสารของตัวเองได้ บทความนี้ไล่ทีละพารามิเตอร์ที่ต้องกรอกตอนสร้างช่อง พร้อมค่าเริ่มต้นและช่วงที่ตั้งได้จริงตามคู่มือผู้ผลิต

ทำความเข้าใจการไหลของข้อมูลก่อนตั้งค่า

โดยค่าเริ่มต้น เกตเวย์สร้างซ็อกเก็ตมาให้แล้วหนึ่งช่องชื่อ netp ซึ่งแก้ไขโหมดการทำงานได้ตามต้องการ เมื่อตั้งช่องนี้เป็น TCP Server จะรองรับไคลเอนต์ TCP เชื่อมต่อพร้อมกันได้สูงสุด 5 ตัว โดยการไหลของข้อมูลเป็นดังนี้

ขาอัปโหลด ข้อมูลจากทุกการเชื่อมต่อหรือทุกไคลเอนต์จะถูกส่งไปยังพอร์ตอนุกรมอย่างต่อเนื่อง ขาดาวน์โหลด ข้อมูลทั้งหมดจากพอร์ตอนุกรมจะถูกทำสำเนาและกระจายไปยังไคลเอนต์ TCP ทุกตัว นี่คือกลไกที่ทำให้ระบบหลายตัวเห็นข้อมูลชุดเดียวกันโดยไม่ต้องมีตัวกระจายเพิ่ม

การสร้างช่องเพิ่มทำได้ทั้งผ่านซอฟต์แวร์คอนฟิก ผ่านหน้าเว็บ (ชื่อผู้ใช้และรหัสผ่านเริ่มต้นคือ admin/admin) หรือผ่านคำสั่ง SOCK/New [name] โดยชื่อช่องยาวได้ 1–19 อักขระ

โหมดสื่อสารที่เลือกได้ทั้ง 6 แบบ

เมื่อรันคำสั่ง SOCK/New ระบบจะถามโหมดสื่อสารซึ่งเลือกได้จาก 6 ค่า

TCP-SERVER โหมดเซิร์ฟเวอร์ รองรับไคลเอนต์เข้ามาได้สูงสุด 5 ตัว เหมาะกับกรณีที่ระบบฝั่งบนเป็นฝ่ายเปิดการเชื่อมต่อเข้ามา

TCP-CLIENT โหมดไคลเอนต์ ใช้เชื่อมออกไปยังเซิร์ฟเวอร์ปลายทาง เหมาะกับการส่งข้อมูลขึ้นคลาวด์ผ่าน 4G ที่เกตเวย์ไม่มี IP สาธารณะ

UDP-SERVER เป็นฟังก์ชันพิเศษ คู่มือระบุว่าอุปกรณ์จะจดจำ IP และพอร์ตต้นทางของแพ็กเกต UDP ชุดล่าสุดที่รับมา แล้วส่งข้อมูลจากพอร์ตอนุกรมกลับไปยัง IP และพอร์ตที่จำไว้นั้น

UDP-CLIENT โหมดไคลเอนต์ UDP ทั่วไป เหมาะกับงานที่ต้องการความหน่วงต่ำและยอมรับการสูญหายของแพ็กเกตได้

HTTP ข้อมูลจากพอร์ตอนุกรมจะถูกเติมหัวโปรโตคอล HTTP อัตโนมัติ และข้อมูลที่รับกลับมาจะถูกตัดหัวออกก่อนส่งเข้าพอร์ตอนุกรม

TELNETD ใช้สำหรับตั้งค่าอุปกรณ์ที่มีพอร์ตคอนโซลแบบอนุกรมผ่านโปรโตคอล Telnet

พารามิเตอร์ ค่าเริ่มต้น ช่วงที่ตั้งได้ หมายเหตุจากคู่มือ
Local Port 0 (สุ่ม) 1–65535 พอร์ต 80 ถูกหน้าเว็บใช้แล้ว
Buffer size 512 ไบต์ 1–1400 ไบต์ ขนาดบัฟเฟอร์ของช่องซ็อกเก็ต
KeepAlive 60 วินาที >= 0 ใช้ตรวจจับการเชื่อมต่อผิดปกติ
Timeout 300 วินาที 0–600 วินาที 0 = ปิด แนะนำให้เปิดไว้
Sock Security Disable Disable / TLS / AES / DES3 TLS ใช้ได้เฉพาะโหมด TCP Client
Rout uart uart / ซ็อกเก็ตอื่น / log กำหนดปลายทางของข้อมูล
Connect Mode Always Always / Burst เฉพาะโหมด TCP Client
MaxAccept 5 หรือ 20 1–5 หรือ 1–20 แล้วแต่รุ่น ต้องรีสตาร์ต
ตารางสรุป socket channel sock new mt200
ค่าเริ่มต้นของช่องซ็อกเก็ต MT200 — ค่าอ้างอิงจากคู่มือผู้ผลิต
⚠️ ข้อควรระวัง: ถ้าตั้ง MaxAccept เป็น 1 คู่มือระบุพฤติกรรมไว้ชัดว่า เมื่อมีการเชื่อมต่อเข้ามาหลายรายต่อเนื่องกัน ข้อมูลของการเชื่อมต่อที่สองจะถูกส่งออกก็ต่อเมื่อการเชื่อมต่อแรกถูกตัดไปแล้วเท่านั้น จุดนี้ทำให้หลายคนเข้าใจผิดว่าอุปกรณ์ค้าง ทั้งที่จริงกำลังรอคิวอยู่ ถ้าต้องการให้หลายระบบอ่านพร้อมกัน ให้ตั้งค่านี้ให้มากกว่า 1 แล้วรีสตาร์ต

พารามิเตอร์สำคัญที่ต้องกรอกตอนสร้างช่อง

Local Port ตั้งพอร์ตท้องถิ่นในช่วง 1–65535 หรือใส่ 0 เพื่อสุ่ม คู่มือแนะนำว่าสำหรับงาน TCP Server หรือ UDP ควรตั้งพอร์ตคงที่ ส่วนงาน TCP Client มักตั้งเป็น 0 เพื่อใช้พอร์ตสุ่ม และเตือนไว้ว่า พอร์ต 80 ถูกหน้าเว็บใช้ไปแล้ว

Buffer size ค่าเริ่มต้น 512 ไบต์ ช่วง 1–1400 ไบต์

KeepAlive เวลาฮาร์ตบีตของ TCP ค่าเริ่มต้น 60 วินาที ตั้งได้ตั้งแต่ 0 ขึ้นไป กลไกนี้ทำให้เกตเวย์ตรวจพบว่าการเชื่อมต่อผิดปกติแล้วเชื่อมใหม่เมื่อทำงานเป็น TCP Client ส่วนเมื่อทำงานเป็น TCP Server จะคืนทรัพยากร TCP เพื่อรอการเชื่อมต่อครั้งถัดไป

Timeout ค่าเริ่มต้น 300 วินาที ช่วง 0–600 วินาที หมายถึงถ้าไม่ได้รับแพ็กเกตจากเน็ตเวิร์กภายในเวลานี้จะตัดการเชื่อมต่อ ถ้าเป็น TCP Client จะเชื่อมใหม่ทันที ถ้าเป็น TCP Server ไคลเอนต์ต้องเป็นฝ่ายเชื่อมเข้ามาใหม่ ตั้ง 0 เพื่อปิดฟังก์ชัน ซึ่งคู่มือแนะนำให้เปิดไว้เพราะช่วยกู้คืนการเชื่อมต่อที่ผิดปกติ

Rout กำหนดปลายทางของข้อมูลจากช่องนี้ ค่าเริ่มต้นคือพอร์ตอนุกรม (uart) แต่เลือกเป็นซ็อกเก็ตช่องอื่นที่สร้างไว้ หรือใช้ช่องนี้เป็นช่องพิมพ์ล็อกก็ได้

โหมด TCP Client มีพารามิเตอร์เพิ่มอีกชุด

เมื่อเลือก TCP-CLIENT จะมีรายการเพิ่มเข้ามา ได้แก่ Server Address ซึ่งใส่เป็น IPv4 หรือชื่อโดเมนก็ได้ และ Server Port

ที่สำคัญคือ Connect Mode ซึ่งมี 2 ค่า Always คือสร้างการเชื่อมต่อ TCP แบบยาวตลอดเวลา ถ้าขาดจะเชื่อมใหม่ทันที เหมาะกับงานที่เซิร์ฟเวอร์ต้องสั่งงานลงมาได้ตลอด และ Burst คือไม่สร้างการเชื่อมต่อไว้ก่อน จะเชื่อมต่อเมื่อพอร์ตอนุกรมมีข้อมูลเข้ามาเท่านั้น และถ้าตั้งอักขระหยุดไว้ เน็ตเวิร์กจะตัดการเชื่อมต่อหลังได้รับอักขระนั้น โหมดนี้เหมาะกับงานผ่านซิม 4G ที่ต้องประหยัดปริมาณข้อมูล

นอกจากนี้ยังตั้งฟังก์ชันฮาร์ตบีตได้ที่ SetHeartBeat ซึ่งค่าเริ่มต้นเป็น Disable และเนื้อหาฮาร์ตบีตเริ่มต้นคือ MAC address ของอุปกรณ์

เมื่อแก้ไขพารามิเตอร์ของซ็อกเก็ตเสร็จ ต้องรัน SOCK/netp/save ทุกครั้ง เพราะคู่มือระบุว่าถ้าไม่บันทึก พารามิเตอร์ที่แก้ไว้จะหายไปหลังรีสตาร์ต ส่วน SOCK/netp/MaxAccept ใช้ตั้งจำนวนไคลเอนต์ที่อนุญาตให้สื่อสาร ค่าเริ่มต้น 5 หรือ 20 แล้วแต่รุ่น และต้องรีสตาร์ตจึงจะมีผล

การนำไปใช้งานในอุตสาหกรรม

  • โรงงานที่มีทั้ง SCADA และแดชบอร์ดคลาวด์ — ตั้งช่องหนึ่งเป็น TCP Server ให้ SCADA ในวงแลนเชื่อมเข้ามา และอีกช่องเป็น TCP Client ยิงขึ้นคลาวด์ ใช้ข้อมูลจากพอร์ตอนุกรมชุดเดียวกัน
  • งานติดตั้งบนซิม 4G ที่ต้องคุมค่าใช้จ่ายดาต้า — ใช้ Connect Mode แบบ Burst เชื่อมต่อเฉพาะเมื่อมีข้อมูลจริง แล้วตัดการเชื่อมต่อด้วยอักขระหยุด
  • งานเซอร์วิสอุปกรณ์รุ่นเก่าที่มีพอร์ตคอนโซล — ตั้งช่องเป็น TELNETD แล้วเข้าไปตั้งค่าอุปกรณ์ลูกผ่านเน็ตเวิร์กโดยไม่ต้องหิ้วโน้ตบุ๊กไปต่อสายที่ตู้

ดูสินค้าในหมวดที่เกี่ยวข้องได้ที่ อุปกรณ์เครือข่ายอุตสาหกรรมและเซิร์ฟเวอร์พอร์ตอนุกรม หรือเลือกชมสินค้าทั้งหมดที่ ร้านค้า VR Automation

คำถามที่พบบ่อย (FAQ)

สร้างซ็อกเก็ตได้สูงสุดกี่ช่อง และแต่ละช่องใช้โหมดต่างกันได้หรือไม่

คู่มือระบุว่าอุปกรณ์อนุญาตให้สร้างได้สูงสุด 5 ซ็อกเก็ต และแต่ละช่องทำงานอิสระในโหมด TCP หรือ UDP หรือโหมดอื่นได้อย่างอิสระ ไม่จำเป็นต้องเหมือนกัน

ตั้งค่าซ็อกเก็ตแล้วรีสตาร์ต ค่าหายหมด เกิดจากอะไร

เกิดจากไม่ได้รันคำสั่ง save คู่มือระบุไว้ตรง ๆ ว่าคำสั่ง SOCK/netp/save ใช้บันทึกพารามิเตอร์ที่แก้ไข และถ้าไม่บันทึก พารามิเตอร์ที่แก้ไว้ก่อนหน้าจะไม่มีผลหลังรีสตาร์ต

Always กับ Burst ต่างกันอย่างไร ควรเลือกแบบไหน

Always สร้างการเชื่อมต่อ TCP แบบยาวไว้ตลอดและเชื่อมใหม่ทันทีเมื่อขาด เหมาะกับงานที่ต้องสั่งงานจากเซิร์ฟเวอร์ลงมาได้ตลอดเวลา ส่วน Burst จะไม่เชื่อมต่อจนกว่าพอร์ตอนุกรมจะมีข้อมูล เหมาะกับงานรายงานค่าเป็นช่วงบนเครือข่ายมือถือที่ต้องประหยัดดาต้า

สรุป

ความสามารถหลายซ็อกเก็ตคือสิ่งที่แยก MT200 ออกจากตัวแปลงพอร์ตอนุกรมทั่วไป จำตัวเลขหลักไว้สี่ตัวคือ 5 ช่องซ็อกเก็ต ไคลเอนต์ TCP Server สูงสุด 5 ตัว KeepAlive 60 วินาที และ Timeout 300 วินาที เลือกโหมดให้ตรงกับทิศทางการเชื่อมต่อ ใช้ Rout เพื่อกำหนดปลายทางของข้อมูล และอย่าลืมรัน save ทุกครั้งก่อนรีสตาร์ต เท่านี้ก็กระจายข้อมูลจากพอร์ตอนุกรมชุดเดียวไปยังหลายระบบพร้อมกันได้

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

  1. Catalog: Mortise and tenon series product software functions_20250312.pdf (75 หน้า) — VR Automation (เอกสารเทคนิคจากผู้ผลิต)
  2. Ebyte — Configuring a Serial Port Server for Multi-Host Modbus RTU Data Collection — บริบทการใช้หลายโฮสต์อ่านอุปกรณ์ RTU ตัวเดียวกันผ่านเซิร์ฟเวอร์พอร์ตอนุกรม
  3. Real Time Automation — What is Modbus TCP/IP? — อ้างอิงหลักการ Modbus TCP ที่ใช้กับช่องซ็อกเก็ตโหมดเซิร์ฟเวอร์
  4. Hi-Flying — MT200-T Edge Gateway — หน้าผลิตภัณฑ์ทางการที่ยืนยันความสามารถด้านเกตเวย์ขอบเครือข่าย
ติดต่อ VR Automation

สนใจ เกตเวย์ MT200 Hi-Flying?

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

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

อีเมล: [email protected]

Line: @vrautomation

vrautomation.co.th

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

ใส่ความเห็น

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