7 OPC UA ObjectTypes

7.1 TextileTestingDeviceType ObjectType definition

7.1.1 Overview

The TextileTestingDeviceType is the main entry point for the functionality of the TTD.

The TextileTestingDeviceType is formally defined in Table 15.

Table 15 – TextileTestingDeviceType Definition
Attribute Value
BrowseNameTextileTestingDeviceType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseObjectType defined in OPC 10000-5
0:HasPropertyVariableAvailableExchangeablePartsExchangeablePartDataType[]0:PropertyTypeM
0:HasAddInObject2:Identification3:MachineIdentificationTypeM
0:HasPropertyVariableInstalledTesterModulesOptionalModuleDataType[]0:PropertyTypeM
0:HasComponentObjectMachineStatisticsMachineStatisticsTypeM
0:HasAddInObject3:MachineryBuildingBlocks0:FolderTypeM
0:HasComponentObject6:Notification6:NotificationTypeM
0:HasComponentObjectRecipeManagementRecipeManagementTypeM
0:HasPropertyVariableTestProcedureIdsTestProcedureIdDataType[]0:PropertyTypeM
Conformance Units
TTD_TextileTestingDeviceType

AvailableExchangeableParts is an array holding the available exchangeable parts of the TTD.

2:Identification is the entry point for the MachineIdentification.

InstalledTesterModules is an array that stores the optional modules for the TTD.

MachineStatistics holds the machine statistics for the TTD.

3:MachineryBuildingBlocks contains all machinery building blocks. See for More Information.

6:Notification is the main entry point for upcoming events from the device. It also contains different tasks like calibration that have to be performed on the TTD. The NotificationType is inherited from OPC 40501-1.

RecipeManagement is the entry point for the recipe management on the TTD.

ResultManagement is the entry point for the result management on the TTD.

TestProcedureIds is an array that contains the IDs of the test procedures of the TTD.

The components of the TextileTestingDeviceType have additional references which are defined in Table 16.

Table 16 – TextileTestingDeviceType Additional References
SourceBrowsePath Reference Type Is Forward TargetBrowsePath
3:MachineryBuildingBlocks0:HasAddIntrue2:Identification

The components of the TextileTestingDeviceType have additional subcomponents which are defined in Table 17.

Table 17 – TextileTestingDeviceType Additional Subcomponents
Source Path Reference NodeClass BrowseName DataType TypeDefinition Others
3:MachineryBuildingBlocks0:HasAddInObject3:MachineryItemState3:MachineryItemState_StateMachineTypeM
3:MachineryBuildingBlocks0:HasAddInObject3:MachineryOperationMode3:MachineryOperationModeStateMachineTypeM
3:MachineryBuildingBlocks0:HasAddInObject8:JobManagement8:JobManagementTypeM
3:MachineryBuildingBlocks0:HasAddInObject4:ResultManagementTTDResultManagementTypeM

MachineryItemState is the entry point for the MachineryItemState statemachine and holds the state of the TTD.

MachineryOperationMode is the entry point for the MachineryOperationMode statemachine and holds the operation mode of the TTD.

JobManagement is the entry point for the job management for the TTD.

7.1.2 Additional Information about the Job Management

7.1.2.1 Overview

OPC 10031-4 defines mechanisms to add job order information using the 7:ISA95JobOrderDataType and mechanisms getting the result or current status of the job order using the 7:ISA95JobResponseDataType. Both DataTypes define arrays of properties of a job order: general, personal, equipment, physical assets, and material. The 7:ISA95JobOrderDataType uses the general properties to describe the job order and the other properties to define the requirements, whereas the 7:ISA95JobResponseDataType uses the general properties to describe the output and the other properties to provide the information what has been used.

OPC UA Machinery Job Management (OPC 40001-3) standardizes some of those parameters, which are application-specific from the view of OPC 10031-4.

The guidelines and extensions specified in this section are designed to complement the foundational models, providing a structured framework for implementation. The Optional element (e.g. fields or parameters) of the OPC 10031-4 or OPC 40001-3 may be used as defined.

Table 18 – Predefined 7:ISA95JobOrderDataType/JobOrderParameters
KeyDataTypeDescriptionEngineering UnitsSub-parametersOthers
RecipeIdRecipeIdDataTypeThe available Recipes are stored on the TTD and referenced by their Id.--M
NumberOfTestsTestNumDataType[]This array contains TestNumDataType structures that describe how many tests per procedure have to be performed.--M
SampleInfosSampleInfoDataType[]This array contains SampleInfoDataType structures that hold the information about the samples that have to be tested.--M
CarrierTypeId0:StringId to identify the creel geometry or the geometry of the fiber container.--M
CarrierId0:StringId of the fiber container or carrier/creel. For creels it represents the number of the creel wagon.--M
AdditionalInfos0:KeyValuePair[]A set of key/value pairs that define additional information for the job.--O
Scheduled0:BooleanIndicates if a job was scheduled by a remote client (MES).--M
Table 19 – Predefined 7:ISA95JobResponseDataType/JobResponseData
KeyDataTypeDescriptionEngineering UnitsSub-parametersOthers
TesterJobId0:StringTTD-internal id given to the tested set of samples(job).--M
TotalInitializingTime0:DurationThe total time in ms the job was initializing. The initializing time starts/resets when the job enters the AllowedToStart state and stops when the job enters the Running or Aborted state.--M
TotalInterruptedTime0:DurationThe Time in ms the job was interrupted--M
TotalRunningTime0:Durationthe total time in ms the job was running--M

Additional to the listed Keys the Fields StartTime and EndTime are Mandatory in the JobResponseDataType.

7.2 RecipeManagementType ObjectType Definition

7.2.1 Overview

The RecipeManagementType is the entry point for the recipe management on the TTD. It provides an array of RecipeIds containing the metadata of all recipes that are stored on the TTD as well as methods for accessing the content of the recipe and methods for adding/deleting recipes to/from the TTD.

The RecipeManagementType is formally defined in Table 20.

Table 20 – RecipeManagementType Definition
Attribute Value
BrowseNameRecipeManagementType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseObjectType defined in OPC 10000-5
0:HasPropertyVariableRecipeIdsRecipeIdDataType[]0:PropertyTypeM
0:HasComponentMethodGetRecipeIdsM
0:HasComponentMethodGetRecipeO
0:HasComponentMethodSetRecipeO
0:HasComponentMethodDeleteRecipeO
0:HasComponentMethodGetRecipesO
0:HasComponentMethodSetRecipesO
Conformance Units
TTD_RecipeManagementType

RecipeIds is a Property that stores the metainformation for all recipes that are stored on the TTD.

GetRecipeIds is a Method that is used to retrieve the metadata for all recipes that are stored on the TTD.

GetRecipe is a Method that is used to retrieve the content of a recipe with a given id.

SetRecipe is a Method that is used to store a recipe on the TTD. A flag is used to indicate if the recipe should be overwritten if a recipe with the same id already exists on the TTD.

DeleteRecipe is a Method that is used to remove a recipe from the TTD. The id of the recipe is used to identify the recipe that is to be deleted.

GetRecipes is a Method that is used to retrieve all recipes (metadata and content) that are stored on the TTD at once.

SetRecipes is a Method that is used to store a set of recipes on the TTD. A flag is used to indicate if the recipes should be overwritten if a recipe with the same id already exists on the TTD.

7.2.2 GetRecipeIds

The Method GetRecipeIds is used to get information about all recipes that are stored on the TTD. The recipe metadata for all recipes is returned in the output parameter RecipeIds.

The signature of this Method is specified below. Table 21 and Table 22 specify the Arguments and AddressSpace representation, respectively.

Signature

	GetRecipeIds (
		[out]	RecipeIdDataType[]	RecipeIds)
Table 21 – GetRecipeIds Method Arguments
Argument Description
RecipeIdsAn array containing the recipe ids that are stored on the device.
Table 22 – GetRecipeIds Method AddressSpace Definition
Attribute Value
BrowseNameGetRecipeIds
References Node Class BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:OutputArguments0:Argument[]0:PropertyType0:Mandatory

7.2.3 GetRecipe

The Method GetRecipe is used to get the recipe content for a given RecipeId. The RecipeId has to match the system-wide unique Id property of the RecipeIdDataType associated with the recipe on the TTD. The output parameter Recipe is used to return the recipe.

The signature of this Method is specified below. Table 23 and Table 24 specify the Arguments and AddressSpace representation, respectively.

Signature

	GetRecipe (
		[in]	0:String	RecipeId,
		[out]	RecipeDataType	Recipe)
Table 23 – GetRecipe Method Arguments
Argument Description
RecipeIdThe id of the recipe that is to be retrieved.
RecipeThe recipe.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_NotFoundSee OPC 10000-4 for a general description. Returned when there is no Recipe with the given RecipeId.
Table 24 – GetRecipe Method AddressSpace Definition
Attribute Value
BrowseNameGetRecipe
References Node Class BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[]0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[]0:PropertyType0:Mandatory

7.2.4 SetRecipe

The Method SetRecipe is used to store a recipe on the TTD. Beneath the Recipe that is to be stored on the TTD the method takes an additional input parameter Overwrite that indicates if the recipe should be overwritten in case a recipe with the same id already exists on the TTD.

The signature of this Method is specified below. Table 25 and Table 26 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetRecipe (
		[in]	RecipeDataType	Recipe,
		[in]	0:Boolean	Overwrite)
Table 25 – SetRecipe Method Arguments
Argument Description
RecipeThe recipe that is to be stored on the TTD.
OverwriteA flag is used to indicating if the Recipe shall be overridden if there is already a recipe with the same id on the TTD.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_InvalidStateReturned when the Overwrite flag is set to false and a Recipe with the same id already exists on the server so that the server is not allowed to overwrite.
Bad_NotSupportedReturned if the Overwrite flag is set but not supported by the server.
Table 26 – SetRecipe Method AddressSpace Definition
Attribute Value
BrowseNameSetRecipe
References Node Class BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[]0:PropertyType0:Mandatory

7.2.5 DeleteRecipe

The Method DeleteRecipe is used to delete a recipe from the TTD. The given RecipeId has to match the system-wide unique Id property of the RecipeIdDataType associated with the recipe on the TTD.

The signature of this Method is specified below. Table 27 and Table 28 specify the Arguments and AddressSpace representation, respectively.

Signature

	DeleteRecipe (
		[in]	0:String	RecipeId)
Table 27 – DeleteRecipe Method Arguments
Argument Description
RecipeIdThe id of the recipe that is to be deleted.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_NotFoundSee OPC 10000-4 for a general description. Returned when there is no Recipe with the given RecipeId.
Table 28 – DeleteRecipe Method AddressSpace Definition
Attribute Value
BrowseNameDeleteRecipe
References Node Class BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[]0:PropertyType0:Mandatory

7.2.6 GetRecipes

The Method GetRecipes is used to get the recipe content for all recipes stored on the TTD. The output parameter Recipes is used to return all recipes that are currently stored on the TTD.

The signature of this Method is specified below. Table 29 and Table 30 specify the Arguments and AddressSpace representation, respectively.

Signature

	GetRecipes (
		[out]	RecipeDataType[] Recipes)
Table 29 – GetRecipes Method Arguments
Argument Description
RecipesAn array of all stored recipes on the TTD.

Method Result Codes (defined in Call Service)

Result Code Description
BadEncodingLimitsExceededReturned when the size of the Recipes on the TTD exceeds the maximum message size of the server. This may happen if a large number of Recipes are stored on the TTD and the maximum message size is configured small.
Table 30 – GetRecipes Method AddressSpace Definition
Attribute Value
BrowseNameGetRecipes
References Node Class BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:OutputArguments0:Argument[]0:PropertyType0:Mandatory

7.2.7 SetRecipes

The Method SetRecipes is used to store a set of recipes on the TTD. Beneath the Recipes that are to be stored on the TTD the method takes an additional input parameter Overwrite that indicates if the recipes should be overwritten in case a recipe with the same id already exists on the TTD.

The signature of this Method is specified below. Table 31 and Table 32 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetRecipes (
		[in]	RecipeDataType[]	Recipes,
		[in]	0:Boolean	Overwrite)
Table 31 – SetRecipes Method Arguments
Argument Description
RecipesAn array of recipes that is to be stored on the TTD.
OverwriteA flag indicating if recipes should be replaced if there are already recipes with the same id on the TTD.
Table 32 – SetRecipes Method AddressSpace Definition
Attribute Value
BrowseNameSetRecipes
References Node Class BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[]0:PropertyType0:Mandatory

7.3 MachineStatisticsType ObjectType Definition

The MachineStatisticsType tracks KPI information of the TTD. Therefore, it measures the time the TTD is in the different MachineryItemState states. The MachineryItemState states are: Executing, NotExecuting, NotAvailable and OutOfService.

The MachineStatisticsType is formally defined in Table 33.

Table 33 – MachineStatisticsType Definition
Attribute Value
BrowseNameMachineStatisticsType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseObjectType defined in OPC 10000-5
5:HasStatisticComponentVariableTotalExecutingTime0:Duration0:BaseDataVariableTypeM, RO
5:HasStatisticComponent VariableTotalNotAvailableTime0:Duration0:BaseDataVariableTypeM, RO
5:HasStatisticComponentVariableTotalNotExecutingTime0:Duration0:BaseDataVariableTypeM, RO
5:HasStatisticComponentVariableTotalOutOfServiceTime0:Duration0:BaseDataVariableTypeM, RO
0:HasPropertyVariable5:StartTime0:DateTime0:PropertyTypeO
0:HasComponentMethod5:ResetStatisticsO
0:HasInterfaceObjectType5:IStatisticsType
Conformance Units
TTD_MachineStatisticsType

TotalExecutingTime stores the total time in ms the TTD was executing.

TotalNotAvailableTime stores the total time in ms the TTD was not available.

TotalNotExecutingTime stores the total time in ms the TTD was not executing, but operational. E.g. The TTD was in an idle state.

TotalOutOfServiceTime stores the total time in ms the TTD was out of service.

StartTime indicates the point in time at which the collection of the statistical data has been started.

ResetStatistics restarts all statistical data, including a reset of the StartTime to the current time.

7.4 RecurrentPrognosisType ObjectType Definition

The RecurrentPrognosisType represents recurrent tasks, such as calibration tasks in the TTD and is formally defined in Table 34. It is used in the TTD under the browse path /Notifications/Prognoses.

Table 34 – RecurrentPrognosisType Definition
Attribute Value
BrowseNameRecurrentPrognosisType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of PrognosisType defined in OPC 40501-1
0:HasComponentVariableActivity0:LocalizedText0:BaseDataVariableTypeM
0:HasPropertyVariableInterval0:UtcTime0:PropertyTypeO
0:HasPropertyVariableLastExecutionTime0:UtcTime0:PropertyTypeM
Conformance Units
TTD_RecurrentPrognosisType

Activity is a localized text message specifying the task that is to be performed.

Interval represents the normal (estimated) time period between two task executions.

LastExecutionTime is the last time the task finished its execution.

7.5 TTDResultManagementType ObjectType Definition

The TTDResultManagementType provides mechanisms to access results generated by the TTD. Basically this is a subtype of the 4:ResultManagementType enforcing the implementation of different methods and objects for the result transfer mechanisms that should be used on the TTD. In general, we want to accomplish the following tasks:

Results can be stored in a local result store of the TTD

Data results or ResultIds can be obtained using the 4:Results folder and the 4:GetResultById method

Data results or ResultIds can be obtained using the 4:ResultReadyEvent

File results can be obtained using the 4:ResultTransfer (4:ResultTransferType) and its 0:GenerateFileForRead method

The TTDResultManagementType is formally defined in Table 35.

Table 35 – TTDResultManagementType Definition
Attribute Value
BrowseNameTTDResultManagementType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 4:ResultManagementType defined in OPC 40001-101
0:HasComponentObject4:Results0:FolderTypeM
0:HasComponentObject4:ResultTransfer4:ResultTransferTypeM
0:HasComponentMethod4:GetResultByIdM
0:GeneratesEventObjectTypeTTDResultReadyEventType
Conformance Units
TTD_TTDResultManagementType

4:Results is a folder that is used to organize available results of the system. It is supposed to store variables of the 4:TTDResultType. A 4:ResultType contains the 4:ResultMetaData (see subtype TTDResultMetaDataType) used to identify the result and optional an data based 4:ResultContent or 4:ReducedResultContent. The ResultContent may be of any DataType but typically it is a field of StatisticResultContent defined in this specification or a 0:ByteString of any raw data.

4:ResultTransfer is used to transfer the content of a result by a temporary file transfer. The file that is to be transferred is identified by its ResultId.

4:GetResultById is used to retrieve a result (4:ResultDataType) from the TTD.

Table 36 – TTDResultManagementType Additional Subcomponents
BrowsePath References NodeClass BrowseName DataType TypeDefinition Others
4:Results0:HasComponentVariable4:<ResultVariable>4:ResultDataTypeTTDResultTypeOP