The MotionDeviceType describes one independent motion device, e.g. a manipulator, a turn table, or a linear axis. Examples are described in Annex B.
A MotionDevice shall have at least one axis and one power train. The MotionDeviceType is formally defined in 7.2.2
Figure 13 – Overview MotionDeviceType
Table 13 – MotionDeviceType Definition
Attribute |
Value |
||||
BrowseName |
MotionDeviceType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the ComponentType defined in OPC Unified Architecture for Devices (DI), inheriting the InstanceDeclarations of that Node |
|||||
0:HasProperty |
Variable |
2:SerialNumber |
0:String |
0:PropertyType |
M |
0:HasProperty |
Variable |
2:Manufacturer |
0:LocalizedText |
0:PropertyType |
M |
0:HasProperty |
Variable |
2:Model |
0:LocalizedText |
0:PropertyType |
M |
0:HasProperty |
Variable |
2:ProductCode |
0:String |
0:PropertyType |
M |
0:HasProperty |
Variable |
MotionDeviceCategory |
MotionDeviceCategoryEnumeration |
0:PropertyType |
M |
0:HasComponent |
Variable |
TaskControlReference |
0:NodeId |
0:BaseDataVariableType |
O |
0:HasComponent |
Object |
2:ParameterSet |
|
0:BaseObjectType |
M |
0:HasComponent |
Object |
Axes |
|
0:FolderType |
M |
0:HasComponent |
Object |
PowerTrains |
|
0:FolderType |
M |
0:HasComponent |
Object |
FlangeLoad |
|
LoadType |
O |
0:HasComponent |
Object |
AdditionalComponents |
|
0:FolderType |
O |
0:HasProperty |
Variable |
2:AssetId |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
2:DeviceManual |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
2:ComponentName |
0:LocalizedText |
0:PropertyType |
O |
Conformance Units |
|||||
Rob MotionDeviceSystem Base |
|||||
Rob MotionDevice AM Extended |
|||||
Rob MotionDevice CM Extended |
|||||
Rob MotionDevice Flangeload |
|||||
Rob TC Relationship |
The components of the MotionDeviceType have additional subcomponents which are defined in Table 14.
Table 14 – MotionDeviceType Additional Subcomponents
Source Path |
Reference |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
2:ParameterSet |
0:HasComponent |
Variable |
OnPath |
0:Boolean |
0:BaseDataVariableType |
O |
2:ParameterSet |
0:HasComponent |
Variable |
InControl |
0:Boolean |
0:BaseDataVariableType |
O |
2:ParameterSet |
0:HasComponent |
Variable |
SpeedOverride |
0:Double |
0:BaseDataVariableType |
M |
Axes |
0:HasComponent |
Object |
<AxisIdentifier> |
|
AxisType |
MP |
PowerTrains |
0:HasComponent |
Object |
<PowerTrainIdentifier> |
|
PowerTrainType |
MP |
AdditionalComponents |
0:HasComponent |
Object |
<AdditionalComponentIdentifier> |
|
0:BaseObjectType |
MP |
The SerialNumber property is a unique production number assigned by the manufacturer of the device. This is often stamped on the outside of the device and may be used for traceability and warranty purposes. This property is derived from ComponentType defined in OPC 10000-100.
The Manufacturer property provides the name of the company that manufactured the device. This property is derived from ComponentType defined in OPC 10000-100.
The Model property provides the name of the product. This property is derived from ComponentType defined in OPC 10000-100.
The ProductCode property provides a unique combination of numbers and letters used to identify the product. It may be the order information displayed on type shields or in ERP systems. This property is derived from ComponentType defined in OPC 10000-100.
The AssetId property is a user writable alphanumeric character sequence uniquely identifying a component. The vendor, integrator or user of the device provides the ID. It contains typically an identifier in a branch, use case or user specific naming scheme. This could be for example a reference to an electric scheme. For electric schemes typically EN 81346-2 is used. A use case could be to build up a location-oriented view in a spare part management client software. It enables to identify parts with the same article number which is not possible if this entry is not used. This property is defined by ComponentType defined in OPC 10000-100.
The DeviceManual property allows specifying an address of the user manual for the device. It may be a pathname in the file system or a URL (Web address). This property is defined by ComponentType defined in OPC 10000-100.
The ComponentName property provides a user writeable name provided by the vendor, integrator, or user of the device. The ComponentName may be a default name given by the vendor. This property is defined by ComponentType defined in OPC 10000-100.
FlangeLoad provides data for the load at the flange or mounting point of the motion device.
The variable MotionDeviceCategory provides the kind of motion device defined by MotionDeviceCategoryEnumeration based on ISO 8373 (10.1).
The Variable TaskControlReference provides a NodeId pointing to the instance of TaskControlOperationType defined in 7.15, which controls this motion device in combination with the loaded program.
Description of ParameterSet of MotionDeviceType:
- Variable OnPath: The variable OnPath is true if the motion device is on or near enough the planned program path such that program execution can continue. If the MotionDevice deviates too much from this path in case of errors or an emergency stop, this value becomes false. If OnPath is false, the motion device needs repositioning to continue program execution.
- Variable InControl: The variable InControl provides the information if the actuators (in most cases a motor) of the motion device are powered up and in control: "true". The motion device might be in a standstill.
- Variable SpeedOverride: The SpeedOverride provides the current speed setting in percent of programmed speed (0 - 100%).
Axes is a container for one or more instances of the AxisType (7.3).
PowerTrains is a container for one or more instances of the PowerTrainType.
AdditionalComponents is a container for one or more instances of any other ObjectType (any subtype of 0:BaseObjectType). The listed components are installed at the motion device, e.g. an IO-board.
NOTE: Components like motors or gears of a motion device are placed inside the power train object and not inside this AdditionalComponents container. The intention of this folder is to integrate devices which are defined in companion specifications that use OPC 10000-100 ComponentType. From this specification, only instances of AuxiliaryComponentType and DriveType can be used in this container.