编程示例 使用Python语言通过SDG X系列发生器LAN口配置基本波形
1、概述
本文展示了如何使用Python语言通过SDG X系列发生器LAN接口配置基本波形,代码见正文。
2、代码
点击如下链接可直接下载代码:
//www.siglentamerica.com/application-note/python-sdg-x-basics-lan/?pdf=7539
代码内容:
#!/usr/bin/env python 2.7.13
#-*- coding:utf-8 –*-
#—————————————————————————–
#这个短脚本是打开套接字,发送基本命令以设置波形类型、幅度和频率并关闭套接字的示例
#
#此软件的发明者对于此软件没有任何授权或者任何形式附带的的责任或者担保
#
#SIGLENT/JAC 11.2018
#
#—————————————————————————–
import socket # 嵌套字
import sys # 退出
import time # 暂停线程
#—————————————————————————–
remote_ip = “192.168.55.110” #应该与机器的IP地址相匹配
port = 5024 # 服务器的端口号
#端口5024适用于以下情况:
#SIGLENT SDS1202X-E, SDG2X Series, SDG6X Series
#SDM3055, SDM3045X, 和 SDM3065X
#
#端口5025适用于以下情况::
#SIGLENT SVA1000X series, SSA3000X Series,和 SPD3303X/XE
count = 0
def SocketConnect():
try:
#创建一个 AF_INET, STREAM socket (TCP)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error:
print (‘Failed to create socket.’)
sys.exit();
try:
#连接到远程服务器
s.connect((remote_ip , port))
except socket.error:
print (‘failed to connect to ip ‘ + remote_ip)
return s
def SocketSend(Sock, cmd):
try :
#发送命令字符串
Sock.sendall(cmd)
Sock.sendall(b’\n’)
time.sleep(1)
except socket.error:
#发送失败
print (‘Send failed’)
sys.exit()
#回应 = Sock.recv(4096)
#回复
def SocketClose(Sock):
#关闭字符串
Sock.close()
time.sleep(1)
def main():
global remote_ip
global port
global count
#主体:发送SCPI命令并打印返回消息
s = SocketConnect()
qStr = SocketSend(s, b’*RST’) #Reset to factory defaults
time.sleep(1)
qStr = SocketSend(s, b’C1:BSWV WVTP,SQUARE’) #Set CH1 Wavetype to Square
qStr = SocketSend(s, b’C1:BSWV FRQ,1000′) #Set CH1 Frequency
qStr = SocketSend(s, b’C1:BSWV AMP,1′) #Set CH1 amplitude
SocketClose(s) #关闭字符串
print(‘Query complete. Exiting program’)
sys.exit
if __name__ == ‘__main__’:
proc = main()
本文展示了如何使用Python语言通过SDG X系列发生器LAN接口配置基本波形,代码见正文。
2、代码
点击如下链接可直接下载代码:
//www.siglentamerica.com/application-note/python-sdg-x-basics-lan/?pdf=7539
代码内容:
#!/usr/bin/env python 2.7.13
#-*- coding:utf-8 –*-
#—————————————————————————–
#这个短脚本是打开套接字,发送基本命令以设置波形类型、幅度和频率并关闭套接字的示例
#
#此软件的发明者对于此软件没有任何授权或者任何形式附带的的责任或者担保
#
#SIGLENT/JAC 11.2018
#
#—————————————————————————–
import socket # 嵌套字
import sys # 退出
import time # 暂停线程
#—————————————————————————–
remote_ip = “192.168.55.110” #应该与机器的IP地址相匹配
port = 5024 # 服务器的端口号
#端口5024适用于以下情况:
#SIGLENT SDS1202X-E, SDG2X Series, SDG6X Series
#SDM3055, SDM3045X, 和 SDM3065X
#
#端口5025适用于以下情况::
#SIGLENT SVA1000X series, SSA3000X Series,和 SPD3303X/XE
count = 0
def SocketConnect():
try:
#创建一个 AF_INET, STREAM socket (TCP)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error:
print (‘Failed to create socket.’)
sys.exit();
try:
#连接到远程服务器
s.connect((remote_ip , port))
except socket.error:
print (‘failed to connect to ip ‘ + remote_ip)
return s
def SocketSend(Sock, cmd):
try :
#发送命令字符串
Sock.sendall(cmd)
Sock.sendall(b’\n’)
time.sleep(1)
except socket.error:
#发送失败
print (‘Send failed’)
sys.exit()
#回应 = Sock.recv(4096)
#回复
def SocketClose(Sock):
#关闭字符串
Sock.close()
time.sleep(1)
def main():
global remote_ip
global port
global count
#主体:发送SCPI命令并打印返回消息
s = SocketConnect()
qStr = SocketSend(s, b’*RST’) #Reset to factory defaults
time.sleep(1)
qStr = SocketSend(s, b’C1:BSWV WVTP,SQUARE’) #Set CH1 Wavetype to Square
qStr = SocketSend(s, b’C1:BSWV FRQ,1000′) #Set CH1 Frequency
qStr = SocketSend(s, b’C1:BSWV AMP,1′) #Set CH1 amplitude
SocketClose(s) #关闭字符串
print(‘Query complete. Exiting program’)
sys.exit
if __name__ == ‘__main__’:
proc = main()