Das Steuermodul wird über den Eingang i_xEnable eingeschaltet. Es gibt an, dass es über den Ausgang q_xActive eingeschaltet wird. Während der Initialisierung wird eine Reihe von Zeigerprüfungen durchgeführt. Wird hier ein Fehler festgestellt, meldet die POU kein q_xActive, sondern geht in einen Ausnahmezustand. Nachdem die Ursache der Ausnahme behoben wurde, muss die POU neu initialisiert werden (aus- und wieder einschalten). Wenn der ModuleController nach der Initialisierung eine Ausnahme am Ausgang q_etDiag angibt, kann dies über den Eingang i_xDiagQuit quittiert werden. Während der Initialisierungsphase auftretende Fehler können nicht quittiert werden. Die entsprechende Ausnahmemeldung wird mit i_udiModuleId und i_sModulename versehen und in die iq_stExceptionList eingetragen. Die Ausgangsvariablen q_etDiag, q_etDiagExt und q_sMsg werden im Ausnahmefall ebenfalls mit Ausnahmenummer und Ausnahmetext versehen. In allen anderen Fällen verweisen diese Variablen auf den internen Zustand des ModuleController.
Über die Eingangsvariable i_pstSubModulesItf kann der ModuleController Befehle an die Submodule senden. Während der Initialisierungsphase wird zunächst anhand der Größe der gesamten Struktur i_udiSizeOfSubModulesInterface und der Anzahl der einzelnen Elemente vom Typ i_udiNumberOfSubModules ermittelt, ob die genannte Anzahl nachvollziehbar ist.
Über die Eingangsvariable i_pstListofCmdTables wird dem ModuleController die Liste von Befehlstabellen übergeben. Während der Initialisierungsphase wird über die Variablen i_udiSizeOfListOfCmdTables und i_udiNumberOfCmdTables ein Plausibilitätscheck vorgenommen. Der ModulController versucht, typische Fehler, die beim Einfügen eines Moduls gemacht werden können, zu erkennen. Er prüft beispielsweise, ob das Modul aufgerufen wird. Wird nun am Eingang iq_diCmd ein Befehl an den ModuleController gesendet, überprüft dieser, ob der Befehl in der Liste enthalten ist. Ist der Befehl in der Liste enthalten, wird die entsprechend zugehörige Befehlstabelle abgearbeitet. Der Anwender sieht am Ausgang, dass ein Befehl verarbeitet wird, wenn q_xCmdActive auf TRUE und q_xCmdDone auf FALSE springt. Der ModuleController gibt über q_diCmdActive an, dass der Befehl aktiv ist. Der derzeit aktive Schritt wird über q_diActiveStep angegeben. q_udiActiveSubModule zeigt an, welches Submodul derzeit einen Befehl empfängt. Die Adresse der aktuell zu verarbeitenden Tabelle oder der zuletzt verarbeiteten Tabelle steht in der Variablen q_pstActCMDTable. Die Anzahl der Schritte innerhalb von q_pstActCmdTable ist in q_diNumberOfCMDSteps hinterlegt. Wenn die Befehlstabelle erfolgreich verarbeitet wurde, wird die Eingangsvariable iq_diCmd auf 0 zurückgesetzt. Wird der Befehl nicht gefunden, meldet der ModuleController eine Ausnahme und gibt den Befehl negiert zurück. Der Befehl wird auch dann negativ zurückgeliefert, wenn ein untergelagertes Modul den gesendeten Befehl nicht ausführen konnte und selbst einen negativen Befehl gesendet hat. Dieser Mechanismus dient als Abbruchkriterium des Befehls. Wenn der erkannte Fehler quittiert wurde, wird der Befehl auf 0 zurückgesetzt. Ist zu dem Befehl auch in iq_diStartStep ein Wert enthalten, beginnt die Befehlstabelle an diesem Schritt und startet nicht von vorn.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xEnable |
BOOL |
Eine steigende Flanke FALSE -> TRUE aktiviert die POU, eine fallende Flanke TRUE -> FALSE deaktiviert sie. Wenn die POU abgeschaltet ist, führt sie keine Aktionen aus. |
i_xDiagQuit |
BOOL |
Eine steigende Flanke FALSE -> TRUE quittiert anstehende Ausnahmen der POU. Ausnahmen, die während der Initialisierung auftreten, können nur durch eine Deaktivierung der POU quittiert werden. |
i_udiModuleId |
UDINT |
Die Nummer des Moduls gemäß ihrem Sitz im Maschinenbaum. |
i_sModuleName |
STRING[80] |
Der Name des Moduls. |
i_pstSubModulesItf |
POINTER TO ST_StandardModuleInterface |
Die Adresse des Arrays, in dem die Standardschnittstellen der Submodule verwaltet werden. Dem Equipmentmodul untergeordnet. |
i_udiSizeOfSubModulesItf |
UDINT |
Die Größe des Arrays am Eingang i_pstSubModulesItf. |
i_udiNumberOfSubModules |
UDINT |
Die Anzahl der Elemente des Arrays am Eingang i_pstSubModulesItf. |
i_pstListOfCmdTables |
POINTER TO ST_CmdTable |
Die Adresse des Arrays, in dem die Befehlstabellen des Equipmentmoduls verwaltet werden. |
i_udiSizeOfListOfCmdTables |
UDINT |
Die Größe des Arrays am Eingang i_pstListOfCmdTables. |
i_udiNumberOfCmdTables |
UDINT |
Die Anzahl der Elemente des Arrays am Eingang i_pstListOfCmdTables. |
i_pudiSubModuleGroups |
POINTER TO UDINT |
Die Adresse des Arrays, in dem die Gruppen von Submodulen des Equipmentmoduls verwaltet werden. |
i_udiSizeOfSubModuleGroups |
UDINT |
Die Größe des Arrays am Eingang i_pudiSubModuleGroups. |
i_udiNumberOfGroups |
UDINT |
Die Anzahl der Elemente des Arrays am Eingang i_pudiSubModuleGroups. |
i_udiNumberOfGroupMembers |
UDINT |
Maximale Anzahl von Elementen für Module des Arrays, das eine Gruppe verwaltet. |
i_udiReactionOffset |
UDINT |
Offset für die Reaktion von ausgelösten Fehlern. Tauschen mit iq_stExt.udiReactionOffset oder in SR_MainMachine mit stMachineInterface.iq_stExt.udiReactionOffset. |
i_xCancelTable |
BOOL |
Ermöglicht es, eine laufende Tabelle abzubrechen. Wenn der Eingang TRUE ist, stoppt der ModulController sofort die Abarbeitung der Tabelle. Er schickt keine neuen Befehle an Submodule. Bereits an Submodule gesendete Befehle werden aber weiterbearbeitet. Der ModuleController meldet den angewendeten Befehl als fehlgeschlagen (in iq_diCmd), indem er ihn auf -iq_diCmd setzt. In diesem Fall wird keine Diagnosemeldung in die Fehlerliste eingetragen. Wenn ein neuer Befehl (iq_diCmd) oder ein StartStep (iq_diStartStep) empfangen wird, während der Eingang TRUE ist, wird der Befehl abgelehnt. Setzen Sie den Eingang sofort auf FALSE zurück, nachdem die Tabelle abgebrochen wurde. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xActive |
BOOL |
TRUE: Die POU ist eingeschaltet und muss weiter ausgeführt werden. FALSE: Die POU ist abgeschaltet. |
q_xReady |
BOOL |
TRUE: Die POU ist betriebsbereit und nimmt Benutzerbefehle entgegen. FALSE: Die POU ist nicht bereit, Anwenderbefehle entgegenzunehmen. |
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Fehlermeldung. |
|
q_etDiagExt |
POU-spezifischer Ausgang des Diagnosegeräts. q_etDiag = ET_Diag.Ok -> Statusmeldung q_etDiag <> ET_Diag.Ok -> Fehlermeldung |
|
q_sMsg |
STRING[80] |
Durch ein Ereignis getriggerte Meldung, die den Diagnosezustand konkretisiert. |
q_xCmdActive |
BOOL |
TRUE: Das Modul führt einen Befehl aus. |
q_xCmdDone |
BOOL |
TRUE: Das Modul hat den Befehl erfolgreich ausgeführt. |
q_diActiveStep |
DINT |
Der aktive Schritt der Befehlstabelle. |
q_diCmdActive |
DINT |
Die Nummer des Befehls, der gerade ausgeführt wird oder zuletzt ausgeführt wurde. |
q_udiActiveSubModule |
UDINT |
Die Nummer des ersten aktiven Submoduls, das diesem Equipmentmodul untergeordnet ist. Die Nummerierung beginnt bei 1 und reicht bis zur Anzahl der Submodule, die diesem Equipmentmodul untergeordnet sind. Die Nummer stimmt nicht mit der Modul-ID des Submoduls überein. |
q_xWaitForStartStep |
BOOL |
Es wird auf das Startsignal gewartet. |
Ein-/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_diStartStep |
DINT |
Der Schritt, ab dem die Befehlstabelle abgearbeitet werden soll. |
iq_diCmd |
DINT |
Übergabe der Befehle an das Modul. |
iq_stExceptionList |
Die globale Ausnahmeliste. |
|
iq_stLogDataList |
Die globale Loggingliste. |
q_etDiag |
q_etDiagExt |
Aufzählungswert |
Beschreibung |
---|---|---|---|
OK |
DeactivatingSubModules |
38 |
Die Submodule werden deaktiviert. |
OK |
Disabled |
22 |
Diagnosemeldung ist deaktiviert. |
OK |
ExecuteStep |
40 |
Schritt wird ausgeführt. |
OK |
Initializing |
37 |
Initialisierung |
OK |
WaitAtNegativeStep |
41 |
Warten an einem negativen Schritt. |
OK |
WaitCmdsDone |
43 |
Warten, bis Befehle verarbeitet sind. |
OK |
WaitForCmd |
39 |
Warten auf einen Befehl. |
ExecutionAborted |
CmdImpossibleState |
142 |
Befehl ist in diesem Zustand nicht möglich. |
ExecutionAborted |
CmdTimeout |
108 |
Die Verarbeitung eines Befehls erfolgte nicht in der definierten Zeit. |
ExecutionAborted |
CmdUnknown |
57 |
Nicht bestimmbarer Befehl. |
ExecutionAborted |
MissingModuleCall |
94 |
Ein Modul kann nicht aufgerufen werden. |
InputParameterInvalid |
CmdOfListOfCmdTablesDuplicate |
101 |
Ein Befehl der Befehlstabelle ist doppelt. |
InputParameterInvalid |
CmdOfListOfCmdTablesZero |
100 |
Ein Befehl der Befehlstabelle ist leer/null. |
InputParameterInvalid |
CmdTableDublicatePointer |
102 |
Ein Zeiger auf eine Befehlstabelle ist doppelt. |
InputParameterInvalid |
CmdTableNoLastStep |
107 |
Die Befehlstabelle hat keinen Abschlussschritt/letzten Schritt. |
InputParameterInvalid |
GroupNumberInvalid |
109 |
Die Nummer einer Gruppe ist ungültig. |
InputParameterInvalid |
ListOfCmdTablesInvalid |
95 |
Die Liste der Befehlstabellen ist ungültig. |
InputParameterInvalid |
ModuleIdInvalid |
67 |
Die ID des Moduls ist ungültig. |
InputParameterInvalid |
NumberOfCmdStepsRange |
98 |
Die Anzahl der Schritte eines Befehls ist außerhalb des gültigen Bereichs. |
InputParameterInvalid |
NumberOfCmdTablesRange |
34 |
Die Anzahl der Befehlstabellen ist außerhalb des gültigen Bereichs. |
InputParameterInvalid |
NumberOfSubModulesRange |
66 |
Die Anzahl der Submodule ist außerhalb des festgelegten Bereichs. |
InputParameterInvalid |
PointerCmdTableInvalid |
36 |
Der Zeiger auf CmdTable ist ungültig. |
InputParameterInvalid |
PointerListOfCmdTablesInvalid |
33 |
Der Zeiger auf ListOfCmdTables ist ungültig. |
InputParameterInvalid |
PointerSubModuleGroupsInvalid |
104 |
Der Zeiger auf SubmoduleGroups ist ungültig. |
InputParameterInvalid |
PointerSubModulesItfInvalid |
97 |
Der Zeiger SubmodulesItf ist ungültig. |
InputParameterInvalid |
ReactionOffsetRange |
42 |
ReactionOffset ist außerhalb des gültigen Bereichs. |
InputParameterInvalid |
SizeOfListOfCmdTablesInvalid |
99 |
Die Größe der ListOfCmdTables ist ungültig. |
InputParameterInvalid |
SizeOfSubModuleGroupsInvalid |
105 |
Die Größe der SubmoduleGroups ist ungültig. |
InputParameterInvalid |
SizeOfSubModulesItfInvalid |
96 |
Die Größe der Submodulschnittstelle ist ungültig. |
InputParameterInvalid |
StartStepInvalid |
106 |
Der Startschritt ist ungültig. |
InputParameterInvalid |
SubModuleItfNotInitialized |
103 |
Eine Schnittstelle eines Submoduls wurde noch nicht initialisiert. |
Aufzählungsname: |
CmdImpossibleState |
Aufzählungswert: |
142 |
Beschreibung: |
Befehl ist in diesem Zustand nicht möglich. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der ModuleController war noch nicht vollständig initialisiert, als ihm der erste Befehl gesendet wurde. Der ModuleController wurde bereits deaktiviert, als ihm der letzte Befehl gesendet wurde. |
Dem ModuleController dürfen nur Befehle gesendet werden, wenn er mit q_xReady = TRUE meldet, dass er bereit ist, Befehle entgegenzunehmen. |
Aufzählungsname: |
CmdOfListOfCmdTablesDuplicate |
Aufzählungswert: |
101 |
Beschreibung: |
Ein Befehl der Befehlstabelle ist doppelt. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Ein Befehlstabelle aus der Liste von i_pstListOfCmdTables ist doppelt eingetragen. |
Stellen Sie sicher, dass jede Befehlstabelle eindeutig über einen Befehl angesprochen wird. Überprüfen Sie die Verwendung der Funktion FC_NextCmdTable bei der Initialisierung der Befehlstabellen. |
Aufzählungsname: |
CmdOfListOfCmdTablesZero |
Aufzählungswert: |
100 |
Beschreibung: |
Ein Befehl der Befehlstabelle ist leer/null. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Eine Befehlstabelle aus der Liste von i_pstListOfCmdTables soll über den Befehl 0 angesprochen werden. |
Überprüfen Sie die Verwendung der Funktion FC_NextCmdTable bei der Initialisierung der Befehlstabellen. |
Aufzählungsname: |
CmdTableDublicatePointer |
Aufzählungswert: |
102 |
Beschreibung: |
Ein Zeiger auf eine Befehlstabelle ist doppelt. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
In der Liste der Befehlstabellen am Eingang i_pstListofCMDTables verweisen die Zeiger von zwei unterschiedlichen Befehlstabellen auf dieselbe Befehlstabelle. |
Überprüfen Sie die Initialisierung der Befehlstabellen. Benutzen Sie die Funktionen FC_FirstCmdTable und FC_NextCmdTable zur Initialisierung der Befehlstabellen. |
Aufzählungsname: |
CmdTableNoLastStep |
Aufzählungswert: |
107 |
Beschreibung: |
Die Befehlstabelle hat keinen Abschlussschritt/letzten Schritt. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Befehlstabelle hat keinen Abschlussschritt/letzten Schritt. |
Stellen Sie sicher, dass alle Befehlstabellen mit FC_LastStep abgeschlossen werden. |
Aufzählungsname: |
CmdTimeout |
Aufzählungswert: |
108 |
Beschreibung: |
Die Verarbeitung eines Befehls erfolgte nicht in der definierten Zeit. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Ausführung eines Befehls hat länger gedauert, als in timTimeOut von ST_Cmd festgelegt wurde. |
Erhöhen Sie die maximale Ausführungszeit des Befehls, indem Sie für timTimeOut in der Struktur des Befehls ST_Cmd einen größeren Wert wählen. Suchen Sie nach den Ursachen für eine lange Laufzeit bei der Ausführung des Befehls. |
Aufzählungsname: |
CmdUnknown |
Aufzählungswert: |
57 |
Beschreibung: |
Nicht bestimmbarer Befehl. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Dem Befehl ist keine Befehlstabelle zugeordnet. |
Stellen Sie sicher, dass der Befehl für eine Befehlstabelle am Eingang iq_diCmd an den ModuleController übertragen wurde. Stellen Sie die Initialisierung der Befehlstabellen sicher und dass ihnen der richtige Befehl zugewiesen ist. |
Aufzählungsname: |
DeactivatingSubModules |
Aufzählungswert: |
38 |
Beschreibung: |
Die Submodule werden deaktiviert. |
Die Submodule sind deaktiviert.
Aufzählungsname: |
Disabled |
Aufzählungswert: |
22 |
Beschreibung: |
Diagnosemeldung ist deaktiviert. |
Der Funktionsbaustein ist deaktiviert, er führt keinerlei Aktionen aus. i_xEnable und q_xActive haben den Wert FALSE.
Aufzählungsname: |
ExecuteStep |
Aufzählungswert: |
40 |
Beschreibung: |
Schritt wird ausgeführt. |
Der anstehende Prozessschritt wird ausgeführt.
Aufzählungsname: |
GroupNumberInvalid |
Aufzählungswert: |
109 |
Beschreibung: |
Die Nummer einer Gruppe ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
An udiModuleName des Befehls ST_Cmd wurde eine Gruppennummer (udiModuleName–Gc_udiGroupOffset) kleiner als 1 oder größer als die Anzahl der definierten Gruppen angelegt. |
Überprüfen Sie die Definition der Gruppe. Überprüfen Sie die Definition des Befehls. |
- |
An udiModuleName des Befehls ST_Cmd wurde eine Gruppennummer (udiModuleName–Gc_udiGroupOffset) angelegt. Es wurde jedoch keine Gruppe definiert. |
Stellen Sie sicher, dass nicht mehr als Gc_udiGroupOffset Submodule unter dem Equipmentmodul angemeldet sind. Überprüfen Sie die Definition des Befehls. |
Aufzählungsname: |
Initializing |
Aufzählungswert: |
37 |
Beschreibung: |
Initialisierung |
Die POU ist initialisiert. Der Abschluss der Initialisierung wird durch q_xReady = TRUE gemeldet.
Aufzählungsname: |
ListOfCmdTablesInvalid |
Aufzählungswert: |
95 |
Beschreibung: |
Die Liste der Befehlstabellen ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es wurde eine Befehlstabelle definiert, die keine Befehle enthält. |
Stellen Sie sicher, dass alle Befehlstabellen mindestens einen Befehl enthalten. Eine leere Befehlstabelle kann mit der Funktion FC_FirstLastStepEmptyTable definiert werden. |
Aufzählungsname: |
MissingModuleCall |
Aufzählungswert: |
94 |
Beschreibung: |
Ein Modul kann nicht aufgerufen werden. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Ein Submodul wird nicht aufgerufen. |
Stellen Sie sicher, dass alle Submodule zyklisch aufgerufen werden. |
- |
Ein Submodul aktualisiert den Wert q_dwModuleType des ST_StandardModuleInterface nicht. |
Stellen Sie sicher, dass alle Submodule ihren Typ bekannt geben. |
Aufzählungsname: |
ModuleIdInvalid |
Aufzählungswert: |
67 |
Beschreibung: |
Die ID des Moduls ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Wert udiModuleName des ST_Cmd entspricht keiner Nummer der Submodule. |
Überprüfen Sie die Initialisierung der Befehlstabellen. |
- |
Die Liste der Module in einer Gruppe enthält eine Nummer, die keinem der Submodule entspricht. |
Überprüfen Sie die Definition der Gruppen. |
Aufzählungsname: |
NumberOfCmdStepsRange |
Aufzählungswert: |
98 |
Beschreibung: |
Die Anzahl der Schritte eines Befehls ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es wurde eine Befehlstabelle mit 0 oder weniger Schritten übergeben. |
Überprüfen Sie die Initialisierung der Befehlstabellen. Benutzen Sie die Funktionen FC_FirstStep und FC_NextStep zur Definition der Befehlstabellen. |
Aufzählungsname: |
NumberOfCmdTablesRange |
Aufzählungswert: |
34 |
Beschreibung: |
Die Anzahl der Befehlstabellen ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Anzahl der Befehlstabellen am Eingang i_udiNumberofCmdTables ist <= 0. |
Stellen Sie sicher, dass in der Liste der Befehlstabellen am Eingang i_pstListOfCmdTables mindestens eine Befehlstabelle enthalten ist, und belegen Sie den Eingang i_udiMumberOfCmdTables mit der Anzahl der Befehlstabellen in der Liste der Befehlstabellen. |
Aufzählungsname: |
NumberOfSubModulesRange |
Aufzählungswert: |
66 |
Beschreibung: |
Die Anzahl der Submodule ist außerhalb des festgelegten Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Anzahl der Submodule am Eingang i_udiNumberOfSubModules ist < 0. |
Stellen Sie sicher, dass am Eingang i_udiNumberOfSubModules ein Wert größer oder gleich 0 anliegt, der der Anzahl der Submodule unter diesem Equipmentmodul entspricht. |
Aufzählungsname: |
PointerCmdTableInvalid |
Aufzählungswert: |
36 |
Beschreibung: |
Der Zeiger auf CmdTable ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Liste der Befehlstabellen am Eingang i_pstListOfCmdTables wurde nicht vollständig initialisiert. |
Überprüfen Sie den Aufruf von FC_UpdateCmdTableListElement für jede Befehlstabelle. |
Aufzählungsname: |
PointerListOfCmdTablesInvalid |
Aufzählungswert: |
33 |
Beschreibung: |
Der Zeiger auf ListOfCmdTables ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Zeiger des Eingangs i_pstListofCMDTables ist nicht zugewiesen (0). |
Stellen Sie sicher, dass am Eingang i_pstListofCMDTables die Adresse des Arrays der Befehlstabellen übergeben wird. Z. B. mit ADR(astListOfCMDTables). |
Aufzählungsname: |
PointerSubModuleGroupsInvalid |
Aufzählungswert: |
104 |
Beschreibung: |
Der Zeiger auf SubmoduleGroups ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Zeiger des Eingangs i_pudiSubModuleGroups ist nicht zugewiesen (0). |
Stellen Sie sicher, dass am Eingang i_pudiSubModuleGroups die Adresse des Arrays angegeben ist, in dem die Gruppen der Submodule verwaltet werden. Z. B. mit ADR(aaudiSubmoduleGroups). |
Aufzählungsname: |
PointerSubModulesItfInvalid |
Aufzählungswert: |
97 |
Beschreibung: |
Der Zeiger SubmodulesItf ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Zeiger des Eingangs i_pstSubModulesItf ist nicht zugewiesen (0). |
Stellen Sie sicher, dass am Eingang i_pstSubModulesItf die Adresse des Arrays angegeben ist, in dem die Submodule verwaltet werden. Z. B. mit ADR(astSubmoduleInterface). |
Aufzählungsname: |
ReactionOffsetRange |
Aufzählungswert: |
42 |
Beschreibung: |
ReactionOffset ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_udiReactionOffset wurde ein ungültiger Wert übergeben. |
Stellen Sie sicher, dass der Eingang i_udiReactionOffset die folgende Bedingung erfüllt: i_udiReactionOffset + 5 <= Gc_udiMaxNumberOfReactions |
Aufzählungsname: |
SizeOfListOfCmdTablesInvalid |
Aufzählungswert: |
99 |
Beschreibung: |
Die Größe der ListOfCmdTables ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_udiSizeOfListOfCmdTables wurde ein ungültiger Wert übergeben. |
Dem Eingang i_udiSizeOfListOfCmdTables muss die Größe des Arrays der Befehlstabellen übergeben werden. Z. B. SIZEOF(astListOfCMDTables). |
- |
Am Eingang i_udiNumberOfCMDTables wurde nicht die Anzahl der Befehlstabellen übergeben, die sich in der Liste der Befehlstabellen am Eingang i_pstListofCMDTables befinden. |
Stellen Sie sicher, dass am Eingang i_udiNumberOfCMDTables die Anzahl der Befehlstabellen übergeben wird. |
Aufzählungsname: |
SizeOfSubModuleGroupsInvalid |
Aufzählungswert: |
105 |
Beschreibung: |
Die Größe der SubmoduleGroups ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_udiSizeOfSubModuleGroups wurde ein ungültiger Wert übergeben. |
Dem Eingang i_udiSizeOfSubModuleGroups muss die Größe des Arrays übergeben werden, in dem die Gruppen verwaltet werden. Z. B. SIZEOF(aaudiSubmoduleGroups). |
- |
Am Eingang i_udiNumberOfGroups wurde nicht die Anzahl der Gruppen übergeben, die in der Liste am Eingang i_pudiSubModuleGroups definiert wurden. |
Stellen Sie sicher, dass am Eingang i_udiNumberOfGroups die korrekte Anzahl der Gruppen übergeben wird. |
- |
Am Eingang i_udiNumberOfGroupMembers wurde nicht die maximale Anzahl der Slaves in einer Gruppen übergeben, die in der Liste am Eingang i_pudiSubModuleGroups definiert wurden. |
Stellen Sie sicher, dass am Eingang i_udiNumberOfGroupMembers die korrekte maximale Anzahl der Mitglieder einer Gruppen übergeben wird. |
Aufzählungsname: |
SizeOfSubModulesItfInvalid |
Aufzählungswert: |
96 |
Beschreibung: |
Die Größe der Submodulschnittstelle ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_udiSizeOfSubModulesItf wurde ein ungültiger Wert übergeben. |
Dem Eingang i_udiSizeOfSubModulesItf muss die Größe des Arrays übergeben werden, in dem die Submodule verwaltet werden. Z. B. SIZEOF(astSubmoduleInterface). |
- |
Am Eingang i_udiNumberOfSubModules wurde nicht die Anzahl der Submodule übergeben, die in der Liste der Submodule am Eingang i_pstSubModulesItf verwaltet werden. |
Stellen Sie sicher, dass am Eingang i_udiNumberOfSubModules die korrekte maximale Anzahl der Submodule übergeben wird. |
Aufzählungsname: |
StartStepInvalid |
Aufzählungswert: |
106 |
Beschreibung: |
Der Startschritt ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang iq_diStartStep wurde ein ungültiger Wert übergeben. |
Stellen Sie sicher, dass der über iq_diStartStep ausgewählte Schritt der Befehlstabellen auch in der Befehlstabelle definiert ist. |
Aufzählungsname: |
SubModuleItfNotInitialized |
Aufzählungswert: |
103 |
Beschreibung: |
Eine Schnittstelle eines Submoduls wurde noch nicht initialisiert. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Name eines Submoduls ist leer. |
Stellen Sie sicher, dass der String aller Submodule, in dem ihr Name angegeben ist, nicht leer ist. |
- |
Die ID eines Submoduls ist 0. |
Stellen Sie sicher, dass jedes Submodul eine ID besitzt, die ihre Position im Maschinenbaum beschreibt. |
Aufzählungsname: |
WaitAtNegativeStep |
Aufzählungswert: |
41 |
Beschreibung: |
Warten an einem negativen Schritt. |
Die Abarbeitung der Befehlstabelle wurde, wie gewünscht, unterbrochen.
Die Abarbeitung der Befehlstabelle wird fortgesetzt, wenn der Eingang iq_diStartStep auf den Schritt gesetzt wird, der als nächstes ausgeführt werden soll.
Aufzählungsname: |
WaitCmdsDone |
Aufzählungswert: |
43 |
Beschreibung: |
Warten, bis Befehle verarbeitet sind. |
Der ModuleController arbeitet die Befehlstabelle ab.