CANopen

CANopen是一种架构在控制器局域网络（Controller Area Network, CAN）上的高层通讯协定，包括通讯子协定及设备子协定常在嵌入式系统中使用，也是工业控制常用到的一种现场总线。
CANopen实作了OSI模型中的网络层以上（包括网络层）的协定。CANopen标准包括定址方案、数个小的通讯子协定及由设备子协定所定义的应用层。CANopen支援网络管理、设备监控及节点间的通讯，其中包括一个简易的传输层，可处理资料的分段传送及其组合。一般而言资料链接层及实体层会用CAN来实作。除了CANopen外，也有其他的通讯协定（如POWERLINK及EtherCAT）实作CANopen的设备子协定。
基本的CANopen设备及通讯子协定定义在CAN in Automation (CiA) draft standard 301.。针对个别设备的子协定以CiA 301为基础再进行扩充。如针对I/O模组的CiA401及针对运动控制的CiA402。

NMT协议

NMT（网络管理, Network management）协议是用来发布（设备内部）状态机的状态变更命令（如启动设备或停止设备）、以及监测远端设备启动及故障情形。
NMT master使用的模组控制协定可变更设备的状态。其COB-ID为0，其功能码及节点ID均为0，因此网络上的所有节点均会处理这个讯息。在此讯息的资料部分会有此讯息实际针对节点的ID，此ID也可为0，表示所有节点都要变更为指定的状态。
心跳协定（Heartbeat protocol）是用来监控网络中的节点及确认其正常工作。心跳讯息的生产者（一般是slave设备）周期性的送出功能码1110、ID为本身节点ID的讯息，讯息的资料部分有一个表示节点状态的位元。而心跳讯息的消费者负责接收上述资料，若在指定时间（于设备的对象字典中定义）内，消费者均未收到讯息，可采取相关行动（例如显示错误或重置该设备）。
其格式为：

      COBID + DATA (status of node)  
CANopen设备需要在bootup时自动从Initializing状态切换至Pre-operational状态，设备会在切换完成后送出一个心跳讯息，这就是心跳协定。
有一种pull model的NMT协定，称作节点监控（Node guarding）协定，也可以作从机的监控。

进程数据对象（PDO）协定

进程数据对象（PDO）协定可用来在许多节点之间交换即时的资料。可透过一个PDO，传送最多8字节（64位元）资料给一设备，或由一设备接收最多8字节（64位元）的资料。一个PDO可以由对象字典中几个不同索引的资料组成，规划方式则是透过对象字典中对应PDO mapping及PDO参数的索引。
PDO分为两种：传送用的TPDO及接收用的RPDO。一个节点的TPDO是将资料由此节点传输到其他节点，而RPDO则是接收由其他节点传输的资料。一个节点分别有4个TPDO及4个RPDO。
PDO可以用同步或异步的方式传送：同步的PDO是由SYNC讯息触发，而异步的PDO是由节点内部的条件或其他外部条件触发。例如若一个节点规划为允许接受其他节点产生的TPDO请求，则可以由其他节点送出一个没有资料但有设定RTR位元的TPDO（TPDO请求），使该节点送出需求的资料。　
借由RPDO也可以使两个或两个以上的设备同时启动。只要将其RPDO对应到相同的TPDO即可。

同步（SYNC）协定

同步协定使用生产者/消费者模型。同步生产者（Sync-Producer）会定时产生同步信号供同步消费者（Sync-Consumer）使用。当同步消费者收到信号，即可以进行已规划好的同步工作。
同步信号会定时产生，若有PDO是由同步信号引发，透过PDO传送时间及同步信号传送周期之间的调整，可以使感测器定期的取様，而致动器也可以根据最新的输入信号产生对应的输出。
在对象字典中，同步对象的索引为0x1005，可透过编辑此对象启动同步协定。

时间标记对象（TIME）协定

一般而言，时间标记对象的内容是从1984年1月1日午夜之后到现在之间经过的时间，单位为毫秒。为一个48位元（6字节）的数值。
不过有些应用会要求时间要非常精确，这种情形会需要精准的同步，尤其是在大型网络，通讯速度受限时更是如此。此时需要将各设备的时钟同步，精准度要到毫秒的等级。这个要求可透过高分辨率的同步信号达成，在同步信号中也包括了另一种时间标记，可供各设备调整时钟用。
同步信号中的时间标记型态为unsigned32，单位为1毫秒，因此时间标记会在每72分钟归零重新计数。