-------------------------------------------------------------------------------- -- Resistor arrays calculations -------------------------------------------------------------------------------- -- Copyright (C) 2013-2018 Metrostroi Team & FoxWorks Aerospace s.r.o. -- Contains proprietary code. See license.txt for additional information. -------------------------------------------------------------------------------- --[[ Rxx PS PP1 PP2 PT PS1 PS2 PT1 PT2 S1 S2 R01 = 4.263 0.000 0.000 2.270 2.468 1.795 1.100 1.170 0.007 0.007 R02 = 4.263 0.000 0.000 2.270 2.468 1.795 1.100 1.170 0.007 0.007 R03 = 3.318 0.000 0.000 2.058 1.523 1.795 0.888 1.170 0.021 0.021 R04 = 2.607 0.000 0.000 1.755 1.523 1.084 0.888 0.867 0.049 0.049 R05 = 2.122 0.000 0.000 1.596 1.038 1.084 0.729 0.867 0.112 0.112 R06 = 1.978 0.000 0.000 1.538 0.894 1.084 0.671 0.867 0.112 0.112 R07 = 1.858 0.144 0.000 1.477 0.894 0.964 0.671 0.805 0.112 0.112 R08 = 1.668 0.144 0.120 1.371 0.894 0.774 0.671 0.700 0.112 0.112 R09 = 1.548 0.144 0.310 1.319 0.774 0.774 0.619 0.700 0.112 0.112 R10 = 1.328 0.264 0.310 1.211 0.554 0.774 0.510 0.700 0.112 0.112 R11 = 1.108 0.484 0.310 1.075 0.554 0.554 0.510 0.564 0.112 0.112 R12 = 0.888 0.484 0.530 0.922 0.554 0.334 0.510 0.411 0.112 0.112 R13 = 0.668 0.484 0.750 0.793 0.334 0.334 0.382 0.411 0.112 0.112 R14 = 0.478 0.704 0.750 0.661 0.144 0.334 0.250 0.411 0.112 0.112 R15 = 0.288 0.894 0.750 0.512 0.144 0.144 0.250 0.262 0.112 0.112 R16 = 0.144 0.894 0.940 0.420 0.144 0.000 0.250 0.170 0.112 0.112 R17 = 0.000 0.894 0.940 0.335 0.000 0.000 0.165 0.170 0.112 0.112 R18 = 0.000 0.894 0.940 0.335 0.000 0.000 0.165 0.170 0.112 0.112 ]]-- -------------------------------------------------------------------------------- -- Resistor arrays calculations - auto-generated by gen.lua -------------------------------------------------------------------------------- Metrostroi.DefineSystem("Gen_Res_717") local R = {} local P13_12 local P12_11 local P10_9 local P9_8 local P8_7 local L8_P1 local L8_6 local P11_10 local P27 local L12_P76 local P24_25 local P4_6 local P6_7 local P3_4 local P17_18 local P18_20 local P20_21 local P21_22 local P22_23 local P23_24 local P25_26 local P29_P28 local P30_P29 local P31_P30 local L76_P31 local P35_L18 local P36_P35 local P37_P36 local L74_P37 -- function TRAIN_SYSTEM.InitializeResistances_81_717(Train) P13_12 = Train.KF_47A["P13_12"] P12_11 = Train.KF_47A["P12_11"] P10_9 = Train.KF_47A["P10_9"] P9_8 = Train.KF_47A["P9_8"] P8_7 = Train.KF_47A["P8_7"] L8_P1 = Train.KF_47A["L8_P1"] L8_6 = Train.KF_47A["L8_6"] P11_10 = Train.KF_47A["P11_10"] P27 = Train.KF_47A["P27"] L12_P76 = Train.KF_47A["L12_P76"] P24_25 = Train.KF_47A["P24_25"] P4_6 = Train.KF_47A["P4_6"] P6_7 = Train.KF_47A["P6_7"] P3_4 = Train.KF_47A["P3_4"] P17_18 = Train.KF_47A["P17_18"] P18_20 = Train.KF_47A["P18_20"] P20_21 = Train.KF_47A["P20_21"] P21_22 = Train.KF_47A["P21_22"] P22_23 = Train.KF_47A["P22_23"] P23_24 = Train.KF_47A["P23_24"] P25_26 = Train.KF_47A["P25_26"] P29_P28 = Train.KF_50A["P29-P28"] P30_P29 = Train.KF_50A["P30-P29"] P31_P30 = Train.KF_50A["P31-P30"] L76_P31 = Train.KF_50A["L76-P31"] P35_L18 = Train.KF_50A["P35-L18"] P36_P35 = Train.KF_50A["P36-P35"] P37_P36 = Train.KF_50A["P37-P36"] L74_P37 = Train.KF_50A["L74-P37"] end function TRAIN_SYSTEM.R1C1(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((PM)^-1 + (P11_10)^-1)^-1 R[2] = ((RK[17])^-1 + (P12_11)^-1)^-1 R[3] = ((RK[19])^-1 + (R[2]+P13_12)^-1)^-1 R[4] = ((RK[5])^-1 + (RK[3]+P3_4)^-1)^-1 R[5] = ((RK[7])^-1 + (R[4]+P4_6)^-1)^-1 R[6] = ((R[5]+P6_7)^-1 + (RK[9])^-1)^-1 R[7] = ((R[6]+P8_7)^-1 + (RK[11])^-1)^-1 R[8] = ((R[7]+P9_8)^-1 + (RK[13])^-1)^-1 R[9] = ((RK[15] + PM)^-1 + (R[8]+P10_9+R[1])^-1)^-1 R[10] = ((L8_P1)^-1 + (L8_6+RK[1])^-1)^-1 R[11] = ((R[9]+R[3])^-1 + (R[10]+PT)^-1)^-1 return R[11] end function TRAIN_SYSTEM.R1C2(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((PM)^-1 + (P11_10)^-1)^-1 R[2] = ((RK[17])^-1 + (P12_11)^-1)^-1 R[3] = ((RK[19])^-1 + (R[2]+P13_12)^-1)^-1 R[4] = ((L8_P1)^-1 + (L8_6+RK[1])^-1)^-1 R[5] = ((RK[15] + PM)^-1 + (R[3]+PT+R[4])^-1)^-1 R[6] = ((RK[13])^-1 + (R[5]+P10_9+R[1])^-1)^-1 R[7] = ((RK[11])^-1 + (R[6]+P9_8)^-1)^-1 R[8] = ((RK[9])^-1 + (R[7]+P8_7)^-1)^-1 R[9] = ((RK[7])^-1 + (R[8]+P6_7)^-1)^-1 R[10] = ((R[9]+P4_6)^-1 + (RK[5])^-1)^-1 R[11] = ((R[10]+P3_4)^-1 + (RK[3])^-1)^-1 return R[11] end function TRAIN_SYSTEM.R2C1(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((PM)^-1 + (P24_25)^-1)^-1 R[2] = ((RK[18])^-1 + (P25_26)^-1)^-1 R[3] = ((RK[6])^-1 + (RK[4]+P17_18)^-1)^-1 R[4] = ((RK[8])^-1 + (R[3]+P18_20)^-1)^-1 R[5] = ((RK[10])^-1 + (R[4]+P20_21)^-1)^-1 R[6] = ((RK[12])^-1 + (R[5]+P21_22)^-1)^-1 R[7] = ((RK[14])^-1 + (R[6]+P22_23)^-1)^-1 R[8] = ((RK[16]+PM)^-1 + (R[7]+P23_24+R[1])^-1)^-1 R[9] = ((P27)^-1 + (L12_P76+RK[2])^-1)^-1 R[10] = ((R[8]+R[2])^-1 + (R[9]+PT)^-1)^-1 return R[10] end function TRAIN_SYSTEM.R2C2(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((PM)^-1 + (P24_25)^-1)^-1 R[2] = ((RK[18])^-1 + (P25_26)^-1)^-1 R[3] = ((P27)^-1 + (L12_P76+RK[2])^-1)^-1 R[4] = ((RK[16]+PM)^-1 + (R[3]+PT+R[2])^-1)^-1 R[5] = ((RK[14])^-1 + (R[4]+P23_24+R[1])^-1)^-1 R[6] = ((RK[12])^-1 + (R[5]+P22_23)^-1)^-1 R[7] = ((RK[10])^-1 + (R[6]+P21_22)^-1)^-1 R[8] = ((RK[8])^-1 + (R[7]+P20_21)^-1)^-1 R[9] = ((RK[6])^-1 + (R[8]+P18_20)^-1)^-1 R[10] = ((R[9]+P17_18)^-1 + (RK[4])^-1)^-1 return R[10] end function TRAIN_SYSTEM.R3(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((P13_P42)^-1 + (RK[20])^-1)^-1 R[2] = ((R[1])^-1 + (P13_P33+P33_P42)^-1)^-1 return R[2] end function TRAIN_SYSTEM.S1(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((L76_P31)^-1 + (RK[21])^-1)^-1 R[2] = ((RK[23])^-1 + (P31_P30+R[1])^-1)^-1 R[3] = ((P30_P29+R[2])^-1 + (RK[25])^-1)^-1 return P29_P28+R[3] end function TRAIN_SYSTEM.S2(Train) local RK = Train.RheostatController local PM = Train.PositionSwitch.RPM local PT = Train.PositionSwitch.RPT R[1] = ((L74_P37)^-1 + (RK[22])^-1)^-1 R[2] = ((RK[24])^-1 + (P37_P36+R[1])^-1)^-1 R[3] = ((P36_P35+R[2])^-1 + (RK[26])^-1)^-1 return P35_L18+R[3] end