L_MC2P_CamDataXYVA

Dieser FB beinhaltet die Definition der Stützstellen mit XYVA-Information

Die Instanz des FBs

  • ist eine Schnittstelle vom Typ L_MC2P_IMotionData
  • kann direkt mit einem Eingang vom Typ L_MC2P_IMotionData eines anderen FBs verbunden werden, z. B.
    Programmierbeispiel:
    L_MC2P_CamRefFromStruct1.itfCamData:= L_MC2P_CamDataPoint XYVA1

 

 

 

L_MC2P_CamDataXYVA

 

 

 

L_MC2P_LawOfMotion

-

eLawOfMotion

LREAL

-

lrX

LREAL

-

lrY

LREAL

-

lrYs

LREAL

-

lrYss

LREAL

-

lrYsss

LREAL

-

lrLambda

LREAL

-

lrParam1 ... lrParam4

 

 

 

 

 

 

 

 

Name

Datentyp

Info/Einstellmöglichkeiten

eLawOfMotion

L_MC2P_LawOfMotion

Codierung des Bewegungsgesetzes

Hinweis: Das für ein Segment wirksame Bewegungsgesetz wird mit dem Startpunkt des Segments vorgegeben.

lrX

LREAL

Master-Startposition

lrY

LREAL

Slave-Startposition

lrYs

LREAL

dY/dX (bezogen auf den Master also die Steigung)

lrYss

LREAL

dY/dX 2 (bezogen auf den Master also die Krümmung)

lrYsss

LREAL

dY/dX 3 (bezogen auf den Master also die Änderung der Krümmung)

lrLambda

LREAL

Normierte Position des Wendepunktes für folgende Bewegungsgesetze:

  • ModSine_VV
  • SimpleSine
  • SlopedSine
  • ModAccTrapezoid_RR

Mit lrLambda = 0.5 wird das Profil symmetrisch aufgeteilt.

lrParam1 ... lrParam4

LREAL

Zusätzliche Parameter 1 ... 4 (Reserve; zur Zeit nicht verwendet)

Beispiel: Kurve mit drei Punkten erstellen
Instanzen anlegen
L_MC2P_CamDataXYVA_1: ARRAY[0..2] OF L_MC2P_CamDataXYVA;
L_MC2P_CamREfFromStruct_1: L_MC2P_CamREfFromStruct;
MC_CamIn_1: MC_CamIn;
FBs aufrufen und Kurve abfahren
// 3 Punkte innerhalb der Kurve 360 Units definieren
L_MC2P_CamDataXYVA_1[0].lrX  := 0.0;
L_MC2P_CamDataXYVA_1[0].lrY  := 0.0;
L_MC2P_CamDataXYVA_1[0].lrYs  := 1;
L_MC2P_CamDataXYVA_1[0].lrYss  := 0.0;
L_MC2P_CamDataXYVA_1[0].eLawOfMotion := L_MC2P_LawOfMotion.Poly5;
L_MC2P_CamDataXYVA_1[1].lrX  := 180.0;
L_MC2P_CamDataXYVA_1[1].lrY  := 100.0;
L_MC2P_CamDataXYVA_1[1].lrYs  := 0;
L_MC2P_CamDataXYVA_1[1].lrYss  := 0.0;
L_MC2P_CamDataXYVA_1[1].eLawOfMotion := L_MC2P_LawOfMotion.Poly5;
L_MC2P_CamDataXYVA_1[2].lrX  := 360.0;
L_MC2P_CamDataXYVA_1[2].lrY  := 360.0;
L_MC2P_CamDataXYVA_1[2].lrYs  := 1;
L_MC2P_CamDataXYVA_1[2].lrYss  := 0.0;
L_MC2P_CamDataXYVA_1[2].eLawOfMotion := L_MC2P_LawOfMotion.Poly5;
L_MC2P_CamRefFromStruct_1(
xExecute:= TRUE,
sName:= 'Kurve1' ,
udiCamDataCount:= 3 ,
itfCamData:= (L_MC2P_CamDataXYVA_1[0]),
eCamType:= L_MC2P_CamType.XYVA ,
eInterpolationQuality:= L_MC2P_InterpolationQuality.Linear,
lrXStartPos:= 0.0,
lrXEndPos:= 360.0,
xDone=> ,
xBusy=> ,
xError=> ,
eErrorID=> );

Anbindung für MC_CamIn L_MC2P_CamRefFromStruct