MC_DigitalCamSwitch_BkPlcMc (ab V3.0)
Der Funktionsbaustein erzeugt in Abhängigkeit von Position, Bewegungsrichtung und Geschwindigkeit einer Achse Software-Nocken.
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. |
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. |
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:
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.