开云体育

Looped Layouts With SML


 

Just when I though I mastered SML logic on our loop this problem stumped me for a few hours. The SML works well (after a lot of trial and error and redoing things 1000 times). I use layout editor paths, turnout details, and block details. I connect the 2 main loops with a hidden block named with the respective left most block. In the picture, I show one of these connectors unhidden as a rectangle for demonstration only on the 4000 main.
?
We just added a real yard (which I am 100% stoked about) and added signaling from the main over the staging track, through a x-over back to the main. Going west everything worked perfectly and auto generated the logic. Going east - there was an issue where the path was going west around the loop instead of east (I'm guessing this was the issue) - which of course gives the protecting block null error.
?
I wanted the logic to take the path going east from 4010 to 4060 via 5000, 5010, 4050 (4 hops). But the logic also saw the a path west around the loop via 4000, 4080, 4070 (also 4 hops) - which caused it to raise the null error. I tried a few things including changing the block metric and confirmed the routing table reflected that. This did not fix the problem.
?
To fix it I had to rename the hidden block to a placeholder block temporarily and then update the logic. Once done, I changed the hidden block back to the original. Now when I update the logic it does not cause any issues - even removing the logic and adding it back. Which means I cannot reproduce it anymore - which is not awesome but I'll take it.
?
All I can concluded is that the placeholder block added one more hop to the path. It seems like an easy trick if you get into the same bind but it may not always work as conveniently.
?
PS: Just to rule out backscatter - during the debugging - I performed multiple saves, restarts of JMRI, etc. - in case something wasn't tracking the dependent changes.
?
?
?

Join [email protected] to automatically receive all group messages.