Encontré un ejemplo de un sistema de control con TikZ enhttp://www.texample.net/tikz/examples/control-system-principles/. Quería adaptar este ejemplo eliminando el nodo de medidas y manteniendo solo el bucle, pero, como soy tikz
novato, no pude conseguir lo que quería. Cualquier sugerencia es bienvenida.
Respuesta1
Si elimina el nodo, también necesitará cambiar las rutas usando ese nodo, por lo que ya no podrá usar
\draw [->] (y) |- (measurements);
\draw [->] (measurements) -| node[pos=0.99] {$-$}
node [near end] {$y_m$} (sum);
pero puedes usar algo como
\draw [->] (y) -- ++(0,-2cm) -| node[pos=0.99] {$-$}
node [near end] {$y_m$} (sum);
El código:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\tikzset{
block/.style={
draw,
fill=blue!20,
rectangle,
minimum height=3em,
minimum width=6em
},
sum/.style={
draw,
fill=blue!20,
circle,
},
input/.style={coordinate},
output/.style={coordinate},
pinstyle/.style={
pin edge={to-,thin,black}
}
}
\begin{document}
% The block diagram code is probably more verbose than necessary
\begin{tikzpicture}[auto,>=latex']
% We start by placing the blocks
\node [input, name=input] {};
\node [sum, right = of input] (sum) {};
\node [block, right = of sum] (controller) {Controller};
\node [block, right = of controller, pin={[pinstyle]above:Disturbances},
node distance=3cm] (system) {System};
% We draw an edge between the controller and system block to
% calculate the coordinate u. We need it to place the measurement block.
\draw [->] (controller) -- node[name=u] {$u$} (system);
\node [output, right =of system] (output) {};
%\node [block, below of=u] (measurements) {Measurements};
% Once the nodes are placed, connecting them is easy.
\draw [draw,->] (input) -- node {$r$} (sum);
\draw [->] (sum) -- node {$e$} (controller);
\draw [->] (system) -- node [name=y] {$y$}(output);
\draw [->] (y) -- ++(0,-2cm) -| node[pos=0.99] {$-$}
node [near end] {$y_m$} (sum);
\end{tikzpicture}
\end{document}
Algunas observaciones:
Cambié la
of=
sintaxis problemática por la=of
sintaxis apropiada al cargar lapositioning
biblioteca.Cambié la
\tikzstyle
sintaxis obsoleta por la\tikzset
sintaxis apropiada.