Für die Meldung von Fehlern verwenden Sie bitte den folgenden E-Mail-Link:
openSAFETY-bugreport@ixxat.com
.
Um eine schnelle Fehleranalyse und Behebung zu ermöglichen, senden Sie uns bitte neben einer detailierten Fehlerbeschreibung auch Informationen über die von Ihnen verwendete Version der openSAFETY Software, über Ihre Entwicklungsumgebung sowie wenn möglich über die Datei und die Code-Zeile in der sich der Fehler befindet.
Liste der bekannten Fehler:
| Nr. | Betrifft openSAFETY Version | Fehlerbeschreibung | Status |
| 1 | V1.1.1.0 | Wiederanlauf nach SPDO Synchronisationsfehler Ausführliche Beschreibung und Lösung |
Eine Korrektur des |
| 2 | V1.1.1.0 | Zu kleiner Receive Buffer beim Empfang von Slim SSDOs Ausführliche Beschreibung und Lösung |
Eine Korrektur des |
1. Wiederanlauf nach SPDO Synchronisationsfehler
Beschreibung:
Falls der openSAFETY Stack der Applikation einen SPDO Synchronisationsfehler (z.B. 0x2822 - SPDO_k_ERR_SCT_TIMER: SPDO_ConsSm():) mittels SAPL_SERR_SignalErrorClbk() meldet, werden die Daten dieser SPDO auf die Defaultwerte (Fail Safe Werte) gesetzt.
- Falls dann die Applikation nicht den sicheren Zustand dauerhaft sicherstellt und
- die nicht sichere Schicht selbstständig gültige und immer diesselben Zeitsynchronisationsantworten (Data with Time Response Frame) (z.B. immer dasselbe letzte openSAFETY Frame nach Unterbrechen der nicht sicheren Kommunikation) sendet und
- die Applikation die folgenden Zeitsynchronisationsantworten mittels SPDO_ProcessRxSpdo() verarbeitet und
- die Applikation weiterhin die Zeitsynchronistation mittels SPDO_buildTxSPDO() anstößt,
so werden der Applikation nach einem Überlauf des CT für kurze Zeit gültige Daten übergeben, bis wieder erneut ein Zeitsynchronisationsfehler gemeldet wird.
Lösung:
Implementieren einer Wiederanlaufsperre auf Applikationsebene, d.h. nach einem Synchronisationsfehler verbleibt die Applikation im sicheren Zustand oder Anpassen des openSAFETY Stacks (SPDO Unit).
2. Zu kleiner Receive Buffer beim Empfang von Slim SSDOs
Beschreibung:
Im Falle des Empfangs eines Slim SSDO Powerlink Safety Frames, kann der Fall eintreten,
dass die Empfangsdaten, neben dem geplanten Receive Buffer (s_rxBuf in SSCprocess.c) auch in den Transmitbuffer (s_txBuf in SSCprocess.c) geschrieben werden, da bei bestimmten, von der Spezifikation abweichenden, Konfigurationen, der Receive Buffer für Slim SSDOs zu klein ist.
Kein Fehler tritt unter folgender Standardkonfiguration auf:
- auf dem SN ist das Define EPLS_cfg_MAX_PYLD_LEN auf den Wert 8 festgelegt, sowie
- auf dem SCM ist das Define EPLS_cfg_MAX_PYLD_LEN auf den Wert 12 festgelegt
Für andere Zielsysteme, insbesondere Konfigurationen welche von den vorgegebenen Standard Konfigurationen abweichen, und im Besonderen eine hohe Differenz des Defines EPLS_cfg_MAX_PYLD_LEN zwischen dem Wert für den SN sowie dem Wert für den SCM aufweisen, kann jedoch ein Fehlerverhalten nicht ausgeschlossen werden.
Lösung:
Verwenden der standardmäßig vorgegebenen Konfiguration von EPLS_cfg_MAX_PYLD_LEN,sowohl auf dem SN als auch auf dem SCM.
