FC_UpdateCmdTableListElementSimpleOne
FC_UpdateCmdTableListElementSimpleOne – Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
V1.1.0.0 |
Verwendet von: |
PacDrive-Pilot-Vorlagen-Architektur |
Die Liste der Befehlstabellen aktualisieren
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_udiNumberOfCmdTables 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.
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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. |
Datentyp |
Beschreibung |
---|---|
BOOL |
|
q_etDiag |
q_etDiagExt |
Aufzählungswert |
Beschreibung |
---|---|---|---|
InputParameterInvalid |
35 |
Ein Befehl ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
34 |
Die Anzahl der Befehlstabellen ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
36 |
Der Zeiger auf CmdTable ist ungültig. |
|
InputParameterInvalid |
33 |
Der Zeiger auf ListOfCmdTables ist ungültig. |
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. |
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. |
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. |
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. |