Professional Documents
Culture Documents
Power Factor Code
Power Factor Code
import math as m
class Gui(Frame):
def __init__(self):
Frame.__init__(self)
self.pack()
self.master.title("Capacitor Correction")
self.phase=Entry(self,name="phase",width=10, justify=CENTER)
self.phase.pack(side=TOP, padx=10,pady=10)
self.power=Entry(self,name="power",width=10, justify=CENTER)
self.power.pack(side=TOP, padx=10,pady=10)
self.current=Entry(self,name="current",width=10, justify=CENTER)
self.current.pack(side=TOP, padx=10,pady=10)
self.vtype=Entry(self,name="vtype",width=10, justify=CENTER)
self.vtype.pack(side=TOP, padx=10,pady=10)
self.vtype.config(state=DISABLED)
self.voltage=Entry(self,name="voltage",width=10, justify=CENTER)
self.voltage.pack(side=TOP, padx=10,pady=10)
self.frequency=Entry(self,name="frequency",width=10, justify=CENTER)
self.frequency.pack(side=TOP, padx=10,pady=10)
self.pf=Entry(self,name="pf",width=10, justify=CENTER)
self.pf.pack(side=TOP, padx=10,pady=10)
self.pf.config(state=DISABLED)
self.ap=Entry(self,name="ap",width=10, justify=CENTER)
self.ap.pack(side=TOP, padx=10,pady=10)
self.ap.config(state=DISABLED)
self.rpname=Label(self,text="Reactive power(kVAR):")
self.rpname.pack()
self.rp=Entry(self,name="rp",width=10, justify=CENTER)
self.rp.pack(side=TOP, padx=10,pady=10)
self.rp.config(state=DISABLED)
self.cc=Entry(self,name="cc",width=10, justify=CENTER)
self.cc.pack(side=TOP, padx=10,pady=10)
self.cc.config(state=DISABLED)
self.but1=Button(self, text='OK',command=self.press)
self.but1.pack()
self.but3=Button(self, text='CLEAR',command=self.clear)
self.but3.pack()
def clear(self):
self.phase.delete(0, 'end')
self.power.delete(0, 'end')
self.voltage.delete(0, 'end')
self.frequency.delete(0, 'end')
self.current.delete(0, 'end')
self.ap.config(state=NORMAL)
self.ap.delete(0, 'end')
self.ap.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.delete(0, 'end')
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.delete(0, 'end')
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.delete(0, 'end')
self.cc.config(state=DISABLED)
def press(self):
pn=self.phase.get()
if pn=="single":
self.ap.config(state=NORMAL)
self.ap.delete(0, 'end')
self.ap.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.delete(0, 'end')
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.delete(0, 'end')
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.delete(0, 'end')
self.cc.config(state=DISABLED)
p=self.power.get()
c=self.current.get()
v=self.voltage.get()
f=self.frequency.get()
pf=(1000*(float(p))/(float(v)*float(c)))
ap=float(v)*float(c)/1000
rp=m.sqrt((float(ap)**2)-(float(p))**2)
cc=1000000000*(float(rp))/(2*m.pi*float(f)*(float(v))**2)
self.ap.config(state=NORMAL)
self.ap.insert(INSERT,ap)
self.ap.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.insert(INSERT,pf)
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.insert(INSERT,rp)
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.insert(INSERT,cc)
self.cc.config(state=DISABLED)
elif pn=="three":
p=self.power.get()
c=self.current.get()
v=self.voltage.get()
f=self.frequency.get()
self.vtype.config(state=NORMAL)
name=self.vtype.get()
if name=='LL' or name=='ll':
self.ap.config(state=NORMAL)
self.ap.delete(0, 'end')
self.ap.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.delete(0, 'end')
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.delete(0, 'end')
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.delete(0, 'end')
self.cc.config(state=DISABLED)
pf=(1000*(float(p))/(m.sqrt(3)*float(v)*float(c)))
ap=m.sqrt(3)*float(v)*float(c)/1000
rp=m.sqrt((float(ap)**2)-(float(p))**2)
cc=1000000000*(float(rp))/(2*m.pi*float(f)*(float(v))**2)
self.ap.config(state=NORMAL)
self.ap.insert(INSERT,ap)
self.ap.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.insert(INSERT,pf)
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.insert(INSERT,rp)
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.insert(INSERT,cc)
self.cc.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.delete(0, 'end')
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.delete(0, 'end')
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.delete(0, 'end')
self.cc.config(state=DISABLED)
pf=(1000*(float(p))/(3*float(v)*float(c)))
ap=3*float(v)*float(c)/1000
rp=m.sqrt((float(ap)**2)-(float(p))**2)
cc=1000000000*(float(rp))/(6*m.pi*float(f)*(float(v))**2)
self.ap.config(state=NORMAL)
self.ap.insert(INSERT,ap)
self.ap.config(state=DISABLED)
self.pf.config(state=NORMAL)
self.pf.insert(INSERT,pf)
self.pf.config(state=DISABLED)
self.rp.config(state=NORMAL)
self.rp.insert(INSERT,rp)
self.rp.config(state=DISABLED)
self.cc.config(state=NORMAL)
self.cc.insert(INSERT,cc)
self.cc.config(state=DISABLED)
else:
messagebox.showinfo("Message","Check your input")
Gui().mainloop()