Пример #1
0
        /// <summary>
        /// Save the ProjectModel to a xml format file
        /// </summary>
        /// <param name="filepath"></param>
        public void Save(XElement rootNode)
        {
            rootNode.SetAttributeValue("Name", ProjectName);
            rootNode.SetAttributeValue("DeviceType", CurrentDevice.Type);
            var settingNode = new XElement("Setting");

            rootNode.Add(settingNode);
            rootNode.Add(ProjectHelper.CreateXElementByValueComments());
            rootNode.Add(ProjectHelper.CreateXElementByValueAlias());
            rootNode.Add(ProjectPropertyManager.CreateProjectPropertyXElement());
            rootNode.Add(ProjectHelper.CreateXElementByLadderDiagram(MainRoutine));
            rootNode.Add(MMonitorManager.MMWindow.CreateXElementByTables());
            rootNode.Add(IFacade.MainWindow.ElemInitWind.CreatXElementByElements());
            foreach (var ldmodel in SubRoutines)
            {
                if (ldmodel.ProgramName.Length == 0)
                {
                    continue;
                }
                rootNode.Add(ProjectHelper.CreateXElementByLadderDiagram(ldmodel));
            }
            foreach (var fbmodel in FuncBlocks)
            {
                if (fbmodel.ProgramName.Length == 0)
                {
                    continue;
                }
                rootNode.Add(ProjectHelper.CreateXElementByFuncBlock(fbmodel));
            }
            var mtnode = new XElement("Modbus");

            MTVModel.Save(mtnode);
            rootNode.Add(mtnode);
        }