Ankündigung

Einklappen
Keine Ankündigung bisher.

HS Logikbaustein: Variable als Pin?

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

    HS/FS HS Logikbaustein: Variable als Pin?

    Hallo,

    Ich versuche mich gerade an der Logikbausteinprogrammierung.

    Erstmal danke an das ganze Forum für die ganze Hilfe. Soweit bin ich mit der Suche zurecht gekommen.

    Aber jetzt:

    Ich würde gerne einen Speicherpin mit einer Variablen belegen, à la

    Code:
    5012|0|"SC[24] and (EN[4]==1)"|"EN[24]"|""|0|0|SN[3]|0
    Geht das? Es scheint bei meinem Baustein nicht zu funktionieren.
    Gibt es eine Möglichkeit das Problem zu umgehen oder mache ich vielleicht etwas falsch? (int(SN[3]) habe ich auch schon probiert)

    Ich hoffe, ihr könnt mir helfen.

    Schöne Grüße,

    Mathias

    #2
    Hallo Mathias,

    Ich weiß zwar nicht was Du machen willst, aber zu Deiner Formel:

    für (EN[4]==1) kanst Du auch EN[4] schreiben
    ändere ...|0|0|SN[3]|0 in |0|0|3|0

    Kommentar


      #3
      Hallo Uwe,

      danke für die Antwort.

      Ich will aber tatsächlich den Pin für den Speicherplatz durch die Variable SN[3] bestimmen.

      Ich vermute stark, mein erster Ansatz nicht funktioniert, deshalb bin ich schon beim umschreiben. Der Baustein wird dann halt wesentlich größer.

      Der Code-Schnipsel kommt aus einem Teil des Bausteins der aus einer Liste Leereinträge herausfiltern soll und die gefüllten Einträge hintereinander anordnen soll.

      Der fertige Baustein soll mir die offenen Fenster als Text für das Infodisplay aufarbeiten.

      Schöne Grüße,

      Mathias

      Kommentar


        #4
        Zitat von Mattti Beitrag anzeigen
        Ich will aber tatsächlich den Pin für den Speicherplatz durch die Variable SN[3] bestimmen.
        Ich vermute stark, mein erster Ansatz nicht funktioniert, deshalb bin ich schon beim umschreiben. Der Baustein wird dann halt wesentlich größer.
        Die Doku ist Dir bekannt?

        Zitat von Mattti Beitrag anzeigen
        Der fertige Baustein soll mir die offenen Fenster als Text für das Infodisplay aufarbeiten.
        Warum nimmst Du nicht den Vorhandenen?

        Kommentar


          #5
          Zitat von michel38 Beitrag anzeigen
          Die Doku ist Dir bekannt?
          Jo, die hab ich. Es geht daraus aber leider nicht hervor, ob man Variablen als Pins benutzen kann.

          Zitat von michel38 Beitrag anzeigen
          Warum nimmst Du nicht den Vorhandenen?
          Der Baustein macht nicht was ich will:
          Ich habe 17 Reed kontakte. Die möchte ich als Text ausgegeben haben und zwar immer drei zusammen, damits unter eine Überschrift ins Infodisplay paßt.
          Über einen Eingang möchte ich die nächsten drei Texte angezeigt bekommen, quasi weiterblättern.

          Ich hatte das schon mal über den grafischen Logikeditor gelöst. Das wurde aber dermaßen kompliziert, daß ich mich entschieden habe einen Baustein dazu zu programmieren.
          Außerdem macht mir das programmieren Spass :-)

          Ich bin mit meinem Alternativbaustein auch schon fast fertig, muß noch n bißchen debuggen, dann gehts.

          Kommentar


            #6
            Deine Syntax ist falsch...

            dass muss folgendermassen heissen:
            5012|0|"SC[24] and (EN[4]==1)"|"EN[24]"|""|0|0|3|0

            Die 3 vor der letzen Pipe ist schon der "Platz" SN
            Deshalb darf dort nur die Nummer rein
            Try it
            never fummel a running system...

            Kommentar


              #7
              Also, wenn ich Mattti richtig verstehe, fragt er sich, ob es möglich ist, das Ergebnis nicht in eine feste Speichervariable (z.B. |x|x|3|x) zu schreiben, sondern in eine "variable" Speichervariable.
              In welche Speichervariable dabei geschrieben werden soll, steht in seinem Beispiel in SN[3], d.h. wenn in SN[3] eine 5 steht, soll in Speicher 5 geschrieben werden, wenn in SN[3] eine 9 steht, soll in Speicher 9 geschrieben werden...

              Ich habe das auch schon mal versucht, aber keine Möglichkeit gefunden, so etwas zu realisieren. Vielleicht gibt es dazu ja noch mal eine endgültige und definitive Aussage von DACOM...

              So, noch ein schönes und sonniges Wochenende.
              Gruß, Marc

              Kommentar


                #8
                Marc, das war genau das, was ich gemeint habe.

                Um ein wenig aufwändigere Sachen zu programmieren bräuchte man entweder Schleifen, die ja laut Doku nicht gehen, oder die variablen Pins.

                Ich habe meinen Baustein mittlerweile fertig, leider doppelt so lange und halb so elegant. Aber er funktioniert und darauf kommt es ja an.

                Danke an alle und auch noch ein schöner Rest des Wochenendes.

                Schöne Grüße aus Brasilien,

                Mathias

                Kommentar

                Lädt...
                X