BVEC_ATS has been designed to be compatible with trains that previously used the Windows only OS_ATS plugin, and will attempt to automatically upgrade any existing OS_ATS1.cfg file. This page describes the supported parameters for BVEC_ATS.
Whilst I’ve deprecated some values, & there are minor functional differences, these should not detract from your driving experience.
The configuration file is divided into sections, each one of which represents a supported device. An additional [KeyAssignments] section may be appended to the end of the file in order to alter the default key assignments.
There are three different types of devices:
- Traction models- Only one traction model per train is supported.
- Safety systems- Vigilance devices, TPWS & AWS.
- Miscellaneous devices- Traction interlocks and the windscreen.
1. Traction Models:
The [Steam] section represents a basic steam locomotive, modelling pressure, cutoff and water levels.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
cutoffmax | Defines the maximum cutoff [Forwards] This value should be greater than 0 The default value is 75 |
cutoffmin | Defines the minimum cutoff [Backwards] This value should be less than 0 The default value is -55 |
cutoffineffective | Defines the range above and below zero where the cutoff is ineffective (No power) The default value is 15 |
cutoffratiobase | Defines the maximum speed in kph where maximum cutoff is effective The default value is 30 |
cutoffratio | Defines the ratio at which the ideal cutoff drops relative to the speed in kph. The value given should be divided by 10; For example, if our ratio is 5, then the ideal cutoff drops by 1 when our speed increases by 2kph. The default value is 10 |
cutoffdeviation | Defines the effective range around the ideal cutoff, and must be greater than or equal to 1. As this value gets smaller, your cutoff needs to get closer to the ideal cutoff to receive maximum performance. Similarly, a higher value will lead to easier driving. The default value is 8 |
cutoffchangespeed | Defines how quickly the cutoff changes when a key is held down. The cutoff will increase or decrease one unit at this interval in milliseconds The default value is 40 |
cutoffindicator | Sets the panel index for the cutoff indicator The default value is -1 |
regulatorpressureuse | Defines how much pressure is used when the regulator is fully open and the cutoff is at maximum setting in pressure units per second. The default value is 32 |
boilermaxwaterlevel | Defines the maximum water level in the boiler. The default value is 1600 |
boilerwatertosteamrate | Defines the rate at which water units are converted to pressure units per minute. The default value is 1500 |
boilerstartwaterlevel | Defines the starting water level of the boiler. If this value is -1 or undefined, then the boiler will start at maximum water level. The default value is -1 |
boilermaxpressure | Defines the nominal maximum pressure of the boiler, and must be greater than the minimum pressure. The default value is 20000 |
boilerminpressure | Defines the minimum boiler pressure for the train to accelerate, and must be below the maximum pressure. The default value is 12000 |
boilerblowoffpressure | Defines the point at which the safety valves operate and blowoff excess steam- At this point, the boiler is reduced to maximum pressure. The default value is 21000 |
blowoffsound | Defines the sound index which should play once when the boiler blowoff operates. The default value is -1 |
blowoffindicator | The panel index for the blowoff indicator. This shows for 10 seconds whenever the blowoff valve operates. The default value is -1 |
boilerpressureindicator | Sets the panel index for the boiler pressure indicator. The default value is -1 |
injectorrate | Defines the number of water units the injector moves from the tanks/ tender to the boiler per second. The number of pressure units will also be reduced by one fourth of this value. The default value is 100 |
injectorindicator | Sets the panel index for the injector indicator. The default value is -1 |
injectorsound | A comma separated pair of values, defining the sound index which plays looped when the injectors are active, and the sound index played when the injectors are toggled on and off. The default values are -1 and -1 |
fuelcapacity | Defines the maximum amount of water which the tender/ tanks can hold. The default value is 20000 |
fuelstartamount | Defines the amount of water in the tender/ tanks at the start of the simulation. If this is not set, then it will default to fuelstartamount |
fuelindicator | Sets the panel index for the tender/ tanks water indicator. The default value is -1 |
fuelfillspeed | Defines the number of units added per second whilst fueling. The default value is 50 |
fuelfillidicator | Sets the panel index for the fueling indicator. The default value is -1 |
automatic | Defines whether the cutoff should be operated automatically, The default value is -1 |
automaticindicator | Sets the panel index for the automatic cutoff indicator. The defaut value is -1 |
klaxonpressureuse | Defines the number of additional pressure units used per second whilst any klaxon is playing. The default value is -1 |
steamheatindicator | Defines the panel index for a 5-step steam heat gauge. The default value is -1 |
steamheatpressureuse | Defines the number of pressure units used per second by a notch of steam heating (Linear addition) The default value is -1 |
blowersindicator | The panel index for the blowers indicator. The default value is -1 |
blowersound | The sound played looped whenever the blowers are active. The default value is -1 |
blowers_pressurefactor | The factor by which steam generation should be multiplied whilst the blowers are active. The default value is 0 |
blowers_firefactor | The factor by which the fire temperature increase should be multiplied whilst the blowers are active. The default value is 0 |
cylindercockspressureuse | A comma separated pair of values, defining the base pressure used whilst the cylinder cocks are open, and the additional pressure used per notch of throttle. The default values are 0 and 0 |
cylindercocksound | A comma separated pair of values, defining the sound index which plays looped whilst the cylinder-cocks are open & the power is not in notch 0, and the sound index played when the cylinder-cocks are opened or closed. The default values are -1 and -1 |
cylindercocksindicator | The panel index for the cylinder-cocks indicator. The default value is -1 |
The [Diesel] section represents a diesel locomotive fitted with a variable ratio gearbox.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
gearratios | A comma separated list, defining the gears fitted to this train and their ratios. The traction model has a maximum notional RPM of 1000rpm, and this is calculated by multiplying the speed in kph by the 'gear ratio' in use. For example, if the ratio for the first gear is 20, then maximum RPM will be reached at 1000 / 20- 50kph The default value is 0 An example train with 4 gears should look like this: 30,20,16,8 |
gearfadeinrange | A comma separated list defining the 'fade-in' range for each gear in RPM. If the engine RPM is below this value, then acceleration will be slower. The default value is 0 If this list is shorter than the number of gears, then the final value will be used for all subsequent gears. |
gearfadeoutrange | A comma separated list defining the 'fade-out' range for each gear in RPM. If the engine RPM is above this value, then acceleration will be slower. The default value is 0 If this list is shorter than the number of gears, then the final value will be used for all subsequent gears. Note: The gear fade-in and fade-out should never be equal to or greater than 1000. |
gearindicator | Sets the panel index of the gear indicator. The default value is -1 |
gearchangesound | Defines the sound index to be played once when the gear is changed. The default value is -1 |
gearloopsound | A pair of comma separated values, defining the sound index to be played looped after each non-neutral gear has been selected & the delay in ms before playback starts. The default values are -1 and 0 |
tachometer | Sets the panel index for the engine RPM gauge. The default value is -1 |
heatingpart | Defines whether part of the engine will heat up over time. Possible values are as follows: 0 No heating part. (Default) 1 Heating is based upon the selected throttle notch. 2 Heating is based upon engine RPM. |
heatingrate | A comma separated list defining the rate at which the engine will heat up, based upon the throttle notch or 10% of RPM per second. The default value is 0 (No heating) This list should start at neutral throttle, or zero RPM. If the list is shorter than the number of throttle notches or under 10, then the final value will be used for all subsequent values. |
thermometer | Sets the panel index for the thermometer. The default value is -1 |
overheatwarn | Defines the temperature threshold at which the overheat warning will trigger. The default value is 0 |
overheat | Defines the temperature threshold at which the engine will overheat. The default value is 0 |
overheatindicator | Sets the panel index for the overheat indicator. The default value is -1 |
overheatalarm | Defines the sound index which plays looped whilst the engine has overheated. The default value is -1 |
allowneutralrevs | Defines whether the engine can be revved in neutral. If this is enabled, the revs achieved in each power notch will be 90% of the percentage of the total number of power notches. For a train with 5 power notches, notch 1 will achieve 190rpm, notch 2 will achieve 380rpm etc. out of the notional 1000rpm Possible values are as follows: 0 Disabled (Default) 1 Enabled |
revsupsound | Defines the sound index to be played once when allowneutralrevs is enabled & the power notch is increased in neutral. The default value is -1 |
revsdownsound | Defines the sound index to be played once when allowneutralrevs is enabled & the power notch is decreased in neutral. The default value is -1 |
motorsound | Defines the sound index to be played looped whilst the motor is revving in neutral. The default value is -1 |
reversercontrol | Defines the behavior for when the reverser is placed into neutral whilst the train is moving. Possible values: 0 No effect (Default) 1 The train must come to a full stand, and the reverser be placed into neutral before power can be applied. |
fuelcapacity | Defines the maximum amount of fuel which the tanks can hold. The default value is 20000 |
fuelstartamount | Defines the amount of fuel in the tanks at the start of the simulation. If this is not set, then it will default to fuelstartamount |
fuelindicator | Sets the panel index for the fuel indicator. The default value is -1 |
fuelfillspeed | Defines the number of units per second added whilst fueling. The default value is 50 |
fuelfillindicator | Sets the panel index for the fueling indicator. The default value is -1 |
fuelconsumption | A comma separated list defining the number of fuel units consumed per second for each throttle notch. The default value is 0 (No fuel consumed) The list should start at neutral throttle. If this list is shorter than the number of possible throttle notches, then the last value will be used for all undefined throttle notches. |
automatic | Defines whether the gears should be operated automatically. The default value is -1 |
automaticindicator | Sets the panel index for the automatic gears indicator. The default value is -1 |
The [Electric] section represents a basic electric locomotive.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
powergapbehaviour | Defines the behavior for when the pantograph/ pickup shoes are on an isolated section. Possible values are as follows: 0 No effect 1 Maximum throttle is reduced proportionally to the number of pickup points on the isolated section. 2 Throttle inactive when any pickup points are in the isolated section. 3 Throttle inactive when all pickup points are in the isolated section, |
powerpickuppoints | A comma separated list, defining the location of all the power pickup points in meters from the front of the train. The default value is 0 |
powerindicator | Sets the panel index of the power indicator, which lights up when power is present. The default value is -1 |
breakerindicator | Sets the panel index for the ACB/ VCB breaker. The default value is -1 |
breakersound | Sets the sound index to be played once when the ACB/ VCB is toggled. The default value is -1 |
heatingpart | Defines whether part of the engine will heat up over time. Possible values are as follows: 0 No heating part. (Default) 1 Heating is based upon the selected throttle notch. |
heatingrate | A comma separated list defining the rate at which the engine will heat up, based upon the throttle notch. The default value is 0 (No heating) This list should start at neutral throttle. If the list is shorter than the number of throttle notches, then the final value will be used for all subsequent values. |
thermometer | Sets the panel index for the thermometer. The default value is -1 |
overheatwarn | Defines the temperature threshold at which the overheat warning will trigger. The default value is 0 |
overheat | Defines the temperature threshold at which the engine will overheat. The default value is 0 |
overheatindicator | Sets the panel index for the overheat indicator. The default value is -1 |
overheatalarm | Defines the sound index which plays looped whilst the engine has overheated. The default value is -1 |
ammeter | Sets the panel index of the ammeter. The default value is -1 |
ammetervalues | A comma separated list, defining the ammeter values for each throttle notch. If the list is shorter than the number of throttle notches, then the last value will be used for all undefined notches. The default value is 0 |
pantographindicator_f | Sets the panel index for the front pantograph indicator The default value is -1 |
pantographindicator_r | Sets the panel index for the rear pantograph indicator The default value is -1 |
pantographsound | Sets the sound index to be played once when a pantograph is raised or lowered. The default value is -1 |
pantographalarmbehaviour | Sets the behaviour when a pantograph is lowered at speed with the ACB/VCB closed. 0 Pantograph lowers (Default) 1 Pantograph lowers and the ACB/VCB trips. 2 Pantograph lowers, ACB/VCB trips and the train is braked to a stop. |
pantographalarmsound | Sets the sound index to be played looped whilst the train is being braked to a stop. The default value is -1 |
pantographretryinterval | Sets the retry interval in ms for raising the pantograph. This applies after the train has been braked to a stop after lowering a pantograph at speed *OR* after an attempt has been made to raise a pantograph with the ACB/VCB closed. The default value is 5000 |
powerloopsound | A pair of comma separated values, defining the sound index to be played looped after the controller has been moved into each non-neutral power notch & the delay in ms before playback starts. The default values are -1 and 0 |
2. Safety Systems:
The [AWS] section represents a British AWS (Automatic Warning System) device.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
awsindicator | Sets the panel index for the AWS Sunflower. The default value is -1 |
awswarningsound | Sets the sound index for the AWS warning horn. The default value is -1 |
awsclearsound | Sets the sound index for the AWS clear signal bell. The default value is -1 |
awsdelay | Defines the total time within which the driver has to cancel an AWS warning, before a brake application is triggered in milliseconds. The default value is 2000 |
tpwswarningsound | Sets the sound index for an AWS warning triggered by the TPWS device. (If fitted) The default value is -1 |
The [TPWS] section represents a British TPWS (Train Protection & Warning System) device.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
tpwsoverridelifetime | Defines the total time before a driver initiated TPWS override is automatically cancelled in milliseconds. The default value is 20000 |
tpwsstopdelay | Defines the total time before the brakes are automatically released after the train has been stopped by a TPWS intervention in milliseconds. The default value is 60000 |
tpwsindicator | Sets the panel index of the TPWS Trainstop indicator. This should be made up of a pair of comma separated values as follows: -1 The default panel indicator, 300 The default blink rate in milliseconds for this indicator. |
tpwsindicator2 | Sets the panel index of the TPWS Override indicator. This should be made up of a pair of comma separated values as follows: -1 The default panel indicator, 300 The default blink rate in milliseconds for this indicator. |
tpwsindicator4 | Sets the panel index for the TPWS isolation indicator. The default value is -1 |
The [Vigilance] section contains generic vigilance devices, such as the deadman’s handle and overspeed device.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
overspeedcontrol | Defines whether an overspeed warning/ safety devices is fitted to this train. Possible values are as follows: 0 No overspeed device fitted. (Default) 1 Overspeed device fitted. |
warningspeed | When the speed of the train in kph exceeds this value, the warning indicator will light, and the overspeed alarm will play. The default value is -1 |
overspeed | When the speed of the train in kph exceeds this value, full service brakes will be applied. The default value is -1 |
safespeed | If the overspeed device has been triggered, the brakes will be released upon the speed dropping below this value. The default value is 0 (The train will be halted completely) |
overspeedindicator | Sets the panel index for the overspeed indicator. The default value is -1 |
overspeedalarm | Sets the sound index for the overspeed alarm. The default value is -1 |
overspeedtime | Sets a grace period in seconds before the overspeed device will trigger the brakes. The default value is 0 |
deadmanshandle | Defines whether a deadman's handle is fitted to this train. Possible values are: 0 No deadman's handle fitted. (Default) 1 Deadman's handle fitted. |
vigilanceinterval | A comma separated list, defining the time in milliseconds for each throttle notch at which the deadman's handle will trigger if no keys are pressed. If this list is shorter than the number of throttle notches, then the last value will be used for all undefined notches. The default value is 60000 |
vigilancelamp | Sets the panel index for the deadman's handle warning light. The default value is -1 |
vigilancealarm | Sets the sound index for the deadman's handle warning alarm. The default value is -1 |
vigilanceautorelease | Defines whether a deadman's handle brake application is released upon coming to a full-stop. Possible values are: 0 No (Default) 1 Yes |
vigilancecancellable | Defines whether the driver can release a deadman's handle brake application before the train comes to a full-stop. Possible values are: 0 Brakes cannot be released (Default) 1 Braking may be cancelled. |
independantvigilance | Defines whether keys other than the reverser, power & brake may reset the deadman's handle. Possible values are: 0 All controls reset the timer. (Default) 1 Only the power, reverser & brake will reset the timer. |
draenabled | Defines whether the train is fitted with a DRA (Driver's reminder appliance) Possible values are: 0 No DRA fitted. (Default) 1 DRA fitted, |
drastartstate | Defines the starting state of the DRA. Possible values are: 0 DRA off. 1 DRA triggered. |
draindicator | Sets the panel indicator for the DRA. The default value is -1 |
3. Miscellaneous Devices:
The [Interlocks] section contains basic interlocks and panel controls.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
doorpowerlock | Defines whether the throttle is forced to neutral when stopped with the doors open. Possible values are as follows: 0 Throttle enabled. (Default) 1 Throttle forced to neutral. |
doorapplybrake | Defines whether the brakes are applied when stopped with the doors open. Possible values are as follows: 0 No brakes applied. (Default) 1 Full service brakes applied. 2 Full emergency brake applied. |
neutralrvrbrake | Defines whether brakes are applied when the reverser is set to neutral. Possible values are as follows: 0 No brakes applied. (Default) 1 Full service brakes applied. 2 Full emergency brake applied. |
neutralrvrbrakereset | Defines the conditions under which the brakes may be reset after the reverser is set into neutral. Possible values are as follows: 0 Brakes are reset upon moving the reverser into drive. (Default) 1 The train must come to a stand before the brakes are automatically reset. 2 The train must come to a stand, and the driver apply full brakes before the interlock is reset. |
directionindicator | Sets the panel index for a directional indicator. The default value is -1 |
reverserindex | Sets the panel index for the driver's reverser. The default value is -1 |
travelmetermode | Sets the unit of distance measured by the travelometer. Possible modes are: 0 Kilometers (Default) 1 Miles |
travelmeter100 | Sets the panel index for the travelometer's 100 digit. The default value is -1 |
travelmeter10 | Sets the panel index for the travelometer's 10 digit. The default value is -1 |
travelmeter1 | Sets the panel index for the travelometer's 1 digit. The default value is -1 |
travelmeter01 | Sets the panel index for the travelometer's 1/10 digit digit. The default value is -1 |
travelmeter001 | Sets the panel index for the travelometer's 1/100 digit. The default value is -1 |
klaxonindicator | A comma separated list, which defines the panel index for the klaxon (horn) indicators and their timings, in this order- Primary horn, indicator display time, secondary horn, indicator display time, music horn, indicator display time. The default values are: -1 No indicator. 500 500ms indicator display time. |
The [Windscreen] section represents rain, the windscreen, and the windscreen wipers.
Supported values for this section are as follows:
Attribute Name | Supported Values |
---|---|
dropstartindex | Defines the first panel index for the raindrops. The default value is 0 |
numberofdrops | Defines the number of raindrops. The default value is 0 |
wiperindex | Sets the panel index for the windscreen wipers. The default value is -1 |
wiperholdposition | Defines the default position of the windscreen wiper. Possible values are: 0 Far left. (Default) 100 Far right. |
wiperrate | Sets the approximate sweep time of the wiper from one side to the other in milliseconds. The default value is 1000 |
wiperdelay | Sets the time for which the wiper holds at the side of the windscreen when it is operating in slow mode (In milliseconds). The default value is 1000 |
dropsound | Two comma separated values, representing: The first sound index for raindrops hitting the windscreen. The default value is -1 The total number of drop sounds available, or blank for 1. |
drywipesound | Sets the sound index to be played when the wiper moves with less than 20% of the possible raindrops visible *OR* when no wetwipe sound has been set. The default value is -1 |
wetwipesound | Sets the sound index to be played when the wiper moves with more than 20% of the possible drops on the windscreen. The default value is -1 |
wipersoundbehaviour | If this value is set to 0 then the wiper sound will only play when the wiper moves from the hold position. Otherwise it will play when the wiper starts to move in either direction. The default value is 0 |
wiperswitchindex | Sets the panel index for the 3-position wipers rotary switch. The default value is -1 |
wiperswitchsound | Sets the sound index to be played once when the wipers switch is moved. The default value is -1 |
The [Animations] section provides functions for additional animations.
Steam Locomotive Valve Gear:
ATTRIBUTE NAME | SUPPORTED VALUES |
---|---|
wheelrotation_variable | The plugin variable which describes the rotation of the wheel |
rodradius | Sets the radius for the pivot point of the main conrod in millimeters from the wheel center. |
gear_Yvariable_R | The plugin variable which describes the movement of the right-hand conrod in the Y-Axis |
gear_Zvariable_R | The plugin variable which describes the movement of the right-hand conrod in the Z-Axis |
gear_Yvariable_L | The plugin variable which describes the movement of the left-hand conrod in the Y-Axis |
gear_Zvariable_L | The plugin variable which describes the movement of the left-hand conrod in the Z-Axis |
crankradius | Sets the radius of the pivot point of the main crank in millimeters |
cranklength | Sets the length of the crank in millimeters |
crankrotation_R | The plugin variable which describes the rotation of the right-hand side crank |
crankvariable_R | The plugin variable which describes the motion of the right-hand side crank |
crankrotation_L | The plugin variable which describes the rotation of the left-hand side crank |
crankvariable_L | The plugin variable which describes the motion of the left-hand side crank |
A left and a right conrod object is required, each constructed with the pivot point at position 0,0,0
They should then be placed in your .animated file as follows:
1 2 3 4 5 |
[Object] States = rod.b3d TranslateYFunction=(pluginstate[149] /1000) TranslateZFunction=(pluginstate[150] /1000) Position = 0,-0.4,-2.25 |
Similarly, wheel objects should be constructed with the center of the axle at 0,0,0
They should then be placed in your .animated file as follows:
1 2 3 4 |
[Object] States = driving_1.b3d Position = 0,0.875,3.84 RotateXFunction=(pluginstate[148] / 1000) |
Finally, a left and a right crank object should also be constructed with pivot points at 0,0,0
They should then be placed in your .animated file as follows:
1 2 3 4 5 6 |
;Crank R [Object] states=crank.b3d position=0,0.875,5.42 TranslateZFunction=(pluginstate[153] /1000) RotateXFunction=(pluginstate[154] / 1000) |
Other Animations:
ATTRIBUTE NAME | SUPPORTED VALUES |
---|---|
headcodeindicator | A comma separated value pair, defining the panel index for a rotary heacode indicator and the total possible number of values. The default values are: -1 No headcode indicator. 0 Single headcode state. |
flashingdoorlight | Defines the panel index for a light which flashes for 30s before the train doors close. The default value is |
The flashing doors light requires two beacons to work correctly, and these are described on the beacons page:
http://www.bvecornwall.co.uk/wordpress/bvec_ats-beacon-types/
4. Key Assignments:
Please note that each key assignment represents an OpenBVE internal key, **not** a physical key on your keyboard.
Case and format are important; All strings must be entirely in capitals and match exactly. f will not work, whilst F will.
Attribute Name | Description | Default Assignment |
---|---|---|
safetykey | Sets the key used to reset/ acknowledge the safety systems (AWS, TPWS & vigilance devices) | A1 |
automatickey | Sets the key used to toggle automatic gearchange/ cutoff | A2 |
gearupkey | Sets the key used to move up a gear in a diesel locomotive | B1 |
geardownkey | Sets the key used to move down a gear in a diesel locomotive | B2 |
cutoffupkey | Sets the key used to increase cutoff in a steam locomotive | C2 |
cutoffdownkey | Sets the key used to decrease cutoff in a steam locomotive | C1 |
injectorkey | Sets the key used to toggle a steam locomotive's injectors | B2 |
fuelkey | Sets the key to be pressed and held to fill fuel/ water in a steam or diesel locomotive. Also toggles the ACB/VCB in an electric locomotive | I |
wiperspeedup | Sets the key used to increase the windscreen wipers speed. | J |
wiperspeeddown | Sets the key used to decrease the windscreenwipers speed | K |
isolatesafetykey | Sets the key used to isolate the AWS & TPWS systems | L |
customindicatorkey1 ==> customindicatorkey10 | Sets the keys used to toggle the custom indicators | 1 to 5 are assigned to D to H 6 to 10 are not assigned by default. |
frontpantographkey | Sets the key used to raise or lower the front pantograph | Not assigned by default If neither pantograph key is defined, both will remain permanently up. If only one key is defined, the other will be disabled. |
rearpantographkey | Sets the key used to raise or lower the rear pantograph | Not assigned by default |
blowerskey | Sets the key used to toggle the blowers on steam locomotives | Not assigned by default |