Code:
IF stHmi.Einstellwert > 0 AND stHmi.Einstellwert < 100 THEN
Sollwert := 12345 / stHmi.Einstellwert;
END_IF;
Sowas kann in Division durch 0 enden...
Zu gutem Programmierstil gehört für mich auch, daß man nicht nur an seine eigene vielleicht eingesparte Arbeitsstunde denkt sondern auch an die Nachfolger-Programmierer, die irgendwann mal an dem Programm was ändern sollen oder auf eine andere CPU migrieren oder das HMI ändern oder austauschen ... Dann vereinfachen klare definierte globale Schnittstellen (z.B. Übergabe-DB) die Arbeit ungemein. Dann ist es auch hilfreich, wenn man sicher ist, daß nur auf wenige hundert dokumentierte Variablen überhaupt von außen zugegriffen werden kann und man nicht zigtausend dummerweise freigegebene Variablen im Verdacht der Änderung von außen hat.
Harald