Tilfældighedsgenerator med CS3

Her kan du debattere og stille spørgsmål til alt om elektronik og digitaldrift på modeljernbanen. Skal du have hjælp til en dekoder eller driller signalet? Stil dit spørsmål her.
Besvar
Søren
Lokomotivfører
Indlæg: 3939
Tilmeldt: 30 jul 2011, 08:36
Digital: Ja
Scale: H0 - 2-rail
Skinnesystem: Trix C
Geografisk sted: Malling
Kontakt:

Tilfældighedsgenerator med CS3

Indlæg af Søren » 25 jan 2019, 21:41

På udstillingsanlægget har jeg hid til kørt med en forudprogrammeret sekvens. Det bliver dog lidt trivielt i længden, så jeg har arbejdet på at indføre lidt ekstra krydderi i form af tilfældigheder.

Med opdatering 1.3.3 til Central Station 3 har du mulighed for at sætte status på kontrolkontakter og udlæse status på artikler. Dette åbner en masse muligheder for at have artikler påvirke automatikken i anlægget. Det ændrer dog ikke på, at hvis CS3'eren skal styre togene, så skal du enten have bremsemoduler (eller strømløse stykker) i spil, alternativt skal CS3'eren vide præcis hvilket tog der er hvor.

At vide hvilket tog der er hvor, kan CS3'eren kun opnå, hvis vi benytter en forudprogrammeret sekvens. Med mange tog på anlægget, kan det være en fin løsning. Det vil sikre, at alle tog får motion og tilskueren vil næppe opdage at det er forudprogrammeret. Man kan benytte mange tricks til at skjule mønsteret.

Det kunne dog være sjovere, hvis vi kunne indføre en grad af tilfældighed, så sekvensen bliver brudt, men uden at give afkald på CS3'erens behov for at vide hvor togene befinder sig. Med opdatering 1.3.3 er dette muligt.

Ind på banen kommer m84 dekoderen (60842, "den sorte version", mfx versionen). Dekoderen har en - for mange - overset funktion. Den kan fungere som tilfældighedsgenerator. Hvis du samtidig kobler den med et S88 AC modul eller en S88 LINK, så kan du overføre status på kontakterne til din CS3. Dette åbner muligheden for at aflæse kontakterne (via S88 mapningen) og derved udnytte tilfældighedsgeneratoren i dekoderen til at styre automatikken på CS3.

Her har jeg oprettet en sporplan med kontakterne på. Kontakterne R1 - R7 er porte på min S88 LINK, som er forbundet med udgange på min m84. Udgangene på min m84 er sat op til at være tilfældighedsgenerator, så de vil skifte status med jævne mellemrum, og mine S88 kontakter vil afspejle den status.
cs3_random1.png
Nu kan jeg oprette hændelser, der har kontakternes status som betingelser, og derved få en grad af tilfældighed ind over hvornår de skal afvikles.

Det benytter jeg til min skyggebanegård. Under R1 - R7 har jeg yderligere fire kontrolkontakter (ikke S88, men blot interne kontakter i CS3). Disse fungerer som betingelser for afviklingen af togene på skyggebanegården. Togene kører ikke med mindre deres spor er aktivt.

Baseret på inputtet fra S88 LINK vil CS3'eren vælge et spor til at være næste tog der afgår.

Her kan du se en video, hvor jeg har sat det hele op.



Sådan fungerer det.

Din m84 skal sættes op til at splitte sit output i 8 separate udgange (se figur punkt 1). Det kan kun mfx-versionen af m84, og det er den sorte udgave (60842).

Din m84 skal også indstilles til at være "Belysning" (2). Dette giver dig en tilfældig tænd/sluk af de aktive porte. Du kan justere på hvor ofte portene skal skifte status under konfigurationsmenuen for m84 (3).
cs3_random2.png
Alle porte på din m84 skal forbindes til et S88 AC modul eller en S88 LINK.

På din CS3 opretter du en S88 kontakt for hver port på S88 modulet du har forbundet en m84 port til. Du kan give portene et andet symbol, så de er lette at genkende. Jeg har valgt en lille kontakt.
cs3_random3.png

m84 som tilfældighedsgenerator
Når du indstiller din m84 til at operere i tilstanden "Belysning", så skifter dekoderens kontakter også opførsel, når du betjener dem på din CS3.

Du tænder og slukker ikke længere den enkelte kontakt. I stedet aktiverer du tilfældighedsgeneratoren for den enkelte kontakt. Tilfældighedsgeneratoren vælger herefter om kontakten skal være tændt eller slukket. Du kan derfor opleve, at der går lidt tid fra du aktiverer kontakten på din CS3, til der sker noget på dekoderen.

Bemærk, at kontaktens status heller ikke er afspejlet på CS3. Artikellisten viser kun om tilfældighedsgeneratoren er aktiv.

Du kan selv bestemme intervallet hvormed tilfældighedsgeneratoren vælger en ny status for porten. Dette gør du under konfiguration af dekoderen. Her finder du knappen "Output" som åbner billedet med indstillinger for de enkelte kontakter.
cs3_m84_output_button.png
Billedet indeholder en tabel med indstillinger for samtlige udgange på din m84. Du kan se at port 1 - 6 står til "Tilfældighedsgenerator".

Periode står til 5, hvilket betyder at tilfældighedsgeneratoren vi vælge en ny status hvert 5. sekund. Bemærk, at den godt kan vælge samme status flere gange i træk.

Port nr. 7 står til "Blinklys". Sidstnævnte vender jeg tilbage til.
cs3_random4.png

m84 og 8 porte på CS3
CS3 antager at alle multidekodere kun har 4 porte. Når du opretter din m84 på din CS3 (f.eks. automatisk via mfx), så skal du sørge for at den har en adresse på forhånd. Specielt for tilbehørsdekodere har du mulighed for at sætte adressen, også selv om du benytter mfx. Du sætter adressen på dekoderens museklaver.

Når du vælger adressen skal du sørge for, at der er mindst 7 ledige adresser efter dekoderens egen adresse. Dem skal vi nemlig bruge.

Hvis dekoderen f.eks. har adresse 37, vil den optage adresserne 37, 38, 39 og 40. Da vi splitter portene op i 8, så vil dekoderen ydermere optage adresserne 41 til 44.

CS3 vil som udgangspunkt stadig tro at din m84 kun optager 4 adresser. For at komme omkring den udfordring, skal du manuelt oprette en ekstra m84 med adresse 39. Det vil give dig 4 nye trykknapper som du kan bruge til de resterende porte.
m84_ekstra_adresse.png
Det vil ligne at du har to m84 dekodere, hvor du i virkeligheden blot har en.
cs3_m84_m_8_udgange.png
Når systemet er i drift vil kontakterne blot ligge efter hinanden som én stor dekoder.
cs3_random5.png
Din tilfældighedsgenerator er nu klar. Hvis det hele ellers er forbundet korrekt, kan du nu aktivere alle dine m84-porte og se at dine S88 kontakter begynder at blinke tilfældigt med hvert statusskift.

Det næste skridt.

Du skal nu bygge de hændelser der vælger hvilket tog der skal køre. Det er forholdsvis simpelt: Du kan benytte mønstre til at repræsentere spor.

Da vi har 4 spor, skal vi have fire mulige mønstre at vælge imellem. Det betyder at vi skal benytte 2 porte for at få 4 muligheder.

Sådan her:
R1 (aktiv) R2 (aktiv) = Spor 1
R1 (inaktiv) R2 (aktiv) = Spor 2
R1 (aktiv) R2 (inaktiv) = Spor 3
R1 (inaktiv) R2 (inaktiv) = Spor 4

Baseret på ovenstående regler bygger du 4 hændelser, der hver især opfylder en af de fire betingelser.

Her vælger jeg spor 1:
cs3_vælg_s1.png
Her vælger jeg spor 2. Bemærk at betingelserne er anderledes, jf. vores regler for valget af spor:
cs3_vælg_s2.png
Jeg har ligeledes oprettet hændelser for spor 3 og spor 4, der hver opfylder deres egne betingelser. Igen jf. vores regelsæt.

De enkelte opgaver er sat op til spørge på status på kontakten, hvis betingelsen er opfyldt, så fortsætter afviklingen af hændelsen. Her er et eksempel hvor vi spørger om kontakten R1 er ledig, hvis ja, så fortsæt afviklingen af hændelsen.
cs3_vælg_s1_indstillinger.png
Hvis du kigger på hændelserne ovenfår vil du også se at de kalder en "sluk alle" hændelse. Den hændelse slukker kontakterne for samtlige spor. Dette sker for at rydde op inden vi sætter en ny status. Hvis vi ikke gjorde det, så vil vi kunne risikere at flere spor blev valgt på samme tid.
cs3_vælg_sluk_alle.png
cs3_vælg_sluk_alle_hændelse.png
Teknisk forklaring: Årsagen til det er at CS3'eren bruger tid (ultra lidt tid, men tid) på at afvikle hændelserne. I meget teoretiske og sjældne tilfælde, vil det kunne falde sammen med at status på kontakterne skifter mens hændelsen bliver afviklet, hvorved vi kan risikere at billedet ser anderledes ud for hændelse 4 end for hændelse 3. Hvis det sker, kan vi risikere at begge hændelser er positive, og begge spor vil blive valgt. Ved at rydde op hver gang, vil sidste positive automatisk vinde. Dermed er problemet væk.

Nu kommer vi til hvorfor port nr. 7 på dekoderen står til "Blinklys". Jeg vil gerne have at valget af spor sker automatisk med jævne mellemrum. Derfor udnytter jeg blinklysfunktionen til, med jævne mellemrum, at få aktiveret en S88 kontakt. Den kontakt kan jeg så bruge som udløser for den hændelse der vælger sporet.

Du skal derfor bygge en hændelse der aktiverer alle 4 "Vælg spor"-hændelser på én gang og sætte den S88 kontakt der repræsenterer udgang 7 på din m84 som udløser for hændelsen. Hver gang udgang 7 bliver aktiv, vil der vil blive valgt et nyt spor.
cs3_random9.png
Fordelen ved at gøre det på den måde er, at du kan slukke for udgang 7 på din m84 og derved stoppe at sporene bliver valgt automatisk. Dermed kan du standse afviklingen af tog, alternativt manuelt overtage skyggebanegården med et tryk på en knap. Smart!

Skyggebanegården
Nu er der kun tilbage at bygge det ind i styringen af skyggebanegården. Hvordan du gør det, er jo meget individuelt. Hos mig fungerede det tidligere sådan at det ankomne tog, aktiverede sin nabo og sådan kørte det rundt i ring.

Nu har jeg bygget det om, sådan at alle hændelser for de 4 spor i skyggebanegården starter med at tjekke status på den kontrolkontakt der repræsenterer dem selv. Hvis kontakten er aktiv, starter hændelsen, ellers ikke.
cs3_random8.png
Det ankomne tog starter nu alle naboer på én gang. Tjekket af kontrolkontakterne sikrer at kun én kører. Resten bliver holdende.

Jeg her simpelt oprettet en hændelse, der starter alle tog, og kalder den sidst i hver hændelse for de enkelte spor.
cs3_skygge_kald_start_alle.png
"Start alle" hændelsen er super simpel:
cs3_skygge_start_alle.png
Det var en længere smøre, da mange ting skulle forklares på samme tid. Det er i virkeligheden meget nemt at sætte op, og kun fantasien sætter grænser.

Ovenstående eksempel indeholder alle de indledende forberedelser til at styre skyggebanegården med en grad af tilfældighed over sig. Disse forberedelser skal du kun foretage én gang, og så kan du benytte dem igen, og igen.

Du kan benytte tilfældighedsgeneratoren til mange ting. Du kan f.eks. også sætte tilfældige togveje, signalers status og meget mere.

Hvis der er spørgsmål, så spørger du bare! 🙂
Med venlig hilsen
Søren

2-skinne med CS3 Plus, tysk forbillede IV, V og VI

Besvar