CiA 304协议规范

本文详细阐述了SRDO(安全相关数据对象)在CANopen网络中的角色,包括其定义、属性、写入协议,以及与GFC(全局故障安全命令)的关联。同时介绍了CANopen中的NMT状态和预定义连接集在设备初始化和通信配置中的作用。
摘要由CSDN通过智能技术生成

SRDO的定义

SRDO服务

什么是SRDO?

SRDO(Safety-relevant data object-安全相关数据对象),其实就是在总线中传输的CANopen数据,这些数据要高度安全。SRDO的传输严格遵循CiA 301规范的生产者/消费者关系,一条数据由两个CAN数据帧组成(第2条数据根据第1条数据按位取反)。

SRDO的属性:

SRDO编号

本地设备上每种用户类型的SRDO编号[1-64]

用户类型

取值为{生产者、消费者}

数据类型

根据SRDO映射

刷新时间

n毫秒,n>0

验证时间

n毫秒,n>0

写入SRDO

写入SRDO服务为推送服务,该过程中SRDO的生产者应该向消费者发送映射的应用对象的数据。

读入SRDO

不允许使用读取 SRDO 服务。

SRDO协议

写入SRDO协议

SRDO 写入请求的服务应该是未确认的。SRDO 生产者应该将过程数据发送到一个 SRDO 中,通过网络传输。可能有 1 到多个 SRDO 消费者。在 SRDO 消费者处,应该指示接收到一个有效的 SRDO

数据处理:根据SRDO映射,L(0<L<8)字节的数据。

if L>n consumer consume first n Bytes
if L<n consumer ignores or generate Emergency message 8210h

SRDO协议的传输过程是一个实时的、可靠的双向通信协议(类似于TCP),用于在工业自动化系统中传输数据。其典型的传输过程如下(也是对上图协议流程的解释):

  • 通信周期设置:系统首先需要配置SRDO通信的周期,即确定数据传输的时间间隔。这个周期可以根据实际需求进行设置,通常是毫秒级别。设备在这个周期内进行数据的周期性传输。
  • 数据对象定义:在通信的开始阶段,需要定义要传输的数据对象。这可以包括开关量、模拟量、状态信息等。每个数据对象都会有一个唯一的标识符。
  • 发送方准备数据:在每个通信周期内,发送方设备(例如传感器、执行器)准备要传输的数据。这些数据可能是传感器的测量值、设备的状态等。
  • 数据封装和打包:发送方将要传输的数据封装成SRDO数据包。数据包通常包括数据对象的标识符、数据值、时间戳、错误检测码等。
  • 数据传输:在SRDO通信周期的特定时间点,发送方将封装好的数据包发送到总线上。这可以通过CAN总线等通信媒介实现。
  • 接收方接收数据:接收方设备(例如控制器、监控系统)在相同的周期内监听总线,接收发送方发送的数据包。
  • 数据解析和处理:接收方解析接收到的数据包,提取出数据对象的值和其他信息。然后,根据数据对象的类型,可能会执行相应的控制操作,或者将数据存储供后续分析使用。
  • 错误检测和纠正:在数据传输过程中,接收方会检测数据包中的错误,例如循环冗余校验(CRC)来确保数据的完整性。如果发现错误,接收方可能会尝试纠正错误,或者向发送方请求重新传输。

周期性重复:以上步骤会在每个通信周期内重复进行,以实现周期性的数据传输。上图中的流程是一次数据传输的流程。

注意:SRDO不能通过RTR(Remote transmission request)传输。

全局故障安全命令GFC

GFC的作用

GFC是为了加速系统的反应时间,如果消费者至少已经接收到了一次有效的传输,则GFC命令生效,它在CAN网络中仅允许一次反应。因此,GFC的使用是可选的,它基于事件驱动,并不安全(没有周期性时间预期)。

写入GFC

GFC仍然遵循CiA 301中规定的生产者-消费者推送模型,该服务是未确认的,SRDO将随着GFC传输。

GFC属性

用户类型

{生产者,消费者}

数据类型

nil(无特定数据类型)

GFC协议

网络初始化与系统启动

网络安全的初始化流程

网络初始化流程由NMT主站应用程序或者配置应用程序来进行控制,在网络中NMT主站只有一台。

在步骤1中设备处于NMT预运行状态,该状态在上电后自动进入。在此状态下,通过默认的SDO可以访问设备,使用的CAN-ID是根据预定义的连接集分配的。在这一步中,对所有支持参数配置的设备进行参数配置,其中一些配置数据是与安全相关的。因此,应采取额外的措施来确保网络中的安全功能。

这是通过保存在默认SDO客户端设备上的配置应用程序或工具完成的。对于支持这些功能的设备,可以通过默认的SDO对象执行PDO的选择或配置、应用对象的映射(PDO映射)、SRDO的选择和配置、应用对象的映射(SRDO映射)、额外SDO的配置,并且可选择通过默认的SDO对象进行COB-ID的设置。

在许多情况下,配置是不必要的,因为所有应用和通信参数都已定义为默认值

如果应用程序需要在网络中同步所有或部分节点,可以在可选的步骤2中启动适当的机制。它可以用于确保在进入步骤5中的NMT状态操作之前,除了安全节点外的所有设备都通过SYNC对象进行同步。在进入NMT状态预运行后的第一个SYNC对象传输在1个同步周期内开始。

设备安全的NMT状态

设备的安全状态不是CANopen通信状态。

预操作

在 NMT 预运行状态中,通过 SDO 进行通信是可能的,但 SRDO 和 PDO 通信是不允许的。配置 SRDO、PDO、设备参数以及分配应用对象(PDO 映射)可以由配置应用程序执行。可以通过发送 Start_Remote_Node 请求直接将设备切换到 NMT 状态操作。在 NMT 预运行状态中,应用程序处于安全状态。

操作

在 NMT 预操作状态中,SRDO 和 PDO 通信是活动的,但 SDO 写访问是不可能的。对于安全应用来说,这是唯一的工作状态(例如,电机打开)。只有在这种状态下才支持安全通信。

停止

将安全设备切换到 NMT 停止状态会将通信限制为 NMT 消息,应用程序应处于安全状态。

NMT状态与COB的关系

下表总结了NMT状态与COB之间的关系,列出的COB上的服务只有在设备处于适当的NMT状态之一时才会被执行。

初始化

预操作

操作

停止

PDO(过程数据对象)

允许

SDO(服务数据对象)

允许

允许

SRDO(安全数据对象)

允许

SYNC(同步对象)

允许

允许

Time Stamp(时间戳对象)

允许

允许

紧急对象(Emergency)

允许

允许

Boot-up对象

允许

NMT对象

允许

允许

允许

预定义连接集

在CANopen协议中,预定义连接集(Predefined Connection Set)是一种用于配置和管理CANopen设备之间通信的机制,用于定义设备之间的数据传输关系。预定义连接集的作用在于实现设备间的实时数据交换和协同操作,使得不同设备能够有效地共享信息并协调工作,预定义连接集是一种强制性的默认标识符分配方案

广播对象GFC的预定义连接集:

对象

功能码

CAN-IDs

GFC(Global fail-safe command)

0000b

1(001h)

点对点对象的连接集:

对象

功能码

CAN-IDs

通讯参数的索引

通道方向

普通数据

补充数据

SRDO(nmode-ID 1-32)

0010b

101h-13Fh

102h-140h

1301h-1340h

TX

SRDO(node-ID 33-64)

0010b

141h-17Fh

142h-180h

1301h-1340h

RX

对象字典

CANopen协议的对象字典(Object Dictionary)是一种重要的数据结构,用于描述和存储CANopen设备的参数、配置、状态信息以及其他相关数据。对象字典在通信系统中主要有以下几个作用:

  • 数据存储和管理:对象字典用于存储设备的各种参数、配置和状态信息。这些信息可以包括设备的标识、通信参数、工作模式、状态指示等。
  • 数据交换:设备之间可以通过对象字典交换数据。例如,一个设备可以将其状态信息存储在对象字典中,其他设备可以读取这些信息来了解该设备的状态。
  • 通信配置:对象字典中可以定义通信参数,如节点ID、波特率等。这些参数可以影响设备在CAN总线上的通信方式。
  • 数据交互:对象字典中可以定义用于数据交换的各种对象。这些对象可以是实际的过程数据,如传感器测量值,也可以是配置参数,如控制器的设定值。
  • 标准化和互操作性:CANopen协议规定了一套标准的对象字典结构和对象类型,这有助于不同供应商的设备能够共同工作,实现互操作性。
  • 设备识别和配置:对象字典中的一些参数和标识符可以用于设备的识别和配置。通过读取对象字典,其他设备或系统可以了解设备的特性和能力。
  • 数据表示:对象字典中定义了不同数据对象的类型、单位、范围等信息,从而确保数据的正确解释和使用。
  • 运行时访问:通过对象字典,设备可以在运行时读取和写入参数,实现实时的配置和控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值