USR-N5X0 PUSR: Heartbeat, Registration Packet, Socket B และ RS485 Bus Detection | VR Automation

USR-N5X0 PUSR: Heartbeat, Registration Packet, Socket B และ RS485 Bus Detection ตั้งค่ายังไง

คู่มือใช้งาน (Tutorial) | อุปกรณ์เครือข่ายอุตสาหกรรม | VR Automation

ตัวแปลง RS485 เป็น Ethernet ตั้งค่า IP กับพอร์ตให้ถูกก็ใช้งานได้แล้ว แต่ระบบที่ต้องเดินต่อเนื่องเป็นเดือนโดยไม่มีคนไปกดรีเซ็ต ต้องใช้ฟีเจอร์ระดับลึกกว่านั้น บทความนี้อธิบายฟีเจอร์ขั้นสูงสี่ตัวของ USR-N5X0 ที่ตัดสินความเสถียรของระบบจริง อ้างอิงจาก USR-N5X0 Series Serial to Ethernet Device Server User Manual V1.0.0

0. รุ่นในซีรีส์ที่ต้องรู้ก่อน

รุ่น สเปค
USR-N510 RS232/485/422 1 พอร์ต แปลงเป็น Ethernet
USR-N510-4 RS485 1 พอร์ต แปลงเป็น Ethernet
USR-N520 RS232/485/422 2 พอร์ต
USR-N520-6 RS232/485 2 พอร์ต
USR-N540 RS232/485/422 4 พอร์ต
USR-N540-4 RS485 4 พอร์ต
USR-N580 RS485 8 พอร์ต

ที่มา: Table 1 USR-N5X0 series models — USR-N5X0 User Manual V1.0.0

ทุกรุ่นในตระกูลนี้ใช้แพลตฟอร์มซอฟต์แวร์เดียวกัน ต่างกันที่ฮาร์ดแวร์ที่มีให้เลือก ดังนั้นฟีเจอร์ที่อธิบายต่อไปนี้ใช้ได้กับทุกรุ่น

1. Packing Mechanism — กำหนดว่าเฟรมข้อมูลจบตรงไหน

อุปกรณ์ให้ตัวคั่นแพ็กเก็ตสองแบบ คือ Time Delimiter และ Maximum Bytes Delimiter โดยทั้งสองเงื่อนไขทำงานแบบ OR หมายความว่าถ้าเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง อุปกรณ์จะส่งข้อมูลในบัฟเฟอร์ออกสู่เครือข่ายทันที

ตัวคั่น ช่วงค่า / ค่าเริ่มต้น หมายเหตุ
Packet time สูงสุด 255 มิลลิวินาที ค่าเริ่มต้นคำนวณอัตโนมัติจาก baud rate และปิดใช้งานเป็นค่าเริ่มต้น
Packet length 1 ถึง 1460 ไบต์ ตั้งเป็น 0 หากไม่ต้องการจำกัดความยาว

ที่มา: หัวข้อ 7.1 Packing mechanism — USR-N5X0 User Manual V1.0.0

คู่มือให้สูตรคำนวณค่า interval timeout ที่เหมาะสมไว้ด้วย โดยยกตัวอย่างพอร์ตอนุกรมที่ตั้ง 1200bps, ข้อมูล 8 บิต, stop bit 1 และไม่มี parity จะใช้บิตทั้งหมด 10 บิตต่อหนึ่งอักขระ (รวม start bit) เวลาที่ใช้ส่งหนึ่งอักขระจึงเท่ากับ (10 บิต / 1200 บิตต่อวินาที) × 1000 = 8.3 มิลลิวินาที ดังนั้นต้องตั้ง interval timeout ให้มากกว่า 8.3 ms ปัดขึ้นเป็น 9 ms

💡 Pro Tip: อย่าตั้ง interval timeout ต่ำกว่าเวลาที่ใช้ส่งหนึ่งอักขระเด็ดขาด เพราะอุปกรณ์จะตัดเฟรมกลางคันแล้วส่งข้อมูลที่ยังไม่ครบออกไป ทำให้ฝั่งรับได้ข้อความ Modbus ที่ CRC ไม่ผ่านตลอด ให้คำนวณจากสูตรในคู่มือแล้วปัดขึ้นเสมอ

2. Heartbeat Packet — สัญญาณชีพที่ส่งเฉพาะตอนเงียบ

จุดที่ต้องเข้าใจให้ถูกคือ คู่มือระบุชัดว่า heartbeat packet จะทำงานเฉพาะเมื่อไม่มีการรับส่งข้อมูลในทิศทางที่ตั้งค่าไว้ คือไม่มีข้อมูลเข้ามาจากพอร์ตอนุกรมหรือจากอินเทอร์เน็ตในช่วงเวลาที่กำหนด อุปกรณ์รองรับทั้ง serial heartbeat packet และ network heartbeat packet

สำหรับการใช้งานจริง network heartbeat มีประโยชน์มากกับการเชื่อมต่อผ่าน 4G หรือผ่าน NAT เพราะช่วยไม่ให้เส้นทางถูกตัดทิ้งเมื่อเงียบนานเกินไป ส่วน serial heartbeat มักใช้เพื่อกระตุ้นให้อุปกรณ์ปลายทางตอบสนอง

3. Registration Packet — ระบุตัวตนอุปกรณ์ให้เซิร์ฟเวอร์

ฟีเจอร์นี้มีข้อจำกัดที่ต้องรู้ คือใช้ได้เฉพาะเมื่อโหมดทำงานเป็น UDP และ TCP Client เท่านั้น เนื้อหาของ registration packet ยาวได้สูงสุด 40 ไบต์ และผู้ใช้เลือกแสดงผลได้ทั้งรูปแบบเลขฐานสิบหกหรือ ASCII

วิธีส่งมีสองแบบให้เลือก

  • Once connected — ส่ง registration packet เพียงครั้งเดียวตอนที่การเชื่อมต่อเครือข่ายถูกสร้างขึ้น
  • Prefix of DATA — เติม registration packet ไว้ด้านหน้าข้อมูลอนุกรมทุกครั้งที่ส่งข้อมูลออกสู่เครือข่าย
⚠️ ข้อควรระวัง: เลือกโหมด Prefix of DATA ด้วยความระมัดระวัง เพราะข้อมูลที่ถูกเติมด้านหน้าจะกลายเป็นส่วนหนึ่งของสตรีมที่ฝั่งเซิร์ฟเวอร์ได้รับ ถ้าเซิร์ฟเวอร์ไม่ได้ออกแบบมาให้ถอดส่วนนี้ออก ข้อความ Modbus จะเพี้ยนทันที สำหรับงานที่ส่งข้อมูลไบนารีควรเลือกโหมด Once connected แทน

4. Socket B — ส่งข้อมูลชุดเดียวไปสองปลายทาง

Socket B รองรับเฉพาะโหมด TCP Client และ UDP Client โดยใช้ registration packet และ heartbeat packet ร่วมกับ Socket A เมื่อ Socket B เริ่มการเชื่อมต่อ จะใช้หมายเลขพอร์ตภายในแบบสุ่มในการเชื่อมไปยังเซิร์ฟเวอร์ปลายทาง

ประโยชน์ในทางปฏิบัติคือ ส่งข้อมูลชุดเดียวกันขึ้นทั้งเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์สำรอง หรือขึ้นทั้งระบบ SCADA ภายในและแพลตฟอร์มคลาวด์ ได้พร้อมกันโดยไม่ต้องเพิ่มฮาร์ดแวร์

5. RS485 Bus Detection — กันสัญญาณชนบนบัส

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

พารามิเตอร์ รายละเอียด
Idle time ช่วงเวลาที่อนุญาตให้ N5X0 ส่งข้อมูลออกบัส RS485 หลังจากตัวรับอยู่ในสถานะว่าง
ช่วงค่า 0 ถึง 65535 มิลลิวินาที
ค่าเริ่มต้น 10 มิลลิวินาที
สถานะ เป็นพารามิเตอร์บังคับ (mandatory)

ที่มา: หัวข้อ 7.5 Rs485 bus detection — USR-N5X0 User Manual V1.0.0

6. ข้อจำกัดของ Modbus Gateway ที่ควรออกแบบเผื่อไว้

เมื่อใช้อุปกรณ์เป็นเกตเวย์ Modbus คู่มือระบุตัวเลขสำคัญไว้หลายตัว

  • ในโหมด TCP Server รองรับ Modbus TCP ได้สูงสุด 16 การเชื่อมต่อพร้อมกัน
  • พอร์ตอนุกรมแต่ละพอร์ตต่ออุปกรณ์ RS232 หรือ RS422 ได้หนึ่งตัว หรือต่ออุปกรณ์ RS485 ได้ 32 ตัว
  • เมื่อเดินสาย Modbus แบบอนุกรม มีข้อจำกัดที่ 32 อุปกรณ์ต่อหนึ่งเครือข่าย โดยตัวอุปกรณ์ master นับรวมเป็นหนึ่งที่อยู่ด้วย
  • ความยาวสูงสุดของเครือข่ายอนุกรม ไม่เกิน 1200 เมตร ไม่ว่าจะใช้บูสเตอร์หรือตัวทวนสัญญาณก็ตาม
  • การเดินสาย RS485 ควรต่อแบบ daisy chain และแนะนำให้ใช้สายคู่บิดเกลียวคู่ (dual twisted pair) โดยรักษาขั้วให้ตรงกันตลอดเครือข่าย บวกต่อบวก ลบต่อลบ (บางครั้งกำกับเป็น A และ B)

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

พารามิเตอร์ขั้นสูงของ USR-N5X0 USR-N5X0 PUSR

สรุป

สี่ฟีเจอร์นี้คือส่วนต่างระหว่าง “ใช้งานได้” กับ “ใช้งานได้ยาว ๆ โดยไม่ต้องไปดูแล” ตั้ง packing ให้ถูกตามสูตรคำนวณเพื่อไม่ให้เฟรมขาด เปิด heartbeat เพื่อคงการเชื่อมต่อผ่าน 4G ใช้ registration packet ระบุตัวตนเมื่อมีอุปกรณ์หลายตัวรายงานเข้าที่เดียวกัน และอย่าลืมว่า RS485 bus detection เป็นพารามิเตอร์บังคับที่มีค่าเริ่มต้น 10 มิลลิวินาที ซึ่งอาจต้องปรับเพิ่มเมื่อบัสยาวหรือมีอุปกรณ์เยอะ

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

Registration packet ใช้ได้กับทุกโหมดหรือไม่?

ไม่ได้ คู่มือระบุชัดว่าฟังก์ชันนี้อนุญาตเฉพาะเมื่อโหมดทำงานเป็น UDP และ TCP Client เท่านั้น โดยเนื้อหายาวได้สูงสุด 40 ไบต์ และเลือกแสดงเป็นเลขฐานสิบหกหรือ ASCII ได้

Socket B ต่างจาก Socket A อย่างไร?

Socket B รองรับเฉพาะโหมด TCP Client และ UDP Client ใช้ registration packet และ heartbeat packet ร่วมกับ Socket A และเมื่อเริ่มการเชื่อมต่อจะใช้หมายเลขพอร์ตภายในแบบสุ่ม เหมาะสำหรับส่งข้อมูลไปยังปลายทางที่สองพร้อมกัน

ต่ออุปกรณ์ RS485 ได้กี่ตัวต่อหนึ่งพอร์ต และเดินสายได้ไกลแค่ไหน?

คู่มือระบุว่าพอร์ตอนุกรมแต่ละพอร์ตต่ออุปกรณ์ RS485 ได้ 32 ตัว โดยความยาวสูงสุดของเครือข่ายอนุกรมไม่เกิน 1200 เมตร ไม่ว่าจะใช้บูสเตอร์หรือรีพีตเตอร์ก็ตาม และควรเดินสายแบบ daisy chain ด้วยสายคู่บิดเกลียว

สั่งซื้อ USR-N5X0 PUSR VR Automation

สนใจสั่งซื้อ USR-N5X0 Series PUSR?

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

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

อีเมล: [email protected]

Line: @vrautomation

vrautomation.co.th

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

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

  1. Catalog: USR-N5X0.pdf — USR-N5X0 Series Serial to Ethernet Device Server User Manual V1.0.0 — VR Automation (เอกสารเทคนิคจากผู้ผลิต Jinan USR IOT Technology)
  2. PUSR — USR-N520 User Manual — อ้างอิงรายละเอียด heartbeat packet, registration packet และโครงสร้าง Socket A/B
  3. PUSR — USR-N510 RS485 Modbus Gateway — อ้างอิงสเปคผลิตภัณฑ์และความสามารถของเกตเวย์ Modbus จากผู้ผลิต
  4. PUSR — Configuration Guide for RS485 to Ethernet Converter — อ้างอิงแนวทางตั้งค่า heartbeat และสถานการณ์การใช้งานจริง

ใส่ความเห็น

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