L_MC1P: AxisRef erweitert um Kennung für Geräte-Achse A, Achse B bei Mehrachs-Geräten (ab V03.19.00)

Funktions-Erweiterung:
L_MC1P: Die AxisRef der Motion-Achsen wurde jetzt um eine Kennung (Property) für Mehrachs-Geräte erweitert.
Z.B. bei einer i700 Doppelachse lässt sich jetzt anhand dieser Kennung ermitteln ob Achse A oder Achse B einer Motion-Achse zugeordnet ist.  

Enthalten in welchen Produkten?
Bibliothek:  L_MC1P_MotionControlBasic  (FAST Motion)  ab V03.19.00.101
                      (Update via Package-Manager)
 
Anwendung:
Für das Lesen/Schreiben von Parametern über die PLC-Applikation ist bei Mehrachs-Geräten die Information erforderlich, ob Achse A oder Achse B des Gerätes der zu parametrierenden Motion-Achse zugeordnet ist.
Bisher stand für diese Aufgabe nur eine weniger komfortable Lösung zur Verfügung (Programm-Beispiel unter Application Ideas Pool). Bei dieser bisherigen Lösung wird per Pointer auf eine interne Variable aus der AxisRef (_AXIS_REF_i700) zugegriffen. In Hinsicht auf Kompatibilitäts-Aspekte ist dieses Verfahren jedoch nicht als Zukunfts-sicher anzusehen und des Weiteren birgt der Pointer-Zugriff ein erhöhtes Fehlerrisiko. 
Mit der neuen Kennung für Achse A oder B in der AxisRef-Struktur steht jetzt eine einfache und sichere Möglichkeit zur Bestimmung zur Verfügung.
 
Programmierbeispiel:
 //Variablen Deklaration
VAR
      eA1_Offset:    L_MC1P_AxisSlot ;
      eA2_Offset:    L_MC1P_AxisSlot ;
END_VAR
  
// Programmcode zur Abfrage ob Geräte-AchseA oder AchseB zugeordnet ist.
      eA1_Offset  := A1.AxisSlot ;
      eA2_Offset  := A2.AxisSlot ;

Hinweis:
Die Variablen eA1_Offset und eA2_Offset können als Offset zur Vorgabe des Parameter-Index für die Funktionen L_MC1P_IndexToParameter und L_MC1P_IndexToParameter verwendet werden. Dazu die Offset-Variable zum Index einer Einzelachse addieren.
Soll besipielsweise für die Funktion "Istposition setzen" der Startwert unter Parameter 0x2983 geschrieben werden:
     
Index der Einzelachse oder Achse A einer Doppelachse:          0x2983-Istposition setzen: Startwert
Der resultierende Index der Achse-B:   0x2983+AxisB = 0x3183
Enumbeschreibung L_MC1P_AxisSlot (Werte vom Typ UINT):
 
BezeichnerWert  (hex)​Wert  (dec)Info
eA1_Offset0x00Axis_Ref entspricht der Achse A
eA2_Offset  0x8002048Axis_Ref entspricht der Achse B

 



URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/201900133/0/
Kontaktformular