|
Model Railroad System
2.2.2
|
Block occupation detection using Azatrax MRD2Us. More...
Public Member Functions | |
| MRD2_Block (name,...) | |
| Constructor: initialize the block object. More... | |
| occupiedp () | |
| The occupiedp method returns yes or no (true or false) indicating block occupation. More... | |
| propagate (aspect, from,...) | |
| Method used to propagate distant signal states back down the line. More... | |
Static Public Member Functions | |
| static | validate (object) |
| Type validating code Raises an error if object is not either the empty string or a MRD2_Block type. More... | |
Private Member Functions | |
| _entering () | |
| Method for entering a block. More... | |
| _exiting () | |
| Method for exiting a block. More... | |
Private Attributes | |
| sensor | |
| MRD2 object. More... | |
| forwardsignal | |
| Signal object (typically a three color, one head block signal. More... | |
| reversesignal | |
| Signal object (typically a three color, one head block signal. More... | |
Block occupation detection using Azatrax MRD2Us.
Above is a simple diagram for using Azatrax MRD2Us for block occupation detection. The Azatrax MRD2U has two IR sensors and one can be use to test for entering a block and one for leaving a block.
Typical usage:
Four blocks in a loop:
A Schematic of the layout would look like this:
For the track work elements use "blockN occupiedp" for the track work elements' occupied command: eg Block1 would have 'block1 occupiedp' as its occupied command, that is its edit window would look like:
The other three blocks would be similar.
Then in the Main Loop, you would have:
Definition at line 51 of file MRD2_Block.tcl.
| MRD2_Block::MRD2_Block | ( | name | , |
| ... | |||
| ) |
Constructor: initialize the block object.
Create a low level sensor object and install it as a component. Install the blocks signal (created elsewhere).
| name | Name of the block object |
| ... | Options:
|
|
private |
Method for entering a block.
|
private |
Method for exiting a block.
| MRD2_Block::occupiedp | ( | ) |
The occupiedp method returns yes or no (true or false) indicating block occupation.
| MRD2_Block::propagate | ( | aspect | , |
| from | , | ||
| ... | |||
| ) |
Method used to propagate distant signal states back down the line.
| aspect | The signal aspect that is being propagated. |
| from | The propagating block (not used). |
| ... | Options:
|
|
static |
Type validating code Raises an error if object is not either the empty string or a MRD2_Block type.
|
private |
Signal object (typically a three color, one head block signal.
Definition at line 72 of file MRD2_Block.tcl.
|
private |
Signal object (typically a three color, one head block signal.
Definition at line 76 of file MRD2_Block.tcl.
|
private |
MRD2 object.
Definition at line 68 of file MRD2_Block.tcl.