| 1 | within ;
|
|---|
| 2 | encapsulated package TestSave
|
|---|
| 3 | import Modelica;
|
|---|
| 4 |
|
|---|
| 5 | model RLC
|
|---|
| 6 | Modelica.Electrical.Analog.Sources.SineVoltage sineVoltage(V = 1, freqHz = 50) annotation(Placement(visible = true, transformation(origin = {-42, 2}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 7 | Modelica.Electrical.Analog.Basic.Resistor resistor(R = 1) annotation(Placement(visible = true, transformation(extent = {{-10, 30}, {10, 50}}, rotation = 0)));
|
|---|
| 8 | Modelica.Electrical.Analog.Basic.Capacitor capacitor(C = 10e-6) annotation(Placement(visible = true, transformation(origin = {50, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 9 | Modelica.Electrical.Analog.Basic.Inductor inductor(L = 0.01) annotation(Placement(visible = true, transformation(origin = {50, 8}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 10 | Modelica.Electrical.Analog.Basic.Ground ground annotation(Placement(visible = true, transformation(extent = {{-72, -46}, {-52, -26}}, rotation = 0)));
|
|---|
| 11 | equation
|
|---|
| 12 | connect(ground.p, sineVoltage.n) annotation(Line(points = {{-62, -26}, {-62, -8}, {-42, -8}}, color = {0, 0, 255}));
|
|---|
| 13 | connect(inductor.n, capacitor.p) annotation(Line(points = {{50, -2}, {50, -20}}, color = {0, 0, 255}));
|
|---|
| 14 | connect(inductor.p, resistor.n) annotation(Line(points = {{50, 18}, {50, 40}, {10, 40}}, color = {0, 0, 255}));
|
|---|
| 15 | connect(sineVoltage.n, capacitor.n) annotation(Line(points = {{-42, -8}, {-42, -40}, {50, -40}}, color = {0, 0, 255}));
|
|---|
| 16 | connect(resistor.p, sineVoltage.p) annotation(Line(points = {{-10, 40}, {-42, 40}, {-42, 12}}, color = {0, 0, 255}));
|
|---|
| 17 | annotation(experiment(StopTime = 0.1), experimentSetupOutput, Diagram(coordinateSystem(extent = {{-100, -60}, {100, 60}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Icon(coordinateSystem(extent = {{-100, -60}, {100, 60}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})));
|
|---|
| 18 | end RLC;
|
|---|
| 19 |
|
|---|
| 20 | model RLC_PQ
|
|---|
| 21 | Modelica.Electrical.Analog.Sources.SineVoltage sineVoltage(freqHz = 50, V = 100) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-52, 4})));
|
|---|
| 22 | Modelica.Electrical.Analog.Basic.Ground ground annotation(Placement(transformation(extent = {{-82, -40}, {-62, -20}})));
|
|---|
| 23 | Modelica.Electrical.Analog.Sensors.PowerSensor pMeas annotation(Placement(transformation(extent = {{-32, 30}, {-12, 50}})));
|
|---|
| 24 | QMonoSensor qMeas annotation(Placement(transformation(extent = {{10, 30}, {30, 50}})));
|
|---|
| 25 | Avg avg annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 180, origin = {-70, 30})));
|
|---|
| 26 | Modelica.Blocks.Math.Mean mean(f = 50) annotation(Placement(transformation(extent = {{-60, 60}, {-80, 80}})));
|
|---|
| 27 | Avg avgQ annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 90, origin = {0, 76})));
|
|---|
| 28 | Modelica.Electrical.Analog.Basic.Inductor inductor(L = 10e-3) annotation(Placement(visible = true, transformation(origin = {50, -20}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 29 | Modelica.Electrical.Analog.Basic.Resistor resistor1(R = 1) annotation(Placement(visible = true, transformation(origin = {50, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 30 | Modelica.Electrical.Analog.Basic.Capacitor capacitor(C = 10e-6) annotation(Placement(visible = true, transformation(origin = {50, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 31 | equation
|
|---|
| 32 | connect(capacitor.n, sineVoltage.n) annotation(Line(points = {{50, -60}, {50, -58}, {-52, -58}, {-52, -6}}, color = {0, 0, 255}));
|
|---|
| 33 | connect(inductor.n, capacitor.p) annotation(Line(points = {{50, -30}, {50, -40}}, color = {0, 0, 255}));
|
|---|
| 34 | connect(qMeas.nc, resistor1.p) annotation(Line(points = {{30, 40}, {54, 40}, {50, 40}}, color = {0, 0, 255}));
|
|---|
| 35 | connect(resistor1.n, inductor.p) annotation(Line(points = {{50, 20}, {50, -10}}, color = {0, 0, 255}));
|
|---|
| 36 | connect(ground.p, sineVoltage.n) annotation(Line(points = {{-72, -20}, {-72, -6}, {-52, -6}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 37 | connect(pMeas.pv, pMeas.pc) annotation(Line(points = {{-22, 50}, {-32, 50}, {-32, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 38 | connect(pMeas.pc, sineVoltage.p) annotation(Line(points = {{-32, 40}, {-52, 40}, {-52, 14}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 39 | connect(pMeas.nv, sineVoltage.n) annotation(Line(points = {{-22, 30}, {-22, -6}, {-52, -6}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 40 | connect(qMeas.pc, pMeas.nc) annotation(Line(points = {{10, 40}, {-12, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 41 | connect(qMeas.nv, sineVoltage.n) annotation(Line(points = {{20, 30}, {20, -6}, {-52, -6}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 42 | connect(qMeas.pv, qMeas.pc) annotation(Line(points = {{20, 50}, {10, 50}, {10, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 43 | connect(avg.u, pMeas.power) annotation(Line(points = {{-58, 30}, {-44, 30}, {-44, 29}, {-30, 29}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 44 | connect(mean.u, pMeas.power) annotation(Line(points = {{-58, 70}, {-38, 70}, {-38, 29}, {-30, 29}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 45 | connect(avgQ.u, qMeas.power) annotation(Line(points = {{-6.66134e-016, 64}, {-6.66134e-016, 24}, {12, 24}, {12, 29}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 46 | annotation(experiment(StopTime = 0.1), experimentSetupOutput, Documentation(info = "<html>
|
|---|
| 47 | <p>Misura di potenza attiva e reattiva istantanea su carico RLC</p>
|
|---|
| 48 | </html>"), Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = false, initialScale = 0.1, grid = {1, 1})), Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = false, initialScale = 0.1, grid = {1, 1})));
|
|---|
| 49 | end RLC_PQ;
|
|---|
| 50 |
|
|---|
| 51 | model RLC_PQ2 "pq istantanee e medie"
|
|---|
| 52 | Modelica.Electrical.Analog.Sources.SineVoltage sineVoltage(freqHz = 50, V = 100) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-52, 2})));
|
|---|
| 53 | Modelica.Electrical.Analog.Basic.Inductor inductor(L = 2e-3) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {54, -16})));
|
|---|
| 54 | Modelica.Electrical.Analog.Basic.Ground ground annotation(Placement(transformation(extent = {{-82, -42}, {-62, -22}})));
|
|---|
| 55 | Modelica.Electrical.Analog.Sensors.PowerSensor powerSensor annotation(Placement(transformation(extent = {{-20, 30}, {0, 50}})));
|
|---|
| 56 | Modelica.Electrical.Analog.Basic.Resistor resistor1(R = 10) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {54, 16})));
|
|---|
| 57 | Modelica.Electrical.Analog.Basic.Capacitor capacitor(C = 50e-6) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {54, -48})));
|
|---|
| 58 | QMonoSensor qMonoSensor annotation(Placement(transformation(extent = {{18, 30}, {38, 50}})));
|
|---|
| 59 | Avg Pav annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-22, 10})));
|
|---|
| 60 | Avg Qav annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {12, 10})));
|
|---|
| 61 | equation
|
|---|
| 62 | connect(ground.p, sineVoltage.n) annotation(Line(points = {{-72, -22}, {-72, -8}, {-52, -8}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 63 | connect(powerSensor.pv, powerSensor.pc) annotation(Line(points = {{-10, 50}, {-20, 50}, {-20, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 64 | connect(resistor1.n, inductor.p) annotation(Line(points = {{54, 6}, {54, -6}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 65 | connect(powerSensor.pc, sineVoltage.p) annotation(Line(points = {{-20, 40}, {-52, 40}, {-52, 12}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 66 | connect(powerSensor.nv, sineVoltage.n) annotation(Line(points = {{-10, 30}, {-10, -8}, {-52, -8}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 67 | connect(inductor.n, capacitor.p) annotation(Line(points = {{54, -26}, {54, -38}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 68 | connect(capacitor.n, sineVoltage.n) annotation(Line(points = {{54, -58}, {54, -60}, {-52, -60}, {-52, -8}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 69 | connect(qMonoSensor.pc, powerSensor.nc) annotation(Line(points = {{18, 40}, {0, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 70 | connect(qMonoSensor.nc, resistor1.p) annotation(Line(points = {{38, 40}, {54, 40}, {54, 26}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 71 | connect(qMonoSensor.nv, sineVoltage.n) annotation(Line(points = {{28, 30}, {28, -8}, {-52, -8}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 72 | connect(qMonoSensor.pv, qMonoSensor.pc) annotation(Line(points = {{28, 50}, {28, 50}, {18, 50}, {18, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 73 | connect(Pav.u, powerSensor.power) annotation(Line(points = {{-22, 22}, {-22, 23.9}, {-18, 23.9}, {-18, 29}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 74 | connect(Qav.u, qMonoSensor.power) annotation(Line(points = {{12, 22}, {12, 24.9}, {20, 24.9}, {20, 29}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 75 | annotation(Diagram(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics), experiment(StopTime = 0.1), experimentSetupOutput, Documentation(info = "<html>
|
|---|
| 76 | <p>Misura di potenza attiva e reattiva istantanea e media su carico RLC</p>
|
|---|
| 77 | </html>"));
|
|---|
| 78 | end RLC_PQ2;
|
|---|
| 79 |
|
|---|
| 80 | model RLD
|
|---|
| 81 | Modelica.Electrical.Analog.Sources.SineVoltage sineVoltage(freqHz = 50, V = 100) annotation(Placement(visible = true, transformation(origin = {-30, 4}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 82 | Modelica.Electrical.Analog.Basic.Inductor inductor(L = 1e-3, i(fixed = true)) annotation(Placement(visible = true, transformation(origin = {30, 12}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 83 | Modelica.Electrical.Analog.Basic.Ground ground annotation(Placement(visible = true, transformation(extent = {{-60, -40}, {-40, -20}}, rotation = 0)));
|
|---|
| 84 | Modelica.Electrical.Analog.Basic.Resistor Rload(R = 1) annotation(Placement(visible = true, transformation(origin = {30, -20}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 85 | Modelica.Electrical.Analog.Ideal.IdealDiode idealDiode annotation(Placement(visible = true, transformation(extent = {{-10, 24}, {10, 44}}, rotation = 0)));
|
|---|
| 86 | Modelica.Electrical.Analog.Basic.Resistor Rload1(R = 1e5) annotation(Placement(visible = true, transformation(origin = {58, 12}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
|
|---|
| 87 | equation
|
|---|
| 88 | connect(Rload1.n, inductor.n) annotation(Line(points = {{58, 2}, {30, 2}}, color = {0, 0, 255}));
|
|---|
| 89 | connect(Rload1.p, inductor.p) annotation(Line(points = {{58, 22}, {30, 22}}, color = {0, 0, 255}));
|
|---|
| 90 | connect(idealDiode.p, sineVoltage.p) annotation(Line(points = {{-10, 34}, {-20, 34}, {-20, 34}, {-30, 34}, {-30, 23}, {-30, 23}, {-30, 14}}, color = {0, 0, 255}));
|
|---|
| 91 | connect(idealDiode.n, inductor.p) annotation(Line(points = {{10, 34}, {20, 34}, {20, 34}, {30, 34}, {30, 27}, {30, 27}, {30, 22}}, color = {0, 0, 255}));
|
|---|
| 92 | connect(Rload.n, sineVoltage.n) annotation(Line(points = {{30, -30}, {30, -35}, {30, -35}, {30, -38}, {-30, -38}, {-30, -23}, {-30, -23}, {-30, -6}}, color = {0, 0, 255}));
|
|---|
| 93 | connect(Rload.p, inductor.n) annotation(Line(points = {{30, -10}, {30, -6}, {30, -6}, {30, -2}, {30, 2}, {30, 2}, {30, 2}, {30, 2}}, color = {0, 0, 255}));
|
|---|
| 94 | connect(ground.p, sineVoltage.n) annotation(Line(points = {{-50, -20}, {-50, -6}, {-30, -6}}, color = {0, 0, 255}));
|
|---|
| 95 | annotation(experiment(StopTime = 0.06), __Dymola_experimentSetupOutput, Diagram(coordinateSystem(extent = {{-100, -60}, {100, 60}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Icon(coordinateSystem(extent = {{-100, -60}, {100, 60}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})));
|
|---|
| 96 | end RLD;
|
|---|
| 97 |
|
|---|
| 98 | block Avg "Sensor to measure the average value of input"
|
|---|
| 99 |
|
|---|
| 100 | Modelica.Blocks.Interfaces.RealInput u annotation(Placement(transformation(extent = {{-140, -20}, {-100, 20}})));
|
|---|
| 101 | Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(transformation(extent = {{100, -10}, {120, 10}})));
|
|---|
| 102 | Modelica.Blocks.Continuous.Integrator integrator annotation(Placement(transformation(extent = {{-60, -10}, {-40, 10}})));
|
|---|
| 103 | Modelica.Blocks.Math.Add add(k2 = -1) annotation(Placement(transformation(extent = {{12, -10}, {32, 10}})));
|
|---|
| 104 | Modelica.Blocks.Nonlinear.FixedDelay fixedDelay1(delayTime = 1 / frequency) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 0, origin = {-14, -30})));
|
|---|
| 105 | Modelica.Blocks.Math.Gain gain(k = frequency) annotation(Placement(transformation(extent = {{52, -10}, {72, 10}})));
|
|---|
| 106 | parameter Real frequency = 50 "Frequency of the signals to be averaged";
|
|---|
| 107 | equation
|
|---|
| 108 | connect(integrator.u, u) annotation(Line(points = {{-62, 0}, {-120, 0}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 109 | connect(add.u1, integrator.y) annotation(Line(points = {{10, 6}, {-14, 6}, {-14, 0}, {-39, 0}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 110 | connect(fixedDelay1.y, add.u2) annotation(Line(points = {{-3, -30}, {4, -30}, {4, -6}, {10, -6}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 111 | connect(fixedDelay1.u, integrator.y) annotation(Line(points = {{-26, -30}, {-28, -30}, {-28, 0}, {-39, 0}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 112 | connect(gain.u, add.y) annotation(Line(points = {{50, 0}, {46, 0}, {46, 0}, {42, 0}, {42, 0}, {33, 0}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 113 | connect(gain.y, y) annotation(Line(points = {{73, 0}, {110, 0}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 114 | annotation(Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}, grid = {2, 2}), graphics={ Text(extent = {{150, 66}, {-150, 106}}, lineColor = {0, 0, 255}, textString = "%name"), Rectangle(extent = {{-100, 50}, {100, -50}}, lineColor = {0, 0, 127}), Text(extent = {{-100, 32}, {100, -30}}, lineColor = {0, 0, 127}, textString = "AVG")}), Diagram(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 100}}, grid = {2, 2}), graphics), Documentation(info = "<html><p>
|
|---|
| 115 | This power sensor measures instantaneous electrical power of a singlephase system and has a separated voltage and current path. The pins of the voltage path are <code>pv</code> and <code>nv</code>, the pins of the current path are <code>pc</code> and <code>nc</code>. The internal resistance of the current path is zero, the internal resistance of the voltage path is infinite.
|
|---|
| 116 | </p>
|
|---|
| 117 | </html>", revisions = "<html>
|
|---|
| 118 | <ul>
|
|---|
| 119 | <li><i> January 12, 2006 </i>
|
|---|
| 120 | by Anton Haumer<br> implemented<br>
|
|---|
| 121 | </li>
|
|---|
| 122 | </ul>
|
|---|
| 123 | </html>"));
|
|---|
| 124 | end Avg;
|
|---|
| 125 |
|
|---|
| 126 | model QMonoSensor "Sensor to measure the reactive power"
|
|---|
| 127 | Modelica.Electrical.Analog.Interfaces.PositivePin pc
|
|---|
| 128 | "Positive pin, current path" annotation(Placement(transformation(extent = {{-90, -10}, {-110, 10}}, rotation = 0)));
|
|---|
| 129 | Modelica.Electrical.Analog.Interfaces.NegativePin nc
|
|---|
| 130 | "Negative pin, current path" annotation(Placement(transformation(extent = {{110, -10}, {90, 10}}, rotation = 0)));
|
|---|
| 131 | Modelica.Electrical.Analog.Interfaces.PositivePin pv
|
|---|
| 132 | "Positive pin, voltage path" annotation(Placement(transformation(extent = {{-10, 110}, {10, 90}}, rotation = 0)));
|
|---|
| 133 | Modelica.Electrical.Analog.Interfaces.NegativePin nv
|
|---|
| 134 | "Negative pin, voltage path" annotation(Placement(transformation(extent = {{10, -110}, {-10, -90}}, rotation = 0)));
|
|---|
| 135 | Modelica.Electrical.Analog.Sensors.CurrentSensor currentSensor annotation(Placement(transformation(extent = {{-74, -10}, {-54, 10}}, rotation = 0)));
|
|---|
| 136 | parameter Modelica.SIunits.Frequency Freq = 50.0 "Frequency of signals";
|
|---|
| 137 | Modelica.Blocks.Interfaces.RealOutput power annotation(Placement(visible = true, transformation(origin = {-80, -110}, extent = {{-10, 10}, {10, -10}}, rotation = 270), iconTransformation(origin = {-80, -110}, extent = {{-10, 10}, {10, -10}}, rotation = 270)));
|
|---|
| 138 | Modelica.Electrical.Analog.Sensors.VoltageSensor voltageSensor annotation(Placement(visible = true, transformation(origin = {0, -52}, extent = {{10, -10}, {-10, 10}}, rotation = 90)));
|
|---|
| 139 | Modelica.Blocks.Math.Product product annotation(Placement(visible = true, transformation(origin = {-58, -60}, extent = {{-10, 10}, {10, -10}}, rotation = 270)));
|
|---|
| 140 | Modelica.Blocks.Nonlinear.FixedDelay fixedDelay(delayTime = 1 / (4 * Freq)) annotation(Placement(visible = true, transformation(origin = {-30, -32}, extent = {{10, 10}, {-10, -10}}, rotation = 0)));
|
|---|
| 141 | equation
|
|---|
| 142 | connect(voltageSensor.n, nv) annotation(Line(points = {{-4.44089e-016, -62}, {-4.44089e-016, -63}, {0, -63}, {0, -100}}, color = {0, 0, 255}));
|
|---|
| 143 | connect(pc, currentSensor.p) annotation(Line(points = {{-100, 0}, {-74, 0}}, color = {0, 0, 255}));
|
|---|
| 144 | connect(currentSensor.n, nc) annotation(Line(points = {{-54, 0}, {100, 0}}, color = {0, 0, 255}));
|
|---|
| 145 | connect(product.y, power) annotation(Line(points = {{-58, -71}, {-58, -80}, {-80, -80}, {-80, -110}}, color = {0, 0, 127}));
|
|---|
| 146 | connect(pv, voltageSensor.p) annotation(Line(points = {{0, 100}, {6.66134e-016, 100}, {6.66134e-016, -42}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 147 | connect(voltageSensor.v, fixedDelay.u) annotation(Line(points = {{10, -52}, {26, -52}, {26, -32}, {-18, -32}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 148 | connect(currentSensor.i, product.u1) annotation(Line(points = {{-64, -10}, {-64, -48}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 149 | connect(fixedDelay.y, product.u2) annotation(Line(points = {{-41, -32}, {-52, -32}, {-52, -48}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 150 | annotation(Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}, grid = {2, 2}), graphics={ Line(points = {{0, -70}, {0, -100}}, color = {0, 0, 255}), Line(points = {{-80, -100}, {-80, 0}}, color = {0, 0, 255}), Text(extent = {{150, 120}, {-150, 160}}, textString = "%name", lineColor = {0, 0, 255}), Ellipse(fillColor = {245, 245, 245},
|
|---|
| 151 | fillPattern = FillPattern.Solid, extent = {{-70, -68}, {70, 72}}), Line(points = {{0, 72}, {0, 42}}), Line(points = {{22.9, 34.8}, {40.2, 59.3}}), Line(points = {{-22.9, 34.8}, {-40.2, 59.3}}), Line(points = {{37.6, 15.7}, {65.8, 25.9}}), Line(points = {{-37.6, 15.7}, {-65.8, 25.9}}), Ellipse(lineColor = {64, 64, 64}, fillColor = {255, 255, 255}, extent = {{-12, -10}, {12, 14}}), Polygon(origin = {0, 2}, rotation = -17.5, fillColor = {64, 64, 64}, pattern = LinePattern.None,
|
|---|
| 152 | fillPattern = FillPattern.Solid, points = {{-5.0, 0.0}, {-2.0, 60.0}, {0.0, 65.0}, {2.0, 60.0}, {5.0, 0.0}}), Ellipse(fillColor = {64, 64, 64}, pattern = LinePattern.None,
|
|---|
| 153 | fillPattern = FillPattern.Solid, extent = {{-7, -5}, {7, 9}}), Line(points = {{0, 102}, {0, 72}}, color = {0, 0, 255}), Line(points = {{0, 72}, {0, 42}}), Text(extent = {{-29, -9}, {30, -68}}, lineColor = {0, 0, 0}, textString = "Q"), Line(points = {{-100, 0}, {100, 0}}, color = {0, 0, 255})}), Diagram(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 100}}, grid = {2, 2}), graphics), Documentation(info = "<html><p>
|
|---|
| 154 | This power sensor measures instantaneous electrical power of a singlephase system and has a separated voltage and current path. The pins of the voltage path are <code>pv</code> and <code>nv</code>, the pins of the current path are <code>pc</code> and <code>nc</code>. The internal resistance of the current path is zero, the internal resistance of the voltage path is infinite.
|
|---|
| 155 | </p>
|
|---|
| 156 | </html>", revisions = "<html>
|
|---|
| 157 | <ul>
|
|---|
| 158 | <li><i> January 12, 2006 </i>
|
|---|
| 159 | by Anton Haumer<br> implemented<br>
|
|---|
| 160 | </li>
|
|---|
| 161 | </ul>
|
|---|
| 162 | </html>"));
|
|---|
| 163 | end QMonoSensor;
|
|---|
| 164 |
|
|---|
| 165 | model RLD_avg
|
|---|
| 166 | Modelica.Electrical.Analog.Sources.SineVoltage sineVoltage(freqHz = 50, V = 100) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-72, 30})));
|
|---|
| 167 | Modelica.Electrical.Analog.Basic.Ground ground annotation(Placement(transformation(extent = {{-102, -14}, {-82, 6}})));
|
|---|
| 168 | Modelica.Electrical.Analog.Basic.Resistor Rload(R = 1) annotation(Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-12, 6})));
|
|---|
| 169 | Modelica.Electrical.Analog.Ideal.IdealDiode idealDiode annotation(Placement(transformation(extent = {{-52, 50}, {-32, 70}})));
|
|---|
| 170 | Modelica.Blocks.Math.Mean mean(f = 50) annotation(Placement(transformation(extent = {{60, 20}, {80, 40}})));
|
|---|
| 171 | Avg avg1 annotation(Placement(transformation(extent = {{60, -10}, {80, 10}})));
|
|---|
| 172 | Modelica.Electrical.Analog.Sensors.PotentialSensor potentialSensor annotation(Placement(transformation(extent = {{18, 0}, {38, 20}})));
|
|---|
| 173 | equation
|
|---|
| 174 | connect(ground.p, sineVoltage.n) annotation(Line(points = {{-92, 6}, {-92, 20}, {-72, 20}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 175 | connect(Rload.n, sineVoltage.n) annotation(Line(points = {{-12, -4}, {-12, -12}, {-72, -12}, {-72, 20}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 176 | connect(idealDiode.p, sineVoltage.p) annotation(Line(points = {{-52, 60}, {-72, 60}, {-72, 40}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 177 | connect(potentialSensor.p, Rload.p) annotation(Line(points = {{18, 10}, {4, 10}, {4, 16}, {-12, 16}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 178 | connect(potentialSensor.phi, mean.u) annotation(Line(points = {{39, 10}, {48, 10}, {48, 30}, {58, 30}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 179 | connect(avg1.u, potentialSensor.phi) annotation(Line(points = {{58, 0}, {48, 0}, {48, 10}, {39, 10}}, color = {0, 0, 127}, smooth = Smooth.None));
|
|---|
| 180 | connect(idealDiode.n, Rload.p) annotation(Line(points = {{-32, 60}, {-12, 60}, {-12, 16}}, color = {0, 0, 255}, smooth = Smooth.None));
|
|---|
| 181 | annotation(Diagram(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 100}}), graphics), experiment(StopTime = 0.06), __Dymola_experimentSetupOutput);
|
|---|
| 182 | end RLD_avg;
|
|---|
| 183 | annotation(uses(Modelica(version = "3.2.1")));
|
|---|
| 184 | end TestSave;
|
|---|