Probleme mit TikZ --- Hilfe erwünscht

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


cyrezzza
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 31. Okt 2014, 15:35

Probleme mit TikZ --- Hilfe erwünscht

Beitrag von cyrezzza »

Hallo liebes Forum,

ich verfasse derzeit eine Ausarbeitung und möchte dort Blockschaltbilder einbinden. Nach kurzer Suche bin auch ich TikZ gestoßen. Die Grafiken, die
man damit erstellen kann sehen wirklich super aus. Mein Problem ist nur,
dass mir einfach die Zeit fehlt um mich in dem Maße einzuarbeiten, um das von mir gewünschte Blockschaltbild zu erzeugen.

ich habe allerdings schon was hinbekommen (dank Vorlagen und Internetrecherche). Ich bräuchte einfach nur noch ein paar kleine Hinweise, um ans Ziel zu kommen.

Das SOLL-Blockschaltbild habe ich in PP erstellt.
Leider funzt der Upload bei mir nicht :-(.

Daher erkläre ich es mal mit Worten.

Ich habe ein System aus 2 Blöcken. Der 1,. Block hat die Eingänge
vdq und vw. aus dem ersten Block kommt das Signal u1 und geht in den 2. Block. Zusätzlich gehen in den 2. Block noch die Signale u2 und u3.

In meinem bisherigen TikZ-Bild gehen die Größen u2 und u3 von "oben" auf den 2. Block. Da u2 und u3 aber keine Störgrößen sind sollen sie vo "links" in den Block reingehen und nicht von oben.


http://www.directupload.net/file/d/3792 ... fs_png.htm


Hier mein Latex Code
\documentclass[11pt, margin=0.5mm]{standalone}
\usepackage[bitstream-charter]{mathdesign}
%\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usepackage{verbatim}

\begin{document}


\tikzstyle{block} = [draw, fill=blue!10, rectangle, 
    minimum height=3em, minimum width=6em]
\tikzstyle{sum} = [draw, fill=blue!10, circle, node distance=2cm]
\tikzstyle{input} = [coordinate]
\tikzstyle{output} = [coordinate]
\tikzstyle{pinstyle} = [pin edge={latex-,thin,black}]

\begin{tikzpicture}[auto, node distance=2cm,>=latex']
    % We start by placing the blocks
    \node [input, name=input] {};
    \node [block, right of=input, pin={[pinstyle]above:$v_\mathrm{w}$}] (controller) {1. Teilsystem};
    \node [block, right of=controller, pin={[pinstyle]above:$u_2, u_3$},
            node distance=3.5cm] (system) {2. Teilsystem};
    % We draw an edge between the controller and system block to 
    % calculate the coordinate u. We need it to place the measurement block. 
    \draw [->,>=latex] (controller) -- node[name=u1] {$u_1$} (system);
				%\draw [->,>=latex] (controller) -- node[name=u23] {$u_2, u_3$} (system);
    \node [output, right of=system] (output) {};

    % Once the nodes are placed, connecting them is easy. 
    \draw [->,>=latex] (input) -- node {$\vec{v}_\mathrm{dq}$} (controller);

\end{tikzpicture}

\end{document}
Ich freue mich über jede Unterstützung.




Grüsse
cyrezzza

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hier ist ein Vorschlag, bei dem für das Positionieren der Nodes die positioning Bibliothek genutzt wird. Die Stile (wie block oder Input) sollte man per \tikzset oder im optionalen Argument des tikzpictures definieren.
\documentclass[11pt, margin=0.5mm]{standalone} 
\usepackage[bitstream-charter]{mathdesign} 
\usepackage[T1]{fontenc} 

\usepackage{tikz} 
\usetikzlibrary{shapes,arrows,positioning} 

\tikzset{
  block/.style={draw,fill=blue!10,rectangle,minimum height=4em,minimum width=6em},
  input/.style=coordinate,
  output/.style=coordinate,
  myarrow/.style={->,thin,black}
}
\newcommand\mysep{1em}

\begin{document} 
\begin{tikzpicture}[auto, node distance=2cm,>=latex]
    % Platzieren der Nodes
    \node [input](input) {};
    \node [block, right= of input] (controller) {1. Teilsystem};
    \node [block, right=of controller] (system) {2. Teilsystem};
    \node [output, right= of system] (output) {};
    % horizontale Pfeile
    \foreach \o/\i/\a/\t in {
        input/controller/\mysep/\vec{v}_\mathrm{dq},
        input/controller/-\mysep/v_\mathrm{w},
        controller/system/-\mysep/u_1
      }\draw[myarrow]([yshift=\a]\o.east)--node{$\t$} ([yshift=\a]\i.west);
    % Pfeil mit Ecke
    \path(controller)--node[anchor=south,yshift={\mysep+1cm}](u23){$u_2, u_3$}(system);
    \draw[myarrow](u23)|-([yshift=\mysep]system.west);
\end{tikzpicture} 
\end{document}
Gruß
Elke

cyrezzza
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 31. Okt 2014, 15:35

Beitrag von cyrezzza »

Vielen Danke für die Mühe. Das Ergebnis sieht wirklich super aus.

Wie müsste ich den Quellcode ändern, wenn der Pfeil mit vw von oben
auf das 1. Teilsystem wirkt. Für diesen Fall müsste dann zudem vdq
von links mittig auf das 1. Teilsystem wirken.

Gruss
cyrezzza

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Das entspricht dann aber nicht mehr Deinem verlinkten SOLL-Schaltbild ;-)
\documentclass[11pt, margin=0.5mm]{standalone} 
\usepackage[bitstream-charter]{mathdesign} 
\usepackage[T1]{fontenc} 

\usepackage{tikz} 
\usetikzlibrary{shapes,arrows,positioning} 

\tikzset{ 
   block/.style={draw,fill=blue!10,rectangle,minimum height=4em,minimum width=6em}, 
   input/.style=coordinate, 
   output/.style=coordinate, 
   myarrow/.style={->,thin,black} 
} 
\newcommand\mysep{1em} 

\begin{document} 
\begin{tikzpicture}[auto, node distance=2cm,>=latex] 
     % Platzieren der Nodes 
     \node [input](input) {}; 
     \node [block, right= of input] (controller) {1. Teilsystem}; 
     \node [block, right=of controller] (system) {2. Teilsystem}; 
     \node [output, right= of system] (output) {}; 
     % horizontale Pfeile 
     \foreach \o/\i/\a/\t in { 
         input/controller/0pt/\vec{v}_\mathrm{dq}, 
         controller/system/-\mysep/u_1 
       }\draw[myarrow]([yshift=\a]\o.east)--node{$\t$} ([yshift=\a]\i.west); 
     % Pfeil von oben
     \draw[myarrow]([yshift=2*\mysep]controller.north) node[anchor=south]{$v_\mathrm{w}$}
        --(controller.north);
     % Pfeil mit Ecke 
     \path(controller.north east)
        --node[anchor=south,yshift=2*\mysep](u23){$u_2, u_3$} (system.north west); 
     \draw[myarrow](u23)|-([yshift=\mysep]system.west); 
\end{tikzpicture} 
\end{document}
Gruß
Elke

cyrezzza
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 31. Okt 2014, 15:35

Beitrag von cyrezzza »

Ich weiß, du hast Recht ;-)

Man lernt eben nie aus :-D

Vielen Dank

Antworten