The EncoderChannelType is the representation of the Encoder Object. Clients gain access to the Encoder Object’s data, properties, error log and configuration settings using an EncoderChannelType Object.

Table 13 – EncoderChannelType Definition

Attribute

Value

BrowseName

EncoderChannelType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasProperty

Variable

ApplicationTag

0:String

0:PropertyType

O, RO

0:HasComponent

Method

SetApplicationTag

O

0:HasProperty

Variable

EncoderProfileVersion

0:String

0:PropertyType

O, RO

0:HasComponent

Variable

EncoderChannelState

EncoderChannelStateEnumeration

0:BaseDataVariableType

O, RO

0:HasComponent

Object

Lock

2:LockingServicesType

O, RO

0:HasComponent

Variable

NIST_A

0:Int16

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

NIST_B

0:Int32

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_STW

0:UInt16

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_ZSW

0:UInt16

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_XIST1

0:UInt32

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_XIST2

0:UInt32

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_XIST3

0:UInt64

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

STW2_ENC

0:UInt16

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

ZSW2_ENC

0:UInt16

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_XIST_PRESET_B

0:UInt32

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_XIST_PRESET_C

0:UInt64

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

G1_XIST_PRESET_B1

0:UInt32

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

Position

0:Double

0:AnalogUnitRangeType

O, RO

0:HasComponent

Variable

Velocity

0:Float

0:AnalogUnitRangeType

O, RO

0:HasComponent

Variable

Acceleration

0:Float

0:AnalogUnitRangeType

O, RO

0:HasComponent

Variable

PositionSensorSignalValue

0:Number

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

Temperature

0:Float

0:AnalogUnitRangeType

O, RO

0:HasComponent

Object

SensorConfig

EncoderSensorConfigType

O

0:HasComponent

Object

AxisConfig

EncoderAxisConfigType

O

0:HasComponent

Object

ControlConfig

EncoderControlConfigType

O

0:HasComponent

Object

Logbook

LogbookType

O

0:HasComponent

Object

Sensor

EncoderSensorType

M

0:HasComponent

Object

Probes

EncoderProbesType

O

0:GeneratesEvent

ObjectType

EncoderDiagnosisEventType

Conformance Units

PNENC Signals

PNENC Measurement

PNENC Diagnosis Events

Some components of the EncoderChannelType have additional subcomponents which are defined in Table 14.

Table 14 – EncoderChannelType additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Position

0:HasComponent

Variable

Resolution

0:Double

0:BaseAnalogType

O, RO

Position

0:HasProperty

Variable

AbsolutePositionRange

0:Range

0:PropertyType

O, RO

G1_XIST1

0:HasProperty

Variable

ShiftFactorXIST1

0:UInt16

0:PropertyType

O, RO

G1_XIST1

0:HasProperty

Variable

XIST1PresetControl

EncoderPresetControlEnumeration

0:PropertyType

O, RO

G1_XIST2

0:HasProperty

Variable

ShiftFactorXIST2

0:UInt16

0:PropertyType

O, RO

Velocity

0:HasComponent

Variable

Damping

0:Float

0:BaseAnalogType

O, RO

PositionSensorSignalValue

0:HasProperty

Variable

SignalType

EncoderSignalTypeEnumeration

0:PropertyType

O, RO

The Resolution Variable  contains the resolution of the Encoder’s Position Variable Value.

The AbsolutePositionRange Variable contains the possible range of absolute position values represented as 0:Range Value.

The ShiftFactorXIST1 Variable contains the Encoder’s G1_XIST1 Standard Signal shift factor.

The XIST1PresetControl Variable contains the Encoder’s configured preset control setting for the G1_XIST1 Signal encoded as EncoderPresetControlEnumeration.

The ShiftFactorXIST2 Variable contains the Encoder’s G1_XIST2 Standard Signal shift factor.

The Damping Variable contains the damping constant associated with the Velocity Variable Value.

The SignalType Variable contains the type of the position sensor’s signal value encoded as EncoderSignalTypeEnumeration.

General Properties

The ApplicationTag Variable contains information determined by configuration or by applications. The Client can change the Value of this Variable by invoking the SetApplicationTag Method.

Before invoking a Method of the EncoderChannelType Object, Clients must gain exclusive write access (“lock” the EncoderChannelType Object) using the Lock Object.

This Method sets the Value of the ApplicationTag Variable. The security constraints defined in chapter 6.6 apply.

Signature

SetApplicationTag (

[in] 0:String ApplicationTag

);

Argument

Description

ApplicationTag

String containing the desired content of the ApplicationTag Variable.

The Method Result Codes (defined in Call Service) are defined in Table 15.

Table 15 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_InvalidArgument

The Server is not able to apply the name. The ApplicationTag string may be too long or may contain invalid characters. The server may also reject duplicates.

Bad_Locked

The EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The EncoderChannelType Object is not locked. Clients must lock the EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The EncoderProfileVersion Variable contains the encoder profile version of the Encoder Object the EncoderChannelType Object represents.

The EncoderChannelState Variable contains the representation of the G1_ZSW Signal as EncoderStateEnumeration.

The Lock Object ensures exclusive Method call for one Client. The Client locks the EncoderChannelType Object by invoking the InitLock Method of the Lock Object. The Client invokes ExitLock to release the lock.

The scope of the lock comprises all components except the EncoderProbeType Objects providing a LatchStart Method. These “controllable” probes have their own Lock Object and Clients shall be able to lock the EncoderProbeType Object separately and to invoke the LatchStart Method although the parent EncoderChannelType Object is locked.

Signal Variables

The following Variables represent the Standard Signals as defined in [ENCP], chapter 5.6.1. The supported Standard Signals are determined by the configured Standard Telegram. The Server shall provide the Variables representing the Standard Signals of the configured Standard Telegram.

The NIST_A Variable represents the “speed actual value” 16-bit signal encoded as 0:UInt16 (See [ENCP], Table 13, Signal No. 6). Mandatory for Class 4 Encoders.

The NIST_B Variable represents the “speed actual value” 32-bit signal encoded as 0:UInt32 (See [ENCP], Table 13, Signal No. 8). Mandatory for Class 2 Encoders.

The G1_STW Variable represents the “Sensor 1 control word” 16-bit signal encoded as 0:UInt16 (See [ENCP], Table 13, Signal No. 9). Mandatory for Class 3 and Class 4 Encoders.

The G1_ZSW Variable represents the “Sensor 1 status word” 16-bit signal encoded as 0:UInt16 (See [ENCP], Table 13, Signal No. 10). Mandatory for Class 3 and Class 4 Encoders.

The G1_XIST1 Variable represents the “Sensor 1 position actual value 1” 32-bit signal encoded as 0:UInt32 (See [ENCP], Table 13, Signal No. 11). Mandatory for Class 3 and Class 4 Encoders.

The G1_XIST2 Variable represents the “Sensor 1 position actual value 2” 32-bit signal encoded as 0:UInt32 (See [ENCP], Table 13, Signal No. 12). Mandatory for Class 3 and Class 4 Encoders.

The G1_XIST3 Variable represents the “Sensor 1 position actual value 3” 64-bit signal encoded as 0:UInt64 (See [ENCP], Table 13, Signal No. 39).

The STW2_ENC Variable represents the “Encoder control word 2” 16-bit signal encoded as 0:UInt16 (See [ENCP], Table 13, Signal No. 80). Mandatory for Class 1, Class2, Class 3 and Class 4 Encoders.

The ZSW2_ENC Variable represents the “Encoder status word 2” 16-bit signal encoded as 0:UInt16 (See [ENCP], Table 13, Signal No. 81). Mandatory for Class 1, Class2, Class 3 and Class 4 Encoders.

The G1_XIST_PRESET_B Variable represents the “Encoder preset control word 31 bit with trigger bit included” signal encoded as 0:UInt32 (See [ENCP], Table 13, Signal No. 82). Mandatory for Class 1 and Class2 Encoders.

The G1_XIST_PRESET_C Variable represents the “Encoder preset control word 64 bit” signal encoded as 0:UInt64 (See [ENCP], Table 13, Signal No. 83).

The G1_XIST_PRESET_B1 Variable represents the “Encoder preset control word 32 bit” signal encoded as 0:UInt32 (See [ENCP], Table 13, Signal No. 84). Mandatory for Class 1 and Class2 Encoders.

Measurement / Actual Values

The Position Variable contains the current Encoder’s position encoded as 0:Double data type. The Position Variable shall be linked to the Signal Variables representing the current position (G1_XIST1, G1_XIST2, G1_XIST3) that are part of the configured Standard Telegram using a 0:RepresentsSameEntityAs Reference.

The Velocity Variable contains the current Encoder’s velocity encoded as 0:Float data type. If a NIST_A or a NIST_B Signal Variable is part of the Information Model, the Velocity Variable shall be linked to the source Signal Variable using a 0:RepresentsSameEntityAs Reference.

The Acceleration Variable contains the currents Encoder’s rate of velocity change encoded as 0:Float data type.

The PositionSensorSignalValue Variable contains the Encoder’s position Signal encoded as numeric data type. Dependent on Encoder resolution and configured Standard Telegram number, the data type may be 0:UInt32 or 0:UInt64.

The Temperature Variable contains the Encoder’s temperature measurement value encoded as 0:Float data type.

Configuration

The SensorConfig Object contains sensor related configuration settings of the Encoder Object. See section 7.8 for details.

The AxisConfig Object contains Encoder axis related configuration settings of the Encoder Object. See section 7.6 for details.

The ControlConfig Object contains control related configuration settings of the Encoder Object. See section 7.7 for details.

Sensor & Probes

The Sensor Object offers Variables and Methods for sensor related preset- and latch control. See section 7.2 for details.

The Probes Object has References to EncoderProbeType Objects offering Variables and Methods for probes related data and latch control. See section 7.3 for details.

Diagnosis

The Logbook Object contains a representation of the Encoder Object’s fault buffer. See section 7.5 for details.

The Server might provide diagnosis data by sending EncoderDiagnosisEventType Events.

The EncoderSensorType offers Encoder sensor related settings and functions as preset control and latch functionality.

Table 16 – EncoderSensorType Definition

Attribute

Value

BrowseName

EncoderSensorType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasComponent

Method

PresetControl

O

0:HasComponent

Variable

PositionOffset

0:Number

0:BaseDataVariableType

M, RO

0:HasComponent

Method

Ref1LatchStart

O

0:HasComponent

Variable

Ref1LatchActive

0:Boolean

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

Ref1LastLatchedPos

0:Number

0:BaseDataVariableType

O, RO

0:GeneratesEvent

ObjectType

EncoderRefLatchEventType

Conformance Units

PNENC Sensor

Clients must lock the parent EncoderChannelType Object before invoking a Method of the EncoderSensorType Object.

This Method sets the preset value of the Encoder. The security constraints defined in chapter 6.6 apply.

Signature

PresetControl (

[in] 0:Number PresetValue

);

Argument

Description

PresetValue

The desired preset value to apply.

The Method Result Codes (defined in Call Service) are defined in Table 15.

Table 17 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_InvalidArgument

The Server is not able to apply the preset value. The preset value may be outside the permissive value bounds.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The PositionOffset Variable contains the calculated offset belonging to the current preset value of the Encoder.

This Method starts the latch capture function of the Encoder. The security constraints defined in chapter 6.6 apply.

Signature

Ref1LatchStart (

);

The Method Result Codes (defined in Call Service) are defined in Table 15.

Table 18 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The Ref1LatchActive Variable contains True if the Ref1 latch is active, otherwise False.

The Ref1LastLatchedPos Variable contains the last latched Ref1 position of the Encoder.

The Server might provide the Client with information about changes of the Ref1 latch data by sending EncoderRefLatchEventType Events.

Table 19 – EncoderProbesType Definition

Attribute

Value

BrowseName

EncoderProbesType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasComponent

Object

<Probex>

EncoderProbeType

OP

Conformance Units

PNENC Probes

The EncoderProbeType Objects represents the probes provided by the Encoder. There shall be as many EncoderProbeType Objects as are needed to represent all probes provided. The BrowseNames shall be provided as defined by the template string <Probex>, where x is the probe number.

The EncoderProbeType represents the Encoder’s probe functionality.

Table 20 – EncoderProbeType Definition

Attribute

Value

BrowseName

EncoderProbeType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasComponent

Object

Lock

2:LockingServicesType

O

0:HasComponent

Method

LatchStart

O

0:HasComponent

Variable

LatchActive

0:Boolean

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

LastLatchedPos

0:Number

0:BaseDataVariableType

M, RO

0:GeneratesEvent

ObjectType

EncoderProbeLatchEventType

Conformance Units

PNENC Probes

The Lock Object ensures exclusive call of the LatchStart Method for one Client. The Client locks the EncoderProbeType Object by invoking the InitLock Method of the Lock Object. The Client invokes ExitLock to release the lock.

Clients shall be able to lock the EncoderProbeType Object and to invoke the LatchStart Method although the parent EncoderChannelType Object is locked.

This Method starts the latch capture function of the represented probe. The security constraints defined in chapter 6.6 apply.

Signature

LatchStart (

);

The Method Result Codes (defined in Call Service) are defined in Table 15.

Table 21 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_Locked

The EncoderProbeType Object is locked by a different Client’s Session.

Bad_RequiresLock

The EncoderProbeType Object is not locked. Clients must lock the EncoderProbeType Object before invoking a Method.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The LatchActive Variable contains True if the represented probe’s latch is active, otherwise False.

The LastLatchedPos Variable contains the last latched position of the probe.

The Server might provide the Client with information about changes of the probe’s latch data by sending EncoderProbeLatchEventType Events.

The LogbookType Object provides access to the Encoder’s fault buffer.

Table 22 – LogbookType Definition

Attribute

Value

BrowseName

LogbookType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasComponent

Variable

LogEntries

LogEntryDataType[]

0:BaseDataVariableType

M, RO

0:HasProperty

Variable

LogbookSize

0:UInt16

0:PropertyType

M, RO

0:HasComponent

Method

DeleteLogbook

O

0:HasComponent

Method

GetFilteredLogbookEntries

O

0:HasComponent

Method

GetCurrentFaultSituation

O

0:HasComponent

Method

GetActiveDiagnosis

O

0:HasComponent

Method

GetHistoricFaultSituation

O

0:GeneratesEvent

ObjectType

LogbookEventType

Conformance Units

PNENC Logbook

The LogEntries array Variable consists of LogEntryDataType structure elements. The array is limited to the maximum size specified by the LogbookSize Property. The array contains LogEntryDataType elements for events and starts with the most recent event (the element with the most recent EventComing timestamp). If the Server maintains different fault situations in its fault buffer (see [PDP] 6.3.8.3 Fault Buffer Mechanism), faults (events) which are still present after an acknowledge generate a new entry in the actual fault situation causing more than one entry with the same EventNumber for one event.

The LogbookSize Property contains the maximum length of the LogEntries array. The actual length of the array may be smaller.

Clients must lock the parent EncoderChannelType Object before invoking a Method of the LogbookType Object.

The DeleteLogbook Method clears the LogEntries array and resets the fault buffer of the Encoder Object. The security constraints defined in chapter 6.6 apply.

Signature

DeleteLogbook (

);

The Method Result Codes (defined in Call Service) are defined in Table 23.

Table 23 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The GetFilteredLogbookEntries Method returns a LogEntries array matching the filter criteria. Method invocation shall be possible for all users (read-only).

Signature

GetFilteredLogbookEntries (

[in] 0:Byte LogbookFilterOptions,

[in] 0:Byte FaultSituationNumber

[in] EventTypeEnumeration EventType,

[in] 0:Int32 EventCode,

[in] 0:Duration EventAppearanceInterval,

[out] LogEntryDataType[] FilteredLogEntries

);

Argument

Description

LogbookFilterOptions

Parameter allowing to restrict the returned logbook entries to those having valid EventGoing and/or EventAcknowledged timestamps.

If set to 1 (“GOING” filter), only logbook entries with valid EventGoing timestamp are returned.

If set to 2 (“ACKNOWLEDGED” filter), only entries with valid EventAcknowledged timestamp are returned.

If set to 3, the logic applied is “AND”: only logbook entries meeting both filter criteria are returned.

Set to 0 if no filtering shall be applied.

If a value greater than 3 is passed, the Method Result Code shall be set to Bad_InvalidArgument.

FaultSituationNumber

Restricts the returned logbook entries to those with the FaultSituationNumber field equal to this parameter. Passing 255 means “don’t care”.

EventType

Restricts the returned logbook entries to those with the EventType field equal to this parameter. Passing “UNSPECIFIED” means “don’t care”.

EventCode

Restricts the returned logbook entries to those with the EventCode field equal to this parameter (See Table 69 fault codes). Passing 0 means “don’t care”.

EventAppearanceInterval

Time interval encoded as 0:Duration defined in [OPC 10000-3]. Restricts the returned logbook entries to those appearing within a timespan from the past up to now. The EventComing field of the logbook entries is used for checking this filter. Passing 0 means “don’t care”.

FilteredLogEntries

Array containing the logbook entries matching all filter criteria passed with the first 5 parameters. An empty array is returned if no logbook entry matches the filter criteria.

The Method Result Codes (defined in Call Service) are defined in Table 24.

Table 24 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_InvalidArgument

The Server is unable to execute the Method due to invalid arguments. For instance, the EventCode passed may be unknown.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The GetCurrentFaultSituation Method returns all log entries which occurred since the last acknowledge as LogEntries array. Starting with the most recent one, all log entries without valid EventAcknowledged timestamp are returned. Method invocation shall be possible for all users (read-only).

Signature

GetCurrentFaultSituation (

[out] LogEntryDataType[] CurrentLogEntries

);

Argument

Description

CurrentLogEntries

Array containing the log entries occurred since the last acknowledge. An empty array is returned if no logbook entry matches the filter criteria.

The Method Result Codes (defined in Call Service) are defined in Table 25.

Table 25 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The GetHistoricFaultSituation Method returns a LogEntries array with valid EventGoing field. Method invocation shall be possible for all users (read-only).

Signature

GetHistoricFaultSituation (

[in] 0:Byte FaultSituationNumber,

[out] LogEntryDataType[] HistoricLogEntries

);

Argument

Description

FaultSituationNumber

Fault situation number the faults belong to. 0 identifies the current situation, 1 the historic situation preceding the current situation, and so on (see explanation below).

HistoricLogEntries

Array containing the log entries with valid EventGoing field entry. An empty array is returned if no logbook entry matches the filter criteria.

The Method Result Codes (defined in Call Service) are defined in Table 26.

Table 26 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_InvalidArgument

The fault situation specified by FaultSituationNumber does not exist.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The GetActiveDiagnosis Method returns a LogEntries array containing log entries belonging to the current fault situation (log entries with FaultSituationNumber equal to 0) with valid EventComing timestamp, but with missing EventGoing timestamp. The method returns a subset of the entries returned by the GetCurrentFaultSituation Method. Method invocation shall be possible for all users (read-only).

Signature

GetActiveDiagnosis (

[out] LogEntryDataType[] ActiveDiagnosis

);

Argument

Description

ActiveDiagnosis

Array containing the log entries with missing EventGoing field entry. An empty array is returned if no logbook entry matches the filter criteria.

The Method Result Codes (defined in Call Service) are defined in Table 25.

Table 27 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

The Server might provide the Client with information about new incidents by sending LogbookEventType Events.

The EncoderAxisConfigType provides configuration Properties and Variables belonging to the Encoder’s axis and scaling functions.

Table 28 – EncoderAxisConfigType Definition

Attribute

Value

BrowseName

EncoderAxisConfigType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasProperty

Variable

PositionScalingFactor

0:Float

0:PropertyType

O, RO

0:HasProperty

Variable

AxisType

EncoderAxisTypeEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

CodeSequence

EncoderCodeSequenceEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

PresetOrShiftValue

0:Float

0:PropertyType

O, RO

0:HasComponent

Variable

VelocityReference

0:Float

0:BaseAnalogType

O, RO

0:HasComponent

Variable

VelocityDampingTimeConstant

0:Float

0:BaseAnalogType

O, RO

0:HasComponent

Variable

AccelerationDampingTimeConstant

0:Float

0:BaseAnalogType

O, RO

0:HasComponent

Method

SetAxisConfig

O

Conformance Units

PNENC Config Readable

PNENC Config Writable

The PositionScalingFactor Variable contains the Encoder’s position scaling factor.

The AxisType Variable contains the Encoder’s axis type encoded as EncoderAxisTypeEnumeration.

The CodeSequence Variable contains the Encoder’s code sequence setting encoded as EncoderCodeSequenceEnumeration.

The PresetOrShiftValue Variable contains the Encoder’s preset value.

The VelocityReference Variable contains the velocity reference (100% value) for N2/N4 normalised speed actual values (signals NIST_A and NIST_B).

The VelocityDampingTimeConstant Variable contains the Encoder’s velocity damping time constant.

The AccelerationDampingTimeConstant Variable contains the Encoder’s acceleration damping time constant.

This Method sets the Value of components of the AxisConfig Object to the desired value. The security constraints defined in chapter 6.6 apply. Clients must also have locked the parent EncoderChannelType Object before invoking the Method.

Signature

SetAxisConfig (

[in] 0:KeyValuePair[] AxisConfigParameters,

[out] 0:KeyValuePair[] AxisConfigParametersResult

);

Argument

Description

AxisConfigParameters

Array of 0:KeyValuePair structures containing the desired settings. The key field of each structure contains the BrowseName of one component of the AxisConfig Object. The value field contains the desired value to set for this component and must have the same DataType.

AxisConfigParametersResult

Array of 0:KeyValuePair structures. The array shall be empty if successful.

The array shall contain one element for each failed setting and the Result Code shall be Uncertain (See Table 29). The key field of each structure contains the BrowseName of the component of the AxisConfig Object for which the setting failed.

The value field is encoded as EncoderConfigParameterResultEnumeration and contains one of the following values:

INVALID:The value is rejected by the Server.

NOT_SUPPORTED: The component with the specified BrowseName does not exist.

READ_ONLY:The value cannot be changed.

The Method Result Codes (defined in Call Service) are defined in Table 29. The requested changes are applied if a Result Code with severity Good is returned. Otherwise, no Variable is changed.

Table 29 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful. The AxisConfigParametersResult array is empty.

Uncertain

The Server is not able to apply the requested changes due to invalid parameters. The AxisConfigParametersResult array is not empty.

Bad_ConfigurationError

The set of parameters passed in the AxisConfigParameters array is not consistent.

Bad_InvalidArgument

The AxisConfigParameters argument array is empty or there are member type mismatches.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

If the desired settings do not deviate from the actual settings, the Method shall do nothing and return Good as result code.

The EncoderControlConfigType Object provides Properties for configuring the alarm channel, the effect of preset functions and the tolerated Sign-Of-Life failures.

Table 30 – EncoderControlConfigType Definition

Attribute

Value

BrowseName

EncoderControlConfigType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasProperty

Variable

AlarmChannelControl

EncoderAlarmChannelControlEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

XIST1PresetControl

EncoderPresetControlEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

SignOfLifeFailuresTolerated

0:UInt16

0:PropertyType

O, RO

0:HasComponent

Method

SetControlConfig

O

Conformance Units

PNENC Config Readable

PNENC Config Writable

The AlarmChannelControl Variable contains the Encoder’s configured alarm channel setting encoded as EncoderAlarmChannelControlEnumeration.

The XIST1PresetControl Variable contains the Encoder’s configured preset control setting for the G1_XIST1 Signal encoded as EncoderPresetControlEnumeration. If the G1_XIST1 Variable is part of the Information Model, XIST1 preset control setting is always available as Property of the G1_XIST1 Variable.

The SignOfLifeFailuresTolerated contains the Encoder’s configured setting for the number of allowed failures of the master’s sign of life.

This Method sets the Value of components of the ControlConfig Object to the desired value. The security constraints defined in chapter 6.6 apply. Clients must also have locked the parent EncoderChannelType Object before invoking the Method.

Signature

SetControlConfig (

[in] 0:KeyValuePair[] ControlConfigParameters,

[out] 0:KeyValuePair[] ControlConfigParametersResult

);

Argument

Description

ControlConfigParameters

Array of 0:KeyValuePair structures containing the desired settings. The key field of each structure contains the BrowseName of one component of the ControlConfig Object. The value field contains the desired value to set for this component and must have the same DataType.

ControlConfigParametersResult

Array of 0:KeyValuePair structures. The array shall be empty if successful.

The array shall contain one element for each failed setting and the Result Code shall be Uncertain (See Table 31). The key field of each structure contains the BrowseName of the component of the ControlConfig Object for which the setting failed.

The value field is encoded as EncoderConfigParameterResultEnumeration and contains one of the following values:

INVALID:The value is rejected by the Server.

NOT_SUPPORTED: The component with the specified BrowseName does not exist.

READ_ONLY:The value cannot be changed.

The Method Result Codes (defined in Call Service) are defined in Table 31. The requested Property changes are applied if a Result Code with severity Good is returned. Otherwise, no Property is changed.

Table 31 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful. The ControlConfigParametersResult array is empty.

Uncertain

The Server is not able to apply the requested changes due to invalid parameters. The ControlConfigParametersResult array is not empty.

Bad_ConfigurationError

The set of parameters passed in the ControlConfigParameters array is not consistent.

Bad_InvalidArgument

The ControlConfigParameters argument array is empty or there are member type mismatches.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

If the desired settings do not deviate from the actual settings, the Method shall do nothing and return Good as result code.

The EncoderSensorConfigType Object provides configuration Properties related to the encoder’s sensor properties and settings.

Table 32 – EncoderSensorConfigType Definition

Attribute

Value

BrowseName

EncoderSensorConfigType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5.

0:HasProperty

Variable

SensorAbsoluteType

EncoderSensorAbsoluteTypeEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

ConfigType

EncoderConfigTypeEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

SensorResolutionIncPerRotation

0:Integer

0:PropertyType

O, RO

0:HasProperty

Variable

SensorResolutionNanometerPerIncrement

0:Integer

0:PropertyType

O, RO

0:HasProperty

Variable

ShiftFactorXIST1

0:Integer

0:PropertyType

O, RO

0:HasProperty

Variable

ShiftFactorXIST2

0:Integer

0:PropertyType

O, RO

0:HasProperty

Variable

AbsolutePosLinSupported

0:Boolean

0:PropertyType

O, RO

0:HasProperty

Variable

AbsolutePosDeterminableRevolutions

0:Integer

0:PropertyType

O, RO

0:HasComponent

Method

SetSensorConfig

O

Conformance Units

PNENC Config Readable

PNENC Config Writable

The SensorAbsoluteType Variable contains the sensor type for absolute Encoders (single-turn or multiturn) encoded as EncoderSensorAbsoluteTypeEnumeration.

The ConfigType Variable contains the configuration type (static or dynamic) of the Encoder encoded as EncoderConfigTypeEnumeration.

The SensorResolutionIncPerRotation Variable contains the number of sensor pulses generated per rotation (rotary Encoders only)

The SensorResolutionNanometerPerIncrement Variable contains the number of nanometers per increment (linear measurement system only).

The ShiftFactorXIST1 Variable contains the Encoder’s G1_XIST1 Standard Signal shift factor. Shall not be provided if not changeable. If the G1_XIST1 Variable is part of the Information Model, the shift factor is always available as Property of the G1_XIST1 Variable.

The ShiftFactorXIST2 Variable contains the Encoder’s G1_XIST2 Standard Signal shift factor. Shall not be provided if not changeable. If the G1_XIST2 Variable is part of the Information Model, the shift factor is always available as Property of the G1_XIST2 Variable.

The AbsolutePosLinSupported Variable contains True if absolute linear positioning is supported by the Encoder, otherwise False.

The AbsolutePosDeterminableRevolutions Variable specifies which absolute position value may be delivered by the sensor. The following table specifies the meaning of the possible Values of the Variable in dependence of the sensor type (See [PDP] Table 105 Subindex 5: “Determinable revolutions”).

Variable Value

Rotary Sensors

Linear Sensors

0

The sensor has no absolute information or may only display values less than one absolute revolution.

The sensor has no absolute information (for example standard incremental linear scale).

1

The sensor may display exactly one absolute revolution (For example a resolver with 1 pole pair)

The sensor delivers absolute position information.

>1

Multi-turn sensor (For example, 4 096 is a commonly used value)

-

This Method sets the Value of Properties of the SensorConfig Object to the desired value. The security constraints defined in chapter 6.6 apply. Clients must also have locked the parent EncoderChannelType Object before invoking the Method.

Signature

SetSensorConfig (

[in] 0:KeyValuePair[] SensorConfigParameters,

[out] 0:KeyValuePair[] SensorConfigParametersResult

);

Argument

Description

SensorConfigParameters

Array of 0:KeyValuePair structures containing the desired settings. The key field of each structure contains the BrowseName of one Property of the SensorConfig Object. The value field contains the desired value to set for this Property and must have the same DataType.

SensorConfigParametersResult

Array of 0:KeyValuePair structures. The array shall be empty if successful.

The array shall contain one element for each failed setting and the Result Code shall be Uncertain (See Table 33). The key field of each structure contains the BrowseName of the Property of the SensorConfig Object for which the setting failed.

The value field is encoded as EncoderConfigParameterResultEnumeration and contains one of the following values:

INVALID:The value is rejected by the Server.

NOT_SUPPORTED: The Property with the specified BrowseName does not exist.

READ_ONLY:The value cannot be changed.

The Method Result Codes (defined in Call Service) are defined in Table 33. The requested Property changes are applied if a Result Code with severity Good is returned. Otherwise, no Property is changed.

Table 33 – Possible Method Result Codes

Result Code

Description

Good

The Method execution was successful. The SensorConfigParametersResult array is empty.

Uncertain

The Server is not able to apply the requested changes due to invalid parameters. The SensorConfigParametersResult array is not empty.

Bad_ConfigurationError

The set of parameters passed in the SensorConfigParameters array is not consistent.

Bad_InvalidArgument

The SensorConfigParameters argument array is empty or there are member type mismatches.

Bad_Locked

The parent EncoderChannelType Object is locked by a different Client’s Session.

Bad_RequiresLock

The parent EncoderChannelType Object is not locked. Clients must lock the parent EncoderChannelType Object before invoking a Method.

Bad_UserAccessDenied

The user has not the right to execute the Method.

Bad_UnexpectedError

The Server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

If the desired settings do not deviate from the actual settings, the Method shall do nothing and return Good as result code.