UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

Parameterbeschreibungen der Standardbausteine für CL

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
simon2k
Reactions:
Beiträge: 7
Registriert: Do Mär 07, 2019 9:16 am
Hat sich bedankt: 2 Mal
Danksagung erhalten: 3 Mal

Parameterbeschreibungen der Standardbausteine für CL

#1

Beitrag von simon2k »

Hallo zusammen,

bei der Programmierung meiner Custom Logik im Logikeditor hat mich folgender Sachverhalt heute Nachmittag mindestens 2h gekostet:
Ich wollte ein Monoflop programmieren, also bin ich mit Hilfe der echt guten Übersicht von Robosoc:
Knowledge Base - 4.6.6 Verwendung von Standard Logikbausteinen in Custom Logik an das Thema herangegangen. Syntax für ein Monoflop ist hiernach:

Code: Alles auswählen

["Monoflop","$Trigger","$Reset","$Ausgang","$Verzögerungszeit",0]
Verzögerungszeit sollten bei mir 5 Sekunden sein, also habe ich folgenden Code eingebaut:

Code: Alles auswählen

["Monoflop","$Trigger","$Reset","$Ausgang",5,0]
Erschloss sich mir nicht wirklich, warum ich für die Konstante "Verzögerungszeit" eine Variable anlegen sollte...
Falsch gedacht! Der Code funktioniert NUR mit einer Variablen an der Stelle!
Ein Fehler kommt keiner, es funktioniert einfach nicht! :roll:

Wie sieht das bei anderen Bausteinen in der CL aus? Muss wenn im Beispielcode eine Variable angegeben wird, auch IMMER einer Variable angelegt und einhängt werden oder ist das tagesformabhängig?
Wie siehts z.B.hier aus:

Code: Alles auswählen

["Limiter","$In_val","$Out_val","$Val_ok",["$Min", "$Max"]]
Geht hier z.B.:

Code: Alles auswählen

["Limiter","$In_val","$Out_val","$Val_ok",[3, 5]]
?

Vielleicht sollte man diesen Sachverhalt in der Übersicht noch detaillierter beschreiben bzw. einen entsprechenden Hinweis aufnehmen!

Dankschön und macht weiter so!

Gruß,
Simon
TWS 950Q ID:286, VPN offen, Reboot erlaubt

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#2

Beitrag von Robosoc »

Hey Simon,

sorry, nur eine kurze Antwort. Deine Einschätzung ist völlig korrekt, leider geht es aktuell nur über Variablendeklaration. Das ist unter 4b in folgendeM KB Artikel beschrieben: app.php/kb/viewarticle?a=84.

Die einzige Ausnahme ist stets die Zahl 0 und sind die Zahlenpaare im Modul „Interpolation“, zumindest fällt mir aktuell nichts anderes ein.

Der Artikel ist für Jemanden, der sich an Costum Logiken wagt aus meiner Sicht essentiell und sehr gut. Ich habe auch damit angefangen den zu lesen.

btw 4.6.6 ist auch nicht von mir, ich habe ihn nur zuletzt editiert. Die meiste Arbeit darin verdanken wir mit Sicherheit Robert-Mini und s. Kolbinger. :bow-yellow:
Da will ich mich nicht mit fremden Federn schmücken ;)
Zuletzt geändert von Robosoc am Mi Apr 15, 2020 10:25 pm, insgesamt 1-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Ersteller
simon2k
Reactions:
Beiträge: 7
Registriert: Do Mär 07, 2019 9:16 am
Hat sich bedankt: 2 Mal
Danksagung erhalten: 3 Mal

#3

Beitrag von simon2k »

Hallo Sven,

danke für die Antwort.
Natürlich habe ich den Artikel bereits gelesen, aber dieser eine Satz von 100 ist dabei wohl untergegangen... ;)
Nichts desto trotz könnte man das in der Übersicht nochmals fett in Rot dazuschreiben! Das würde bestimmt helfen. Bzw. der Logikeditor könnte diesen Sachverhalt eigentich ganz einfach prüfen. Auch Schreibfehler in den Variablen oder vergessene Variabendeklarationen sind im Moment ohne Prüfung durch den Editor bzw. qualifizierte Fehlemeldung wirklich sehr, sehr mühsam zu finden!

Den Grund für "c[k.name] is undefined " oder nach dem Speichern erst "Logik wurde gespeichert. Logik ist fehlerhaft" zu finden bei zig Zeilen Code ist beinahe unmöglich!

Gruß,
Simon
TWS 950Q ID:286, VPN offen, Reboot erlaubt

Sun1453
Reactions:
Beiträge: 1849
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1541 Mal
Danksagung erhalten: 788 Mal

#4

Beitrag von Sun1453 »

Hallo Simon,

ja da wäre noch eine Optimierung nötig. Es könnte ja je nach Bereich Input Output Level und Module eine extra Meldung erscheinen und dann ein Verweis auf die KB erfolgen. Wichtig natürlich das die entsprechende Zeile angegeben wird.

z.B. Module

Es wird erstmal im ersten Bereich das Modul erkannt. Ist da schon ein Fehler dann sollte stehen, ungültiger Modulname in Zeile 15 verwendet.

Wenn Modulname okay, dann Prüfung auf Syntax. Wenn da Fehler sind, dann könnte man auf einen KB Artikel zum Modul verweisen, wo erklärt wird wie dieses aufgebaut und welche Zeichen und Funktionen zu nutzen sind.
Zuletzt geändert von Sun1453 am Do Apr 16, 2020 11:10 am, insgesamt 1-mal geändert.
Gruß Michael

Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |
Antworten

Zurück zu „Logikengine & Logik-Editor“