mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-02 00:42:29 +00:00
init
This commit is contained in:
71
lua/metrostroi/systems/sys_yar_10a.lua
Normal file
71
lua/metrostroi/systems/sys_yar_10a.lua
Normal file
@@ -0,0 +1,71 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- Box with relays (YaR-10A)
|
||||
--------------------------------------------------------------------------------
|
||||
-- Copyright (C) 2013-2018 Metrostroi Team & FoxWorks Aerospace s.r.o.
|
||||
-- Contains proprietary code. See license.txt for additional information.
|
||||
--------------------------------------------------------------------------------
|
||||
Metrostroi.DefineSystem("YAR_10A")
|
||||
|
||||
function TRAIN_SYSTEM:Initialize()
|
||||
-- Реле перегрузки (РПЛ)
|
||||
self.Train:LoadSystem("RPL","Relay","RM3001", { trigger_level = 1400 })
|
||||
-- Групповое реле перегрузки 1-3 (РП1-3)
|
||||
self.Train:LoadSystem("RP1_3","Relay","RM3001",{ trigger_level = 760 }) --630 })
|
||||
-- Групповое реле перегрузки 2-4 (РП2-4)
|
||||
self.Train:LoadSystem("RP2_4","Relay","RM3001",{ trigger_level = 760 }) --630 })
|
||||
|
||||
-- Нулевое реле (НР)
|
||||
self.Train:LoadSystem("NR","Relay","R3150", { power_source = "None" })
|
||||
-- Реле управления
|
||||
--self.Train:LoadSystem("RSU","Relay","R3100")
|
||||
|
||||
-- Реле заземления (РЗ-1, РЗ-2, РЗ-3)
|
||||
self.Train:LoadSystem("RZ_1","Relay","RM3001")
|
||||
self.Train:LoadSystem("RZ_2","Relay","RM3001")
|
||||
self.Train:LoadSystem("RZ_3","Relay","RM3001")
|
||||
-- Возврат реле перегрузки (РПвозврат)
|
||||
self.Train:LoadSystem("RPvozvrat","Relay","RM3001",{
|
||||
latched = true, -- RPvozvrat latches into place
|
||||
power_open = "None", -- Power source for the open signal
|
||||
power_close = "Mechanical", -- Power source for the close signal
|
||||
})
|
||||
|
||||
-- Реле ручного тормоза (РРТ)
|
||||
self.Train:LoadSystem("RRT","Relay")
|
||||
self.Train:LoadSystem("RS","Relay")
|
||||
|
||||
-- Need many iterations for engine simulation to converge
|
||||
self.SubIterations = 4
|
||||
end
|
||||
|
||||
function TRAIN_SYSTEM:Inputs()
|
||||
return { }
|
||||
end
|
||||
function TRAIN_SYSTEM:Outputs()
|
||||
return { }
|
||||
end
|
||||
|
||||
function TRAIN_SYSTEM:TriggerInput(name,value)
|
||||
end
|
||||
|
||||
function TRAIN_SYSTEM:Think()
|
||||
local Train = self.Train
|
||||
-- Zero relay operation
|
||||
Train.NR:TriggerInput("Close",Train.Electric.Aux750V > 360) -- 360 - 380 V
|
||||
Train.NR:TriggerInput("Open", Train.Electric.Aux750V < 150) -- 120 - 190 V
|
||||
-- Overload relays operation
|
||||
Train.RP1_3:TriggerInput("Set",math.abs(Train.Electric.I13))
|
||||
Train.RP2_4:TriggerInput("Set",math.abs(Train.Electric.I24))
|
||||
Train.RPL:TriggerInput("Set",Train.Electric.Itotal)
|
||||
|
||||
-- RPvozvrat operation
|
||||
Train.RPvozvrat:TriggerInput("Close",
|
||||
--(Train.DR1.Value == 1.0) or
|
||||
--(Train.DR2.Value == 1.0) or
|
||||
(Train.RPL.Value == 1.0) or
|
||||
(Train.RP1_3.Value == 1.0) or
|
||||
(Train.RP2_4.Value == 1.0) or
|
||||
(Train.RZ_1.Value == 1.0) or
|
||||
(Train.RZ_2.Value == 1.0) or
|
||||
(Train.RZ_3.Value == 1.0))
|
||||
end
|
||||
Reference in New Issue
Block a user