ich habe ein Pythonprogramm (Regler.py) erstellt, dem ich jetzt über eine Oberfläche Sollwerte zur Initialisierung geben möchte und die laufenden Istwerte anzeigen will, dazu habe ich mit dem Qt-Designer mir die Oberfläche erstellt und compiliert (Stufensteuerung).
Ich möchte das Reglerprogramm jetzt in die Stufensteuerung einbinden und scheitere daran. Könnt ihr mir weiterhelfen?
Regler.py
Code: Alles auswählen
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue May 5 04:07:56 2020
@author: pi
"""
import time
def Temperatur():
file = open('/mnt/1wire/10.D0DAB4020800/temperature','r')
Temp_ist = file.read()
file.close()
T=float(Temp_ist)
print(T)
return (T)
def Relais1(R1_EA):
file = open('/mnt/1wire/29.85610C000000/PIO.0','w')
file.write(R1_EA)
file.close()
def Stufe(Gw,Zt,S):
GwT=Gw
Zw=Zt
T=Temperatur()
Lt=Zt
while T < GwT:
Ein="1"
Relais1(Ein)
T=Temperatur()
print(T,Lt,Ein,S)
#return (T,Lt)
else:
start = time.time()
stop = start + Zw*60
T=Temperatur()
#print(T,Lt,Ein)
#return (T,Lt)
while time.time() < stop:
Lt = stop-time.time()
T=Temperatur()
print(T,Lt,Ein,S)
#return (T,Lt)
if T < GwT:
Ein="1"
Relais1(Ein)
print(T,Lt,Ein,S)
#return (T,Lt)
else:
T=Temperatur()
Ein = "0"
Relais1(Ein)
print(T,Lt,Ein,S)
#return (T,Lt)
b=S+1
print(T,Lt,Ein,S)
return(b,T)
#Initwerte
b=0
Ein="0"
Gw1 = 25 # °C
Zt1 = 2.5 # min
Gw2 = 28 # °C
Zt2 = 3.0 # min
Gw3 = 31 # °C
Zt3 = 3.5 # min
while b <=4:
b=b+1
if b==1:
Stufe(Gw1,Zt1,b)
if b==2:
Stufe(Gw2,Zt2,b)
if b==3:
Stufe(Gw3,Zt3,b)
if b==4:
Ein = "0"
Relais1(Ein)
print("Alle Stufen fertig")
Code: Alles auswählen
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'Stufensteuerung.ui'
#
# Created by: PyQt5 UI code generator 5.14.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(665, 574)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.layoutWidget = QtWidgets.QWidget(self.centralwidget)
self.layoutWidget.setGeometry(QtCore.QRect(350, 400, 87, 112))
self.layoutWidget.setObjectName("layoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.pushButtonStart = QtWidgets.QPushButton(self.layoutWidget)
self.pushButtonStart.setObjectName("pushButtonStart")
self.verticalLayout.addWidget(self.pushButtonStart)
self.pushButtonStop = QtWidgets.QPushButton(self.layoutWidget)
self.pushButtonStop.setObjectName("pushButtonStop")
self.verticalLayout.addWidget(self.pushButtonStop)
self.layoutWidget1 = QtWidgets.QWidget(self.centralwidget)
self.layoutWidget1.setGeometry(QtCore.QRect(40, 230, 513, 114))
self.layoutWidget1.setObjectName("layoutWidget1")
self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.layoutWidget1)
self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.verticalLayout_7 = QtWidgets.QVBoxLayout()
self.verticalLayout_7.setObjectName("verticalLayout_7")
self.Z1soll = QtWidgets.QLabel(self.layoutWidget1)
self.Z1soll.setObjectName("Z1soll")
self.verticalLayout_7.addWidget(self.Z1soll)
self.Z2soll = QtWidgets.QLabel(self.layoutWidget1)
self.Z2soll.setObjectName("Z2soll")
self.verticalLayout_7.addWidget(self.Z2soll)
self.Z3soll = QtWidgets.QLabel(self.layoutWidget1)
self.Z3soll.setObjectName("Z3soll")
self.verticalLayout_7.addWidget(self.Z3soll)
self.horizontalLayout_3.addLayout(self.verticalLayout_7)
self.verticalLayout_8 = QtWidgets.QVBoxLayout()
self.verticalLayout_8.setObjectName("verticalLayout_8")
self.spinBoxZ1soll = QtWidgets.QSpinBox(self.layoutWidget1)
self.spinBoxZ1soll.setSpecialValueText("")
self.spinBoxZ1soll.setMinimum(1)
self.spinBoxZ1soll.setMaximum(60)
self.spinBoxZ1soll.setObjectName("spinBoxZ1soll")
self.verticalLayout_8.addWidget(self.spinBoxZ1soll)
self.spinBoxZ2soll = QtWidgets.QSpinBox(self.layoutWidget1)
self.spinBoxZ2soll.setSpecialValueText("")
self.spinBoxZ2soll.setMinimum(1)
self.spinBoxZ2soll.setMaximum(60)
self.spinBoxZ2soll.setObjectName("spinBoxZ2soll")
self.verticalLayout_8.addWidget(self.spinBoxZ2soll)
self.spinBoxZ3soll = QtWidgets.QSpinBox(self.layoutWidget1)
self.spinBoxZ3soll.setSpecialValueText("")
self.spinBoxZ3soll.setMinimum(1)
self.spinBoxZ3soll.setMaximum(60)
self.spinBoxZ3soll.setObjectName("spinBoxZ3soll")
self.verticalLayout_8.addWidget(self.spinBoxZ3soll)
self.horizontalLayout_3.addLayout(self.verticalLayout_8)
self.horizontalLayout_5.addLayout(self.horizontalLayout_3)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.verticalLayout_9 = QtWidgets.QVBoxLayout()
self.verticalLayout_9.setObjectName("verticalLayout_9")
self.Z1ist = QtWidgets.QLabel(self.layoutWidget1)
self.Z1ist.setObjectName("Z1ist")
self.verticalLayout_9.addWidget(self.Z1ist)
self.Z2ist = QtWidgets.QLabel(self.layoutWidget1)
self.Z2ist.setObjectName("Z2ist")
self.verticalLayout_9.addWidget(self.Z2ist)
self.Z3ist = QtWidgets.QLabel(self.layoutWidget1)
self.Z3ist.setObjectName("Z3ist")
self.verticalLayout_9.addWidget(self.Z3ist)
self.horizontalLayout_4.addLayout(self.verticalLayout_9)
self.verticalLayout_10 = QtWidgets.QVBoxLayout()
self.verticalLayout_10.setObjectName("verticalLayout_10")
self.lineEditZ1ist = QtWidgets.QLineEdit(self.layoutWidget1)
self.lineEditZ1ist.setObjectName("lineEditZ1ist")
self.verticalLayout_10.addWidget(self.lineEditZ1ist)
self.lineEditZ2ist = QtWidgets.QLineEdit(self.layoutWidget1)
self.lineEditZ2ist.setObjectName("lineEditZ2ist")
self.verticalLayout_10.addWidget(self.lineEditZ2ist)
self.lineEditZ3ist = QtWidgets.QLineEdit(self.layoutWidget1)
self.lineEditZ3ist.setObjectName("lineEditZ3ist")
self.verticalLayout_10.addWidget(self.lineEditZ3ist)
self.horizontalLayout_4.addLayout(self.verticalLayout_10)
self.horizontalLayout_5.addLayout(self.horizontalLayout_4)
self.layoutWidget2 = QtWidgets.QWidget(self.centralwidget)
self.layoutWidget2.setGeometry(QtCore.QRect(80, 20, 413, 114))
self.layoutWidget2.setObjectName("layoutWidget2")
self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.layoutWidget2)
self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.Temp1soll = QtWidgets.QLabel(self.layoutWidget2)
self.Temp1soll.setObjectName("Temp1soll")
self.verticalLayout_2.addWidget(self.Temp1soll)
self.Temp2soll = QtWidgets.QLabel(self.layoutWidget2)
self.Temp2soll.setObjectName("Temp2soll")
self.verticalLayout_2.addWidget(self.Temp2soll)
self.Temp3soll = QtWidgets.QLabel(self.layoutWidget2)
self.Temp3soll.setObjectName("Temp3soll")
self.verticalLayout_2.addWidget(self.Temp3soll)
self.horizontalLayout_2.addLayout(self.verticalLayout_2)
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
self.verticalLayout_6.setObjectName("verticalLayout_6")
self.doubleSpinBoxT1soll = QtWidgets.QDoubleSpinBox(self.layoutWidget2)
self.doubleSpinBoxT1soll.setSpecialValueText("")
self.doubleSpinBoxT1soll.setMinimum(0.5)
self.doubleSpinBoxT1soll.setMaximum(101.0)
self.doubleSpinBoxT1soll.setSingleStep(0.5)
self.doubleSpinBoxT1soll.setProperty("value", 0.5)
self.doubleSpinBoxT1soll.setObjectName("doubleSpinBoxT1soll")
self.verticalLayout_6.addWidget(self.doubleSpinBoxT1soll)
self.doubleSpinBoxT2soll = QtWidgets.QDoubleSpinBox(self.layoutWidget2)
self.doubleSpinBoxT2soll.setSpecialValueText("")
self.doubleSpinBoxT2soll.setMinimum(0.5)
self.doubleSpinBoxT2soll.setMaximum(101.0)
self.doubleSpinBoxT2soll.setSingleStep(0.5)
self.doubleSpinBoxT2soll.setObjectName("doubleSpinBoxT2soll")
self.verticalLayout_6.addWidget(self.doubleSpinBoxT2soll)
self.doubleSpinBoxT3soll = QtWidgets.QDoubleSpinBox(self.layoutWidget2)
self.doubleSpinBoxT3soll.setSpecialValueText("")
self.doubleSpinBoxT3soll.setMinimum(0.5)
self.doubleSpinBoxT3soll.setMaximum(101.0)
self.doubleSpinBoxT3soll.setSingleStep(0.5)
self.doubleSpinBoxT3soll.setObjectName("doubleSpinBoxT3soll")
self.verticalLayout_6.addWidget(self.doubleSpinBoxT3soll)
self.horizontalLayout_2.addLayout(self.verticalLayout_6)
self.horizontalLayout_6.addLayout(self.horizontalLayout_2)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.verticalLayout_5 = QtWidgets.QVBoxLayout()
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.Temp1ist = QtWidgets.QLabel(self.layoutWidget2)
self.Temp1ist.setObjectName("Temp1ist")
self.verticalLayout_5.addWidget(self.Temp1ist)
self.Temp2ist = QtWidgets.QLabel(self.layoutWidget2)
self.Temp2ist.setObjectName("Temp2ist")
self.verticalLayout_5.addWidget(self.Temp2ist)
self.Temp3ist = QtWidgets.QLabel(self.layoutWidget2)
self.Temp3ist.setObjectName("Temp3ist")
self.verticalLayout_5.addWidget(self.Temp3ist)
self.horizontalLayout.addLayout(self.verticalLayout_5)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.lineEditT1ist = QtWidgets.QLineEdit(self.layoutWidget2)
self.lineEditT1ist.setObjectName("lineEditT1ist")
self.verticalLayout_3.addWidget(self.lineEditT1ist)
self.lineEditT2ist = QtWidgets.QLineEdit(self.layoutWidget2)
self.lineEditT2ist.setObjectName("lineEditT2ist")
self.verticalLayout_3.addWidget(self.lineEditT2ist)
self.lineEditT3ist = QtWidgets.QLineEdit(self.layoutWidget2)
self.lineEditT3ist.setObjectName("lineEditT3ist")
self.verticalLayout_3.addWidget(self.lineEditT3ist)
self.horizontalLayout.addLayout(self.verticalLayout_3)
self.horizontalLayout_6.addLayout(self.horizontalLayout)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButtonStart.setText(_translate("MainWindow", "Start"))
self.pushButtonStop.setText(_translate("MainWindow", "Stop"))
self.Z1soll.setText(_translate("MainWindow", "Z1[min]"))
self.Z2soll.setText(_translate("MainWindow", "Z2[min]"))
self.Z3soll.setText(_translate("MainWindow", "Z3[min]"))
self.Z1ist.setText(_translate("MainWindow", "Z1_ist"))
self.Z2ist.setText(_translate("MainWindow", "Z2_ist"))
self.Z3ist.setText(_translate("MainWindow", "Z3_ist"))
self.Temp1soll.setText(_translate("MainWindow", "T1_soll"))
self.Temp2soll.setText(_translate("MainWindow", "T2_soll"))
self.Temp3soll.setText(_translate("MainWindow", "T3_soll"))
self.Temp1ist.setText(_translate("MainWindow", "T1_ist"))
self.Temp2ist.setText(_translate("MainWindow", "T2_ist"))
self.Temp3ist.setText(_translate("MainWindow", "T3_ist"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())