Introduction
About this page
This page describes the changes between the different releases of PROFINET IO-Device Firmware V4 over time. For each new release the major differences compared to the previous release are shown. Specific topics like tag list or Packet API are handled here.
References to documents
The following documents shall be consulted. They contain newest definitions of API services:
PROFINET IO-Device Protocol API (Revision 7 - V4.7.0 and V5.5.0)
Changes introduced with V4.7.0
This section shows changes introduced with firmware V4.7.0.
General changes and remarks
- if I&M5 functionality is enabled, the firmware no longer automatically adds the additional "OEM ID" block to DCP frames
- A new ParameterTypes of PNS_IF_SET_OEM_PARAMETERS_REQ was added to explicitly activate this block
- Profinet related IP frames are now sent with a VLAN tag to give these frames the priority recommended by Profinet specification
- IP frame generated by other instances (integrated webserver, Socket API) are not affected
- if feature SecurityClass 1 is enabled, the behavior regarding SNMP has changed (off by default) to match new revision of Profinet specification
- please check Protocol API Manual for more details regarding Profinet Security
- a dedicated technical datasheet document is delivered for each individual firmware stating the capabilities and limitations of the specific firmware
- Support of ReductionRatio which is not a power of 2 was removed and is no longer useable. This limits possible network update times.
- RAM based cifX hardware (e.g. CIFX 50-RE) is now able to store remanent data
- Support for SecondStage Bootloader V1.7.0 (and newer) was added
- This allows using a larger variety of serial flashes
- netX52 firmware no longer implements support for configuration via SYCON.NET database. Support was already dropped in V4.6.0.x but implementation still worked in some scenarios.
Packet handling (API changes)
The following services have changed starting with firmware V4.7.0.
Affected service | Description |
---|---|
Set OEM Parameters request | Support for the following parameter types have been added:
|
Set Configuration Service | Request will be rejected if SystemFlags has PNS_IF_SYSTEM_DISABLE_STORE_REMANENT_ENABLED set but taglist was not adjustet to make application handle remanent data |
Send Alarm Service | In order to explictily distinguish process alarms without payload from ones with payload, a new user struct id definition PNS_IF_ALARM_USER_STRUCTURE_ID_NO_ALARM_DATA was added |
Tag list
No tag list changes with firmware V4.7.0 compared to V4.6.0.
Changes introduced with V4.6.0
This section shows changes introduced with firmware V4.6.0.
General changes and remarks
The netX 52 firmware no longer supports (in total) 3 IO ARs but 2 only. With earlier released versions it was possible to change the number of ARs in the tag list to 3 and the firmware successfully has started. This is no longer possible due to resource constraints.
The netX 52 firmware no longer supports 2 parallel ReadImplicit Requests at the same time. This is no longer possible due to resource constrains.
Major internal rework has been done including a major update of the integrated IP stack. The firmware now is quite similar to Hilscher PROFINET IO-Device V5 firmware used for netX 90. This is by intention.
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.
The evaluation of OrderID and HardwareRevision from the SetConfiguration packet has been removed. The firmware expects the fields in SetConfiguration Request to be set to 0. 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 or Flash Device Label (FDL). These values can be changed using service HIL_DDP_SERVICE_SET_REQ (0x1EEC).
OrderID from SYCON.net database file is no longer evaluated. Instead the OrderID of the DDP is used which is either configured from the Security Memory or FDL.
In case, the PROFINET IO-Device protocol stack is not configured, the firmware will no longer automatically enable the PHYs integrated in netX.
Once the PROFINET IO-Device protocol stack is configured, the PHYs will be enabled with parameters contained in the remanent data. If Autonegotiation is used after the protocol stack configuration it may take additional 3 seconds until the link is established.
A tag list is added to the firmware that allows configuration of a timeout after which the PHYs have to be enabled even if PROFINET IO-Device protocol stack is not yet configured.
The firmware supports the Hilscher netIdent protocol by default. The UDP port “25383” is thus active and reachable by port scans.
A tag list has been added to the firmware to disable the netIdent protocol function.
The IP stack integrated in the firmware will not be deconfigured if the PROFINET IO-Device protocol stack is switched to “bus state off”. Instead the IP parameterization is kept and all IP-based services continue to work.
However, the PROFINET-related protocols like DCP or RTA will be deactivated on “bus state off” as well as the integrated RPC Server used by PROFINET IO-Device protocol stack.
Firmware offers supports for PROFINT Security Class 1 features
As no certification exists for the required features, we cannot guarantee a completely correct implementation. Our own tests show expected behavior.
Use at your own risk.
Socket API quantities can be configured via tag list now.
Some ParameterTypes of PNS_IF_SET_OEM_PARAMETERS_REQ have been removed.
In case of error, some services no longer return any data in the confirmation packet.
New service for Isochronous Applications has been added allowing to generate a user defined signal. Independent from this new feature, this firmware supports applications with the following scenarios
netX 100/500: 500 µs network update time and DPM update time, up to 2 submodules each 4 byte.
netX 51/52: 1 ms Network update time and DPM update time, up to 2 submodules each 4 byte.
Sync signal is now always generated, independent if IRT is configured or not
Without IRT configuration the firmware internal scheduler cycle is used as base for sync signal.
Previous firmware versions did only generate this signal when IRT was configured and active.
The sync signal now is “high active” instead of “low active”.
Configuration with iniBatch database (generated by “netX Configuration Tool”) is no longer working. It was never officially supported and thus this will not be fixed. iniBatch configuration must not be used.
Packet handling (API changes)
The following services have changed starting with firmware V4.6.0.
In general, the check for the packet header field “ulLen” of request packets has been intensified in this version. Only the exact packet length is accepted now. Previous released versions accepted request packets with values for ulLen larger than required for the service.
Affected service | Description |
---|---|
Set Configuration Service |
|
Set OEM Parameters Service | Support for the following parameter types have been added:
|
Config Trigger Event Service | This service was added. |
Add Generic Channel Diagnosis Service | If the service is used with the same USI as an already existing Generic Diagnosis, the old diagnosis entry is silently updated by the new one as indicated by the PROFINET specification. |
Tag list
The following changes have been done for firmware V4.6.0 compared to V4.5.0:
Affected tag list entry | Description |
---|---|
LWIP netIdent behaviour | This tag has been added. It allows to disable the integrated netIdent protocol function. |
Phy enable timeout after firmware startup | This tag has been added. It allows to enable automatic PHY enabling after a specific timeout. |
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. |
LWIP ports for IP 0.0.0.0 | This tag has been added. |
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. |
Remanent Data Responsible | This tag was added. It allows to control whether the firmware stores the remanent data (default) or the application.This tag replaces the flag PNS_IF_SYSTEM_DISABLE_STORE_REMANENT_ENABLED in PNS_IF_SET_CONFIGURATION_REQ which is no longer supported. |
Changes introduced with V4.5.0
This section shows changes introduced with firmware V4.5.0.
General changes and remarks
- The netX 52 firmware no longer supports (in total) 4 IO ARs but only 3. In earlier releases it was possible to change the number of ARs in the tag list to 4 and the firmware successfully has started. This is no longer possible due to resource constraints.
- In addition to already provided firmware, several additional hardware platforms are officially supported now
- netX 51 NXLFW
- netX 100 NXLFW
- netX 500 NXLFW
- cifX
- comX
- comX 51
- netJACK 100
- netJACK 51
- The feature System Redundancy is supported now. However, a special firmware is required (LFW-PNS SR) which has this feature enabled. for identification, the System Redundancy enabled firmware uses Communication Class 0x1A in DPM Channel 0.
- This feature is and will not be supported by regular standard firmware using Communication Class 0x0A as identifier in DPM Channel 0.
- This feature is and will not be supported for netX 52-based hardware due to resource constraints.
- By default, IO Supervisor ARs are no longer supported. Support can be enabled at runtime using PNS_IF_SET_OEM_PARAMETER_REQ. This does NOT affect Supervisor DeviceAccess which is still enabled by default.
Packet handling (API changes)
The following services have changed starting with firmware V4.5.0.
Affected Service | Description |
---|---|
Dynamic Reconfiguration Indication | This service was added and is only available for System Redudancy-enabled firmware. |
SendAlarm (generic) | This service now supports sending ProcessAlarms with ChannelCoding (USI 0x8320). |
Set OEM Parameter Service | Support for the following parameter types have been added:
|
Get Parameter Service | Support for ParameterType PNS_IF_PARAM_PORT_STATISTIC was added. |
Tag list
The following changes have been done for firmware V4.5.0 compared to V4.4.0:
Affected tag list entry | Description |
---|---|
Ethernet NDIS support | The tag was added for all firmware except net X52. |
Changes introduced with V4.4.0
This section shows changes introduced with firmware V4.4.0.
General changes and remarks
By default all firmware only support 2 IO ARs
- Using the tag list editor it is possible to modify this parameter
- By default if firmware handles I&M data the I&M4 dataset is no longer supported
- Using PNS_IF_SET_OEM_PARAMETER_REQ it is possible to activate I&M4 handling
- netX52 single port firmware was renamed from "X070D000_SinglePort.nxf" to "X170D000.nxf"
- netX51 single port firmware was renamed from "X060D000_SinglePort.nxf" to "X160D000.nxf"
Packet handling (API changes)
A major rework of the public API header PNSIF_API.h was done. This harmonizes the header file with the Hilscher PROFINET IO Device protocol stack / firmware generation V3.x. The header file is now based on the generic Hilscher definitions structures and no longer refers to TLR or rcX.
The binary layout of the packets was not changed if not noted below. The names of fields were not changes if not stated below.
The following services have changed starting with firmware V4.4.0:
Affected Service | Description |
---|---|
Read AssetManagment Service | This service was added Application needs to handle service correctly in order to pass certification. |
Send Alarm (generic) | This service was added. |
PROFIenergy ASE related services | These services were added. |
AR Check Indication | This packet definition was extended for future use cases |
Read I&M Service | Support for I&M5 was added Application needs to handle service correctly in order to pass certification. |
Get Parameter Service | Support for several ParameterTypes was added
|
Set OEM Parameter Service | Support for these ParameterTypes was added
|
Add Channel Diagnosis | Value “0” is no longer accepted as ChannelErrorType in field usChannelErrType. The value is reserved according to Profinet specification and shall not be used. |
Add Extended Channel Diagnosis | Value “0” is no longer accepted as ChannelErrorType in field usChannelErrType. The value is reserved according to Profinet specification and shall not be used. |
Plug Module Service Plug Submodule Service Pull Module Service Pull Submodule Service Send Process Alarm Service Send ReturnOfSubmodule Alarm Service | The packet data field “hDeviceHandle” was renamed to “ulReserved” as no DeviceHandle is required to use this service (harmonized with stack generation V3.x). |
Tag list
The following changes have been done for firmware V4.4.0 compared to V4.3.0:
Affected tag list entry | Description |
---|---|
PROFINET features | This tag was removed. |
PROFINET features V2 | This tag was added. It now allows a customization of required features and offers a higher flexibility.
|
Changes introduced with V4.3.0
This section shows changes introduced with firmware V4.3.0.
General changes and remarks
netX52 single port firmware was renamed from "nx52pns_stdmac.nxf" to "X070D000_SinglePort.nxf”
- netX51 single port firmware was renamed from "nx51pns_stdmac.nxf" to "X060D000_SinglePort.nxf"
Packet handling (API changes)
The following services have changed starting with firmware V4.3.0:
Affected Service | Description |
---|---|
Get list of configured submodules | This service was added |
Set submodule state | This service was added |
UserError Indication | This service was added |
Read Record / Write Record | This service now supports up to 4KB of acyclic data. Field abRecordData no longer has fixed length 1024 but instead is defined without any length, thus abRecordData[] |
Set OEM Parameter Service | Support for these ParameterTypes was added
|
Tag list
The following changes have been done for firmware V4.3.0 compared to V4.2.0:
Affected tag list entry | Description |
---|---|
PROFINET features | If “NumberOfAdditionalARs” is set to 0 or 1 the firmware supports up to 64 submodules. If the “NumberOfAdditionalARs” is set to a value higher than 1 the firmware supports up to 32 submodules. |
Changes introduced with V4.2.0
This section shows changes introduced with firmware V4.2.0.
General changes and remarks
- IRT support was added to all 2-port firmware
In order to use IRT for a product the corresponding IRT-related entries need to be added to GSDML file.
Note: Adding IRT support as new feature to a product requires creating a new DeviceAccessPoint in GSDML file. Application needs to be adapted to the new DAP module and submodule identifiers. A new PROFINET certification is required as well
IRT functionality is enabled by default in all 2-port firmware.
In order to deactivate IRT support in the firmware in firmware version V4.2.0.0 the tag list needs to be modified.
USB Marshaller support was added
only 32 submodules can be used (older firmware supported up to 64)
support for IO Supervisor AR was removed
behavior of DPM field “ulCommunicationState” changed completely
Packet handling (API changes)
No services have changed with firmware V4.2.0.0 compared to V4.1.0.x.
Tag list
The following changes have been done for firmware V4.2.0 compared to V4.1.0:
Affected tag list entry | Description |
---|---|
PROFINET features | It is now possible to disable IRT support in the firmware using this tag. |
LED | A complete rework of LED related tags was done.
|
Changes introduced with V4.1.0
This section shows changes introduced with firmware V4.1.0.
General changes and remarks
No significant change was made with firmware V4.1.0.0 compared to V4.0.0.x.
Packet handling (API changes)
No services have changed with firmware V4.1.0.0 compared to V4.0.0.x.
Tag list
The following changes have been done for firmware V4.1.0 compared to V4.0.0:
Affected tag list entry | Description |
---|---|
PROFINET features | The tag was added. It allows to set the amount of supported ARs for SharedDevice. |
§ ParameterType 9