\documentclass[a4paper,onecolumn]{IEEETran}
\usepackage{bloques}
\usepackage{verbatim}
\oddsidemargin=-1.5cm
\title{The Bloques Package}
\author{Alejandro Garces Ruiz \\
[email protected]}
\begin{document}
\maketitle
\section{Functions}
The \textbf{bloques} package is a very simple set of commands based on \textbf{tikz} to generate control blocks. The only packages required in the definition are:
\begin{verbatim}
\usepackage{tikz}
\usepackage{bloques}
\end{verbatim}
The package is very efficient for sequential blocks as follow:
\begin{verbatim}
\bStart{TEXT}
\bPlusDown{TEXT}
\bPlusUp{TEXT}
\bMinusDown{TEXT}
\bMinusUp{TEXT}
\bEnd{TEXT}
\bGain{TEXT}
\bGainPlus{TEXT1}{TEXT2}
\bGainMinus{TEXT1}{TEXT2}
\end{verbatim}
For Feedback controls, it is required to mark the nodes with the following functions:
\begin{verbatim}
\bMinusF{NODENAME}
\bPlusF{NODENAME}
\bFeedBack{TEXT}{NODENAME}
\bCrossGain{TEXT}{NODENAME1}{NODENAME2}
\bNewStart{TEXT}{POSITION}
\bMarkNode{NODENAME}
\bMarkNodeUp{NODENAME}
\bMarkNodeDown{NODENAME}
\end{verbatim}
To change colors and distances, the following functions are available
\begin{verbatim}
\bShadow{NUMBER} % default = 0
\bColorB{COLOR} % default = white
\bColorT{COLOR} % default = black
\ydistance{NUMBER} % default = 1.2 cm
\end{verbatim}
\newpage
\section{examples}
\begin{figure}[h!]
\begin{tikzpicture}
\bStart{$X_{ref}$}
\bMinusDown{$X$}
\bGain{$k_{p}$}
\bPlusUp{$Y$}
\bGainPlus{$U$}{$\omega L$}
\bEnd{$V_{x}$}
\node[right of = NODO1, text width=8.5cm, node distance = 6.0cm, drop shadow={opacity=1}, fill=blue!20, rounded corners] (C4)
{
\begin{verbatim}
\begin{figure}
\begin{tikzpicture}
\bStart{$X_{ref}$}
\bMinusDown{$X$}
\bGain{$k_{p}$}
\bPlusUp{$Y$}
\bGainPlus{$U$}{$\omega L$}
\bEnd{$V_{x}$}
\end{tikzpicture}
\end{figure}
\end{verbatim}
};
\end{tikzpicture}
\caption{Simple Control diagram }
\end{figure}
\begin{figure}[h!]
\begin{tikzpicture}
\bShadow
\bStart{$X_{ref}$}
\bMinusDown{$X$}
\bGain{$k_{p}$}
\bPlusUp{$Y$}
\bGainPlus{$U$}{$\omega L$}
\bEnd{$V_{x}$}
\node[right of = NODO1, text width=8.5cm, node distance = 6.0cm, drop shadow={opacity=1}, fill=blue!20, rounded corners] (C4)
{
\begin{verbatim}
\begin{figure}
\begin{tikzpicture}
\bShadow
\bStart{$X_{ref}$}
\bMinusDown{$X$}
\bGain{$k_{p}$}
\bPlusUp{$Y$}
\bGainPlus{$U$}{$\omega L$}
\bEnd{$V_{x}$}
\end{tikzpicture}
\end{figure}
\end{verbatim}
};
\end{tikzpicture}
\caption{Control diagram with shadow}
\end{figure}
\begin{figure}[h!]
\begin{tikzpicture}[thick]
\draw[fill=blue!20, draw=white] (-0.5,-3) rectangle (8,2);
\draw[fill=green!20, dashed,thick] (4,-2) rectangle (7,0.5);
\bShadow
\bColorB{blue!80!green!50}
\bColorT{yellow}
\bColorL{white}
\bStart{$X_{ref}$}
\bMinusDown{$X$}
\bGain{$k_{p}$}
\bColorB{blue!30!green!80}
\bPlusUp{$Y$}
\bGainPlus{$U$}{$\omega L$}
\bEnd{$V_{x}$}
\node[right of = NODO1, text width=8.5cm, node distance = 6.0cm, drop shadow={opacity=1}, fill=blue!20, rounded corners] (C4)
{
\begin{verbatim}
\begin{figure}
\begin{tikzpicture}[thick]
\draw[fill=blue!20, draw=white]
(-0.5,-3) rectangle (8,2);
\draw[fill=green!20, dashed]
(4,-2) rectangle (7,0.5);
\bShadow
\bColorB{blue!50!green!45}
\bColorT{yellow}
\bColorL{white}
\bStart{$X_{ref}$}
\bMinusDown{$X$}
\bGain{$k_{p}$}
\bColorB{blue!30!green!80}
\bPlusUp{$Y$}
\bGainPlus{$U$}{$\omega L$}
\bEnd{$V_{x}$}
\end{tikzpicture}
\end{figure}
\end{verbatim}
};
\end{tikzpicture}
\caption{Control diagram with shadow and different colors}
\end{figure}
\begin{figure}[h!]
\begin{tikzpicture}
\bColorB{blue!70!green!20}
\bStart{$X_{r}$}
\bMinusF{NODEX}
\bGain{$k_{p}+\frac{k_{i}}{S}$}
\bFeedBack{$k_{x}$}{NODEX}
\bEnd{$X$}
\node[right of = NODO1, text width=8.5cm, node distance = 6.0cm, drop shadow={opacity=1}, fill=blue!20, rounded corners] (C4)
{
\begin{verbatim}
\begin{figure}
\begin{tikzpicture}
\bColorB{blue!70!green!20}
\bStart{$X_{r}$}
\bMinusF{NODEX}
\bGain{$k_{p}+\frac{k_{i}}{S}$}
\bFeedBack{$k_{x}$}{NODEX}
\bEnd{$X$}
\end{tikzpicture}
\end{figure}
\end{verbatim}
} ;
\end{tikzpicture}
\caption{Control diagram with feedback}
\end{figure}
\begin{figure}[h!]
\begin{tikzpicture}
\bColorB{blue!30!green!50}
\bColorT{white}
\bStart{$X_{r}$}
\bMinusF{NODEX}
\bGain{$k_{p}+\frac{k_{i}}{S}$}
\bGain{$K_{2}$}
\bPlusDown{$Y$}
\ydistance{2.5cm}
\bFeedBack{$k_{x}$}{NODEX}
\bEnd{$X$}
\node[right of = NODO1, text width=8.5cm, node distance = 6.0cm, drop shadow={opacity=1}, fill=blue!20, rounded corners] (C4)
{
\begin{verbatim}
\begin{figure}
\begin{tikzpicture}
\bColorB{blue!30!green!50}
\bColorT{white}
\bStart{$X_{r}$}
\bMinusF{NODEX}
\bGain{$k_{p}+\frac{k_{i}}{S}$}
\bGain{$K_{2}$}
\bPlusDown{$Y$}
\ydistance{2.5cm}
\bFeedBack{$k_{x}$}{NODEX}
\bEnd{$X$}
\end{tikzpicture}
\end{figure}
\end{verbatim}
} ;
\end{tikzpicture}
\caption{Change the ydistance}
\end{figure}
\begin{figure}[h!]
\begin{tikzpicture}
\bStart{$I_{d(ref)}=0$}
\bMinusDown{$I_{d}$}
\bGain{PI1}
\bPlusF{NODET}
\bEnd{$V_{d}$}
\bNewStart{$\omega_{ref}$}{(-2,-4)}
\bMinusDown{$\omega_{s}$}
\bGain{PI2}
\bMinusUp{$I_{q}$}
\bMarkNodeUp{NODEX}
\bGain{PI3}
\bEnd{$V_{q}$}
\bCrossGain{$\omega L$} {NODEX} {NODET}
\node[right of = NODO1, text width=8.5cm, node distance = 6.0cm, drop shadow={opacity=1}, fill=blue!20, rounded corners] (C4)
{
\begin{verbatim}
\begin{figure}
\begin{tikzpicture}
\bStart{$I_{d(ref)}=0$}
\bMinusDown{$I_{d}$}
\bGain{PI1}
\bPlusF{NODET}
\bEnd{$V_{d}$}
\bNewStart{$\omega_{ref}$}{(-2,-4)}
\bMinusDown{$\omega_{s}$}
\bGain{PI2}
\bMinusUp{$I_{q}$}
\bMarkNodeUp{NODEX}
\bGain{PI3}
\bEnd{$V_{q}$}
\bCrossGain{$\omega L$} {NODEX} {NODET}
\end{tikzpicture}
\end{figure}
\end{verbatim}
};
\end{tikzpicture}
\caption{More compex controls}
\end{figure}
\end{document}