fp@42: /****************************************************************************** fp@42: * fp@42: * e c _ d o m a i n . h fp@42: * fp@42: * Struktur für eine Gruppe von EtherCAT-Slaves. fp@42: * fp@42: * $Id$ fp@42: * fp@42: *****************************************************************************/ fp@42: fp@42: #ifndef _EC_DOMAIN_H_ fp@42: #define _EC_DOMAIN_H_ fp@42: fp@42: #include "ec_globals.h" fp@42: #include "ec_slave.h" fp@42: #include "ec_command.h" fp@42: fp@42: /*****************************************************************************/ fp@42: fp@42: /** fp@42: EtherCAT-Domäne fp@42: fp@42: Verwaltet die Prozessdaten und das hierfür nötige Kommando einer bestimmten fp@42: Menge von Slaves. fp@42: */ fp@42: fp@42: typedef struct EtherCAT_domain fp@42: { fp@42: unsigned int number; /*<< Domänen-Identifikation */ fp@42: EtherCAT_command_t command; /**< Kommando zum Senden und Empfangen der fp@42: Prozessdaten */ fp@52: unsigned char data[ECAT_FRAME_BUFFER_SIZE]; /**< Prozessdaten-Array */ fp@52: unsigned int data_size; /**< Größe der Prozessdaten */ fp@42: unsigned int logical_offset; /**< Logische Basisaddresse */ fp@48: unsigned int response_count; /**< Anzahl antwortender Slaves */ fp@42: } fp@42: EtherCAT_domain_t; fp@42: fp@42: /*****************************************************************************/ fp@42: fp@42: void EtherCAT_domain_init(EtherCAT_domain_t *); fp@42: fp@42: /*****************************************************************************/ fp@42: fp@42: #endif fp@42: fp@42: /* Emacs-Konfiguration fp@42: ;;; Local Variables: *** fp@42: ;;; c-basic-offset:2 *** fp@42: ;;; End: *** fp@42: */