-> Hier kostenlos registrieren
Zu 1:Ich habe mir 3 Änderungen erlaubt:Code:IF „Taktmerker_1Hz“ and Not „Flanke_Taktmerker_1Hz“ THEN „ZW_1l_Real“ := „ZW_1l_Real“ + („IW_L/h_Real“ / 3600.0); WHILE „ZW_1l_Real“ > 1.0 DO // WHILE statt IF, damit ggfs auch Überläufe >= 2.0 abgebaut werden „ZW_1l_Real“ := „ZW_1l_Real“ - 1.0; „ZW_Gesamt_in_l_DINT“ := „ZW_Gesamt_in_l_DINT“ + 1; END_WHILE; END_IF; „Flanke_Taktmerker_1Hz“ := „Taktmerker_1Hz“;
1. Die Leerzeichen in den VariablenNamen durch Unterstriche ersetzt.
2. Die zweite IF-Selektion in die erste integriert.
3. Die zweite IF-Selektion in eine WHILE-Schleife geändert.
Zu 1.:
"Unterbrechungen" in Namen (also auch VariablenNamen) sind bei SCL zwar zulässig, aber in sooo vielen anderen ProgrammierSprachen nicht, dass man die dort übliche Variante mit den Unterstrichen ohne Verlust an Lesbarkeit anwenden kann bzw. sollte.
Zu 2.:
Weil die Abfrage, ob die bedingte Ausführung des Übertrags erforderlich ist, nicht in allen Zyklen ausgeführt werden muss, sondern nur in den (wenigen) Zyklen, in denen sich der Zählerstand ändert.
Zu 3.:
Wegen 2. würde eine Differenz von >= 2.0 nicht mehr "nach und nach" abgebaut werden.
D.h., sollte sich - warum auch immer - eine grössere Differenz "angesammelt" haben, würde dieser Fehler beibehalten werden.
Nicht geändert:
'L' in 'l' in '„IW_L/h_Real“'.
Von der üblichen Gross-/KleinSchreibung von MassEinheiten sollte möglichst nicht abgewichen werden.
Leider hat man in diversen SchriftArten das Problem, dass z.B. 'I' (Klein-L) und 'l' (Gross-i) und evtl. auch '1' oder 'O' (Gross-o) und '0' (Null) kaum oder gar nicht zu unterscheiden *) sind, so dass Ausnahmen manchmal doch gerechtfertigt sein können.
*) Bei der Festlegung, wie die verschiedenen Zeichen in einer SchriftArt dargestellt werden, sollte m.E. der Eindeutigkeit endlich mal eine höhere Priorität vor dem Aspekt der "Schönheit" eingeräumt werden!
Ist diese Forderung denn nur in der AutomatisierungsTechnik relevant? Ich finde, man könnte sich auch in anderen Bereichen gut damit abfinden, ohne dafür grosse Opfer bringen zu müssen.
Geschmackssache. Für jemanden der nur aus der TIA Programmierung kommt, spielt das erstmal keine Rolle. Ich denke viele Siemens Programmierer haben mit anderen Hochsprachen rein garnichts zutun. Meine Kollegen, grade die älteren, haben ja schon ein Problem mit SCL.
Meine Variablen werden in aller Regel aber mit _ geschrieben.
Zu 2/3:
Da nehme ich die eine Abfrage gerne in Kauf.
Was die Einheiten angeht. Ich habe Kunden die bestehen auf das kleine L weil eben korrekt, ich habe auch solche die das große, wegen der besseren Lesbarkeit bevorzugen.