10/20/2023

Acyclic PROFINET communication with Siemens PLC

Short description

Access to parameters of the ctrlX AUTOMATION device via PROFINET IO acyclic read/write record services

Siemens standard function block RDREC and WRREC

Siemens function RDREC WRREC

Functional description

  • Required RunTime AXS 0316 or newer
  • Mapping of (E)IDN parameters (16)32Bit addressing to PROFINET IO acyclic read/write record services 16Bit addressing
  • Addressing PROFINET IO
    The PROFINET IO acyclic read/write record services have the addressing scheme slot, subslot, index. The submodule is selected via slot and subslot, which establishes the relationship to the axis/instance.
    In order to prevent parallel accesses, only the always existing submodule in subslot 1 can be accessed.
    The entire record is always written, an offset function is not possible for read or write.
  • Mapping/Alias
    A shortened IDN is used for access.
    The IDN is shortened to 13 bits and corresponds to the mapping area reserved above.Thus all EIDNs the SI=SE=0 are reachable.For access to 32-bit addressing EIDNs, the list parameters P-0-2301 are used as IDN and P-0-2300 as EIDN with the same index as alias.

    Parametereditor Help

Help Alias

TIA Engineering Software

  • Addressing PROFINET IO submodul to function bloc RDREC (Siemens)

    Connection HWio To functionbloc
  • Axis1 first Parameter HWio submodul number Input or Output, to read/write parameters from the first Axis.
  • Axis2 first Parameter HWio submodul number Input or Output, to read/write parameters from the second Axis
  • Examples Mapping Parameter
    • P-0-1234 -- dez 1234 = 0x04D2 hex plus hex 1000 for P parameter --> 0x14D2
    • S-0-0037 -- dez 37 = 0x0025 hex --> 0x0025

0x14D2

P-0-1234

S-0-1050.2.160

S-0-1050.2.160 reachable via P-0-1234

 

Supported data lengths

PROFINET IO supports data lengths via the acyclic read/write record services up to 64k bytes.

Up to 5k bytes (5120 bytes) per request are possible via acyclic mapping/aliasing. Therefore, list parameters longer than 5k bytes cannot be accessed through this service. In the case of such access, an error 0xDE80B003 (ReadResponse.PNIORW.InvalidIndex.MappedParameterToLarge) is sent during reading. In case of a write attempt with more than 5k bytes of data, a 0xDF80B102 (WriteResponse.PNIORW.WriteLengthError.LengthToLarge) is sent and the entire write process is not executed internally.

maximum data length

Hint MLEN function bloc RDREC

Help information

List parameters

When accessing list parameters, the list header is generated in the communication layer so that it is not transmitted via the PROFINET IO acyclic record.

During a read access, the header is removed from the user data, the information about the maximum length is therefore not transmitted. In a write access, the header is generated from the length of the transmitted payload and the maximum length is not adjusted.

Endianess

The transported data is transferred in the native format of the ctrlX device (little endian) and not adapted to the PROFINET IO (big endian).  Thus, the data structure must be taken into account by the user when interpreting/generating the data.

Read parameter S37

Write parameter S37

Conversion

All parameters containing ID number lists are converted accordingly to 16-bit IDNs, replaced by the corresponding alias parameter.

Error handling

Errors when accessing the parameters are reported accordingly to the PROFINET IO read/write record response.

Parameters can only be written with the total length, a partial writing is rejected with an error. List parameters contain the length information during data transmission, thus also a length check/ change is secured.

Parameters can be read with a partial length. If a read record request with a greater length than the parameter is requested, the entire parameter is transmitted and the length is shortened accordingly.

PROFINET IO status code

Format: 32bit unsigned integer

Error List

Bits

Worth

Definition

Meaning

31 - 24

0xDE

Norm

Read Response

 

0xDF

Norm

Write Response

23 - 16

0x80

Norm

PNIORW

15 - 08

0xB0

Norm

Invalid Index details see Bits 0-7

 

0xB1

Norm

Write Length Error - detail see Bits 0-7

 

0xB6

Norm

Access Denied - Parameter is read only

07 - 00

0x01

Manufacturer-specific

Not in Supported Range 0x0000-0x1FFF (Invalid Index)

 

0x02

Manufacturer-specific

Parameter not available (Invalid Index)

 

0x03

Manufacturer-specific

Mapped parameters to large (>5k bytes)

 

0x01

Manufacturer-specific

Length to small (Write Length Error)

 

0x02

Manufacturer-specific

Length to large (Write Length Error)

 

0x03

Manufacturer-specific

Value to small (Write Length Error)

 

0x04

Manufacturer-specific

Value to large (Write Length Error)

 

Latest published/updated articles

Types
How-to
Categories
Drives
PLC