MCV_SetKinParam
Der Funktionsblock wird eingesetzt, um die Werte der Parameter einer kinematischen Transformation, wie z. B. einer Roboterkinematik, zu ändern. Die kinematische Transformation wird über die ihr zugeordnete Ordnungsnummer „KinematicID“ identifiziert. Die einzelnen Parameter einer kinematischen Transformation werden über einen Index identifiziert. Die Bedeutung der einzelnen Parameter hängt dabei von der kinematischen Transformation ab, deren Parameter geändert werden sollen.
Der Funktionsblock besitzt keinen Eingang „BufferMode“, verhält sich aber wie ein Funktionsblock mit „BufferMode“ mcBuffered.
Nach einem Neustart der Steuerung sind alle Änderungen, die durch einen solchen Funktionsblock ausgeführt wurden, verloren gegangen.
Achtung
Weil dieser FB die kinematischen Parameter während des Betriebs ändern kann, ist zu beachten, dass falsche Werte für die geschriebenen Parameter zu unerwarteten Bewegungen der Achsen führen können.
Blockdiagramm
Parameter des FB
VAR_IN_OUT | ||
Variablenname | Datentyp | Beschreibung |
AxesGroup | AXES_GROUP_REF | Achsgruppenreferenz |
VAR_INPUT | ||
Variablenname | Datentyp | Beschreibung |
Execute | BOOL | Bei steigender Flanke am Eingang werden die Parameter der kinematischen Transformation an den Motion Controller gesendet. |
KinematicID | UDINT | Identifikationsnummer der kinematischen Transformation ([KITRA]) |
NumberOfParameter | UDINT | Anzahl N der Wertepaare (IndexX, ParameterX), die gesendet werden sollen, wobei N = [0,6] und X=1..N. Für N=0 werden keine Parameter an den Motion Controller gesendet. Wird ein Wert > 6 angelegt, wird dieser im FB auf 6 umgesetzt. |
Index1 | UDINT | Index des Parameters, dessen Wert am Eingang „Parameter1” vorgegeben wird. Der Wert für den Index hängt von der am Eingang „KinematicID“ angewählten kinematischen Transformation und welcher Parameter gesendet werden soll ab. |
Parameter1 | DINT | Wert des Parameters der gesendet werden soll. Längenangaben werden in 0,1µm, Winkel in 10-4 ° angegeben. |
Index2 | UDINT | Optional: Index für 2. Parameter |
Parameter2 | DINT | Optional: Wert des 2. Parameter |
Index3 | UDINT | Optional: Index für 3. Parameter |
Parameter3 | DINT | Optional: Wert des 3. Parameter |
Index4 | UDINT | Optional: Index für 4. Parameter |
Parameter4 | DINT | Optional: Wert des 4. Parameter |
Index5 | UDINT | Optional: Index für 5. Parameter |
Parameter5 | DINT | Optional: Wert des 5. Parameter |
Index6 | UDINT | Optional: Index für 6. Parameter |
Parameter6 | DINT | Optional: Wert des 6. Parameter |
VAR_OUTPUT | ||
Variablenname | Datentyp | Beschreibung |
Done | BOOL | TRUE zeigt an, dass die Parameter vom Motion Controller übernommen worden sind. |
Busy | BOOL | TRUE zeigt an, dass der FB mit einem Auftrag beschäftigt ist. |
Active | BOOL | TRUE zeigt an, dass der FB den Auftrag an den MC gegeben hat. |
CommandAborted | BOOL | TRUE zeigt an, dass der über diesen FB abgesetzte und noch aktive Auftrag durch einen anderen Auftrag abgebrochen wurde. |
Error | BOOL | TRUE zeigt an, dass ein Fehler aufgetreten ist. |
ErrorID | WORD | Fehlerkennung |
JobID | UDINT | Ordnungsnummer des letzten über den FB abgesetzten Auftrages. |