Beschreibung
Die Anweisung überträgt zeitgestempelte Meldungen einer IM153-2 in seinen Instanz-DB. Dort stehen die Daten für eine weitere Verarbeitung durch das Anwenderprogramm zur Verfügung.
-
IM153-2
Die IM153-2 erfasst Änderungen von Binärsignalen, versieht diese mit einem Zeitstempel und legt diese Information in Datensätzen mit maximal 20 Meldungen ab. Bei bestimmten Ereignissen gibt sie Sondermeldungen aus. Wenn ein Datensatz zum Abholen bereit ist, löst die IM153-2 einen Prozessalarm aus.
-
Aufruf im Prozessalarm-OB
"TIMESTMP" liest die Startinformation des Prozessalarm-OBs und speichert die Information, welche die Zeitstempelung betrifft, für die weitere Bearbeitung in einem Umlaufpuffer. "TIMESTMP" kann die Daten von maximal 17 Prozessalarmen speichern.
-
Aufruf im zyklischen OB:
In der zyklischen Bearbeitung liest "TIMESTMP" den abzuholenden Datensatz mithilfe der Anweisung "RD_REC" (Datensatz lesen) und speichert ihn im Meldepuffer MESSAGE. Sind mehrere Datensätze abzuholen, wird der älteste zuerst gelesen. Wenn das Bit TIMECONV am Eingang gesetzt ist, rechnet "TIMESTMP" alle Zeitstempel aus dem ISP-Format in das Format DATE_AND_TIME (DT) um.
Ist der Parameter BUFRDY = TRUE, können die Meldungen im Meldepuffer vom Anwenderprogramm weiterverarbeitet und z. B. zu einem Empfänger (B&B-Gerät, Drucker) übertragen werden. Die Anzahl der vorhandenen Meldungen wird im Parameter MSG_QTY angezeigt. Nach der Bearbeitung muss das Anwenderprogramm BUFRDY zurücksetzen, um den Meldepuffer für weitere Meldungen frei zu geben.
Der Parameter BUFNOTREAD zeigt die Anzahl der empfangenen Prozessalarme an, zu denen "TIMESTMP" noch keine Datensätze aus der IM153-2 gelesen hat. Bei BUFNOTREAD = 15 sind alle Datensätze der IM153-2 gefüllt. Die IM153-2 erkennt dann keine weiteren Signaländerungen. Weitere Datensätze, die bei einer Änderung von Binärsignalen durch die IM153-2 erzeugt werden, gehen verloren. Der Parameter MSGLOST (Meldungsverlust) wird auf "1" gesetzt.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "TIMESTMP":
|
Parameter |
Deklaration |
Datentyp |
Beschreibung |
|---|---|---|---|
|
LADDR |
Input |
INT |
Logische Adresse (Diagnoseadresse) der IM153-2 |
|
LADDR2 |
Input |
INT |
Logische Adresse (Diagnoseadresse) von Slot 2 der IM153-2 |
|
TIMECONV |
Input |
BOOL |
1=ISP-Zeitstempel in S7-DT-Format wandeln |
|
MSG_QTY |
Output |
INT |
Anzahl der gültigen Meldungen im Meldungspuffer |
|
BUFNOTREAD |
Output |
INT |
Anzahl der alarmierten, aber noch nicht gelesenen Datensätze der IM153-2 |
|
READERR |
Output |
BOOL |
1=Fehler beim Lesen von der IM153-2 |
|
READSTATUS |
Output |
INT |
Rückgabewert der Anweisung "RD_REC" |
|
BUFRDY |
InOut |
BOOL |
1=Meldungspuffer bereit |
|
MSGLOST |
InOut |
BOOL |
1=Meldungen verloren |
|
MESSAGE |
Static |
ARRAY[1..20] OF STRUCT |
Meldepuffer für max. 20 Meldungen der IM153-2 |
|
SLOT_NO |
./. |
BYTE |
Slotnummer/2=Sondermeldung |
|
CH_NO |
./. |
BYTE |
Kanalnummer/Kennung der Sondermeldung |
|
SIGNAL |
./. |
BYTE |
Signalzustand/Merkmal der Sondermeldung |
|
TIME1 |
./. |
DWORD |
Sekunden ab 1900,0 (ISP)/Jahr, Monat, Tag, Stunde (DT) |
|
TIME2 |
./. |
DWORD |
Sekundenteile (ISP)/Minute, Sekunde, Millisekunde, Wochentag (DT) |
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Hardware-Konfiguration
Sie können "TIMESTMP" nur in Konfigurationen einsetzen, die eine Uhrzeitweiterleitung und eine Zeitstempelung von Binärsignalen unterstützen. Diese sind:
-
CPUs
-
CPU 4xx mit CP443-5 zur Weiterleitung der Uhrzeittelegramme (ab 6GK7443-5DX02-0XE0), oder
-
CPU 4xx mit Weiterleitung der Uhrzeittelegramme (z. B. CPU416-2 DP ab Firmwarestand 3.0)
-
-
Dezentrale Peripherie
-
Anschaltbaugruppe IM153-2 redundanzfähig mit Uhrzeitstempelung (ab 6ES7153-2AA02 Firmwarestand V1.2.3 (Ausgabestand 10))
Oder:
IM153-2 FO redundanzfähig mit integrierter LWL-Schnittstelle (ab 6ES7153-2AB01 ab Firmwarestand V1.2.3 (Ausgabestand 9))
-
Digitaleingabe SM321 (6ES7321-7BH00-0AB0) potenzialgetrennt 16 DE, DC 24V, Prozessalarm, Diagnose
Oder:
Digitaleingabe SM321 (6ES7321-7TH00-0AB0) potenzialgetrennt 16 DE, DC 24V, NAMUR, diagnosefähig, mit Leittechnikfunktionen
Die Zeitstempelung sollten Sie nur für ausgewählte und für Ihre Anwendung wichtige Binärsignale einsetzen. Es wird empfohlen, wegen der Auslastung des PROFIBUS-DP und der IM153-2 diese Signale gegebenenfalls über mehrere IM153-2 bzw. auch über mehrere Stationen zu verteilen.
-
Software-Konfiguration
-
Aufrufende OBs
"TIMESTMP" muss mit derselben Instanz in folgenden Organisationsbausteinen (OBs) aufgerufen werden, wobei die Parameter nur im zyklischen Programm ver- und entsorgt werden dürfen:
-
OB1 (zyklisches Programm) oder alternativ ein Weckalarm-OB (OB30 bis OB38)
-
OB86 (Baugruppenträgerausfall)
-
OB100 (Anlauf)
Falls Sie andere Anlauf-OBs (OB101, OB102) verwenden, muss "TIMESTMP" auch dort aufgerufen werden.
-
OB40 oder, falls in der Hardware-Konfiguration auswählbar, auch ein anderer Prozessalarm-OB (OB41 bis OB47)
-
-
Adressierung
-
Verwenden Sie für jede IM153-2 eine eigene Instanz von "TIMESTMP". Tragen Sie am Eingang LADDR die in der Hardware-Konfiguration eingestellte logische Adresse (Diagnoseadresse) der IM153-2 ein.
-
Wenn Sie den DP-Master in der Betriebsart "S7-kompatibel" verwenden, tragen sie am Eingang LADDR2 denselben Wert wie für LADDR ein. Verwenden Sie die Betriebsart "DPV1", so tragen Sie bei LADDR2 die Diagnoseadresse von Steckplatz 2 der IM153-2 ein.
-
Wenn Sie die Adressen während des Betriebs ändern, löscht "TIMESTMP" die bisher gespeicherten Prozessalarmdaten.
-
Fehlerbehandlung
Wenn "TIMESTMP" nicht behebbare Fehler beim Lesen eines Datensatzes festgestellt hat, setzt "TIMESTMP" den Parameter READERR auf TRUE. Für eine weitere Analyse steht der Rückgabewert der Anweisung WR_USMSG im Parameter READSTATUS zur Verfügung. Da "TIMESTMP" im nächsten Zyklus gegebenenfalls einen weiteren Datensatz liest, sind READERR und READSTATUS nur für einen Zyklus gültig. Sie sollten daher im Anwenderprogramm eine entsprechende Auswertung vorsehen.
Werden Datensätze gelesen, während der DP-Master ausgefallen ist, gibt "TIMESTMP" READERR = TRUE und READSTATUS =80B2h ("Der projektierte Steckplatz ist nicht belegt.") aus.
Anlaufverhalten IM153-2
Im Anlauf/Wiederanlauf/Kaltstart gibt die IM153-2 nochmals Prozessalarme für die Datensätze ab, die vor dem Anlauf belegt waren, aber noch nicht abgeholt wurden.
In den ersten freien Datensatz trägt die IM153-2 folgende Meldungen ein:
-
Sondermeldung "Beginn Anlaufdaten"
-
Signaländerungen, die unmittelbar vor einem CPU-STOP aufgetreten sind ("kommend" oder "gehend" gemäß der parametrierten Flanke)
-
Aktueller Signalstatus für alle zeitzustempelnden Binärsignale ("kommend" oder "gehend" gemäß der parametrierten Flanke)
-
Sondermeldung "Ende Anlaufdaten"
Anlaufverhalten von "TIMESTMP"
Wird "TIMESTMP" in einem Anlauf-OB (OB100, OB101, OB102) aufgerufen, löscht "TIMESTMP" alle gespeicherten Prozessalarmdaten und setzt BUFRDY zurück. Sind noch alarmierte und nicht gelesene Datensätze bekannt, setzt "TIMESTMP" MSGLOST (Meldungsverlust) auf TRUE. Das Anwenderprogramm muss MSGLOST wieder zurücksetzen.
Verhalten von "TIMESTMP" im OB86 (Baugruppenausfall)
Wird "TIMESTMP" im OB86 aufgerufen und kommt das Ereignis von der zugehörigen IM153-2, so reagiert "TIMESTMP" wie im Anlauf. Dies ist z. B. bei Ausfall und Wiederkehr der IM153-2 und Wiederkehr des DP-Masters der Fall.
Redundanz
Bei H-Systemen mit zwei IM153-2 ist bezüglich der Zeitstempelung in folgenden Fällen Redundanz vorhanden:
-
Die Kommunikation läuft zwischen beiden IM153-2 über K-Bus.
-
Das Aufdaten der aktiven und passiven IM153-2 ist fehlerfrei abgeschlossen.
Während einer Umschaltung zwischen aktiver und passiver IM153-2 ist die Zeitstempelung unterbrochen. Mit der Sondermeldung "Umschalten bei Redundanz Anfang/Ende" wird der Unterbrechungszeitraum angezeigt.
Im Normalfall teilt die aktive der passiven IM153-2 den aktuellen Peripheriezustand mit. Wenn diese Kommunikation gestört ist, wird die Sondermeldung "Redundanz-Informationsverlust kommend" ausgegeben. Sobald zwischen aktiver und passiver IM153-2 die Kommunikation wieder möglich ist, wird die Sondermeldung "Redundanz-Informationsverlust gehend" ausgegeben. Ein nachträglicher Abgleich ist nicht möglich, d. h. ein Umschalten im Fehlerzustand der IM153-2 führt zu Meldungsverlust.
Aufbau des Meldepuffers
Der Meldepuffer enthält einen Datensatz der IM153-2. Die Interpretation des Zeitstempels hängt von der Einstellung des Parameters TIMECONV ab.
Zeitformate von "TIMESTMP"
Wenn der Eingang TIMECONV = TRUE ist, werden alle Zeitstempel im Datentyp DATE_AND_TIME (BCD-Format) gespeichert:
Die folgende Tabelle zeigt den Aufbau des Datentyps DATE_AND_TIME:
|
Bytes |
Inhalt |
Bereich |
|---|---|---|
|
0 |
Jahr |
90 … 89 Entsprechend 1990 ... 2089 |
|
1 |
Monat |
01 ... 12 |
|
2 |
Tag |
01 ... 31 |
|
3 |
Stunde |
00 ... 23 |
|
4 |
Minute |
00 ... 59 |
|
5 |
Sekunde |
00 ... 59 |
|
6 |
2 MSD (most significant decade) von ms |
00 ... 99 |
|
7 (4 MSB) |
LSD (least significant decade) von ms |
0 ... 9 |
|
7 (4 LSB) |
Wochentag |
1 ... 7 (1 = Sonntag) |
Wenn der Eingang TIMECONV = FALSE ist, werden alle Zeitstempel im ISP-Format (2 Doppelworte) gespeichert.
Die folgende Tabelle zeigt die Aufteilung der Bytes:
|
Bytes |
Inhalt |
Bereich |
|---|---|---|
|
0 … 3 |
Sekunden ab 1.1.1900 0:00:00,000 Uhr |
Entsprechend 1.1.1900 ... 6.2.2036 |
|
4 … 7 |
Sekundenbruchteile in Vielfachen von 1/232 s |
0 … <1 |
Die Zeitkonvertierung ist in dem Datumsbereich gültig, der von den Zeitformaten gemeinsam abgedeckt ist, d. h. vom 1.1.1990 bis einschließlich 6.2.2036.