我有以下代码,我想绘制附图。我有两个问题:
- 我不知道如何在图中放置五边形。
- 我不知道如何绘制虚线及其中用黄色标识的部分。
有人能帮助我吗?谢谢。
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{verbatim}
\usetikzlibrary{shapes, arrows,positioning}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows.meta,decorations}
\pgfdeclaredecoration{strange pin}{initial}
{
\state{initial}[width=0pt,next state=final] {
\pgfpathlineto{\pgfpointadd{\pgfpointdecoratedpathlast}{\pgfpoint{0pt}{-2pt}}}
}
\state{final}
{
\pgfpathlineto{\pgfpointadd{\pgfpointdecoratedpathlast}{\pgfpoint{0pt}{-12pt}}}
}
}
\tikzset{block/.style={draw, fill=blue!15, rectangle,
minimum height=2em, minimum width=4em},
sum/.style={draw, fill=blue!15, circle, node distance=1cm},
input/.style={coordinate},
output/.style={coordinate},
custom pin/.style={pin edge={solid,thick,black,decorate,decoration={strange pin}}}}
\begin{document}
\begin{tikzpicture}[auto, node distance = 2cm]
\node[input, name = input] {};
\node[block, right = 0.8cm of input, font = \LARGE ] (TR) {$\frac{1}{1+sT_\mathrm{R}}$};
\node[sum, right = 0.5cm of TR, font = \large] (sum) {};
\node[input, above = 1cm of TR, font = \large] (vref) {};
\node[input, above = 1cm of input, font = \large] (vuel) {};
\coordinate[right = 0.4cm of sum, name = empty, pin={[custom pin]below:$V_\mathrm{Imin}$},pin={[custom pin]above:$V_\mathrm{Imax}$}] (VI){};
\node[block, right = 1.2cm of sum, font = \large] (HVGate) {HVGate};
\node[block, right = 0.6cm of HVGate, font = \huge] (TC) {$\frac{1+sT_\mathrm{c}}{1+sT_\mathrm{B}}$$\frac{1+sT_\mathrm{c1}}{1+sT_\mathrm{B1}}$};
\node[block, right = 0.6cm of TC, font = \LARGE, pin={[custom pin]below:$V_\mathrm{Amin}$},pin={[custom pin]above:$V_\mathrm{Amax}$}] (KA) {$\frac{K_\mathrm{A}}{1+sK_\mathrm{A}}$};
\node[sum, right = 0.6cm of KA] (sum2) {};
\node[inpu, above = 1.9cm of TC, font = \large ] (othsg3) {$V_{OTH}$}; %othsg
\node[block, above = 0.8cm of TC, font = \large] (UEL) {$V_{UEL}$}; %othsg
\node[block, right = 0.6cm of sum2, font = \large] (HVgate2) {HVGate};
\node[block, right = 0.6cm of HVgate2, font = \large] (LVgate) {LVGate};
\node[input, above = 1cm of LVgate] (voel) {};
\node[block, below = 0.6cm of TC, font = \LARGE ] (kF) {$\frac{\mathrm{s}K_\mathrm{F}}{1+\mathrm{s}T_\mathrm{F}}$};
\node[output, right = 0.1cm of LVgate] (VT) {};
\node[output, right = 0.5cm of VT ] (efd) {};
\node[output, right = 0.9cm of VT] (out) {};
\draw[-latex] (VT) -- (out);
\node[input, below = 2cm of LVgate, font = \large] (ifd) {$I_\mathrm{FD}$};
\node[sum, left = 0.6cm of ifd] (sum3) {};
\node[input, below = 0.6cm of sum3, font = \large] (ilr) {$I_\mathrm{LR}$};
\node[block, left = 0.5cm of sum3, font = \large] (klr) {$K_\mathrm{LR}$};
\draw[-latex, line width=0.30mm] (input) -- node[font = \large] {$E_\mathrm{C}$} (TR);
\draw[-latex, line width=0.30mm] (othsg3) -| node[pos = 0.805, font = \large] {$+$} (sum2);
\draw[-latex, line width=0.30mm] (othsg3) -| node[pos = 0.42, font = \large] {$+$} (sum);
\draw[-latex, line width=0.30mm] (UEL) -| node[pos = 0.425, font = \large] {$+$} (sum);
\draw[-latex, line width=0.30mm] (UEL) -| node[pos = 0.925, font = \large] {$+$} (HVgate2);
\draw[-latex, line width=0.30mm] (UEL) -| node[pos = 0.925, font = \large] {$+$} (HVGate);
\draw[-latex, line width=0.30mm] (vref) -- node[pos = (-.1), font = \large] {$V_\mathrm{REF}$} (sum);
\draw[-latex, line width=0.30mm] (voel) -| node[pos = 0.2, font = \large] {$V_\mathrm{OEL}$} (LVgate);
\draw[-latex, line width=0.30mm] (TR) -- (sum);
\draw[-latex, line width=0.30mm] (sum) -- (HVGate);
\draw[-latex, line width=0.30mm] (HVGate) -- (TC);
\draw[-latex, line width=0.30mm] (TC) -- (KA);
\draw[-latex, line width=0.30mm] (KA) -- node[pos = 0.805, font = \large] {} (sum2);
\draw[-latex, line width=0.30mm] (sum2) -- (HVgate2);
\draw[-latex, line width=0.30mm] (HVgate2) -- (LVgate);
\draw[-latex, line width=0.30mm] (LVgate) -- (out);
\draw[-latex, line width=0.30mm] (VT) -- node[name = u, font = \Large] {$E_\mathrm{fd}$} (out);
\draw[-latex, line width=0.30mm] (u) |- (kF);
\draw[-latex, line width=0.30mm] (kF) -| node[pos = 0.505, font = \large] {$-$} (sum);
\draw[-latex, line width=0.30mm] (ifd) -- node[font = \large] [pos = 0.125] {$+ I_\mathrm{FD}$} (sum3);
\draw[-latex, line width=0.30mm] (ilr) -- node[font = \large] [pos = 0.225] {$I_\mathrm{LR} -$} (sum3);
\draw[-latex, line width=0.30mm] (sum3) -- (klr);
\draw[-latex, line width=0.30mm] (klr) -| node[pos = 0.92, font = \large] {$-$} (sum2);
\end{tikzpicture}
\end{document}
答案1
作为起点:
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta,
calc, chains,
positioning,
shapes.symbols}
\usepackage{mathtools}
\begin{document}
\begin{tikzpicture}[auto,
node distance = 8mm and 8mm,
start chain = going right,
alr/.style = {Stealth-Stealth},
arr/.style = {-Stealth},
block/.style = {draw, fill=blue!15, font=\large,
minimum height=2em, minimum width=4em},
dot/.style = {circle,fill, inner sep=1pt, node contents={}},
HVgate/.style = {signal, draw, fill=blue!15, signal to=east,
font=\large\linespread{0.8}\selectfont, align=left},
sum/.style = {circle, draw, fill=blue!15, inner sep=1pt,
node contents={$\sum$}},
minmax/.pic = {\draw (-0.6,-0.6) node[below right, inner xsep=0pt] {$V_{#1_{\min}}$}
-- (-0.1,-0.6)
-- ( 0.1, 0.6) node[above right, inner xsep=0pt] {$V_{#1_{\max}}$}
-- ( 0.6, 0.6);}
]
\begin{scope}[every node/.append style={on chain, join=by arr}]
\coordinate (in);
\node[block] (TR) {$\dfrac{1}{1+sT_R}$};
\node (sum) [sum, right=of TR];
\node[HVgate,right=24mm] (HVgate) {HV\\Gate};
\node[block] (TC) {$\dfrac{1+sT_c}{1+sT_B}$ $\dfrac{1+sT_{c1}}{1+sT{B1}}$};
\node[block] (KA) {$\dfrac{K_A}{1+sK_A}$};
\node (sum2) [sum, right=16mm];
\node[HVgate] (HVgate2) {HV\\Gate};
\node[HVgate] (LVgate) {LV\\Gate};
\coordinate[right=16mm] (out);
\end{scope}
% main
\pic at ($(sum.east)!0.3!(HVgate.west)$) {minmax=I};
\pic at ($(KA.east)!0.5!(sum2.west)$) {minmax=A};
\node (dot) [dot,right=of LVgate];
% above
\node[above=16mm of sum] (othsg1) {$V_{\textsc{OTHSG}}$};
\draw[arr] (othsg1) -- (sum);
\node[above=16mm of sum2] (othsg2) {$V_{\textsc{OTHSG}}$};
\draw[arr] (othsg2) -- (sum2);
\draw[alr, dashed] ([yshift=-3mm] othsg1.south) node[above right] {$\text{VOS}=1$}
-- ([yshift=-3mm] othsg2.south) node[above left] {$\text{VOS}=3$}
node[midway, align=center, anchor=center, fill=white] {Alternate\\ Stabilizer\\ Inputs};
%
\node (vuel) [above left=6mm of HVgate.north] {$V_{\textsc{uel}}$};
\draw[arr] (vuel) |- ([yshift=2mm] HVgate.west);
% below
\node (TF) [block, below=of KA] {$\dfrac{sK_F}{1+T_F}$};
\draw[arr] (dot) |- (TF);
\draw[arr] (TF) -| (sum)
node[pos=0.75] {$-V_F$};
\node (vref) [below left = of sum] {$V_{\textsc{ref}}$};
\draw[arr] (vref) -- (sum);
\end{tikzpicture}
\end{document}
您的图像缺少一部分,我将(希望)在傍晚时分添加。不过,上面的 MWE 可以向您展示如何完成图像。