Status vs Dynamik

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Status vs Dynamik

    Hallo zusammen,

    mein Miniserver läuft seit einem Jahr, dennoch kommen ab und an grundsätzliche Fragen auf, die mich manchmal an mir selbst zweifeln lassen.
    Ist vielleicht ein Wald/Bäume-Problem, mein Software-Entwickler vs SPS-Problem, vielleicht aber auch geistige Ignoranz.

    Problem:
    In üblichen Prg-Sprachen hole ich mir einen Status (z.B. "alle Fenster geschlossen"), sobald ich ihn benötige, typischerweise durch ein Event ausgelöst (zB Tastendruck).
    Die Auswertung des Status ergibt dann einen nächsten Schritt. Wenn ich diese Logik mittels "UND" darstelle, reagiert der UND-Baustein auch, sobald sich der Status ("Fenster geschlossen") ändert. Das ist aber nicht in meinem Sinn. Der Fenster-Status kann sich ändern, wie er will - ich möchte ihn nur nutzen bzw auswerten, wenn z.B. oben genannte Taste gedrückt wird.

    Tja, und ich weiß beim besten Willen nicht, wie ich das im Miniserver-Umfeld darstellen soll. Sobald ich denn Status irgendwo einbinde, ist er dynamisch aktiv und fängt an, die Programmierung zu beeinflussen.

    Es würde mich sehr freuen, wenn mir jemand beibringen könnte, wie ich in der Loxone-Config dieses Verhalten darstellen kann.

    Ganz vielen Dank im Voraus

    Torsten
  • Reto
    Smart Home'r
    • 04.09.2015
    • 74

    #2
    Hoi Torsten

    Du kannst ja bei Loxone mit dem UND ODER NOR NOT etc, arbeiten einfach den gewünschten Baustein verwenden.
    Beim UND kannst Du mehr Eingänge "verUNDen" als gezeichnet sind es wird alles als eigenständiges UND verwendet

    Kann Dir sonst ein beispiel machen bin aber gerade am PC Updaten...

    Kommentar

    • Gast

      #3
      Vielen Dank, Reto.

      Die logischen Schalter sind alle prima, allerdings reagieren sie aber immer :-)
      Wenn also mein Taster nicht gedrückt wurde, sondern derzeit zufällig ein dauerndes EIN zeigt (eine Seite meines UNDs), plötzlich aber der Status meiner Fenster sich ändert (geht auch auf EIN), schaltet mein UND durch und gibt den Q auch auf EIN. Das genau möchte ich aber nicht.
      Der Taster - und nur der - soll die Abfrage auslösen. Der Status soll nur genau dann benutzt bzw abgefragt werden, wenn ein Ereignis (Taste gedrückt) feuert. Wenn der Status sich ändert, will ich das nicht wissen. Nur wenn ich abfrage, dann möchte ich wissen, wie es aussieht.
      Wie gesagt: in normalen Sprachen sehr trivial ... aber wie mache ich das hier?

      Ich bin höchst wahrscheinlich völlig auf dem Holzweg. Ich suche nur ein Rotkäppchen, das mich wieder auf den rechten Weg bringt :-)

      Grüße
      Torsten

      Kommentar

      • Reto
        Smart Home'r
        • 04.09.2015
        • 74

        #4
        Hoi Torsten Irgend wie verstehe ich was Du willst aber doch irgend wie nicht. Mach ein Beispiel wozu dies benötigst.
        Möchtest Du das der Status Türkontakt weiterhin auf ein bleibt bis du das nächste mal TA_Jetzt drückst und nur wenn beim TA_Jetzt und der Türkontakt OFF ist auch der Status Türkontakt abfällt?

        Kommentar

        • Reto
          Smart Home'r
          • 04.09.2015
          • 74

          #5
          In etwa so?

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11250

            #6
            Servus Torsten,
            Mal unabhängig zu deiner konkreten Problemstellung ganz allgemein:
            Die Loxone arbeitet in SPS-Manier, d.h. das Programm - sprich alle Bausteine - werden etwa 100x in der Sekunde abgearbeitet. Entsprechend musst du die Logik aufbauen, sodass dein Programm alle Möglichkeiten, die du brauchst, berücksichtigt.

            Dass ein Taster so "zufällig" EIN ist, gibt es nicht. Irgendwann muss er EIN geworden sein. Bei UND bleibt der Ausgang solange EIN, solange alle Eingänge EIN sind.

            Wenn du nur einen kurzen Impuls bei Statusänderung AUS->EIN brauchst, verwende ein Monoflop bzw. Wischrelais.
            lg, Christian


            Mobil geschrieben
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • Leigh
              MS Profi
              • 25.08.2015
              • 722

              #7
              Mich würde mal der Sinn, bzw das Ziel des unterfangens interessieren.
              Dann kann man sich mal über den Weg gedanken machen.
              Ciao, Leigh

              Nur der eigene Geist setzt uns Grenzen...

              Kommentar

              • Hardy
                Dumb Home'r
                • 26.08.2015
                • 28

                #8
                Hallo Torsten,

                ich kann Deine Verzweiflung nachvollziehen. Bin auch Programmierer und habe manchmal das Problem, eine eigentlich einfache Abfrage in SPS Logik umzusetzen.
                Wenn ich Dein Problem richtig verstanden habe, würde ich es mit dem Statusbaustein umsetzen.

                Ein Beispiel:

                AI1 = Taste
                AI2 = Fenster 1
                AI3 = Fenster 2
                AI4 = Fenster 3

                1. Bedingung

                Wenn AI1 == 0 / kein Symbol / kein Text / Statuswert = 0 // Taste nicht gedrückt

                2. Bedingung

                Wenn AI1 == 1 // Taste gedrückt
                und AI2 = 1
                und AI3 = 0
                und AI4 = 0 / Symbol / Text = mehrere Fenster offen / Statuswert = 1 (für weitere Aktionen)

                3. Bedingung

                Wenn AI1 == 1 // Taste gedrückt
                und AI2 = 1
                und AI3 = 1
                und AI4 = 0 / Symbol / Text = Küchenfenster offen / Statuswert = 2 (für weitere Aktionen)

                usw.......

                Leider hat der Statusbaustein nur 4 Eingänge. Bei vielen Abfragen muss man die Bausteine kaskadieren. Viel Arbeit, viel Hirnschmalz, aber es geht.


                Gruß
                Hardy

                Kommentar

                • Special
                  LoxBus Spammer
                  • 27.08.2015
                  • 437

                  #9
                  Der Status Baustein ist ein graus....Wollte mittels Status anzeigen lassen in welchen Räumen noch Verbraucher eingeschaltet sind . Es gibt einfach kein Basutein womit man die Texte einander reihen kann.
                  Bei zwei Räumen ist es noch simpel

                  A1 Küche
                  A2 Ankleide

                  A1=0 A2=0 == alles Aus
                  A1 = 1 A2= 0 ==Küche
                  A1=0 A2=1 ==Ankleide
                  A1=1 A2=1 == Ankleide Küche

                  Bei vier Räumen merkt man das ein Baustein fehlt !

                  A1 Küche
                  A2 Ankleide
                  A3 Wohnzimmer
                  A4 Bad

                  A1 =0 A2= 0 A3=0 A4=0 == Aus (0)
                  A1 = 1 A2= 0 A3=0 A4=0 ==Küche (1)
                  A1=1 A2=1 A3=0 A4=0 == Küche , Ankleide (2)
                  A1=1 A2=1 A3=1 A4=0 == Küche , Ankleide , Wohnzimmer (3)
                  A1=1 A2 =1 A3=1 A4=1== Küche , Ankleide , Wohnzimmer , Bad (4)
                  A1=1 A2 =0 A3=1 A4=0== Küche , Wohnzimmer (5)
                  A1=1 A2 =0 A3=0 A4=1== Küche , Bad (6)

                  A1=0 A2 =1 A3=0 A4=0 == Ankleide (7)
                  A1=0 A2 =1 A3=1 A4=0 == Ankleide , Bad (8)
                  A1=0 A2 =1 A3=1 A4=1 == Ankleide , Bad , Wohnzimmer (9)
                  A1=0 A2 =1 A3=0 A4=1 == Ankleide , Wohnzimmer (10)

                  A1=0 A2 =0 A3=1 A4=0 == Bad (11 )
                  A1=0 A2 =0 A3=1 A4=1 == Bad , Wohnzimmer (12 )

                  A1=0 A2 =0 A3=0 A4=1 == Wohnzimmer (13 )


                  Baustein ende neuer Status für die nächsten drei Räume , also jetzt 7 Räume
                  A1 ist jetzt Baustein 1
                  A2 Kinderzmmer1
                  A3 Kinderzimmer2
                  A4 HWR

                  A1= 1 A2= 0 A3=0 A4=0 ==Küche
                  A1=2 A2=0 A3=0 A4=0 == Küche , Ankleide
                  A1=3 A2=0 A3=0 A4=0 == Küche , Ankleide , Wohnzimmer
                  A1=4 A2 =0 A3=0 A4=0== Küche , Ankleide , Wohnzimmer , Bad
                  A1=5 A2 =0 A3=0 A4=0== Küche , Wohnzimmer
                  A1=6 A2 =0 A3=0 A4=0== Küche , Bad
                  A1=7 A2 =0 A3=0 A4=0 == Ankleide
                  A1=8 A2 =0 A3=0 A4=0 == Ankleide , Bad
                  A1=9 A2 =0 A3=0 A4=0 == Ankleide , Bad , Wohnzimmer
                  A1=10 A2 =0 A3=0 A4=0 == Ankleide , Wohnzimmer
                  A1=11 A2 =0 A3=0 A4=0 == Bad
                  A1=12 A2 =0 A3= 0 A4=0 == Bad , Wohnzimmer
                  A1=13 A2 =0 A3=0 A4=0 == Wohnzimmer

                  A1= 0 A2= 1 A3=0 A4=0 == Kinderzimmer1
                  A1= 1 A2= 1 A3=0 A4=0 ==Küche , Kinderzimmer 1
                  A1=2 A2=1 A3=0 A4=0 == Küche , Ankleide , Kinderzimmer 1
                  A1=3 A2=1 A3=0 A4=0 == Küche , Ankleide , Wohnzimmer , Kinderzimmer 1
                  A1=4 A2 =1 A3=0 A4=0== Küche , Ankleide , Wohnzimmer , Bad , Kinderzimmer 1
                  A1=5 A2 =1 A3=0 A4=0== Küche , Wohnzimmer , Kinderzimmer 1
                  A1=6 A2 =1 A3=0 A4=0== Küche , Bad , Kinderzimmer 1
                  A1=7 A2 =1 A3=0 A4=0 == Ankleide , Kinderzimmer 1
                  A1=8 A2 =1 A3=0 A4=0 == Ankleide , Bad , Kinderzimmer 1
                  A1=9 A2 =1 A3=0 A4=0 == Ankleide , Bad , Wohnzimmer , Kinderzimmer 1
                  A1=10 A2 =1 A3=0 A4=0 == Ankleide , Wohnzimmer , Kinderzimmer 1
                  A1=11 A2 =1 A3=0 A4=0 == Bad , Kinderzimmer 1
                  A1=12 A2 =1 A3= 0 A4=0 == Bad , Wohnzimmer , Kinderzimmer 1
                  A1=13 A2 =1 A3=0 A4=0 == Wohnzimmer , Kinderzimmer1

                  A1=0 A2=0 A3=1 A4=0== Kinderzimm2
                  A1= 1 A2= 0 A3=1 A4=0 ==Küche , Kinderzimmer2
                  A1=2 A2=0 A3=1 A4=0 == Küche , Ankleide , Kinderzimmer2
                  A1=3 A2=0 A3=1 A4=0 == Küche , Ankleide , Wohnzimmer , Kinderzimmer2
                  A1=4 A2 =0 A3=1 A4=0== Küche , Ankleide , Wohnzimmer , Bad ,Kinderzimmer2
                  A1=5 A2 =0 A3=1 A4=0== Küche , Wohnzimmer , Kinderzimmer2
                  A1=6 A2 =0 A3=1 A4=0== Küche , Bad , Kinderzimmer2
                  A1=7 A2 =0 A3=1 A4=0 == Ankleide , Kinderzimmer2
                  A1=8 A2 =0 A3=1 A4=0 == Ankleide , Bad , Kinderzimmer2
                  A1=9 A2 =0 A3=1 A4=0 == Ankleide , Bad , Wohnzimmer , Kinderzimmer2
                  A1=10 A2 =0 A3=1 A4=0 == Ankleide , Wohnzimmer , Kinderzimmer2
                  A1=11 A2 =0 A3=1 A4=0 == Bad ,Kinderzimmer2
                  A1=12 A2 =0 A3=1 A4=0 == Bad , Wohnzimmer , Kinderzimmer2
                  A1=13 A2 =0 A3=1 A4=0 == Wohnzimmer , Kinderzimmer2

                  A1= 0 A2= 0 A3=0 A4=1==HWR
                  A1= 1 A2= 0 A3=0 A4=1 ==Küche , HWR
                  A1=2 A2=0 A3=0 A4=1 == Küche , Ankleide , HWR
                  A1=3 A2=0 A3=0 A4=1 == Küche , Ankleide , Wohnzimmer , HWR
                  A1=4 A2 =0 A3=0 A4=1== Küche , Ankleide , Wohnzimmer , Bad , HWR
                  A1=5 A2 =0 A3=0 A4=1== Küche , Wohnzimmer , HWR
                  A1=6 A2 =0 A3=0 A4=1== Küche , Bad , HWR
                  A1=7 A2 =0 A3=0 A4=1 == Ankleide , HWR
                  A1=8 A2 =0 A3=0 A4=1 == Ankleide , Bad , HWR
                  A1=9 A2 =0 A3=0 A4=1 == Ankleide , Bad , Wohnzimmer , HWR
                  A1=10 A2 =0 A3=0 A4=1 == Ankleide , Wohnzimmer , HWR
                  A1=11 A2 =0 A3=0 A4=1 == Bad , HWR
                  A1=12 A2 =0 A3= 0 A4=1 == Bad , Wohnzimmer , HWR
                  A1=13 A2 =0 A3=0 A4=1 == Wohnzimmer , HWR

                  A1=0 A2=1 A3=1 A41= ==Kind1 , Kind 2 , HWR
                  A1= 1 A2= 1 A3=1 A4=1 ==Küche , Kind 1 , Kind 2 , HWR
                  A1=2 A2=1 A3=1 A4=1 == Küche , Ankleide , Kind 1 , Kind 2 , HWR
                  A1=3 A2=1 A3=1 A4=1 == Küche , Ankleide , Wohnzimmer , Kind 1 , Kind 2 , HWR
                  A1=4 A2 =1 A3=1 A4=1== Küche , Ankleide , Wohnzimmer , Bad , Kind 1 , Kind 2 , HWR
                  A1=5 A2 =1 A3=1 A4=1== Küche , Wohnzimmer , Kind 1 , Kind 2, HWR
                  A1=6 A2 =1 A3=1 A4=1== Küche , Bad , Kind 1 , Kind 2 , HWR
                  A1=7 A2 =1 A3=1 A4=1 == Ankleide , Kind 1 , Kind 2 , HWR
                  A1=8 A2 =1 A3=1 A4=1 == Ankleide , Bad , Kind 1 , Kind 2 , HWR
                  A1=9 A2 =1 A3=1 A4=1 == Ankleide , Bad , Wohnzimmer , Kind 1 , Kind 2 , HWR
                  A1=10 A2 =1 A3=1 A4=1 == Ankleide , Wohnzimmer , Kind 1 , Kind 2 , HWR
                  A1=11 A2 =1 A3=1 A4=1 == Bad , Kind 1 , Kind 2 , HWR
                  A1=12 A2 =1 A3= 1 A4=1 == Bad , Wohnzimmer , Kind 1 , Kind 2 , HWR
                  A1=13 A2 =1 A3=1 A4=1 == Wohnzimmer , Kind 1 , Kind 2 , HWR


                  A1=0 A2=1 A3=1 A40= ==Kind1 , Kind 2
                  A1= 1 A2= 1 A3=1 A4=0 ==Küche , Kind 1 , Kind 2
                  A1=2 A2=1 A3=1 A4=0 == Küche , Ankleide , Kind 1 , Kind 2
                  A1=3 A2=1 A3=1 A4=0 == Küche , Ankleide , Wohnzimmer , Kind 1 , Kind 2
                  A1=4 A2 =1 A3=1 A4=0== Küche , Ankleide , Wohnzimmer , Bad , Kind 1 , Kind 2
                  A1=5 A2 =1 A3=1 A4=0== Küche , Wohnzimmer , Kind 1 , Kind 2
                  A1=6 A2 =1 A3=1 A4=0== Küche , Bad , Kind 1 , Kind 2
                  A1=7 A2 =1 A3=1 A4=0 == Ankleide , Kind 1 , Kind 2
                  A1=8 A2 =1 A3=1 A4=0 == Ankleide , Bad , Kind 1 , Kind 2
                  A1=9 A2 =1 A3=1 A4=0 == Ankleide , Bad , Wohnzimmer , Kind 1 , Kind 2
                  A1=10 A2 =1 A3=1 A4=0 == Ankleide , Wohnzimmer , Kind 1 , Kind 2
                  A1=11 A2 =1 A3=1 A4=0 == Bad , Kind 1 , Kind 2
                  A1=12 A2 =1 A3= 1 A4=0 == Bad , Wohnzimmer , Kind 1 , Kind 2
                  A1=13 A2 =1 A3=1 A4=0 == Wohnzimmer , Kind 1 , Kind 2

                  A1= 0 A2= 1 A3=0 A4=1 == Kinderzimmer1 , HWR
                  A1= 1 A2= 1 A3=0 A4=1 ==Küche , Kinderzimmer 1 , , HWR
                  A1=2 A2=1 A3=0 A4=1 == Küche , Ankleide , Kinderzimmer 1 , HWR
                  A1=3 A2=1 A3=0 A4=1 == Küche , Ankleide , Wohnzimmer , Kinderzimmer 1, HWR
                  A1=4 A2 =1 A3=0 A4=1== Küche , Ankleide , Wohnzimmer , Bad , Kinderzimmer 1, HWR
                  A1=5 A2 =1 A3=0 A4=1== Küche , Wohnzimmer , Kinderzimmer 1, HWR
                  A1=6 A2 =1 A3=0 A4=1== Küche , Bad , Kinderzimmer 1, HWR
                  A1=7 A2 =1 A3=0 A4=1 == Ankleide , Kinderzimmer 1, HWR
                  A1=8 A2 =1 A3=0 A4=1 == Ankleide , Bad , Kinderzimmer 1, HWR
                  A1=9 A2 =1 A3=0 A4=1 == Ankleide , Bad , Wohnzimmer , Kinderzimmer 1, HWR
                  A1=10 A2 =1 A3=0 A4=1 == Ankleide , Wohnzimmer , Kinderzimmer 1, HWR
                  A1=11 A2 =1 A3=0 A4=1 == Bad , Kinderzimmer 1, HWR
                  A1=12 A2 =1 A3= 0 A4=1 == Bad , Wohnzimmer , Kinderzimmer 1, HWR
                  A1=13 A2 =1 A3=0 A4=1 == Wohnzimmer , Kinderzimmer1, HWR

                  A1=0 A2=0 A3=1 A4=1== Kinderzimm2 , HWR
                  A1= 1 A2= 0 A3=1 A4=0 ==Küche , Kinderzimmer2 , HWR
                  A1=2 A2=0 A3=1 A4=0 == Küche , Ankleide , Kinderzimmer2, HWR
                  A1=3 A2=0 A3=1 A4=0 == Küche , Ankleide , Wohnzimmer , Kinderzimmer2, HWR
                  A1=4 A2 =0 A3=1 A4=0== Küche , Ankleide , Wohnzimmer , Bad ,Kinderzimmer2, HWR
                  A1=5 A2 =0 A3=1 A4=0== Küche , Wohnzimmer , Kinderzimmer2, HWR
                  A1=6 A2 =0 A3=1 A4=0== Küche , Bad , Kinderzimmer2, HWR
                  A1=7 A2 =0 A3=1 A4=0 == Ankleide , Kinderzimmer2, HWR
                  A1=8 A2 =0 A3=1 A4=0 == Ankleide , Bad , Kinderzimmer2
                  A1=9 A2 =0 A3=1 A4=0 == Ankleide , Bad , Wohnzimmer , Kinderzimmer2, HWR
                  A1=10 A2 =0 A3=1 A4=0 == Ankleide , Wohnzimmer , Kinderzimmer2, HWR
                  A1=11 A2 =0 A3=1 A4=0 == Bad ,Kinderzimmer2, HWR
                  A1=12 A2 =0 A3=1 A4=0 == Bad , Wohnzimmer , Kinderzimmer2, HWR
                  A1=13 A2 =0 A3=1 A4=0 == Wohnzimmer , Kinderzimmer2, HWR
                  Zuletzt geändert von Special; 08.09.2015, 22:50.

                  Kommentar

                  • Special
                    LoxBus Spammer
                    • 27.08.2015
                    • 437

                    #10
                    Geht das mit PicoC leichter bzw, ist es da möglich Wörter einander zureihen ?

                    Kommentar

                    • Gast

                      #11
                      Zunächst: Vielen Dank an alle Beitragenden. Ihr habt mir sehr geholfen!

                      Ich denke, mit der Annahme des "permanenten Status" nicht falsch gelegen zu haben: es gibt ihn einfach nicht.
                      SPS ist dynamisch - und das ziemlich hochfrequent, wie von Christian deutlich ausgeführt :-) Danke!

                      Zu Leighs Frage - wozu eigentlich? Der Fenster-Status wird permanent erhoben, gleichzeitig möchte ich bei Drücken einer Taste nahe der Eingangstür eben diesen Status "abfragen" (das geht nicht im Vorbeigehen, soviel habe ich gelernt :-))
                      Drücke ich diese Taste UND sind die Fenster nicht geschlossen, werde ich informiert (Lichter in der Garderobe blinken), andernfalls kann ich die Alarmanlage scharf schalten.
                      Scharfschaltung geschieht über gleichzeitigen Schluss des Riegelschaltkontakts der Haustür.

                      Aber: ich würde gerne die Haustür verschließen können, ohne das die A-Anlage scharf geschaltet wird. Daher die "Taste" vorab. Drücke ich sie nicht, bleibt alles unscharf.
                      Nur wenn sie gedrückt wird, soll scharf geschaltet werden. Wird sie allerdings gedrückt UND ein Fenster ist offen: Blink, Blink, Blink

                      Ich bin nah an der Lösung, aber nicht sicher, ob die Lösung "optimal" ist. Viele Wege führen zum Ziel ... aber eine SPS-konforme bzw SPS-optimierte Lösung wäre super interessant für mich.

                      Nochmal: Vielen Dank im Voraus

                      Torsten


                      Kommentar

                      • Leigh
                        MS Profi
                        • 25.08.2015
                        • 722

                        #12
                        Zitat von procyon

                        Aber: ich würde gerne die Haustür verschließen können, ohne das die A-Anlage scharf geschaltet wird. Daher die "Taste" vorab. Drücke ich sie nicht, bleibt alles unscharf.
                        Nur wenn sie gedrückt wird, soll scharf geschaltet werden. Wird sie allerdings gedrückt UND ein Fenster ist offen: Blink, Blink, Blink

                        Ich bin nah an der Lösung, aber nicht sicher, ob die Lösung "optimal" ist. Viele Wege führen zum Ziel ... aber eine SPS-konforme bzw SPS-optimierte Lösung wäre super interessant für mich.

                        Nochmal: Vielen Dank im Voraus

                        Torsten

                        Hi Torsten

                        etwas mehr Futter zu beginn, und wir hätten schon die Lösung....

                        Alarmanlagenbaustein.

                        Ausgang "Melder Aktiv"
                        If Ausgang größer/gleich 1 dann ist dieser aktiv wenn man ihn mit einem Digitalmerker weiter gibt. Und wenn Du dann Dein Taster betätigst blinken die Lampen 5sek lang.
                        Gleichzeitg kannst du diese Logik nutzen um die alarmanlage wenn kein Melder Aktiv, (Fenster/Tür/Luke/Garage offen) zeitverzögert scharf zu schalten.

                        Ich denke die Logik "Taster gedrückt, keine Melder Aktiv, beim abschließen der Tür wird scharf gestellt" bekommst du da noch eingebaut.

                        Im Screenshot sind die wichtigsten Eingänge/Verknüpfungen ect. drin.
                        Das is deines Rätsels Lösung hoffe ich.
                        Zuletzt geändert von Leigh; 10.09.2015, 23:40.
                        Ciao, Leigh

                        Nur der eigene Geist setzt uns Grenzen...

                        Kommentar

                        • Christian Fenzl
                          Lebende Foren Legende
                          • 31.08.2015
                          • 11250

                          #13
                          Das ist doch ganz leicht ;-) Wirst es gleich selber sehen!

                          Auch gleich vorweg: Du kannst sämtliche Eingänge und Ausgänge bei Bedarf invertieren (0->1, 1->0). Das entspricht dem NICHT-Block.
                          Wenn du beim Pin eines Blocks draufklickst, bekommt er einen schwarzen (neuerdings roten) Punkt.

                          Du hast zwei Funktionen, die du aktivieren willst:
                          1. Wenn Taster gedrückt UND Fenster zu (=1) --> Alarm scharfschalten
                          2. Wenn Taster gedrückt UND Fenster NICHT zu (=0 invertiert =1), dann blinken.

                          Das ist eigentlich schon das fertige Programm. Wenn der Fensterzustand bei dir umgekehrt ist, musst du entsprechend umgekehrt negieren.

                          Die Fensterkontakte liefern normalerweise 1 wenn geschlossen. Du kannst ALLE Fensterkontakte an EIN UND anschließen, auch wenn das nur zwei Eingänge hat. Wird das UND dann 0, ist mindestens ein Fenster offen. Das hattest du aber eh schon rausgefunden.

                          lg, Christian
                          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                          Kommentar

                          • Jan W.
                            Lox Guru
                            • 30.08.2015
                            • 1498

                            #14
                            Hallo Procyon,

                            also, wenn ich es recht verstehe, dann möchtest Du so etwas wie "eine Zuweisung eines Wertes an eine Variable, die dann später verwendet wird". Das geht z.B. über den Analogspeicher (geht auch, wenn Du diesen nur digital verwenden möchtest). Die Taste ist dabei der Trigger (Eingang Tr), der den Wert der Fensterkontakte (Eingang AI gleich 1, wenn alle Fenster zu sind) übernimmt und dauerhaft speichert. Ein Reset sorgt dafür, dass der Wert wieder gelöscht wird, wenn Du z.B. die Tür verschlossen hast (egal ob mit oder ohne Scharfschaltung).

                            Bei dem Beispiel passt evtl. der Baustein "Ausschaltverzögerung" besser, den die Taste antriggert und für eine gewisse Zeit z.B. 5 Minuten aktiv hält. Wenn Deine Fensterkontakte den Wert 1 für zu und 0 für auf verwenden, dann kannst Du alle Kontakte über UND verknüpfen - es können dabei auch mehr Kontakte als Eingänge am Baustein sein - so wie von Reto erläutert - und bekommst damit am Ausgang den Wert "alle Fenster zu". Während dieser Zeit kannst Du die Lampen blinken lassen, falls ein Fenster offen ist - Lampen blinken, wenn (und solange) Ausgang von Ausschaltverzögerung = 1 UND (NOT "alle Fenster zu")). Dann kann schnell noch das Fenster geschlossen werden (die Lampen blinken nicht mehr), evtl. leuchtet dann noch eine LED und die Haustür kann abgeschlossen werden. Wird die Haustür verschlossen, dann prüfst Du, ob "alle Fenster zu" UND der Ausgang ist aktiv, dann schaltet die Alarmanlage scharf und es gibt irgendein Signal zur Bestätigung.

                            Es gibt auch den Baustein "Impulsschalter (RS)", der z.B. den Zustand der Alarmanlage speichern kann (scharf oder unscharf), aber evtl. auch angetriggert werden kann, wenn Du die Taste drückst und "alle Fenster zu" sind - dann wäre der Ausgang der Zustand "Alarmanlage beim Schließen aktivieren".

                            Es gibt also viele Wege nach Rom. Man muss aber schon etwas umdenken bei der SPS Programmierung. Gut finde ich die Online-Hilfe der Bausteine mit Erläuterung und grafischer Darstellung. Man muss bei den Eingängen allerdings immer nachschauen, ob ein Trigger auf ansteigender Flanke oder ein Dauer-Ein benötigt wird.

                            Gruß Jan

                            P.S.: Statt dem "NOT" Baustein kannst Du auch einen Eingang anklicken und es erscheint ein schwarzer Punkt beim Eingang - das ist dann ein negierter Eingang. Du kannst auch mehrere Ausgänge auf einen Eingang eines x-beliebigen Bausteins legen - diese werden dann automatisch mit "ODER" verknüpft (außer beim UND Baustein).
                            Zuletzt geändert von Jan W.; 11.09.2015, 01:10.
                            Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
                            Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
                            Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
                            Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
                            Node-RED: IKEA Tradfri

                            Kommentar

                            • Gast

                              #15
                              Vielen Dank Euch allen!

                              Ich konnte Eure Tipps nicht sofort umsetzen, aber heute hat es gepasst und die Alarm-Kiste läuft!
                              Nicht nur ist mir das SPS-Verhalten jetzt sehr viel klarer - ich habe mich mit Eurer Hilfe auch zum Taster-, Wischrelais-, Monoflop-, Flanken- und Trigger-Kenner weitergebildet

                              Nochmals herzlichsten Dank für Eure Zeit und Mühen!

                              Grüße
                              Torsten

                              @Jan: könntest du mir bei Gelegenheit mit einem griffigen Beispiel weiterhelfen, das die "Speicherfähigkeit" des Impulsschalters deutlich macht? Danke!

                              Kommentar

                              Lädt...