569 % Configuring Pdo assignment and mapping |
569 % Configuring Pdo assignment and mapping |
570 % Domains (memory) |
570 % Domains (memory) |
571 % Pdo entry registration |
571 % Pdo entry registration |
572 % Sdo configuration |
572 % Sdo configuration |
573 % Sdo access |
573 % Sdo access |
574 % VoE handlers |
|
575 |
574 |
576 The application interface provides functions and data structures for |
575 The application interface provides functions and data structures for |
577 applications to access an EtherCAT master. The complete documentation of the |
576 applications to access an EtherCAT master. The complete documentation of the |
578 interface is included as Doxygen~\cite{doxygen} comments in the header file |
577 interface is included as Doxygen~\cite{doxygen} comments in the header file |
579 \textit{include/ecrt.h}. It can either be read directly from the file |
578 \textit{include/ecrt.h}. It can either be read directly from the file |
705 |
704 |
706 % TODO |
705 % TODO |
707 % |
706 % |
708 % PDO endianess |
707 % PDO endianess |
709 % Datagram injection |
708 % Datagram injection |
|
709 |
|
710 %------------------------------------------------------------------------------ |
|
711 |
|
712 \section{VoE Handlers} |
|
713 \label{sec:api-voe} |
|
714 |
|
715 During the configuration phase, the application can create handlers for the |
|
716 VoE mailbox protocol described in sec.~\ref{sec:voe}. One VoE handler always |
|
717 belongs to a certain slave configuration, so the creation function is a method |
|
718 of the slave configuration. |
|
719 |
|
720 A VoE handler manages the VoE data and the datagram used to transmit and |
|
721 receive VoE messages. Is contains the state machine necessary to transfer VoE |
|
722 messages. |
|
723 |
|
724 The VoE state machine can only process one operation at a time. As a result, |
|
725 either a read or write operation may be issued at a time\footnote{If |
|
726 simultaneous sending and receiving is desired, two VoE handlers can be created |
|
727 for the slave configuration.}. After the operation is initiated, the handler |
|
728 must be executed cyclically until it is finished. After that, the results of |
|
729 the operation can be retrieved. |
|
730 |
|
731 A VoE handler has an own datagram structure, that is marked for exchange after |
|
732 each execution step. So the application can decide, how many handlers to |
|
733 execute before sending the corresponding EtherCAT frame(s). |
|
734 |
|
735 For more information about the use of VoE handlers see the documentation of |
|
736 the application interface functions and the example applications provided in |
|
737 the \textit{examples/} directory. |
710 |
738 |
711 %------------------------------------------------------------------------------ |
739 %------------------------------------------------------------------------------ |
712 |
740 |
713 \section{Concurrent Master Access} |
741 \section{Concurrent Master Access} |
714 \label{sec:concurr} |
742 \label{sec:concurr} |
1967 constraints regarding this protocol. |
1995 constraints regarding this protocol. |
1968 |
1996 |
1969 The EtherCAT master allows to create multiple VoE handlers per slave |
1997 The EtherCAT master allows to create multiple VoE handlers per slave |
1970 configuration via the application interface (see chap.~\ref{chap:api}). These |
1998 configuration via the application interface (see chap.~\ref{chap:api}). These |
1971 handlers contain the state machine necessary for the communication via VoE. |
1999 handlers contain the state machine necessary for the communication via VoE. |
1972 One read or write operation may be issued at a time. After the operation is |
2000 |
1973 initiated, the handler must be executed cyclically until it is finished. After |
2001 For more information about using VoE handlers, see sec.~\ref{sec:api-voe} or |
1974 that, the results of the operation can be retrieved. |
2002 the example applications provided in the \textit{examples/} subdirectory. |
1975 |
|
1976 A VoE handler has an own datagram structure, that is marked for exchange after |
|
1977 each execution step. So the application can decide, how many handlers to |
|
1978 execute before sending the corresponding EtherCAT frame(s). |
|
1979 |
|
1980 For more information about using VoE handlers, see the application interface |
|
1981 documentation (chap.~\ref{chap:api}) or the example applications provided in |
|
1982 the \textit{examples/} subdirectory. |
|
1983 |
2003 |
1984 %------------------------------------------------------------------------------ |
2004 %------------------------------------------------------------------------------ |
1985 |
2005 |
1986 \chapter{Userspace Interfaces} |
2006 \chapter{Userspace Interfaces} |
1987 \label{sec:user} |
2007 \label{sec:user} |