การใช้งาน SCPI กับอุปกรณ์ EXFO: คู่มือฉบับใช้งานจริง

ในยุคที่โลกของการทดสอบเครือข่ายโทรคมนาคม ดาต้าคอม และโครงข่ายไฟเบอร์เปลี่ยนแปลงอย่างรวดเร็ว การทำระบบอัตโนมัติไม่ใช่เรื่องฟุ่มเฟือยอีกต่อไป แต่เป็นสิ่งจำเป็น หากคุณใช้อุปกรณ์ EXFO เช่น NetBlazer, Power Blazer หรือ iOLM การเข้าใจ SCPI (Standard Commands for Programmable Instruments) จะช่วยให้คุณประหยัดเวลาและสร้างเวิร์กโฟลว์ที่มีประสิทธิภาพได้อย่างมาก

ในบทความนี้ เราจะพูดถึง:

  • SCPI คืออะไร
  • อุปกรณ์ EXFO ใช้ SCPI อย่างไร
  • คำสั่ง SCPI สำคัญสำหรับ EXFO
  • ตัวอย่างการเขียน Python script สำหรับควบคุมการทดสอบ

🌟 SCPI คืออะไร?

SCPI (อ่านว่า "สคิปปี้") คือภาษามาตรฐานสำหรับควบคุมเครื่องมือวัดและทดสอบผ่านคอมพิวเตอร์ โดยใช้คำสั่งที่เป็นข้อความซึ่งมนุษย์สามารถอ่านได้ ตัวอย่างเช่น:

  • ตั้งค่าการทดสอบ
  • สั่งเริ่มหรือหยุดการวัด
  • ดึงผลการทดสอบ
  • ตรวจสอบสถานะหรือข้อผิดพลาดของอุปกรณ์

หากคุณเคยใช้คำสั่ง *IDN? เพื่อดูข้อมูลอุปกรณ์ แสดงว่าคุณเคยใช้ SCPI แล้ว!


📊 อุปกรณ์ EXFO กับการควบคุมด้วย SCPI

อุปกรณ์ EXFO เช่น FTB-1 Pro, FTB-2 Pro และ FTB-4 Pro รวมถึงโมดูลแบบเสียบเช่น FTBx-88480 (Power Blazer) และ FTBx-8880 (NetBlazer) สามารถควบคุมด้วย SCPI ผ่าน TCP/IP หรือ Telnet ได้

โมดูลแต่ละตัวจะมีชื่อเรียกทางตรรกะเป็น LINSx (เช่น LINS0, LINS2) เพื่อใช้ในการอ้างอิงและส่งคำสั่ง SCPI

ก่อนส่งคำสั่งใด ๆ ควร:

  1. ตรวจสอบโมดูลที่มีอยู่ด้วย STATUS MODULE
  2. เชื่อมต่อกับโมดูลที่ต้องการใช้ด้วย CONNECT LINSx

🌐 คำสั่ง SCPI พื้นฐานสำหรับ EXFO

คำสั่ง คำอธิบาย
*IDN? ตรวจสอบชื่อและข้อมูลของอุปกรณ์
*RST รีเซ็ตโมดูลกลับสู่ค่าโรงงาน
*CLS ล้างคิวสถานะและข้อผิดพลาด
STATUS MODULE แสดงโมดูลที่เชื่อมต่อทั้งหมดพร้อม LINS ID
CONNECT LINSx เชื่อมต่อกับโมดูลเฉพาะ
LINSx:SOUR:DATA:TELecom:TEST:TYPE RFC2544 ตั้งค่าประเภทการทดสอบ (RFC2544)
LINSx:SOUR:DATA:TELecom:TEST เริ่มทดสอบ
LINSx:SOUR:DATA:TELecom:TEST:STOP หยุดการทดสอบ
FETCh:DATA:TELecom:RFC2544:SUMMary? ดึงผลการทดสอบแบบสรุป

🚀 ตัวอย่างการควบคุม EXFO ด้วย Python

สามารถควบคุมอุปกรณ์ EXFO ได้อย่างง่ายดายผ่าน TCP socket เช่น:

import socket

def send_scpi_command(command):
    ip = "192.168.1.100"
    port = 5025
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.connect((ip, port))
        s.sendall((command + "\r\n").encode())
        response = s.recv(4096).decode()
        return response.strip()

# การใช้งาน
print(send_scpi_command("*IDN?"))
print(send_scpi_command("STATUS MODULE"))

สำหรับใช้งานจริง ควรเพิ่มการจัดการ timeout และ error handling ด้วย


🎓 เคล็ดลับในการใช้ SCPI กับ EXFO

  • ใช้ STATUS MODULE เพื่อตรวจสอบว่ามีโมดูลใดเชื่อมต่ออยู่
  • ใช้ *CLS ล้างสถานะก่อนเริ่มการทดสอบใหม่
  • ใช้ LINSx:SOUR:DATA:TELecom:TEST? เพื่อตรวจสอบสถานะของการทดสอบก่อนดึงผล
  • หากเจอข้อความ "Index out of bounds" แสดงว่าอาจเรียกใช้โมดูลที่ไม่มีอยู่หรือยังไม่ได้เริ่มการทดสอบ

🌍 สรุป

การควบคุมอุปกรณ์ EXFO ด้วย SCPI ช่วยให้คุณสามารถสร้างระบบอัตโนมัติที่ทรงพลังสำหรับการทดสอบเครือข่าย Metro Ethernet, เครือข่ายมือถือ หรือศูนย์ข้อมูลไฟเบอร์ได้อย่างมีประสิทธิภาพ

เพียงไม่กี่คำสั่ง SCPI คุณสามารถควบคุมกระบวนการทดสอบทั้งหมดได้อย่างมืออาชีพ

รอติดตามตอนถัดไป เราจะสร้าง Python SCPI Test Controller สำหรับ EXFO แบบเต็มรูปแบบ!


ขอให้สนุกกับการทดสอบนะครับ! 🚀

Related Posts

Articles

Our Products


Related Posts

Articles

Our Products


Get in Touch with us

Speak to Us or Whatsapp(+66) 83001 0222

Chat with Us on LINEiiitum1984

Our HeadquartersChanthaburi, Thailand