1.本文定义CANopen应用层的数据类型、编码规则、对象字典、CANopen通信服务协议、CANopen网络管理服务协议。
2.本文规定CANopen通信协议,如物理层、通信对象标识符预定义连接集、应急对象、时间戳、同步通信对象。
缩写定义
ARQ--自动重复请求、CAN--控制局域网、CAN ID--CAN标识符、COB--通信对象、COB-ID--COB标识符、DAM--目的地址模式、CSDO--Client-SDO、FSA--有限状态机、LLC--逻辑链路控制、LSB--最低位/字节、MAC--介质访问控制
MDI--介质相关接口、MPDO--多路复用 PD0、MSB--最高位/字节、NMT--网络管理、NODE-ID--节点标识符、OSI--开放系统互连、PDO--过程数据对象、PLS--物理层的信令、PMA--物理介质连接、RPDO--接收 PDO
RTR--远程传输请求、SAM--源地址模式、SDO--服务数据对象、 SSDO--Server-SD0、 SYNC--同步对象、 TPDO--发送PDO。
标准帧:包含8字节和11位标识符的消息。
扩展帧:包含8字节和29位标识符的消息。
CAN-ID:CAN数据和远程帧标识符。
COB-ID:包含CAN-ID和附加控制位的标识符。
CANopen中对某种通讯对象的报文帧ID,即CAN报文的11位ID,代表一种通讯含义。
Node-ID(网络范围内每个 CANopen 设备的独特标识)
节点ID号,即CANopen网络中的节点地址,CANopen规定了逻辑上最大128个节点,所以Node-ID最大为128。
COB-ID和Node-ID无必然联系,但在过程数据对象(PDO)和服务数据对象(SDO)中,COB-ID包含了Node-ID。
FAS:状态机(有限个状态以及在这些状态之间的转移和动作。)
设备域:1. 自动化系统中独立联网的物理实体,在特定的上下文和分隔符中使用自身接口执行指定的功能。
2. 在自动化系统中向其他实体执行控制、操纵和/或传感功能和相关接口的实体
至少包含一个CANopen设备(数据链路层,网络接口,1个NodeID,一种通信状态)
CANopen设备:
1个CANopen包含1-8个逻辑设备,且不属于多个设备域。
逻辑设备
根据设备域模型所组织的一系列对象和行为, 描述了该设备的数据和行为
每个逻辑设备可包含1个逻辑设备状态机和多个虚拟设备。
逻辑设备不可分隔于多个CANopen设备。
对象:
封装了状态和行为有明确界限和身份的实体。
虚拟设备
能够像域设备一样完成所属功能事件的软件实体。
每个虚拟设备不可分隔于多个逻辑设备,
每个虚拟设备包含1个虚拟设备状态机。
逻辑服务对象
提供特定的功能和所有相关的服务。
服务原语(指应用程序与应用程序之间的交互,有如下四种)
应用程序发起到应用层的服务请求
应用层向应用程序发送的通知,汇报一个应用层检测到的内部事件或者表明其收到一个服务请求
应用程序为接收到的一个汇报向应用层做出应答
应用层为收到应用程序的服务请求所作的响应确认
服务对象
是 CANopen 协议中的一个概念,通常用于设备之间的通信和服务请求。
是指设备可以提供的特定服务或功能,这些服务对象可以是用于设备配置、控制、诊断、数据传输等目的。
每个设备可以提供多个服务对象,每个服务对象代表设备可以执行的某个操作或服务。例如,设备可能会提供控制、状态读取、数据传输等服务,每个服务都是一个 服务对象。
指设备能够处理的具体功能,通常通过 对象字典(Object Dictionary)进行管理。
设备控制:本地服务对象可以用于接收并处理来自其他设备的控制命令。
数据传输:一些服务对象可能用于处理实时数据传输请求,例如 PDO(Process Data Object)服务。
状态查询:查询设备的当前状态或错误码。
对象字典操作:一些本地服务对象与 SDO(Service Data Object)操作相关,负责在设备内读取或写入数据。
对象字典(描述了应用对象和CANopen报文之间的关系)
是 CANopen 设备中定义的一个重要数据结构,包含了设备的所有可访问对象(包括控制命令、状态信息、参数设置等)
集合了设备上所有影响应用程序对象、通信对象和状态机行为的数据项。
每个对象采用一个 16 位的索引值来寻址,这个索引值通常被称为索引,其范围在 0x0000到 0xFFFF 之间。
为了避免数据大量时无索引可分配,所以在某些索引下也定义了一个 8 位的索引值,这个索引值通常被称为子索引,其范围是 0x00 到 0xFF 之间。
在 CANopen 中,每个设备都有一个 对象字典,它是一个由键值对(对象项)构成的集合。每个对象(例如服务对象)都有一个索引和子索引,并包含相关的描述信息。
无应答服务
PDO、心跳
应答服务
SDO
抑制时间:
事件性质通信机制的基本属性要求定义通信的抑制时间。为保证网络上的低优先级通信对象不被饿死,
需要为通信对象设计抑制时间。即将通信对象定义两次传输服务间的最小时间间隔作为抑制时间
CANopen通信模型:
NMT主机(CANopen主站):
初始化、配置和网络管理(其中包括节点保护),管理报文负责层管理、网络管理和 ID 分配服务。
NMT从机(CANopen从站)
相对应的其他 CANopen 节点就是 NMT 从机(NMT-slaves)。
同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】