This Simple Data Type defines a UInt32 representing a handle to a collection of data managed by the server.

This Simple Data Type defines a String with no leading or trailing whitespace, where whitespace means the Unicode characters defined as whitespace (“WSpace=Y”, “WS”) in the Unicode database.

Where a TrimmedString is specified as input argument to a method and the incoming string contains leading or trailing whitespace, the server is entitled to react with an error (Bad_TypeMismatch) or – preferably – silently trim the string internally before processing it.

This DataType is an enumeration that identifies the filtering of particular properties in requests for lists of results, recipes etc. Its values are defined in Table 139.

Table 139 – Values of TriStateBooleanDataType

Value

Description

FALSE_0

The filtering function shall look for entities where the filtered value is FALSE.

TRUE_1

The filtering function shall look for entities where the filtered value is TRUE.

DONTCARE_2

The filtering function shall not take the value into account.

This structure contains measured times that were generated during the execution of a recipe. These measured values provide information about the duration required by the various sub-functions.

Table 140 – Definition of ProcessingTimesDataType

Name

Type

Description

O / M

ProcessingTimesDataType

structure

startTime

UtcTime

Contains the time when the vision system started execution of the recipe.

Mandatory

endTime

UtcTime

Contains the time when the vision system finished (or stopped/aborted) execution of the recipe.

Mandatory

acquisitionDuration

Duration

Time spent by the vision system acquiring images

Optional

processingDuration

Duration

Time spent by the vision system processing data

Optional

This structure is used by the client to pass an identification of the measurement to be carried out in a Start method. It is typically not changed by the server and is included in the meta data for identifying a result.

In its basic version here, the MeasIdDataType contains only a TrimmedString. It has been encapsulated in a structure for the purpose of easy sub-typing if more sophisticated identification is required.

A basic MeasIdDataType structure is considered empty when the id member has length 0. For sub-types of MeasIdDataType additional rules may apply., i.e., they shall always be considered empty, when the Id member has length 0, and may also be considered empty when other structure members fulfill particular conditions.

Table 141 – Definition of MeasIdDataType

Name

Type

Description

O / M

MeasIdDataType

structure

id

TrimmedString

Id is an identifier/name for identifying the measurement operation. This identifier is passed by the client to the vision system so no assumptions can be made about its uniqueness or other properties.

Mandatory

description

LocalizedText

Optional short human readable description of the measurement.

Optional

This structure defines the identification of a part, i.e. a Unit Under Test. It is formally defined in Table 142.

PartId structures can be passed by the client with a Start method call and should be stored by he server in results pertaining to that part. Thus they describe the connection between a unit under test and a result, which was created during the processing of a recipe applied on this unit under test.

In its basic version here, the PartIdDataType contains only a TrimmedString. It has been encapsulated in a structure for the purpose of easy sub-typing if more sophisticated identification is required, e.g. including a batch or carrier Id.

A basic PartIdDataType structure is considered empty when the id member has length 0. For sub-types of PartIdDataType this can be defined differently.

Table 142 – Definition of PartIdDataType

Name

Type

Description

O / M

PartIdDataType

structure

id

TrimmedString

Describes the connection between a unit under test and a result, which was created during the processing of a recipe applied on this unit under test. Usually passed by the client with a Start method call and not changed by the server.

Mandatory

description

LocalizedText

Optional short human readable description of the part.

Optional

This structure is used to pass an identification of the measurement to be carried out following a Start method call. It is typically included in the meta data for identifying a result.

In its basic version here, the JobIdDataType contains only a TrimmedString. It has been encapsulated in a structure for the purpose of easy sub-typing if more sophisticated identification is required.

A basic JobIdDataType structure is considered empty when the id member has length 0. For sub-types of JobIdDataType additional rules may apply, i.e. they shall always be considered empty, when the Id member has length 0, and may also be considered empty when other structure members fulfill particular conditions.

Table 143 – Definition of JobIdDataType

Name

Type

Description

O / M

JobIdDataType

structure

id

TrimmedString

Id is a system-wide unique identifier/name for identifying the job carried out.

Mandatory

This abstract DataType is the base data type for identifying binary data internally and externally. Its subtypes are used in objects of RecipeType which is defined in Section 7.7., of ConfigurationDataType which is defined in Section 12.12 and also in results. It is formally defined in Table 144.

The main rationale for introducing a base type and several (identical) subtypes is to facilitate a type-safe enforcing of the distinction between external and internal Ids in method arguments.

Table 144 – Definition of BinaryIdBaseDataType

Name

Type

Description

O / M

BinaryIdBaseDataType

structure

Id

TrimmedString

Id is a system-wide unique name for identifying the binary data.

Mandatory

Version

TrimmedString

Represents an optional version number of the identified binary data. It is recommended to be of the format Major.minor.patch.build or a subset thereof, but the actual format is implementation defined.

Optional

hash

ByteString

Represents an optional hash of the binary content of the actual data (as it would be transmitted by the transfer methods).

The hash is supposed to be provided by the environment if existing. The environment shall use the same hash function on all binary data so that a difference in the hash indicates a difference in the binary data. It is recommended to use the SHA-256 algorithm for computing the hash, however, the actual algorithm is implementation-defined.

Optional

hashAlgorithm

String

Name of the hash function used. Required if internally and externally computed hashes are to be compared

Optional

description

LocalizedText

Optional short human readable description of the configuration

Optional

This structure is used for the external identification of recipes. It is identical to BinaryIdBaseDataType described in Section 12.8 except that it is not abstract.

This structure is used for the internal identification of recipes. It is identical to BinaryIdBaseDataType described in Section 12.8 except that it is not abstract.

This structure contains elements to control the transfer of the actual content of a vision system recipe by TemporaryFileTransfer using the GenerateFileForRead and GenerateFileForWrite methods of the RecipeTransferType ObjectType defined in Section 7.6. The structure is formally defined in Table 145Table 147.

Table 145 – RecipeTransferOptions structure

Name

Type

Description

O / M

RecipeTransferOptions

structure

internalId

RecipeIdInternalDataType

The InternalId of the recipe to be transferred to or from the client.

Mandatory

If RecipeTransferOptions are used in connection with AddRecipe method, the InternalId returned by AddRecipe is to be used for generating the transfer file to have an unambiguous identification.

This structure is used to manage one external configuration. It has no knowledge of the internal structure of an external configuration. The actual configuration used by the machine vision system is a system-specific structure, which may be transferred using a TemporaryFileTransfer.

Table 146 – Definition of ConfigurationDataType

Name

Type

Description

O / M

ConfigurationDataType

structure

hasTransferableDataOnFile

Boolean

Indicates that actual content of the configuration may be transferred through temporary file transfer method.

Optional

externalId

ConfigurationIdDataType

Identification of the configuration used by the environment. This argument must not be empty.

Optional

internalId

ConfigurationIdDataType

System-wide unique ID for identifying a configuration. This ID is assigned by the vision system.

Mandatory

lastModified

UtcTime

The time and date when this configuration was last modified.

Mandatory

This structure is used for the identification of an object of ConfigurationDataType which is defined in Section 12.12. It is identical to BinaryIdBaseDataType described in Section 12.8 except that it is not abstract.

This structure contains elements to control the transfer of the actual content of a vision system configuration by TemporaryFileTransfer using the GenerateFileForRead and GenerateFileForWrite methods of the ConfigurationTransferType ObjectType defined in Section 7.4. The structure is formally defined in Table 147.

Table 147 – Definition of ConfigurationTransferOptions

Name

Type

Description

O / M

ConfigurationTransferOptions

structure

internalId

ConfigurationIdDataType

The Id of the configuration to be transferred to or from the client.

Mandatory

This structure is used to reference one product known to the vision system. It has no knowledge of the actual manner of managing a product in the vision system, it merely signals that the vision system has knowledge of said product.

Table 148 – Definition of ProductDataType

Name

Type

Description

O / M

ProductDataType

Structure

externalId

ProductIdDataType

Identification of the product used by the environment. This argument must not be empty.

Mandatory

This structure is used for identifying an object of ProductDataType.

In its basic version here, the ProductIdDataType contains only a TrimmedString. It has been encapsulated in a structure for the purpose of easy sub-typing if more sophisticated identification is required.

A basic ProductIdDataType structure is considered empty when the id member has length 0. For sub-types of ProductIdDataType additional rules may apply. , i.e., they shall always be considered empty, when the Id member has length 0, and may also be considered empty when other structure members fulfill particular conditions.

Table 149 – Definition of ProductIdDataType

Name

Type

Description

O / M

ProductIdDataType

structure

id

TrimmedString

Id is a system-wide unique identifier/name for identifying the product.

Mandatory

description

LocalizedText

Optional short human readable description of the configuration

Optional

This structure contains properties that were created during the execution of a recipe. The Id is required to retrieve a result using the method GetResultById, which is defined in Section 7.10.2.1. A result may be a total or a partial result, which is defined by the value of the property IsPartial. The structure of the ResultContent which is generated by the vision system is application-specific and not defined at this time.

Note that this DataType contains nested structures, namely the Id types. If these are subtyped, the entire structure needs to be sub-typed also so that the client can recognize that fact.

Table 150 – Definition of ResultDataType

Name

Type

Description

O / M

ResultDataType

Structure

resultId

ResultIdDataType

System-wide unique identifier, which is assigned by the system. This ID can be used for fetching exactly this result using the methods detailed in Section 7.10.2 and it is identical to the ResultId of the ResultReadyEventType defined in Section8.3.8.4.

Mandatory

hasTransferableDataOnFile

Boolean

Indicates that additional data for this result can be retrieved by temporary file transfer

Optional

isPartial

Boolean

Indicates whether the result is the partial result of a total result.

Mandatory

isSimulated

Boolean

Indicates whether the system was in simulation mode when the result was created.

Optional

resultState

ResultStateDataType

ResultState provides information about the current state of a result and the ResultStateDataType is defined in Section 12.18.

Mandatory

measId

MeasIdDataType

This identifier is given by the client when starting asingle or continuous execution and transmitted to the vision system. It is used to identify the respective result data generated for this job. Although the system-wide unique JobId would be sufficient to identify the jobwhich the result belongs to, this makes for easier filtering on the part of the client without keeping track of JobIds.

Optional

partId

PartIdDataType

A PartId is given by the client when starting the job; although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering on the part of the client without keeping track of JobIds.

Optional

externalRecipeId

RecipeIdExternalDataType

External Id of the recipe in use which produced the result. The ExternalID is only managed by the environment.

Optional

internalRecipeId

RecipeIdInternalDataType

Internal Id of the recipe in use which produced the result. This ID is system-wide unique and it is assigned by the vision system.

Mandatory

productId

ProductIdDataType

productId which was used to trigger the job which created the result.

Optional

externalConfigurationId

ConfigurationIdDataType

External Id of the configuration in use while the result was produced.

Optional

internalConfigurationId

ConfigurationIdDataType

Internal Id of the configuration in use while the result was produced. This ID is system-wide unique and it is assigned by the vision system.

Mandatory

jobId

JobIdDataType

The ID of the job, created by the transition from state Ready to state SingleExecution or to state ContinuousExecution which produced the result.

Mandatory

creationTime

UtcTime

CreationTime indicates the time when the result was created.

Mandatory

processingTimes

ProcessingTimesDataType

Collection of different processing times that were needed to create the result.

Optional

resultContent

BaseDataType[]

Abstract data type to be subtyped from to hold result data created by the selected recipe.

Optional

This structure is used to pass an identification of a result generated by an operation of the vision system.

In its basic version here, the ResultIdDataType contains only a TrimmedString. It has been encapsulated in a structure for the purpose of easy sub-typing if more sophisticated identification is required.

A basic ResultIdDataType structure is considered empty when the id member has length 0. For sub-types of ResultIdDataType additional rules may apply, i.e. they shall always be considered empty, when the Id member has length 0, and may also be considered empty when other structure members fulfil particular conditions.

Table 151 – Definition of ResultIdDataType

Name

Type

Description

O / M

ResultIdDataType

structure

Id

TrimmedString

Id is a system-wide unique identifier/name for identifying the generated result.

Mandatory

This subtype of Int32 provides information about the current state of a result. This status can change during recipe processing.

It is deliberately not an Enumeration, allowing for system-specific extensions.

Table 152 – Definition of ResultStateDataType

Attribute

Value

BrowseName

ResultStateDataType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Int32 DataType defined in OPC 10000-5

Table 153 – Values of ResultStateDataType

Allowed Value

Description

< 0

Application-specific states

0

Undefined: Initialization value. When returned by access methods of ResultManagementType it indicates an error.

1

Completed: Processing was carried out correctly.

2

Processing: Processing has not been finished yet.

3

Aborted: Processing was stopped at some point before completion.

4

Failed: Processing failed in some way.

This structure contains elements to control the transfer of the actual content of a vision system result by TemporaryFileTransfer using the GenerateFileForRead method of the ResultTransferType ObjectType defined in Section 7.12. The structure is formally defined in Table 154.

Table 154 – Definition of ResultTransferOptions

Name

Type

Description

O / M

ResultTransferOptions

structure

id

ResultIdDataType

The Id of the result to be transferred to the client.

Mandatory

This DataType is an enumeration that identifies the pre-defined SEMI E10 states as described in Section 11.6. Its values are defined in Table 155.

Table 155 – Values of SystemStateDataType

Value

Description

PRD_1

Production: The vision system is currently working on a job.

SBY_2

Stand by: The vision system is ready to accept a command but is currently not executing a job. It could for example be waiting for a Start command or a user input.

ENG_3

Engineering: The vision system is not working and not ready to accept a command because a user is currently working on the system. This could be for editing a recipe or changing the system configuration.

SDT_4

Scheduled downtime: The vision system is not available for production and this was planned in advance. This could be for cleaning, maintenance or calibration works.

UDT_5

Unscheduled downtime: The vision system is not available for production due to failure and repair. This covers all kinds of error states that might occur during operation.

NST_6

Nonscheduled time: The vision system is not working because no production was scheduled. This also covers things like operator training on the system.

This structure is used to describe the system state as explained in Section 11.6.

Table 156 – Definition of SystemStateDescriptionDataType

Name

Type

Description

O / M

SystemStateDescriptionDataType

Structure

state

SystemStateDataType

Denotes one of the basic SEMI E10 states

Mandatory

stateDescription

TrimmedString

Optional string describing the full state path, starting with the SEMI E10 state denoted by the state member; the string format is described in Section 11.6.

Optional