L_IPAP_ParameterRead

Mit dem Funktionsbaustein L_IPAP_ParameterRead können die Geräte- und PLC-Parameter des Lenze Controllers von der PLC-Applikation gelesen werden.

L_IPAP_ParameterRead

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

udiDataRead

-

UDINT

UDINT

-

udiBufferSize

eDataType

-

L_IPAP_DATATYPE

Eingänge

Name

Datentyp

Info/Einstellmöglichkeiten

xExecute

BOOL

FALSE ‰ TRUE

Mit steigender Flanke wird die Leseanforderung eines Parameters gestartet.

xAbort

BOOL

FALSE ‰ TRUE

Abarbeitung des FBs abbrechen

wIndex

WORD

Index des zu lesenden 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 lesenden Werte kopiert werden sollen.

udiBufferSize

UDINT

Gröfle des unter pDataBuffer übergebenen Speicher-Buffers.

  • Der Speicher-Buffer muss grofl genug sein, um den gelesenen Wert aufnehmen zu können.

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 eErrorID .

eErrorId

L_IPAP_ERRORID

Wenn xError = TRUE: Fehlernummer zum aufgetretenen Fehler.

udiDataRead

UDINT

Bei der Leseanforderung tatsächlich gelesene Anzahl von Bytes

eDataType

L_IPAP_DATATYPE

Angabe des Datentyps vom gelesenen Parameter

Anwendungsbeispiel

Read parameter 0x2001:000 “Device name” (data type: STRING)

PROGRAM PLC_PRG

VAR

  • fbParameterRead : L_IPAP_ParameterRead;

  • read : BOOL;

  • index : WORD;

  • subindex : BYTE;

  • abyDeviceName : ARRAY [0..127] OF BYTE;

END_VAR

(* read device name *)

// index can be set as hexadecimal- or as decimal value

index := 16#2001; //or: index := 8193

subindex := 0;

fbParameterRead(

  • xExecute := read,

  • wIndex := index,

  • bySubIndex := subindex,

  • pDataBuffer := ADR(abyDeviceName),

  • udiBufferSize := SIZEOF(abyDeviceName)

);

Read parameter 0x2452:001 “Active eng. port settings: IP address” (data type: UDINT)

PROGRAM PLC_PRG

VAR

  • fbParameterRead : L_IPAP_ParameterRead;

  • read : BOOL;

  • udiIPaddr : UDINT;

  • abyIPaddr : ARRAY [0..3] OF BYTE;

END_VAR

(* read IP address to UDINT value*)

fbParameterRead(

  • xExecute := read,

  • wIndex := 16#2452,

  • bySubIndex := 1,

  • pDataBuffer := ADR(udiIPaddr),

  • udiBufferSize := SIZEOF(udiIPaddr));

);

(* or read IP address to array of 4 BYTES*)

fbParameterRead( xExecute := read,

  • wIndex := 16#2452,

  • bySubIndex := 1,

  • pDataBuffer := ADR(abyIPaddr),

  • udiBufferSize := SIZEOF(abyIPaddr)

);