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: 3984
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: 49
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: 3984
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: 3984
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: 49
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

Mogens
Stationsbetjent
Indlæg: 49
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 » 21 jul 2019, 12:13

Hej Søren

Jeg har nu læst , læst og læst det du har skrevet, det nok fordi det temmelig logisk at jeg ikke rigtig kan hitte ud af det.
Jeg har et anlæg som har en "skyggebanegård" hvor togene kører ind via trevejs sporskiftet og så sender de hinanden afsted skiftevis som sporet er belagt. Når togene efter udkørsel så passerer k 17 sættes signalerne på rødt
mit anlæg.png

så har jeg tre hændelser der hver især udløses af en kontaktskinnen, k24,k25k26.

s8a ind s8b ud k 24
s8a ind s8b ud, k 24 .png
s8b ind s8c ud k 25
s8b ind s8c ud, k 25.png
s8c ind s8a ud k 26
s8c ind s8a ud, k 26.png
så har jeg lavet en hændelse som du kalder D, der tjekker status af kontralkontakt og sat venetid til 5 sekunder
før den skal tjekke E
stopkontakt og random vælg nyt tog.png

hændelsen der oprettet som E, er så random i hvilken jeg har trukket de udløsende hændelser ind i.

random  vælg et nyt tog, vægtning frq venstre mod højre 1,3,2 .png


Det jeg ikke kan hitte ud af er så at få disse - fem hændelser placeret til udløserkontakten. Det som er som om du placerer "random" til slut i hver hændelse, men så er mit tog jo kørt som jeg har sat hændelserne op p.t. Har du mulighed for at forklare mig dette.



Jeg kan i hvert fald ikke finde ud af hvorledes hændelsen i hhv, a b og c skal sættes op og hvilken hændelse der skal udløses at kontakterne 24,25,26.


En stor mundfuld, men på forhånd tak.

Mogens(mist-zealand)

Søren
Lokomotivfører
Indlæg: 3984
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 » 21 jul 2019, 18:03

Hej Mogens

Der er grundlæggende forskelle i den måde du gør det på, og den måde jeg bygger det på.

Den fundamentale forskel på vores to løsninger er at dine hændelser aktiveres af en kontakt, hvor mine bliver aktiveret af en hændelse der kalder dem.

Dine hændelser ser ud til at være hårdt bundet op på hvordan de skal bruges i forhold til hinanden. Med det mener jeg at du aktivt kalder diverse sporskifter osv. direkte fra hændelserne. Du kan med fordel dele dine hændelser op i mindre hændelser (funktioner) der så kalder hinanden i stedet. På den måde er det mere modulært bygget op, og du kan nemmere ændre det.

Du er nødt til at ændre på dine hændelser for at få random-makroen i spil.

Overvej din skyggebanegård som en først-ind-først-ud kø. Dette er den klassiske skyggebanegård.

Det fungerer således:

- Tog ankommer i spor 1, tog kører fra spor 2.
- Tog ankommer i spor 2, tog kører fra spor 3.
- Tog ankommer i spor 3, tog kører fra spor 1.

Vi skal ændre den klassiske funktion til at se sådan ud:

- Tog ankommer i spor 1, tog kører fra spor ?.
- Tog ankommer i spor 2, tog kører fra spor ?.
- Tog ankommer i spor 3, tog kører fra spor ?.

Hvor "?" repræsenterer et tilfældigt spor 1 - 3.

For at kunne det, så skal vi bygge lidt om i hændelserne. Jeg antager her at din S88 kontakt pr. perronspor er i slutningen af perronsporet. Det bør den være, så du ved at toget er helt inde på sporet inden du gør mere. Hvis den ikke er, så får du svært ved at bygge det optimalt.

Det du gør, er at bygge 3 hændelser, der hver især repræsenterer et perronspor. Hændelsen har til formål at standse toget i sporet, samt kalde random-hændelsen. Jeg kalder dem "stophændelser". Hver hændelse skal gøre følgende:

1. Starte med at sætte sit eget signal på rødt (så toget stopper).
2. Kalde "hændelsen der kalder random-hændelsen".

Hændelserne aktiveres af deres respektive kontakt (K24, K25, K26).

Dernæst bygger du yderligere 3 hændelser for hvert perronspor. Hændelserne har til formål at starte et tog i et perronspor. Jeg kalder dem starthændelser. Hændelserne skal gøre følgende:

1. Sæt togvej til det spor de repræsenterer.
2. Sæt sit eget signal på grønt (så toget kører).

Vigtigt: Hændelsen skal ikke aktiveres af nogen kontakt (random-hændelsen skal aktivere den senere)!

Random-hændelsen skal så have ovenstående starthændelser i sin liste.

Dette burde gøre tricket for dit anlæg. Du kan eksperimentere med indkørselssignalet til skyggebanegården, så det kommer til at passe med afviklingen af tog.
Med venlig hilsen
Søren

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

Mogens
Stationsbetjent
Indlæg: 49
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 » 21 jul 2019, 19:44

Tak for svaret.

Ja min kontakt ligger i alle tilfælde i slut af perronsporet.

Så nu vil jeg fundere over at lave hændelser som du beskriver.

Mogens

Mogens
Stationsbetjent
Indlæg: 49
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 » 04 aug 2019, 20:26

Hej Søren

Så lykkedes det.. Jeg har i hvert fald testet random på min cs3 plus, og når jeg afprøver via cs 3+ så kan jeg e tilfældighedsprncippet virker.

Jeg har lavet 3 "start" hændelser som udlæses af de respektiver s88 kontakter- et for hvert spor , 3 hændelser for udkørsel - et for hvert spor, en samlet random og så en hændelse med stop samt random.

Mit anlæg:
mit anlæg.png
Den teoretiske opbygning set fra s88 knppen der er udløser for togvejene:
K24 spor 1
K24 .png

k25 spor 2
k25.png

k26 spor 3
k26.png

K24,25,26, de tilføjes først en virtuel stopkontakt og derefter tilføjes de hver især
makroen vælg tilfældigt tog
og ser således ud
Vælg tilfældig tog.png
Makroen vælg tilfældig tog ser således ud og trækkes ind i hændelsen for de ovenfor nævnte udlæserkontakter:
Makro til vælg tilfældig tog.png


Makroen vælg tilfældig tog bestå så af togvejene for spor 1, spor 2, spor3, også kaldets8a, s8b, s8c.


Disse togveje ser således ud og er efterfølgende "trukket" ind i makroen

Togvej sgnal 8a grøn
cs3_screenshot s8a g.png

Togvej signal 8b g grøn
cs3_screenshot s8b g.png


Togvej signal 8c grøn
cs3_screenshot s8c g.png

Besvar