Nástroj pro tvorbu .wag pro ORTS

Josef Vogeltanz

Pomocník strojvedoucího
Trainset obsáhlý, a tak jsem si řekl že úpravy .wag souborů alespoň trošku zautomatizuji. Při přepisování definic vozů jsem tak, jako tak používal různých výpočtových nebo převodních tabulek a tak jsem si řekl proč nesložit definiční soubor rovnou v excelu. Ten jde potom přenést kopíruj/vlož do texťáku a doupravit. Používám na to PSPad, odstraňování nadbytečných mezer i řádků mu jde snadno. Stejně tak jako hromadné najdi a nahraď vč. více otevřených souborů naráz. Barevnou syntaxi nevyjímaje. Úprava je omezená, spočívá především v upřesnění pozice světel u osobních vozů.
Zpátky k excelu:
  • Na prvním listu se vkládají do žlutých řádek parametry vozu (na netu je informací dost). Šedé řádky jsou potom počítané z již zadaných údajů nebo výpočtů na jiných listech.
  • Druhý list je samotný generovaný kód pro .wag soubor.
  • Třetí list je výpočet rozměrů a spřáhel z rozměru modelu (ShapeView - CTRL+B nebo CTRL+C). Stále jedu na 80cm, ale v tomto případě je počítáno z čistých rozměrů modelu. Není problém tedy přepočítávat na 30cm. Vypočítán je i řádek ESD_Bounding_Box pro soubor rozměrových dispozic modelu .sd.
  • Třetí list je klasický FCalc a slouží pro výpočet jízdních odporů, zde konkrétně pro ORTSDavis A, B a C.
  • Čtvrtý list počítá brzdné síly z hmotnosti vozu a koeficientu dle metodiky z http://www.coalstonewcastle.com.au/physics/brakes/ Na zbytek je použit brzdový model dle Pajavlaky. Nejdříve jsem používal jeho výpočetní metodu komplet, ale přijde mě dost komplikovaná pro množství vozidel v trainsetu. Udělal jsem tedy kompromis. Spočetl jsem několik různých vozidel (hnacích i vagónů) a podle výsledků upravil výpočetní koeficienty z coalstonewcastle.com.au. Pajavlaky mě možná nechá zastřelit, ale já vycházím z filozofie, že každé vozidlo v trainsetu je neměnné (vagon prázdný, ložený, obsazený, hnací vozidla. Tedy každý má svoji neměnnou hmotnost a tedy i brzdící sílu. Proto jednodušší výpočet s koeficientem.
Zde již slíbený excel
 

Josef Vogeltanz

Pomocník strojvedoucího
Na uložto.cz dávám mírně upravenou verzi nástroje pro tvorbu wag. Umí již sám zapsat správně volbu spřáhel 30cm nebo 80cm (dělal jsem to původně jen pro vlastní užití). Excel je tam hned dvojmo. Jednou jako příklad s parametry pro osobní vůz BDs a podruhé jako příklad s parametry pro nákladní vůz Eas s kulatinou. A k tomu (na Šnekův podnět) návod, jak s tím zacházet.

U osobních vozů je ve výsledném kódu ještě nutné dodatečně ladit pozici osvětlení, popř. doplnit interní pohled. U nákladních vozů stačí odmazat nadbytečné prázdné řádky.
 

Pajavlaky

Průvodčí
Tebou použitý brzdový model byl zpracován pro MSTS nikoliv pro OR, z principu to tedy nemůže fungovat dobře. Co se týče stanovení MaxBrakeForce, platí to samé - excelovský nástroj, na který narážíš, určuje správnou hodnotu pro MSTS, nikoliv pro OR. Správné hodnoty MaxBrakeForce pro OR se sice dají spočítat technologií, kterou ukazuji na svojich stránkách, ta bohužel však vyžaduje poměrně důkladné znalosti, profesionální matematický software, a jde o několikanásobně náročnější proces, než jakým je výpočet MaxBrakeForce pro MSTS, který jsi i tak zavrhl jako příliš komplikovaný... Jinými slovy, kromě křivky ORTSBrakeShoeFriction a technologie výpočtu MaxBrakeForce z mé strany pro OR zatím nic vytvořeno není. Tolik k faktickým a zásadním chybám.
 

Pajavlaky

Průvodčí
Mimochodem, namátkou jsem si zkusil podle tvého přepočtu určit MaxBrakeForce pro klasický Béčko. Hodilo to nějakých 60 kN, což je naprosto mimo - v MSTS bude vůz brzdit moc, v OR naopak velmi málo. Správné hodnoty jsou zhruba 47 kN pro MSTS a 137 kN pro OR...
 

Josef Vogeltanz

Pomocník strojvedoucího
Ano, to je skutečně moje chyba. Nejdříve jsem na to tvrzení nedůvěřivě zíral a přemýšlel proč by u obou simulátorů měl být trojnásobný rozdíl u stejného parametru. Potom jsem si ale uvědomil, že na tom může něco být. Skutečně mívám často problémy s dobržděním. Ale ty jsem dával spíše do souvislosti se svojí nešikovností, než nastavením chování vozů. Potom jsem se vrátil ke zdroji, ze kterého jsem čerpal pro zjednodušený výpočet. A zjišťuji, že jsem si to špatně nebo málo přečetl. Oni tam sice pracují s koeficienty, ale hned dvěma: NBR (net braking ratio) pro různé typy vozů a koeficientem tření. A právě ten jsem vynechal. Po jeho "návratu" se prázdné Béčko o 39 t skutečně dostává na hodnotu MaxBrakeForce kolem 140kN. Takže když jsem odmítl složitý matematický výpočet, mohl jsem si alespoň pořádně prostudovat jeho náhradní metodu.
Děkuji za nápovědu.
 

Josef Vogeltanz

Pomocník strojvedoucího
Přidávám ještě Engine část .eng. Varianty s funkčním diesel-hydromechanickým přenosem výkonu - převodovka Praga 2M70. Řazení je automatické.
Kód:
Engine ( CD_810100
Comment ( "Sekce pohon" )
Comment ( "LIAZ M634 a Praga 2M70" )

Comment ( "Projevy pohonu" )
Effects(
DieselSpecialEffects ( Exhaust1 ( -0.675 3.724 3.032 0 1 0 0.08 ) )
)

Comment ( "Obecne informace pohonu" )
Wagon ( CD_810100 )

Comment ( "Agregat" )
ORTSDieselEngines ( 1
Diesel (
IdleRPM ( 600 )
MaxRPM ( 2150 )
StartingRPM ( 120 )
StartingConfirmRPM ( 660 )
ChangeUpRPMpS ( 150 )
ChangeDownRPMpS ( 200 )
RateOfChangeUpRPMpSS ( 10 )
RateOfChangeDownRPMpSS ( 20 )
MaximalPower ( 155kW )
IdleExhaust ( 0.01 )
MaxExhaust ( 0.1 )
ExhaustDynamics ( 10 )
ExhaustColor ( 00 fe )
ExhaustTransientColor ( 00 00 00 00 )
DieselPowerTab (
0 0
600 31000
2150 155000
)
DieselConsumptionTab (
0 0
600 10
2150 120
)
ThrottleRPMTab (
0 600
100 2150
)
DieselTorqueTab (
0 0
600 7500
2150 29000
)
MinOilPressure ( 29 )
MaxOilPressure ( 64 )
MaxTemperature ( 120 )
Cooling ( 3 )
TempTimeConstant ( 720 )
OptTemperature ( 70 )
IdleTemperature ( 60 )
)
)

Type ( Diesel )
MaxVelocity ( 80km/h )
WheelRadius ( 0.42m )
Sanding ( 10km/h )
NumWheels ( 2 )
MaxForce ( 29kN )
MaxContinuousForce ( 16kN )
MaxPower ( 155kW )
AntiSlip ( 0 )
MaxDieselLevel ( 300l )
DieselUsedPerHourAtMaxPower ( 27.5l )
DieselUsedPerHourAtIdle ( 4.5l )
DieselEngineSpeedOfMaxTractiveEffort( 12km/h )
BrakeCutsPowerAtBrakeCylinderPressure( 15 )
DoesBrakeCutPower( 1 )
DieselEngineType ( hydraulic )

GearBoxNumberOfGears( 3 )
GearBoxDirectDriveGear( 3 )
GearBoxMaxSpeedForGears( 21 40 55 )
GearBoxMaxTractiveForceForGears( 29kN 19kN 9kN )
GearBoxOverspeedPercentageForFailure( 170 )
GearBoxBackLoadForce( 2800 )
GearBoxCoastingForce( 1120 )
GearBoxOperation( automatic )
GearBoxEngineBraking( direct_drive )

ORTSMaxTractiveForceCurves(
0 ( 0 0 22.2 0 )
1 ( 0 29000 22.2 2320 )
)

Comment ( "Brzdy" )
Comment ( "Brzdic DAKO-BP a DAKO-BS2, kompresor 3DSK75" )
Comment ( "Brzdeni I.zpusob, rezim brzdeni P")

ORTSMainResChargingRate ( 0.07bar/s )
ORTSBrakePipeChargingRate ( 4.6bar/s )
AirBrakesMainMinResAirPressure ( 5bar )
AirBrakesMainMaxAirPressure ( 8bar )
AirBrakesMainResVolume ( 0.2m^3 )
AirBrakesAirCompressorWattage ( 7900 )
AirBrakesCompressorRestartPressure ( 6.5bar )
AirBrakesIsCompressorElectricOrMechanical ( 0 )
TrainPipeLeakRate ( 0.0042bar/s )

ORTSEngineBrakeReleaseRate ( 2.6bar/s )
ORTSEngineBrakeApplicationRate ( 2.3bar/s )
EngineBrakesControllerMinPressureReduction ( 0.3bar )
EngineBrakesControllerFullServicePressureDrop ( 1.2bar )
EngineBrakesControllerMaxApplicationRate ( 0.25bar/s )
EngineBrakesControllerMaxReleaseRate ( 0.517bar/s )
EngineBrakesControllerMaxSystemPressure ( 5bar )

TrainBrakesControllerMinPressureReduction ( 0.3bar )
TrainBrakesControllerFullServicePressureDrop ( 1.5bar )
TrainBrakesControllerMaxApplicationRate ( 0.25bar/s )
TrainBrakesControllerMaxReleaseRate ( 0.517bar/s )
TrainBrakesControllerMaxQuickReleaseRate ( 2.0bar/s )
TrainBrakesControllerEmergencyApplicationRate ( 1.38bar/s )
TrainBrakesControllerMaxSystemPressure ( 5bar )

ORTSBrakePipeTimeFactor ( 0.003 )
ORTSBrakeServiceTimeFactor ( 1.009 )
ORTSBrakeEmergencyTimeFactor ( 0.1 )

BrakesEngineBrakeType ( "Air_single_pipe" )
BrakesTrainBrakeType ( "Air_single_pipe" )
BrakesEngineControllers( "Independent, Train" )

Comment ( "Ovladani jizdy" )

DieselSmokeEffectInitialMagnitude( 0.7 )
DieselSmokeEffectMaxMagnitude( 1.2 )
DieselSmokeEffectInitialSmokeRate( 0.2 )
DieselSmokeEffectMaxSmokeRate( 4 )

MaxSandingTime( 800 )

Comment ( "Monitorování rychlobrzdy" )
EmergencyStopMonitor (
MonitoringDeviceMonitorTimeLimit ( 0 )
MonitoringDeviceAlarmTimeLimit ( 0 )
MonitoringDevicePenaltyTimeLimit ( 0 )
MonitoringDeviceCriticalLevel ( 0 )
MonitoringDeviceResetLevel ( 0 )
MonitoringDeviceAppliesFullBrake ( 0 )
MonitoringDeviceAppliesEmergencyBrake ( 0 )
MonitoringDeviceAppliesCutsPower ( 1 )
MonitoringDeviceAppliesShutsDownEngine ( 0 )
MonitoringDeviceResetOnZeroSpeed ( 1 )
MonitoringDeviceResetOnResetButton ( 1 )
)
Comment ( "Monitorování zivaku" )
VigilanceMonitor (
MonitoringDeviceMonitorTimeLimit ( 20 )
MonitoringDeviceAlarmTimeLimit ( 10 )
MonitoringDevicePenaltyTimeLimit ( 0 )
MonitoringDeviceCriticalLevel ( 0 )
MonitoringDeviceResetLevel ( 0 )
MonitoringDeviceAppliesFullBrake ( 0 )
MonitoringDeviceAppliesEmergencyBrake ( 0 )
MonitoringDeviceAppliesCutsPower ( 1 )
MonitoringDeviceAppliesShutsDownEngine ( 0 )
MonitoringDeviceResetOnZeroSpeed ( 1 )
MonitoringDeviceResetOnResetButton ( 1 )
)
Comment ( "Monitorování prekroceni rychlosti" )
OverspeedMonitor (
MonitoringDeviceMonitorTimeLimit ( 0 )
MonitoringDeviceAlarmTimeLimit ( 5 )
MonitoringDevicePenaltyTimeLimit ( 0 )
MonitoringDeviceCriticalLevel ( 52.8 )
MonitoringDeviceResetLevel ( 0 )
MonitoringDeviceAppliesFullBrake ( 0 )
MonitoringDeviceAppliesEmergencyBrake ( 0 )
MonitoringDeviceAppliesCutsPower ( 1 )
MonitoringDeviceAppliesShutsDownEngine ( 0 )
MonitoringDeviceAlarmTimeBeforeOverSpeed ( 10 )
MonitoringDeviceDoesSuppressionReset ( 0 )
MonitoringDeviceTriggerOnOverspeed ( 52.9 )
MonitoringDeviceTriggerOnTrackOverspeed ( 1 )
MonitoringDeviceTriggerOnTrackOverspeedMargin ( 1.39 )
MonitoringDeviceResetOnZeroSpeed ( 1 )
MonitoringDeviceResetOnResetButton ( 0 )
)

Comment ( "Rizeni" )

EngineControllers (
Throttle ( 0 1 0.05 0
NumNotches ( 0 )
)

Comment ( "Primocinna brzda typ DAKO-BP" )
Brake_Engine ( 0 1.0 0.15 0.8
NumNotches( 1
Notch( 0 1 Dummy ) )
)

comment ( "Prubezna brzda typ DAKO-BS2" )
Brake_Train ( 0 1 0.04 0.87
NumNotches ( 7
Notch ( 0 0 TrainBrakesControllerFullQuickReleaseStart )
Notch ( 0.14 0 TrainBrakesControllerReleaseStart )
Notch ( 0.21 0 TrainBrakesControllerNeutralhandleOffStart )
Notch ( 0.33 0 TrainBrakesControllerMinimalReductionStart )
Notch ( 0.35 1 TrainBrakesControllerGraduatedSelfLapLimitedHoldingStart )
Notch ( 0.87 0 TrainBrakesControllerSuppressionStart )
Notch ( 0.99 0 TrainBrakesControllerEmergencyStart )
)
)

Brake_Hand ( 0 1 0.025 0
NumNotches ( 0 )
)

DirControl ( -1 0 1 1 )
BellToggle ( 0 1 0 )
Sanding ( 0 1 0 )
Horn ( 0 1 0 )
Wipers ( 0 1 0 )
EmergencyStopToggle ( 0 1 1 )
Vigilance ( 0 1 0 )
Headlights ( 0 0.25 1 0 )
BailOffButton ( 0 1 0 )
)

Comment ( "Ostatní informace" )
Name ( "CD 810.100-8" )
CabView ( "..\\..\\common.cab\\cab810\\810.cvf" )
HeadOut ( 1.9 2.8 6 )
Sound ( "..\\..\\common.snd\\sndMlok\\810cab-OR.sms" )

Comment ( "Poznamky" )
Description (
"Rada 810 CD / M152.0 CSD\n"+
"Lehky motorovy vuz rady 810\n\n"+
"Prenos vykonu: hydromechanicky\n\n"+
"Prevodovka Praga 2M70\n\n"+
"Motor vznetovy LIAZ M634\n\n"+
"Vykon: 155kW \n\n"+
"Max. rychlost: 80km/h\n\n"+
"Delka pres narazniky: 13970mm\n\n"+
"Hmotnost: 19-25t\n\n"+
"Napravy: 2 v usporadani 1'A'n\n"+
)
EngineOperatingProcedures (
"Viz. manual Open Rails.\n\n"+
"TIP: V prubehu jizdy pomoc na klavese F1.\n\n"+
)
)

Při záměně je nutné upravit směrování kabiny a zvuků dle vašeho trainsetu.
 

Jacek

Průvodčí
Josef:
Jen podotýkám, že zvuky jsou dělané na el. přenos, při klasickém řazení to nebude hrát jak má.
 

Josef Vogeltanz

Pomocník strojvedoucího
Není to až taková tragédie, nesedí sled při přeřazování: Zvuk otáček a jejich ukazatel spolu ladí. Při změně převod. stupně nejdříve "sjedou otáčky" (zvuk i rafička), přeskočí animace kontrolek a teprve potom sykne řazení. Uznávám, že by ten sled měl jít obráceně, tedy zvuk přeřazení s animací kontrolky následovaný snížením otáček zvukově i animačně na otáčkoměru. Ta procedura ovšem trvá jen krátký okamžik.
Já sám za jízdy většinou postřehnu změnu stupně jen změnou otáček. A až potom si všimnu, že mě svítí i kontrolka(y) I.st nebo II.st.
 

Jacek

Průvodčí
Pro zvukaře je :), neustále si to přidává a ubírá bez ohledu na polohu páky, otáčky se zvedou až po rozjezdu. U čistě mechanického přenosu zvuky půjdou udělat lépe, ale u hydromechaniky je to holt o kompromisu, buď reálné zvuky a el. přenos a nebo funkční řazení a nereálné zvuky, viz popis zvuků, který mám u jiného projektu:

M 152.0 má hydromechanický přenos výkonu, nebudu tady (p)opisovat technický popis, z pohledu zvukaře je 1. a 2. převodový stupeň hydraulický, otáčky motoru jsou závislé na poloze kontroléru, tzn. s rostoucí rychlostí se nemění. Při rychlosti cca. 28 km/h se zařadí 2. stupeň. Při rychlosti kolem 56 km/h se zařadí 2. blokovaný stupeň, dojde k zablokování
hydraulického měniče, motor je s nápravou spojen čistě mechanicky, tudíž otáčky motoru se mění podle rychlosti jízdy.


Jinak pánové, ať se neboxujeme mezi sebou, pokud máte něco vyladěno, ven s tím. To pak budeme každý dělat svoji verzi téhož...
 

Vasi

Začátečník
Je uvedený nástroj stále někde k dispozici? Odkazy na ulozto jsou již nefunkční. Díky!
 
Nahoře