Interne Datenpunkte des S7-Treibers

Für den S7-Treiber wird ein Datenpunkt für jede periphere Verbindung benötigt. Der interne Datenpunkttyp ist _S7_Conn. und die einzelnen Datenpunkte werden über _<connection name> gekennzeichnet. Der Name der Verbindung muss eindeutig im System sein. (der interne Datenpunkt wird beim Erstellen und Parametrieren von Verbindungen erstellt - siehe auch Parametrierung des S7-Treibers). Zudem gibt es drei Datenpunkttypen bei der Arbeit mit dem S7-Treiber - _S7_Config,_S7_Symbolics und _S7_AlarmParam.
Anmerkung: Die Struktur der internen S7-Datenpunkte wurde für die Version 3.19 geändert.

_S7_Conn

Die folgende Tabelle enthält die Elemente des Datenpunkttyps _S7_Conn:

Datenpunktelement Typ Beschreibung
DoGeneralQuery bool Gibt an, ob eine General-Abfrage auf dem Gerät durchgeführt werden soll.
SetInvalidBit bool Gibt an, ob das Invalid-Bit gesetzt werden soll, wenn Daten von der SPS invalid sind.
UseTSPP bool Verwendet die TSPP-Erweiterung für das Empfangen von spontanen Daten von der SPS (TRUE) oder nicht (FALSE).
DoBrowseSymbols bool Gibt an, ob das Durchsuchen (browsing) von symbolischen Adressen verwendet werden soll.
ProjectName string Gibt den Projektnamen (für das Durchsuchen von symbolischen Adressen) an.
ProgramName string Gibt den Programmnamen (für das Durchsuchen von symbolischen Adressen) an.
DrvNumber int Enthält die Treibernummer des Treibers, welcher für das Gerät verantwortlich ist. Dieses Datenpunktelement wird vom Treiber beim Start gesetzt. Es kann z.B. von CTRL-Sripts für das Senden von Befehlen an den Datenpunkt vom Typ "_DriverCommon" verwendet werden.
Active bool Das Gerät kann entweder auf aktiv (TRUE) oder auf inaktiv (FALSE) gesetzt werden. Wenn das Gerät inaktiv gesetzt wird, wird der Verbindungs-Datenpunkt jedoch nicht gelöscht und kann jederzeit neu aktiviert werden. Siehe auch "Aktiv"-Checkbox im Kapitel Parametrierung des S7-Treibers.
LastError int Enthält den letzten Fehler für jede Verbindung. Wenn die Fehlernummer positiv ist, wurde sie durch einen internen S7-Treiberfehler verursacht (die Bedeutung des Fehlers sehen Sie im LogViewer oder finden Sie in der Katalog-Datei s7.cat). Wenn die Fehlernummer negativ ist, wurde sie durch einen ACCON-AGLink-Bibliothek Fehler verursacht (die Bedeutung des Fehlers finden Sie auf der Seite Details zum S7-Treiber).
Address string

Verbindungsparameter der regulären Verbindung

Beinhaltet die Parameter
  • IPAddress
  • Rack
  • Slot
  • Timeout
  • ConnectionType
  • TSPPExtras
  • ProtocolExtras
encodiert als JSON String.
ConnState int Statusinformation für das Gerät. Es gibt vier Stati: Nicht verbunden (0), Verbunden(1), General-Abfrage(2), Nicht aktiv (3).
State.Diagnostic.Communication.FreeConnections int Freie HMI Verbindungen.
State.Diagnostic.Communication.TotalConnections int Die gesamte Anzahl an Verbindungen.
State.Diagnostic.Communication.MaxConnectionLoad int Die maximale Verbindungslast.
State.Diagnostic.ProgramExec.LastCycle time Letze Zyklusdauer
State.Diagnostic.ProgramExec.MaxCycle time Maximale Zyklusdauer
State.Diagnostic.ProgramExec.MinCycle time Minimale Zyklusdauer
State.Diagnostic.ProgramExec.MaxCycleConfig time Konfigurierte maximale Zyklusdauer
State.Diagnostic.ProgramExec.MinCycleConfig time Konfigurierte minimale Zyklusdauer
State.Diagnostic.ProgramExec.SystemVersion string Die HW-Konfig und Programm-Checksumme für den Vergleich ob Änderungen auf der SPS stattgefunden haben.
State.SentTelegrams unsigned Anzahl von gesendeten Telegrammen. Diese Information finden Sie im Info-Panel (siehe Parametrierung des S7-Treibers).
State.RcvTelegrams unsigned Anzahl von empfangenen Telegrammen. Diese Information finden Sie im Info-Panel (siehe Parametrierung des S7-Treibers).
State.RejTelegrams unsigned Anzahl von abgelehnten Telegrammen. Diese Information finden Sie im Info-Panel (siehe Parametrierung des S7-Treibers).
ReduConn.Address string

Verbindungsparameter der reundanten Verbindung.

Beinhaltet die Parameter
  • IPAddress
  • Rack
  • Slot
  • Timeout
  • ConnectionType
  • TSPPExtras
  • ProtocolExtras
encodiert als JSON String.
ReduConn.ConnState int Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "ConnState".
ReduConn.Active bool Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "Active".
ReduConn.LastError int Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "LastError".
ReduCP.Address string

Verbindungsparameter des CP-Moduls.

Beinhaltet die Parameter
  • IPAddress
  • Rack
  • Slot
  • Timeout
  • ConnectionType
  • TSPPExtras
  • ProtocolExtras
encodiert als JSON String.
ReduCP.ConnState int Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "ConnState".
ReduCP.Active bool Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "Active".
ReduCP.LastError int Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "LastError".
ReduCP.ReduConn.Address string

Verbindungsparameter der redundanten Verbindung des CP-Moduls.

Beinhaltet die Parameter
  • IPAddress
  • Rack
  • Slot
  • Timeout
  • ConnectionType
  • TSPPExtras
  • ProtocolExtras
encodiert als JSON String.
ReduCP.ReduConn.ConnState int Die Daten für die redundante Verbindung vom redundanten Gerät werden hier gespeichert. Siehe auch DPE "ConnState".
ReduCP.ReduConn.Active bool Die Daten für die redundante Verbindung vom redundanten Gerät werden hier gespeichert. Siehe auch DPE "Active".
ReduCP.ReduConn.LastError int Die Daten für die redundante Verbindung vom redundanten Gerät werden hier gespeichert. Siehe auch DPE "LastError".
ReduControl.CP.SpsTag string Adresse in der SPS, welche eine Umschaltung des Geräts verursacht (wenn der Wert 1 ist, wechselt der Treiber nicht auf die andere SPS. Wenn der Wert sich auf 0 ändert, wechselt der Treiber auf die redundante SPS).
ReduControl.CP.CmdMode int

Eigenschaften der Befehlsrichtung wenn ein redundantes Gerät existiert:

0 ... Befehl zum aktiven Gerät

1 ... Befehl zu beiden Geräten

ReduControl.CP.Switch int

Einstellung für die Gerät-Umschaltung:

0 ... Automatisch

1 ... Gerät 1 (fix)

2 ... Gerät 2 (fix)

3 ... Gerät 1, wenn Zustand auf ReduControl.CP.SpsTag = 0, und Gerät 2, wenn Zustand auf ReduControl.CP.SpsTag = 1

ReduControl.Conn.SpsTag string Adresse in der SPS, die eine Umschaltung der Verbindung verursacht.
ReduControl.Conn.CmdMode int

Eigenschaften der Befehlsrichtung wenn eine redundante Verbindung existiert:

0 ... Befehl über die aktive Verbindung

1 ... Befehl über beide Verbindungen

ReduControl.Conn.Switch int

Einstellung für die Verbindungsumschaltung:

0 ... Automatisch

1 ... Verbindung 1 (fix)

2 ... Verbindung 2 (fix)

ActiveConn int

Dieses DPE zeigt die aktive Verbindung für den Treiber:

0 ... Erstes Gerät nominale Verbindung

1 ... Erstes Gerät redundante Verbindung

256 ... redundantes Gerät, nominale Verbindung

257 ... redundantes Gerät, redundante Verbindung

opState int

Betriebszustand der SPS (0 STOP, 1 STARTING, 2 RUN, 3 UNDEFINED). Der Eintrag wird nur gelesen, wenn der Config-Eintrag ReadOpState auf "Y" gesetzt wird. Siehe Mögliche Config-Einträge des S7-Treibers.

Redundante SPS

Bei der Verwendung einer redundanten SPS (H-System) werden andere Werte durch den Treiber gesendet:

0 UNKNOWN

1 CPU STOP (Updating)

2 CPU STOP (Vollständiger Reset)

3 CPU STOP (Initialisierung)

4 CPU STOP (Beide CPUs laufen)

5 CPU START (Kaltstart)

6 CPU START (Warmstart)

7 CPU START (Wiederanlauf)

8 RUN SOLO (Nur eine SPS läuft)

9 RUN REDU (Beide SPS laufen)

10 CPU (CPU im halt)

11 CONNECTING

12 UPDATING

13 DEFECT

14 SELFTEST

15 NO POWER

Time.Value time Die aktuelle Zeit der SPS. Der Eintrag wird nur gelesen, wenn der Config-Eintrag ReadPLCTime auf "Y" gesetzt wird. Siehe Mögliche Config-Einträge des S7-Treibers.
Time.SyncTime time Setzt die Zeit in der SPS auf den hier gesetzten Wert. Wenn der Wert auf null gesetzt wird, verwendet der Treiber die aktuelle Zeit.
AlarmActive bool

TRUE = Meldungsempfang aktiv

FALSE = Meldungsempfang inaktiv

S7Stations dyn_string Auflistung der S7-Stationen (CSV-codiert inkl. zugehöriger Gerätenummer des ersten CP), für die ein _S7_AlarmParam-DP angelegt wird.

_S7_Config

Die folgende Tabelle zeigt die Elemente des Datenpunkttypes _S7_Config. Es gibt nur eine Instanz von diesem Datenpunkttyp mit dem Namen "_S7_Config". Es wird verwendet, um die Definitionen, die über das Konfigurationspanel erstellt wurden, zu speichern (siehe auch Parametrierung des S7-Treibers). Im Datenpunkt _S7_Config wird die Konfiguration von allen parametrierten SPSen gespeichert. Für das Datenpunktelement ConnectionType gibt es drei verschiedene Werte: 0 bedeutet ”PG Verbindung”, 1 bedeutet OP Verbindung", 2 bedeutet "Andere Verbindung” und 3 bedeutet ”TSPP S7 Verbindung” (dieser Wert wird automatisch verwendet, wenn die Checkbox S7 - TSPP aktiviert ist.)

Datenpunktelement Datentyp Beschreibung
AvailableS7AlarmClasses dyn_string Verfügbare S7-Alarmklassen.
AvailableS7ACPrios dyn_int Verfügbare Prioritäten der S7-Alarmklassen.
S7AlarmClass dyn_string S7 Alarmklassen (optional inkl. Priorität für eine genauere Aufteilung).
AlarmClass dyn_string Abgebildete WinCC OA Alarmklassen.
Connections.All dyn_string

Jeder Eintrag dieses Elements enthält ein <connection> <driver number> Paar, z.B.: PLC1 2

Dieses Element wird vom Treiber nur beim Start gelesen.

Connections.Add string Wird beim Hinzufügen von neuen Verbindungen während der Laufzeit verwendet. Die Syntax eines Eintrags ist wie bei Connections.All: <connection> <driver number>

_S7_Symbolics

Die folgende Tabelle zeigt die Elemente vom Datenpunkttyp _S7_Symbolics. Mit diesem Datenpunkttyp werden Informationen, die durch das Durchsuchen von symbolischen Adressen des Projektes gefunden wurden, gespeichert.

Datenpunktelement Datenttyp Beschreibung
S7Address dyn_string Adressen im S7 -Adressformat also z.B. DB1.DBW100.
SymbolicAddress dyn_string Symbolische Adresse (z.B. "Wasser_Stand")
SymbolicFormat dyn_int

Enthält die Information über den Datentyp der Adresse. Folgende Typen sind möglich:

#define AGLSYM_FORMAT_BOOL 1

#define AGLSYM_FORMAT_BYTE 2

#define AGLSYM_FORMAT_CHAR 3

#define AGLSYM_FORMAT_WORD 4

#define AGLSYM_FORMAT_INT 5

#define AGLSYM_FORMAT_DWORD 6

#define AGLSYM_FORMAT_DINT 7

#define AGLSYM_FORMAT_REAL 8

#define AGLSYM_FORMAT_DATE 9

#define AGLSYM_FORMAT_TIMEOFDAY 10

#define AGLSYM_FORMAT_TIME 11

#define AGLSYM_FORMAT_S5TIME 12

#define AGLSYM_FORMAT_COUNTER 28

#define AGLSYM_FORMAT_TIMER 29

ScreenRefresh bool Für internen Gebrauch.

_S7_AlarmParam

Die folgende Tabelle zeigt die Elemente vom Datenpunkttyp _S7_AlarmParam. In diesem Datenpunkttyp werden Informationen zur S7-Alarmen abgelegt (eindeutig pro S7-Projekt und S7-Programm). Ein Datenpunktname dieses Typs setzt sich zusammen aus dem Verbindungsnamen, dem S7-Projektnamen und dem Stationsnamen, z.B. "_S7300_Testprojekt_SIMATIC300".

Datenpunktelement Datenttyp Beschreibung
EventId dyn_int Meldenummer (eindeutige ID der Meldung)
Signalnr dyn_int Signalnummer (Sub-ID für alarm_8)
MsgName dyn_string Meldebezeichner (auslösende SPS-Variable)
MsgType dyn_int Meldungstyp (Enum für alarm, alarm_8, etc.)
DBName dyn_int Name des Datenbausteins, der die Meldung ausgelöst hat.
FBName dyn_int Funktionsbaustein des DBs
Text dyn_langString Meldetext
Info dyn_langString Infotext
AddText dyn_langString Zusatztexte (max. 9 Zusatztexte pro Meldung; CSV-codiert in string)
MsgClass dyn_int Meldeklasse
Priority dyn_int Priorität (von 0 bis 16)
AckGroup dyn_int Quittiergruppe (von 1 bis 16)
AckOpt dyn_int Definiert, ob quittiert wird oder nicht (Quittierungsoption).
Protocol dyn_int Definiert, ob die Meldung protokolliert wird.
DispGroup dyn_int Anzeigeklasse. Filtermöglichkeit im GUI
SCANOperand dyn_string Symbolbezogener Alarm Operand
SCANInterval dyn_int SCAN-Intervall in Millisekunden
SCANAddValue dyn_string String-Adressen der SCAN-Begleitwerte (CSV-codiert)
S7Symbol dyn_string Symbolischer Name
S7Name dyn_string DB- bzw. FB-Bezeichner