from tkinter import *
import tkinter.filedialog
import linecache
import visa
from openpyxl import Workbook
from openpyxl import load_workbook
import os
visa_dll='c:/windows/system32/visa32.dll'
tcp_addr='TCPIP::192.168.2.111::INSTR'
rm=visa.ResourceManager(visa_dll)
tcp_inst=rm.open_resource(tcp_addr)
tcp_inst.write('DISPLAY:SCREENTEXT:LABEL1:STATE ON') #设置ScreenTestLabel1显示
root = Tk()
root.wm_attributes('-topmost',1) #窗口置顶
root.title('自动存图')
Label(root,text = '路径:').grid(row = 0,column = 0)
Label(root,text = "格式:").grid(row = 1,column = 0)
Label(root,text = '编号:').grid(row = 2,column = 0)
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
e1 = Entry(root,textvariable = v1)
e2 = Entry(root,textvariable = v2)
e3 = Entry(root,textvariable = v3)
e1.grid(row = 0,column = 1,padx = 10,pady =5)
e2.grid(row = 1,column = 1,padx = 10,pady =5)
e3.grid(row = 2,column = 1)
e1.insert(0,r'C:\Users\Tek_local_Admin\Desktop\ ')
def measure(xlpath,data_row,list):
xlpath=xlpath+'.xlsx'
if not os.path.exists(xlpath):
print ('Ture')
wb_measure=Workbook()
wb_measure.create_sheet('Data')
wb_measure.save(xlpath)
wb_measure=load_workbook(xlpath)
sheet=wb_measure['Data']
for i in range(1,5):
sheet.cell(row=data_row,column=i,value=list[i-1])
wb_measure.save(xlpath)
def sel_channel():
NONE
def view():
filename = tkinter.filedialog.askdirectory() #打开文件目录
e1.insert(0,filename+'\\')
def measurement():
NONE
Image_path=e1.get()
CSV_path=Image_path+'/Data/'
def Capture():
data_list=[]
the_line = linecache.getline(r'C:\Users\fanglei.chen\Desktop\数据\a.txt', 2*int(e3.get())) #逐行读取文本内容
img_path= 'EXPORT:FILENAME '+'"'+e1.get()+e2.get()+e3.get()+'"'
Tek_label= 'DISPLAY:SCREENTEXT:LABEL1:NAME '+ '"'+ the_line.strip() + '"'
root.attributes("-alpha",0) #窗口透明
# im = ImageGrab.grab() #全屏截图
img_path=img_path.strip()
print (img_path)
tcp_inst.write(img_path) #设置图片路径
print (Tek_label)
tcp_inst.write(Tek_label) #设置ScreenTest
tcp_inst.write('EXPORT START') #开始截图
# im.save(img_path)
root.attributes("-alpha",1)
print (the_line.replace("\n",""))
data_list.append(the_line.replace("\n",""))
data_list.append(tcp_inst.query('MEASUREMENT:MEAS1:MAXIMUM?').replace("\n",""))
data_list.append(tcp_inst.query('MEASUREMENT:MEAS2:MAXIMUM?').replace("\n",""))
data_list.append(tcp_inst.query('MEASUREMENT:MEAS3:MINIMUM?').replace("\n",""))
measure(e2.get(),int(e3.get()),data_list)
Button(root,text = '存图',width = 10,command = Capture).grid(row=3,column = 0,sticky = W,padx = 10,pady =5)
Button(root,text = "浏览",width = 3,command = view).grid(row=0,column = 2,sticky=E,padx = 3,pady = 5)
mainloop()
Tektronix示波器控制Python
4星 · 超过85%的资源 需积分: 50 4 浏览量
2019-01-13
20:39:18
上传
评论 7
收藏 1KB ZIP 举报
baiyyddd
- 粉丝: 4
- 资源: 3