{"id":135,"date":"2016-10-10T17:42:44","date_gmt":"2016-10-10T16:42:44","guid":{"rendered":"http:\/\/lisby.dk\/wordpress\/?page_id=135"},"modified":"2025-01-20T22:23:42","modified_gmt":"2025-01-20T21:23:42","slug":"opsaetning-af-jmri","status":"publish","type":"page","link":"https:\/\/lisby.dk\/wordpress\/?page_id=135","title":{"rendered":"Ops\u00e6tning af JMRI"},"content":{"rendered":"\n<p>Her kommer historien om, hvordan jeg har sat JMRI op til at styre min bane. Forh\u00e5bentlig kan det tjene til at hj\u00e6lpe flere i gang med at bruge JMRI.<\/p>\n\n\n\n<p>Allernederst finder du en overordnet trin for trin anvisning p\u00e5 at komme i gang med JMRI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Indledende ord:<\/h2>\n\n\n\n<p>Mine f\u00f8rste erfaringer med JMRI tilbage i starten af 2014 var ikke entydigt positive. Programmet og dokumentationen er ikke s\u00e5dan lige at overskue.<\/p>\n\n\n\n<p>Programmet er ikke et program, men et bibliotek af grundl\u00e6ggende interface-software mod diverse DCC-systemer, grundl\u00e6ggende logik-programmel (kaldet Logix), et scripting interface (mulighed for at implementere stort set hvad som helst i Jython sproget) samt ikke mindst flere forskellige gode folks applikationssoftware, der bygger p\u00e5 dette grundlag. Nogle applikationer er kun halvf\u00e6rdige, nogle er inkluderet i JMRI pakken og nogle (f.eks. <a href=\"http:\/\/cats4ctc.wikidot.com\/\" target=\"_blank\" rel=\"noopener\">CATS<\/a>) er ikke.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dokumentation:<\/h2>\n\n\n\n<p>Dokumentationen er tilsvarende fragmenteret. Der er ikke \u00e9t sted, hvor man kan l\u00e6se om den eneste m\u00e5de et eller andet kan g\u00f8res i JMRI. For det f\u00f8rste er der n\u00e6sten altid flere (meget) forskellige m\u00e5der at opn\u00e5 et eller andet p\u00e5, og for det andet er der mange forskellige kilder:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Youtube videoer<\/li>\n\n\n\n<li>JMRIs hjemmeside<\/li>\n\n\n\n<li>Yahoo JMRI user group siden<\/li>\n\n\n\n<li>Myriader af andre hjemmesider.<\/li>\n<\/ul>\n\n\n\n<p>Jeg har f\u00f8lgende erfaringer\/kommentarer:<\/p>\n\n\n\n<p>&#8211; <a href=\"https:\/\/groups.yahoo.com\/neo\/groups\/jmriusers\/info\" target=\"_blank\" rel=\"noopener\">Yahoo gruppen<\/a> er meget anvendt til at s\u00f8ge svar p\u00e5 specifikke sp\u00f8rgsm\u00e5l. Der er livlig trafik og masser af hj\u00e6lpsomme folk. De f\u00e5 sp\u00f8rgsm\u00e5l, jeg har stillet, er blevet positivt besvaret p\u00e5 ganske kort tid. Det er til geng\u00e6ld ikke overskueligt for mig at s\u00f8ge i de indl\u00e6g andre allerede har skrevet. S\u00e5 det har ikke v\u00e6ret en kilde til information for mig.<\/p>\n\n\n\n<p>&#8211; Yahoo gruppen indeholder ogs\u00e5 et filomr\u00e5de. Det kr\u00e6ver medlemsskab af gruppen at tilg\u00e5, men det indeholder til geng\u00e6ld en del god information, f.eks. manualen til AutoDispatcher2: <a href=\"https:\/\/groups.yahoo.com\/neo\/groups\/jmriusers\/files\/AutoDispatcher\/AutoDispatcher2manual\/\" target=\"_blank\" rel=\"noopener\">https:\/\/groups.yahoo.com\/neo\/groups\/jmriusers\/files\/AutoDispatcher\/AutoDispatcher2manual\/<\/a><\/p>\n\n\n\n<p>&#8211; <a href=\"http:\/\/jmri.org\/\" target=\"_blank\" rel=\"noopener\">JMRI hjemmesiden<\/a> er ikke overskuelig. Den har en god s\u00f8gefunktion (dvs. Google) og ret mange velskrevne manualsider. Men der mangler et overblik og en guide til hvilke dele af JMRI, der bedst anvendes i hvilke sammenh\u00e6nge.<\/p>\n\n\n\n<p>&#8211; Kodebasen findes hos <del>Sourceforge.net<\/del> &#8211; rettelse: Den er flyttet til GitHub.com. Det er til geng\u00e6ld overraskende nemt at finde rundt i. Is\u00e6r efter at have oversat og eksekveret i debuggeren i NetBeans.<\/p>\n\n\n\n<p>&#8211; Der er mange Youtube videoer med instruktioner i, hvordan man installerer JMRI. Det ligger lidt tungere med den lidt mere avancerede anvendelse af JMRI. De findes muligvis, men Youtubes s\u00f8gemuligheder har ikke gjort mig i stand til at finde guldet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#8220;Getting Started&#8221;:<\/h2>\n\n\n\n<p>Den f\u00f8rste ber\u00f8ring med JMRI kan godt v\u00e6re ret forvirrende. Et godt r\u00e5d er at begynde med at strejfe rundt p\u00e5 <a href=\"http:\/\/jmri.org\/\" target=\"_blank\" rel=\"noopener\">http:\/\/jmri.org\/<\/a><\/p>\n\n\n\n<p>P\u00e5 den rundtur skal man bl.a. forbi de s\u00e5kaldte clinics, som er slideshows og videoer, som instruerer i visse specifikke anvendelser af specifikke dele af JMRI. Link til det generelle clinic omr\u00e5de: <a href=\"http:\/\/jmri.org\/community\/clinics\/\" target=\"_blank\" rel=\"noopener\">http:\/\/jmri.org\/community\/clinics\/<\/a><\/p>\n\n\n\n<p>Jeg har is\u00e6r haft gl\u00e6de af <a href=\"http:\/\/jmri.sourceforge.net\/community\/clinics\/UK2011\/index.shtml\" target=\"_blank\" rel=\"noopener\">denne clinic<\/a>, som instruerer i anvendelse af Layout Editor samt i ops\u00e6tning af signalmaster. Bem\u00e6rk, at allerede her ligger der op til flere valg, hvor jeg endnu ikke er helt sikker p\u00e5, om jeg virkelig har valgt det optimale:<br> &#8211; Layout Editor fremfor Control Panel Editor<br> &#8211; Signal master og logik fremfor signal hoveder og simpel signal logik.<br> Forklaring f\u00f8lger senere.<\/p>\n\n\n\n<p>For at komme i gang med selve programmet, begynder man naturligvis med at downloade og installere. Som n\u00e6vnt er det meget nemt at finde hj\u00e6lp til dette, hvis man finder det n\u00f8dvendigt. Selve installationen er nu ellers lige ud af landevejen, s\u00e5 det er nok det punkt, hvor der er mindst brug for hj\u00e6lp.<\/p>\n\n\n\n<p>Dern\u00e6st kommer forvirringen frem: Man har ikke f\u00e5et et program ved navn JMRI. Man har f\u00e5et et antal programmer, hvor nogen har et ikon p\u00e5 skrivebordet og andre ikke. F.eks. har man f\u00e5et PanelPro og DecoderPro.<\/p>\n\n\n\n<p>Jeg kan ikke helt g\u00f8re rede for alle de forskelle, der er p\u00e5 de forskellige programmer. Men forskellene er ikke overv\u00e6ldende. Det er stort set de samme menupunkter og knapper, der er tilg\u00e6ngelige. Og alt (n\u00e6sten) kan konfigureres.<\/p>\n\n\n\n<p>Den grundl\u00e6ggende ide er dog, at DecoderPro er beregnet til n\u00e5r man vil programmer dekodere og PanelPro er til ops\u00e6tning og anvendelse af de &#8220;paneler&#8221; (dvs. vinduer), der viser og definerer det fysiske layout p\u00e5 banen.<\/p>\n\n\n\n<p>Efter installation af JMRI kan man dobbeltklikke p\u00e5 en vilk\u00e5rlig af de ovenn\u00e6vnte ikoner p\u00e5 skrivebordet for at starte JMRI og komme i gang med konfiguration m.v.<\/p>\n\n\n\n<p>Der er dog lige en enkelt komplikation: Hvis man som jeg og efterh\u00e5nden de fleste Windows brugere har en 64-bit Windows version, s\u00e5 kan der v\u00e6re lidt komplikationer med at f\u00e5 lyd ud af Virtual Sound Decoder (en tilf\u00f8jelse til JMRI, som kan lave lyde ud af PC h\u00f8jttalerne stort set som en lyddekoder indbygget i et lokomotiv &#8211; bare noget mere primitivt).<\/p>\n\n\n\n<p>Det lykkedes mig at f\u00e5 det til at fungere med en blanding af voodoo og gode r\u00e5d fra Yahoo gruppen. Jeg tror, at der var disse to afg\u00f8rende faktorer:<br>\n1. Installere Open AL.<br>\n2. Tilf\u00f8je \/32bit optionen til alle de shortcuts, der bruges til at starte JMRI. Se ogs\u00e5 <a href=\"http:\/\/jmri.org\/help\/en\/html\/doc\/Technical\/StartUpScripts.shtml\" target=\"_blank\" rel=\"noopener\">http:\/\/jmri.org\/help\/en\/html\/doc\/Technical\/StartUpScripts.shtml<\/a><\/p>\n\n\n\n<p>Det n\u00e6ste er i princippet at f\u00e5 forbundet JMRI og PCen til sit DCC system.<\/p>\n\n\n\n<p>Man kan dog vente lidt med det og begynde med at v\u00e6lge Digitrax -&gt; Loconet Simulator. S\u00e5 kan man med PCen uden forbindelse til den fysiske verden pusle med at s\u00e6tte sit system op &#8211; i hvert fald hvis det ogs\u00e5 er Loconet baseret lige som mit.<\/p>\n\n\n\n<p>Senere kan man forbinde JMRI til det fysiske system, n\u00e5r man p\u00e5 et tidspunkt mener at have f\u00e5et defineret sit layout med sporskiftere, signaler m.v. og checket at det hele fungerer.<\/p>\n\n\n\n<p>Jeg vil dog nok r\u00e5de til, at man begynder med at forbinde til det fysiske og i det mindste tester om man kan f\u00e5 et lokomotiv til at bev\u00e6ge sig, skifte et sporskifte osv., s\u00e5 man f\u00e5r en f\u00f8rste fornemmelse af, hvor godt eller skidt man synes det hele fungerer.<\/p>\n\n\n\n<p>Det var stort set p\u00e5 dette punkt, at jeg var ved at give op i for\u00e5ret 2014, fordi intet tilsyneladende fungerede sammen med min Uhlenbrock IB-COM.<\/p>\n\n\n\n<p>Men det g\u00f8r det nu. B\u00e5de dekoder programmering, h\u00f8je funktionsnumre i lokomotiver m.v., modtagelse af signaler fra feedback moduler og styring af sporskifter er blevet rettet i JMRIs Uhlenbrock IB-COM\/Intellibox II interface.<\/p>\n\n\n\n<p>S\u00e5 hvis du har et Uhlenbrock anl\u00e6g er det i hvert fald ikke det, der skal holde dig v\u00e6k fra JMRI.<\/p>\n\n\n\n<p>Senere hen har jeg ogs\u00e5 rettet igennem med hensyn til ESU ECOS. S\u00e5 ogs\u00e5 med dette system fungerer JMRI nu inklusive dekoder ops\u00e6tning m.v.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Definition af dit layout i JMRI:<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-14.jpeg\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"http:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-14-300x200.jpeg\" alt=\"Processed with Snapseed.\" class=\"wp-image-165\"\/><\/a><figcaption class=\"wp-element-caption\"><i>Moderne styrepult hos Banedanmark.<\/i><\/figcaption><\/figure><\/div>\n\n\n<p>JMRI har to forskellige forgreninger, der begynder med valget af v\u00e6rkt\u00f8j til at definere sit layout inde i JMRI. Der er i princippet intet til hinder for at g\u00e5 begge veje. S\u00e5 kommer man bare til at have cirka dobbelt arbejde, for stort set alt g\u00f8res p\u00e5 forskellig m\u00e5de i de to JMRI grene.<\/p>\n\n\n\n<p><em><strong>EFTERSKRIFT<\/strong>: Jeg har ogs\u00e5 v\u00e6ret forvirret af de mange muligheder i JMRI, da jeg skrev dette. Men for god ordens skyld: PanelPro er navnet p\u00e5 den hovedapplikation i JMRI, som jeg bruger til at afvikle togdriften. Inde i den er der tre editorer, hvor man kan definere sit layout: Layout editor, som skal bruges med Signal Heads og Dispatcher (til automatisering af togdriften p\u00e5 en m\u00e5de), Control Panel Editor, som bruges med Signal Masts og Warrants (til automatisering af togdriften p\u00e5 en anden m\u00e5de) samt Panel Editor (hvor man ikke kan automatisere togdriften). Og jeg er endt med Control Panel Editor og Warrants.<\/em><\/p>\n\n\n\n<p>Jeg ved det, for jeg har opsat begge dele &#8211; f\u00f8rst i Layout Editor og (langt) senere i Panel Editor. Og det skal siges, at anden gang var rimelig hurtigt overst\u00e5et. Men mit layout er s\u00e5 heller ikke blandt de st\u00f8rste. Hvis\/n\u00e5r jeg p\u00e5 et tidspunkt laver en st\u00f8rre bane, S\u00e5 kommer jeg nok igen til at lave ops\u00e6tningen begge steder &#8211; I Layout Editor for at f\u00e5 signal-mast logikken til at fungere og i Panel Editor for at f\u00e5 Warrants til at fungere. L\u00e6s videre. Jeg kommer tilbage til b\u00e5de signaler og Warrants l\u00e6ngere nede i teksten.<\/p>\n\n\n\n<p>Se i \u00f8vrigt denne beskrivelse fra JMRI siden, som ogs\u00e5 kort n\u00e6vner en helt tredje mulighed &#8211; CATS: <a href=\"http:\/\/jmri.sourceforge.net\/help\/en\/html\/apps\/PanelPro\/PanelPro.shtml\" target=\"_blank\" rel=\"noopener\">http:\/\/jmri.sourceforge.net\/help\/en\/html\/apps\/PanelPro\/PanelPro.shtml<\/a><\/p>\n\n\n\n<p>I Panel Editor (ikke at forveksle med Control Panel Editor) opbygger man et panel, som f.eks. det, der er vist p\u00e5 billedet ovenfor vha. ikoner. Det er tilsyneladende den mest oprindelige gren af JMRI. Eksemplerne viser mest klassiske amerikanske paneler, men man kan sagtens bygge det op, s\u00e5 det ligner hvad som helst &#8211; ogs\u00e5 et dansk panel som det p\u00e5 billedet ovenfor. Man kan i sidste instans lave sine egne ikoner.<\/p>\n\n\n\n<p>Panel Editor er t\u00e6nkt til at ligne virkelighedens verden, hvor man i kontrolrummene har disse paneler, som betjenes af dispatcherne. Jeg kender ikke meget til den verden, men fra hvad jeg har l\u00e6st og fra hvad jeg har set p\u00e5 Youtube minder det meget om jernbanens pendant til luftfartens flyveledere.<\/p>\n\n\n\n<p>I starten brugte jeg ikke Panel Editor. For jeg havde den opfattelse, at hvis eller n\u00e5r jeg kommer til at f\u00f8le trang til at have en rigtig styrepult, s\u00e5 k\u00f8ber jeg nok en touch sk\u00e6rm og definerer et panel i Panel Editor til at k\u00f8re p\u00e5 den sk\u00e6rm. Det er nok trods alt b\u00e5de nemmere og billigere end at bygge en rigtig pult som den p\u00e5 billedet ovenfor.<\/p>\n\n\n\n<p>Senere er jeg dog g\u00e5et over til Panel Editor &#8211; ikke for at lave en styrepult, men for at definere mit layout som ikoner, der viser spor, sporskifter, signaler m.v. Mere om \u00e5rsagen til dette skifte senere.<\/p>\n\n\n\n<p>Til en begyndelse n\u00f8jedes jeg dog med Layout Editor.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-15.jpeg\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"198\" src=\"http:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-15-300x198.jpeg\" alt=\"Processed with Snapseed.\" class=\"wp-image-166\" srcset=\"https:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-15-300x198.jpeg 300w, https:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-15-768x507.jpeg 768w, https:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-15-1024x676.jpeg 1024w, https:\/\/lisby.dk\/wordpress\/wp-content\/uploads\/2016\/10\/image-15.jpeg 1043w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption class=\"wp-element-caption\"><i>Panel Editor panel til venstre og Layout Editor til h\u00f8jre. Bem\u00e6rk i \u00f8vrigt, at de har brugt DecoderPro programmet til at starte panelerne fra &#8211; gad vide hvad de vil bruge PanelPro til?<\/i><\/figcaption><\/figure><\/div>\n\n\n<p>Layout Editor synes jeg mere lignede noget, hvor man kan komme hurtigt i gang, og mere noget, hvor jeg kan se min sporplan og dermed bedre forst\u00e5.<\/p>\n\n\n\n<p>I mods\u00e6tning til Panel Editor, hvor man kan lave vilk\u00e5rligt mange paneler, der viser vilk\u00e5rlige udsnit af ens bane, s\u00e5 er man i Layout Editor n\u00f8dt til at definere hele sit layout i et og samme panel. Det er den eneste m\u00e5de den gren af JMRI kan forst\u00e5 sammenh\u00e6ngen og dermed f\u00e5 signalsystemet, ruter, mere eller mindre automatisk styring af tog osv. til at fungere.<\/p>\n\n\n\n<p>Jeg tror, at Layout Editor er &#8220;den nye skole&#8221;. Men jeg kunne tage fejl, Jeg kan dog forst\u00e5, at detaljerne omkring signalsystem m.v., der bygger ovenp\u00e5 Layout Editor, har udviklet sig over de seneste \u00e5r.<\/p>\n\n\n\n<p>Forgreningerne og dermed beslutningerne ender ikke med valget af Layout Editor. Det er kun begyndelsen. Det n\u00e6ste valg er om signalsystemet skal bygge p\u00e5 signalhoveder anbragt ved sporskifterne eller p\u00e5 signal master anbragt mellem blokkene.<\/p>\n\n\n\n<p>I mine f\u00f8rste fors\u00f8g gjorde jeg det, der umiddelbart virkede nemmest, nemlig at placere signalhovederne ved alle sporskifter, som de g\u00f8r det i denne clinic, der er en udm\u00e6rket introduktion til Layout Editor: <a href=\"http:\/\/jmri.org\/community\/clinics\/NMRA2008\/LayoutEditorClinic2008\/LayoutEditorClinic.pdf\" target=\"_blank\" rel=\"noopener\">http:\/\/jmri.org\/community\/clinics\/NMRA2008\/LayoutEditorClinic2008\/LayoutEditorClinic.pdf<\/a><\/p>\n\n\n\n<p>Men det fungerer ikke rigtigt tilfredsstillende. Is\u00e6r fordi det ikke ligner den danske m\u00e5de at signallere p\u00e5. Se mit <a href=\"http:\/\/lisby.dk\/wordpress\/?page_id=27\" target=\"_blank\" rel=\"noopener\">afsnit om signaler<\/a>.<\/p>\n\n\n\n<p>Jeg er derfor g\u00e5et over til signalmaster som beskrevet i denne clinic: <a href=\"http:\/\/www.jmri.org\/community\/clinics\/UK2011\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.jmri.org\/community\/clinics\/UK2011\/<\/a><\/p>\n\n\n\n<p>Jeg har dog gjort det med danske signaler i stedet for engelske. Det kr\u00e6vede lige en smule editering af nogle XML filer og tegning af ikoner. Resultatet er danske signaler p\u00e5 sk\u00e6rmen. Se mere i afsnittet om signaler. Disse tlf\u00f8jelser af danske signaler er i \u00f8vrigt nu en del af JMRI. S\u00e5 det beh\u00f8ver ingen at gentage selv.<\/p>\n\n\n\n<p>Jeg har tyvstartet med signalops\u00e6tningen ved nogen af de aftener, jeg har tilbragt p\u00e5 hotelv\u00e6relser (firmarejser) at have defineret den nye bane inklusive signaler i JMRI opsat til Loconet Simulator. Jeg synes, at jeg fik testet alt godt igennem &#8211; b\u00e5de train tracking og signal logikken.<\/p>\n\n\n\n<p>JMRI gemmer layouts m.v. i en stor XML fil. Det er meget smart, for s\u00e5 kan alle og enhver bare loade filen ind i deres JMRI installation, s\u00e5 man p\u00e5 den m\u00e5de kan udveksle erfaringer.<\/p>\n\n\n\n<p>Med definitionen af dansk signallering burde alt jo n\u00e6rmest klare sig selv. Men der var lige et par problemer p\u00e5 vejen:<\/p>\n\n\n\n<p>&#8211; Med Uhlenbrock IB-COM (og sikkert meget andet LocoNet baseret udstyr) har alle sensorer og alle sporskifter en ukendt tilstand efter at JMRI er startet. Jeg har derfor m\u00e5ttet lave et script til at initialisere til en kendt tilstand. Scriptet kaldes, n\u00e5r jeg trykker p\u00e5 en knap i layout vinduet. Eller rettere, s\u00e5 startes scriptet op sammen med JMRI, fordi jeg har lagt ind i Preferences -&gt; Startup, at scriptet skal startes.<\/p>\n\n\n\n<p>Scriptet stiller sig i starten til at vente p\u00e5 en intern sensor, som er h\u00e6ftet op p\u00e5 en knap (dvs. et ikon), som jeg har anbragt i Layout Editor. Dvs., at der intet sker, f\u00f8r jeg trykker p\u00e5 knappen.<\/p>\n\n\n\n<p>Scriptet initialiserer derefter alle sporskifter, s\u00e6tter alle sensorer til at indikere fri blok samt slukker og t\u00e6nder for str\u00f8mmen (for at f\u00e5 Uhlenbrock stationen til at rapportere om alle optagne blokke), samt initialiserer de virtuelle signal master ved bommene.<\/p>\n\n\n\n<p>Alle andre signaler beh\u00f8ver ingen s\u00e6rskilt initialisering. De reagerer p\u00e5 sensorer og sporskifter og initialiseres derfor sammen med disse.<\/p>\n\n\n\n<p>Efter at have indf\u00f8rt ECOS command station har store dele af dette script kunnet undv\u00e6res, fordi aktuel tilstand af sporskifter og sensorer kan l\u00e6ses fra ECOS modsat Uhlenbrock stationen.<\/p>\n\n\n\n<p>&#8211; Visse signaler fungerede ikke med den autogenererede logik. Nogle steder kunne der f.eks. v\u00e6re et sporskifte, som den autogenererede logik mente skulle v\u00e6re THROWN, mens den i virkeligheden skal v\u00e6re CLOSED. Men s\u00e5 g\u00e5r man bare ind og editerer p\u00e5g\u00e6ldende logik ved at s\u00e6tte kryds i listen af sporskifter og v\u00e6lger CLOSED.<\/p>\n\n\n\n<p>Andre steder &#8211; is\u00e6r rundt om krydssporskiftet &#8211; var der mere, der skulle g\u00f8res. Her har jeg defineret nogle flere stumper Logix. Det forklares ganske udm\u00e6rket i ovenn\u00e6vnte clinic, hvordan man laver disse forholdsvis simple regler for signallering. Men husk lige at slette den ikke fungerende automatisk genererede logik for de master du laver Logix for. Begge dele p\u00e5 samme tid g\u00f8r intet godt.<\/p>\n\n\n\n<p>Efter at have lavet alt denne ops\u00e6tning af signaler og pr\u00f8vet dem af med simuleret Loconet, traf det sig, at jeg ogs\u00e5 blev f\u00e6rdig med at bygge min nye bane op i virkeligheden.<\/p>\n\n\n\n<p>F\u00f8rst da gik det op for mig, at to af mine blokke hver indeholdt sporskifter i b\u00e5de den yderste og den inderste &#8220;cirkel&#8221; p\u00e5 banen. Og det ville reelt betyde, at to tog ikke ville kunne passere hinanden. S\u00e5 hver af disse blokke m\u00e5tte deles i to.<\/p>\n\n\n\n<p>Det tog ikke lang tid at lave det fysiske med at par ledninger mere til input modulerne. Men det var mere eller mindre forfra med signal logikken. S\u00e5 den del tog cirka 6 timer bare for denne lille bane.<\/p>\n\n\n\n<p>Jeg tror egentlig ikke at JMRI er meget v\u00e6rre end andre futtogsstyreprogrammer. Men det er lidt tungt at definere et layout i alle de detaljer, der er. Til geng\u00e6ld har JMRI den helt gevaldige fordel, at alt er meget dynamisk. Man kan bare bygge p\u00e5, hvis man har en god ide. F.eks. placere en knap et eller andet sted og f\u00e5 den til at g\u00f8re hvad man vil.<\/p>\n\n\n\n<p>Og efter at v\u00e6re blevet mere dus med JMRI er der en del \u00e6ndringer, som jeg laver direkte i XML filerne. Det er meget nemmere og hurtigere end at klikke sig rundt i en grafisk brugergr\u00e6nseflade. Men det kan naturligvis kun anbefales, hvis man ved hvad man g\u00f8r, og hvis man er omhyggelig med sikkerhedskopiering af filerne, f\u00f8r man \u00e6ndrer noget.<\/p>\n\n\n\n<p>Men jeg ser muligheden for at manipulere XML filerne direkte som en fordel ved JMRI, som jeg ikke tror, man f\u00e5r i de kommercielle programmer.<\/p>\n\n\n\n<p>Efter at v\u00e6re begyndt fors\u00f8gene med automatisering som beskrevet i et senere afsnit er det g\u00e5et op for mig:<br>\n1. At den &#8220;double-crossover&#8221;, alts\u00e5 krydssporskifte, som jeg har defineret i Layout editor, og som jeg har i virkeligheden, ikke fungerer optimalt i JMRI: Der er ingen m\u00e5de at vise automatikken, hvordan krydset skal passeres.<br>\n2. Der er et eller andet galt med definitionen af paths i mit layout.<\/p>\n\n\n\n<p>Punkt 1 har jeg l\u00f8st ved at fjerne krydssporskiftet fra layoutet og erstatte det med to almindelige sporskifter (defineret som &#8220;internal&#8221;, hvilket vil sige ikke-fysiske alias virtuelle) samt (i f\u00f8rste omgang) et stykke logix til at s\u00e6tte mit fysiske krydssporskifte (som stadigv\u00e6k er defineret i JMRI &#8211; bare ikke som en del af layoutet) ud fra kombinationen af hvordan de to virtuelle sporskifter er sat.<\/p>\n\n\n\n<p>Logix er dog senere skiftet ud med et Jython script, som det har taget en del iterationer at f\u00e5 til at fungere optimalt.<\/p>\n\n\n\n<p>I l\u00f8bet af december 2015 er der bl.a. indf\u00f8rt en ECOS command station, hvor JMRI er patchet (og pathcen gjort til en del af n\u00e6ste JMRI version, selvf\u00f8lgelig), s\u00e5 sporskifter er MONITORED lige som for LocoNet, samtidig med at knownState er UNKNOWN mens sporskifterne skifter.<\/p>\n\n\n\n<p>Udover at det hjalp p\u00e5 et problem i Dispatcher med at togene ikke ventede p\u00e5 at sporskifterne skiftede, s\u00e5 har det ogs\u00e5 kunnet bruges til endelig at f\u00e5 Jython scriptet til at styre krydssporskiftet ordentligt, samtidig med at ogs\u00e5 de to internal sporskifter opf\u00f8rer sig p\u00e5 samme m\u00e5de med knownState lig med UNKNOWN mens krydssporskiftet skifter.<\/p>\n\n\n\n<p>Punkt 2 (&#8220;et eller andet galt med paths&#8221;) fandt jeg ud af at l\u00f8se ved at g\u00e5 ind i Tables-&gt;Blocks og i menuen i det p\u00e5g\u00e6ldende tabel-vindue fandt jeg ud af at man kan slette alle paths.<\/p>\n\n\n\n<p>Det gjorde jeg, gemte derefter layoutet og genstartede JMRI, hvorved Layout Editor gendanner alle paths. Efter at have gjort det, kunne jeg slette alle de <a href=\"http:\/\/jmri.org\/help\/en\/html\/tools\/Logix.shtml\">Logix<\/a>, som jeg havde lavet til blok- og indk\u00f8rselssignaler og i stedet lade Layout Editor danne signal mast logik.<\/p>\n\n\n\n<p>&#8220;Junction&#8221; hovederne styres stadigv\u00e6k af Logix, men de er s\u00e5dan set ogs\u00e5 kun til pynt. S\u00e5 hermed r\u00f8g den mest komplekse og veludt\u00e6nkte Logix v\u00e6k. Hmmm. Men jeg fik da l\u00e6rt at definere Logix&#8230;&#8230;.<\/p>\n\n\n\n<p>Dette fik dog ikke umiddelbart Dispatcher til at fungere s\u00e6rlig godt. Men mere om det senere.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Train Tracking:<\/h1>\n\n\n\n<p>Train tracking er JMRI&#8217;s evne til at holde rede p\u00e5, hvilket tog, der befinder sig hvor. Det fungerer ved at knytte en variabel til hver blok, og skrive tog navnet p\u00e5 den blok, hvor det befinder sig. N\u00e5r man derefter k\u00f8rer rundt med toget og blokke derved bliver optaget og frigivet, flytter JMRI togets navn med rundt.<\/p>\n\n\n\n<p>Jeg har anvendt train tracking til at teste, at de data, der ligger i systemet, virkelig h\u00e6nger sammen, alts\u00e5 at blokkene h\u00e6nger sammen p\u00e5 samme m\u00e5de i den fysiske verden, i det layout, der kan ses p\u00e5 sk\u00e6rmen samt i de data, der ligger inde i JMRI. Jeg fandt faktisk en fejl, som jeg endte med at m\u00e5tte rette direkte i den XML fil, hvori Layout Editor gemmer alle data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Automatisk togk\u00f8rsel:<\/h2>\n\n\n\n<p>N\u00e6ste tiltag var at l\u00e6se om Warrants, Dispatcher og AutoDispatcher2, som er nogen af JMRIs muligheder for at automatisere togdriften. Alle tre metoder ser ud til at kunne lidt af det samme: Styre togene automatisk og\/eller halvautomatisk og samtidig tage hensyn til signalerne, og dermed til hvis jeg selv k\u00f8rer et tog manuelt. Men lad os nu se, om det holder hvad det lover, samt hvad forskellen mellem de forskellige muligheder er. Og s\u00e5 holder jeg stadigv\u00e6k muligheden for noget Jython kode \u00e5ben &#8211; enten som supplement til eller erstatning for de n\u00e6vnte automatiseringsmuligheder.<\/p>\n\n\n\n<p>Det med de mange muligheder er et resultat af, at der er mange bidragsydere til JMRI. Det er p\u00e5 den ene side lidt en skam, at man ikke har v\u00e6ret i stand til at arbejde sammen om en enkelt l\u00f8sning, der kunne have fungeret perfekt, men er endt med mange forskellige mere eller mindre halvf\u00e6rdige l\u00f8sninger. Men til geng\u00e6ld har alle derved mulighed for at v\u00e6lge det, man synes bedst om, og s\u00e5 i \u00f8vrigt pr\u00e6ge det ved at hj\u00e6lpe til med at finde og m\u00e5ske endda fikse eventuelle problemer.<\/p>\n\n\n\n<p>Jeg besluttede mig for at begynde mine fors\u00f8g med Dispatcher, fordi:<br>\n&#8211; Dispatcher bygger oven p\u00e5 Layout Editor og Signal Mast logik.<br>\n&#8211; AutoDispatcher2 kr\u00e6ver, at man fjerner sin Signal Mast logik. Hvor er man s\u00e5 henne, hvis man vover at blande sig med lidt manuel k\u00f8rsel?<br>\n&#8211; Warrants kr\u00e6ver, at man bygger hele sit layout op en gang til i form af OBlocks m.v. Det er delvist automatiseret i Panel Editor, men er helt forfra i forhold til min situation, hvor jeg har valgt Layout Editor. Man kan som tidligere n\u00e6vnt sagtens g\u00f8re begge dele, men det \u00f8nsker jeg ikke i f\u00f8rste omgang.<br>\n&#8211; AutoDispatcher2 er Jython kode. De andre to er Java kode, hvilket g\u00f8r, at de kan k\u00f8res inde i en debugger. Og eftersom jeg ikke tror p\u00e5, at jeg undg\u00e5r at debugge mig frem til et stabilt niveau af virkem\u00e5de, s\u00e5 er det ret essentielt.<\/p>\n\n\n\n<p>Desv\u00e6rre viste det sig efter mange m\u00e5neders arbejde med Dispatcher, hvor jeg fors\u00f8gte mig med mange tests og rettelser i Java koden, at Dispatcher er implementeret mindre heldigt. For software kyndige: Koden er multitr\u00e5det efter spaghetti princippet, men uden at v\u00e6re re-entrant. Eller sagt p\u00e5 almindelig dansk: Det kommer aldrig til at fungere p\u00e5lideligt.<\/p>\n\n\n\n<p>Som en konsekvens af ovenn\u00e6vnte problemer med Dispatcher&nbsp;skiftede jeg&nbsp;i julen 2015 hest og gik over til Warrants og dermed Panel Editor. Det virkede noget bedre. Men p\u00e5 min bane med korte blokke fungerede det heller ikke ordentligt. Java koden var dog langt mere gennemskuelig og velstruktureret. S\u00e5 jeg lavede min egen variant af warrants, nemlig <a href=\"http:\/\/jmri.org\/help\/en\/package\/jmri\/jmrit\/logix\/SCWarrant.shtml\" target=\"_blank\" rel=\"noopener\">SCWarrants<\/a>, som nu (naturligvis) er en del af JMRI. Man m\u00e5 bidrage til f\u00e6llesskabet. Det er ideen med Open Source software.<\/p>\n\n\n\n<p>Desuden har jeg lavet mig et Jython script, der opererer p\u00e5 en definition af mine tog, hvor jeg har defineret hvilke warrants, der bringer toget rundt p\u00e5 banen p\u00e5 rette vis. Det er dette script, der i sidste instans fuldautomatiseret togdriften. Se mere <a href=\"http:\/\/lisby.dk\/wordpress\/?page_id=2424\">her<\/a>.<\/p>\n\n\n\n<p>S\u00e5 nu virker det.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Opsummering:<\/h2>\n\n\n\n<p>Hvis du vil i gang med automatisk togdrift i JMRI, anbefaler jeg f\u00f8lgende r\u00e6kkef\u00f8lge:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Anskaf eller byg al den elektronik, jeg beskriver <a href=\"http:\/\/lisby.dk\/wordpress\/?page_id=252\" target=\"_blank\" rel=\"noopener\">her<\/a>.<\/li>\n\n\n\n<li>Forbind din PC til dit layout.<\/li>\n\n\n\n<li>Installer JMRI.<\/li>\n\n\n\n<li>Test om du fra JMRI kan f\u00e5 et lokomotiv til at k\u00f8re og et sporskifte til at skifte.<\/li>\n\n\n\n<li>Check at tilbagemeldingsmodulernes status vises i JMRI.<\/li>\n\n\n\n<li>Pr\u00f8v ogs\u00e5 eventuelle andre basale ting af, som f.eks. dekoder programmering, hvis du har t\u00e6nkt dig at bruge det.<\/li>\n\n\n\n<li>I tilf\u00e6lde af problemer med disse basale ting, s\u00e5 bed om hj\u00e6lp enten i Yahoo gruppen eller hos mig. Det kan bringes til at fungere.<\/li>\n\n\n\n<li>Definer dit layout i Layout Editor. (Kan undlades.)<\/li>\n\n\n\n<li>Ops\u00e6t signal mast logik vha. Layout Editor. (Eller manuelt i signal mast tabellen, hvis Layout Editor ikke anvendes &#8211; det er faktisk lettere).<\/li>\n\n\n\n<li>Definer dit layout i Control Panel Editor &#8211; inklusive OBlocks, Portals, Paths osv.<\/li>\n\n\n\n<li>Lav nogle Warrants eller SCWarrants og lav et script, der afvikler disse warrants (eller tilpas <a href=\"http:\/\/lisby.dk\/wordpress\/?page_id=2424\">mit script<\/a> til dit layout).<\/li>\n\n\n\n<li>Nyd at se dine modeltog futte afsted.<\/li>\n<\/ol>\n\n\n\n<p>Bem\u00e6rk, at Rom blev ikke bygget p\u00e5 \u00e9n dag. Og du vil heller ikke kunne f\u00e5 noget som helst til at virke p\u00e5 en dag &#8211; hverken med JMRI eller med noget andet program.<\/p>\n\n\n\n<p>Det tager noget tid. Men er det ikke en del af gl\u00e6den ved modeltog?<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Her kommer historien om, hvordan jeg har sat JMRI op til at styre min bane. Forh\u00e5bentlig kan det tjene til at hj\u00e6lpe flere i gang med at bruge JMRI. Allernederst finder du en overordnet trin for trin anvisning p\u00e5 at komme i gang med JMRI. Indledende ord: Mine f\u00f8rste erfaringer med JMRI tilbage i starten &hellip; <a href=\"https:\/\/lisby.dk\/wordpress\/?page_id=135\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Ops\u00e6tning af JMRI<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-135","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/135"}],"collection":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=135"}],"version-history":[{"count":15,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/135\/revisions"}],"predecessor-version":[{"id":4192,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/135\/revisions\/4192"}],"wp:attachment":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}