...
The command flow of the ``Edge detection'' block is shown in the following figure.
\nxatext
{
It consists of the following blocks:
}
{
Er enthält folgende Blöcke:
}
...
"Is edge detected?
...
"
This condition verifies whether a positve positive edge is detected at the input. The condition is shown in figure \ref{fig:delayed_off_edge_detection_cond}.}{Diese Bedingung erkennt eine steigende Flanke am Input. Die Bedingung ist in Abbildung \ref{fig:delayed_off_edge_detection_cond} ersichtlich.}
\textbf{``Set edge''}\\
\nxatext{Here, the variable ``edge'' here.
"Set edge'"
Here, the variable "edge" is set which indicates that an edge has been detected. The implementation is shown in figure \ref{fig:delayed_off_edge_detection_set_edge}.}{Hier wird die Variable ``edge'', die die erkannte Flanke anzeigt, gesetzt. Die Implementierung ist in Abbildung \ref{fig:delayed_off_edge_detection_set_edge} ersichtlich.}
\textbf{``Reset edge''}\\
\nxatext{This block is used to reset the variable ``edge''. The implementation is shown in figure \ref{fig:delayed_off_edge_detection_reset_edge}.}{Dieser Block wird verwendet, um die Variable ``edge'' rückzusetzen. Die Implementierung ist in Abbildung \ref{fig:delayed_off_edge_detection_reset_edge} ersichtlich.}
\textbf{``Set last value edge''}\\
\nxatext{Here, the current value of the input is stored in the variable ``last input'' which is used in the next command execution to perform the edge detection. The implementation is shown in figure \ref{fig:delayed_off_edge_detection_set_last_value}.}{Hier wird der momentane Wert des Inputs in der Variable ``last input'' gespeichert, um im nächsten Kommandodurchlauf die Flankenerkennung durchführen zu können. Die Implementierung ist in Abbildung \ref{fig:delayed_off_edge_detection_set_last_value} ersichtlich.}
\begin{nxamultigraphic}{``CMD BLOCK'' for edge detection}{``CMD BLOCK'' für Flankenerkennung}{delayed_off_edge_detection_variable_edge}
\nxasubgraphic
{examples/fig/delayed_off_edge_detection_cond.png}
{examples/fig/delayed_off_edge_detection_cond.png}
{Edge detection}
{Flankenerkennung}
{delayed_off_edge_detection_cond}
{250pt}
{}
\nxasubgraphic
{examples/fig/delayed_off_edge_detection_set_edge.png}
{examples/fig/delayed_off_edge_detection_set_edge.png}
{Set variable ``edge''}
{Setzen der Variable ``edge''}
{delayed_off_edge_detection_set_edge}
{100pt}
{}
\nxasubgraphic
{examples/fig/delayed_off_edge_detection_reset_edge.png}
{examples/fig/delayed_off_edge_detection_reset_edge.png}
{Reset variable ``edge''}
{Rücksetzen der Variable ``edge''}
{delayed_off_edge_detection_reset_edge}
{100pt}
{}
\nxasubgraphic
{examples/fig/delayed_off_edge_detection_set_last_value.png}
{examples/fig/delayed_off_edge_detection_set_last_value.png}
{Set variable ``last input''}
{Setzen der Variable ``last input''}
{delayed_off_edge_detection_set_last_value}
{150pt}
{}
\end{nxamultigraphic}
\subsubsection{``Is edge detected?'}
\nxatext
{the following figure.
"Reset edge"
This block is used to reset the variable ``edge''. The implementation is shown in the following figure.
"Set last value edge"
Here, the current value of the input is stored in the variable ``last input'' which is used in the next command execution to perform the edge detection. The implementation is shown in the following figure.
"Is edge detected?"
This condition verifies whether an edge has been detected in the previous ``CMD BLOCK''. Using an ``EQUAL'' block, the current value of the variable ``edge'' (retrieved by the ``VARIABLE VALUE'' block in combination with a ``VARIABLE NAME'' block) is compared to the constant ``TRUE'' (provided by a ``BOOL'' block). The implementation of the ``Is edge detected'' condition is shown in figure \ref{fig:delayed_off_is_edge_detected}.
...