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.
_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). |
DevNr | unsigned | Nummer des parametrierten Geräts (siehe auch Parametrierung des S7-Treibers). |
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.DevNr | unsigned | Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "DrvNr". |
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.DevNr | unsigned | Die Daten für die redundante Verbindung werden hier gespeichert. Siehe auch DPE "DevNr". |
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.DevNr | unsigned | Die Daten für die redundante Verbindung vom redundanten Gerät werden hier gespeichert. Siehe auch DPE "DevNr". |
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 |
---|---|---|
DoConfigAcconAGLink | bool | Obsolet! |
IPAddress | dyn_string | Die IP-Adresse (oder der Host-Name) von der CPU. |
Rack | dyn_uint | Die Racknummer der CPU-Einheit der SPS. Diese ist bei unterschiedlichen SPS-Baugruppen z.B. S7-300 und S7-400 zu beachten. |
Slot | dyn_uint | Die Slotnummer der CPU-Einheit der SPS. Diese ist bei unterschiedlichen SPS-Baugruppen z.B. S7-300 und S7-400 zu beachten. |
Timeout | dyn_uint | Timeout für die Verbindung. |
ConnectionType | dyn_uint |
Gibt den Typ der Verbindung an (PG, OP, Andere, TSPP, MPI). Bei symbolischen Verbindungen bekommt der Wert einen Offset von 1024. |
TSPPExtras | dyn_string |
Enhält die zusätzlichen TSPP-Verbindungsparameter. Hinweis: Im Panel werden die Parameter CPId und PCId Hex angegeben, auf dem internen Datenpunktelement werden Dezimalwerte abgebildet. |
ProtocolExtras | dyn_string | Enthält zusätzliche MPI/S7- Verbindungsparameter. |
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 |