CS3 Guide - Hvis-makro (IF-macro)
: 18 nov 2019, 06:08
På opfordring.
Kræver CS3 version 1.4.1. Husk at opdatere din CS3, hvis du ikke allerede har gjort det. 
Hvis / If
Betingelser er meget almindelige når du programmerer en computer.
En betingelse kan være enten sand eller falsk: Enten er betingelsen opfyldt eller også er den ikke opfyldt.
Betingelser forekommer oftest på formen:
Hvis (en betingelse er opfyldt) så (gør en bestemt ting) ellers (gør noget andet).
CS3 har hid til understøttet betingelser i form af "Hvis en betingelse er opfyldt, så fortsæt hændelsesforløbet".
Med Hvis-makroen understøttes mere avancerede betingelser, der kan ændre hændelsesforløbet, hvis det modsatte er gældende.
Hvorfor
Betingelser er meget brugbare og simplificerer automatikken. Tidligere skulle du oprette flere hændelsesforløb der håndterede både den positive betingelse og den negative betingelse. De skulle begge aktiveres (f.eks. af en S88 kontakt) for herefter at kunne bestemme udfaldet. Den hændelse, hvis betingelse ikke er opfyldt, vil stå som fejlet ind til den skal vurderes igen. Dette er som sådan ikke et problem for CS3, men det er ikke særlig brugervenligt.
Med Hvis-makroen behøver du ikke længere tænke på det.
Hvordan
Når du opretter en hændelse kan du trykke på knappen "Tilføj" og vælge "Hvis-makro".
Hvis du vælger "Hvis-makro" oprettes der en makro, som håndterer selve betingelsen. En makro ligner en hændelse, men kan kun aktiveres af andre hændelser. Du kan ikke manuelt aktivere den.
Ved at holde fingeren nede på makroen kan du åbne den og se indholdet. Du kan også åbne makroen fra listen af hændelser.
Som du kan se er der tre kasser: Hvis (repræsenteret ved "?") og "Så (THEN)" og "Ellers" (Else). Hvis betingelsen under "?" er opfyldt, udføres den opgave du lægger i "THEN" og hvis ikke, så udføres opgaven i "ELSE".
Nu er det egentligt blot at udfylde makroen.
I nedenstående eksempel tager mit indkørselssignal højde for om et sporskifte er afvigende eller ret. Det betyder at jeg trækker sporskiftet ind i "?"-kassen. Sporskiftet og den valgte stilling er nu betingelsen.
Herefter trækker jeg signalet ind i "THEN" og "ELSE". Her sætter jeg de rette stillinger, så det viser korrekt signalbillede afhængig af sporskiftets stilling.
Det betyder at hvis sporskiftet er ret, så sættes der én grøn. Hvis sporskiftet er afvigende, så sættes der en grøn og en gul (kør langsomt).
Reflektioner
Du kan bruge Hvis-makroen til rigtig mange ting og det begrænser sig ikke til ovenstående. Du kan også lægge andre hændelser ind på pladserne THEN og ELSE og dermed opnå meget avanceret automatik.
Værd at vide
Husk at CS3 ikke er begrænset til Märklin, men en fuld DCC central og fungerer selvfølgelig også med 2-skinne og alle skalaer (H0, N, TT osv.). Hvis du er interesseret i CS3 til dit 2-skinne anlæg, og har spørgsmål i den forbindelse, så skriv endelig og spørg.
Hvis / If
Betingelser er meget almindelige når du programmerer en computer.
En betingelse kan være enten sand eller falsk: Enten er betingelsen opfyldt eller også er den ikke opfyldt.
Betingelser forekommer oftest på formen:
Hvis (en betingelse er opfyldt) så (gør en bestemt ting) ellers (gør noget andet).
CS3 har hid til understøttet betingelser i form af "Hvis en betingelse er opfyldt, så fortsæt hændelsesforløbet".
Med Hvis-makroen understøttes mere avancerede betingelser, der kan ændre hændelsesforløbet, hvis det modsatte er gældende.
Hvorfor
Betingelser er meget brugbare og simplificerer automatikken. Tidligere skulle du oprette flere hændelsesforløb der håndterede både den positive betingelse og den negative betingelse. De skulle begge aktiveres (f.eks. af en S88 kontakt) for herefter at kunne bestemme udfaldet. Den hændelse, hvis betingelse ikke er opfyldt, vil stå som fejlet ind til den skal vurderes igen. Dette er som sådan ikke et problem for CS3, men det er ikke særlig brugervenligt.
Med Hvis-makroen behøver du ikke længere tænke på det.
Hvordan
Når du opretter en hændelse kan du trykke på knappen "Tilføj" og vælge "Hvis-makro".
Hvis du vælger "Hvis-makro" oprettes der en makro, som håndterer selve betingelsen. En makro ligner en hændelse, men kan kun aktiveres af andre hændelser. Du kan ikke manuelt aktivere den.
Ved at holde fingeren nede på makroen kan du åbne den og se indholdet. Du kan også åbne makroen fra listen af hændelser.
Som du kan se er der tre kasser: Hvis (repræsenteret ved "?") og "Så (THEN)" og "Ellers" (Else). Hvis betingelsen under "?" er opfyldt, udføres den opgave du lægger i "THEN" og hvis ikke, så udføres opgaven i "ELSE".
Nu er det egentligt blot at udfylde makroen.
I nedenstående eksempel tager mit indkørselssignal højde for om et sporskifte er afvigende eller ret. Det betyder at jeg trækker sporskiftet ind i "?"-kassen. Sporskiftet og den valgte stilling er nu betingelsen.
Herefter trækker jeg signalet ind i "THEN" og "ELSE". Her sætter jeg de rette stillinger, så det viser korrekt signalbillede afhængig af sporskiftets stilling.
Det betyder at hvis sporskiftet er ret, så sættes der én grøn. Hvis sporskiftet er afvigende, så sættes der en grøn og en gul (kør langsomt).
Reflektioner
Du kan bruge Hvis-makroen til rigtig mange ting og det begrænser sig ikke til ovenstående. Du kan også lægge andre hændelser ind på pladserne THEN og ELSE og dermed opnå meget avanceret automatik.
Værd at vide
Husk at CS3 ikke er begrænset til Märklin, men en fuld DCC central og fungerer selvfølgelig også med 2-skinne og alle skalaer (H0, N, TT osv.). Hvis du er interesseret i CS3 til dit 2-skinne anlæg, og har spørgsmål i den forbindelse, så skriv endelig og spørg.