Ohne Halt(er) zum Hauptschalter
Um gewisse Anforderungen zu erfüllen, ist es notwendig, dass wir auch an unserer Anlage einen Hauptschalter verwenden. Dementsprechend widmete sich ein Teil der heutigen Zeit dem Hauptschalter – doch auch eine andere Handbetätigung fand nun ihren Weg in das Projekt.
Der Hauptschalter
Die meisten Anlagen verfügen über sich bewegende Teile in Form von großen Motoren oder Bändern. In diesen Anlagen macht es natürlich im besonderen Bezug zur Personensicherheit Sinn, einen Not-Aus und zusätzlich einen Hauptschalter zu verwenden. Den Not-Aus für die ihm namensgebende Funktion, den Hauptschalter, um die Anlage soweit möglich gänzlich spannungsfrei zu schalten (und ja, hier gibt es stellenweise Ausnahmen). Da ein Not-Aus unseres Erachtens nach nicht wesentlich Sinn macht, haben wir uns dennoch für einen Hauptschalter entschieden, um die Anlage selbst bei eingestecktem Netzstecker weitestgehend spannungsfrei schalten zu können. Bei dem Hauptschalter handelt es sich um einen Drehschalter in gewohnt gelber Färbung mit einem roten Drehknauf. In unserem Fall ist dieser sogar 3-polig ausgeführt, wobei wir allerdings lediglich zwei der Pole verwenden: Einen Pol für die Phase und einen Pol für den Neutralleiter. Natürlich wird der eine oder andere Leser sich nun die Frage stellen, wieso wir nicht auch den grün-gelben Draht mit darüber schalten. Die Antwort ergibt sich aus mehreren Punkten: Zum einen schlichtweg nicht zulässig, da der PE (wahlweise auch die Schutzerde) nicht geschaltet werden darf (so auch zu lesen in der DIN VDE 0100-460) und zum anderen aus logischer Sicht, da der PE eine Schutzfunktion darstellt, sofern unerwartete Rückspannung oder Restspannung in der Anlage vorhanden ist – würde man in diesem Fall die Anlage berühren, käme es unweigerlich zu einem Stromschlag. Darum sei an dieser Stelle nochmals klargestellt, dass der PE nicht geschaltet wird.



Individuell manuell ohne Manuel
Da in der Zwischenpräsentation die Frage gestellt wurde, ob nicht die Möglichkeit bestünde, dass die Anlage auch mit eigenen Parametern versehen werden könnte, habe ich mich in dem Zuge gleich auch mit dieser Frage beschäftigt. Und eine Lösung hierfür hat sich relativ schnell finden lassen, wenn auch die vollständige Einbindung in das gesamte Projekt etwas gedauert hat. Worum geht es also?
Die Anzeigefelder der Sollwerte waren ursprünglich lediglich als Anzeige angedacht. Allerdings habe ich nun in die Liste der Pflanzen noch 2 individuelle Punkte hinzugefügt, mit Hilfe derer nun explizit die Integer-Daten 98 und 99 an den Datenbaustein übergeben werden. Werden diese Werte vom HMI im Datenbaustein erkannt, wird für die entsprechende Kammer das Anzeigefeld in ein Anzeige- / Eingabefeld umgesetzt. Und da die Sollwerte nun eingestellt werden können und anschließend auch die Werte direkt in den jeweiligen Datenbaustein übergeben werden, ist diese Lösung SPS intern machbar. Allerdings wird dies im Umkehrschluss wieder an den Raspberry Pi gesendet. Folglich ist die Thematik auf der Seite der SPS / des HMI recht einfach erledigt, allerdings muss im Programm für den Raspberry Pi nun ein Ausschluss der beiden Integer-Werte 98 und 99 geschaffen werden, damit hier keine Abfrage der Datenbank erfolgt.
Connect = mysql.connector.connect(**MariaDB_Login)
Cursor = Connect.cursor()
if (PlantCh0 != 98 and PlantCh0 != 99):
SQL = """
SELECT * FROM catalogue WHERE id = %s
"""
Cursor.execute(SQL, (PlantCh0,))
Result = Cursor.fetchone()
CatalogueTempCh0 = Result[3]
CatalogueHumCh0 = Result[4]
CatalogueMoiustCh0 = Result[5]
# -- packing array into variables to send them to the plc
# -- converting values into real-bytes for S7
# -- bytearrayname, byte to start, value to convert
snap7.util.set_real(SP_TempCh0, 0, CatalogueTempCh0)
snap7.util.set_real(SP_HumCh0, 0, CatalogueHumCh0)
snap7.util.set_real(SP_MoistCh0, 0, CatalogueMoiustCh0)
PLC.db_write(20, 12, SP_TempCh0)
PLC.db_write(20, 16, SP_HumCh0)
PLC.db_write(20, 20, SP_MoistCh0)
DataCh0 = SensorRead(0)
Im Grunde wird hier eine Abfrage gestartet, bei der überprüft wird, ob die Pflanzennummer ungleich 98 und ungleich 99 ist. Wenn das stimmt, erfolgt die Abfrage der Datenbank und die Übergabe der Sollwerte an die SPS – ist das dagegen nicht der Fall, entfällt die Abfrage. In jedem Fall erfolgt allerdings die Abfrage der Sensoren.