Document Title

| ALPHA-VISION® SoftPlc7

# SoftPlc7PG.dll

## 1. Einstellungen in der SoftPlc7

Die Anbindung der SoftPlc7PG.dll an die SoftPlc7 ermöglicht es, mit Hilfe des Simatic Managers die gängigsten Funktionalitäten der Debug-Schnittstelle zu verwenden. So können etwa Bausteine geladen, verändert und beobachtet werden. Die SoftPlc7 unterstützt zur Zeit zwei Schnittstellen, die über den Menüpunkt "Extras->PG-Schnittstelle einstellen" eingestellt werden können:

### PC Adapter (MPI) - Schnittstelle

Für die serielle Kommunikation kann aus den COM-Ports COM1 bis COM4 und den Baudraten 19200 und 38400 gewählt werden. Die MPI-Adresse sollte mit der im STEP7-Programm projektierten Adresse übereinstimmen, um Offline-Debugging zu ermöglichen. Wird ausschließlich im Online-Modus gearbeitet, muss die Adresse nur verschieden von der des Simatic Managers sein. Sollte aus nicht ersichtlichen Gründen wiederholt die Verbindung abbrechen, kann ein höherer Wert bei der Wartezeit in Schicht 1 das Problem oft beheben. Kleinere Werte bedeuten weniger Verzögerungen und damit eine schnellere Kommunikation, sie erhöhen allerdings auch das Risiko eines aktiven kontrollierten Verbindungsabbruchs des Simatic Managers.

### TCP/IP - Schnittstelle

Falls die Rechner, auf denen die SoftPlc7-Instanzen und der Simatic Manager laufen, über ein LAN verbunden sind, bietet diese Schnittstelle enorme Geschwindigkeitsvorteile gegenüber der seriellen Kommunikation, da Windows-Sockets verwendet werden. Es können auch mehrere Instanzen auf demselben Rechner gleichzeitig debuggt werden; dazu ist es allerdings erforderlich, dem Windows-System zuerst für jede SoftPlc7 diejenige IP-Adresse hinzuzufügen, die im Simatic-Projekt bei den jeweiligen CPs eingetragen ist.
Solche IP-Adressen werden im erweiterten Eigenschaften-Dialog des TCP/IP-Protokolls definiert, zu diesem gelangt man unter Windows NT über die Systemsteuerung (Netzwerk -> Protokolle -> TCP/IP-Protokoll -> Eigenschaften) und unter Windows 2000 über den Startmenüpunkt Einstellungen -> Netzwerk- und DFÜ-Verbindungen -> LAN-Verbindung -> Eigenschaften -> Internetprotokoll (TCP/IP) -> Eigenschaften. Der Rechner sollte danach neu hochgefahren werden.
Nun können die IP-Adressen auf die verschiedenen SoftPlc7 verteilt werden. Nach Verlassen des Dialogs mit OK werden die Eingaben in der SoftPlc7.ini-Datei gespeichert und beim nächsten Dialogaufruf wieder gelesen. Falls auf einem Rechner nur eine SoftPlc7-Instanz debuggt wird oder gar nur eine Instanz läuft, kann eine beliebige dem Rechner zugeordnete IP-Adresse angegeben werden. Das Eingabefeld kann dann auch leer gelassen werden, dies entspricht der IP-Adresse "0.0.0.0". Das bedeutet, dass die SoftPlc7 auf allen gültigen IP-Adressen als Server zur Verfügung steht.
Ein zweiter Parameter "Wartezeit in Schicht 1" kann dazu benutzt werden, um die Priorität das Debuggens zu ändern. Der Wert 0 ms bewirkt, dass eingehende Telegramme vom Simatic Manager ohne unnötige Verzögerung bearbeitet werden. Das mag bei ohnehin schon hoher Rechnerauslastung zu Performance-Problemen führen, und der Wert sollte auf 100 ms eingestellt werden. Ist der Rechner noch nicht besonders ausgelastet, kann eine niedrigere Wartezeit gewählt werden. Die Geschwindigkeit des Debuggens wird dadurch merklich gesteigert.

Ist bei Verlassen des Dialogs mit OK das Feld "Verbindung aktiv" angewählt, wird eine evtl. bestehende Verbindung abgebaut und sofort eine neue Verbindung, die durch die Parameter definiert ist, aufgebaut. Der Verbindungsaufbau kann allerdings auch separat über die Online-Taste im Debug-Panel hergestellt werden.

## 2. Einstellungen im Simatic Manager

Damit zwischen SoftPlc7 und Simatic Manager eine Verbindung aufgebaut werden kann, muss im Simatic Manager dieselbe Art der Schnittstelle gewählt werden, und im Fall der seriellen Kommunikation müssen dieselben Parameter eingestellt werden. Man gelangt zu diesem Dialog über den Menüpunkt "Extras -> PG/PC-Schnittstelle einstellen...", dort kann zwischen verschiedenen Schnittstellen gewählt werden. Sollte das Interface "PC Adapter(MPI)" oder "TCP/IP -> <Name>" fehlen, muss es nachinstalliert werden, bevor es benutzt werden kann.
Grundsätzlich können SoftPlc7 und Simatic Manager auch auf einem Rechner gestartet werden. Wenn zum Debuggen allerdings das MPI-Protokoll verwendet wird, muss darauf geachtet werden, verschiedene COM-Ports zu verwenden, diese werden einfach über ein serielles Kabel am selben Rechner verbunden.

## 3. Unterstützte Debug-Funktionalitäten aus dem Hauptmenü

- "Zielsystem -> Erreichbare Teilnehmer anzeigen" (Online-Debugging)
  Diese Funktion ist nur für bei Verwendung der MPI-Schnittstelle möglich. Es wird nur die eine SoftPlc7 angezeigt, die über den eingestellten COM-Port mit dem PG verbunden ist. Im dargestellten Fenster können sämtliche Programm- und Datenbausteine eingesehen werden. Die auf diese Weise geladenen Bausteine sind die Basis für das Online-Debugging.
- Offline-Debugging
  Während beim Online-Debugging bei allen bausteinrelevanten Funktionen nur der reine STEP7-Code angezeigt wird, kann beim Offline-Debugging das originale STEP7-Programm mitsamt allen Bezeichnungen und Kommentaren verwendet werden.
- "Zielsystem -> Laden"
  Sämtliche Bausteine und wahlweise auch Systemdatenbausteine werden in das AG geladen. Letztere werden im laufenden Betrieb von der SoftPlc7 allerdings noch nicht ausgewertet. Im SoftPlc7-Projektordner werden die entsprechenden Dateien erzeugt.
- "Zielsystem -> Variable beobachten/steuern"
  Es erscheint ein Fenster mit einem weiteren Menü, das verschiedene Funktionen beinhaltet (s.u.).
- "Zielsystem -> Baugruppenzustand..."
  Es wird ein Dialog mit mehreren Laschen aufgeblendet. Befindet sich die SoftPlc7 im Zustand HALT oder STOP, können über die Lasche "Stacks" der BStack (Aufrufhierarchie), der LStack (Lokaldaten) und sofern vorhanden der Klammerstack eingesehen werden.
- "Zielsystem -> Betriebszustand..."
  Die Funktionen Neustart, Kaltstart, Warmstart und Stop sind ausführbar. Aktueller Betriebszustand und Schlüsselschalter-Stellung werden richtig angezeigt.
- "Zielsystem -> Urlöschen..."
  Es werden alle Bausteine im AG gelöscht, ebenfalls die Dateien im SoftPlc7-Projektordner. Die Maschine befindet sich danach im Zustand STOP.
- "Zielsystem -> Uhrzeit stellen..."
  Die unter "Baugruppenzeit" eingegebenen Daten werden als local time interpretiert und die Uhrzeit gesetzt. Zur Zeit benutzt die SoftPlc7 als Systemzeit die Windows-Zeit des Rechners, auf dem sie läuft.

## 4. Unterstützte Debug-Funktionalitäten aus dem Menü eines Baustein-Fensters

- "Zielsystem -> Laden"
  Ein einzelner Programm- oder Datenbaustein wird in das AG geladen. Im SoftPlc7-Projektordner wird eine entsprechende Datei erzeugt.
- "Test -> Beobachten"
  Während der Programmbearbeitung des im aktuellen Fenster aufgelisteten Programmbausteins werden in der SoftPlc7 die angeforderten Werte nach jedem Assembler-Befehl mitgeschrieben und an den Simatic Manager gesendet. Im Fenster können die Werte für VKE, STA, STANDARD, AKKU2, AR1, AR2, DB1, DB2, INDIREKT und STATUSWORT eingeblendet werden.
- "Test -> Betrieb"
  Hier kann zwischen Prozessbetrieb und Testbetrieb gewählt werden. Einige Funktionen sind nur im Testbetrieb zugänglich.
- "Test -> Aufrufumgebung" (nur im Testbetrieb)
  Es kann ein Kontext vorgegeben werden, der erfüllt sein muss, damit beim Beobachten Werte mitgeschrieben werden. Ein solcher Kontext ist bestimmt durch einen maximal vierstufigen Aufrufpfad oder einen maximal zweistufigen Aufrufpfad mit einer Adressangabe. Zusätzlich können Werte für die DB-Register gefordert werden.
- "Test -> Haltepunkt setzen" (nur im Testbetrieb)
  Es wird an der momentanen Cursorposition im Code ein Haltepunkt gesetzt.
- "Test -> Alle Haltepunkte löschen"
  Alle Haltepunkte werden abgelöscht.
- "Test -> Haltepunkte aktiv"
  Alle Haltepunkte werden aktiviert oder deaktiviert. Sobald in der SoftPlc7 ein STEP7-Befehl mit einem aktivierten Haltepunkt bearbeitet werden soll, wird die Maschine vor Ausführung des Befehls in den Zustand HALT versetzt.
- "Test -> Fortsetzen"
  Der Betriebszustand geht von HALT in RUN über, und die Programmbearbeitung wird bis zum nächsten Haltepunkt fortgesetzt.
- "Test -> Nächste Anweisung ausführen" (nur im Testbetrieb)
  Es wird eine einzelne Anweisung bearbeitet, danach ist die Maschine wieder im Zustand HALT.
- "Test -> Aufruf ausführen" (nur im Testbetrieb)
  Diese Funktion ist nur vor einem Bausteinaufruf wie "UC" oder "CALL" möglich. Der aufgerufene Baustein wird geladen und angezeigt. Die Maschine befindet sich im Zustand HALT und vor der ersten Anweisung im neuen Baustein.

## 5. Unterstützte Debug-Funktionalitäten aus dem Menü einer Variablen-Tabelle

- "Variable -> Trigger..."
  Für die Funktionen "Beobachten" und "Steuern" können verschiedene Zeitpunkte und Häufigkeiten festgelegt werden, zu denen die Dienste im AG ausgeführt werden sollen. Es kann als Zeitpunkt zwischen "Zyklusbeginn", "Zyklusende" und "Übergang in STOP" gewählt werden. Als Häufigkeiten sind die Optionen "einmalig" und "permanent" möglich.
- "Variable -> Beobachten"
  Die in der Tabelle angegebenen Operanden werden je nach Trigger-Bedingung im AG beobachtet und die Werte an den Simatic Manager weitergereicht.
- "Variable -> Steuern"
  Die in der Tabelle angegebenen Operanden werden je nach Trigger-Bedingung mit den Steuerwerten im AG überschrieben.
- "Variable -> Statuswerte aktualisieren"
  Die Operanden werden unabhängig von der eingestellten Trigger-Bedingung sofort und einmalig aus dem AG gelesen.
- "Variable -> Steuerwerte aktivieren"
  Die Operanden werden unabhängig von der eingestellten Trigger-Bedingung sofort und einmalig in das AG geschrieben.
- "Variable -> Operand auf 1 steuern"
  Der in der Tabelle selektierte Operand wird unabhängig von der eingestellten Trigger-Bedingung sofort und einmalig im AG auf den Wert 1 gesetzt.
- "Variable -> Operand auf 0 steuern"
  Der in der Tabelle selektierte Operand wird unabhängig von der eingestellten Trigger-Bedingung sofort und einmalig im AG auf den Wert 0 gesetzt.

## 6. Unterstützte Debug-Funktionalitäten in CFC- und SFC-Plänen

- In CFC-Plänen können ganze Teilpläne beobachtet und wieder deaktiviert werden. Randleistensprünge sind möglich, danach werden weitere Teilpläne angezeigt, die selbst auch beobachtet werden können. Zusätzlich wird das Hinzufügen oder Entfernen einzelner Anschlüsse über deren Kontextmenü unterstützt.
- Die Werte einzelner Anschlüsse können im CFC-Plan geändert werden, danach werden die korrespondierenden Operanden in der SoftPlc7 aktualisiert.
- Die Frequenz, mit der beim Debuggen von CFC-Plänen Werte zyklisch aus dem AG gelesen werden, ist über das Menü einstellbar. Hierbei ist eine Granularität von einer Sekunde vorgesehen.
- SFC-Pläne, d.h. Ablaufsteuerungen, können beobachtet werden.
- Schaltpläne können unter Verwendung der SAPI-Schnittstelle auch über XMAT dynamisiert werden.
- Der Download eines CFC-Plans ist auch bei FailSafe-fähigen CPU möglich.
- Das einmalige Steuern von Variablen im CFC-Plan wird unterstützt.
- Der Deltadownload aus einem CFC-Plan heraus kann mit eingestellter Option "Anwenderbausteine mitladen" oder auch ohne diese Option erfolgen. Per SFC erzeugte Datenbausteine werden im ersten Fall nicht gelöscht.