Пример #1
0
        /// <summary>
        /// Generate
        /// </summary>
        /// <param name="name">Name</param>
        /// <param name="parameters">Parameters</param>
        /// <param name="netlist">Netlist</param>
        /// <returns></returns>
        protected ICircuitObject GenerateVSW(CircuitIdentifier name, List <Token> parameters, Netlist netlist)
        {
            VoltageSwitch vsw = new VoltageSwitch(name);

            vsw.ReadNodes(netlist.Path, parameters);

            // Read the model
            if (parameters.Count < 5)
            {
                throw new ParseException(parameters[3], "Model expected", false);
            }
            vsw.SetModel(netlist.FindModel <VoltageSwitchModel>(parameters[4]));

            // Optional ON or OFF
            if (parameters.Count == 6)
            {
                switch (parameters[5].image.ToLower())
                {
                case "on":
                    vsw.SetOn();
                    break;

                case "off":
                    vsw.SetOff();
                    break;

                default:
                    throw new ParseException(parameters[5], "ON or OFF expected");
                }
            }
            return(vsw);
        }
Пример #2
0
        /// <summary>
        /// Create a voltage switch
        /// </summary>
        /// <param name="name">Name</param>
        /// <param name="pos">Positive node</param>
        /// <param name="neg">Negative node</param>
        /// <param name="contPos">Controlling positive node</param>
        /// <param name="contNeg">Controlling negative node</param>
        /// <param name="modelName">Model name</param>
        /// <param name="modelParameters">Model parameters</param>
        /// <returns></returns>
        VoltageSwitch CreateVoltageSwitch(string name, string pos, string neg, string contPos, string contNeg, string modelName, string modelParameters)
        {
            var model = new VoltageSwitchModel(modelName);

            ApplyParameters(model, modelParameters);

            var vsw = new VoltageSwitch(name, pos, neg, contPos, contNeg);

            vsw.SetModel(model);
            return(vsw);
        }
Пример #3
0
        /// <summary>
        /// Create a voltage switch
        /// </summary>
        /// <param name="name">Name</param>
        /// <param name="pos">Positive node</param>
        /// <param name="neg">Negative node</param>
        /// <param name="contPos">Controlling positive node</param>
        /// <param name="contNeg">Controlling negative node</param>
        /// <param name="modelName">Model name</param>
        /// <param name="modelParameters">Model parameters</param>
        /// <returns></returns>
        VoltageSwitch CreateVoltageSwitch(Identifier name, Identifier pos, Identifier neg, Identifier contPos, Identifier contNeg, Identifier modelName, string modelParameters)
        {
            VoltageSwitchModel model = new VoltageSwitchModel(modelName);

            ApplyParameters(model, modelParameters);

            VoltageSwitch vsw = new VoltageSwitch(name, pos, neg, contPos, contNeg);

            vsw.SetModel(model);
            return(vsw);
        }