FC_GetSubModuleIds – Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

V1.0.4.0

Aufgabe

Die Submodule eines Moduls auslesen

Beschreibung

Die Module der Vorlage bilden mit ihren Submodulen einen Baum, an dessen Spitze die MainMachine steht. Die Funktion greift auf den Baum zu. Sie durchsucht das angegebene Modul über i_udiModuleId und gibt die ID aller Submodule des Moduls an.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_pstMachineStandardItf

POINTER TO ST_StandardModuleInterface

Zeiger auf die Standardschnittstellen der MainMachine. Verbindet diesen Eingang immer mit "ADR(SR_MainMachine.stMachineInterface)".

i_udiModuleId

UDINT

ID des Moduls, dessen Submodule ausgelesen werden sollen.

i_pudiResultSet

POINTER TO UDINT

Array, in das die IDs der Submodule geschrieben werden sollen. Beschalten Sie diesen Eingang mit der Adresse einer Variablen vom Typ "ARRAY[1..c_diResultSetSize] OF UDINT"; Beispiel: "ADR(audiResultSelt)".

i_udiResultSetSize

UDINT

Die Größe des Arrays am Eingang i_pudiResultSet. Im obigen Beispiel wäre dies c_diResultSetSize.

Ausgang

Datentyp

Beschreibung

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

Rückgabewert

Datentyp

Beschreibung

UDINT

>=0 Die Anzahl der Submodule des gesuchten Moduls. Dies entspricht der Zahl der Einträge, die in das Array geschrieben wurden.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

OK

Ok

0

OK

OK

ResultSetSizeRange

69

ResultSetSize ist außerhalb des gültigen Bereichs.

ExecutionAborted

MissingExtInit

56

Die Initialisierung der Ext-Struktur fehlt.

InputParameterInvalid

ModuleIdInvalid

67

Die ID des Moduls ist ungültig.

InputParameterInvalid

PointerMachineStandardItfInvalid

58

Der Zeiger MachineStandardItf ist ungültig.

InputParameterInvalid

PointerResultSetInvalid

68

Das Zeiger auf ResultSet ist ungültig.

InputParameterInvalid

ResultSetSizeRange

69

ResultSetSize ist außerhalb des gültigen Bereichs.

UnexpectedProgramBehavior

UnexpectedFeedback

10

Bei der Ausführung wurde ein unerwarteter Fehler entdeckt.

MissingExtInit

Aufzählungsname:

MissingExtInit

Aufzählungswert:

56

Beschreibung:

Die Initialisierung der Ext-Struktur fehlt.

Problem

Ursache

Lösung

-

Initialisierung von Ext fehlgeschlagen

Der Parameter ET_Diag muss OK sein.

ModuleIdInvalid

Aufzählungsname:

ModuleIdInvalid

Aufzählungswert:

67

Beschreibung:

Die ID des Moduls ist ungültig.

Problem

Ursache

Lösung

-

Die Modul-ID ist ungültig.

Der Parameter ET_Diag muss OK sein.

Ok

Aufzählungsname:

Ok

Aufzählungswert:

0

Beschreibung:

OK

Die Funktion GetSubmoduleIds wurde fehlerfrei ausgeführt.

PointerMachineStandardItfInvalid

Aufzählungsname:

PointerMachineStandardItfInvalid

Aufzählungswert:

58

Beschreibung:

Der Zeiger MachineStandardItf ist ungültig.

Problem

Ursache

Lösung

-

Der Zeiger MachineStandardItf ist ungültig.

Der Parameter ET_Diag muss OK sein.

PointerResultSetInvalid

Aufzählungsname:

PointerResultSetInvalid

Aufzählungswert:

68

Beschreibung:

Das Zeiger auf ResultSet ist ungültig.

Problem

Ursache

Lösung

-

Der Zeiger ResultSet ist ungültig.

Die Variable ResultSet muss >0 sein.

ResultSetSizeRange

Aufzählungsname:

ResultSetSizeRange

Aufzählungswert:

69

Beschreibung:

ResultSetSize ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

ResultSetSize ist ungültig.

Die Variable ResultSetSize muss >= Index sein.

UnexpectedFeedback

Aufzählungsname:

UnexpectedFeedback

Aufzählungswert:

10

Beschreibung:

Bei der Ausführung wurde ein unerwarteter Fehler entdeckt.

Problem

Ursache

Lösung

-

Eine unerwartete Rückmeldung während der Ausführung.

Die Variable ET_DiagExt muss <> etDiagExt sein.