Alignment of various blocks in tikz
an alternative, with using TikZ libraries calc
(for calculation of middle points on edges), positioning
(for positioning of nodes) and quotes
(for edge labels), and the nccmath
packages (for medium size of fractions). redefined are also styles for nodes:
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{calc,
positioning,
quotes}
\usepackage{nccmath}
\newcommand\mi[1]{\mathit{#1}}
\begin{document}
\begin{tikzpicture}[auto,
node distance=4mm and 22mm,
>=latex,
block/.style = {draw, fill=white, minimum size=9mm, minimum width=#1},
block/.default = 16mm,
Circ/.style = {circle, draw, minimum size=2em, inner sep=1pt}
]
\node (A) [block=22mm] {$\frac{1}{sT_E}$};
\node (B) [Circ, left =of A] {$\Sigma$};
\node (C) [Circ, right=of A] {$\Pi$};
\node (D) [below=5mm of A] {$V_{E_{\min}}$};
\node (J) [above=5mm of A] {$\mfrac{V_{\mi{FE}_{\max}}-K_D\cdot l_{\mi{FD}}}
{K_E+S_E(V_E)}$};
\draw[-] (A.west |- D.north) -- ++ ( 0.6,0) -- (A)
(A.east |- J.south) -- ++ (-0.6,0) -- (A);
\node (E) [block, below=of C |- D] {$F_{\mi{EX}}=f(l_N)$};
\node (G) [block,
below left= 0mm of A.east |- E.west] {$S_E(V_E)$};
\node (H) [block, below=of G] {$K_E$};
\node (I) [block, below=of H] {$K_D$};
\node (F) [block, at={(H -| E)}] {$l_N=K_C\mfrac{l_{FD}}{V_E}$};
\node (K) [Circ] at ($(B |- H)!0.5!(H.west)$) {$\Sigma$};
%
\coordinate[left=1 of B] (in);
\coordinate (aux) at ($(H.east)!0.5!(F.west)$);
\draw[->] (in) edge["$E_{\mi{FE}}$"] (B)
(A) edge (B)
(A) edge["$V_E$"] (C)
(C.0) edge["$E_{\mi{FD}}$"] ++ (1,0)
(E) edge["$F_{\mi{EX}}$"] (C)
(F) edge["$l_{N}$"] (E)
(F.east |- I) edge[near start,"$I_{FD}$"] (I)
(A -| aux) -- (aux) edge (H)
(aux) edge (F)
(F |- I) to (F);
\end{tikzpicture}
\end{document}
You can always overwrite default settings.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[auto, node distance=2cm,>=latex,block/.style={draw, fill=white, rectangle,
minimum height=3em, minimum width=6em}]
\node[block] (A) {$\frac{1}{sT_E}$};
\node[circle, draw, left =of A] (B) {$\Sigma$};
\node[circle, draw, right =of A] (C) {$\Pi$};
\node[rectangle, below=0.5cm of A] (D) {$V_{Emin}$};
\node[block, below=1.12 of C] (E) {$F_{EX}=f(l_N)$};
\node[block,minimum width=5em,xshift=.5em,anchor=0.8, below=.5cm of D] (G) {$S_E(V_E)$};
%\node[block, below right=.5cm and 1.1cm of G] (F) {$l_N=K_C\cdot\frac{l_{FD}}{V_E}$};
\node[rectangle, above=.5 of A] (J) {$\frac{V_{FEmax}-K_D\cdot l_{FD}}{K_E+S_E(V_E)}$};
\node[block,minimum width=5em, below=.5cm of G] (H) {$K_E$};
\node[block,minimum width=5em, below=.5cm of H] (I) {$K_D$};
\node[block] at (H -| E) (F) {$l_N=K_C\cdot\frac{l_{FD}}{V_E}$};
\node[circle, draw, left=1 of H] (K) {$\Sigma$};
%
\draw[->] (A) -- (B);
\draw[->] (A) -- node[pos=0.5,above]{$V_E$} (C);
\draw[->] (C.0) -- ++ (1,0) node[pos=0.5,above] {$E_{FD}$};
\draw[<-] (B.180) -- ++ (-1,0) node[pos=0.5,above] {$E_{FE}$};
\draw[-] (A) -- (J.-40);
\draw[-] (J.-40) -- ++ (0.6,0);
\draw[-] (A) -- (D.140);
\draw[-] (D.140) -- ++ (-0.6,0);
\draw[->] (E) -- node[pos=0.5,right] {$F_{EX}$} (C);
\draw[->] (F) -- node[pos=0.5,right] {$l_{N}$} (E);
\draw[->] (A.0) -- ++ (0.6,0) |- (H.0);
\draw[->] (A.0) -- ++ (0.6,0) |- (F.180);
\draw[<-] (I.0) -- ++ (3.75,0) node[pos=0.8,below] {$I_{FD}$};
\draw[->] (I.0) -| (F.270) ;
\end{tikzpicture}
\end{document}
Code explanation:
- I change
minimum width
to5em
in the three lower nodes. - However, as the nodes are centered, I shift the first one of the three nodes. The other two are automatically shifted correctly.