-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathControllers.mo
More file actions
34 lines (30 loc) · 9.34 KB
/
Controllers.mo
File metadata and controls
34 lines (30 loc) · 9.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package Controllers
model TempController
parameter Real Kc = 0.365;
parameter Real Tsp = 344.6;
Real Tin;
Controllers.Temp_In temp_in1 annotation(Placement(visible = true, transformation(origin = {-74, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {-74, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Controllers.Temp_Cont_Output temp_cont_output1 annotation(Placement(visible = true, transformation(origin = {88, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {76, -2}, extent = {{-14, -14}, {14, 14}}, rotation = 0)));
equation
Tin = temp_in1.T;
temp_cont_output1.Flowrate = Kc * (Tin - Tsp);
annotation(Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2}), graphics = {Bitmap(origin = {46, -61}, extent = {{16, -7}, {-108, 119}}, imageSource = "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")}));
end TempController;
partial connector Temp_Port
Real T;
annotation(Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})));
end Temp_Port;
connector Temp_In
extends Temp_Port annotation(Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2}), graphics = {Rectangle(origin = {69, -77}, fillPattern = FillPattern.Solid, extent = {{27, -19}, {-165, 173}})}));
annotation(Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2}), graphics = {Rectangle(origin = {11, -3}, fillPattern = FillPattern.Solid, extent = {{-105, 99}, {85, -91}})}));
end Temp_In;
connector Temp_Out
extends Temp_Port annotation(Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2}), graphics = {Rectangle(origin = {2, 0}, extent = {{-98, 96}, {94, -94}})}));
annotation(Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2}), graphics = {Rectangle(origin = {0, -2}, extent = {{-94, 96}, {94, -94}})}));
end Temp_Out;
connector Temp_Cont_Output
Real Flowrate;
annotation(Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2}), graphics = {Ellipse(origin = {31, -27}, lineThickness = 1.75, extent = {{57, -63}, {-123, 117}}, endAngle = 360)}));
end Temp_Cont_Output;
annotation(Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})), Diagram(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2, 2})));
end Controllers;