FC_InitCmdGroup

 

FC_InitCmdGroup – Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

V1.1.0.0

Verwendet von:

PacDrive-Pilot-Vorlagen-Architektur

Aufgabe

Eine Achse initialisieren, die vom Funktionsbaustein AXM.FB_AxisModuleTpi gesteuert wird

Beschreibung

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_aaudiCm­dGroup gespeichert sind. Die maximale Anzahl an Gruppen ist mit der vordefinierten Konstante c_udiNumberOfGroups auf fünf limitiert.

Schnittstelle

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

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_aaudiCmdGroup

ARRAY[1..Gc_udiNumberOfGroupsTpi, 1..Gc_udiNumberOfGroupMembersTpi] OF UDINT

Legt das Datenfeld fest, das alle Gruppen enthält.

Rückgabewert

Datentyp

Beschreibung

 

Die Funktion gibt FALSE zurück, wenn die vordefinierte Konstante TPL.Gc_udiNumberOfGroupMembers kleiner als zehn ist.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

GroupNameRange

70

Der Gruppenname ist außerhalb des gültigen Bereichs.

InputParameterInvalid

NumberOfGroupMembersTpiRange

71

Die Anzahl der Gruppenmitglieder des TPI liegt außerhalb des gültigen Bereichs.

GroupNameRange

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.

NumberOfGroupMembersTpiRange

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.

Ok

Aufzählungsname:

Ok

Aufzählungswert:

0

Beschreibung:

OK