Echelon LonWorks Network XML User Manual
Page 57

L
ON
W
ORKS
Network XML Programmer’s Guide
49
//create Directory for XML file
DirectoryInfo
di =
Directory
.CreateDirectory(
"C:\\Lm\\XML\\MyNetwork\\"
);
//create XML file
m_lmXml.XmlFileName =
"C:\\Lm\\XML\\MyNetwork\\Export.XML"
;
// Create the XML writer options
XmlWriterSettings
settings =
new
XmlWriterSettings
();
settings.ConformanceLevel =
ConformanceLevel
.Document;
settings.Indent =
true
;
settings.IndentChars = (
" "
);
//Create the XML Writer
using
(
XmlWriter
writer =
XmlWriter
.Create(m_lmXml.XmlFileName))
{
writer.WriteProcessingInstruction(
"xml-stylesheet"
,
"type=\"text/xsl\"
href='file://"
+
"C:\\LonWorks\\LonMaker\\XML\\LonMaker.xsl"
+
"'"
);
// Start Network Elemeny
writer.WriteStartElement(
"LonWorksNetwork"
);
writer.WriteElementString(
"Name"
,
"MyNetwork"
);
// Specify root subsystem
writer.WriteElementString(
"RootSubsystem"
,
""
);
// Write the domain ID
// Use random 3-byte domain ID; first sleep a ms to advance timer
writer.WriteStartElement(
"DomainId"
);
Random
randobj =
new
Random
();
writer.WriteString(
String
.Format(
"{0:X2}"
, randobj.Next(255)));
writer.WriteString(
String
.Format(
"{0:X2}"
, randobj.Next(255)));
writer.WriteString(
String
.Format(
"{0:X2}"
, randobj.Next(255)));
writer.WriteEndElement();
// Write the export scope
writer.WriteStartElement(
"ExportScope"
);
writer.WriteAttributeString(
"ID"
,
"0"
);
writer.WriteString(
"ALL"
);
writer.WriteEndElement();
// Start the Top-level Subsystems Elements
writer.WriteStartElement(
"Subsystems"
);
// Start the Subsystem Element
writer.WriteStartElement(
"Subsystem"
);
writer.WriteElementString(
"Name"
,
"Subsystem 1"
);
//Start AppDevices Elements
writer.WriteStartElement(
"AppDevices"
);
//Write AppDevice Element
writer.WriteStartElement(
"AppDevice"
);
writer.WriteAttributeString(
"Action"
,
"CREATE"
);
writer.WriteAttributeString(
"Commission"
,
"TRUE"
);
writer.WriteElementString(
"Name"
,
"DIO-1"
);
writer.WriteElementString(
"Channel"
,
"Channel 1"
);
writer.WriteElementString(
"Template"
,
"Echelon DIO-10v3"
);
writer.WriteElementString(
"NeuronId"
,
"00A145784600"
);
writer.WriteElementString(
"Image"
,
"C:\\LonWorks\\Import\\Echelon\\LonPoint\\Version3\\
DIO-10v3.apb"
);
// Start FunctionalBlock Elements
writer.WriteStartElement(
"FunctionalBlocks"
);
// Write FunctionalBlock Element#1
writer.WriteStartElement(
"FunctionalBlock"
);
writer.WriteAttributeString(
"Handle"
,
"5"
);
writer.WriteElementString(
"Name"
,
"DE-1"
);