|
楼主 |
发表于 2019-11-20 22:13:52
|
显示全部楼层
本帖最后由 胖大昕 于 2019-11-20 22:39 编辑
- import tkinter as tk
- window =tk.Tk()
- window.title('66kV变电站整定部分')
- window.geometry('500x500')
- def none1():
- pass
- def line10():
- window101= tk.Tk()
- window101.title('10kV线路保护')
- window101.geometry('1200x700')
- def add101():
-
- jihe1 = []
- jihe2 = []
- a101=nunmber101.get()
- b101=nunmber102.get()
- c101=nunmber103.get()
- d101=nunmber104.get()
- e101=nunmber105.get()
- jihe1.append(float(a101))
- jihe1.append(float(b101))
- jihe1.append(float(c101))
- jihe1.append(float(d101))
- jihe1.append(float(e101))
- jihe2.append((jihe1[0]*pow((pow(jihe1[1], 2)+ pow(jihe1[2], 2)),1/2))/(pow(jihe1[3], 2)/ jihe1[4]))
- nunmber106.set(round(jihe2[0],4))
- def add102():
- pass
- x1=85#四个字的长度
- x3=65#一个输入框的长度
- tk.Label(window101, text='10kV线路整定计算过程',font=('Arial',18)).place(x=0, y=0)
- tk.Label(window101, text='(注意:不需要添加的数据请置0,不要空白)',font=('Arial',18)).place(x=200, y=0)
- #1段线路长度101
- nunmber101 = tk.StringVar()
- tk.Label(window101, text='第1段线路长度:',font=('Arial',18)).place(x=0, y=30)#
- entry_nunmber101 = tk.Entry(window101, textvariable=nunmber101,width=6)
- entry_nunmber101.place(x=135, y=30)#
- tk.Label(window101, text='km',font=('Arial',18)).place(x=200, y=30)#
- #1段线路单位阻抗102,103
- nunmber102 = tk.StringVar()
- tk.Label(window101, text='单位阻抗:',font=('Arial',18)).place(x=240, y=30)#
- entry_nunmber102 = tk.Entry(window101, textvariable=nunmber102,width=6)
- entry_nunmber102.place(x=325, y=30)#
- tk.Label(window101, text='+j',font=('Arial',18)).place(x=390, y=30)#
- nunmber103 = tk.StringVar()
- entry_nunmber103 = tk.Entry(window101, textvariable=nunmber103,width=6)
- entry_nunmber103.place(x=410, y=30)#
- #2段线路长度104
- nunmber104= tk.StringVar()
- tk.Label(window101, text='第2段线路长度:',font=('Arial',18)).place(x=600, y=30)#
- entry_nunmber104 = tk.Entry(window101, textvariable=nunmber104,width=6)
- entry_nunmber104.place(x=735, y=30)#
- tk.Label(window101, text='km',font=('Arial',18)).place(x=800, y=30)#
- #2段线路单位阻抗105,106
- nunmber105 = tk.StringVar()
- tk.Label(window101, text='单位阻抗:',font=('Arial',18)).place(x=840, y=30)#
- entry_nunmber105 = tk.Entry(window101, textvariable=nunmber105,width=6)
- entry_nunmber105.place(x=925, y=30)#
- tk.Label(window101, text='+j',font=('Arial',18)).place(x=990, y=30)#
- nunmber106 = tk.StringVar()
- entry_nunmber106 = tk.Entry(window101, textvariable=nunmber106,width=6)
- entry_nunmber106.place(x=1010, y=30)#
- #3段线路长度107
- nunmber107 = tk.StringVar()
- tk.Label(window101, text='第3段线路长度:',font=('Arial',18)).place(x=0, y=60)#
- entry_nunmber107 = tk.Entry(window101, textvariable=nunmber107,width=6)
- entry_nunmber107.place(x=135, y=60)#
- tk.Label(window101, text='km',font=('Arial',18)).place(x=200, y=60)#
- #3段线路单位阻抗108,109
- nunmber108 = tk.StringVar()
- tk.Label(window101, text='单位阻抗:',font=('Arial',18)).place(x=240, y=60)#
- entry_nunmber108 = tk.Entry(window101, textvariable=nunmber108,width=6)
- entry_nunmber108.place(x=325, y=60)#
- tk.Label(window101, text='+j',font=('Arial',18)).place(x=390, y=60)#
- nunmber109 = tk.StringVar()
- entry_nunmber109 = tk.Entry(window101, textvariable=nunmber109,width=6)
- entry_nunmber109.place(x=410, y=60)#
- #4段线路长度110
- nunmber110= tk.StringVar()
- tk.Label(window101, text='第4段线路长度:',font=('Arial',18)).place(x=600, y=60)#
- entry_nunmber110 = tk.Entry(window101, textvariable=nunmber110,width=6)
- entry_nunmber110.place(x=735, y=60)#
- tk.Label(window101, text='km',font=('Arial',18)).place(x=800, y=60)#
- #4段线路单位阻抗111,112
- nunmber111 = tk.StringVar()
- tk.Label(window101, text='单位阻抗:',font=('Arial',18)).place(x=840, y=60)#
- entry_nunmber111 = tk.Entry(window101, textvariable=nunmber111,width=6)
- entry_nunmber111.place(x=925, y=60)#
- tk.Label(window101, text='+j',font=('Arial',18)).place(x=990, y=60)#
- nunmber112 = tk.StringVar()
- entry_nunmber112 = tk.Entry(window101, textvariable=nunmber112,width=6)
- entry_nunmber112.place(x=1010, y=60)#
- #基准电压,基准容量113,114
- nunmber113 = tk.StringVar()
- nunmber113.set('10.5')
- tk.Label(window101, text='基准电压:',font=('Arial',18)).place(x=0, y=90)#
- entry_nunmber113 = tk.Entry(window101, textvariable=nunmber113,width=6)
- entry_nunmber113.place(x=85, y=90)#
- tk.Label(window101, text='kV',font=('Arial',18)).place(x=150, y=90)#
- nunmber114 = tk.StringVar()
- nunmber114.set('100')
- tk.Label(window101, text='基准容量:',font=('Arial',18)).place(x=200, y=90)#
- entry_nunmber114 = tk.Entry(window101, textvariable=nunmber114,width=6)
- entry_nunmber114.place(x=285, y=90)#
- tk.Label(window101, text='MVA',font=('Arial',18)).place(x=350, y=90)#
- #CT变比115,116
- tk.Label(window101, text='CT变比:',font=('Arial',18)).place(x=410, y=90)#
- nunmber115 = tk.StringVar()
- entry_nunmber115 = tk.Entry(window101, textvariable=nunmber115,width=6)
- entry_nunmber115.place(x=480, y=90)#
- tk.Label(window101, text='/',font=('Arial',18)).place(x=545, y=90)#
- nunmber116 = tk.StringVar()
- entry_nunmber116 = tk.Entry(window101, textvariable=nunmber116,width=6)
- entry_nunmber116.place(x=560, y=90)#
- #10kV母线最大/小运行方式下等值阻抗为117,118
- tk.Label(window101, text='10kV母线最大/小运行方式下等值阻抗为:',font=('Arial',18)).place(x=655, y=90)#
- tk.Label(window101, text='大',font=('Arial',18)).place(x=985, y=90)#
- nunmber117 = tk.StringVar()
- entry_nunmber117 = tk.Entry(window101, textvariable=nunmber117,width=6)
- entry_nunmber117.place(x=1008, y=90)#
- tk.Label(window101, text='小',font=('Arial',18)).place(x=1073, y=90)#
- nunmber118 = tk.StringVar()
- entry_nunmber118 = tk.Entry(window101, textvariable=nunmber118,width=6)
- entry_nunmber118.place(x=1096, y=90)#
- #过流Ⅰ段(电流速断)119,120,121 btn101
- tk.Label(window101, text='过流Ⅰ段(电流速断)',font=('Arial',18)).place(x=0, y=120+30)#
- tk.Label(window101, text='按躲过本线路末端三相最大短路电流整定',font=('Arial',18)).place(x=0, y=150+30)#
- tk.Label(window101, text='可靠系数:',font=('Arial',18)).place(x=360, y=150+30)#
- nunmber119 = tk.StringVar()
- nunmber119.set('1.3')
- entry_nunmber119 = tk.Entry(window101, textvariable=nunmber119,width=6)
- entry_nunmber119.place(x=445, y=150+30)#
- btn101=tk.Button(window101,text='整定计算',command=add102,font=('Arial',18))
- btn101.place(x=550,y=150+30)#
- tk.Label(window101, text='过流Ⅰ段定值:',font=('Arial',18)).place(x=650, y=150+30)#
- nunmber120 = tk.StringVar()
- entry_nunmber120 = tk.Entry(window101, textvariable=nunmber120,width=6)
- entry_nunmber120.place(x=650+120, y=150+30)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=650+120+65, y=150+30)#
- tk.Label(window101, text='过流Ⅰ段时间:',font=('Arial',18)).place(x=650+120+65+50, y=150+30)#
- nunmber121 = tk.StringVar()
- entry_nunmber121 = tk.Entry(window101, textvariable=nunmber121,width=6)
- entry_nunmber121.place(x=650+120+65+50+120, y=150+30)#
- tk.Label(window101, text='s',font=('Arial',18)).place(x=650+120+65+50+120+65, y=150+30)#
- #过流Ⅰ段(变压器)(电流速断)122,123,124,125,126,1261,1262 btn102 btn1021
- tk.Label(window101, text='按躲过本线路最大变压器其他侧母线三相最大短路电流整定(请填写本线路最大变压器阻抗标幺值和线路出口至最大变压器线路阻抗标幺值)',font=('Arial',18)).place(x=0, y=180+30)#
- tk.Label(window101, text='变压器阻抗:',font=('Arial',18)).place(x=0, y=210+30)#
- nunmber122 = tk.StringVar()
- entry_nunmber122 = tk.Entry(window101, textvariable=nunmber122,width=6)
- entry_nunmber122.place(x=103, y=210+30)#
- tk.Label(window101, text='线路阻抗:',font=('Arial',18)).place(x=189, y=210+30)#
- nunmber123 = tk.StringVar()
- entry_nunmber123 = tk.Entry(window101, textvariable=nunmber123,width=6)
- entry_nunmber123.place(x=268+6, y=210+30)#
- tk.Label(window101, text='可靠系数:',font=('Arial',18)).place(x=360, y=210+30)#
- nunmber124 = tk.StringVar()
- nunmber124.set('1.3')
- entry_nunmber124 = tk.Entry(window101, textvariable=nunmber124,width=6)
- entry_nunmber124.place(x=445, y=210+30)#
- btn102=tk.Button(window101,text='整定计算',command=add102,font=('Arial',18))
- btn102.place(x=550,y=210+30)#
- tk.Label(window101, text='过流Ⅰ段定值:',font=('Arial',18)).place(x=650, y=210+30)#
- nunmber125 = tk.StringVar()
- entry_nunmber125 = tk.Entry(window101, textvariable=nunmber125,width=6)
- entry_nunmber125.place(x=650+120, y=210+30)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=650+120+65, y=210+30)#
- tk.Label(window101, text='过流Ⅰ段时间:',font=('Arial',18)).place(x=650+120+65+50, y=210+30)#
- nunmber126 = tk.StringVar()
- entry_nunmber126 = tk.Entry(window101, textvariable=nunmber126,width=6)
- entry_nunmber126.place(x=650+120+65+50+120, y=210+30)#
- tk.Label(window101, text='s',font=('Arial',18)).place(x=650+120+65+50+120+65, y=210+30)#
- tk.Label(window101, text='校验过流保护对母线(线路出口)灵敏度',font=('Arial',18)).place(x=0, y=270)#
- tk.Label(window101, text='过流Ⅰ段定值:',font=('Arial',18)).place(x=325, y=270)#
- nunmber1261 = tk.StringVar()
- entry_nunmber1261 = tk.Entry(window101, textvariable=nunmber1261,width=6)
- entry_nunmber1261.place(x=325+120, y=270)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=325+120+65, y=270)#
- btn1021=tk.Button(window101,text='灵敏度校验',command=add102,font=('Arial',18))
- btn1021.place(x=550,y=270)#
- tk.Label(window101, text='灵敏度:',font=('Arial',18)).place(x=650+53, y=270)#
- nunmber1262 = tk.StringVar()
- entry_nunmber1262 = tk.Entry(window101, textvariable=nunmber1262,width=6)
- entry_nunmber1262.place(x=650+120, y=270)#
- #过流Ⅱ段(限时速断)127,128,129 btn103
- tk.Label(window101, text='过流Ⅱ段(限时速断)',font=('Arial',18)).place(x=0, y=240+90)#
- tk.Label(window101, text='按本线路末端故障时有规定的灵敏度整定',font=('Arial',18)).place(x=0, y=270+90)#
- tk.Label(window101, text='可靠系数:',font=('Arial',18)).place(x=360, y=270+90)#
- nunmber127 = tk.StringVar()
- nunmber127.set('1.5')
- entry_nunmber127 = tk.Entry(window101, textvariable=nunmber127,width=6)
- entry_nunmber127.place(x=445, y=270+90)#
- btn103=tk.Button(window101,text='整定计算',command=add102,font=('Arial',18))
- btn103.place(x=550,y=285+90)#
- tk.Label(window101, text='过流Ⅱ段定值:',font=('Arial',18)).place(x=650, y=270+90)#
- nunmber128 = tk.StringVar()
- entry_nunmber128 = tk.Entry(window101, textvariable=nunmber128,width=6)
- entry_nunmber128.place(x=650+120, y=270+90)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=650+120+65, y=270+90)#
- tk.Label(window101, text='过流Ⅱ段时间:',font=('Arial',18)).place(x=650+120+65+50, y=270+90)#
- nunmber129 = tk.StringVar()
- entry_nunmber129 = tk.Entry(window101, textvariable=nunmber129,width=6)
- entry_nunmber129.place(x=650+120+65+50+120, y=270+90)#
- tk.Label(window101, text='s',font=('Arial',18)).place(x=650+120+65+50+120+65, y=270+90)#
- #过流Ⅱ段(限时速断)(变压器)1271,1281,1291
- tk.Label(window101, text='按与主变低压侧限时速断定值相配合整定',font=('Arial',18)).place(x=0, y=300+90)#
- tk.Label(window101, text='可靠系数:',font=('Arial',18)).place(x=360, y=300+90)#
- nunmber1271 = tk.StringVar()
- nunmber1271.set('1.2')
- entry_nunmber1271 = tk.Entry(window101, textvariable=nunmber1271,width=6)
- entry_nunmber1271.place(x=445, y=300+90)#
- tk.Label(window101, text='过流Ⅱ段定值:',font=('Arial',18)).place(x=650, y=300+90)#
- nunmber1281 = tk.StringVar()
- entry_nunmber1281 = tk.Entry(window101, textvariable=nunmber1281,width=6)
- entry_nunmber1281.place(x=650+120, y=300+90)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=650+120+65, y=300+90)#
- tk.Label(window101, text='过流Ⅱ段时间:',font=('Arial',18)).place(x=650+120+65+50, y=300+90)#
- nunmber1291 = tk.StringVar()
- entry_nunmber1291 = tk.Entry(window101, textvariable=nunmber1291,width=6)
- entry_nunmber1291.place(x=650+120+65+50+120, y=300+90)#
- tk.Label(window101, text='s',font=('Arial',18)).place(x=650+120+65+50+120+65, y=300+90)#
- #过流Ⅲ段(定时过流)130,131,132,133,134,btn104
- tk.Label(window101, text='过流Ⅲ段(定时过流)',font=('Arial',18)).place(x=0, y=450)#
- tk.Label(window101, text='按躲过最大负荷电流整定(正常最大负荷电流按导线允许电流和CT一次值取小)',font=('Arial',18)).place(x=0, y=450+30)#
- tk.Label(window101, text='最大负荷电流:',font=('Arial',18)).place(x=0, y=510)#
- nunmber130 = tk.StringVar()
- nunmber130.set('5')
- entry_nunmber130 = tk.Entry(window101, textvariable=nunmber130,width=6)
- entry_nunmber130.place(x=120, y=510)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=120+65, y=510)#
- tk.Label(window101, text='可靠系数:',font=('Arial',18)).place(x=220, y=510)#
- nunmber131 = tk.StringVar()
- nunmber131.set('1.2')
- entry_nunmber131 = tk.Entry(window101, textvariable=nunmber131,width=6)
- entry_nunmber131.place(x=220+85, y=510)#
- tk.Label(window101, text='返回系数:',font=('Arial',18)).place(x=320+50, y=510)#
- nunmber132 = tk.StringVar()
- nunmber132.set('0.95')
- entry_nunmber132 = tk.Entry(window101, textvariable=nunmber132,width=6)
- entry_nunmber132.place(x=320+50+85, y=510)#
- tk.Label(window101, text='过流Ⅲ段定值:',font=('Arial',18)).place(x=650, y=510)#
- nunmber133 = tk.StringVar()
- entry_nunmber133 = tk.Entry(window101, textvariable=nunmber133,width=6)
- entry_nunmber133.place(x=650+120, y=510)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=650+120+65, y=510)#
- tk.Label(window101, text='过流Ⅲ段时间:',font=('Arial',18)).place(x=650+120+65+50, y=510)#
- nunmber134 = tk.StringVar()
- entry_nunmber134 = tk.Entry(window101, textvariable=nunmber134,width=6)
- entry_nunmber134.place(x=650+120+65+50+120, y=510)#
- tk.Label(window101, text='s',font=('Arial',18)).place(x=650+120+65+50+120+65, y=510)#
- btn104=tk.Button(window101,text='整定计算',command=add102,font=('Arial',18))
- btn104.place(x=550,y=510)#
- #过流Ⅲ段(定时过流)上级主变本侧复压闭锁过流定值135,136,137,138,btn105
- tk.Label(window101, text='按与上级主变本侧复压闭锁过流定值相配合',font=('Arial',18)).place(x=0, y=540)#
- tk.Label(window101, text='上级主变本侧复压闭锁过流定值:',font=('Arial',18)).place(x=0, y=570)#
- nunmber135 = tk.StringVar()
- entry_nunmber135 = tk.Entry(window101, textvariable=nunmber135,width=6)
- entry_nunmber135.place(x=265, y=570)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=265+65, y=570)#
- tk.Label(window101, text='可靠系数:',font=('Arial',18)).place(x=360, y=570)#
- nunmber136 = tk.StringVar()
- nunmber136.set('1.2')
- entry_nunmber136 = tk.Entry(window101, textvariable=nunmber136,width=6)
- entry_nunmber136.place(x=445, y=570)#
- tk.Label(window101, text='过流Ⅲ段定值:',font=('Arial',18)).place(x=650, y=570)#
- nunmber137 = tk.StringVar()
- entry_nunmber137 = tk.Entry(window101, textvariable=nunmber137,width=6)
- entry_nunmber137.place(x=650+120, y=570)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=650+120+65, y=570)#
- tk.Label(window101, text='过流Ⅲ段时间:',font=('Arial',18)).place(x=650+120+65+50, y=570)#
- nunmber138 = tk.StringVar()
- entry_nunmber138 = tk.Entry(window101, textvariable=nunmber138,width=6)
- entry_nunmber138.place(x=650+120+65+50+120, y=570)#
- tk.Label(window101, text='s',font=('Arial',18)).place(x=650+120+65+50+120+65, y=570)#
- btn105=tk.Button(window101,text='整定计算',command=add102,font=('Arial',18))
- btn105.place(x=550,y=570)#
- #校验过流保护对本线路末端灵敏度139,140.btn106
- tk.Label(window101, text='校验过流保护对本线路末端灵敏度',font=('Arial',18)).place(x=0, y=600)#
- tk.Label(window101, text='过流Ⅲ段定值:',font=('Arial',18)).place(x=325, y=600)#
- nunmber139 = tk.StringVar()
- entry_nunmber139 = tk.Entry(window101, textvariable=nunmber139,width=6)
- entry_nunmber139.place(x=325+120, y=600)#
- tk.Label(window101, text='A',font=('Arial',18)).place(x=325+120+65, y=600)#
- btn106=tk.Button(window101,text='灵敏度校验',command=add102,font=('Arial',18))
- btn106.place(x=550,y=600)#
- tk.Label(window101, text='灵敏度:',font=('Arial',18)).place(x=650+53, y=600)#
- nunmber140 = tk.StringVar()
- entry_nunmber140 = tk.Entry(window101, textvariable=nunmber140,width=6)
- entry_nunmber140.place(x=650+120, y=600)#
-
- #按钮制定
- pady=16
- btn_byq=tk.Button(window,text='66kV变压器保护',command=none1,font=('Arial',30))
- btn_byq.pack(pady=pady)
- btn_line10=tk.Button(window,text='10kV线路保护',command=line10,font=('Arial',30))
- btn_line10.pack(pady=pady)
- btn_C=tk.Button(window,text='10kV电容器保护',command=none1,font=('Arial',30))
- btn_C.pack(pady=pady)
- btn_jdb=tk.Button(window,text='10kV接地变/站用变保护',command=none1,font=('Arial',30))
- btn_jdb.pack(pady=pady)
- btn_fd=tk.Button(window,text='10kV分段保护',command=none1,font=('Arial',30))
- btn_fd.pack(pady=pady)
- window.mainloop()
复制代码 |
|