Welcome to the forum   
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Share
Options
View
Go to last post in this topic Go to first unread post in this topic
Offline French_Fabrice  
#1 Posted : 24 May 2015 22:36:40(UTC)
French_Fabrice

France   
Joined: 16/05/2011(UTC)
Posts: 1,474
Location: Lyon, France
Hello Märklin & Rocrail fans,
PART 1

I'd like to share with you how to manage advanced signals when used in complex situations, typically when using an entry signal equipped with an advanced signal on the same mast, located before entering a station.

Such situations are complex, because:
  • Generally, a station has many tracks, so there is not a permanent link one-to-one between the advanced signal located at station entry, and the “next” main signal ahead
  • A solution must be able to reflect various cases i.e. no available next block, next block closed to traffic, ability to propagate status green, yellow and red back to advanced signal, bidirectional or unidirectional next block, etc...


Let's see how to setup a “dynamically linked” advanced signal.

1 Preamble
Please refer to Rocrail documentation, especially about blocks ( http://wiki.rocrail.net/doku.php?id=block-en) , routes ( http://wiki.rocrail.net/doku.php?id=route-en ), signals ( http://wiki.rocrail.net/doku.php?id=signal-en ), and actions ( http://wiki.rocrail.net/....php?id=timed-actions-en ) including action control & action conditions.

This article is of advanced level regarding the use of Rocrail, and it may be difficult to understand if you don't already have an experience with Rocrail, especially with “blocks”, “routes”», “signals” and basic “actions”.

Rocrail definitions

  1. Block: A block is a single place on your layout, where only one locomotive or train can exist at a time. It is usually a group of track sections with no turnout in them, and at least one sensor.
  2. Sensor: Sensors allow feedback from the layout to the computer. Sensors are usually used inside blocks to provide occupancy detection.
  3. Route: A route is an oriented segment of travel which connects 2 blocks together.
  4. Action: Actions are used to start switching, loco functions and much more automatically. Actions are triggered by events (or clock -no discussion about clock driven actions in this article). An action has a definition (what to do), and is associated with a trigger (which event triggers the action unconditionally). The trigger can be refined by adding condition(s), which must be true for the action to be run.

2 Presentation
2.1 Context
UserPostedImage
Fig 1 – Description of station (simplified)

The above diagram is a simplified version of the Station part of my layout.
  • 3 blocks are shown at the Station (bSta1, bSta2, bSta3).
  • The station is entered by bEntSta and exited by bExSta (The reverse order is not studied).
  • A track allows to bypass the station (bBySta).
  • bEntSta can also lead to level 4 by taking bUp1 then bUp2.
  • Some blocks are bidirectional, some are not (see traffic direction arrows).

2.2 Goal
UserPostedImage
Fig 2 – More simplified description and statement of goal to achieve

The goal is to be able to link dynamically the advanced signal asEntSta, to the main signal of the chosen next block. asEntSta is located on the same mast as the main signal of bEntSta.

Why dynamically ? Because, there are 5 possible routes starting from bEntSta. The choice of a route at a time is done at random and is managed by the automatic mode of Rocrail. As a result, the route can change from time to time, and the requirement is to show on asEntSta the color of the main signal corresponding to the chosen route.

Note: 2 separated icons are used to show the main/advanced signal at bEntSta.

2.3 Possible routes from bEntSta
UserPostedImage
Fig 3 – Possible routes from bEntSta


From block bEntSta, a train may go to:
  • block bUp1 (course leading to level 4)
  • block bBySta (course leading to bypass the station)
  • block bSta1 (station track 1)
  • block bSta2 (station track 2)
  • block bSta3 (station track 3)
  • nowhere (if all blocks are not free)

2.4 Standard & optional behavior of Rocrail

The logic associated to Rocrail is a “closed block” logic. That means that, even if a block ahead is free for use or reserved, the signal located at the end of this block ahead will become green (or yellow), only when the block is being entered.

By default, such a behavior prevents a main & advanced signal on same mast to show the status of the next main signal (the next block is not yet entered), and as a result, the advanced signal will always be red or “blank” (and will never change, or will change “too late”).

Fortunately, a feature of Rocrail called “reserve 2nd next block” allows this behavior to be modified : the “closed block” logic always applies, but only at the 2nd next block. That means that the signal associated to the next reachable block after current block can be either green or yellow (and of course red if no block ahead is available or a forced stop is programmed), and as a result something different than red can be displayed on the advanced signal.
UserPostedImage
Fig 4 – Behavior of signals with “Reserve 2nd next block logic” feature

See http://wiki.rocrail.net/....php?id=signals-ahead-en for a deeper explanation on “reserve 2nd next block”.

END OF PART 1

Edited by user 30 May 2015 08:25:20(UTC)  | Reason: typo

thanks 10 users liked this useful post by French_Fabrice
Offline French_Fabrice  
#2 Posted : 25 May 2015 00:05:51(UTC)
French_Fabrice

France   
Joined: 16/05/2011(UTC)
Posts: 1,474
Location: Lyon, France
PART 2

3 Requirements
3.1 Dynamic link between asEntSta & main signal of bUp1 (sUp1)

UserPostedImage

Fig 5 – Requirements: Description of colors of signals, depending on the loco position

This diagram shows:
  • Standard operation of Rocrail regarding the block and route states, depending on the loco position
  • Operation of Rocrail with “reserve 2nd block feature” enabled, regarding the main signal colors, depending on the loco position
  • The propagation of the color of sUp1 towards asEntSta, i.e. 20% of the goal to achieve


Constraint1: In the real life, when considering an advanced signal located on the same mast as a main signal, if the main signal becomes RED then the advanced signal displays NOTHING (no lamp lit). The requirements above (regarding the color propagated backwards) may thus seem wrong, but it is an implementation constraint. From a logical viewpoint, they are still valid.

3.2 Remaining requirements

The essential things have been stated in the previous paragraph. The remaining requirements will differ only by the names of the blocks, the aspect number of next main signal, and possible new constraints.

3.2.1 Dynamic link between asEntSta & main signal of bBySta (sBySta)

Same as § 3.1, excepted:
  • Substitute bUp1 by bBySta
  • Substitute bUp2 by bExSta
  • Substitute sUp1 by sBySta. sBySta is a 3 aspects signal. Constraint2: sBySta will never be GREEN, only YELLOW or RED.
  • Don't take into account the name of the signal associated to bExSta (sUp2 was shown in § 3.1 only for understanding the behavior of the signals)
  • Constraint3: bBySta is bidirectional


3.2.2 Dynamic link between asEntSta & main signal of bSta1 (sSta1)

Same as § 3.1, excepted:
  • Substitute bUp1 by bSta1
  • Substitute bUp2 by bExSta
  • Substitute sUp1 by sSta1. sSta1 is a 4 aspects signal.
  • Constraint4: sSta1 will never be GREEN nor WHITE, only YELLOW or RED.
  • Don't take into account the name of the signal associated to bExSta (sUp2 was shown in § 3.1 only for understanding the behavior of the signals)


3.2.3 Dynamic link between asEntSta & main signal of bSta2 (sSta2)

Same as § 3.1, excepted:
  • Substitute bUp1 by bSta2
  • Substitute bUp2 by bExSta
  • Substitute sUp1 by sSta2. sSta2 is a 4 aspects signal. Constraint5: sSta2 will never be GREEN nor WHITE, only YELLOW or RED.
  • Don't take into account the name of the signal associated to bExSta (sUp2 was shown in § 3.1 only for understanding the behavior of the signals)
  • Constraint6: bSta2 is bidirectional


3.2.4 Dynamic link between asEntSta & main signal of bSta3 (sSta3)

Same as § 3.1, excepted:
  • Substitute bUp1 by bSta3
  • Substitute bUp2 by bExSta
  • Substitute sUp1 by sSta3. sSta3 is a 4 aspects signal. Constraint7: sSta3 will never be GREEN nor WHITE, only YELLOW or RED.
  • Don't take into account the name of the signal associated to bExSta (sUp2 was shown in § 3.1 only for understanding the behavior of the signals)
  • Constraint8: bSta3 is bidirectional


4 Setup
4.1 Displays of sEntSta / asEntSta
UserPostedImage 1 - Hp0/blank (main = red, nothing displayed on advanced)
UserPostedImage 2 - Hp1/Vr1 (main=green, advanced=green)
UserPostedImage 3 - Hp1/Vr2 (main=green, advanced=yellow)
UserPostedImage 4 - Hp1/Vr0 (main=green, advanced=red)
UserPostedImage 5 - Hp2/Vr1 (main=yellow, advanced=green)
UserPostedImage 6 - Hp2/Vr2 (main=yellow, advanced=yellow)
UserPostedImage 7 - Hp2/Vr0 (main=yellow, advanced=red)

Note: Some displays are not available on my layout (3 & 5). The reasons are:

  • The signal sUp1 at block bUp1 is a 2 aspects signal (red/green), so display 3 can never occur.
  • I've chosen to enable the slow-down of a train when thrown turnouts are on the course of a train (Rocrail feature). In such a case, an other consequence is sEntSta main signal is set to yellow. That explains in 4 cases over 5 that sEntSta will be set to yellow (slow-down when leaving bEntSta) when the block ahead is reserved (bSta1, bSta2, bSta3 or bBySta).
  • Signals sSta1, sSta2 & sSta3 cannot be green or yellow when a train is on bEntSta, as a stop at the station is mandatory (it's my choice). As a result, even when bSta1, bSta2, bSta3 are reserved, each associated main signal is always red and display 7 will be shown.
  • Finally, if I would decide to allow no stop at the station for bSta1, bSta2 or bSta3, the next block after the station (bExSta) is reached thru thrown switches, thus preventing display 5 to be shown. In such a case, display 6 would be shown instead.


Reminder: Hp0/Vr0 (red/red), Hp0/Vr1 (red/green), Hp0/Vr2 (red/yellow) never occur, as red on main signal (Hp0) forces the advanced signal on same mast to be blank (= no color). See constraint1 at § 3.1.

4.2 Situations when each implemented display occurs
4.2.1 Display 1: Hp0/blank

This display occurs in the following situations:
  • Initial state of signals at startup, or
  • No available block ahead (all blocks still occupied or closed), or
  • Forced stop at block bEntSta, or
  • Initial setting of a loco in block bEntSta, or
  • Loco has left bEntSta and entered the next block. Note: the logical display could be either Hp0/Vr0, Hp0/Vr1 or Hp0/Vr2 depending of the next block chosen, but the implementation constraint constraint1 forces it to Hp0/blank.


4.2.2 Display 2: Hp1/Vr1

This display occurs in the following situations:
  • Block bUp1 is reserved and block ahead (bUp2) is also reserved (see Fig 5 step 1)


4.2.3 Display 4: Hp1/Vr0

This display occurs in the following situations:
  • Block bUp1 is reserved and no block ahead (bUp2) can be reserved


4.2.4 Display 6: Hp2/Vr2

This display occurs in the following situations:
  • Block bBySta is reserved and block ahead (bExSta) is also reserved.

Note: Signal sBySta cannot be green in my configuration. See constraint2.

4.2.5 Display 7: Hp2/Vr0

This display occurs in the following situations:
  • Block bBySta is reserved and no block ahead (bExSta) can be reserved, or
  • At least one block among bSta1, bSta2 or bSta3 is reserved (see Note in §4.1, point 3)


4.3 Hardware used

  • A Viessmann 4725 signal (3 aspects main signal & 3 aspects advanced signal on same mast) for the entry signal + a Viessmann 5229 decoder. The main signal and advanced signal have separated addresses.
  • For the 5 next possible tracks
    • A Viessmann semaphore signal 4500, with single arm (2 aspects main signal) + either a MM or DCC K83 compatible decoder
    • A Viessmann 4722 signal (3 aspects main signal) – signal used in track bypassing the station + a Viessmann 5229 decoder
    • 3 Viessmann 4723 signals (4 aspects main signal) – departure signals used in station; each signal uses a Viessmann 5229 decoder


About Märklin 76495/6/7 signals: I'm afraid these signals can't be used in a situation where a block and associated main signal must be linked dynamically to the advanced signal of previous block. The link between the advanced signal and the next main block signal appears to be static, from what is explained in the documentation.

4.4 Logical Addresses

This article doesn't describe how to setup physical addresses on signals. It is focused on describing the conditions which trigger the adequate lighting of the advanced signal.
Note about physical addresses: Either MM addresses (<=320) or DCC addresses (1-2047) can be used. It doesn't matter.

4.4.1 Entry signal + advanced signal

This signal at block bEntSta is composed of a main signal sEntSta with 3 aspects (red/yellow/green), and an advanced signal asEntSta also with 3 aspects (red/yellow/green) located on the same mast.

Reminder: An advanced signal shows the status of the next (forward) main signal.

4.4.2 Semaphore signal (1st possible next signal)

This signal at block bUp1 is sUp1.

4.4.3 Signal bypassing the station (2nd possible next signal)

This signal at block bBySta exit 1 is sBySta. Please ignore the signal at the opposite end of this block.

4.4.4 Signals in station (3rd, 4th & 5th possible next signals)

These signals are :
  • sSta1 at block bSta1
  • sSta2 at block bSta2 exit 1
  • sSta3 at block bSta3 exit 1

Again, ignore the signals at the opposite end of bSta2 & bSta3.

END OF PART 2

Edited by user 26 May 2015 23:15:53(UTC)  | Reason: removed point 2 of 4.2.3: wrong statement

thanks 7 users liked this useful post by French_Fabrice
Offline French_Fabrice  
#3 Posted : 25 May 2015 12:53:18(UTC)
French_Fabrice

France   
Joined: 16/05/2011(UTC)
Posts: 1,474
Location: Lyon, France
PART 3


5 Implementation Principles
5.1 General

Rule 1: The main idea is to use “actions”, with the trigger of each action containing condition(s) or not.

5.2 Action definition

The 1st step is to define 3 actions (action definition in Rocrail vocabulary):
  • acAsEntStaRed, which sets to red asEntSta
  • acAsEntStaYellow, which sets to yellow asEntSta
  • acAsEntStaGreen, which sets to green asEntSta


5.3 Action control

Now, let's identify the object(s) which will trigger these actions (action control in Rocrail vocabulary). The obvious idea, if we apply the rule “an advanced signal reflects the color of the main signal ahead” is to select the main signal associated to the next block chosen.

Does this idea apply to all actions ? True for acAsEntStaYellow and acAsEntStaGreen, but not so obvious for acAsEntStaRed.

Why not for acAsEntStaRed ? If you look at Fig 5, you see that sUp1 = red (which would trigger acAsEntStaRed) only occurs at step 4, which may be extremely late depending on the track length to run through. Remember that as soon as step 3 is reached, block bEntSta may hold a new train ready to start to an other destination. As a result, sEntSta may switch to a non-red value, and display an inaccurate value on asEntSta.

If you remember constraint1, as soon as sEntSta becomes red, any value of asEntSta is not shown. So the new idea coming is to select sEntSta (when red) to be the object triggering acAsEntStaRed. In other words, as soon as sEntSta becomes red, asEntSta is reset to red (but invisible).

Rule 2: acAsEntStaYellow and acAsEntStaGreen are triggered by the main signal associated to the next block chosen by the automatic mode, when this main signal is resp. yellow or green.

Rule 3: acAsEntStaRed is triggered by sEntSta, when sEntSta is red.


5.4 Action conditions

Are conditions needed ? Oh yes ! Many experiments have shown that without conditions, it will fail in most cases with significant traffic.

For acAsEntStaYellow and acAsEntStaGreen, the idea is to select the most restrictive condition(s) that reflect the setting of a path: The one I've found is the state “locked” of the route involved.

Rule 4: The route, leading to the block associated to the signal triggering the action acAsEntStaYellow or acAsEntStaGreen, must have the state locked.

Now, what about conditions on the object triggering acAsEntStaRed ? Here, things become complicated...

Once again, many experiments have led to the conclusion that conditions on route, block or signal don't fit. Are we stuck ?

Fortunately, no. The main idea now is to explore the creation of a new “state” which reflects the goal stated at the beginning, i.e. “establish a link between asEntSta and a forward main signal”.

With this new state, let's call it linkAsEntSta, we can easily define additional conditions which can be evaluated when necessary.

This state is a simple state with two values, either “true” or “false”.

When the value of this state is set ? If sEntSta is green or yellow, the state is “true”. If sEntSta is red, the state is “false”.

Do we need a different state for each 5 possible destinations available at bEntSta ? No, because successive trains passing through block bEntSta is done one after each other, and only after sEntSta has been reset to red. One state does the job.

How to implement the state linkAsEntSta and use it in action conditions ? By using a special class of objects, called Variables. See http://wiki.rocrail.net/doku.php?id=variable-en

So, by defining a Variable object linkAsEntSta, 2 new actions setting either this variable to “true” or “false”, then later evaluating the value of this variable in the various action conditions, we have all the necessary “equipment” !

The Rule 4 is now supplemented by a new rule:

Rule 4.2: … AND linkAsEntSta must have the state “true”

There is no action condition to add on object sEntSta triggering acAsEntStaRed, but new action definition and control must be done to manage the object linkAsEntSta implemented with a variable.

5.5 Action definition for variable linkAsEntSta

Variables can't hold boolean values as “true” or “false”. A numeric value of 1 is used for “true” and 0 for “false”.

2 new actions are defined:
  • acSetLinkAsEntSta, which sets the value of the variable linkAsEntSta to 1
  • acResetLinkAsEntSta, which sets the value of the variable linkAsEntSta to 0


5.6 Action control for action definitions on variable linkAsEntSta

The object by which these 2 actions are triggered is sEntSta:
  • Rule 5: acSetLinkAsEntSta is triggered unconditionally by state yellow or green of this signal
  • Rule 6: acResetLinkAsEntSta is triggered unconditionally by the state red of this signal


That's it BigGrin ! (but it's enough Crying ).

END OF PART 3

PART 4:

6 - Variable definition, 7 - Action definition, 8 - Action control & condition (mainly screenshots)

Edited by user 29 May 2015 20:52:51(UTC)  | Reason: Not specified

thanks 6 users liked this useful post by French_Fabrice
Offline French_Fabrice  
#4 Posted : 29 May 2015 22:21:44(UTC)
French_Fabrice

France   
Joined: 16/05/2011(UTC)
Posts: 1,474
Location: Lyon, France
PART 4

6 Variable definition
This section describes how to define the variable linkAsEntSta.

UserPostedImage

Fig 6 – Definition of variable linkAsEntSta


Legend:
  • Field “ID”: The name of the variable: linkAsEntSta
  • Field “Value”: Contains the initial value, used at start-up.

Summary : The variable named linkAsEntSta has a value of 0 at start-up.

7 Action definition
This section describes how to define the actions.

7.1 Actions on asEntSta
UserPostedImage

Fig 7 – Definition of action acAsEntStaGreen


Legend:
  • Field “Type”: The command is applied on an object of type Signal
  • Field “ID”: The name of the object: asEntSta
  • Field “Command”: The command to apply is “green”

Summary: The action named acAsEntStaGreen sends the command “green” to the signal named asEntSta.

UserPostedImage

Fig 8 – Definition of action acEntStaYellow


Legend:
  • Field “Type”: The command is applied on an object of type Signal
  • Field “ID”: The name of the object: asEntSta
  • Field “Command”: The command to apply is “yellow”

Summary: The action named acEntStaYellow sends the command “yellow” to the signal named asEntSta.

UserPostedImage

Fig 9 – Definition of action acEntStaRed


Legend:
  • Field “Type”: The command is applied on an object of type Signal
  • Field “ID”: The name of the object: asEntSta
  • Field “Command”: The command to apply is “red”

Summary: The action named acEntStaRed sends the command “red” to the signal named asEntSta.

7.2 Actions on linkAsEntSta
UserPostedImage

Fig 10 – Definition of action acSetLinkEntSta


Legend:
  • Field “Type”: The command is applied to an object of type Variable
  • Field “ID”: The name of the variable: linkAsEntSta
  • Field “Command”: The command to apply is to set a “value” into the variable
  • Field “Parameter”: The value to set into the variable is 1.

Summary : The action named acSetLinkEntSta sets the content of the variable linkAsEntSta to 1.

UserPostedImage

Fig 11 – Definition of action acResetLinkEntSta


Legend:
  • Field “Type”: The command is applied to an object of type Variable
  • Field “ID”: The name of the variable: linkAsEntSta
  • Field “Command”: The command to apply is to set a “value” into the variable
  • Field “Parameter”: The value to set into the variable is 0.

Summary : The action named acResetLinkEntSta sets the content of the variable linkAsEntSta to 0.

8 Action controls and conditions
This section describes how to implement the action controls (and conditions when needed).
Note: These action controls and conditions are NOT defined inside the “actions” sub-menu. They are defined in the source objects (which generate the triggering event) i.e. signals. The button “Actions” in the source object allows access to the action control(s).

8.1 On sEntSta
UserPostedImage

Fig 12 – Action control asResetLinkAsEntSta on object sEntSta


Legend:
  • Field “ID”: The name of the “Action” to trigger
  • Field “State”: The state of the object sEntSta which triggers the Action, i.e. “red”
  • No additional condition

This implements Rule 6.
Summary: When the object sEntSta has state “red”, the action asResetLinkAsEntSta is triggered unconditionally.
UserPostedImage

Fig 13 – Action control acAsEntStaRed on object sEntSta


Legend:
  • Field “ID”: The name of the “Action” to trigger
  • Field “State”: The state of the object sEntSta which triggers the Action, i.e. “red”
  • No additional condition

This implements Rule 3.
Summary: When the object sEntSta has state “red”, the action acAsEntStaRed is triggered unconditionally.
UserPostedImage

Fig 14 – Action control acSetLinkAsEntSta on object sEntSta


Legend:
  • Field “ID”: The name of the “Action” to trigger
  • Field “State”: The state of the object sEntSta which triggers the Action, i.e. “yellow”
  • No additional condition

This implements first part of Rule 5.
Summary: When the object sEntSta has state “yellow”, the action acSetLinkAsEntSta is triggered unconditionally.
UserPostedImage

Fig 15 – Action control acSetLinkAsEntSta on object sEntSta


Legend:
  • Field “ID”: The name of the “Action” to trigger
  • Field “State”: The state of the object sEntSta which triggers the Action, i.e. “green”
  • No additional condition

This implements second part of Rule 5.
Summary: When the object sEntSta has state “green”, the action acSetLinkAsEntSta is triggered unconditionally.

8.2 On sUp1
UserPostedImage

Fig 16 – Action control acAsEntStaGreen on object sUp1

Legend :
  • Field “ID”: The name of the action to trigger i.e. acAsEntStaGreen
  • Field “State”: The state of the object sUp1 which triggers the Action, i.e. “green”
  • Conditions (described further): The “All conditions must be true” checked implements the “AND” of Rule 4.2

This implements Rule 2 for sUp1.
UserPostedImage

Fig 17 – First Action condition on previous action control

Legend:
  • Field “Type”: Type of object on which check the condition, i.e. a route
  • Field “ID”: Name of the route : bEntSta-bUp1
  • Field “State”: The state of the route to be evaluated, i.e. locked
  • Field “Must be true”: When checked, means the state locked of the route must be “true”

This implements Rule 4 for sUp1.
UserPostedImage

Fig 18 – Second Action condition on previous action control

Legend:
  • Field “Type”: Type of object on which check the condition, i.e. a variable
  • Field “ID”: Name of the variable: linkAsEntSta
  • Field “State”: The value of the variable to be evaluated: 1
  • Field “Must be true”: When checked, means linkAsEntSta = 1 must be “true”

This implements the remaining part (without the AND) of Rule 4.2, for sUp1.

Summary: When object sUp1 has state “green”, the action acAsEntStaGreen is triggered, only if the route bEntSta-bUp1 is locked AND the variable linkAsEntSta has the value 1.

The implementation of the requirements of § 3.1 in now completed.

8.3 On sBySta
UserPostedImage

Fig 19 – Action control acAsEntStaYellow on object sBySta

Legend:
  • Field “ID”: The name of the action to trigger i.e. acAsEntStaYellow
  • Field “State”: The state of the object sBySta which triggers the Action, i.e. “yellow”
  • Conditions (described further): The “All conditions must be true” checked implements the “AND” of Rule 4.2

This implements Rule 2 for sBySta.
UserPostedImage

Fig 20 – First Action condition on previous action control

Legend:
  • Field “Type”: Type of object on which check the condition, i.e. a route
  • Field “ID”: Name of the route : bEntSta-bBySta
  • Field “State”: The state of the route to be evaluated, i.e. locked
  • Field “Must be true”: When checked, means the state locked of the route must be “true”

This implements Rule 4 for sBySta.
UserPostedImage

Fig 21 – Second Action condition on previous action control

Legend:
  • Field “Type”: Type of object on which check the condition, i.e. a variable
  • Field “ID”: Name of the variable: linkAsEntSta
  • Field “State”: The value of the variable to be evaluated: 1
  • Field “Must be true”: When checked, means linkAsEntSta = 1 must be “true”

This implements the remaining part (without the AND) of Rule 4.2, for sBySta.

Summary: When object sBySta has state “yellow”, the action acAsEntStaYellow is triggered, only if the route bEntSta-bBySta is locked AND the variable linkAsEntSta has the value 1.

The implementation of the requirements of § 3.2.1 in now completed.

8.4 on sSta1 or sSta2 or sSta3

As the signals sSta1 or sSta2 or sSta3 are always “red”, until the stop duration at the station has expired (see § 4.1, Note point 3), there is nothing to do !

All requirements are now fulfilled.

8.5 Variation on sSta1 or sSta2 or sSta3

If I decide to apply § 4.1 Note point 4, all the principles and implementation screenshots previously shown apply in the same manner, with a minor exception I'm going to explain.

Constraint4, Constraint5 & Constraint7 state the Main signal of each station block will never be Green nor White (because there are thrown turnouts after each Station block).

I've respected the constraints, but if you look at http://wiki.rocrail.net/doku.php?id=signal-en you see in case of four aspect signals with thrown turnouts on the next route, the white aspect is shown instead of yellow aspect.

Thus 1 thing must be done, before going to the setting of action control for sSta1, or sSta2 or sSta3:

Then, for each 4 aspect signal to implement the “dynamic link” and taking into account § 4.1 Note point 4, the action control related to each signal must be checked on “white” state, and not on “yellow” state.

Summary: For each 4 aspect signal
  • Map the white state of the signal to the yellow display
  • Keep the name of the action to be triggered similar to what shown in Fig 19.
  • Check the action control of the related signal on “white” state (and no more yellow “state” as shown in Fig 19)
  • Change the route condition to the adequate route (Fig 20)
  • Keep the variable condition unchanged (Fig 21)



Have fun with Rocrail !
Thank you for reading.

Cheers
Fabrice

Edited by user 30 May 2015 08:34:13(UTC)  | Reason: addition of pdf file

File Attachment(s):
DynamicallyManagedAdvancedSignals1.0.1.pdf (1,305kb) downloaded 57 time(s).
thanks 7 users liked this useful post by French_Fabrice
Offline applor  
#5 Posted : 12 October 2018 04:06:35(UTC)
applor

Australia   
Joined: 21/05/2004(UTC)
Posts: 1,652
Location: Brisbane, Queensland
Hi Fabrice,

I just want to post a thankyou because this is a huge help for those working on automation.

I am just starting on configuring my routes and realised the exact problem outlined in the first post.
I can now work through this configure my signals and it should save me a lot of time!
modelling era IIIa (1951-1955) Germany
thanks 2 users liked this useful post by applor
Offline ShannonN  
#6 Posted : 12 October 2018 08:00:11(UTC)
ShannonN

Australia   
Joined: 14/08/2016(UTC)
Posts: 492
Location: Maryborough, Qld
Originally Posted by: French_Fabrice Go to Quoted Post
PART 4

Have fun with Rocrail !
Thank you for reading.

Cheers
Fabrice


Hey Fabrice
Many thanks for such a clear and concise tutorial, while I do not yet have any signalling on my layout or the Rocrail software, Veissman gear etc. This is encouraging for a novice like me to see the logic and of real world situations to model rail implementation of signalling

I believe this would be a great thing to have its own thread and be "Sticky" does any Mod agree?


Offline French_Fabrice  
#7 Posted : 12 October 2018 08:00:32(UTC)
French_Fabrice

France   
Joined: 16/05/2011(UTC)
Posts: 1,474
Location: Lyon, France
Hi Eric,

I'm glad this can help you.
I wrote this 3 years ago, and at this time XML scripts didn't exist in Rocrail.

It is possible that "actions" management may be simplified by using XML scripts ( see https://wiki.rocrail.net...u.php?id=xmlscripting-en ). To be honest I didn't investigate so far, as my layout is dismantled, and I'm still designing the next one.Wink

I'll post some tutorial about XML Scripting when I'll have a layout available, and if you wish to enhance this article during that time, you are welcome. BigGrin

Have fun with your magnificent layout.ThumpUp

Cheers
Fabrice
Offline DaleSchultz  
#8 Posted : 12 October 2018 17:25:24(UTC)
DaleSchultz

United States   
Joined: 10/02/2006(UTC)
Posts: 3,997
Indeed, I ran into this complexity myself a couple of years back. From the length of the post it seems like a nightmare to configure!

Since I am not using Rocrail I was able to solve the problem in my own software.

I have a description of the issue and videos of the solution at:

https://cabin-layout.mixmox.com/2016/01/Distancesignals.html
Dale
Intellibox + own software, K-Track
My current layout: https://cabin-layout.mixmox.com
Arrival and Departure signs: https://remotesign.mixmox.com
thanks 1 user liked this useful post by DaleSchultz
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

| Powered by YAF.NET | YAF.NET © 2003-2024, Yet Another Forum.NET
This page was generated in 1.284 seconds.