private void CreateBoiler(SystemContext context, int unitNumber)
{
BoilerState boiler = new BoilerState(null);
string name = Utils.Format("Boiler #{0}", unitNumber);
boiler.Create(
context,
null,
new QualifiedName(name, m_namespaceIndex),
null,
true);
NodeState folder = (NodeState)FindPredefinedNode(
ExpandedNodeId.ToNodeId(ObjectIds.Boilers, Server.NamespaceUris),
typeof(NodeState));
folder.AddReference(Opc.Ua.ReferenceTypeIds.Organizes, false, boiler.NodeId);
boiler.AddReference(Opc.Ua.ReferenceTypeIds.Organizes, true, folder.NodeId);
string unitLabel = Utils.Format("{0}0", unitNumber);
UpdateDisplayName(boiler.InputPipe, unitLabel);
UpdateDisplayName(boiler.Drum, unitLabel);
UpdateDisplayName(boiler.OutputPipe, unitLabel);
UpdateDisplayName(boiler.LevelController, unitLabel);
UpdateDisplayName(boiler.FlowController, unitLabel);
UpdateDisplayName(boiler.CustomController, unitLabel);
m_boilers.Add(boiler);
AddPredefinedNode(context, boiler);
}