• Keine Ergebnisse gefunden

Starten der Aufzeichnung der Sprungantwort in der PictureBox

5.2 Die Form frmReglerauswahl

5.2.4 Starten der Aufzeichnung der Sprungantwort in der PictureBox

Hier kann die Sprungantwort auf einen Sollwertsprung aufgezeichnet werden. Somit bekommt man einen Überblick über das Gesamtsystem und kann nachweisen, ob der Regler nach der Optimierung ein besseres Verhalten aufweist.

Im ersten Schritt muss der Anwender nach der Auswahl des Reglers einen Sollwert in die dafür vorgesehene TextBox schreiben. In dieser Form ist auf der linken Seite der Frame3 mit drei TextBoxen für den aktuellen Soll- und Istwert, der Sollwertvorgabe und dem Start-Button.

Die TextBoxen für den aktuellen Ist- und Sollwert sind so eingestellt, dass der Anwender keine Eintragungen vornehmen kann. Die TextBox für die Sollwertvorgabe ist dagegen offen zum Ändern von Werten. Der Anwender kann hier allerdings nur Werte eingeben, die im Bereich zwischen Min- und Maxwert liegen. Diese stehen in den nicht sichtbaren Spalten des DataGrids. Sollte der Wert nicht in diesem Bereich liegen wird eine MessageBox geöffnet, die dem Anwender den zulässigen Bereich mitteilt.

Welche TextBoxen nicht zum Schreiben freigegeben sind kann man daran erkennen, dass der Inhalt in Grau dargestellt wird.

Abbildung 5.9: Der Frame3 zum Ändern des Sollwertes

Sollwertvorgabe, die hier eingetragen wird

Button zum Schreiben des Wertes aus der TextBox in die Steuerung

Aktueller ausgelesener Sollwert aus der Steuerung Aktueller ausgelesener Istwert aus der Steuerung

Die Prozedur beim Klick-Ereignis des Start-Buttons umfasst mehrere Call-Aufrufe die zur Aufzeichnung benötigt werden. Diese stehen allerdings nicht in der Prozedur selbst, sondern in einem Timer-Ereignis. In der Prozedur wird nur der Timer aufgerufen und das Intervall festgelegt.

Die Aufrufe heißen hier:

- call ReadFromPLC

- call csv_WriteSollwert

- call TrendView_show

Bevor die Prozeduren aufgerufen werden, erfolgt erst die Einstellung des Timers auf ein Intervall von 1000 Millisekunden und dessen Aktivierung. Dadurch werden die oben genannten Call-Aufrufe jede Sekunde ausgeführt.

Der Aufruf ReadFromPLC wurde schon erklärt und muss an dieser Stelle nicht mehr behandelt werden.

Bei dem Aufruf csv_WriteSollwert wird ein neuer Unterordner im Ordner des Programms angelegt. In diesem Unterordner legt sich dann eine erzeugte CSV-Datei ab, die hier Test.csv heißt. Durch den Aufruf ReadFromPLC werden die Werte vom Soll- und Istwert jede Sekunde aus der Steuerung ausgelesen. Durch den Aufruf csv_WriteSollwert lassen sich dann diese Werte und der jeweilige Schritt des Timers in die schon benannte CSV-Datei schrieben. Die CSV-Datei besteht dann aus drei Spalten, deren gerade aktuellen Werte dann nach jeder Sekunde in die nächste Zeile geschrieben werden.

Die Werte könnten auch ohne den Umweg über die CSV-Datei im Programm verarbeitet werden. Der Vorteil durch die Erzeugung der CSV-Datei ist jedoch, dass sich diese Werte in einer anderen CSV-Datei speichern lassen und somit durch späteres Auslesen der gespeicherten Datei, mehrere Kurven miteinander verglichen werden können. So kann der Anwender erkennen, ob z.B. der gerade optimierte Regler eine bessere Güte aufweist, als das zuvor gespeicherte Reglerverhalten. Auf diesen Teil der Diplomarbeit wird erst bei der Beschreibung der weiteren Funktionen der Buttons eingegangen.

Bevor man allerdings mit der Aufzeichnung beginnen kann, muss der ausgewählte Regler auf Automatik-Betrieb gestellt werden.

Der Aufbau der Datei ist in der folgenden Abbildung verdeutlicht:

Abbildung 5.10: Aufbau der CSV-Datei Spalte “A“ für den

Timer-Schritt. Für die Aufzeich-nung sind dieses die x-Werte für beide Linien

Spalte “B“ für die Sprungantwort. Dies essind die Werte in y-Richtung

Spalte “C“ für die Sollwertsprung. Dies essind ebenfalls die Werte in y-Richtung

Der Aufruf TrendView_show nutzt diese Daten aus der Datei Test.csv. In dieser Prozedur sind der Pfad und der Name der Datei angegeben, die zum Aufzeichnen der Linien benötigt werden. Der Split-Befehl im Programm liest die einzelnen Zeilen für alle Spalten jede Sekunde wieder aus. Die Spalte “B“ wird der Sprungantwort und die Spalte “C“ dann dem Sollwertsprung zum Aufzeichnen der beiden Linien zugeordnet. In der PictureBox werden Punkte eingezeichnet, die anschließend mit vielen kleinen Linien verbunden sind. Das Ergebnis ist in der folgenden Abbildung dargestellt:

Abbildung 5.11: Aufzeichnung von Sollwertsprung und Sprungantwort

In der Abbildung ist zu erkennen, wie das System auf eine Änderung des Sollwertes reagiert. Der Regler ist hier noch nicht optimiert.

Der Anwender hat die Möglichkeit die Aufzeichnung jederzeit durch den Stop-Button zu beenden. In dieser Prozedur wird dann der Timer angehalten und das weitere Schreiben in die CSV-Datei verhindert. Sofern der Anwender danach wieder den Start-Button klickt, startet der Timer wieder und die neuen Daten werden an die vorherigen in der Datei Test.csv angehängt.

Sprungantwort Sollwertsprung

Wenn der Anwender die Prozedur stoppt, kann die Aufzeichnung in der PictureBox gelöscht werden. Die CSV-Datei wird beim Klick-Ereignis des Kurven-Löschen-Buttons gelöscht und die PictureBox wieder auf den Anfangszustand zurückgesetzt bzw. gesäubert.

Bevor man die Aufzeichnung löscht, besteht auch die Möglichkeit die Aufzeichnung durch den Kurve-Speichern-Button zu speichern. In diesem Fall öffnet sich ein Dialog, der automatisch den Namen des Regers und das aktuelle Datum als Vorschlag für den Dateinamen enthält. Wenn der Anwender die CSV-Datei unter dem vorgeschlagenen Namen speichert, wird sie in diesem Ordner abgelegt und die Datei Test.csv gelöscht.

Durch den Kurve-Laden-Button kann der Anwender die Aufzeichnung wieder auslesen und sie in der PictureBox anzeigen lassen. Hier öffnet sich ebenfalls ein Dialog, aus welchen die zu öffnende Kurve ausgewählt werden kann. Dieses dient dem Vergleich mehrerer Aufzeichnungen eines Reglers.

Der Drucken-Button gibt dem Anwender die Möglichkeit, die aufgezeichneten Kurven auf DIN A4-Papier zu drucken. Der Dialog der sich dann öffnet bietet die Möglichkeit, einen eingerichteten Drucker auszuwählen.

Der Beenden-Button ist dafür vorgesehen, alle Formen des Programms zu schließen und somit das Programm zu beenden. Der Anwender wird über eine MessageBox gefragt, ob er das Programm wirklich beenden möchte, welches er dann Bestätigung muss oder auch nicht. Sofern er die Abfrage mit ja bestätigt, werden hier Parameter die bei der Auswahl eines Reglers im DataGrid aus der Steuerung ausgelesen wurden wieder zurückgesetzt, um den gerade aktiven Regler wieder so einzustellen, wie er vor dem Start des Programms gewesen ist. So ist er dann wieder für den Prozess aktiv.

Der Weiter-Button bringt den Anwender auf die zweite Form des Programms, welche hier frmReglerbearbeitung heißt. Sofern der Anwender noch keinen Regler aus dem DataGrid ausgewählt hat, wird er durch eine MessageBox darüber informiert und gleichzeitig aufgefordert einen Regler auszuwählen. Solange kein Regler gewählt wird, gelangt der Anwender auch nicht auf die nächste Form.