Der 1. Baustein läuft, aber es ist noch nicht sehr hübsch. Wie kann man das jetzt verbessern? Einmal, in dem man versteht, wie man eigene Funktionen in Python definiert. Nach dem wir verstanden habe, was Funktionen sind, können wir auch eigene Funktionen anlegen und rufen diese Funktion einfach auf, sobald wir sie brauchen. Das sieht dann so aus:
Im Grunde die gleiche Logik wie vorher, nur dass wir die einzelnen Pfade je if/elif in einer Funktion zusammen fassen/definieren und diese Funktion dann aufrufen.
Wichtig ist dabei die Einrückung der Definition der Funktion, sie muss auf der gleichen Einrückung wie die Funktionen darüber definiert werden und die Funktion muss in der Instanz self definiert werden. Damit sie Zugriff auf die self Variablen darunter hat.
Der Aufruf der Funktion muss dann in der Einrückung der if Bedingungen darüber erfolgen, damit die Funktion an der richtigen Stelle/Reihenfolge erfolgen kann.
Summe = 0
def on_init(self):
self.REM_VALUE_1 = 0.0
self.REM_VALUE_2 = 0.0
self.REM_VALUE_3 = 0.0
self.REM_VALUE_4 = 0.0
def on_input_value(self, index, value):
if index == 1:
self.REM_VALUE_1 = value
elif index == 2:
self.REM_VALUE_2 = value
elif index == 3:
self.REM_VALUE_3 = value
elif index == 4:
self.REM_VALUE_4 = value
self.rechnen_funktion()
def rechnen_funktion(self):
Summe = self.REM_VALUE_1 + self.REM_VALUE_2 + self.REM_VALUE_3 + self.REM_VALUE_4
self._set_output_value(self.PIN_O_ERGEBNIS, Summe)