L_IPAP_ParameterWrite
Mit dem Funktionsbaustein L_IPAP_ParameterWrite können die Geräte- und PLC-Parameter des Lenze Controllers von der PLC-Applikation geschrieben werden.
|
L_IPAP_ParameterWrite |
|||||||
|---|---|---|---|---|---|---|---|
|
BOOL |
- |
xExecute |
xDone |
- |
BOOL |
||
|
BOOL |
- |
xAbort |
xBusy |
- |
BOOL |
||
|
WORD |
- |
wIndex |
xAborted |
- |
BOOL |
||
|
BYTE |
- |
bySubIndex |
xError |
- |
BOOL |
||
|
UDINT |
- |
udiTimeOut |
eErrorId |
- |
L_IPAP_ERRORID |
||
|
POINTER TO BYTE |
- |
pDataBuffer |
|||||
|
UDINT |
- |
udiDataSize |
|||||
Eingänge
|
Name Datentyp |
Info/Einstellmöglichkeiten |
|
|---|---|---|
|
xExecute BOOL |
FALSE ä TRUE |
Mit steigender Flanke wird die Schreibanforderung eines Parameters gestartet. |
|
xAbort BOOL |
FALSE ä TRUE |
Abarbeitung des FBs abbrechen |
|
wIndex WORD |
Index des zu schreibenden Parameters |
|
|
bySubIndex BYTE |
Subindex im Objektverzeichnis des Masters oder des Slaves |
|
|
udiTimeOut UDINT |
Timeout in Millisekunden [ms]
|
|
|
pDataBuffer POINTER TO BYTE |
Referenz zum Speicher-Buffer, in den die zu schreibenden Werte entnommen werden sollen. |
|
|
udiDataSize UDINT |
Anzahl der zu schreibenden Bytes |
|
Ausgänge
|
Name Datentyp |
Wert/Bedeutung |
|
|---|---|---|
|
xDone BOOL |
TRUE |
Bearbeitung ist abgeschlossen |
|
xBusy BOOL |
TRUE |
Abarbeitung läuft |
|
xAborted BOOL |
TRUE |
Die Abarbeitung des FBs wurde abgebrochen. |
|
xError BOOL |
TRUE |
Es ist ein Fehler aufgetreten. Details siehe e ErrorID . |
|
eErrorId |
Wenn xError = TRUE: Fehlernummer zum aufgetretenen Fehler. |
|
Anwendungsbeispiel
Write parameter 0x2001:000 “Device name” (data type: STRING)
PROGRAM PLC_PRG
VAR
-
fbParameterWrite : L_IPAP_ParameterWrite;
-
write : BOOL;
-
index : WORD;
-
subIndex : BYTE;
-
szDeviceName : STRING;
END_VAR
fbParameterWrite(xExecute := write,
-
wIndex := index,
-
bySubIndex := subindex,
-
pDataBuffer := ADR(szDeviceName),
-
udiDataSize := SIZEOF(szDeviceName)
);
Write parameter 0x2451:001 “Engineering port settings: IP address” (data type: UDINT)
PROGRAM PLC_PRG
VAR
-
fbParameterWrite : L_IPAP_ParameterWrite;
-
write : BOOL;
-
udiIPaddr : UDINT;
-
abyIPaddr : ARRAY [0..3] OF BYTE;
END_VAR
(* write IP address setting by UDINT value*)
udiIPaddr := 16#6305A8C0; //-> 192.168.5.99
fbParameterWrite(xExecute := write,
-
wIndex := 16#2451,
-
bySubIndex := 1,
-
pDataBuffer := ADR(udiIPaddr),
-
udiDataSize := SIZEOF(udiIPaddr)
);
(* or write IP address setting with array of 4 BYTES*)
abyIPaddr[0]:= 192;
abyIPaddr[1]:= 168;
abyIPaddr[2]:= 5;
abyIPaddr[3]:= 99;
fbParameterWrite(
-
xExecute := write,
-
wIndex := 16#2451,
-
bySubIndex := 1,
-
pDataBuffer := ADR(abyIPaddr),
-
udiDataSize := SIZEOF(abyIPaddr)
);