MCV_GrpSingleAxSelect
Dieser FB ist ein Utility-FB, der in einer SPS-Applikation eingesetzt werden kann.
Er dient dazu, in Bezug auf eine aktuell ausgewählte Achse, die vorherige oder nächste Achse aus der Liste der in der Achsgruppe vorhandenen Achsen auszuwählen. Das Ergebnis ist sowohl als boolscher Wert, als auch als binär kodierter Wert am FB abgreifbar. Zusätzlich wird auch die PLCopen konforme Ausgabe als IDENT_IN_GROUP_REF unterstützt.
Blockdiagramm
Parameter des FB
VAR_IN_OUT | ||
Variablenname | Datentyp | Beschreibung |
AxesGroup | AXES_GROUP_REF | Achsgruppenreferenz |
VAR_INPUT | |||
Variablenname | Datentyp | Beschreibung | |
Enable | BOOL | Liegt TRUE am Eingang, werden steigende Flanken an den Eingängen „Next“ und „Previous“ ausgewertet und der Wert an Eingang „InitChAxIdx“ berücksichtigt. | |
Next | BOOL | Eine steigende Flanke führt dazu, dass bezüglich der gerade ausgewählten Achse die nächste Achse, die in der Achsgruppe vorhanden ist detektiert wird und der entsprechende Ausgang auf TRUE gesetzt wird. Nächste Achse bedeutet in diesem Zusammenhang, eine Achse mit einem höheren Index als Einordnungskriterium in der Liste der in der Achsgruppe vorhandenen Achsen. | |
Previous | BOOL | Eine steigende Flanke führt dazu, dass bezüglich der gerade ausgewählten Achse die vorherige Achse, die in der Achsgruppe vorhanden ist detektiert wird und der entsprechende Ausgang auf TRUE gesetzt wird. Vorherige Achse bedeutet in diesem Zusammenhang, eine Achse mit einem kleineren Index als Einordnungskriterium in der Liste der in der Achsgruppe vorhandenen Achsen. | |
InitChAxIdx | INT | Index der Achse in der Achsgruppe (Kanal), welche selektiert ist, nachdem der Eingang „Enable“ das erste Mal auf TRUE gesetzt wurde. | |
-1 | kein Ausgang wird angewählt | ||
0 | Ausgang „AxisAct_0“ wird TRUE | ||
… | … | ||
15 | Ausgang „AxisAct_15“ wird TRUE |
VAR_OUTPUT | ||
Variablenname | Datentyp | Beschreibung |
Valid | BOOL | TRUE, wenn die Eingänge ausgewertet werden. |
IdentInGroupRef | IDENT_IN_GROUP_REF | Referenz auf die Einordnung einer Achse in einer Achsgruppe. |
AxisSelChgd | BOOL | Ist für einen SPS-Takt TRUE, wenn sich die Auswahl und damit der Wert an Ausgang „SelAxisBits“ geändert hat. |
AxisAct_0 | BOOL | TRUE zeigt an welche Achse innerhalb einer Achsgruppe die vorherige oder nächste Achse ist. |
… | ||
AxisAct_15 | ||
SelAxisBits | WORD | Stellt die erfolgte Auswahl als Binärwert dar. |
Verhalten des FB:
- Die Eingänge „Prev“ und „Next“ führen bei einer steigenden Flanke zu einer Änderung der Ausgänge.
- Der FB berücksichtigt die Möglichkeit, dass die Achsen in einer Achsgruppe an beliebiger Stelle einsortiert werden sein können und die Liste der in der Achsgruppe vorhandenen Achsen mit Lücken versehen sein kann.