fp@42: /****************************************************************************** fp@42: * fp@54: * 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@54: #include "globals.h" fp@54: #include "slave.h" fp@54: #include "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@54: typedef struct ec_domain fp@42: { fp@56: int number; /*<< Domänen-Identifikation */ fp@54: ec_command_t command; /**< Kommando zum Senden und Empfangen der fp@54: Prozessdaten */ fp@54: unsigned char data[EC_FRAME_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@54: ec_domain_t; fp@42: fp@42: /*****************************************************************************/ fp@42: fp@54: void ec_domain_init(ec_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: */