add new window
This commit is contained in:
parent
bf75188f82
commit
6846b95748
@ -17,6 +17,8 @@ from Abstract_window import AbstractWindow
|
||||
from Main_experiment_window import (MainExperimentDataWindow,
|
||||
MainExperimentChartWindow)
|
||||
from GraduationWindow import GraduationWindow
|
||||
from SignWindow import SignWindow
|
||||
from ResistanceWindow import ResistanceWindow
|
||||
|
||||
|
||||
class Start:
|
||||
@ -28,7 +30,11 @@ class Start:
|
||||
else:
|
||||
self.app = QApplication.instance()
|
||||
self.window = StartWindow(self)
|
||||
|
||||
# self.add_ser()
|
||||
# self.parent.amp_name= os.path.join('/dev', 'usbtmc1')
|
||||
# self.volt_name = os.path.join('/dev', 'usbtmc0')
|
||||
|
||||
self.draw()
|
||||
self.app.exec()
|
||||
|
||||
@ -51,6 +57,9 @@ class Start:
|
||||
if self.number == 30:
|
||||
self.window.close()
|
||||
self.window = SignWindow(self)
|
||||
if self.number == 40:
|
||||
self.window.close()
|
||||
self.window = ResistanceWindow(self)
|
||||
self.draw()
|
||||
|
||||
def add_ser(self):
|
||||
@ -89,6 +98,11 @@ class StartWindow(AbstractWindow):
|
||||
if not self.parent.foldername:
|
||||
self.sign.setEnabled(False)
|
||||
|
||||
self.res = QPushButton('Удельная проводимость')
|
||||
self.res.clicked.connect(self.res_click)
|
||||
if not self.parent.foldername:
|
||||
self.res.setEnabled(False)
|
||||
|
||||
self.main = QPushButton('Основной эксперимент')
|
||||
self.main.clicked.connect(self.main_click)
|
||||
if not self.parent.foldername:
|
||||
@ -101,6 +115,7 @@ class StartWindow(AbstractWindow):
|
||||
self.hbox_layout.addWidget(self.lineEdit, 1, 0, 1, 2)
|
||||
self.hbox_layout.addWidget(self.flow, 2, 0)
|
||||
self.hbox_layout.addWidget(self.sign, 3, 0)
|
||||
self.hbox_layout.addWidget(self.res, 3, 1)
|
||||
self.hbox_layout.addWidget(self.main, 2, 1)
|
||||
|
||||
def flow_click(self):
|
||||
@ -111,6 +126,10 @@ class StartWindow(AbstractWindow):
|
||||
self.parent.number = 20
|
||||
self.parent.change_number()
|
||||
|
||||
def res_click(self):
|
||||
self.parent.number = 40
|
||||
self.parent.change_number()
|
||||
|
||||
def sign_click(self):
|
||||
self.parent.number = 30
|
||||
self.parent.change_number()
|
||||
@ -125,70 +144,10 @@ class StartWindow(AbstractWindow):
|
||||
self.flow.setEnabled(True)
|
||||
self.main.setEnabled(True)
|
||||
self.sign.setEnabled(True)
|
||||
self.res.setEnabled(True)
|
||||
self.lineEdit.setReadOnly(True)
|
||||
|
||||
class SignWindow(AbstractWindow):
|
||||
def __init__(self, parent):
|
||||
super().__init__()
|
||||
|
||||
self.setWindowTitle('Определение знака носителей')
|
||||
self.parent = parent
|
||||
|
||||
self.start = QPushButton('Старт')
|
||||
self.start.clicked.connect(self.start_clicked)
|
||||
self.start.setEnabled(True)
|
||||
|
||||
self.menu = QPushButton('Меню')
|
||||
self.menu.setEnabled(False)
|
||||
self.menu.clicked.connect(self.menu_clicked)
|
||||
|
||||
self.with_field = QLabel('С полем: ', self)
|
||||
self.without_field = QLabel('С полем: ', self)
|
||||
self.with_field_value = QLabel(self)
|
||||
self.without_field_value = QLabel(self)
|
||||
|
||||
self.centralwidget = QWidget()
|
||||
self.resize(1400, 800)
|
||||
self.setCentralWidget(self.centralwidget)
|
||||
self.grid_layout = QGridLayout(self.centralwidget)
|
||||
|
||||
self.grid_layout.addWidget(self.start, 0, 0, 1, -1)
|
||||
self.grid_layout.addWidget(self.with_field, 1, 0)
|
||||
self.grid_layout.addWidget(self.with_field_value, 1, 1)
|
||||
self.grid_layout.addWidget(self.without_field, 2, 0)
|
||||
self.grid_layout.addWidget(self.without_field_value, 2, 1)
|
||||
self.grid_layout.addWidget(self.menu, 3, 0, 1, -1)
|
||||
|
||||
def menu_clicked(self):
|
||||
self.parent.number = 0
|
||||
self.parent.change_number()
|
||||
|
||||
def start_clicked(self):
|
||||
self.start.setEnabled(False)
|
||||
with_field=10
|
||||
without_field=15
|
||||
# without_field, with_field = self.get_values()
|
||||
self.with_field_value.setText(str(with_field)+', mV')
|
||||
self.without_field_value.setText(str(without_field)+', mV')
|
||||
self.menu.setEnabled(True)
|
||||
|
||||
def measure(self, volt):
|
||||
msg = 'VOLTage '+str(volt)+'\n'
|
||||
self.parent.ser.write(msg.encode('ascii'))
|
||||
time.sleep(1)
|
||||
volt_name = os.path.join('/dev', 'usbtmc0')
|
||||
f_volt = open(volt_name, 'w')
|
||||
f_volt.write('Measure:Voltage:DC?\n')
|
||||
f_volt.close()
|
||||
f_volt = open(volt_name, 'r')
|
||||
v = '{:.9f}'.format(float(f_volt.read(15))*10**3)
|
||||
f_volt.close()
|
||||
return v
|
||||
|
||||
def get_values(self):
|
||||
without_field = self.measure(0)
|
||||
with_field = self.measure(10)
|
||||
return without_field, with_field
|
||||
|
||||
|
||||
|
||||
|
@ -170,20 +170,18 @@ class MainExperimentDataWindow(AbstractWindow):
|
||||
I_M = self.parent.ser.read(bytesToRead)
|
||||
self.volt += 5
|
||||
|
||||
volt_name = os.path.join('/dev', 'usbtmc0')
|
||||
f_volt = open(volt_name, 'w')
|
||||
f_volt = open(self.parent.volt_name, 'w')
|
||||
f_volt.write('Measure:Voltage:DC?\n')
|
||||
f_volt.close()
|
||||
amp_name = os.path.join('/dev', 'usbtmc1')
|
||||
f_amp = open(amp_name, 'w')
|
||||
f_amp = open(self.parent.amp_name, 'w')
|
||||
f_amp.write('Measure:Current:DC?\n')
|
||||
f_amp.close()
|
||||
|
||||
f_volt = open(volt_name, 'r')
|
||||
f_volt = open(self.parent.volt_name, 'r')
|
||||
v = '{:.9f}'.format(float(f_volt.read(15))*10**3)
|
||||
if self.volt == 0:
|
||||
self.u_0 = v
|
||||
f_amp = open(amp_name, 'r')
|
||||
f_amp = open(self.parent.amp_name, 'r')
|
||||
a = '{:.9f}'.format(float(f_amp.read(15))*10**3)
|
||||
print(a)
|
||||
# protect of errors:
|
||||
|
95
Automation/ResistanceWindow.py
Normal file
95
Automation/ResistanceWindow.py
Normal file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Mon Nov 14 21:31:55 2022
|
||||
|
||||
@author: anna
|
||||
"""
|
||||
|
||||
from PyQt6.QtWidgets import (QPushButton,
|
||||
QWidget,
|
||||
QGridLayout,
|
||||
QLabel,
|
||||
QLineEdit
|
||||
)
|
||||
from Abstract_window import AbstractWindow
|
||||
|
||||
|
||||
class ResistanceWindow(AbstractWindow):
|
||||
def __init__(self, parent):
|
||||
super().__init__()
|
||||
|
||||
self.setWindowTitle('Определение удельной проводимости')
|
||||
self.parent = parent
|
||||
|
||||
self.start = QPushButton('Старт')
|
||||
self.start.clicked.connect(self.start_clicked)
|
||||
self.start.setEnabled(False)
|
||||
|
||||
self.menu = QPushButton('Меню')
|
||||
self.menu.setEnabled(False)
|
||||
self.menu.clicked.connect(self.menu_clicked)
|
||||
|
||||
self.current = QLabel('Ток через образец: ', self)
|
||||
self.voltage= QLabel('Напряжение на 3_5: ', self)
|
||||
self.current_value = QLabel(self)
|
||||
self.voltage_value = QLabel(self)
|
||||
|
||||
self.line_L = QLineEdit(placeholderText='Введите L_35, мм')
|
||||
self.line_L.returnPressed.connect(self.enter_L)
|
||||
|
||||
self.line_l = QLineEdit(placeholderText='Введите l, мм')
|
||||
self.line_l.returnPressed.connect(self.enter_l)
|
||||
|
||||
self.centralwidget = QWidget()
|
||||
self.resize(1400, 800)
|
||||
self.setCentralWidget(self.centralwidget)
|
||||
self.grid_layout = QGridLayout(self.centralwidget)
|
||||
|
||||
self.grid_layout.addWidget(self.line_L, 0, 0)
|
||||
self.grid_layout.addWidget(self.line_l, 0, 1)
|
||||
self.grid_layout.addWidget(self.start, 1, 0, 1, -1)
|
||||
self.grid_layout.addWidget(self.current, 2, 0)
|
||||
self.grid_layout.addWidget(self.current_value, 2, 1)
|
||||
self.grid_layout.addWidget(self.voltage, 3, 0)
|
||||
self.grid_layout.addWidget(self.voltage_value, 3, 1)
|
||||
self.grid_layout.addWidget(self.menu, 4, 0, 1, -1)
|
||||
|
||||
def menu_clicked(self):
|
||||
self.parent.number = 0
|
||||
self.parent.change_number()
|
||||
|
||||
def enter_L(self):
|
||||
self.parent.L=self.line_L.text()
|
||||
self.line_L.setReadOnly(True)
|
||||
|
||||
def enter_l(self):
|
||||
self.parent.L=self.line_l.text()
|
||||
self.start.setEnabled(True)
|
||||
self.line_l.setReadOnly(True)
|
||||
|
||||
def start_clicked(self):
|
||||
self.start.setEnabled(False)
|
||||
current=10
|
||||
voltage=15
|
||||
# voltage, current = self.measure()
|
||||
self.current_value.setText(str(current)+', mA')
|
||||
self.voltage_value.setText(str(voltage)+', mV')
|
||||
self.menu.setEnabled(True)
|
||||
|
||||
def measure(self):
|
||||
f_amp = open(self.parent.amp_name, 'w')
|
||||
f_amp.write('Measure:Current:DC?\n')
|
||||
f_amp.close()
|
||||
f_amp = open(self.parent.amp_name, 'r')
|
||||
a = '{:.9f}'.format(float(f_amp.read(15))*10**3)
|
||||
f_amp.close()
|
||||
|
||||
f_amp.close()
|
||||
f_volt = open(self.parent.volt_name, 'w')
|
||||
f_volt.write('Measure:Voltage:DC?\n')
|
||||
f_volt.close()
|
||||
f_volt = open(self.parent.volt_name, 'r')
|
||||
v = '{:.9f}'.format(float(f_volt.read(15))*10**3)
|
||||
f_volt.close()
|
||||
return v, a
|
78
Automation/SignWindow.py
Normal file
78
Automation/SignWindow.py
Normal file
@ -0,0 +1,78 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Mon Nov 14 21:00:36 2022
|
||||
|
||||
@author: anna
|
||||
"""
|
||||
import os
|
||||
import time
|
||||
from PyQt6.QtWidgets import (QPushButton,
|
||||
QWidget,
|
||||
QGridLayout,
|
||||
QLabel
|
||||
)
|
||||
from Abstract_window import AbstractWindow
|
||||
|
||||
|
||||
class SignWindow(AbstractWindow):
|
||||
def __init__(self, parent):
|
||||
super().__init__()
|
||||
|
||||
self.setWindowTitle('Определение знака носителей')
|
||||
self.parent = parent
|
||||
|
||||
self.start = QPushButton('Старт')
|
||||
self.start.clicked.connect(self.start_clicked)
|
||||
self.start.setEnabled(True)
|
||||
|
||||
self.menu = QPushButton('Меню')
|
||||
self.menu.setEnabled(False)
|
||||
self.menu.clicked.connect(self.menu_clicked)
|
||||
|
||||
self.with_field = QLabel('С полем: ', self)
|
||||
self.without_field = QLabel('С полем: ', self)
|
||||
self.with_field_value = QLabel(self)
|
||||
self.without_field_value = QLabel(self)
|
||||
|
||||
self.centralwidget = QWidget()
|
||||
self.resize(1400, 800)
|
||||
self.setCentralWidget(self.centralwidget)
|
||||
self.grid_layout = QGridLayout(self.centralwidget)
|
||||
|
||||
self.grid_layout.addWidget(self.start, 0, 0, 1, -1)
|
||||
self.grid_layout.addWidget(self.with_field, 1, 0)
|
||||
self.grid_layout.addWidget(self.with_field_value, 1, 1)
|
||||
self.grid_layout.addWidget(self.without_field, 2, 0)
|
||||
self.grid_layout.addWidget(self.without_field_value, 2, 1)
|
||||
self.grid_layout.addWidget(self.menu, 3, 0, 1, -1)
|
||||
|
||||
def menu_clicked(self):
|
||||
self.parent.number = 0
|
||||
self.parent.change_number()
|
||||
|
||||
def start_clicked(self):
|
||||
self.start.setEnabled(False)
|
||||
with_field=10
|
||||
without_field=15
|
||||
# without_field, with_field = self.get_values()
|
||||
self.with_field_value.setText(str(with_field)+', mV')
|
||||
self.without_field_value.setText(str(without_field)+', mV')
|
||||
self.menu.setEnabled(True)
|
||||
|
||||
def measure(self, volt):
|
||||
msg = 'VOLTage '+str(volt)+'\n'
|
||||
self.parent.ser.write(msg.encode('ascii'))
|
||||
time.sleep(1)
|
||||
f_volt = open(self.parent.volt_name, 'w')
|
||||
f_volt.write('Measure:Voltage:DC?\n')
|
||||
f_volt.close()
|
||||
f_volt = open(self.parent.volt_name, 'r')
|
||||
v = '{:.9f}'.format(float(f_volt.read(15))*10**3)
|
||||
f_volt.close()
|
||||
return v
|
||||
|
||||
def get_values(self):
|
||||
without_field = self.measure(0)
|
||||
with_field = self.measure(10)
|
||||
return without_field, with_field
|
Binary file not shown.
BIN
Automation/__pycache__/ResistanceWindow.cpython-39.pyc
Normal file
BIN
Automation/__pycache__/ResistanceWindow.cpython-39.pyc
Normal file
Binary file not shown.
BIN
Automation/__pycache__/SignWindow.cpython-39.pyc
Normal file
BIN
Automation/__pycache__/SignWindow.cpython-39.pyc
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user