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.