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]

  • Der Wert '0' entspricht einer Anfrage ohne Timeout.

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

L_IPAP_ERRORID

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)

);