FSU - Profinet FastStartUp
- Benjamin Meyer
What is FSU?
PROFINET FastStartUp (FSU) is an optional feature for Profinet devices. It decreases the time it takes after power up of IO Device to establish the cyclic connection to an IO Controller.
After powerup, the IO Device will immediately send "DCP Hello" frames to the IO Controller to indicate "i am here". The IO Device has already set an IP address in this scenario so the IO Controller can immediately start connection establishment.
Compared with a regular connection establishment, this typically saves a few seconds.
Note that FSU is only used together with PROFINET RT (as the synchronization required for PROFINET IRT can not be speed up).
What about GSDML Parameters?
The PROFINET GSDML defines three keywords that are related to FSU:
- InterfaceSubmoduleItem/@DCP_HelloSupported
- states if the Interface of the IO Device is able to send DCP Hello frames
- this is the keyword that should enable "Priorized Startup" in Engineering systems and indicates, that the shortened connection establishment introduced with FSU is supported
- DeviceAccessPointItem/@PowerOnToCommReady
- states the time in milliseconds that the device needs from "power on" until "ready to communicate"
- does NOT include the time for connection establishment
- DeviceAccessPointItem/@ParameterizationSpeedupSupported
- states if the device supports the additional feature of fastened application parameterization
- this feature is NOT bound to InterfaceSubmoduleItem/@DCP_HelloSupported
What is the meaning of GSDML keyword ParameterizationSpeedupSupported?
This keyword indicates that the device supports a specific speedup of application parameterization (as indicated by the name).
The basic idea behind the feature is that the engineering system calculates a hash value over all parameters send during connection establishment.
This hash is transfered upfront the parameterization from IO Controller to IO Device. If the IO Devices stores this hash and compares the stored value with the new one on connection establishment, it upfront knows if parameterization has changed.
In order to use this feature based on Hilscher Profinet IO Device implementations
- the GSDML keyword needs to be set
- the application needs to store the UUID transfered with service "Parameterization Speedup Support indication" in a none volatile memory
- the application needs to store all submodule parameters indicated with service "Write Record indication" in a none volatile memory
- on connection establishment (when receiving the service "Parameterization Speedup Support indication"), the application compares the stored UUID with the newly indicated one
- if they are equal the application can immediately apply the stored parameters to the submodules without waiting for Parameter End indication
- if they are not equal, a new set of parameters will be provided by IO Controller and speedup is not possible in this specific connection establishment
This feature is optional, even if FSU is supported.
The benefit of using the feature increases with the amount of parameters of the IO Device. If only a single parameter exists, there is no real benefit of using this feature.
Note that if the keyword is present in GSDML file, the engineering will always send the hash and thus the protocol stack will always generate the "Parameterization Speedup Support indication", even if FSU is currently inactive. This behavior is required by GSDML specification and thus implemented this way.
How to measure the Profinet FastStartup Time?
The Profinet Specification defines the following scenario to measure the FastStartup Time of an IO Device
- configure IO Controller and IO Device to use FSU
- for Profinet RT set the fastest supported network cycle time
- in application of IO Controller permanently write an output pin of the device to 1 (and ensure that the device default value without connection is 0)
- ensure that Autonegotiation is not used and fix Ethernet configuration is used
- ensure that FSU is working in principle prior starting measurement
- power on the IO Device and take first timestamp
- when the dedicated output pin of the IO Device changes to 1 take second timestamp
- the time difference between these two timestamps is the FastStartup Time
Note that this time is typically larger than the value of "DeviceAccessPointItem/@PowerOnToCommReady" in GSDML file as it does not include connection establishment.
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page: