This building block provides the information, how long a MachineryItem is turned on and how long it performed an activity. It uses the 2:IOperationCounterType interface and the predefined functional group 2:OperationCounters defined in OPC 10000-100.

In Figure 19, an example of a machine providing that information is given. The MachineryOperationCounterType defined in 14.2 implements the 2:IOperationCounterType interface and provides the 2:PowerOnDuration and 2:OperationDuration Properties. The X:SpecificMachineType provides the building block in its MachineryBuildingBlocks folder using the default name 2:OperationCounters. In this case, the X:SpecificMachineType also references the building block directly (like 2:Identification), in order to simplify the usage for Clients purely developed based on OPC 10000-100. It is recommended to provide this reference, but not required from perspective of this specification.

image024.png

Figure 19 – Example of Building Block for Operation Counter

In Figure 20, an example of a machine and a component of the machine, both providing operation counters, is given. This example leaves out any other building blocks like identification or domain-specific organizations. Like the machine, also the component provides the operation counters.

image025.png

Figure 20 – Example of Building Block for Operation Counter including a component

The MachineryOperationCounterType provides information about the duration something is turned on and how long it performs an activity. It is formally defined in Table 35.

Table 35 – MachineryOperationCounterType Definition

Attribute

Value

BrowseName

MachineryOperationCounterType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 2:FunctionalGroupType defined in OPC 10000-100

0:HasProperty

Variable

2:PowerOnDuration

0:Duration

0:PropertyType

O

0:HasProperty

Variable

2:OperationDuration

0:Duration

0:PropertyType

O

0:HasProperty

Variable

2:OperationCycleCounter

0:UInteger

0:PropertyType

O

0:HasProperty

Variable

0:DefaultInstanceBrowseName

0:QualifiedName

0:PropertyType

0:HasInterface

ObjectType

2:IOperationCounterType

Conformance Units

Machinery Operation Counter

The optional 2:PowerOnDuration, 2:OperationDuration and 2:OperationCycleCounter shall be used as defined in OPC 10000-100. Typically, a machine only provides the 2:PowerOnDuration to indicate how long the machine is powered on, and the 2:OperationDuration to indicate how long the machine is performing an activity. Components of a machine may also provide the 2:OperationCycleCounter to identify how often the component was switching.

The child Nodes of the MachineryOperationCounterType have additional Attribute values defined in Table 36.

Table 36 – MachineryOperationCounterType Attribute values for child Nodes

BrowsePath

Value Attribute

Description Attribute

0:DefaultInstanceBrowseName

2:OperationCounters

The default BrowseName for instances of the type

2:PowerOnDuration

-

PowerOnDuration is the duration the MachineryItem has been powered. The main purpose is to determine the time in which degradation of the MachineryItem occurred. The details, when the time is counted, is implementation-specific. Companion specifications might define specific rules. Typically, when the MachineryItem has supply voltage and the main CPU is running, the time is counted. This may include any kind of sleep mode, but may not include pure Wake on LAN. This value shall only increase during the lifetime of the MachineryItem and shall not be reset when it is restarted. The PowerOnDuration is provided as Duration, i.e., in milliseconds or even fractions of a millisecond. However, the Server is not expected to update the value in such a high frequency, but maybe once a minute or once an hour, depending on the application.

2:OperationDuration

-

OperationDuration is the duration the MachineryItem has been powered and performing an activity. This counter is intended for machines and components where a distinction is made between switched on and in operation. For example, a drive might be powered on but not operating. It is not intended for machines or components always performing an activity like sensors always measuring data. This value shall only increase during the lifetime of the MachineryItem and shall not be reset when it is restarted. The OperationDuration is provided as Duration, i.e., in milliseconds or even fractions of a millisecond. However, the Server is not expected to update the value in such a high frequency, but maybe once a minute or once an hour, depending on the application.

2:OperationCycleCounter

-

OperationCycleCounter is counting the times the component switches from not performing an activity to performing an activity. For example, each time a valve starts moving, is counted. This value shall only increase during the lifetime of the component and shall not be reset when the component is restarted.