MC_WriteParameter
Dieser Funktionsbaustein (FB) entspricht dem in PLCopen beschriebenen Funktionsbaustein zum Schreiben von Parametern.
Hinweis
Dieser Funktionsbaustein ist in TwinCAT-Systemen nicht verfügbar.
Beim Schreiben eines Parameters mit diesem FB werden 3 Schritte durchgeführt:
- Schreiben des Parameterwerts in die Arbeitsliste
- Aktivieren der Arbeitsliste (Parameter werden in der ISG-MCP wirksam)
- Zurücksichern der Arbeitsliste in die Originalliste
Dies bedeutet, dass ein Parameterwert der mit diesem FB geschrieben wird, auch sofort wirksam und dauerhaft gespeichert wird.
Um mehrere Parameterwerte konsistent zu schreiben, ist dieser FB nicht geeignet. In diesem Falle müssen die Funktionsbausteine MCV_ChgParamValue, MCV_ActivateParamChg und MCV_SaveParamChg verwendet werden.
Hinweis
Es können nur Parameter geschrieben werden, die aus der Achs-MDS gelesen werden können. Parameter, die nur in der Default-Achs-MDS definiert sind, können nicht geschrieben werden.
Hinweis
Während dem Schreibvorgang muss sich die Achse im Stillstand befinden und es darf keine Bewegungsbeauftragung für die Achse gestartet sein oder gestartet werden. Die Achse darf erst wieder verfahren werden, nachdem der Parameter geschrieben und der neue Wert in der Steuerung wirksam ist (Output “Done“ = TRUE).
Hinweis
Dieser Funktionsbaustein benötigt für das Ändern eines Parameters eine Originalliste, die ohne Warnungen und Fehlermeldungen von der Steuerung eingelesen werden kann.
Blockdiagramm
Parameter des FB
VAR_IN_OUT | ||||
Variablenname | Datentyp | Beschreibung | ||
Axis | AXIS_REF | Achsreferenz | ||
VAR_INPUT | ||||
Variablenname | Datentyp | Beschreibung | ||
Execute | BOOL | Muss den Wert TRUE besitzen, den Wert des Parameters zu schreiben. | ||
ParameterNumber | STRING | Kennung des Parameters, dessen Wert geschrieben werden soll. Siehe Hinweis 1. | ||
ParameterType | STRING | Art des Parameters, der geschrieben werden soll. Derzeit: ACHS_MDS | ||
ParameterSet | UINT | Nummer des Parametersatzes, aus dem der Parameterwert gelesen werden soll. | ||
Value | STRING | Neuer Wert des Parameters | ||
VAR_OUTPUT | ||||
Variablenname | Datentyp | Beschreibung | ||
Done | BOOL | Ist TRUE, wenn der Parameterwert erfolgreich geschrieben werden konnte. | ||
Busy | BOOL | Ist TRUE, wenn der FB noch aktiv ist. | ||
Error | BOOL | Zeigt an, ob innerhalb des FB ein Fehler aufgetreten ist. | ||
ErrorID | WORD | Fehlerkennung | ||
InternalErrorID | UDINT | Interne Fehlerkennung der ISG-MCP. |
Verhalten des FB:
Häufige Fehlerursache der ISG-MCP sind fehlende Schreibrechte oder eine schreibgeschützte Arbeitsliste bzw. Originalliste, da in diesen Fällen eine Arbeitsliste nicht angelegt bzw. eine Originalliste nicht ersetzt werden kann.
Beispiel
Parametrierung des Motion Controllers über ASCII-Dateilisten
Erfolgt die Parametrierung des Motion Controllers über ASCII-Dateilisten, wird als Wert am Eingang „ParameterNumber“ der Name des Parameters angegeben.
kenngr.swe_pos
getriebe[0].vb_not_referenced
Beispiel
Parametrierung des Motion Controllers über XML-Dateien
Erfolgt die Parametrierung des Motion Controllers über XML-Dateien, muss der Zugriff auf den Parameter als XPath-Angabe am Eingang „ParameterNumber“ angeben werden:
/AX_MDS/Head/P-AXIS-00297/@Value
/AX_MDS/Settings/P-AXIS-00015/@Value
/AX_MDS/Settings/Homing/P-AXIS-00299/@Value
/AX_MDS/Drive/Generic/address/@Value
oder bei Parametern mit Index:
/AX_MDS/Gear/GearIndex[@Value=“0“]/P-AXIS-00234/@Value
oder ganz einfach nur den Parameternamen verwenden
{» z.B. P-AXIS-00299{Martin Pfizenmayer 21.06.2018 10:49:41: Ist das so richtig ? wie muss denn der Name drin stehen?}}