Seite 1 von 1

Parameterbeschreibungen der Standardbausteine für CL

Verfasst: Mi Apr 15, 2020 6:19 pm
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

Re: Parameterbeschreibungen der Standardbausteine für CL

Verfasst: Mi Apr 15, 2020 10:21 pm
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 ;)

Re: Parameterbeschreibungen der Standardbausteine für CL

Verfasst: Do Apr 16, 2020 10:10 am
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

Re: Parameterbeschreibungen der Standardbausteine für CL

Verfasst: Do Apr 16, 2020 11:09 am
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.