Difference between revisions of "Timer Block"

From Space Engineers Wiki
Jump to: navigation, search
(Rules / Behaviour)
m (categories)
 
(17 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 +
{{SimpleItembox|Mod:Vanilla/CubeBlock/TimerBlockLarge|Size||Mass||Integrity||BuildTimeSeconds||IsAirTight||ResourceSinkGroup||PCU}}
 +
{{SimpleItembox|Mod:Vanilla/CubeBlock/TimerBlockSmall|Size||Mass||Integrity||BuildTimeSeconds||IsAirTight||ResourceSinkGroup||PCU}}
 +
{{CategorizeComponents|Mod:Vanilla/CubeBlock/TimerBlockLarge}}
 +
== Overview ==
  
 +
The '''Timer Block''' is a meta block used to execute actions of any block it's connected to ''(not physically)''. The actions can also be executed after a delay, hence the name. This allows automation / [[Programmable Block|programming]] of actions.
  
{{itembox
+
== Usage ==
| item = Timer Block
+
An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a [[Warhead]] can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops by ending it's sequence with a '''Start'''.
| description = Used to execute actions of blocks, with or without a delay.
 
| tool = no
 
| largeship = yes
 
| smallship = yes
 
| component = no
 
| rawmaterial = no
 
| material = no
 
  
| sbuildtime = 2
+
A block is connected with the Timer Block when both are on the same [[grid]] or sub-grid (other grids that connected via [[Connector]]s, [[Rotor]]s or [[Piston]]s). Connection via [[Antenna|antennas]], i.e. executing actions in remote objects is currently not possible.
| scomponentstructure = 2
 
| scomponent1 = Construction Component
 
| scomponent1amt = 1
 
| scomponent2 = Computer
 
| scomponent2amt = 1
 
| scomponent3 = Construction Component
 
| scomponent3amt = 2
 
| scomponent4 = Interior Plate
 
| scomponent4amt = 2
 
| sheight = 1
 
| swidth = 1
 
| sdepth = 1
 
| smass = 30.2
 
  
| lbuildtime = 10
+
=== Terminal ===
| lcomponentstructure = 2
 
| lcomponent1 = Construction Component
 
| lcomponent1amt = 10
 
| lcomponent2 = Computer
 
| lcomponent2amt = 5
 
| lcomponent3 = Construction Component
 
| lcomponent3amt = 20
 
| lcomponent4 = Interior Plate
 
| lcomponent4amt = 6
 
| lheight = 1
 
| lwidth = 1
 
| ldepth = 1
 
| lmass = 259
 
  
| version = 01.052
 
}}
 
 
{{stub}}
 
 
 
== Description ==
 
 
The '''Timer Block''' is a meta block used to execute actions of any block it's connected to. The actions can also be executed after a delay, hence the name.
 
This allows automation / programming of actions.
 
 
An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a warhead can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops.
 
 
A block is connected with the Timer Block when both are on the same [[object]] or somehow linked via pistons, rotors or connectors. Connection via antennas, i.e. executing actions in remote objects is currently [1.056] not possible.
 
 
== Power consumption ==
 
 
The Timer Block needs a power source to operate but its power consumption is 0 or negligible.
 
 
== Parameters ==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
!style="text-align:left;"| Name !!style="text-align:left;"| Min. Value !!style="text-align:left;"| Max. Value !!style="text-align:left;"| Unit !!style="text-align:left;"| Description
 
!style="text-align:left;"| Name !!style="text-align:left;"| Min. Value !!style="text-align:left;"| Max. Value !!style="text-align:left;"| Unit !!style="text-align:left;"| Description
 
|-
 
|-
| Delay ||style="text-align:right;"| 1 ||style="text-align:right;"| 3600 || Second || Delay to execute the actions after starting the timer
+
| Trigger Delay ||style="text-align:right;"| 1 ||style="text-align:right;"| 3600 || Second || Delay to execute the actions after starting the timer
 
|}
 
|}
  
== Actions ==
+
* '''Trigger now''' - Immediately executes all programmed actions
 +
* '''Start''' - Starts a timer with the current delay and executes all programmed actions after the timer expires
 +
* '''Stop''' - Stops the timer if running thereby preventing the execution of the actions after the delay
 +
* '''Setup Actions''' - Set up blocks to trigger when the Timer Block is activated
  
{| class="wikitable"
+
=== Rules / Behavior ===
!style="text-align:left;"| Action !!style="text-align:left;"| Prerequisite !!style="text-align:left;"| Description
+
# The Timer Block can execute up to '''90''' actions
|-
+
# Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again (this is currently bugged, it will not continue if a map has been reloaded)
| Toggle block On/Off || None || Toggles on/off state of the Timer Block
+
# Timer block delays are not entirely accurate. A timer set to 5 seconds may not fire until 5.5 seconds have elapsed. If you are triggering things which depend on an exact number of game ticks/length of game time, timer delays may not be the right tool. Further experiments needed to confirm exact behaviour.
|-
+
# Executing actions ''Trigger Now'' and ''Start'' immediately after action ''Toggle block On'': These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")<br/>
| Toggle block On || None || Switches the Timer Block on.
 
|-
 
| Toggle block Off || None || Switches the Timer Block off.
 
|-
 
| Increase Delay || None || Increases the current delay by tbd. seconds
 
|-
 
| Decrease Delay || None || Decreases the current delay by tbd. seconds
 
|-
 
| Trigger now || Block has to be on || Immediately executes all programmed actions
 
|-
 
| Start || Block has to be on || Starts a timer with the current delay and executes all programmed actions after the timer expires
 
|-
 
| Stop || None (?) || Stops the timer if running thereby preventing the execution of the actions after the delay
 
|}
 
 
 
== Rules / Behaviour ==
 
* The Timer Block can execute up to 90 actions
 
* Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again
 
* Executing actions ''Trigger Now'' and ''Start'' immediately after action ''Toggle block on'': These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")<br/>
 
 
E.g.
 
E.g.
  
Line 99: Line 35:
 
Action 2: Timer Block 2 - ''Start''<br/>
 
Action 2: Timer Block 2 - ''Start''<br/>
  
On triggering Timer Block 1 when Timer Block 2 is off, the ''Start'' action is not executed because Timer Block 2 needs some time to power up but the ''Start'' action is executed before it's powered up.
+
On triggering Timer Block 1 when Timer Block 2 is off, the ''Start'' action has no effect because Timer Block 2 needs some time to power up but the ''Start'' action is executed before it's powered up.
 
* Switching a Timer Block off ends a ''Trigger Now'' (endless) loop.
 
* Switching a Timer Block off ends a ''Trigger Now'' (endless) loop.
 
E.g.
 
E.g.
Line 107: Line 43:
 
Action 2: Timer Block 2 - ''Trigger Now''<br/>
 
Action 2: Timer Block 2 - ''Trigger Now''<br/>
  
Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It is not continued when switching Timer Block 2 on again.
+
Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It won't be continued when switching Timer Block 2 on again.
 +
 
 +
 
 +
== Media ==
 +
[[File:Timer_Block_TimerB01.jpg|400px|none]]
 +
 
 +
== Tips ==
 +
* Timer blocks can be used to setup a long list of actions with one trigger. For example, a [[Button Panel]] switch can activate a Timer block, which then triggers a group of lights, and several individual blocks.
 +
 
 +
== Known Issues ==
 +
* A curious property of the timer block is that although it requires [[Electricity]], it does not actually consume any Watts idle or otherwise. If a [[Grid]] has any power available to it, it will be able to run without consuming any of the electricity available.
 +
 
 +
== See Also ==
 +
* [[Programmable Block]]
 +
 
 +
== Programming ==
 +
* [[Programming_Guide/Action_List#Timer_Block|Action List - Timer Block]]
 +
 
 +
== Update History ==
 +
<div style="-webkit-border-image: none;-webkit-box-shadow: rgba(0, 0, 0, 0.046875) 0px 1px 1px 0px inset;background-color: #eeeeee;border-bottom-color: #AFAFAF;border-bottom-left-radius: 3px;border-bottom-right-radius: 3px;border-bottom-style: solid;border-bottom-width: 1px;border-left-color: #AFAFAF;border-left-style: solid;border-left-width: 1px;border-right-color: #AFAFAF;border-right-style: solid;border-right-width: 1px;border-top-color: #AFAFAF;border-top-left-radius: 3px;border-top-right-radius: 3px;border-top-style: solid;border-top-width: 1px;box-shadow: rgba(0, 0, 0, 0.046875) 0px 1px 1px 0px inset;color: #333;display: block;font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 1em;height: auto;line-height: 20px;margin-bottom: 5px;margin-left: 8px;margin-right: 8px;margin-top: 0px;min-height: 20px;padding-bottom: 4px;padding-left: 4px;padding-right: 4px;padding-top: 4px;width: auto;">
 +
{| class="wikitable" style="width: 100%"
 +
|style="text-align: left;width: 8%"| [[Update 01.047]] ||style="padding-left: 10px;padding-right: 10px;"|
 +
*Timer Block Introduced
 +
|}
 +
 
 +
</div>
 +
[[Category:Functional Blocks]]

Latest revision as of 22:44, 18 May 2020

Timer Block Icon.png
Large Ship / Station
Timer Block
Large Ship Icon.png

ComponentsRequired

 Functional 

 Hack 

Dimensions (W,H,L)1,1,1
Mass259 kg
259,000 g
259,000,000 mg
0.259 t
Integrity995
Build time10 s
Is AirtightYes
Power Consumer GroupUtility
PCU Cost25
BrowseLast edit: 2020-04-09
Timer Block Icon.png
Small Ship
Timer Block
Small Ship Icon.png

ComponentsRequired

 Functional 

 Hack 

Dimensions (W,H,L)1,1,1
Mass30.2 kg
30,200 g
30,200,000 mg
0.0302 t
Integrity121
Build time4 s
Is AirtightYes
Power Consumer GroupUtility
PCU Cost25
BrowseLast edit: 2020-04-24

Overview

The Timer Block is a meta block used to execute actions of any block it's connected to (not physically). The actions can also be executed after a delay, hence the name. This allows automation / programming of actions.

Usage

An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a Warhead can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops by ending it's sequence with a Start.

A block is connected with the Timer Block when both are on the same grid or sub-grid (other grids that connected via Connectors, Rotors or Pistons). Connection via antennas, i.e. executing actions in remote objects is currently not possible.

Terminal

Name Min. Value Max. Value Unit Description
Trigger Delay 1 3600 Second Delay to execute the actions after starting the timer
  • Trigger now - Immediately executes all programmed actions
  • Start - Starts a timer with the current delay and executes all programmed actions after the timer expires
  • Stop - Stops the timer if running thereby preventing the execution of the actions after the delay
  • Setup Actions - Set up blocks to trigger when the Timer Block is activated

Rules / Behavior

  1. The Timer Block can execute up to 90 actions
  2. Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again (this is currently bugged, it will not continue if a map has been reloaded)
  3. Timer block delays are not entirely accurate. A timer set to 5 seconds may not fire until 5.5 seconds have elapsed. If you are triggering things which depend on an exact number of game ticks/length of game time, timer delays may not be the right tool. Further experiments needed to confirm exact behaviour.
  4. Executing actions Trigger Now and Start immediately after action Toggle block On: These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")

E.g.

Timer Block 1:
Action 1: Timer Block 2 - Toggle block On
Action 2: Timer Block 2 - Start

On triggering Timer Block 1 when Timer Block 2 is off, the Start action has no effect because Timer Block 2 needs some time to power up but the Start action is executed before it's powered up.

  • Switching a Timer Block off ends a Trigger Now (endless) loop.

E.g.

Timer Block 2:
Action 1: Rotor 1 - Increase Velocity
Action 2: Timer Block 2 - Trigger Now

Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It won't be continued when switching Timer Block 2 on again.


Media

Timer Block TimerB01.jpg

Tips

  • Timer blocks can be used to setup a long list of actions with one trigger. For example, a Button Panel switch can activate a Timer block, which then triggers a group of lights, and several individual blocks.

Known Issues

  • A curious property of the timer block is that although it requires Electricity, it does not actually consume any Watts idle or otherwise. If a Grid has any power available to it, it will be able to run without consuming any of the electricity available.

See Also

Programming

Update History

Update 01.047
  • Timer Block Introduced