Software

Een computer is via de parallelpoort verbonden met de hoofdprint. Op de computer is een eigen stuk software geplaatst welke de parallelpoort uitleest en aan de hand van de binnenkomende signalen beslissingen maakt en al dan niet ingrijpt in het rijgedrag van de treinen.

Op het scherm is de gehele treinenloop, wisselstanden, seinstanden en alle nodige informatie realtime te volgen.

Om de computer te integreren op het elektronicabord hebben we de computer compleet ontdaan van kast en in losse onderdelen op het bord gemonteerd.

De beveiligingssoftware is geschreven in Visual Basic 6.0 (VB) (Onder Windows XP) in samenwerking met de inpout32.dll, een binary kernel device driver in DLL vorm. Als freeware beschikbaar gesteld door: logix4u.net en verzorgt de interface tussen VB en de parallelpoort.

Waarom VB… Als echte Unix Sun Solaris kenner botst dit natuurlijk, maar onze (Visual) Basic kennis en ervaring is vele malen groter dan C++, Perl, Java of welk ander programmeertaal dan ook. Ook de eenvoudige interface tussen VB, inpout32.dll, de parallelpoort en de USB poort is een reden om VB te gebruiken. Voor ons doel goed en snel genoeg en voldoet aan onze wensen en eisen.

Eenvoudig omschreven verzorgt de software de volgende zaken:

  • Leest de 16 poorten van de 10 inkomende multiplexers uit.
  • Aan de hand van deze gegevens kan bepaald worden:
    • welke trein zich op welk baanvak bevindt
    • de wisselstanden
    • rijrichting van elke trein
    • status van een opstelspoor.
    • op welke verdieping staat de lift
    • Aan de hand van kruismatrixen worden er berekening uitgevoerd en wordt bepaald wat de te nemen vervolgstappen en condities zijn.
    • Stuurt geconditioneerd de 3 uitgaande circuit parallelpoorten aan.

Aan de hand van de baanlayout zijn er kruismatrixen opgesteld die de volgende zaken regelen:

  • Seinstanden aan de hand van baanvakbezetting, rijrichting en wisselstanden.
  • Baanvakbezetting aan de hand van trein / baanvak lengteoverschrijding en rijrichting.
  • Seinstanden aan de hand van baanvakbezetting, rijrichting en wisselstanden, bijzondere situaties.
  • Routetabellen, volgende baanvakbezetting aan de hand van huidige baanvakbezetting en wisselstanden.
  • Multiplexerstatus t.o.v. counter en parallel inputvariable.
  • Counter en parallel outputvariable t.o.v. multiplexer status.
  • Voorrang condities. Seinstanden aan de hand van baanvakbezetting en wisselstanden.
  • Rangeerspoorbezetting t.o.v. treinnummer, baanvakbezetting en liftstand.

Ik kan je verzekeren dat een Engelse wissel de hoeveelheid regels in de diverse kruismatrixen aardig op kan voeren. Gezien het feit dat er zeven Engelse wissels verwerkt zijn in de spoorbaan geeft te denken.

Wanneer de software voor het eerst gestart wordt is deze nog niet op de hoogte welke trein zich in welk baanvak bevindt. Daarom is er een eenvoudig te bedienen opstartwizzard toegevoegd die er voor zorgt dat er een herkenbare beginsituatie gecreëerd wordt. Na het beëindigen van de opstartwizzard is er geen persoonlijke interactie met de PC meer vereist en kan de gehele treinenloop, wisselstanden en seinstanden op het scherm gevolgd worden.
Uiteraard wordt de laatste status onthouden zodat een volgende dag niet wederom de opstartwizzard uitgevoerd hoeft te worden.

Schermafdrukken en andere afbeeldingen zijn terug te vinden in het fotoalbum. Printschema’s, printlayouts, kruismatrixen en andere documentatie is terug te vinden in het modelspoor download depot. De VB software is niet terug te vinden in het depot. Indien iemand meer informatie omtrent de software wilt hebben kan hij/zij contact opnemen met Marcel Houkes.