FB_ModuleController – Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.4.0

Übernommen aus

-

Implementiert:

-

Aufgabe

Funktionsbaustein zur Befehlsvergabe an Module

Beschreibung

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.

Schnittstelle

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

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Fehlermeldung.

q_etDiagExt

ET_DiagExt

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

ST_ExceptionList

Die globale Ausnahmeliste.

iq_stLogDataList

ST_LogDataList

Die globale Loggingliste.

Diagnosemeldungen

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.

CmdImpossibleState

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.

CmdOfListOfCmdTablesDuplicate

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.

CmdOfListOfCmdTablesZero

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.

CmdTableDublicatePointer

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.

CmdTableNoLastStep

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.

CmdTimeout

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.

CmdUnknown

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.

DeactivatingSubModules

Aufzählungsname:

DeactivatingSubModules

Aufzählungswert:

38

Beschreibung:

Die Submodule werden deaktiviert.

Die Submodule sind deaktiviert.

Disabled

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.

ExecuteStep

Aufzählungsname:

ExecuteStep

Aufzählungswert:

40

Beschreibung:

Schritt wird ausgeführt.

Der anstehende Prozessschritt wird ausgeführt.

GroupNumberInvalid

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 (udiModuleNameGc_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 (udiModuleNameGc_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.

Initializing

Aufzählungsname:

Initializing

Aufzählungswert:

37

Beschreibung:

Initialisierung

Die POU ist initialisiert. Der Abschluss der Initialisierung wird durch q_xReady = TRUE gemeldet.

ListOfCmdTablesInvalid

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.

MissingModuleCall

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.

ModuleIdInvalid

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.

NumberOfCmdStepsRange

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.

NumberOfCmdTablesRange

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.

NumberOfSubModulesRange

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.

PointerCmdTableInvalid

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.

PointerListOfCmdTablesInvalid

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).

PointerSubModuleGroupsInvalid

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).

PointerSubModulesItfInvalid

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).

ReactionOffsetRange

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

SizeOfListOfCmdTablesInvalid

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.

SizeOfSubModuleGroupsInvalid

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.

SizeOfSubModulesItfInvalid

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.

StartStepInvalid

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.

SubModuleItfNotInitialized

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.

WaitAtNegativeStep

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.

WaitCmdsDone

Aufzählungsname:

WaitCmdsDone

Aufzählungswert:

43

Beschreibung:

Warten, bis Befehle verarbeitet sind.

Der ModuleController arbeitet die Befehlstabelle ab.

WaitForCmd

Aufzählungsname:

WaitForCmd

Aufzählungswert:

39

Beschreibung:

Warten auf einen Befehl.

Der ModuleController wartet auf einen Befehl.

Methoden

Bezeichnung

Beschreibung

RegisterLoggerPoint

Anmelden des Loggerpunkts der POU am Application Logger.