Я планировал запустить функцию fault()
, когда getvoltage()
запускается каждые 30 минут.
Fault()
- печатать различные предупреждающие сообщения в зависимости от значения напряжения, полученного при запуске getvoltage()
.
Я вставляю fault()
в конце updatelabel()
, но получаю следующую ошибку: NameError: name 'fault' is not defined
.
Извините, я впервые работаю над проектомэто требует написания кода на Python, так что я довольно плохо знаком с тем, как это работает.Я благодарен за любую помощь, которую я могу получить.
Вот фрагмент моего кода:
def updatesetpoints():
lowvolt = lowvoltentry.get()
chargefail = chargerfailentry.get()
failsafe = failsafeentry.get()
failsafereset = failsaferesetentry.get()
fault()
def fault():
if (voltage < lowvolt and voltage > chargefail):
print ("Battery Voltage Low")
elif (voltage < chargefail and voltage > failsafe):
print ("Battery Charger Fail")
elif ( voltage < failsafe):
print ("Fail Safe Vent Open")
def update_label(label):
def getvoltage():
f=open("VoltageReadings.txt", "a+")
readings = [0]*100
maxsample = 100
counter = 0
while (counter < maxsample):
reading = adc.read_adc(0, gain=GAIN)
readings.append(reading)
counter += 1
avg = sum(readings)/100
global voltage
volt= (avg * 0.1259)/100
voltage = str(volt)
f.write("%.2f" % (volt) + "\r\n")
readings.clear()
label.config(text=str('Voltage: {0:.2f}'.format(volt)))
label.after(1800000, getvoltage)
getvoltage()
fault()
class Batterysetpts(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self,parent)
self.configure(bg="white")
#Variables
global lowvolt
global chargefail
global failsafe
global failsafereset
lowvolt = tk.DoubleVar()
chargefail = tk.DoubleVar()
failsafe = tk.DoubleVar()
failsafereset = tk.DoubleVar()
#Entry Label
global lowvoltentry
global chargerfailentry
global failsafeentry
global failsaferesetentry
lowvoltentry = tk.Entry(self, textvariable = lowvolt)
chargerfailentry = tk.Entry(self, textvariable = chargefail)
failsafeentry = tk.Entry(self, textvariable = failsafe)
failsaferesetentry = tk.Entry(self, textvariable = failsafereset)
lowvoltentry.place(relx = 0.67, rely = 0.35, anchor = "center")
chargerfailentry.place(relx = 0.67, rely = 0.5, anchor = "center")
failsafeentry.place(relx = 0.67, rely = 0.65, anchor = "center")
failsaferesetentry.place(relx = 0.67, rely = 0.8, anchor = "center")
#Labels
LV = tk.Label(self, text = "Low Voltage Set Point", font = LARGE_FONT, bg="white")
CF = tk.Label(self, text = "Charger Fail Set Point", font = LARGE_FONT, bg="white")
FS = tk.Label(self, text = "Fail Safe Open Set Point", font = LARGE_FONT, bg="white")
FSR = tk.Label(self, text = "Fail Safe Reset Set Point", font = LARGE_FONT, bg="white")
LV.place(relx = 0.37, rely = 0.35, anchor = "center")
CF.place(relx = 0.37, rely = 0.5, anchor = "center")
FS.place(relx = 0.37, rely = 0.65, anchor = "center")
FSR.place(relx = 0.37, rely = 0.8, anchor = "center")
#Confirm Button
confirmupdatebutton = tk.Button(self, text = "Confirm Changes", command = updatesetpoints)
confirmupdatebutton.place(relx= 0.5, rely= 0.9, anchor = "center")
Заранее благодарю вас за то, что подумали над этим вопросом и помогли мне:)