CS3 Guide - Random makro

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: 3940
Tilmeldt: 30 jul 2011, 08:36
Digital: Ja
Scale: H0 - 2-rail
Skinnesystem: Trix C
Geografisk sted: Malling
Kontakt:

CS3 Guide - Random makro

Indlæg af Søren » 12 jul 2019, 06:43

På opfordring.

Random
Random betyder tilfældig. CS3s random makro kan aktiviere en tilfældig hændelse ud fra en liste af hændelser.
random_a.jpg
Hvorfor
Random makroen kan benyttes til mange forskellige opgaver. For eksempel kan du krydre din automatik med tilfældigheder, således at det, der ellers vil fremstå som en planlagt rækkefølge af hændelser, vil være mere overlagt til netop tilfældigheder og dermed skabe mere dynamik i din automatik.

Tidligere kunne det samme opnås med en m84 (strømdekoder) og et tilbagemeldingsmodul. Det er dog en dyr løsning, så random makroen er klart at foretrække.

Hvordan
I dette eksempel tager jeg udgangspunkt i en skyggebanegård, hvor togene skal sendes afsted i tilfældig rækkefølge. Jeg antager at du i forvejen har noget automatik med én hændelse for hvert spor, der kalder sin nabo når et tog er ankommet i sporet. Naboen aktiverer sit tog osv.

Ideen er at du her kalder random funktionen i stedet for naboen, hvorved ansvaret for at vælge tog nu ikke længere er fast defineret men overladt til tilfældighederne. Du indsætter altså et ekstra led.

Du finder random makroen i listen af makroer under den hændelse du har oprettet. Når du tilføjer makroen til hændelsen oprettes en ny hændelse som repræsenterer makroen.
random_menu.jpg
Hændelserne der skal være i spil når makroen afvikles tilføjer du til makroens hændelse.
random_a.jpg
Du kan så kalde makroens hændelse fra den hændelse der skal aktivere makroen.

Samtidighed
Ovenstående vil virke, men du skal være opmærksom på samtidigheden i din automatik. Når random makroen skal vælge en ny hændelse fra listen vil den ikke køre, med mindre, at alle hændelser i listen er afsluttede. Hændelsen som kalder makroen er ikke afsluttet før makro-hændelsen er kørt. Da hændelsen også selv er blandt de mulige kandidater har vi altså et problem. Kan du se problemet?

Systemet vil gå i stå første gang makro-hændelsen skal køre, fordi makroen vil konstatere at en af hændelserne stadig er i gang og dermed afslutte.

For at komme omkring dette, så opretter du en ekstra hændelse der kalder random-hændelsen.
random_mellem_haendelse_expanded.jpg
Bemærk! At hændelsen er sat til manuel drift. Dette er fordi den bliver kaldt af hændelserne fra din skyggebanegård og ikke bliver startet af nogen kontakt.

I den ny hændelse indbygger du et stopcheck. Til dit stopcheck kan du bruge en kontrolkontakt som du opretter i artikellisten. Den trækker du ind i hændelsen foran kaldet til makroen.

Stopchecket tjerner to formål:

1. At kontrollere om automatikken skal fortsætte. Det er rart at have en knap der kan afbryde automatikken som helhed. Du behøver ikke at bruge dette, men det er da meget rart at have.
2. At forsinke afviklingen af random makroen, så den kaldende hændelse når at afslutte inden random makroen afvikles. Dermed undgår du at tingene går i stå.
random_mellem_haendelse.jpg
I stedet for at dine hændelser kalder random makroen direkte, skal du ændre dem til at kalde den ekstra hændelse i stedet. Dermed afgiver de kontrollen til ekstra hændelsen, og da den ikke er i spil når der skal vælges en ny hændelse (da den ikke er i listen af mulige hændelser), så går tingene ikke i stå.
random_auto_spor.jpg
Vigtigt! Du må ikke sætte kryds i "Vent" når du skal kalde den ny hændelse. "Vent" betyder at den kaldende hændelse vil vente på at den kaldte hændelse bliver færdig. Som tidligere nævnt, så vil random-hændelsen ikke starte, hvis en af kandidaterne er aktive. Ved at sætte kryds i "Vent" så vil vores hændelse være aktiv når random-hændelsen kører og derved vil tingene gå i stå. Så det duer ikke.

Nu kan hver hændelse der afvikler skyggebanegårdens tog kalde den ekstra hændelse og tingene kan køre i evigheder.

Vægtning
Du kan påvirke tilfældighederne ved at tilføje vægtning af kandidaterne i random-hændelsen. Alle har som udgangspunkt vægtningen 1. Så længe alle kandidaterne har vægtningen 1, vil de alle have lige stor chance for at blive valgt.

Du kan skrue på vægtningen ved at vælge egenskaberne for kandidaten og justere tallet. F.eks. har jeg gjort det sådan at mit intercity-tog bliver valgt oftere end de andre tog. Dermed kører det mere. Sådan kan du altså påvirke driften af togene, og samtidig bevare tilfældighederne.
random_vægtning.jpg
Hvor meget du skal skrue på vægtningen afhænger af dig selv. Så du må eksperimentere med det og se hvad du synes virker for dig.
Med venlig hilsen
Søren

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

Mogens
Stationsbetjent
Indlæg: 46
Tilmeldt: 16 dec 2017, 21:21
Digital: Ja
Scale: H0 - 3-rail
Skinnesystem: Märklin C
Geografisk sted: Skovlunde

Re: CS3 Guide - Random makro

Indlæg af Mogens » 12 jul 2019, 11:49

Foreløbig tusind tak, jeg vil nærlæse det du har skrevet, ja jeg har i omtalte spor med indbygget hændelser,
således a udløser b
og b udløser c
og c udløser a

Søren
Lokomotivfører
Indlæg: 3940
Tilmeldt: 30 jul 2011, 08:36
Digital: Ja
Scale: H0 - 2-rail
Skinnesystem: Trix C
Geografisk sted: Malling
Kontakt:

Re: CS3 Guide - Random makro

Indlæg af Søren » 12 jul 2019, 12:17

Fint. Så bygger du to ekstra hændelser D og E.

D => Tjekker status af kontrolkontakt og hvis aktiv, venter 5 sekunder før den kalder E.
E => Random makro vælger blandt A, B og C.

A,B og C kalder alle D i stedet for hinanden.

Done!
Med venlig hilsen
Søren

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

Søren
Lokomotivfører
Indlæg: 3940
Tilmeldt: 30 jul 2011, 08:36
Digital: Ja
Scale: H0 - 2-rail
Skinnesystem: Trix C
Geografisk sted: Malling
Kontakt:

Re: CS3 Guide - Random makro

Indlæg af Søren » 15 jul 2019, 11:18

Nu med billeder. 👍
Med venlig hilsen
Søren

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

Mogens
Stationsbetjent
Indlæg: 46
Tilmeldt: 16 dec 2017, 21:21
Digital: Ja
Scale: H0 - 3-rail
Skinnesystem: Märklin C
Geografisk sted: Skovlunde

Re: CS3 Guide - Random makro

Indlæg af Mogens » 15 jul 2019, 17:01

Jeg siger mange tak, så jeg går i gang med at læse og forstå.
Der vil dog gå en rum tid, da anlægget først bliver sat op til november.

Hilsen Mogens

Besvar