FC_UpdateCmdTableListElementSimpleOne

 

FC_UpdateCmdTableListElementSimpleOne – Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

V1.1.0.0

Verwendet von:

PacDrive-Pilot-Vorlagen-Architektur

Aufgabe

Die Liste der Befehlstabellen aktualisieren

Beschreibung

Diese Funktion aktualisiert den Zeiger einer Tabelle innerhalb einer Liste von Tabellen. Eine Befehlstabelle ist eine sortierte Liste von Befehle, mit der Aktionen individueller Achsen oder Achsgruppen zugeordnet werden.

Die Funktion durchsucht die Liste i_pstListOfCmdTables von 1 bis i_udiNumberOfCmd­Tables für i_diCmd und aktualisiert den Zeiger pstCmdTable in der Liste mit i_pstCmdTable.

Diese Aktualisierung muss immer dann durchgeführt werden, wenn ein Online-Change stattfindet. Der Funktionsbaustein erkennt dies, wenn der Eingang i_xOnlineChange auf TRUE gesetzt wird. Idealerweise sollte der Ausgang des Funktionsbausteins FB_DetectOnlineChange auf den Eingang i_xOnlineChange gelegt werden.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xOnlineChange

BOOL

Die Befehlstabellenliste wird aktualisiert, wenn TRUE gültig ist.

i_udiNumberOfCmdTables

UDINT

Legt die Anzahl der Befehlstabellen fest.

i_pstListOfCmdTables

POINTER TO ST_CmdTable

Definiert den Zeiger für die Befehlstabellenliste.

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer Ausgang des Diagnosegeräts.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

Ein-/Ausgang

Datentyp

Beschreibung

iq_stCmdTable

ST_CmdTableTpi

Legt eine Befehlstabelle fest, die hinzugefügt oder aktualisiert werden soll.

Rückgabewert

Datentyp

Beschreibung

BOOL

 

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

InputParameterInvalid

CmdRange

35

Ein Befehl ist außerhalb des gültigen Bereichs.

InputParameterInvalid

NumberOfCmdTablesRange

34

Die Anzahl der Befehlstabellen ist außerhalb des gültigen Bereichs.

InputParameterInvalid

PointerCmdTableInvalid

36

Der Zeiger auf CmdTable ist ungültig.

InputParameterInvalid

PointerListOfCmdTablesInvalid

33

Der Zeiger auf ListOfCmdTables ist ungültig.

CmdRange

Aufzählungsname:

CmdRange

Aufzählungswert:

35

Beschreibung:

Ein Befehl ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_diCmd wurde ein Wert <= 0 angelegt.

Stellen Sie sicher, dass am Eingang i_diCmd ein positiver Wert entsprechend dem Befehl der zu aktualisierenden Tabelle übergeben wird.

NumberOfCmdTablesRange

Aufzählungsname:

NumberOfCmdTablesRange

Aufzählungswert:

34

Beschreibung:

Die Anzahl der Befehlstabellen ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_udiNumberOfCmdTables wurde ein Wert <= 0 angelegt.

Stellen Sie sicher, dass am Eingang i_udiNumberOfCmdTables ein positiver Wert entsprechend der Anzahl der Befehlstabellen in der Liste am Eingang i_pstListOfCmdTables übergeben wird.

PointerCmdTableInvalid

Aufzählungsname:

PointerCmdTableInvalid

Aufzählungswert:

36

Beschreibung:

Der Zeiger auf CmdTable ist ungültig.

Problem

Ursache

Lösung

-

Am Eingang i_pstCmdTable wurde ein nicht initialisierter Zeiger (0) übergeben.

Stellen Sie sicher, dass am Eingang i_pstCmdTable ein Wert größer 0 übergeben wird, der der Adresse der Liste von Befehlstabellen entspricht, die aktualisiert werden soll.

PointerListOfCmdTablesInvalid

Aufzählungsname:

PointerListOfCmdTablesInvalid

Aufzählungswert:

33

Beschreibung:

Der Zeiger auf ListOfCmdTables ist ungültig.

Problem

Ursache

Lösung

-

Am Eingang i_pstListofCMDTables wurde ein nicht initialisierter Zeiger (0) übergeben.

Stellen Sie sicher, dass am Eingang i_pstListofCMDTables ein Wert größer 0 übergeben wird, der der Adresse der Liste von Befehlstabellen entspricht, die aktualisiert werden soll.