Tengo un CANopen pila de esclavos. ¿Es posible implementar las funciones CANopen master y slave utilizando la misma pila? ¿O se requiere una pila maestra separada?
En CAN y CANopen, técnicamente cualquier nodo en el bus puede ser un servidor, un cliente o ambos. A nivel de código, no veo una razón por la que una pila no pueda manejar las tareas del cliente y del servidor. Pero si entiendo tu pregunta, no estás escribiendo la pila tú mismo, y simplemente estás usando la de alguien más; ¿Se proporciona como "solo esclavo" y quizás se haya implementado para enviar solo TPDO en un modo controlado por eventos (aparte de los objetos que requiere el estándar respectivo de su dispositivo)?
Si es así, entonces no veo cómo puede usarlo para hacer que su dispositivo actúe como un maestro y solo pregunte a cualquier nodo de la red por datos de objetos específicos. Si no, entonces definitivamente intentaría que tu pila permitiera a tu dispositivo actuar como un maestro y un esclavo, porque no tengo conocimiento de ningún obstáculo técnico que lo impida. Ojalá no haya entendido mal tu pregunta.
Lea otras preguntas en las etiquetas can