StructuredTrash
Level-3
- Beiträge
- 1.162
- Reaktionspunkte
- 309
-> Hier kostenlos registrieren
bike schrieb:Wenn ich dich richtig verstanden habe, weißt du zu Beginn schon alle Eventualitäten, die sich bei der Programmierung und Inbetriebnahme ergeben?
Nein, da hast Du mich falsch verstanden. Ich meine, dass es kein guter Stil ist, Zuweisungen auf den selben Ausgang wild auf das gesamte Programm zu verteilen, so wie es auch PN/DP wohl schon öfter hat sehen müssen. Und alle Eventualitäten sehe ich auch nicht voraus, auch wenn sich die Anzahl der "don't cares", die tatsächlich keine sind, im Lauf der Jahre schon verringert.
Was ich ursprünglich zum Ausdruck bringen wollte, ist, dass die "Wenn-dann"-Struktur die Stärke von ST ist und man die auch nutzen sollte. Dass man dabei zu Anfang oft genug das "Sonst" ausser Acht lässt, weiss ich aus eigener Erfahrung nur zu gut. Wenn man lernfähig ist, sollte dieser Drob aber nach der ersten so programmierten Katastrophe gelutscht sein.
Bei einer simplen Aufgabe wie in meinem ursprünglichen Beispiel bevorzuge ich auch die direkte Zuweisung. Dies kann sich aber schon bei einer geringfügigen Änderung der Aufgabe umkehren. Dazu noch ein Beispiel:
Code:
IF Rueckwaerts
THEN
Ausgabe:= -Sollwert;
ELSE
Ausgabe:= Sollwert;
END_IF;
Ausgabe:=(1-(BOOL_TO_SINT(Rueckwaerts)*2)*Sollwert;
Ich gebe zu, dem Charme des Einzeilers schon mal erlegen zu sein. Aber jedes Mal, wenn sich ein Kollege erst mal am Kopf kratzt, bekomme ich ein schlechtes Gewissen.