Hallo zusammen, lieber Sören!
Ich hatte anfangs auch Notepad++ im Einsatz, aber das hin/her kopieren nervt relativ schnell.
Inzwischen ist das mit den eingebauten Fehlermeldungen auch viel leichter geworden, daher arbeite ich ausschließlich im LE.
Kurz wie ich das heute mache:
- Ich überlege mir was ich machen GENAU will (das ist oft die größte Herausforderung)
- Ich schreibe meist in kurzem Klartext auf, was wie passieren soll
zB: wenn Logik durch Eingang xy getriggert, dann speichere den aktuellen Wert und starte Timer
wenn Timer abgelaufen, dann addiere $xy zum letzten Wert
am Ende des Durchlaufes speichere den aktuellen Wert...
- zu den einzelnen Schritten kann man dann die Bausteine dazuschreiben:
Triggered + Latch, Triggered startet Monoflop
Polynom+Multiplexer
Latch mit TriggerOption1
- Das wichtigste: eine gute Vorlage, siehe unten.
- Dann weiter wie in den Tutorials beschrieben: Ein/Ausgänge, Schritt für Schritt die Module mit temporärer Ausgängen zum prüfen (oder Dokmode)
Wichtig zu verstehen: Jede Zeile wird bei jedem Durchlauf ausgeführt. Soll zb eine Polynomergebnis nur unter bestimmten Bedinungen übernommen werden, so muss man das Polynom in ein zb $Result_temp schreiben und dann mittels Multiplexer oder Latch eine Zuweisung $Result = Result_temp, wenn Bedingung = True umsetzen.
lg
Robert
Code: Alles auswählen
/**=====================================================================
Vorlage
======================================================================*/
{
"Level": [
["$I_Eingang","float",0.0]
["$Konst0","float",0.0],
["$KonstTrue","bool",true],
["$StartZeitTag","string","10 0 0 * * *"]
],
"Output": [
["Ausgang","","$Output","c"],
],
"Input": [
["Inout","","$Input","a"],
],
"Module": [
//["Polynomial", "$Konst1", "$Temp_Soll",["$I_Temp_Soll", "$I_Offset"]],
//["Ratio","$Konst100","$Steigung","$I_Delta_T_Max"],
//["Limiter","$Hoehe_Soll","$Hoehe_Soll_Lim","$Val_ok",["$I_Hoehe_Min", "$I_Hoehe_Max"]],
//["Comparator", "$I_Hoehe_Min", "$SelectHoehe", "$Hoehe_Soll"],
//["Multiplexer",["$Konst0","$Hoehe_Soll_Lim"],"$Hoehe_Soll_Lim","-$SelectHoehe"],
//["Or" , ["$Val_Large1" , "$Val_Large2"], "$Val_Large"],
//["And" , ["-$Val_Large" , "-$Val_Null"], "$Val_Small"],
//["Monoflop","$Val_Large",0,"$Timer_Large","$I_Delay",1],
//["Latch","$Hoehe_Soll_Step","$Hoehe_Soll_StepB","$Val_Large",0],
//["Clocksignal","$ConstTRUE","$Clk","$Period"],
//["HobbsMeter","$State","$Time","$Reset"],
//["Cron","$KonstTrue","$ResetTag",0,"$StartZeitTag"],
//["BinaryMultiplexer",["$In_D","$In_E","$In_F"],"$Output"]
//["Triggered", "$Input", "$Touched" ]
//["SendExplicit","$Send","$Out_val",0]
]
}
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297