MC_DigitalCamSwitch_BkPlcMc (ab V3.0)

MC_DigitalCamSwitch_BkPlcMc (ab V3.0) 1:

Der Funktionsbaustein erzeugt in Abhängigkeit von Position, Bewegungsrichtung und Geschwindigkeit einer Achse Software-Nocken.

MC_DigitalCamSwitch_BkPlcMc (ab V3.0) 2: Eingänge

VAR_INPUT
    Enable:         BOOL;
    EnableMask:     DWORD;
END_VAR

Name

Typ

Beschreibung

Enable

BOOL

Dieser Eingang kontrolliert alle Aktivitäten des Bausteins.

EnableMask

DWORD

Eine Maske, deren Bits die Freigabe der Ausgänge in Outputs festlegen.

MC_DigitalCamSwitch_BkPlcMc (ab V3.0) 3: Ein-/Ausgänge

VAR_INOUT
    Axis:           Axis_Ref_BkPlcMc;
    Switches:       CAMSWITCH_REF_BkPlcMc;
    Outputs:        OUTPUT_REF_BkPlcMc;
    TrackOptions:   TRACK_REF_BkPlcMc;
END_VAR

Name

Typ

Beschreibung

Axis

Axis_Ref_BkPlcMc

Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben.

Switches

CAMSWITCH_REF_BkPlcMc

Hier ist ein Array vom Typ CAMSWITCH_REF_BkPlcMc zu übergeben.

Outputs

OUTPUT_REF_BkPlcMc

Hier ist die Adresse einer Variablen vom Typ OUTPUT_REF_BkPlcMc zu übergeben.

TrackOptions

TRACK_REF_BkPlcMc

Hier ist ein Array vom Typ TRACK_REF_BkPlcMc zu übergeben.

MC_DigitalCamSwitch_BkPlcMc (ab V3.0) 4: Ausgänge

VAR_OUTPUT
    InOperation:    BOOL;
    Busy:           BOOL;
    Error:          BOOL;
    ErrorID:        UDINT;
END_VAR

Name

Typ

Beschreibung

InOperation

BOOL

Hier wird signalisiert, ob der Baustein aktiv ist.

Busy

BOOL

Dieser Ausgang ist für die Dauer der Abarbeitung des Kommandos auf TRUE.

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

Verhalten des Bausteins

Gesteuert durch die Istposition einer Achse werden Nockensignale (Switches) geschaltet. Es stehen positionsgesteuerte (mit Anfangs- und Endposition) und zeitgesteuerte (mit Triggerposition und Dauer) zur Verfügung. Dabei kann die Bewegungsrichtung der Achse berücksichtigt werden.

Die Nockensignale werden Spuren (Tracks) mit parametrierbaren Eigenschaften zugeordnet. Durch Ein- und Ausschaltverzögerung kann das Zeitverhalten festgelegt werden. Durch negative Werte kann hier auch eine vorausschauende Signalgabe erreicht werden. Eine Hysterese ermöglicht die Unterdrückung von unerwünschten Signalgaben, wenn die Achse in der Nähe eines Schaltpunkts steht und die Istposition nicht völlig konstant ist.

Beispiel

Verwendete CAMSWITCH_REF_BkPlcMc:

Parameter

Switch[1]

Switch[2]

Switch[3]

Switch[4]

...

Switch[n]

TrackNumber

1

1

1

2

 

 

FirstOnPosition

2000.0

2500.0

-1000.0

3000.0

 

 

LastOnPosition

3000.0

3000.0

1000.0

 

 

 

AxisDirection

1

2

0

0

 

 

CamSwitchMode

0

0

0

1

 

 

Duration

 

 

 

1.35

 

 

.....

 

 

 

 

 

 

Verwendete TRACK_REF_BkPlcMc:

Parameter

Track[1]

Track[2]

...

Track[n]

OnCompensation

-0.125

0.0

 

 

OffCompensation

0.250

0.0

 

 

Hysteresis

0.0

0.0

 

 

Verlauf der Signale bei einer Fahrbewegung der Achse von 0.0 nach 5000.0 und zurück:

MC_DigitalCamSwitch_BkPlcMc (ab V3.0) 5:

Die nachfolgende Darstellung zeigt den Verlauf der Signale über die Position. Dabei werden die Signale bei positiver Bewegungsrichtung normal (nach oben), bei negativer Bewegungsrichtung jedoch negativ = 'nach unten' dargestellt. Die senkrechten Cursor-Linien markieren die Positionen 1000 bzw. 3000 mm.

MC_DigitalCamSwitch_BkPlcMc (ab V3.0) 6: