LGF_ActDeactDevice (FB / V1.0.0)

Übersicht

Autor: Siemens Industry Support

Kurzbeschreibung

LGF_ActDeactDevice implementiert eine kompakte State Maschine zur Aktivierung und Überwachung bzw. Deaktivierung von dezentralen Geräten.
Das Modul überwacht auch die Geräteverbindung und den Fehlerzustand nach der Aktivierung.
Es funktioniert für PN (S7-1200 / S7-1500) und DP (S7-1500) Geräte.

Baustein Schnittstelle

LGF_ActDeactDevice (FB)
Bool  enable valid  Bool
    
Bool  activate busy  Bool
    
Bool  deactivate error  Bool
    
HW_DEVICE  hwId status  Word
    
LGF_typeActDeactDeviceParameter  parameter activating  Bool
    
   isActivated  Bool
    
   deactivating  Bool
    
   isDeactivated  Bool
    
   deviceStateOK  Bool
    
   diagnostics  LGF_typeDiagnostics
    
   

Input Parameter

BezeichnerDatentyp Default Wert Beschreibung
enableBool FALSE TRUE: Aktiviert die Funktionalität des FB
activateBool FALSE Steigende Flanke: Aktivieren des Gerätes angegeben `hwId`
deactivateBool FALSE Steigende Flanke: Deaktivieren des Gerätes angegeben `hwId`
hwIdHW_DEVICE --- Hardware-ID des Geräts, das aktiviert/deaktiviert werden soll (`Device~PnIf~IODevice`)
parameterLGF_typeActDeactDeviceParameter --- Parameterdatensatz für die Funktion `LGF_ActDeactDevice`

Output Parameter

BezeichnerDatentyp Beschreibung
validBool TRUE: Ausgabewerte am FB gültig
busyBool TRUE: FB ist aktiv und neue Ausgabewerte können erwartet werden.
errorBool FALSE: Kein Fehler / TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord 16#0000-16#7FFF: Status des FB / 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)
activatingBool TRUE: Aktivierung des Geräts aktiv
isActivatedBool TRUE: Gerät aktiviert
deactivatingBool TRUE: Deaktivierung des Gerätes aktiv
isDeactivatedBool TRUE: Gerät deaktiviert
deviceStateOKBool TRUE: Gerät ist aktiviert und mit dem IO-System verbunden FALSE: Gerät ist defekt oder nicht verbunden, abhängig von `isActivated`
diagnosticsLGF_typeDiagnostics Diagnosestruktur zur Speicherung und Übertragung von Diagnoseinformationen von Blöcken über die Schnittstelle.

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#7000STATUS_NO_CALL
Kein Auftrag wird gerade bearbeitet
16#7001STATUS_FIRST_CALL
Erster Aufruf nach eingehendem neuem Auftrag (steigende Flanke 'Freigabe')
16#7002STATUS_SUBSEQUENT_CALL
Folgeanruf bei aktiver Bearbeitung ohne weitere Angaben
16#8600ERR_UNDEFINED_STATE
Fehler: Aufgrund eines undefinierten Zustands im Zustandsautomaten
16#8601ERR_LOG2GEO
Fehler: Log2Geo, möglicherweise ist die HW ID für das Gerät falsch, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8601ERR_GEO2LOG
Fehler: Geo2Log, möglicherweise ist die HW-ID für das Gerät falsch, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8640ERR_DEVICE_DEACTIVATING
Fehler: Deaktivierung `D_ACT_DP` des Geräts, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8641ERR_DEVICE_DEACTIVATING_TIME_OUT
Fehler: Deaktivierung des Gerätes - Watchdog-Timer abgelaufen
16#8650ERR_READ_ACTIVATION_STATE_WHILE_DEACTIVATED
Fehler: Deaktivierungsstatus (D_ACT_DP) des Geräts ist falsch, gewünscht ist `16#0000` oder `16#0002`, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8660ERR_DEVICE_ACTIVATING
Fehler: Aktivierung `D_ACT_DP` des Geräts, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8661ERR_DEVICE_ACTIVATING_TIME_OUT
Fehler: Aktivierung des Geräts - Watchdog-Timer abgelaufen. Kann eine unterbrochene Geräteverbindung sein
16#8662ERR_READ_DEVICES_STATES_DURING_ACTIVATION
Fehler: Read Device States (DeviceStates) während der aktivierung des Gerätes, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8670ERR_READ_DEVICES_STATES_WHILE_ACTIVE
Fehler: Read Device States (DeviceStates) während das Gerät aktiv ist, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8671ERR_DEVICE_STATE_WHILE_ACTIVE
Fehler: Gerät meldet vorliegenden Fehler und ist unerreichbar, fehlerhaftes Gerät oder IO-System
16#8672ERR_READ_ACTIVATION_STATE_WHILE_ACTIVE
Fehler: Aktivierungsstatus (D_ACT_DP) des Geräts ist falsch, gewünscht ist `16#0000` oder `16#0001`, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8690ERR_DISABLING_DEACT_DEVICE
Fehler: Deaktivierung `D_ACT_DP` des Geräts führt zu einem Fehler bei der Deaktivierung, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8691ERR_DISABLING_WATCHDOG
Fehler: Watchdog-Timer beim Deaktivieren abgelaufen

Benutzer definierte Datentypen

LGF_typeActDeactDeviceParameter (UDT / V1.0.0)

Dieser UDT gehört zum Modul LGF_ActDeactDevice und listet alle möglichen Parameter zur Konfiguration des Verhaltens auf.

Bezeichner Datentyp Default Wert Beschreibung
timeOutActDeact Time T#2500ms Die Zeit für die Überwachung der Befehle `activate` und `deactivate` sollte größer sein als die in der Hardwarekonfiguration der SPS im Abschnitt `Startup` eingestellte `Parametrierungszeit`.
timeOutStateMonitoring Time T#100ms Zeit zur Überwachung des Gerätezustandes bei aktiviertem Gerät
Nach Ablauf der Zeit liegt ein Fehler vor, solange der Zustand fehlerhaft ist.
enableAndDeactivate Bool TRUE TRUE: Deaktivierung des Geräts während des Starts / der Aktivierung (vor `enableAndActive`)
FALSE: Beibehaltung des aktuellen Zustands oder `enableAndActivate`
enableAndActivate Bool FALSE TRUE: Freigabe / Aktivierung des Geräts während des Starts / der Freigabe
FALSE: Beibehaltung des aktuellen Zustands oder `enableAndDeactivate`
disableAndDeactivate Bool TRUE TRUE: Gerät beim Ausschalten des Moduls deaktivieren/deaktivieren
FALSE: aktuellen Zustand beibehalten

LGF_typeDiagnostics (UDT / V1.0.0)

Diagnosestruktur zur Speicherung und Übertragung von Diagnoseinformationen von Blöcken über die Schnittstelle.

Bezeichner Datentyp Default Wert Beschreibung
status Word 16#0000 Status des Bausteins oder Fehleridentifikation beim Auftreten des Fehlers
subfunctionStatus Word 16#0000 Status oder Rückgabewert von aufgerufenen FB's, FC's und Systembausteinen
stateNumber DInt 0 Zustand in der Zustandsmaschine des Blocks, in dem der Fehler aufgetreten ist

Funktionsbeschreibung

Das Modul stellt den Ablauf zum Ablauf zum Aktivieren und Deaktivieren von dezentralen IO-Devices im Profinet (PN, S7-1500 & S7-1200) sowie im Profibus (DP, S7-1500) Netzwerk zur Verfügung.

Das Aktivieren des Gerätes (definiert an hwId) wird durch eine steigende Flanke an activate eingeleitet, nach vollständiger Aktivierung wir dieses am Ausgang isActivated und deviceStateOK angezeigt. Danach wird am Ausgang deviceStateOK der Verbindungsstatus angezeigt.
Die Verbindung wird überwacht und bei einem Ausfall dieser von mehr als der eingestellten Überwachungszeit timeOutStateMonitoring am Ausgang und als Fehler gemeldet. Nach erfolgreicher Wiederherstellung der Verbindung durch das System wird ebenfalls die konfigurierte Zeit gewartet bis der Fehler zurückgesetzt wird zum Sicherstellen der Stabilität.


Hinweis
Der Verbindungsstatus des Dezentralen Gerätes kann auch in der TIA Portal Projekt Navigation in der PLC, welcher der Controller ist, unter dem Punkt Dezentrale Peripherie angezeigt werden, wenn sie mit dem Engineering System online sind.

Das Deaktivieren des Gerätes (definiert an hwId) wird durch eine steigende Flanke an deactivate eingeleitet, nach vollständiger Aktivierung wir dieses am Ausgang isDeactivated angezeigt.

Es ist möglich die Zustände für das Ein- sowie Ausschalten zu definieren, sowie die Überwachungszeiten zum Aktivieren und Deaktivieren sowie der Verbindungsüberwachung.

Alle Fehler werden automatisch zurück gesetzt sobald der fehlerhafte Zustand behoben ist.
Die Ausnahme hierzu stellen Fehler dar, welche nur durch einen Eingriff in die Software behoben werden können, wie zum Beispiel eine falsche oder nicht vorhandene Hardware ID eines nicht vorhanden dezentralen IO Devices.


Hinweis
Der Parameter timeOutActDeact zur Überwachung der Aktivierungs- und Deaktivierungssequenz sollte immer größer eingestellt werden als der Parametrierte Wert in der Gerätekonfiguration / Anlauf / Parametrierungszeit.

Parametrierung PLC

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Simatic Systems Support
06.04.2023First released version