summaryrefslogtreecommitdiff
path: root/Master/texmf/doc/asymptote/examples/controlsystem.asy
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/doc/asymptote/examples/controlsystem.asy')
-rw-r--r--Master/texmf/doc/asymptote/examples/controlsystem.asy39
1 files changed, 39 insertions, 0 deletions
diff --git a/Master/texmf/doc/asymptote/examples/controlsystem.asy b/Master/texmf/doc/asymptote/examples/controlsystem.asy
new file mode 100644
index 00000000000..0829bc90d51
--- /dev/null
+++ b/Master/texmf/doc/asymptote/examples/controlsystem.asy
@@ -0,0 +1,39 @@
+size(0,4cm);
+import flowchart;
+
+block delay=roundrectangle("$e^{-sT_t}$",(0.33,0));
+block system=roundrectangle("$\frac{s+3}{s^2+0.3s+1}$",(0.6,0));
+block controller=roundrectangle("$0.06\left( 1 + \frac{1}{s}\right)$",
+ (0.45,-0.25));
+block sum1=circle("",(0.15,0),mindiameter=0.3cm);
+block junction1=circle("",(0.75,0),fillpen=currentpen);
+
+draw(delay);
+draw(system);
+draw(controller);
+draw(sum1);
+draw(junction1);
+
+add(new void(picture pic, transform t) {
+ draw(pic,Label("$u$",0.5,N),path(new pair[]{t*(0,0),sum1.left(t)},
+ Horizontal),Arrow,PenMargin);
+
+ draw(pic,path(new pair[]{sum1.right(t),delay.left(t)},Horizontal),Arrow,
+ PenMargin);
+ label(pic,"-",sum1.bottom(t),ESE);
+
+ draw(pic,path(new pair[]{delay.right(t),system.left(t)},Horizontal),Arrow,
+ PenMargin);
+
+ draw(pic,path(new pair[]{system.right(t),junction1.left(t)},Horizontal),
+ PenMargin);
+
+ draw(pic,Label("$y$",0.5,N),path(new pair[]{junction1.right(t),t*(0.9,0)},
+ Horizontal),Arrow,PenMargin);
+
+ draw(pic,path(new pair[]{junction1.bottom(t),controller.right(t)},Vertical),
+ Arrow,PenMargin);
+
+ draw(pic,path(new pair[]{controller.left(t),sum1.bottom(t)},Horizontal),
+ Arrow,PenMargin);
+ });