1
0
mirror of https://github.com/metrostroi-repo/MetrostroiAddon.git synced 2026-05-02 00:42:29 +00:00
Files
MetrostroiAddon/lua/metrostroi/systems/sys_gen_res_717.lua
g_brzhezinskiy 1d05caf866 init
2021-01-02 12:51:45 +03:00

218 lines
6.6 KiB
Lua

--------------------------------------------------------------------------------
-- 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