Device modelling question

Unified Architecture topics related to OPC UA Specification, compliant behavior and any technical issues of OPC UA, like Security, Information Model, Companion Specs DI, PLCopen, ADI, ...

Moderator: Support Team

Post Reply
trofimich
Jr. Member
Jr. Member
Posts: 4
Joined: 19 Jul 2018, 09:24

Device modelling question

Post by trofimich »

Hello!

We have question about correct devices modelling with UAModeller and .NET library, for example.

We need to model some class of devices (welding machines in our case).

All welding machines have common functionality, so we can make some base abstrtact type for welding mahine and expand it in descendants if needed.

So, we created type called WeldingMachineType as subtype of DeviceType.

Now we need to add some common variables for welding machines, for example Current : double, Voltage : double, WeldingProcessActive : bool.

These properties should be places in ParameterSet object according to device integration specification.

If we compile model and generate codes at this step, we will got C# class called WeldingMachineModel with property ParameteSet of type BaseObjectModel.

It's clear that BaseObjectModel class does not have any Current, Voltage and WeldingProcessActive properties, so we will not have access to these properties.

New idea here is to make custom types for ParameteSet object and MethodSet object and replace type definition in our WeldingMachineType device, so we will have something like this:

abstract WeldingMachineType : DeviceType
{
...
ParameterSet : WeldingMachineParameterSetType,
MethodSet : WeldingMachineMethodSetType,
...
}

and, for conreate welding machine model it can be somethind like this:

Tig4WeldingMachineType : WeldingMachineType
{
...
ParameterSet : Tig4WeldingMachineParameterSetType,
MethodSet : Tig4WeldingMachineMethodSetType,
...
}

All looks fine and works until we opened OPC-UA specification for robotics and found that specification declare ParameterSet as BaseObjectType (look at screenshot).

Image

So, now we do not have undertanding here. Seems like it's not correct to make custom types for ParameterSet and MethodSet. But in this case we will not have access to content of ParameterSet and MethodSet from device model.

Possibly someone can give an explenation...

Post Reply