October 30, 2025

การใช้โปรโตคอล gRPC ควบคุมเครื่องมือวัดของ NI และ Pickering แบบรีโมท

บ่อยครั้งที่เราจำเป็นต้องควบคุมเครื่องมือวัดในรูปแบบที่มีความซับซ้อนมากกว่าปกติ ซึ่งในหลาย ๆ กรณี ต้องใช้วิธีการที่ซ้บซ้อนเพื่อก้าวข้ามข้อจำกัดต่าง ๆ ยกตัวอย่างเช่น

  • ควบคุมเครื่องมือวัดตัวเดียวผ่านคลาวด์หลาย ๆ จุด
  • ควบคุมเครื่องมือวัดจากระยะทางไกล
  • ใช้งานซอฟต์แวร์หลาย ๆ ตัวในการควบคุมเครื่องมือวัด
  • ใช้งานเครื่องมือวัดที่อยู่ในหลายแชสซี

ที่ผ่านมา มีการเสนอแนะวิธีการมากมายหลายวิธีซึ่งแต่ละวิธีก็มีข้อดีข้อเสียแตกต่างกันไป เช่น

  • ใช้งาน remote panel ซึ่งวิธีการนี้ค่อนข้างมีข้อจำกัดในส่วนของซอฟต์แวร์
  • ใช้งาน MXI Express วิธีการนี้สามารถสื่อสารได้ระยะทางไกลสุด 100m โดยใช้การสื่อสารผ่านไฟเบอร์ออพติคส์แต่จำเป็นต้องใช้งานคอมพิวเตอร์ตั้งโต๊ะร่วมกับ PXI ทำให้มีค่าใช้จ่ายค่อนข้างสูงและติดตั้งค่อนข้างยุ่งยาก ข้อดีของวิธีนี้คือ สามารถส่งข้อมูลได้ด้วยแบนด์วิทสูงสุด
  • เขียนซอฟต์แวร์ให้ทำงานลักษณะ client-server ซึ่งเป็นวิธีการที่ใช้เวลาในการพัฒนานานแต่สามารถสร้างซอฟต์แวร์ได้ตรงตามที่เราต้องการ

จะเห็นได้ว่าวิธีการต่าง ๆ เหล่านี้มีค่าใช้จ่ายค่อนข้างสูงหรือต้องพัฒนาซอฟต์แวร์ขึ้นมาใหม่ จะมีวิธีไหนที่เราสามารถดัดแปลงซอฟต์แวร์ที่มีอยู่แล้วให้สามารถควบคุมผ่านเครือข่ายได้โดยใช้เวลาในการเปลี่ยนแปลงและมีค่าใช้จ่ายน้อยที่สุด?  ปัจจุบัน ฮาร์ดแวร์ของ NI และ Pickering มีการรองรับ gRPC (g Remote Procedure Call) ทำให้สามารถรองรับการสั่งงานผ่านเครือข่ายได้ สำหรับ NI ไดรเวอร์ของฮาร์ดแวร์ที่รองรับ gRPC มีดังต่อไปนี้

  • FPGA Interface: 2024 Q2
  • NI-DAQmx: 2023 Q1
  • NI-DCPower: 2023 Q1
  • NI-Digital Pattern Driver: 2023 Q1
  • NI-DMM: 2025 Q4
  • NI-FGEN: 2023 Q1
  • NI-RFmx Bluetooth: 2025 Q4
  • NI-RFmx CDMA2k: 2025 Q1
  • NI-RFmx Demod: 2025 Q1
  • NI-RFmx GSM: 2025 Q1
  • NI-RFmx LTE: 2025 Q1
  • NI-RFmx Pulse: 2025 Q1
  • NI-RFmx NR: 2025 Q2
  • NI-RFmx SpecAn: 2025 Q4
  • NI-RFmx TD-SCDMA: 2025 Q1
  • NI-RFmx VNA: 2025 Q4
  • NI-RFmx WCDMA: 2025 Q1
  • NI-RFmx WLAN: 2025 Q4
  • NI-RFSA: 21.0.0
  • NI-RFSG: 2025 Q3
  • NI-SCOPE: 2023 Q2
  • NI-SWITCH: 2023 Q1
  • NI-TClk: 2023 Q1
  • NI-VISA: 2024 Q1
  • NI-XNET: 21.5.0

โดยในการใช้งานนั้น ฝั่งเซิร์ฟเวอร์ (ฝั่งที่มีเครื่องมือวัด) จะต้องทำการติดตั้งเซิร์ฟเวอร์ gPRC และตั้งค่าเครื่องมือวัดใน NI MAX ให้เรียบร้อยเสียก่อน หลังจากนั้นจึงสั่งให้เซิร์ฟเวอร์เริ่มทำงาน สำหรับรายละเอียดเกี่ยวกับเซิร์ฟเวอร์ gPRC ของ NI สามารถอ้างอิงได้จาก NI gRPC GitHub

สำหรับฝั่งไคลเอ้น (ฝั่งที่ใช้งานซอฟต์แวร์ควบคุมเครื่องมือวัด) ในการใช้งานร่วมกับ LabVIEW ต้องเลือกติดตั้ง Runtime for LabVIEW Measurement Plug-In Support package สำหรับไดรเวอร์เครื่องมือวัดแต่ละตัวและเรียกใช้ Initialize With Independent Channels for gRPC session.vi เมื่อเริ่ม initiate เครื่องมือวัดและใช้ Detach gRPC session.vi เมื่อเลิกติดต่อกับเครื่องมือวัด

สำหรับ Python เราต้องทำการติดตั้ง ni-gprc-device-client แล้วสร้างไฟล์ proto ดังแสดงในวิดีโอนี้ สุดท้ายในตอนเรียกใช้งาน เราต้องระบุข้อมูลเกี่ยวกับเซิร์ฟเวอร์ด้วย

สำหรับ Pickering การ์ด PXI ของ Pickering ทุกตัวที่ถูกติดตั้งไว้ในแชสซี PXI และควบคุมด้วยไดรเวอร์ Pickering PXI Direct IO จะรองรับการควบคุมด้วยผ่านโปรโตคอล gRPC โดยในการใช้งานต้องติดตั้ง Pickering Remote Gateway ซึ่งรองรับทั้ง Windows และ Linux เสียก่อน สำหรับรายละเอียดเกี่ยวกับ Pickering Remote Gateway สามารถอ้างอิงได้จาก How to Control Pickering PXI/PXIe Modules Remotely using gRPC

สำหรับฝั่งไคลเอ้น เราสามารถใช้งานภาษาใด ๆ ก็ได้ที่รองรับ gRPC ได้แก่ LabVIEW, C#, C++, Dart, Go, Java, Kotlin, Node.js, Objective-C, PHP, Python, Ruby และ Swift โดยตัวอย่างสำหรับ LabVIEW, C#, C++ และ Python จะถูกติดตั้งพร้อมกับ Pickering Remote Gateway

หวังว่าบทความนี้จะช่วยให้ท่านสามารถใช้เครื่องมือวัดของ NI และ Pickering ผ่านเครือข่ายด้วยโปรโตคอล gRPC ได้อย่างมีประสิทธิภาพ ท่านสามารถติดต่อทีมงาน ติดต่อ ทีมงาน เทคสแควร์ เพื่อรับทราบข้อมูลเพิ่มเติมเกี่ยวกับโซลูชั่นและการใช้งานเครื่องมือวัดของ NI ได้ครับ

บทความที่เกี่ยวข้อง

PXI คือ อะไร?

How to use gRPC with NI Software and Hardware

How to Use PXI Modules through gRPC from LabVIEW on a PC Connected via LAN

NI gRPC GitHub

Remote Test System Control: How gRPC Transforms PXI Flexibility

Tagged on: , , , , 
error: Content is protected...