Пример #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="type">Type</param>
 /// <param name="parent">Parent</param>
 protected Block(string name, string type, SimulinkSubsystem parent)
 {
     this.name   = name;
     this.type   = type;
     this.parent = parent;
     SetBlockType();
 }
Пример #2
0
 internal Block(XElement element, SimulinkSubsystem parent)
 {
     xml         = element;
     name        = element.GetAttribute(SimulinkXmlParser.Name);
     type        = element.GetAttribute(SimulinkXmlParser.BlockType);
     this.parent = parent;
     SetBlockType();
 }
Пример #3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="text">Simulink source text</param>
        public CodeCreator(IList <string> text)
        {
            doc = Simulink.Parser.Library.SimulinkXmlParser.Create(text);
            Simulink.Parser.Library.SimulinkXmlParser.TransformFunc(doc);
            system    = new SimulinkSystem(doc);
            subsystem = system.Subsystem;
            int k = 0;

            subsystem.Enumerate(ref k);
            subsystem.SetArrowVariables("arrow_");
            List <Block> lb = subsystem.AllBlocks;

            order  = Block.SetOrder(lb, new BlockCodeCreator());
            blocks = lb.ToArray();
        }
Пример #4
0
        private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode node = treeView.SelectedNode;

            if (node == null)
            {
                return;
            }
            object o = node.Tag;

            if (o is SimulinkSubsystem)
            {
                SimulinkSubsystem ss = o as SimulinkSubsystem;
                act(ss);
            }
        }
Пример #5
0
 string IChildrenCreator.GetObjectName(object o)
 {
     if (o is SimulinkSystem)
     {
         return("Simulink");
     }
     if (o is SimulinkSubsystem)
     {
         SimulinkSubsystem ss = o as SimulinkSubsystem;
         return(ss.Name);
     }
     if (o is SimulinkStateflow)
     {
         return("Stateflow");
     }
     return(null);
 }
Пример #6
0
 object[] IChildrenCreator.GetChildern(object o)
 {
     if (o is SimulinkSystem)
     {
         SimulinkSystem    sys = o as SimulinkSystem;
         SimulinkStateflow sf  = sys.Stateflow;
         if (sf == null)
         {
             return(new object[] { sys.Subsystem });
         }
         return(new object[] { sys.Subsystem, sys.Stateflow });
     }
     if (o is SimulinkSubsystem)
     {
         SimulinkSubsystem   ss  = o as SimulinkSubsystem;
         SimulinkSubsystem[] sss = ss.Systems;
         return(sss.ToArray <object>());
     }
     return(null);
 }
Пример #7
0
 internal SystemBase(SimulinkSubsystem system, IDesktop desktop)
 {
     this.system  = system;
     this.desktop = desktop;
 }
Пример #8
0
 /// <summary>
 /// Construtor
 /// </summary>
 /// <param name="system">System</param>
 /// <param name="source">Source</param>
 /// <param name="target">Target</param>
 public Arrow(SimulinkSubsystem system, BlockPort source, BlockPort target)
 {
     this.system = system;
     this.source = source;
     this.target = target;
 }
Пример #9
0
        IList <string> ICodeCreator.CreateCode(SimulinkSubsystem system)
        {
            List <string> lcode = new List <string>();

            lcode.Add(StandardHeader);
            List <string> var = CreateVariables(out reset);
            string        ss  = "namespace Calculation";

            // ss += guid;
            ss += "\r\n{\r\n    public class Calculate : IStateCalculation";
            ss += "\r\n{\r\n";

            lcode.Add(ss);
            lcode.Add("        public void Update()\r\n        {\r\n");
            IBlockInternalCode ic = this;
            List <string>      l  = new List <string>();

            init.Clear();
            for (int i = 0; i < blocks.Length; i++)
            {
                IList <string> c = ic.Create(blocks[i], i);
                if (c == null)
                {
                    continue;
                }
                l.AddRange(c);
            }
            lcode.AddRange(l);
            lcode.Add("oldTime = time;");
            lcode.Add("        }\r\n");
            lcode.AddRange(var);
            List <string> lh;
            List <string> lic;
            List <string> ld = CreateInput(out lh, out lic);

            lcode.AddRange(ld);
            lcode.AddRange(lh);
            List <string> loc;

            ld = CreateOutput(out lh, out loc);
            lcode.AddRange(ld);
            lcode.AddRange(lh);
            List <string> lconsto;
            List <string> lconsti;
            List <string> lconst = CreateConstats(out lconsto, out lconsti);

            lcode.Add("public Calculate()");
            lcode.Add("{");
            lcode.AddRange(lic);
            lcode.AddRange(loc);
            lcode.AddRange(lconsti);
            lcode.Add("}");
            lcode.Add("        public void Reset()\r\n        {\r\n");
            lcode.AddRange(reset);
            lcode.Add("}");
            lcode.AddRange(lconst);
            lcode.AddRange(lconsto);
            lcode.AddRange(init);
            lcode.Add("        }\r\n");
            lcode.Add("        }\r\n");

            return(lcode);
        }