Parametrieren eines Streams

EnvDTE.Solution solution = dte.Solution;
EnvDTE.Project xaeProject = null;

// Get xaeProject
ITcSysManager sysManager = (ITcSysManager)xaeProject.Object;

// Navigate to the Analytics DataLogger Node
ITcSmTreeItem stream = sysManager.LookupTreeItem("TIAN^MyDataLoggerName^PlcStream1");

string sXmlDoc = stream.ProduceXml();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(sXmlDoc);

XmlElement elemSetParam = xmlDoc.CreateElement("SetParameter");

XmlAttribute attrParamName = xmlDoc.CreateAttribute("name");
attrParamName.Value = "Max ADS Buffer";

XmlAttribute attrParamValue = xmlDoc.CreateAttribute("value");
attrParamValue.Value = "23";

elemSetParam.Attributes.Append(attrParamName);
elemSetParam.Attributes.Append(attrParamValue);
xmlDoc.DocumentElement.AppendChild(elemSetParam);

string sConsumeXml = xmlDoc.OuterXml;
dataLogger.ConsumeXml(sConsumeXml);

Der Codeausschnitt zeigt die Verwendung des Produce-Consume-XML Mechanismus, bei dem der XML-Text, der den Projektknoten beschreibt, eingelesen, verändert und wieder geschrieben werden kann, woraufhin Aktionen seitens des System Managers folgen können. Der eingelesene XML-Text beinhaltet unter anderem eine Auflistung der Parameter mit Namen und aktuellem Wert. Der Name entspricht genau der Bezeichnung des Parameters unter dem Data Handling-Reiter des Stream-Projektknotens. Das trifft auch für die jeweiligen Werte zu.