Zitat von araeubig
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
REQUEST :: Gira X1 Logikbaustein 2Byte -> 16 Bit
Einklappen
X
-
So, SRY, gerade erst aus dem Urlaub zurück. Sicher, dass es ein 2-Byte Objekt ist? Ist das Ding ggf. vorzeichenbehaftet? Der BitMapper erwartet einfach einen (max.) 2Byte Wert, dieser wird intern als Integer gehandelt, unsigned.
-
MultiMike Habe nun alle 1-Byte Status-Meldungen in den Logiken angelegt und wollte mich nun um das "2-Byte-Objekt" mit DPT 237.600 des DALI-Gateways kümmern. Stelle aber fest, dass ich keine Verbindung von meinem Eingang zum Baustein machen kann. Ist es der richtige Weg dort den Typ-Konverter zu nutzen?
Einen Kommentar schreiben:
-
ich muss mich ehrlich gesagt erstmal in die Thematik eindenken ;-) ... bin gerade im "Vorurlaubsstress" ...Zitat von araeubig Beitrag anzeigenMultiMike
zum Thema Ausgangsmatrix wäre eine Alternative auch noch ein neuer Eingangsbaustein, der einen 2. Ausgang hat den man mit einem Wert belegen kann (als Beispiel "1"). Nun könnte man alle Ventile mit diesem neuen Eingangsbaustein an einen Eingangswahlschalter legen. Durch das 2. Feld kann der Eingangswahlschalter umschalten und den Ventilstatus weiterreichen - zusätzlich hat man über den 2. Wert auch noch eine ID des "Auslösers". Wie findest Du diese Möglichkeit einer Umsetzung?
Gruss André
Einen Kommentar schreiben:
-
MultiMike
zum Thema Ausgangsmatrix wäre eine Alternative auch noch ein neuer Eingangsbaustein, der einen 2. Ausgang hat den man mit einem Wert belegen kann (als Beispiel "1"). Nun könnte man alle Ventile mit diesem neuen Eingangsbaustein an einen Eingangswahlschalter legen. Durch das 2. Feld kann der Eingangswahlschalter umschalten und den Ventilstatus weiterreichen - zusätzlich hat man über den 2. Wert auch noch eine ID des "Auslösers". Wie findest Du diese Möglichkeit einer Umsetzung?
Gruss André
Einen Kommentar schreiben:
-
MultiMike
Habe die Logik mal in Form gebracht um den Status der Ventile auszuwerten -> das erste mal zum Test gemacht:
Screenshot (51).png
Der Ventilstatus wird immer auf einer "Info-Kachel" dargestellt und beim Fehler "Kurzschluss" oder "Überlast" auch auf dem G1 angezeigt.
- Likes 1
Einen Kommentar schreiben:
-
Hallo Michael,Zitat von MultiMike Beitrag anzeigenVariable Anzahl an Eingängen: ist es wirklich eine gute Idee, dass eine Ausgangsmatrix über unterschiedliche Eingänge gesetzt wird? Können wir gerne weiter besprechen, aber ich denke, dass man sowas eleganter lösen kann ;-)
Icon nun vorhanden - merci. Ich wollte nur aufmerksam Feedback geben.
Du hast natürlich recht, dass das unsichtbar machen der einfachere Weg ist. Völlig richtig.
Eleganter lösen mit der Ausgangsmatrix? Na da bin ich gespannt, was Du da für Ideen hast. Mir geht es primär darum die Logikblätter übersichtlich zu halten und weniger Bausteine pro Blatt zu benutzen.
Einen Kommentar schreiben:
-
Guten Morgen André,
danke für Dein Feedback.
Zu Deinen Punkten:
Das fehlende Icon: yepp, die Toolchain kopiert den icons-Ordner leider nicht mit, so dass man hier manuell tätig werden muss. Hatte ich wohl nach dem Builden vergessen ;-) Ist in anhängender ZIP erfolgt.
Umschaltung 1 bzw 2 Byte: Ich habe bei mir einfach die Ausgänge, die ich nicht "auswerte" unsichtbar geschaltet. So hast Du im einfachsten Fall nur einen Ausgang und gut.
Variable Anzahl an Eingängen: ist es wirklich eine gute Idee, dass eine Ausgangsmatrix über unterschiedliche Eingänge gesetzt wird? Können wir gerne weiter besprechen, aber ich denke, dass man sowas eleganter lösen kann ;-)
BTW.: der einfachste Weg das fehlende Icon in Dein Projekt zu bekommen, ist vermutlich, dass die die Inhalte im GPA-Order (z.B. C:\ProgramData\Gira\Gira Project Assistant\LogicNodes\appfarms_com.Logic.Nodes\1.0. 0) direkt mit den Inhalten aus dem neuen ZIP ersetzt. Es müsste auch reichen, nur den "icons"-Ordner dort hin zu kopieren.
Wenn das nicht klappt:
- alle Verwendungen das Bausteins aus dem Projekt entfernen
- GPA beenden
- Ordner "appfarms_com.Logic.Nodes" aus "C:\ProgramData\Gira\Gira Project Assistant\LogicNodes" löschen
- Baustein neu installieren
LG,
Michael
Angehängte Dateien
Einen Kommentar schreiben:
-
Guten Morgen MikeZitat von MultiMike Beitrag anzeigenNach einigem Trail&Error habe ich nun (m)einen ersten Baustein fertig, der "Bitmapper". Das Ding konvertiert einen 1-2 Byte Wert in eine entsprechende Bit-Repräsentation.
habe Deinen Baustein gestern Abend mal installiert und ein wenig probiert.
In den ersten Tests fielen mir ein paar Dinge auf:
- Dein verwendetes Icon (in Deinem Screenshot sichtbar) fehlt in der LBS-Datei
- es wäre übersichtlicher, wenn man den Baustein umschalten könnte auf 1- bzw. 2-Byte Eingangsobjekte - dann wären die ungenutzten Ausgänge nicht sichtbar.
- auch wenn eine Hilfe-Datei nicht wirklich notwendig ist, so gehört diese ja zum "fertigen" Baustein um GIRA-konform zu sein
und noch eine Idee für die Version 1.1.0 :-)....
Wenn Du es ermöglichst, dass der Baustein eine variable Anzahl an Eingängen hätte (natürlich alle mit dem identischen Byte-Format) und ein weiterer Ausgang existiert mit der Nummer des Eingangs mit letztem empfangenen Wert, dann könnte man das Bitmapper-Ergebnis direkt mit "Eingangsnummer" weiterverarbeiten. Also zum Beispiel als Meldung an ein G1 senden mit TITEL= "Fehler Dimmer/Ventil Nummer x" CONTENT= "aufgeschlüsselter Fehler aus Bitmapper und Textformatierer"
Gruss André
Einen Kommentar schreiben:
-
so, ich habe nun mein DEV-Zertifikat von GIRA bekommen und mich durch die Doku und Toolchain gewühlt ... einfach geht anders ;-)
Nach einigem Trail&Error habe ich nun (m)einen ersten Baustein fertig, der "Bitmapper". Das Ding konvertiert einen 1-2 Byte Wert in eine entsprechende Bit-Repräsentation. Falls jemand Interesse hat, gerne melden.
bmap1.PNGZuletzt geändert von MultiMike; 03.08.2021, 14:44.
- Likes 3
Einen Kommentar schreiben:
-
Tja, warum einfach machen wenn's auch kompliziert geht? ;-)
ich wollte den Eingang erstmal in 2 Bytes wandeln und und und ... war wohl overdosed.
Danke Dir!
Einen Kommentar schreiben:
-
Das geht leider alles nicht. Es gibt halt was da ist. Woher soll der Baustein auch was anderes nehmen?
Zwischenergebnisse dürfen alle in C# möglichen Typen haben, nur auf einen Ausgang bekommst Du die dann halt nicht, kannst sie also nur innerhalb derselben Formel weiterverwenden, und das auch nur ein Mal.
Trotzdem kannst Du das Problem auch ohne Arrays, Enumeratoren und Libraries lösen. Man nimmt einfach den Eingangs-Integer und prüft dessen bitweise Ver-UND-ung mit dem gewünschten Bit (implizit) auf ungleich Null. Das Ergebnis ist ein Boolean:
{int:I} & 0x0001
Mit 16 derartigen Formeln und ebenso vielen Ausgängen ist die Zerlegung in Bits gelöst.
Disclaimer: Ungetestet.
Einen Kommentar schreiben:
-
EugenDo
hyman
Was mir hierfür bei dem Logik-Baustein (Formel) scheinbar fehlt, ist:
a) die Möglichkeit gezielt Libs einzubinden, z.B. "using System.Linq" (könnte auch gerne per Default verfügbar sein), um Enumeratoren wie .Last() nutzen zu können
(ein using System.Linq als Formel führt zu einem Fehler)
und/oder
b) als AusgangsTyp für eine Formel ein (Byte)-Array angeben zu können
(könnte dann z.B. via _out1_[0] oder _out1_.Last() angesprochen werden)
Wenn das gehen würde, wäre ich glücklich :-)
LG,
Michael
- Likes 1
Einen Kommentar schreiben:


Einen Kommentar schreiben: