CANopen

CANopen is communication protocol built on top of CAN. CAN is a popular link layer standard which allows exchanging data between nodes and build multi-node applications. All nodes can broadcast their information to the buss allowing fast data exchanges without necessity to coordinate over a single "master" node. CANopen is a specific protocol built on top of CAN bus.

The CAN in Automation (CiA) organization is responsible for releasing CANopen specification. It has built number of application layer protocols on top of CAN, CANopen is one of them.

It is possible to obtain a copy of specification from CiA website. Please refer the official materials for more details on protocol and its constructs.

Apache PLC4X is open source project. It is not a certified product.