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
Ankündigung
Einklappen
Keine Ankündigung bisher.
HS Logikbaustein: Variable als Pin?
Einklappen
X
-
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.
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
Jo, die hab ich. Es geht daraus aber leider nicht hervor, ob man Variablen als Pins benutzen kann.Zitat von michel38 Beitrag anzeigenDie Doku ist Dir bekannt?
Der Baustein macht nicht was ich will:Zitat von michel38 Beitrag anzeigenWarum nimmst Du nicht den Vorhandenen?
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.
Einen Kommentar schreiben:
-
Die Doku ist Dir bekannt?Zitat von Mattti Beitrag anzeigenIch 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.
Warum nimmst Du nicht den Vorhandenen?Zitat von Mattti Beitrag anzeigenDer fertige Baustein soll mir die offenen Fenster als Text für das Infodisplay aufarbeiten.
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Geht das? Es scheint bei meinem Baustein nicht zu funktionieren.Code:5012|0|"SC[24] and (EN[4]==1)"|"EN[24]"|""|0|0|SN[3]|0
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


Einen Kommentar schreiben: