Einrichten der Simulation
Bereits im Abschnitt Einfügen der Simulation wurde gezeigt, wie die Simulation von Geräte-Reaktionen in das Beispiel eingebunden wird. Aufbauend auf den dort wiedergegebenen Schritten, soll nun auch eine Modellsimulation aufgenommen werden. Dazu aktivieren wir lediglich ein weiteres Script im bereits gestarteten Control-Manager :
-
Wechseln Sie in dieConsoleund öffnen Sie die Manager-Parameter des zuletzt angefügtenControl-Managers. Dies kann über Doppelklick auf die entsprechende Zeile in der Managerliste oder über die Schaltfläche "Manager-Eigenschaften ändern" [Strg]+[E] bei selektierter Zeile erfolgen.
-
Die aktuellen Eigenschaften-Einstellungen sollten wie in der Abbildung dargestellt aussehen.
-
Ändern Sie die Manager Eigenschaften im Feld "Optionen:" von 'simDevices.ctl' auf '-f sim.lst'.
-
StoppenSie den Manager und starten Sie ihn anschließend neu.
Jeder Control-Manager kann gleichzeitig mehrere Scripts parallel abarbeiten.
Während wir in Abschnitt Einfügen der Simulation nur ein einziges Script
(simDevices.ctl) angegeben haben, möchten wir jetzt eine Liste von Scripts zur
Abarbeitung definieren. Solche Script-Listen bestehen lediglich aus einer
ASCII-Datei, in der alle zu startenden Scripts untereinander
aufgelistet sind. Der Inhalt der Datei sim.lst
im Verzeichnis
.../scripts/
sieht also folgendermaßen aus:
simDevices.ctl
simModel.ctl
Die Endung *.lst in ' -f sim.lst ' zeigt dabei an, dass es sich um eine ganze Script-Liste und nicht nur um eine einzelne Datei handelt. Die Startoption -f (file) teilt diesen Umstand dem Control-Manager mit.
Um einige der Simulationsparameter auch von der Oberfläche aus verändern zu können, existiert zu den Scripts auch ein eigenes Einstellungs-Panel. Dieses kommuniziert über den Datenpunkt SimControl vom Typ GS_SIM mit dem eigentlichen Simulationsprogramm. Beides sollte durch die Arbeitsschritte in Abschnitt Einfügen der Simulation bereits Bestandteil ihrer Applikation geworden sein.
Als nächstes wird der ebenfalls mitgelieferte Dialog für die Simulationseinstellungen ins Hauptbild eingebunden.
-
Öffnen Sie das Hauptbild
process.pnl
im Grafischen Editor. -
Fügen Sie eine Schaltfläche ein und ändern Sie den angezeigten Text aufSimulation...
-
Öffnen Sie den Wizard zur einfachen Parametrierung bei Clicked im Eigenschaften-Fenster, Registerkarte "Standard".
-
Wählen Sie "Panelfunktionen" und im nächsten Schritt "Panel öffnen".
-
Selektieren Sie das Panel
sim_settings_cp.pnl
im Verzeichnis.../panels/details/
Ihres aktuellen Projekts (das Panel wurde durch den, in Abschnitt Einfügen der Simulation beschriebenen Kopiervorgang dort bereitgestellt). -
Vergeben Sie den Panelnamen z.B. mit "Simulation".
-
Wählen Sie die Option "Childpanel im aufrufenden Panel" und "zentriert" für die Position.
-
Schließen Sie den Wizard durchFertigstellenab.
Das fertige Ergebnis sollte zur Laufzeit dann etwa wie folgt aussehen. Die Antwortzeit bei der Gerätesimulation dient zur virtuellen Berücksichtigung von Kommunikationslaufzeiten etc. Das vereinfachte physikalische Modell der beiden Tanks wird zyklisch berechnet. Mit dem "Rauschen" können die ansonsten mathematisch sauberen Kurven etwas realistischer abgebildet werden.
Zusätzlich kann die Simulation der Applikation über den genannten Datenpunkt auch für alle Geräte in Handbetrieb geschalten werden, bzw. eine definierte Ausgangssituation für Automatikbetrieb hergestellt werden. Auch diese Betriebszustände wollen wir per Schaltfläche aus dem Prozessbild aktivieren können.
-
Fügen Sie eine Schaltfläche (Push-Button)Abschaltungein.
-
Parametrieren Sie für die Schaltfläche bei Clicked ein Setzen des DatenpunktelementsSimControl.devices.allOffauf den Wert "1".
-
Fügen Sie eine SchaltflächeAuto-Betriebein.
-
Parametrieren Sie für diese Schaltfläche bei Clickedein Setzen des DatenpunktelementsSimControl.fullAutoauf "1".
Beide Datenpunktelemente werden von der Simulation selbsttätig nach Ausführung wieder zurückgesetzt. Öffnen Sie nun am besten die Applikation wieder in der Laufzeitansicht und probieren Sie die neuen Funktionalitäten aus.