Hello,
I have already been through this forum already and found 2/3 questions related to this but somehow solution is not working for me.
In my Information Model, I have several variable properties under an object type. However, only one property is mandatory and rest are all optional. How can I instantiate the optional properties (an example would be of great help).
Do I use optionalbrowsepath in my createobjectsettings like this ?
CreateObjectSettings settings = new CreateObjectSettings()
{
ParentNodeId = UnifiedAutomation.UaBase.ObjectIds.ObjectsFolder,
ReferenceTypeId = UnifiedAutomation.UaBase.ReferenceTypeIds.Organizes,
RequestedNodeId = new NodeId(DepartmentA, DefaultNamespaceIndex),
BrowseName = new QualifiedName(DepartmentA, DefaultNamespaceIndex),
TypeDefinitionId = new NodeId(MyA.MyAIm.ObjectTypes.BodyShopProEType, DefaultNamespaceIndex),
OptionalBrowsePaths = new List<string> { AbsoluteName.ToString(BrowseNames.CounterPerType, BrowseNames.CounterTotal)}
};
ObjectNode DepartmentANode = CreateObject(Server.DefaultRequestContext, settings);
Note: in my IM: the optional nodes are located in a Object called ProdData in Object Type BodyShopProEType
with this, I do not get optional properties in UA Expert.
Furthermore, as you have mentioned to use CreateInstanceSetting, an example of it's structure(syntax) would make things more clear ?
Looking forward to your suggestions...
Regards,
Ali
Cannot instantiate Optional Variable Properties.
Moderator: uasdknet
-
- Jr. Member
- Posts: 4
- Joined: 09 Dec 2020, 11:53
-
- Jr. Member
- Posts: 3
- Joined: 11 Feb 2021, 16:04
Re: Cannot instantiate Optional Variable Properties.
Hello,
this question is also of interest for me. Anyone got a solution to that?
Thanks in advance for the help!
Greetings,
RKM
this question is also of interest for me. Anyone got a solution to that?
Thanks in advance for the help!
Greetings,
RKM
- Support Team
- Hero Member
- Posts: 3068
- Joined: 18 Mar 2011, 15:09
Re: Cannot instantiate Optional Variable Properties.
Hello Ali,
your solution is very close.
But one thing is still missing. The values you used in the AbsoluteName.ToString() method must be QualifiedNames.
It should look like this:
If you have more optional elements, expand the list.
your solution is very close.
But one thing is still missing. The values you used in the AbsoluteName.ToString() method must be QualifiedNames.
It should look like this:
Code: Select all
OptionalBrowsePaths = new List<string> { AbsoluteName.ToString(new QualifiedName(BrowseNames.CounterPerType, DefaultNamespaceIndex))}
Best regards
Unified Automation Support Team
Unified Automation Support Team