Exemple #1
0
        public void write(XmlWriter w)
        {
            w.WriteStartElement("Hmi.Tag.Tag");
            w.WriteAttributeString("AggregationName", "Tags");
            w.WriteStartElement("AttributeList");
            XMLUtil.SimpleValue(w, "AddressAccessMode", "Absolute");
            XMLUtil.SimpleValue(w, "Name", Name);

            w.WriteEndElement(); // AttributeList

            w.WriteStartElement("LinkList");
            XMLUtil.Link(w, "AcquisitionCycle", "10 s");
            if (ControllerTag != null)
            {
                XMLUtil.Link(w, "ControllerTag", ControllerTag);
            }
            if (Connection != null)
            {
                XMLUtil.Link(w, "Connection", ControllerTag);
            }
            XMLUtil.Link(w, "DataType", DataType);
            XMLUtil.Link(w, "HmiDataType", HMIDataType);
            w.WriteEndElement(); // LinkList

            w.WriteStartElement("ObjectList");

            if (ArrayLength > 0)
            {
                for (int i = 0; i < ArrayLength; i++)
                {
                    w.WriteStartElement("Hmi.Tag.TagArrayMember");
                    w.WriteAttributeString("AggregationName", "Elements");
                    w.WriteStartElement("AttributeList");
                    XMLUtil.SimpleValue(w, "Name", "[" + i.ToString() + "]");
                    w.WriteEndElement(); // AttributeList

                    w.WriteEndElement(); // Hmi.Tag.TagArrayMember

                    w.WriteEndElement(); // ObjectList
                }
            }
            w.WriteEndElement(); // HMI.Tag.Tag
        }
Exemple #2
0
        public static FileInfo buildFile(string table_name, IEnumerable <Constant> constants)
        {
            XmlWriterSettings settings = new XmlWriterSettings {
                ConformanceLevel = ConformanceLevel.Document,
                Encoding         = Encoding.UTF8,
                Indent           = true
            };
            FileInfo file;

            using (Stream stream = TempFile.Open("AlarmConst", "xml", out file))
            {
                int       id = 0;
                XmlWriter w  = XmlWriter.Create(stream, settings);
                w.WriteStartDocument();
                w.WriteStartElement("Document");

                w.WriteStartElement("DocumentInfo");
                w.WriteEndElement(); // DocumentInfo
                w.WriteStartElement("SW.Tags.PlcTagTable");
                w.WriteAttributeString("ID", (id++).ToString());
                w.WriteStartElement("AttributeList");
                XMLUtil.SimpleValue(w, "Name", table_name);
                w.WriteEndElement(); // AttributeList



                w.WriteStartElement("ObjectList");
                foreach (Constant c in constants)
                {
                    w.WriteStartElement("SW.Tags.PlcUserConstant");
                    w.WriteAttributeString("ID", (id++).ToString());
                    w.WriteAttributeString("CompositionName", "UserConstants");
                    w.WriteStartElement("AttributeList");
                    XMLUtil.SimpleValue(w, "DataTypeName", "Int");
                    XMLUtil.SimpleValue(w, "Name", c.Name);
                    XMLUtil.SimpleValue(w, "Value", c.Value.ToString());
                    w.WriteEndElement(); // AttributeList



                    w.WriteStartElement("ObjectList");
                    w.WriteStartElement("MultilingualText");
                    w.WriteAttributeString("ID", (id++).ToString());
                    w.WriteAttributeString("CompositionName", "Comment");

                    w.WriteStartElement("ObjectList");
                    w.WriteStartElement("MultilingualTextItem");
                    w.WriteAttributeString("ID", (id++).ToString());
                    w.WriteAttributeString("CompositionName", "Items");

                    w.WriteStartElement("AttributeList");
                    XMLUtil.SimpleValue(w, "Culture", "sv-SE");
                    XMLUtil.SimpleValue(w, "Text", c.Comment);

                    w.WriteEndElement(); // AttributeList
                    w.WriteEndElement(); // MultilingualTextItem
                    w.WriteEndElement(); // ObjectList
                    w.WriteEndElement(); // MultilingualText
                    w.WriteEndElement(); // ObjectList

                    w.WriteEndElement(); // SW.Tags.PlcUserConstant
                }


                w.WriteEndElement(); // ObjectList
                w.WriteEndElement(); // SW.Tags.PlcUserConstant
                w.WriteEndElement(); // Document
                //w.Close();
            }
            return(file);
        }