Migration Guide PROFINET IO-Controller V3

This document describes the steps required to migrate an existing PROFINET IO-Controller application from stack/firmware Version V3.x to current available version V3.5.

Reference documents:

Changes introduced with V3.5.0

This section shows changes introduced with firmware V3.5.0.

General changes and remarks

  • A dedicated technical datasheet document is delivered for each individual firmware stating the capabilities and limitations of the specific firmware
  • Support for SecondStage Bootloader V1.7.0 (and newer) was added
    • This allows using a larger variety of serial flashes
  • Several extentions to taglist (see below)
  • The firmware supports the newly designed Device Data Provider (DDP) now.

  • All firmware no longer use device identity parameters set via tag list of SecondStage Bootloader (HW Data). Any setting made in this specific tag in SecondStage Bootloader will be ignored by the firmware.

  • OrderID, HardwareRevision and SerialNumber can no longer be set via any Profinet specific service. Instead the firmware will always use the values provided in the Device Data Provider (DDP), which matches by default the values from the Security Memory . These values can be changed using service HIL_DDP_SERVICE_SET_REQ (0x1EEC).

  • The firmware is now able to store remanent data (received from network) on its own. This covers writeable SNMP objects as well as NameOfStation (in case this is activated in configuration).
    • This is the new default behaior
    • In order to work properly, this feature requires usage of SecondStage Bootloader V1.5.1.0 or newer
    • Application that want to continue storing the remanent data on their own need to be adjusted
      • modify taglist
      • change order of packet commands
  • The IP configuration of integrated IP stack is no longer reset to 0.0.0.0 in case the Profinet Controller is deconfigured by ChannelInit service. Instead, the old IP configuration is kept

Packet handling (API changes)

The following services have changed starting with firmware V3.5.0.

Affected serviceDescription
Set OEM Parameters request

Support for the following parameter types have been removed:

  • PNM_AP_CFG_OEMPRM_ORDER_ID
  • PNM_AP_CFG_OEMPRM_SERIAL_NUMBER
  • PNM_AP_CFG_OEMPRM_VERSION 

Support for the following parameter types have been added:

  • PNM_AP_CFG_OEMPRM_SOFTWARE_VERSION
Load Remanent Data requestThe service itself did not change. However, it now needs to be used upfront of providing the actual Profinet configuration packets.
Firmware up to V3.4.0 required usage of the Load Remanent Data service after the Profinet configuration packets.

Tag list

The following changes have been done for firmware V3.5.0 compared to V3.4.0:

Affected tag list entryDescription
DDP mode after firmware startup

This tag has been added.

It allows to control whether the DDP (integrated in the firmware) starts in mode “active” (default) or “passive”. Only in mode “passive” the usage of Device Data Provider Set service API is possible.
Socket API quantity Structures

This tag has been added.

It allows to modify the quantities related to Socket API services in Network Service Communication Channel. The values given here will not interfere with the resources of the PROFINET communication protocol which uses its own dedicated resources.
PROFINET Controller featuresThis tag was added.
It now allows a customization of required features and offers a higher flexibility by terms uf RAM usage.
Remanent Data Responsible

This tag was added.
It allows to control whether the firmware stores the remanent data (default) or the application.

Changes introduced with V3.4.0

This section shows changes introduced with firmware V3.4.0.

General changes and remarks

  • Algorithm for automatic assignment of NameOfStation (based on topology information) was improved and works faster
  • overall rework of many parts inside the firmware including update of all integrated components to newer versions
  • API change for services to read back the current firmware configuration
  • for IO Devices supporting MRP Role "Manager (Auto)" this role can now be configured
  • lost AR can be indicated by a special IOPS value (to have a consistent information between IO data and AR availability)
  • In case, the PROFINET IO-Controller protocol stack is not configured, the firmware will no longer automatically enable the PHYs integrated in netX.

    • Once the PROFINET IO-Controller protocol stack is configured, the PHYs will be enabled with parameters contained in remanent data.
      If Autonegotiation is used after protocol stack configuration it may take additional 3 seconds until the link is established.

    • A tag list entry was added to firmware that allows configuration of a timeout after which the PHYs shall be enabled even if PROFINET IO-Controller protocol stack is not yet configured.

  • The firmware supports Hilscher netIdent protocol by default. The IP port “25383” is thus active and reachable by port scans.

    • A tag list entry has been added to firmware to disable the netIdent protocol function.

  • The IP stack integrated in the firmware will not be deconfigured if the PROFINET IO-Controller protocol stack is switched to “bus state off”.
    Instead the IP parameterization is kept and all IP based services continue to work.

    • in this state the firmware will still answer to incoming DCP requests and thus stays visible in the network
    • in this state the firmware will still answer to incoming SNMP and RPC requests and thus stays visible in the network
  • Coding for SNMP object SystemDescription was changed and now follows the recommendation of the Profinet Protocol specification
  • the API header  PNM_AP_Public.h  was reworked completely
    • Profinet specific definitions were replaced by generic ones when possible
    • RCX / TLR specific definitions were replaced by generic ones from Hilscher-Definitions

Packet handling (API changes)

The following services have changed starting with firmware V3.4.0.

Affected serviceDescription
Get next IO Device ServiceService was added.
Get next IOCR ServiceService was added.
Get next Submodule ServiceService was added.
Get next Record ServiceService was added.
Get IO Controller Parameter List ServiceService no longer supported. It never returned any data.
Get IO Controller Parameter ServiceService no longer supported. Use "Get next Record Service" instead.
Get Record ServiceService no longer supported. Use "Get next Record Service" instead.
Configure OEM Parameter ServiceOEM Parameter Type 6 (InputDataMode) was added

Tag list

The following changes have been done for firmware V3.4.0 compared to V3.3.0.x:

Affected tag list entry

Description
LWIP netIdent behaviour

This tag was added.

It allows to disable the integrated netIdent protocol function.

Phy enable timeout after firmware startup

This tag was added.

It allows to enable automatic PHY enabling after a specific timeout.

LWIP ports for IP 0.0.0.0

This tag was added.

It allows to configure up to two IP ports which can be used by an application via Socket API even if the integrated IP stack has no valid IP configuration.

Note that only Broadcast communication is possible with these ports.