Beim symbolischen Zugriff sprechen Sie die Daten einer S7-Steuerung über die Namen an, die im TIA-Projekt vergeben sind, zum Beispiel Datenbaustein_1.RealValue. Sie brauchen also keine absoluten Adressen wie DB1.DBD20, und eine Verschiebung im Datenbaustein führt nicht mehr dazu, dass die Visualisierung den falschen Wert liest.
Abgrenzung: Der klassische Weg über Put/Get bleibt unverändert bestehen und ist für ältere Steuerungen weiterhin der richtige. Wie Sie eine S7-Datenquelle grundsätzlich anlegen, steht unter S7 Datenquellen anlegen.
Voraussetzungen
- Eine S7-1500 ab Firmware 2.9 oder eine S7-1200 ab Firmware 4.5.
- Das TIA-Projekt muss mindestens mit TIA V17 erstellt sein. Stammt das Projekt oder ein Teil davon aus einer älteren TIA-Version, übersetzen Sie es einmal vollständig neu, also Hardware und Software.
- Die Verbindung läuft ausschließlich über TCP/IP. MPI und PPI unterstützen den symbolischen Zugriff nicht.
Die beiden Varianten
Im Feld Typ der Datenquelle stehen zwei symbolische Einträge zur Auswahl. Beide greifen symbolisch zu, sie unterscheiden sich in der Absicherung der Verbindung:
- Symbolic_TLS13 – gesicherte Kommunikation über TLS 1.3, für Steuerungen der neueren Generation. Die Anmeldung erfolgt mit dem Schutz-Passwort der Steuerung, zusätzlich lässt sich ein Benutzer angeben. Der Benutzername setzt allerdings eine neuere Firmware voraus: 3.1 bei der S7-1500 beziehungsweise 4.7 bei der S7-1200.
- Symbolic_Legacy – der klassische Zugriff ohne verschlüsselte Verbindung, für ältere Steuerungen. Hier gibt es nur das Passwort, keinen Benutzer.
Wählen Sie im Zweifel Symbolic_TLS13. Nur wenn die Steuerung die gesicherte Kommunikation nicht beherrscht, ist Symbolic_Legacy die richtige Wahl.
Datenquelle anlegen
Legen Sie eine Datenquelle vom Typ S7 an und wählen Sie unter Typ eine der beiden symbolischen Varianten. Die Felder Slot und Rack entfallen dabei, der Verbindungstyp steht fest auf TCP/IP. Anzugeben sind:
- IP-Adresse der Steuerung,
- Benutzer (nur bei Symbolic_TLS13) und Passwort,
- Lesetimeout, also wie lange QuickHMI auf eine Antwort wartet,
- Leseoptimierung (siehe unten),
- SPS-Alarmsystem, wenn QuickHMI die Alarme der Steuerung übernehmen soll.
Symbole browsen und Variablen übernehmen
Die Adressen tippen Sie nicht ab: QuickHMI liest die Symbolik aus der Steuerung und Sie übernehmen daraus die gewünschten Variablen.
Das Verbinden dauert, nicht das Browsen. Beim Verbindungsaufbau lädt QuickHMI das komplette SPS-Projekt. Bei großen Projekten kann das mehrere Minuten dauern; der Fortschritt wird in Prozent angezeigt, anschließend werden die Symbole an den Editor übertragen. Das gilt einmalig je Verbindung, nicht bei jedem Blick in den Baum.
Im Symbolbaum gilt:
- Übernehmen lassen sich nur einzelne Variablen. Knoten mit Unterelementen, also Strukturen, Arrays und UDTs, dienen der Gliederung und tragen selbst keine Adresse.
- Zu jedem Symbol zeigt der Editor, ob es lesbar oder schreibbar ist und ob es sich um ein Array oder eine Struktur handelt.
- Symbole mit einem Datentyp, den QuickHMI nicht abbilden kann, bleiben sichtbar, lassen sich aber nicht übernehmen.
Die Adresse einer übernommenen Variablen ist ihr vollständiger Name, zum Beispiel Datenbaustein_1.RealValue. Sie können ihn im Variablen-Dialog auch von Hand eintragen.
Leseoptimierung
Jeder Lesezugriff kostet die Steuerung Rechenzeit. Über die Leseoptimierung steuern Sie, wie stark QuickHMI die Zugriffe bündelt:
- NONE – keine Optimierung, jede Variable wird einzeln gelesen. Stabil und nachvollziehbar, aber langsam. Sinnvoll zur Fehlersuche.
- OBJECT_BASED – bündelt Zugriffe innerhalb eines Wurzelobjekts, also etwa innerhalb desselben Datenbausteins, derselben Struktur oder desselben Arrays.
- CROSS_OBJECT – bündelt zusätzlich über mehrere Wurzelobjekte hinweg, also zum Beispiel über mehrere Datenbausteine. Meist die bessere Wahl, wenn die Variablen verteilt liegen.
- SMART – QuickHMI wählt den Ausführungsplan dynamisch. Meist die beste Leistung ohne weiteres Zutun. Nur mit Symbolic_TLS13 verfügbar und dort bei neu angelegten Datenquellen voreingestellt.
Die Einstellung wirkt ausschließlich auf das Lesen. Schreibvorgänge sind davon nicht betroffen.
SPS-Alarmsystem
Ist die Option SPS-Alarmsystem aktiv, übernimmt QuickHMI die Alarme der Steuerung und stellt sie im Alarmsystem der Visualisierung dar, samt der von der Steuerung gemeldeten Detailangaben.
Datentypen
Die Datentypen der Steuerung werden wie folgt abgebildet:
| S7-Datentyp | QuickHMI-Datentyp |
|---|---|
| Bool, BBool | Boolean |
| Byte, USInt | UByte |
| SInt | SByte |
| Char, WChar | Char |
| String | String |
| WString | WString |
| Int | Short |
| UInt, Word | UShort |
| DInt | Int |
| UDInt, DWord | UInt |
| LInt | Long |
| ULInt, LWord | ULong |
| Real | Float |
| LReal | Double |
| Time | Time |
| LTime | LTime |
| TimeOfDay | TimeOfDay |
| LTimeOfDay | LTimeOfDay |
| Date | Date |
| DateAndTime | Date_And_Time |
| LDateAndTime | LDate_And_Time |
| S5Time | S5TIME |
Strukturen, Arrays und UDTs als Ganzes lassen sich nicht übernehmen, wohl aber die einzelnen Elemente darin.
Lizenz
Der symbolische Zugriff ist in allen Editionen enthalten.ab 14.15.2 In früheren Versionen ließ er sich in einigen Editionen versehentlich nicht anlegen; das ist behoben.
Fehlersuche
- Die Verbindung kommt nicht zustande: Prüfen Sie Firmware und TIA-Version anhand der Voraussetzungen oben, dann Passwort und, bei Symbolic_TLS13, den Benutzer. Ist der Benutzername gesetzt, die Firmware aber älter als 3.1 beziehungsweise 4.7, lassen Sie das Feld leer.
- Es dauert sehr lange: Das ist beim ersten Verbinden normal, weil das gesamte SPS-Projekt geladen wird. Der Fortschritt wird angezeigt.
- Eine Variable liefert keinen Wert: QuickHMI liest nur Variablen, die im Projekt verwendet werden. Ob eine Variable dazugehört, zeigt die Spalte Wird gelesen.
- Zur Eingrenzung stellen Sie die Leseoptimierung vorübergehend auf NONE. Dann wird jede Variable einzeln gelesen, und Fehler lassen sich einer bestimmten Variablen zuordnen.
