CANopen is a communication protocol and device profile specification for embedded systems used in automation.