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.
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.
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. |