Hoe verdeel je een modelbaan in blokken, hoe weet software of een blok bezet is, en wat is er nodig voor betrouwbaar automatisch rijden zonder botsingen?
Een blok is een afgebakende sectie van de modelbaan die op elk moment door precies één trein gebruikt mag worden. Zodra een trein een blok binnenrijdt, wordt dat blok voor alle andere treinen gesloten totdat de trein het weer verlaat en het blok vrijgegeven wordt. Dit principe — ontleend aan de spoorwegwereld — is de basis van vrijwel elk systeem voor automatisch rijden: zonder bloksturing kunnen twee treinen elkaar op hetzelfde stuk spoor tegemoet rijden of inhalen zonder dat de software dat merkt.
Bloksturing draait dus om twee dingen die samen moeten werken: weten of een blok bezet is (bezetmelding), en op basis daarvan beslissen welke trein waar mag rijden (rijwegbeheer). Beide onderdelen komen hieronder aan bod, met de kanttekening dat de manier waarop ModelRailPro dit intern implementeert op punten nog niet op een echte baan geverifieerd is.
Bezetmelding (ook wel terugmelding genoemd, zie de gids over terugmelding en bezetmelding voor de communicatiekant via s88, LocoNet, CAN of RailCom) is het mechanisme dat de fysieke aanwezigheid van een trein vertaalt naar een signaal dat de besturingssoftware kan lezen. Er bestaan drie gangbare, merk-onafhankelijke methodes:
Voor bloksturing waarbij de software moet weten "is dit hele blok nu vrij of niet", is stroomdetectie functioneel het meest geschikt, omdat reed- en optische sensoren alleen een moment van passage registreren en dus gecombineerd moeten worden met logica die daaruit een bezet/vrij-status voor de hele sectie afleidt (bijvoorbeeld: bezet vanaf sensor A tot sensor B is gepasseerd).
Zodra de software weet welke blokken bezet zijn, kan ze rijwegen (routes over meerdere blokken) reserveren en vrijgeven. Het basisprincipe van dit soort interlocking-logica volgt doorgaans deze cyclus:
Het kernpunt van deze cyclus is dat blokken op een rijweg vooraf gereserveerd worden, niet pas op het moment dat de trein er al aankomt. Zo wordt voorkomen dat twee treinen tegelijk aanspraak maken op hetzelfde stuk spoor.
Een fundamenteel veiligheidsprincipe uit de interlocking-wereld — los van enige specifieke DCC-standaard — is dat een systeem bij twijfelachtige, ontbrekende of tegenstrijdige terugmelding veilig hoort te falen: het volgende blok niet vrijgeven, of de trein laten stoppen, in plaats van door te rijden op basis van een aanname dat het wel goed zal zitten. Met andere woorden: bij onzekerheid is stoppen de veilige keuze, niet doorrijden.
Dit is een algemeen ontwerpprincipe en géén NMRA-DCC-standaard. Hoe ModelRailPro dit intern precies afhandelt — welk gedrag de software vertoont wanneer een verwachte bezetmelding uitblijft, te laat komt of tegenstrijdig is met een andere sensor — is een keuze op applicatieniveau. op baan te bevestigen
Naast bezetmelding is er vaak behoefte aan een korte sectie vlak vóór een sein of blokgrens waar een naderende trein al begint af te remmen, zodat hij niet voorbij die grens rijdt en het volgende blok binnendringt terwijl dat nog bezet of niet gereserveerd is. Eén bekende techniek hiervoor gebruikt een asymmetrisch DCC-signaal (vaak aangeduid met een merkafhankelijke naam als "ABC"-remmen): de decoder herkent deze asymmetrie in het spoorsignaal en remt zelfstandig af, zonder dat er een apart commando nodig is.
Belangrijk om te weten: dit is geen universele NMRA-standaard, maar een fabrikantspecifieke uitbreiding. Of en hoe een decoder hierop reageert, verschilt per fabrikant en wordt doorgaans via een CV ingesteld die per fabrikant kan verschillen. Of en hoe ModelRailPro dit soort asymmetrisch remmen aanstuurt, is niet uit de documentatie af te leiden en lijkt geen huidige functie van de app te zijn — dit dient dus niet als bevestigde feature beschouwd te worden. op baan te bevestigen
Een veelgebruikt concept bij besturingssoftware in het algemeen is een "leer-modus": tijdens handmatig rijden legt de software vast welke blokken en rijwegen bestaan, hoe lang een traject duurt, en waar seinen of stopmarkeringen zich bevinden. Die informatie wordt vervolgens gebruikt om later automatisch te plannen en te rijden, zonder dat elk traject apart geprogrammeerd hoeft te worden.
Het exacte gedrag van de leer-modus in ModelRailPro — wat er precies wordt vastgelegd, hoe robuust dat is bij afwijkende rijstijlen, en hoe betrouwbaar het resultaat is in de praktijk — is een keuze op applicatieniveau die niet uit documentatie is af te leiden. Dit dient in de app zelf bevestigd te worden. op baan te bevestigen
Onafhankelijk van welke software je gebruikt, gelden een paar randvoorwaarden voor betrouwbare bloksturing:
Zonder deze basis loopt elk automatisch-rijden-systeem — ongeacht het merk van de besturingssoftware — het risico op valse stops of, erger, botsingen.