Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # coding: utf-8
- # In[49]:
- #Рассчитать параметры нечетных защит - 0;
- #Рассчитать параметры четных защит - 1;
- #Iн1=133 А, Iн2=95 А,
- #lw1=3 км, lw2=5 км, lw3=5 км, Xуд=0.4 Ом
- #S(3)КЗ=210 МВА,Uном=37 кВ,
- #tс.з.7=1.3 с, tс.з.8=1.7 с, Δt=0.5 с,
- #kз=1.25, k`з=1.6, kотс=1.1, kотс=1.1,kв=0.9
- # dano
- def p(a):
- print(a)
- def f1():
- global In1,In2,Lw1,Lw2,Lw3,Xud,S3kz,Unom,tsz7,tsz8,dt,kz,kiz,kots,kv
- In1 = 147
- In2 = 98
- Lw1 = 5
- Lw2 = 6
- Lw3 = 7
- Xud = 0.4
- S3kz = 250*10**6
- Unom = 37*1000
- tsz7 = 1.4
- tsz8 = 1
- dt = 0.5
- kz = 1.3
- kiz = 1.5
- kots = 1.1
- kv = 0.9
- def f2():
- global In1,In2,Lw1,Lw2,Lw3,Xud,S3kz,Unom,tsz7,tsz8,dt,kz,kiz,kots,kv
- In1 = 151
- In2 = 108
- Lw1 = 3
- Lw2 = 5
- Lw3 = 5
- Xud = 0.4
- S3kz = 210*10**6
- Unom = 37*1000
- tsz7 = 1.3
- tsz8 = 1.7
- dt = 0.5
- kz = 1.25
- kiz = 1.6
- kots = 1.1
- kv = 0.9
- def f3():
- global In1,In2,Lw1,Lw2,Lw3,Xud,S3kz,Unom,tsz7,tsz8,dt,kz,kiz,kots,kv
- In1 = 120
- In2 = 83
- Lw1 = 6
- Lw2 = 11
- Lw3 = 9
- Xud = 0.4
- S3kz = 190*10**6
- Unom = 37*1000
- tsz7 = 1.1
- tsz8 = 1.4
- dt = 0.5
- kz = 1.3
- kiz = 1.6
- kots = 1.1
- kv = 0.9
- class Z():
- def Z(self):
- return(self.__dict__)
- f1()
- # In[50]:
- # Расчет времени срабатывания защит
- t = Z()
- t.tsz3 = tsz8 + dt
- t.tsz1 = max([t.tsz3, tsz7]) + dt
- t.tsz4 = tsz7 + dt
- t.tsz6 = max([t.tsz4, tsz8]) + dt
- t.tsz2 = 0
- t.tsz5 = 0
- out=t.Z()
- dic1=dict(sorted(out.items(),key= lambda x:x[1]))
- dic1
- # Режим ТАБЛИЦА
- # Замкнутое кольцо
- zk = Z()
- zk.z1 = ( In1 * ( Lw2 + Lw3) + In2 * Lw3 ) / (Lw1 + Lw2 + Lw3 )
- zk.z2 = -zk.z1
- zk.z3 = zk.z1 - In1
- zk.z4 = -zk.z3
- zk.z5 = -(In2 - zk.z3)
- zk.z6 = - zk.z5
- out=zk.Z()
- out
- #Замкнутое кольцо
- #Отключ. Q1
- q1 = Z()
- q1.q1 = 0
- q1.q2 = 0
- q1.q3 = -In1
- q1.q4 = -q1.q3
- q1.q5 = - ( In1 + In2 )
- q1.q6 = - q1.q5
- out=q1.Z()
- out
- #Отключ. Q1
- #Отключ. Q2
- q2 = Z()
- q2.q1 = In1 + In2
- q2.q2 = -q2.q1
- q2.q3 = In2
- q2.q4 = - In2
- q2.q5 = 0
- q2.q6 = 0
- out=q2.Z()
- out
- #Отключ. Q2
- # Установка органов направления мощности
- #1 - ОНМ устанавливается, 0 - ОНМ не устанавливается
- t.list = [t.tsz1, t.tsz2 ,t.tsz3 ,t.tsz4, t.tsz5, t.tsz6, tsz7, tsz8]
- out=t.Z()
- list1=[]
- for i in range(0, len(t.list)-1):
- list1.append( int(t.list[i]<t.list[i+1]) )
- list1[3] = list1[6]
- list1[0:6]
- # Расчет тока срабатывания защиты 5(2)
- # Isz
- #Isz5_2 =( kots * max([In1, In2]) ) / kv
- Isz5_2 =( kots * max(list(zk.Z().values())) ) / kv
- if [0, 1, 1, 0, 1, 0] == list1[0:6]:
- Isz5_2 =( kots * max([zk.z3,zk.z4,zk.z5,zk.z6]) ) / kv
- print(Isz5_2)
- # Расчет тока срабатывания защиты 3(4)
- #
- Isz14=Z()
- Isz14.i1 = kots * kz * max([In2, In1]) / kv
- Isz14.i2 = kots * kiz * max([In2, In1])
- Isz14.i3 = kots * Isz5_2
- Isz14.i4 = kots * min([In1, In2]) / kv
- # выбранный ток ISZ3_4
- if [0, 1, 1, 0, 1, 0] != list1[0:6]:
- Isz14.i5 = max(list(Isz14.Z().values()))
- if [0, 1, 1, 0, 1, 0] == list1[0:6]:
- Isz14.i1 = kots * kz * min([In2, In1]) / kv
- Isz14.i2 = kots * kiz * min([In2, In1])
- Isz14.i3 = kots * Isz5_2
- Isz14.i4 = kots * max([In1, In2]) / kv
- Isz14.i5 = max(list(Isz14.Z().values()))
- out=Isz14.Z()
- out
- # Расчет тока срабатывания защиты 1(6)
- #
- Isz16=Z()
- Isz16.i1 = kots * kz * ( In1 + In2 ) / kv
- Isz16.i2 = kots * kiz * ( In1 + In2 )
- Isz16.i3 = kots * Isz14.i2
- Isz16.i4 = 0
- # выбранный ток ISZ3_4
- Isz16.i5 = max(list(Isz16.Z().values()))
- out=Isz16.Z()
- out
- # Сопротивления элементов
- #
- X = Z()
- X.xc = Unom**2 / S3kz
- X.v1 = Xud * Lw1
- X.v2 = Xud * Lw2
- X.v3 = Xud * Lw3
- out=X.Z()
- out
- # Токи КЗ при К(3)
- IKZ = Z()
- XsumK1 = X.xc + (X.v1 * ( X.v2 + X.v3 )) / (X.v1 + X.v2 + X.v3)
- IKZ.ik1 = Unom / ( 3**0.5 * XsumK1 )
- XsumK2 = X.xc + (X.v3 * ( X.v1 + X.v2 )) / (X.v1 + X.v2 + X.v3)
- IKZ.ik2 = Unom / ( 3**0.5 * XsumK2 )
- if [0, 1, 1, 0, 1, 0] != list1[0:6]:
- XvMin = X.v3
- IKZ.kaskad = Unom /((3**0.5 )*(X.xc + XvMin))
- p('2')
- if [0, 1, 1, 0, 1, 0] == list1[0:6]:
- XvMin = min([X.v1,X.v2,X.v3])
- IKZ.kaskad = Unom /((3**0.5 )*(X.xc + XvMin))
- p('1')
- out=IKZ.Z()
- out
- # Токи в защите 1(6) при К(3)
- IK = Z()
- IK.ik1 = IKZ.ik1 * ( X.v1 ) / (X.v1 + X.v2 + X.v3)
- IK.ik2= IKZ.ik2 * ( X.v1+ X.v2 ) / (X.v1 + X.v2 + X.v3)
- IK.ik3 = IKZ.kaskad * 1
- if [0, 1, 1, 0, 1, 0] == list1[0:6]:
- IK.ik1 = IKZ.ik1 * ( X.v2+ X.v3 ) / (X.v1 + X.v2 + X.v3)
- IK.ik2= IKZ.ik2 * ( X.v3 ) / (X.v1 + X.v2 + X.v3)
- out=IK.Z()
- print(out)
- # Чувствительность защиты 1(6) в точке К1
- kchK1 = Z()
- f3ToF2 = 1/(3**0.5/2)
- IszMax = max([Isz16.i5, Isz14.i5])
- kchK1.kch3 = IK.ik1 /Isz16.i5
- kchK1.kch2 = IK.ik1 / IszMax /f3ToF2
- out=kchK1.Z()
- p(out)
- kchK2 = Z()
- f3ToF2 = 1/(3**0.5/2)
- IszMax = max([Isz16.i5, Isz14.i5])
- kchK2.kch3 = IK.ik2 /IszMax
- kchK2.kch2 = IK.ik2 / IszMax /f3ToF2
- out=kchK2.Z()
- p(out)
- kchK = Z()
- f3ToF2 = 1/(3**0.5/2)
- IszMax = max([Isz16.i5, Isz14.i5])
- kchK.kch3 = IK.ik3 /IszMax
- kchK.kch2 = IK.ik3 / IszMax /f3ToF2
- out=kchK.Z()
- p(out)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement