FC_InitCmdGroup – Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
V1.1.0.0 |
Verwendet von: |
PacDrive-Pilot-Vorlagen-Architektur |
Eine Achse initialisieren, die vom Funktionsbaustein AXM.FB_AxisModuleTpi gesteuert wird
Mit dieser Funktion wird eine Gruppe erstellt und Achsen zugeordnet. Mit einer Gruppe kann durch einen einzigen Befehl auf mehrere Achsen zugegriffen werden.
Aufzählungstypen werden genutzt, um Gruppen zu benennen, die als Konstante deklariert werden. Nachfolgend sind typische Gruppennamen gelistet:
oc_udiMasterGroup : UDINT := 2001; (* Name der Modulgruppe 1 *)
oc_udiSlaveGroup1 : UDINT := 2002; (* Name der Modulgruppe 2 *)
oc_udiSlaveGroup2 : UDINT := 2003; (* Name der Modulgruppe 3 *)
Alle vom Benutzer erstellten Gruppen müssen zwischen 2000 und 4000 (2000 und 2000 + TPL.Gc_udiNumberOfGroups) liegen. Die Funktion gibt FALSE aus, falls der Parameter i_udiGroupName außerhalb dieses Wertbereichs liegt.
Die folgende Auflistung ist so vordefiniert, dass sie auf alle Achsen wirkt.
o TPL.Gc_udiAllSubModules : DINT := 1000; (* Vordefinierte Gruppe *)
Der Gruppe können mit den Eingängen i_udiMemberAxis1 bis i_udiMemberAxis10 bis zu zehn Achsen zugewiesen werden. Die Achsnamen sind auch als Konstante deklariert.
Nachfolgend sind typische Achsnamen gelistet:
oc_udiMaster : UDINT :=1;
oc_udiAxis2 : UDINT :=2;
oc_udiAxis3 : UDINT :=3;
oc_udiAxis4 : UDINT :=4;
Die maximale Anzahl an Achsen pro Gruppe ist mit der vordefinierten Konstante TPL.Gc_udiNumberOfGroupMembers auf zehn limitiert.
Die Gruppe wird dem Array hinzugefügt, in dem alle Gruppen mit dem Eingang iq_aaudiCmdGroup gespeichert sind. Die maximale Anzahl an Gruppen ist mit der vordefinierten Konstante c_udiNumberOfGroups auf fünf limitiert.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_udiGroupName |
UDINT |
Legt eine Gruppennummer fest. Die Nummer muss zwischen 2000 und 4000 liegen. |
i_udiMemberAxis1 to i_udiMemberAxis10 |
UDINT |
Legt die Achsen fest, die Bestandteil dieser Gruppe sind. |
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_aaudiCmdGroup |
ARRAY[1..Gc_udiNumberOfGroupsTpi, 1..Gc_udiNumberOfGroupMembersTpi] OF UDINT |
Legt das Datenfeld fest, das alle Gruppen enthält. |
Datentyp |
Beschreibung |
---|---|
|
Die Funktion gibt FALSE zurück, wenn die vordefinierte Konstante TPL.Gc_udiNumberOfGroupMembers kleiner als zehn ist. |
q_etDiag |
q_etDiagExt |
Aufzählungswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
InputParameterInvalid |
70 |
Der Gruppenname ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
71 |
Die Anzahl der Gruppenmitglieder des TPI liegt außerhalb des gültigen Bereichs. |
Aufzählungsname: |
GroupNameRange |
Aufzählungswert: |
70 |
Beschreibung: |
Der Gruppenname ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Eingabeparameter ungültig. i_udiGroupName liegt außerhalb des zulässigen Bereichs. |
i_udiGroupName muss größer als Gc_udiGroupOffset und kleiner als Gc_udiGroupOffset + Gc_udiNumberOfGroupsTpi sein. |
Aufzählungsname: |
NumberOfGroupMembersTpiRange |
Aufzählungswert: |
71 |
Beschreibung: |
Die Anzahl der Gruppenmitglieder des TPI liegt außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Eingabeparameter ungültig. Gc_udiNumberOfGroupMembersTpi liegt außerhalb des zulässigen Bereichs. |
Gc_udiNumberOfGroupMembersTpi muss größer oder gleich 10 sein. |
Aufzählungsname: |
Ok |
Aufzählungswert: |
0 |
Beschreibung: |
OK |