This building block provides the information about the past and estimated remaining lifetime of a MachineryItem or other aspects of a MachineryItem like a software license. It uses the 2:LifetimeVariableType defined in OPC 10000-100 as base.

In Figure 21, an example of a machine providing such information is given. The MachineryLifetimeCounterType, defined in 15.2, contains one or many Variables of 2:LifetimeVariableType. The X:SpecificMachineType provides the building block in its MachineryBuildingBlocks folder using the default name LifetimeCounters. In the example, there is only one lifetime counter for the validity of a software license, which is also represented as Object in the AddressSpace.


Figure 21 – Example of Building Block for Lifetime Counter

In Figure 22, an example of a machine and a component of the machine, both providing lifetime counters, is given. This example leaves out any other building blocks like identification. Like the Figure 21, the machine provides a lifetime counter for its software. In addition, the component provides a lifetime counter on how many parts it has and can produce. In this case, machine and component provide the LifetimeCounters building block and both reference the PartsProduced lifetime counter, as it is important for both. This is not required, and it is also allowed that the LifetimeCounters of the machine does not reference the PartsProduced or the component does not provide the LifetimeCounters building block.


Figure 22 – Example of Building Block for Lifetime Counter including a component

In Table 37, some values are shown that could be the current state of values of the example. The software license has a validity of 365 days, where 200 days are remaining. The parts that can be produced by the component are 1000, where 553 have already been produced.

Table 37 – Lifetime examples







               EngineeringUnits (Mandatory)


number of parts

               StartValue (Mandatory)



               WarningValues (Optional)



               LimitValue (Mandatory)



               Indication (Optional)



As shown in the examples, it is expected that the lifetime counters can also be accessed by different paths than the building block. The building block allows an optimized access to all relevant counters and thus clients can supervise all those counters and indicate when a warning level or the limit value is reached.