# -*- coding: cp1254 -*-
from Tkinter import *
import threading
import time
import serial
import socket
class file_set(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.filename= "kompanzasyon.conf"
self.conf=list
self.deger=list
self.wrn=""
def load(self):
try:
df=open("kompanzasyon.conf","r")
gf=df.readlines()
gf= [i.rstrip() for i in gf ]
gf.pop(0)
self.conf=gf
self.deger = [i.split(':')[1] for i in self.conf ]
self.anahtar=[(i.split(':')[0]+':') for i in self.conf ]
df.close()
except:
self.wrn=u"Konfigürasyon dosyanız bulunamadı veya okunamadı !"
def write(self):
values = self.conf
files="""//Begin configuration file//"""
for i in self.anahtar:
files += ("\n"+i+self.deger[self.anahtar.index(i)])
try :
reg=open("kompanzasyon.conf","w")
reg.write(files)
reg.close()
self.wrn=u"Konfigürasyon dosyanız başarılı bir şekilde kaydedilmiştir !"
self.load()
except:
self.wrn=u"Konfigürasyon dosyanız bulunamadı veya yazarken bir hata oluştu !"
tmp=file_set()
tmp.load()
class co_rtu(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.ser=serial.Serial()
self.setting=[]#port,hız,timeout,gecikme
self.messages=""
self.status="OFF"
self.wrn=""
self.kapasiteler=list()
self.kapasiteler=["0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0",\
"0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"]
def connect(self,where,message):
if not self.ser.isOpen():
if where == "kael":
self.setting=("Com"+tmp.deger[8]),115200,int(tmp.deger[10]),int(tmp.deger[9])
self.ser.port,self.ser.baudrate,self.ser.timeout = self.setting[:-1]
if "\x01\x03\x10\x00\x00" in message:
self.ser.open()
self.ser.write(message)
time.sleep(0.1)
if "\x01\x03\x10\x00\x00\x5A" in message:
a=str(self.ser.read(self.ser.inWaiting()).encode("hex"))
self.ser.close()
time.sleep(0.1)
v1=str(int(a[14:18],16)/10.0)+" V"
v2=str(int(a[18:22],16)/10.0)+" V"
v3=str(int(a[22:26],16)/10.0)+" V"
i1=str((int(a[26:30],16)*0.32))+" A"
i2=str((int(a[30:34],16)*0.32))+" A"
i3=str((int(a[34:38],16)*0.32))+" A"
p1=str(((int(a[38:42],16)*320))/1000.0)+" Kw"
p2=str(((int(a[42:46],16)*320))/1000.0)+" Kw"
p3=str(((int(a[46:50],16)*320))/1000.0)+" Kw"
fi=int(a[78:82],16),int(a[86:90],16),int(a[94:98],16)
Fr=fi[0]
Fs=fi[1]
Ft=fi[2]
#print Fs
for i in fi:
yer= fi.index(i)
try:
if yer == 0:
if i < 255:
Fr="-1.%03d"%i
elif i > 999:
Fr="-1."+"%03d"%(65535-i)
else:
Fr="0.%03d"%i
elif yer == 1:
if i < 255:
Fs="-1.%03d"%i
elif i > 999:
Fs="-1."+"%03d"%(65535-i)
else:
Fs="0.%03d"%i
elif yer == 2:
if i < 255:
Ft="-1.%03d"%i
elif i > 999:
Ft="-1."+"%03d"%i(65535-i)
else:
Ft="0.%03d"%i
except Exception,e: print str(e)
#print Fs,Fr,Ft
return v1,v2,v3,i1,i2,i3,p1,p2,p3,Fr,Fs,Ft
self.ser.close()
elif '\x01\x03\x10\x2C\x00\x02' in message:
time.sleep(0.1)
self.ser.open()
self.ser.write(message)
time.sleep(0.1)
a=str(self.ser.read(self.ser.inWaiting()).encode("hex"))
self.ser.close()
#fake="010304000000267be9"
return (((18-(len(bin(int(a[8:14]))[2:])))*"0")+str(bin(int(a[8:14]))[2:]))[::-1]
elif ('\x01\x03\x31\x08\x00' in message) and (self.kapasiteler == ["0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0",\
"0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"]):
time.sleep(0.1)
self.ser.open()
self.ser.write(message)
time.sleep(0.1)
c=str(self.ser.read(self.ser.inWaiting()).encode("hex"))
self.ser.close()
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=C13=C14=C15=C16=C17=C18=0
caps=c[6:-4]
boyu,kesme = len(caps), len(caps)/8
liste = []
try:
liste = [ caps[i:i+kesme] for i in range(0, boyu, kesme) ]
except: pass
try:
for i in liste:
kel = i[4:]
toplam=0
for e in kel[:4],kel[4:8],kel[8:]:
if (int(e,16) > int("8000",16))and (int(e,16) > 0):
toplam +=((((int("FFFF",16)-int(e,16))+1)*(1600/5))*0.1)
self.kapasiteler
[liste.index(i)]= (str(toplam/1000))
except Exception,e: print str(e)
rtu=co_rtu()
class ValidatingEntry(Entry):
# base class for validating entry widgets
def __init__(self, master, value="", **kw):
apply(Entry.__init__, (self, master), kw)
self.__value = value
self.__variable = StringVar()
self.__variable.set(value)
self.__variable.trace("w", self.__callback)
self.config(textvariable=self.__variable)
def __callback(self, *dummy):
value = self.__variable.get()
newvalue = self.validate(value)
if newvalue is None:
self.__variable.set(self.__value)
elif newvalue != value:
self.__value = newvalue
self.__variable.set(self.newvalue)
else:
self.__value = value
def validate(self, value):
# override: return value, new value, or None if invalid
return value
class MaxLengthEntry(ValidatingEntry):
def __init__(self, master, value="", maxlength=None, **kw):
self.maxlength = maxlength
apply(ValidatingEntry.__init__, (self, master), kw)
def validate(self, value):
if self.maxlength is None or len(value) <= self.maxlength:
try:
if value:
v = int(value)
return value
return value
except ValueError:
return None
class gui(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.ana=Tk()
self.title_words=U"OTOMATİK KOMPANZASYON - %s // Sabri Dilmaç // SADO CYBERNETIC //"
self.ana.title(self.title_words % "")
self.bg="#006699"
self.menu_id=None
self.menu_name=""
self.saat=Label(self.ana,text=time.strftime("%H:%M:%S"),bg="lightgreen",relief=GROOVE)
self.saat.place(x=5,y=5)
self.warn_bar=Label(self.ana,bg="black",fg="white",text="denemeRRTTTFFF")
self.warn_bar.place(x=0,y=280,width=800,height=20)
self.t1=""
self.connection_method_kael=None
self.connection_method_makel=None
# BUTONLAR
b1_genel=Button(self.ana,text="Genel",bg="#CCCCCC",overrelief='solid',command=self.do_genel)
b1_genel.place(x=98,y=5,width=80)
b2_ayar=Button(self.ana,text="Ayarlar",bg="#CCCCCC",overrelief='solid',command=self.do_ayar)
b2_ayar.place(x=181,y=5,width=80)
b3_haber=Button(self.ana,text=u"Haberleşme",bg="#CCCCCC",overrelief='solid',command=self.do_haber)
b3_haber.place(x=264,y=5,width=80)
b4_rapor=Button(self.ana,text=u"Raporlama",bg="#CCCCCC",overrelief='solid',command=self.do_rapor)
b4_rapor.place(x=347,y=5,width=80)
b5_hakki=Button(self.ana,text=u"Hakkında",bg="#CCCCCC",overrelief='solid',command=self.do_about)
b5_hakki.place(x=430,y=5,width=80)
b6_lisans=Button(self.ana,text=u"Lisans",bg="#CCCCCC",overrelief='solid',command=self.do_lisans)
b6_lisans.place(x=513,y=5,width=80)
b6_lisans=Button(self.ana,text=u"Program Ayarları",bg="#CCCCCC",overrelief='solid',command=self.do_prg_conf)
b6_lisans.place(x=596,y=5,width=120)
self.do_haber()
self.clock()
self.ana.resizable(0,0)
#self.ana.overrideredirect(1)
self.ana.config(bg="#006699",width=800,height=300)
self.ana.mainloop()
def do_destroy(self):
if self.menu_id == None :pass
elif self.menu_id == 0:
self.genel.destroy()
elif self.menu_id == 1:
self.ayarlar.destroy()
elif self.menu_id == 2:
self.haberlesme.destroy()
elif self.menu_id == 3:
self.raporlar.destroy()
elif self.menu_id == 4:
self.hakkinda.destroy()
elif self.menu_id == 5:
self.lisans.destroy()
elif self.menu_id == 6:
self.prg_conf.destroy()
def do_genel(self):
if self.menu_id == 0 :pass
else:
self.do_destroy()
self.ana.title( self.title_words % "GENEL")
self.genel=LabelFrame(self.ana,bg=self.bg,text=" GENEL : ",fg="white")
self.genel.place(x=5,y=35,width=790,height=235)
lab_say=LabelFrame(self.genel, text="Sayaç Durumu :",bg=self.bg,fg="white")
lab_say.place(x=20,y=0,width=200,height=200)
r_phase_l=Label(lab_say,text="R FAZI :",bg=self.bg,fg="white")
r_phase_l.place(x=5,y=25)
self.r_phase_ev=Label(lab_say,text="380 V",bg="#151515",fg="lightgreen",relief=GROOVE)
self.r_phase_ev.place(x=70,y=25,width=50)
self.r_phase_ea=Label(lab_say,text="30 A",bg="#151515",fg="lightgreen",relief=GROOVE)
self.r_phase_ea.place(x=140,y=25,width=50)
s_phase_l=Label(lab_say,text="S FAZI :",bg=self.bg,fg="white")
s_phase_l.place(x=5,y=45)
self.s_phase_ev=Label(lab_say,text="380 V",bg="#151515",fg="lightgreen",relief=GROOVE)
self.s_phase_ev.place(x=70,y=45,width=50)
self.s_phase_ea=Label(lab_say,text="40 A",bg="#151515",fg="lightgreen",relief=GROOVE)
self.s_phase_ea.place(x=140,y=45,width=50)
t_phase_l=Label(lab_say,text="T FAZI :",bg=self.bg,fg="white")
t_phase_l.place(x=5,y=65)
self.t_phase_ev=Label(lab_say,text="380 V",bg="#151515",fg="lightgreen",relief=GROOVE)
self.t_phase_ev.place(x=70,y=65,width=50)
self.t_phase_ea=Label(lab_say,text="50 A",bg="#151515",fg="lightgreen",relief=GROOVE)
self.t_phase_ea.place(x=140,y=65,width=50)
aktif_l=Label(lab_say,text=u"AKTİF :",bg=self.bg,fg="white")
aktif_l.place(x=5,y=105)
self.aktif_e=Label(lab_say,text=u"AKTİF :",bg="#151515",fg="lightgreen",relief=GROOVE)
self.aktif_e.place(x=75,y=105,width=110)
reaktif_l=Label(lab_say,text=u"REAKTİF :",bg=self.bg,fg="white")
reaktif_l.place(x=5,y=125)
self.reaktif_e=Label(lab_say,text=u"REAKTİF :",bg="#151515",fg="lightgreen",relief=GROOVE)
self.reaktif_e.place(x=75,y=125,width=110)
kapasitif_l=Label(lab_say,text=u"KAPASİTİF:",bg=self.bg,fg="white")
kapasitif_l.place(x=5,y=145)
self.kapasitif_e=Label(lab_say,text=u"KAPASİTİF :",bg="#151515",fg="lightgreen",relief=GROOVE)
self.kapasitif_e.place(x=75,y=145,width=110)
lab_rgk=LabelFrame(self.genel, text="Kompanzasyon Rölesi Durumu :",bg=self.bg,fg="white")
lab_rgk.place(x=240,y=0,width=520,height=200)
r1_phase_l=Label(lab_rgk,text=u"R FAZI :",bg=self.bg,fg="white")# Cos\u03C6
r1_phase_l.place(x=10,y=10)
self.r1_phase_l = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.r1_phase_l.place(x=60,y=10,width=50)
s1_phase_l=Label(lab_rgk,text=u"S FAZI :",bg=self.bg,fg="white")
s1_phase_l.place(x=10,y=30)
self.s1_phase_l = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.s1_phase_l.place(x=60,y=30,width=50)
t1_phase_l=Label(lab_rgk,text=u"T FAZI :",bg=self.bg,fg="white")
t1_phase_l.place(x=10,y=50)
self.t1_phase_l = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.t1_phase_l.place(x=60,y=50,width=50)
self.r_phase_volt = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.r_phase_volt.place(x=120,y=10,width=100)
self.s_phase_volt = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.s_phase_volt.place(x=120,y=30,width=100)
self.t_phase_volt = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.t_phase_volt.place(x=120,y=50,width=100)
self.r_phase_amper = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.r_phase_amper.place(x=230,y=10,width=100)
self.s_phase_amper = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.s_phase_amper.place(x=230,y=30,width=100)
self.t_phase_amper = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.t_phase_amper.place(x=230,y=50,width=100)
self.r_phase_wat = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.r_phase_wat.place(x=340,y=10,width=100)
self.s_phase_wat = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.s_phase_wat.place(x=340,y=30,width=100)
self.t_phase_wat = Label(lab_rgk,text=u"EEEEE",bg="#151515",fg="lightgreen",relief=GROOVE)
self.t_phase_wat.place(x=340,y=50,width=100)
self.kademe_sayi = Label(lab_rgk,text="Kademe: 0",bg="#006699",fg="white",relief=GROOVE)
self.kademe_sayi.place(x=445,y=40)
self.e1_kapasite= Label(lab_rgk,text="C-1",bg="#006699",relief=GROOVE)
self.e1_kapasite.place(x=5,y=77,width=50)
self.e2_kapasite= Label(lab_rgk,text="C-2",bg="#006699",relief=GROOVE)
self.e2_kapasite.place(x=61,y=77,width=50)
self.e3_kapasite= Label(lab_rgk,text="C-3",bg="#006699",relief=GROOVE)
self.e3_kapasite.place(x=117,y=77,width=50)
self.e4_kapasite= Label(lab_rgk,text="C-4",bg="#006699",relief=GROOVE)
self.e4_kapasite.place(x=173,y=77,width=50)
self.e5_kapasite= Label(lab_rgk,text="C-5",bg="#006699",relief=GROOVE)
self.e5_kapasite.place(x=229,y=77,width=50)
self.e6_kapasite= Label(lab_rgk,text="C-6",bg="#006699",relief=GROOVE)
self.e6_kapasite.place(x=286,y=77,width=50)
self.e7_kapasite= Label(lab_rgk,text="C-7",bg="#006699",relief=GROOVE)
self.e7_kapasite.place(x=342,y=77,width=50)
self.e8_kapasite= Label(lab_rgk,text="C-8",bg="#006699",relief=GROOVE)
self.e8_kapasite.place(x=398,y=77,width=50)
self.e9_kapasite= Label(lab_rgk,text="C-9",bg="#006699",relief=GROOVE)
self.e9_kapasite.place(x=454,y=77,width=50)
self.e10_kapasite= Label(lab_rgk,text="C-10",bg="#006699",relief=GROOVE)
self.e10_kapasite.place(x=5,y=137,width=50)
self.e11_kapasite= Label(lab_rgk,text="C-11",bg="#006699",relief=GROOVE)
self.e11_kapasite.place(x=61,y=137,width=50)
self.e12_kapasite= Label(lab_rgk,text="C-12",bg="#006699",relief=GROOVE)
self.e12_kapasite.place(x=117,y=137,width=50)
self.e13_kapasite= Label(lab_rgk,text="C-13",bg="#006699",relief=GROOVE)
self.e13_kapasite.place(x=173,y=137,width=50)
self.e14_kapasite= Label(lab_rgk,text="C-14",bg="#006699",relief=GROOVE)
self.e14_kapasite.place(x=229,y=137,width=50)
self.e15_kapasite= Label(lab_rgk,text="C-15",bg="#006699",relief=GROOVE)
self.e15_kapasite.place(x=286,y=137,width=50)
self.e16_kapasite= Label(lab_rgk,text="C-16",bg="#006699",relief=GROOVE)
self.e16_kapasite.place(x=342,y=137,width=50)
self.e17_kapasite= Label(lab_rgk,text="C-17",bg="#006699",relief=GROOVE)
self.e17_kapasite.place(x=398,y=137,width=50)
self.e18_kapasite= Label(lab_rgk,text="C-18",bg="#006699",relief=GROOVE)
self.e18_kapasite.place(x=454,y=137,width=50)
self.c1_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c1_kapasite.place(x=5,y=100,width=50)
self.c2_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c2_kapasite.place(x=61,y=100,width=50)
self.c3_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c3_kapasite.place(x=117,y=100,width=50)
self.c4_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c4_kapasite.place(x=173,y=100,width=50)
self.c5_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c5_kapasite.place(x=229,y=100,width=50)
self.c6_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c6_kapasite.place(x=286,y=100,width=50)
self.c7_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c7_kapasite.place(x=342,y=100,width=50)
self.c8_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c8_kapasite.place(x=398,y=100,width=50)
self.c9_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c9_kapasite.place(x=454,y=100,width=50)
self.c10_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c10_kapasite.place(x=5,y=160,width=50)
self.c11_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c11_kapasite.place(x=61,y=160,width=50)
self.c12_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c12_kapasite.place(x=117,y=160,width=50)
self.c13_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c13_kapasite.place(x=173,y=160,width=50)
self.c14_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c14_kapasite.place(x=229,y=160,width=50)
self.c15_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c15_kapasite.place(x=286,y=160,width=50)
self.c16_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c16_kapasite.place(x=342,y=160,width=50)
self.c17_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c17_kapasite.place(x=398,y=160,width=50)
self.c18_kapasite= Label(lab_rgk,text="15 Kvar",bg="#FF5E5E")
self.c18_kapasite.place(x=454,y=160,width=50)
#self.yesterday_RL= Label(self.genel,text="Önceki gün reaktif:",bg="#006699",fg="white",relief=GROOVE)
#self.yesterday_RL.place(x=240,y=175,width=170)
#self.yesterday_RC= Label(self.genel,text="Önceki gün kapasitif:",bg="#006699",fg="white",relief=GROOVE)
#self.yesterday_RC.place(x=240,y=195,width=170)
#self.today_RL= Label(self.genel,text="Bugün reaktif:",bg="#006699",fg="white",relief=GROOVE)
#self.today_RL.place(x=415,y=175,width=170)
#self.today_RC= Label(self.genel,text="Bugün kapasitif:",bg="#006699",fg="white",relief=GROOVE)
#self.today_RC.place(x=415,y=195,width=170)
#self.month_RL= Label(self.genel,text=u"Aylık reaktif:",bg="#006699",fg="white",relief=GROOVE)
#self.month_RL.place(x=590,y=175,width=170)
#self.month_RC= Label(self.genel,text=u"Aylık kapasitif:",bg="#006699",fg="white",relief=GROOVE)
#self.month_RC.place(x=590,y=195,width=170)
self.menu_id = 0 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
self.do_warn(u"Sayaç:Tüketilen güçler,Akımlar,Gerilimler Kompanzasyon:Cos\u03C6 değerleri,Aktif kademeler,Kapasiteler")
def do_ayar(self):
if self.menu_id == 1 :pass
else:
def save_conf():
new_values = self.fi_reaktif_e.get(), self.fi_kapasitif_e.get(),\
self.fi_period_e.get(), str(self.secenek.index(self.opti.get())),\
self.static_cap1_e.get(),self.static_cap2_e.get(),\
self.static_cap3_e.get(),self.static_cap4_e.get()
if (20<int(new_values[0])) or (5>int(new_values[0])) :
self.do_warn(u"Reaktif yüzdelik limit değeri 5-15 arasında olabilir.")
elif (int(new_values[1])>10) :
self.do_warn(u"Kapasitif yüzdelik limit değeri 0-10 arasında olabilir.")
elif (int(new_values[2])>6) or (int(new_values[2])<1) :
self.do_warn(u"Saatlik tarama periyodu ençok 6, en az 1 kez arasında olabilir.")
elif (int(new_values[7])+int(new_values[6])+int(new_values[5])+int(new_values[4])) < 50:
self.do_warn(u"Sabit kapasitörlerin toplamı 50kVAR dan küçük olamaz. Örnek:5,10,15,20 kVAR şeklinde...")
else:
for i in range(len(tmp.deger)):
if i < 8:
tmp.deger[i]= new_values[i]
self.do_warn(tmp.wrn)
tmp.write()
def del_entry():
self.fi_reaktif_e.delete(0,END)
self.fi_kapasitif_e.delete(0,END)
self.fi_period_e.delete(0,END)
self.static_cap1_e.delete(0,END)
self.static_cap2_e.delete(0,END)
self.static_cap3_e.delete(0,END)
self.static_cap4_e.delete(0,END)
def load_ayar():
del_entry()
self.fi_reaktif_e.insert(0,tmp.deger[0])
self.fi_kapasitif_e.insert(0,tmp.deger[1])
self.fi_period_e.insert(0,tmp.deger[2])
self.opti.set(self.secenek[int(tmp.deger[3])])
self.static_cap1_e.insert(0,tmp.deger[4])
self.static_cap2_e.insert(0,tmp.deger[5])
self.static_cap3_e.insert(0,tmp.deger[6])
self.static_cap4_e.insert(0,tmp.deger[7])
def default_ayar():
del_entry()
self.fi_reaktif_e.insert(0,"15")
self.fi_kapasitif_e.insert(0,"10")
self.fi_period_e.insert(0,"5")
self.opti.set(self.secenek[0])
self.static_cap1_e.insert(0,"5")
self.static_cap2_e.insert(0,"10")
self.static_cap3_e.insert(0,"15")
self.static_cap4_e.insert(0,"20")
self.do_destroy()
self.ana.title(self.title_words % "AYARLAR")
self.ayarlar=LabelFrame(self.ana,bg=self.bg,text=" AYARLAR : ",fg="white")
self.ayarlar.place(x=5,y=35,width=790,height=235)
frm825=Label(self.ayarlar,bg=self.bg,fg="white",relief=GROOVE)
frm825.place(x=220,y=20,width=243,height=100)
self.comment825=Label(self.ayarlar,text=u"Ayarlama metodu \n Seçilen güç tipi kapasitesi önce kullanılır.",bg="#006699",fg="white")
self.comment825.place(x=240,y=30, width=200)
self.secenek=u" Reaktif limiti kullan ",u" Kapasitif limiti kullan ",\
u" Her ikisinide kullan"
self.opti=StringVar(self.ana)
self.opti.set(self.secenek[0])
self.spew1 = apply(OptionMenu, (self.ayarlar, self.opti) + tuple(self.secenek))
self.spew1.config(bg="#006699",fg="white")
self.spew1.place(height=22, x=250, y=80,width=183)
self.fi_reaktif=Label(self.ayarlar,text="Max Reaktif(%)",bg="#006699",fg="white",relief=GROOVE)
self.fi_reaktif.place(x=20,y=20, width=100)
self.fi_reaktif_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.fi_reaktif_e.place(x=130,y=20, width=30)
self.fi_kapasitif=Label(self.ayarlar,text="Max Kapasitif(%)",bg="#006699",fg="white",relief=GROOVE)
self.fi_kapasitif.place(x=20,y=45, width=100)
self.fi_kapasitif_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.fi_kapasitif_e.place(x=130,y=45, width=30)
self.fi_period=Label(self.ayarlar,text="Tarama adedi(Saat)",bg="#006699",fg="white",relief=GROOVE)
self.fi_period.place(x=20,y=70, width=100)
self.fi_period_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.fi_period_e.place(x=130,y=70, width=30)
self.static_cap1=Label(self.ayarlar,text=u"Sabit Kapasitör-1 Değeri(kVAR):",bg="#006699",fg="white",relief=GROOVE)
self.static_cap1.place(x=500,y=20,width=200)
self.static_cap1_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.static_cap1_e.place(x=710,y=20, width=30)
self.static_cap2=Label(self.ayarlar,text=u"Sabit Kapasitör-2 Değeri(kVAR):",bg="#006699",fg="white",relief=GROOVE)
self.static_cap2.place(x=500,y=45,width=200)
self.static_cap2_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.static_cap2_e.place(x=710,y=45, width=30)
self.static_cap3=Label(self.ayarlar,text=u"Sabit Kapasitör-3 Değeri(kVAR):",bg="#006699",fg="white",relief=GROOVE)
self.static_cap3.place(x=500,y=70,width=200)
self.static_cap3_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.static_cap3_e.place(x=710,y=70, width=30)
self.static_cap4=Label(self.ayarlar,text=u"Sabit Kapasitör-4 Değeri(kVAR):",bg="#006699",fg="white",relief=GROOVE)
self.static_cap4.place(x=500,y=95,width=200)
self.static_cap4_e=MaxLengthEntry(self.ayarlar,maxlength=2,bg="white",relief=GROOVE)
self.static_cap4_e.place(x=710,y=95, width=30)
self.ayar_default_kaydet=Button(self.ayarlar,text=u"Varsayılanları Yükle",bg="#CCCCCC",overrelief='solid',command=default_ayar)
self.ayar_default_kaydet.place(x=490,y=195,width=140)
self.ayar_kaydet=Button(self.ayarlar,text=" Kaydet ",bg="#CCCCCC",overrelief='solid',command=save_conf)
self.ayar_kaydet.place(x=640,y=195,width=140)
load_ayar()
self.do_warn(u"Yüzdelik Sınırlamalar,Kontrol biçimi,Sabit kademeler")
self.menu_id = 1 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
def do_haber(self):
if self.menu_id == 2 :pass
else:
def save_conf():
new_values = self.rtu_com_e.get(), self.rtu_delay_e.get(),\
self.rtu_timeout_e.get(), (self.rtu_ip_e_1.get()+ "."+self.rtu_ip_e_2.get()+\
"."+self.rtu_ip_e_3.get()+"."+self.rtu_ip_e_4.get()),\
self.rtu_ip_port_e.get(),\
self.rtu_makel_com_e.get(), self.rtu_makel_delay_e.get(),\
self.rtu_makel_timeout_e.get(), (self.rtu_makel_ip_e_1.get()+"."+\
self.rtu_makel_ip_e_2.get()+"."+self.rtu_makel_ip_e_3.get()+"."+\
self.rtu_makel_ip_e_4.get()),self.rtu_makel_ip_port_e.get()
try:
if (int(self.rtu_ip_e_1.get())>255 ) or (int(self.rtu_ip_e_2.get())>255 )or\
(int(self.rtu_ip_e_3.get())>255 ) or (int(self.rtu_ip_e_4.get())>255 )or\
(int(self.rtu_makel_ip_e_1.get())>255 ) or (int(self.rtu_makel_ip_e_2.get())>255 )or\
(int(self.rtu_makel_ip_e_3.get())>255 ) or (int(self.rtu_makel_ip_e_4.get())>255 )or\
(((int(self.rtu_delay_e.get()) + int(self.rtu_makel_delay_e.get()))+\
int(self.rtu_ip_port_e.get())+int(self.rtu_makel_ip_port_e.get())+\
int(self.rtu_timeout_e.get())+int(self.rtu_makel_timeout_e.get()))<-1)or\
((int(self.rtu_com_e.get())+int(self.rtu_makel_com_e.get()))<-1):
pass
except:
self.do_warn(u"Boşluk sayı değildir ! Giriş bölümlerine sadece sayı girebilirsiniz(0-9)")
return
if (int(self.rtu_delay_e.get()) and int(self.rtu_makel_delay_e.get())) < 1:
self.do_warn(u"Gecikme süresi en çok 10, en az 1 saniye olabilir")
elif ((int(self.rtu_ip_port_e.get())< 10000) or ( int(self.rtu_makel_ip_port_e.get())) < 10000) :
self.do_warn(u"IP port numaraları 10000-65500 arasında olabilir.")
elif (int(self.rtu_ip_port_e.get())> 65000 )or (int(self.rtu_makel_ip_port_e.get()) > 65552):
self.do_warn(u"IP port numaraları 10000-65500 arasında olabilir.")
elif (int(self.rtu_ip_e_1.get())>255 ) or (int(self.rtu_ip_e_2.get())>255 )or\
(int(self.rtu_ip_e_3.get())>255 ) or (int(self.rtu_ip_e_4.get())>255 )or\
(int(self.rtu_makel_ip_e_1.get())>255 ) or (int(self.rtu_makel_ip_e_2.get())>255 )or\
(int(self.rtu_makel_ip_e_3.get())>255 ) or (int(self.rtu_makel_ip_e_4.get())>255 ):
self.do_warn(u"IP numaraları 0-255 arasında olabilir.")
else:
for i in range(len(tmp.deger)):
if i > 7:
tmp.deger[8+(i-8)]= new_values[i-8]
self.do_warn(tmp.wrn)
tmp.write()
load_ayar()
def del_entry():
self.rtu_com_e.delete(0,END)
self.rtu_delay_e.delete(0,END)
self.rtu_timeout_e.delete(0,END)
self.rtu_ip_e_1.delete(0,END)
self.rtu_ip_e_2.delete(0,END)
self.rtu_ip_e_3.delete(0,END)
self.rtu_ip_e_4.delete(0,END)
self.rtu_ip_port_e.delete(0,END)
self.rtu_makel_com_e.delete(0,END)
self.rtu_makel_delay_e.delete(0,END)
self.rtu_makel_timeout_e.delete(0,END)
self.rtu_makel_ip_e_1.delete(0,END)
self.rtu_makel_ip_e_2.delete(0,END)
self.rtu_makel_ip_e_3.delete(0,END)
self.rtu_makel_ip_e_4.delete(0,END)
self.rtu_makel_ip_port_e.delete(0,END)
def load_ayar():
del_entry()
self.rtu_com_e.insert(0,tmp.deger[8])
self.rtu_delay_e.insert(0,tmp.deger[9])
self.rtu_timeout_e.insert(0,tmp.deger[10])
self.rtu_ip_e_1.insert(0,tmp.deger[11].split(".")[0])
self.rtu_ip_e_2.insert(0,tmp.deger[11].split(".")[1])
self.rtu_ip_e_3.insert(0,tmp.deger[11].split(".")[2])
self.rtu_ip_e_4.insert(0,tmp.deger[11].split(".")[3])
self.rtu_ip_port_e.insert(0,tmp.deger[12])
self.rtu_makel_com_e.insert(0,tmp.deger[13])
self.rtu_makel_delay_e.insert(0,tmp.deger[14])
self.rtu_makel_timeout_e.insert(0,tmp.deger[15])
self.rtu_makel_ip_e_1.insert(0,tmp.deger[16].split(".")[0])
self.rtu_makel_ip_e_2.insert(0,tmp.deger[16].split(".")[1])
self.rtu_makel_ip_e_3.insert(0,tmp.deger[16].split(".")[2])
self.rtu_makel_ip_e_4.insert(0,tmp.deger[16].split(".")[3])
self.rtu_makel_ip_port_e.insert(0,tmp.deger[17])
try:
try:
if tmp.deger[11] == "0.0.0.0":
self.connection_method_kael="RTU"
self.rtu_ip_e_1.config(bg="gray")
self.rtu_ip_e_2.config(bg="gray")
self.rtu_ip_e_3.config(bg="gray")
self.rtu_ip_e_4.config(bg="gray")
self.rtu_ip_port_e.config(bg="gray")
self.rtu_com_e.config(bg="white")
self.rtu_delay_e.config(bg="white")
self.rtu_timeout_e.config(bg="white")
else:
self.connection_method_kael="TCP"
self.rtu_ip_e_1.config(bg="white")
self.rtu_ip_e_2.config(bg="white")
self.rtu_ip_e_3.config(bg="white")
self.rtu_ip_e_4.config(bg="white")
self.rtu_ip_port_e.config(bg="white")
self.rtu_com_e.config(bg="gray")
self.rtu_delay_e.config(bg="gray")
self.rtu_timeout_e.config(bg="gray")
except:pass
if tmp.deger[16] == "0.0.0.0":
self.connection_method_makel="RTU"
self.rtu_makel_ip_e_1.config(bg="gray")
self.rtu_makel_ip_e_2.config(bg="gray")
self.rtu_makel_ip_e_3.config(bg="gray")
self.rtu_makel_ip_e_4.config(bg="gray")
self.rtu_makel_ip_port_e.config(bg="gray")
self.rtu_makel_com_e.config(bg="white")
self.rtu_makel_delay_e.config(bg="white")
self.rtu_makel_timeout_e.config(bg="white")
else:
self.connection_method_makel="TCP"
self.rtu_makel_ip_e_1.config(bg="white")
self.rtu_makel_ip_e_2.config(bg="white")
self.rtu_makel_ip_e_3.config(bg="white")
self.rtu_makel_ip_e_4.config(bg="white")
self.rtu_makel_ip_port_e.config(bg="white")
self.rtu_makel_com_e.config(bg="gray")
self.rtu_makel_delay_e.config(bg="gray")
self.rtu_makel_timeout_e.config(bg="gray")
except:pass
print self.connection_method_kael
def default_ayar():
del_entry()
self.rtu_com_e.insert(0,"7")
self.rtu_delay_e.insert(0,"1")
self.rtu_timeout_e.insert(0,"5")
self.rtu_ip_e_1.insert(0,"192")
self.rtu_ip_e_2.insert(0,"168")
self.rtu_ip_e_3.insert(0,"1")
self.rtu_ip_e_4.insert(0,"254")
self.rtu_ip_port_e.insert(0,"45500")
self.rtu_makel_com_e.insert(0,"7")
self.rtu_makel_delay_e.insert(0,"2")
self.rtu_makel_timeout_e.insert(0,"3")
self.rtu_makel_ip_e_1.insert(0,"192")
self.rtu_makel_ip_e_2.insert(0,"168")
self.rtu_makel_ip_e_3.insert(0,"1")
self.rtu_makel_ip_e_4.insert(0,"222")
self.rtu_makel_ip_port_e.insert(0,"16400")
self.do_destroy()
self.ana.title(self.title_words % u"HABERLEŞME")
self.haberlesme=LabelFrame(self.ana,bg=self.bg,text=u" HABERLEŞME : ",fg="white")
self.haberlesme.place(x=5,y=35,width=790,height=235)
lab_ip_uyari=Label(self.haberlesme,text=u"Şayet ip değeri 0.0.0.0 ise seri haberleşme aktiftir.",bg="#006699",fg="white",relief=GROOVE)
lab_ip_uyari.place(x=10,y=195,width=300)
# KAEL BÖLÜMÜ HABERLEŞME
frm_kael=LabelFrame(self.haberlesme,bg=self.bg,text=u" KAEL HABERLEŞME AYARLARI (RGKR): ",fg="white")
frm_kael.place(x=10,y=10,width=300,height=180)
rtu_lab=Label(self.haberlesme,text=u"Modbus RTU Comport NO:",bg="#006699",fg="white",relief=GROOVE)
rtu_lab.place(x=20,y=40,width=150)
self.rtu_com_e=MaxLengthEntry(self.haberlesme,maxlength=2,relief=GROOVE)
self.rtu_com_e.place(x=180,y=40,width=30)
rtu_delay=Label(self.haberlesme,text=u"Modbus RTU Gecikme(sn):",bg="#006699",fg="white",relief=GROOVE)
rtu_delay.place(x=20,y=65,width=150)
self.rtu_delay_e=MaxLengthEntry(self.haberlesme,maxlength=1,relief=GROOVE)
self.rtu_delay_e.place(x=180,y=65,width=30)
rtu_timeout=Label(self.haberlesme,text=u"Modbus RTU Zaman Aşımı(sn):",bg="#006699",fg="white",relief=GROOVE)
rtu_timeout.place(x=20,y=90,width=150)
self.rtu_timeout_e=MaxLengthEntry(self.haberlesme,maxlength=1,relief=GROOVE)
self.rtu_timeout_e.place(x=180,y=90,width=30)
rtu_lab_ip=Label(self.haberlesme,text=u"Modbus RTU IP(ip):",bg="#006699",fg="white",relief=GROOVE)
rtu_lab_ip.place(x=20,y=115,width=150)
self.rtu_ip_e_1= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_ip_e_1.place(x=180,y=115,width=20)
self.rtu_ip_e_2= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_ip_e_2.place(x=210,y=115,width=20)
self.rtu_ip_e_3= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_ip_e_3.place(x=240,y=115,width=20)
self.rtu_ip_e_4= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_ip_e_4.place(x=270,y=115,width=20)
e_dot_=Label(self.haberlesme,text=".",bg="#006699",fg="white")
e_dot_.place(x=205,y=115,width=2)
e_dot_1=Label(self.haberlesme,text=".",bg="#006699",fg="white")
e_dot_1.place(x=235,y=115,width=2)
e_dot_2=Label(self.haberlesme,text=".",bg="#006699",fg="white")
e_dot_2.place(x=265,y=115,width=2)
rtu_lab_ip_port=Label(self.haberlesme,text=u"Modbus RTU IP(port):",bg="#006699",fg="white",relief=GROOVE)
rtu_lab_ip_port.place(x=20,y=140,width=150)
self.rtu_ip_port_e=MaxLengthEntry(self.haberlesme,maxlength=5,relief=GROOVE)
self.rtu_ip_port_e.place(x=180,y=140,width=40)
self.test_kael=Button(self.haberlesme,text="TEST KAEL",bg="#CCCCCC",overrelief='solid',command=self.kontrol_kael)
self.test_kael.place(x=20,y=165,width=150,height=18)
# MAKEL BÖLÜMÜ HABERLEŞME
frm_makel=LabelFrame(self.haberlesme,bg=self.bg,text=u" MAKEL HABERLEŞME AYARLARI (SAYAÇ): ",fg="white")
frm_makel.place(x=320,y=10,width=300,height=180)
rtu_makel_lab=Label(self.haberlesme,text=u"Modbus RTU Comport NO:",bg="#006699",fg="white",relief=GROOVE)
rtu_makel_lab.place(x=335,y=40,width=150)
self.rtu_makel_com_e=MaxLengthEntry(self.haberlesme,maxlength=2,relief=GROOVE)
self.rtu_makel_com_e.place(x=495,y=40,width=30)
rtu_makel_delay=Label(self.haberlesme,text=u"Modbus RTU Gecikme(sn):",bg="#006699",fg="white",relief=GROOVE)
rtu_makel_delay.place(x=335,y=65,width=150)
self.rtu_makel_delay_e=MaxLengthEntry(self.haberlesme,maxlength=1,relief=GROOVE)
self.rtu_makel_delay_e.place(x=495,y=65,width=30)
rtu_makel_timeout=Label(self.haberlesme,text=u"Modbus RTU Zaman Aşımı(sn):",bg="#006699",fg="white",relief=GROOVE)
rtu_makel_timeout.place(x=335,y=90,width=150)
self.rtu_makel_timeout_e=MaxLengthEntry(self.haberlesme,maxlength=2,relief=GROOVE)
self.rtu_makel_timeout_e.place(x=495,y=90,width=30)
rtu_makel_lab_ip=Label(self.haberlesme,text=u"Modbus RTU IP(ip):",bg="#006699",fg="white",relief=GROOVE)
rtu_makel_lab_ip.place(x=335,y=115,width=150)
self.rtu_makel_ip_e_1= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_makel_ip_e_1.place(x=495,y=115,width=20)
self.rtu_makel_ip_e_2= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_makel_ip_e_2.place(x=525,y=115,width=20)
self.rtu_makel_ip_e_3= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_makel_ip_e_3.place(x=555,y=115,width=20)
self.rtu_makel_ip_e_4= MaxLengthEntry(self.haberlesme,maxlength=3,relief=GROOVE)
self.rtu_makel_ip_e_4.place(x=585,y=115,width=20)
e_dot_makel_=Label(self.haberlesme,text=".",bg="#006699",fg="white")
e_dot_makel_.place(x=520,y=115,width=2)
e_dot_makel_1=Label(self.haberlesme,text=".",bg="#006699",fg="white")
e_dot_makel_1.place(x=550,y=115,width=2)
e_dot_makel_2=Label(self.haberlesme,text=".",bg="#006699",fg="white")
e_dot_makel_2.place(x=580,y=115,width=2)
rtu_makel_lab_ip_port=Label(self.haberlesme,text=u"Modbus RTU IP(port):",bg="#006699",fg="white",relief=GROOVE)
rtu_makel_lab_ip_port.place(x=335,y=140,width=150)
self.rtu_makel_ip_port_e=MaxLengthEntry(self.haberlesme,maxlength=5,relief=GROOVE)
self.rtu_makel_ip_port_e.place(x=495,y=140,width=40)
self.test_makel=Button(self.haberlesme,text="TEST MAKEL",bg="#CCCCCC",overrelief='solid',command=self.kontrol_makel)
self.test_makel.place(x=335,y=165,width=150,height=18)
self.ayar_default_kaydet=Button(self.haberlesme,text=u"Varsayılanları Yükle",bg="#CCCCCC",overrelief='solid',command=default_ayar)
self.ayar_default_kaydet.place(x=490,y=195,width=140)
self.ayar_kaydet=Button(self.haberlesme,text=" Kaydet ",bg="#CCCCCC",overrelief='solid',command=save_conf)
self.ayar_kaydet.place(x=640,y=195,width=140)
load_ayar()
self.do_warn(u"Sayaç ve kompanzasyon rölesi haberleşme ayarları..")
self.menu_id = 2 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
def do_rapor(self):
if self.menu_id == 3 :pass
else:
self.do_destroy()
self.ana.title(self.title_words % u"RAPORLAMA")
self.raporlar=LabelFrame(self.ana,bg=self.bg,text=u" RAPORLAMA : ",fg="white")
self.raporlar.place(x=5,y=35,width=790,height=235)
self.menu_id = 3 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
def do_about(self):
if self.menu_id == 4 :pass
else:
self.do_destroy()
self.ana.title(self.title_words % u"HAKKINDA")
self.hakkinda=LabelFrame(self.ana,bg=self.bg,text=u" HAKKINDA : ",fg="white")
self.hakkinda.place(x=5,y=35,width=790,height=235)
self.menu_id = 4 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
def do_lisans(self):
if self.menu_id == 5 :pass
else:
self.do_destroy()
self.ana.title(self.title_words % u"LİSANS")
self.lisans=LabelFrame(self.ana,bg=self.bg,text=u" LİSANS : ",fg="white")
self.lisans.place(x=5,y=35,width=790,height=235)
self.menu_id = 5 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
def do_prg_conf(self):
if self.menu_id == 6 :pass
else:
self.do_destroy()
self.ana.title(self.title_words % u"PROGRAM AYARLARI")
self.prg_conf=LabelFrame(self.ana,bg=self.bg,text=u" PROGRAM AYARLARI : ",fg="white")
self.prg_conf.place(x=5,y=35,width=790,height=235)
self.do_warn(u"Program Ayarları,Konfigürasyon,Parametreler")
self.menu_id = 6 #sadece aktif elemanlara (Menu bileşenlerine) yazılabilir.
def do_warn(self,word):
self.warn_bar.config(text=word+" "+time.strftime("(%H:%M:%S)"))
def clock(self):
t2= time.strftime('%H:%M:%S')
self.ana.update()
if self.t1 != t2:
self.t1=t2
self.saat.config(text=time.strftime('%H:%M:%S'))
self.load_to_gui()
#get_state()
self.saat.after(10, self.clock)
def kontrol_kael(self):
print u"Kael kontrol bölümü"
pass
def kontrol_makel(self):
print u"Makel kontrol bölümü"
pass
def load_to_gui(self):
if self.menu_id == 0:
answer= rtu.connect("kael",'\x01\x03\x10\x00\x00\x5A\xC1\x31')
self.r_phase_volt.config(text=answer[0])
self.s_phase_volt.config(text=answer[1])
self.t_phase_volt.config(text=answer[2])
self.r_phase_amper.config(text=answer[3])
self.s_phase_amper.config(text=answer[4])
self.t_phase_amper.config(text=answer[5])
self.r_phase_wat.config(text=answer[6])
self.s_phase_wat.config(text=answer[7])
self.t_phase_wat.config(text=answer[8])
self.r1_phase_l.config(text=answer[9])
self.s1_phase_l.config(text=answer[10])
self.t1_phase_l.config(text=answer[11])
time.sleep(0.1)
coil =rtu.connect("kael",'\x01\x03\x10,\x00\x02\x01\x02')
for i in range(18):
time.sleep(0.01)
if i == 0:
if coil[i]=="0":self.e1_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e1_kapasite.config(bg="lightgreen")
elif i == 1:
if coil[i]=="0":self.e2_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e2_kapasite.config(bg="lightgreen")
elif i == 2:
if coil[i]=="0":self.e3_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e3_kapasite.config(bg="lightgreen")
elif i == 3:
if coil[i]=="0":self.e4_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e4_kapasite.config(bg="lightgreen")
elif i == 4:
if coil[i]=="0":self.e5_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e5_kapasite.config(bg="lightgreen")
elif i == 5:
if coil[i]=="0":self.e6_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e6_kapasite.config(bg="lightgreen")
elif i == 6:
if coil[i]=="0":self.e7_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e7_kapasite.config(bg="lightgreen")
elif i == 7:
if coil[i]=="0":self.e8_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e8_kapasite.config(bg="lightgreen")
elif i == 8:
if coil[i]=="0":self.e9_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e9_kapasite.config(bg="lightgreen")
elif i == 9:
if coil[i]=="0":self.e10_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e10_kapasite.config(bg="lightgreen")
elif i == 10:
if coil[i]=="0":self.e11_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e11_kapasite.config(bg="lightgreen")
elif i == 11:
if coil[i]=="0":self.e12_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e12_kapasite.config(bg="lightgreen")
elif i == 12:
if coil[i]=="0":self.e13_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e13_kapasite.config(bg="lightgreen")
elif i == 13:
if coil[i]=="0":self.e14_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e14_kapasite.config(bg="lightgreen")
elif i == 14:
if coil[i]=="0":self.e15_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e15_kapasite.config(bg="lightgreen")
elif i == 15:
if coil[i]=="0":self.e16_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e16_kapasite.config(bg="lightgreen")
elif i == 16:
if coil[i]=="0":self.e17_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e17_kapasite.config(bg="lightgreen")
elif i == 17:
if coil[i]=="0":self.e18_kapasite.config(bg="#006699")
elif coil[i]=="1":self.e18_kapasite.config(bg="lightgreen")
Cap =rtu.connect("kael",'\x01\x03\x31\x08\x00\x20\xCB\x2C')
all_caps = rtu.kapasiteler
self.c1_kapasite.config(text=(all_caps[0]))
self.c2_kapasite.config(text=(all_caps[1]))
self.c3_kapasite.config(text=(all_caps[2]))
self.c4_kapasite.config(text=(all_caps[3]))
self.c5_kapasite.config(text=(all_caps[4]))
self.c6_kapasite.config(text=(all_caps[5]))
self.c7_kapasite.config(text=(all_caps[6]))
self.c8_kapasite.config(text=(all_caps[7]))
self.c9_kapasite.config(text=(all_caps[8]))
self.c10_kapasite.config(text=(all_caps[9]))
self.c11_kapasite.config(text=(all_caps[10]))
self.c12_kapasite.config(text=(all_caps[11]))
self.c13_kapasite.config(text=(all_caps[12]))
self.c14_kapasite.config(text=(all_caps[13]))
self.c15_kapasite.config(text=(all_caps[14]))
self.c16_kapasite.config(text=(all_caps[15]))
self.c17_kapasite.config(text=(all_caps[16]))
self.c18_kapasite.config(text=(all_caps[17]))
default_conf_file="""//Begin configuration file//
01_Setting_max_XL:20
02_Setting_max_XC:10
03_Setting_period:5
04_Setting_method:1
05_Setting_cap_1:5
06_Setting_cap_2:10
07_Setting_cap_3:15
08_Setting_cap_4:20
09_Comm_set_kael_RTU_serport:7
10_Comm_set_kael_RTU_delay:1
11_Comm_set_kael_RTU_timeout:5
12_Comm_set_kael_RTU_IP:192.168.1.254
13_Comm_set_kael_RTU_IP_port:45500
14_Comm_set_makel_RTU_serport:7
15_Comm_set_makel_RTU_delay:2
16_Comm_set_makel_RTU_timeout:3
17_Comm_set_makel_RTU_IP:192.168.1.222
18_Comm_set_makel_RTU_IP_port:16400"""
if __name__ == "__main__":
ui=gui()