1、CANopen产品集萃 中国单片机公共实验室 CANopen 协议 综合开发方案 (V3.1 ) 中国单片机公共实验室 2006 年 7 月 http:/www.bol- 第 1 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 关于 CANopen CANopen 协议集定义了基于 CAN 的分布式工业自动化系统的应用标准以及CAN 应用层通信标准。CANopen 是 CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲, CANopen 被认为是在基于 CAN 的工业系统中占领导地位的标准。 CANopen 协议集
2、基于所谓的“通信子集”,该子集规定了基本的通信机制及其特性。 大多数重要的设备类型,例如数字和模拟的输入输出模块,驱动设备,操作设备,控制器,可编程控制器或编码器,都在称为“设备子集” 的协议中进行描述。设备子集定义了不同类型的标准设备及其相应的功能。依靠 CANopen 协议集的支持,可以对不同厂商的设备通过总线进行配置和系统重构。 CANopen 标准最核心的部分是通过对象字典(Object Dictionary )对设备功能进行描述。对象字典分为两部分,第一部分包括基本的设备信息,例如设备 ID,制造商,通信参数等等。第二部分描述了特殊的设备功能。 一个 16 位的索引和一个 8 位的子
3、索引唯一确定了对象字典的入口。通过对象字典的入口可以对设备的“应用对象”进行基本网络访问,设备的“应用对象”可以是输入输出信号,设备参数,设备功能和网络变量等等。 CANopen 设备的功能及特性以电子数据单( EDS)的形式描述,EDS 采用ASCII 格式,可以将 EDS 理解成某种形式的表格。实际的设备设置通过所谓的设备配置文件(DCF )进行描述。 EDS 和 DCF 都可以从 Internet 上下载,并可以存储在设备之中。 http:/www.bol- 第 2 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 象其他知名的现场总线系统一样, CANopen 也分
4、为两种基本的数据传输机制:通过进程数据对象(PDO)对小型的数据进行高速数据交换以及通过服务数据对象(SDO)对对象字典进行访问。后者主要用于在设备配置过程中传输参数以及传输大数据块。进程数据对象通常采用事件触发、循环或请求方式发送,作为广播对象,它的上层并没有附加协议。一个 PDO 最大可传输 8 字节数据。在连接一个同步报文的时候,整个网络都可以采用同步方式对 PDO 进行传送和接收(Synchronous PDOs )。通过存储在对象字典中的 PDO 映射(PDO Mapping) 结构,可以对应用对象到 PDO 对象的分配(Transmission Object )进行调整,这可以保证
5、设备可以对不同的应用需求进行系统重构。 通过传输 SDO 可以实现可靠的数据传输, 由两个 CAN 对象在两个网络节点间通过点对点的通信来实现这一过程。通过传输对象字典的索引以及子索引,可以定位相应的对象字典入口。通过 SDO 传送报文可以不受长度的限制,但传送SDO 报文需要额外的协议开销。 标准化的事件触发的高优先级突发报文用于报告设备故障,可以通过中心时钟报文来提供整个系统的系统时钟。准备和协调建立一个分布式的自动化系统所需的功能都适于 CAL 网络管理(NMT)定义的机制,同样可应用于周期性的节点维护 (node guarding)。也可以选择通过“ Heartbeat Message
6、”来显示 CANopen设备的通信能力并对网络质量进行监控。 PDO 和 SDO 的 CAN 报文标识符可以直接通过对象字典的数据结构的入口标志符进行分配。当然在简单的系统中,也可使用预定义的标识符。 中国单片机公共实验室(BOL) 与 IXXAT 致力于基于 CAN 的高层协议的规范制定以及产品研发已超过 10年时间, 为 CANopen规范的制定做出了重要的贡献。我们最早的 CANopen 软件开发于 1995 年。在加入了 CiA 后,我们积极与该领域重要的工作组合作,在许多大型项目中掌握了很多核心技术,这使得我们成为CANopen 产品开发和系统集成的最称职伙伴之一。 我们提供的 CA
7、Nopen 软件( 中间件 )及解决方案可运行于从 8 位到 64 位及DSP 等所有国际上主流的嵌入式处理器中,既可做到设备独立、操作系统独立,也可在多种操作系统平台上运行。这是因为我们对 CANopen 标准深入地理解并具备源代码和 20 多年的嵌入式处理器经验积累。 中国单片机公共实验室早在 1989 年将 CAN-bus 技术介绍到中国,一直致力于 CAN-bus 在中国的应用和深度开发,与世界上数十家 CAN-bus 产品、技术供应商和标准组织保持密切地合作,在国内有近 300 位 MCUs 和 CAN-bus 的访问学者,曾在中国单片机公共实验室留下了宝贵的专业经验和成果。这些经验
8、希望能在国内各行各业的现代化建设中得到充分地分享。 中国单片机公共实验室主任 吕京建 http:/www.bol- 第 3 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 CANopen 软件和工具产品概述 (目录 ) 我们提供的 CANopen 软件和工具被全球众多公司所采用,其应用范围包括机械控制、电梯技术、海洋船舶自动化、商用车辆、军用和医疗技术。为了满足不同应用领域和开发阶段的需求,我们可提供多种解决方案。 产品名称 描 述 页次 第一部分:协议软件 (源代码 ) CANopen 协议软件 依据 CANopen DS301, v4.02(EN50325-4)规范,
9、 CANopen 协议软件包括实现从站或简单的主站设备所必须的全部功能。还有另外的模块可供选择,如实现 LSS、 flying master或 SDO管理器功能。 79 CANopen 管理器 软件 CANopen 管理器软件是一个非常高效软件包,采用它可以实现复杂的 CANopen 主站或 CANopen 管理设备。基于主站 /管理软件实现的设备既可以用作主站设备,也可以用作纯从站设备。软件包是基于以下规范: DS301, v4.02; DS302, v3.2 和 DS405, v2.0。 1012 CANopen 实时软件 CANopen 实时软件是 CANopen 协议软件的一种专用版本
10、,其特点是增强了接口,可高效地集成到实时的或主流的操作系统之中。 1315 CANopen 舰船应用软件 CANopen 舰船应用软件针对海事应用(DS307, v1.1 ,于 2002年出版) 实现 CANopen 框架, 并专门设计用于增加海事自动化的安全性要求。对于冗余通信,它提供单点容错(single-point-of-failure tolerance)并支持浮动 (flying)主站方案。 1618 第二部分:设置、开发、测试软件 CANopen 主站 API CANopen 主站 API 是一个软件包,可对 CANopen 主站应用进行简单的开发,如控制、维护和测试程序。 19
11、CANopen 管理器 API CANopen 管理器 API 是一个高效、灵活的软件解决方案,与 CAN 接口 iPC-I XC16/PCI 一起,可以让用户实现通用的CANopen 控制应用。它也能在基于 Windows 平台上集成与IEC 61131 一致的运行环境。它基于 CANopen 管理器软件,因此完全支持标准的 CANopen 引导(boot-up) 步骤。CANopen 管理器 API 遵循 CiA DS301 v4.02, DSP302 v3.2, DS405 v2.0 规范。 2021 CANopen 配置工具包 CANopen配置工具包对于 CANopen设备和系统的设
12、计和配置是一种方便、高效的工具。该工具的突出特点是模块化和可扩展性以及基本的数据库方案。 2225 CANopen EDS 编辑器 CANopen EDS 编辑器能够很方便地处理 EDS 文件。其简洁的用户界面为设备制造商和系统集成商提供了所必须的功能,可产生 EDS 文件或编辑现有的 EDS 文件。 26 CANopen 节点管理软件 CANopen节点管理软件可以进行简单的交互访问CANopen从设备。由于该软件可以装在IXXAT VCI驱动软件包里,因此它可以用于由该驱动软件支持的所有接口板。 27 http:/www.bol- 第 4 页 2006-7-28 CANopen产品集萃 中
13、国单片机公共实验室 产品名称 描 述 第三部分:分析、测试软硬件 canAnalyser分析工具 canAnalyser 是 CAN 网络开发、测试和维修的高效和通用工具,尤其是在工业自动化领域已被广泛应用,某些特殊的功能更是大量应用在汽车工业中。 采用当前的 Windows 技术,新型的 canAnalyser V2.0有了更好的灵活性和更强的可靠性,是适用于所有的 CAN 应用领域的全范围现代化分析工具。 CANopen 附加模块 CANopen 模块是附加在 canAnalyser 之上的,它能依据 CANopen 标准解释 CAN 报文。 由 CANopen 和其参数一起定义的报文类型
14、在原文上以彩色显示。此模块适合于分析和测试 CANopen 网络。 iPC-XC16/ PCI iPC-I XC16/PCI 是一种高效的智能 CAN 接口板,有两个 CAN 通道,能覆盖大量的工业自动化和汽车 CAN 应用。与通用 CAN 驱动软件VCI 一起, iPC-I XC16/PCI 能有效地支持 CAN系统中基于 PC 的应用。另外,iPC-I XC16/PCI 也适合与 IXXAT 分析和配置工具一起使用,以及用作 CANopen 网络控制器。 USB-to-CAN II USB-to-CAN II是一种智能接口,有两个 CAN通道和一个 LIN通道 (汽车型) 。USB-to-
15、CAN II 与通用 CAN 驱动软件 VCI 一起,能有效地支持 CAN 系统中基于 PC 的应用;若加上 canAnalyser 软件,它便成为一种便捷、灵活的分析和开发工具。另外,USB-to-CAN II 非常适合于在多节点 CANopen 网络中作为主站设备。 USB-to-CAN compact USB-to-CAN compact 是一种经济型智能接口,有一个 CAN 通道。它可用作主站设备。与通用 CAN驱动软件 VCI一起,能有效地支持 CAN系统中基于 PC 的应用; 若加上 canAnalyser 软件,它便成为一种便捷、灵活的分析和开发工具。由于其极具吸引力的价格和精致
16、小巧的结构,USB-to-CAN compact 适合于多系列产品。 CANmodem/ CANopen CANmodem 是一个智能网关,可以通过平常的 AT 兼容的 modem 远程访问 CANopen 系统。基于 Windows 2000/XP 的可编程接口(API) 提供传输和接收 SDO 报文的功能,并能对 CANmodem 进行配置。基于PC 的服务和监视程序能通过电话拨号连接,采用 API 很容易地进入CANmodem。 CANmodem 是一个完全的 CANopen 节点并具有一个目标字典、两个服务器 SDOs 和 127 个客户机 SDOs。 CANlink II 该产品有两
17、种模式,可分别用于 CAN 和 CANopen 网络。 在 CANopen 模式下, CANlink 是作为 CANopen 的用户,将串行数据作为字节流对象存于制造商特定对象字典区内。 CANbridge CAN 网桥可以将两个具有不同速率的 CAN 网络连接到一起。CAN网桥在接收到一个 CAN 网络的报文后,能够按照一定的滤波方式和转换规则将接收到的报文传送到另外的 CAN 网络。在附加适合的软件情况下, CAN 网桥也可以支持各种不同的高层协议,例如 CANopen和 DeviceNet。 CANblue CANblue 在网桥模式下,允许用户使用两个 CANblue 器件,建立一个
18、CAN-bluetooth-CAN 的网桥。消息的交互发生在第二层,并且是透明的。 CANblue 也可以用在带有 CANopen、 DeviceNet 或用户定制协议的系统中。 注:此部分的详细内容见相关文档。 http:/www.bol- 第 5 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 基础平台 1.用于 Atmel 89C51CC0x 系列的开发平台 产品名称 描 述 1.实时在线仿真器 包括: 1.EMUL51-PC/EA256-BSW-50(50MHz 组切换仿真主板,256kB 仿真存储器) 2.POD-51T-89C51CC0x(用于 Atmel 8
19、9C51CC0x 的 32MHz特性板) 3.PGA44-PLCC44(适配器,从 PGA44 转换为 PLCC44) 4.EMUL-PC/HSP(并口或 USB 口高速扩展机箱) 2.编译器软件包 包括:Assembler, C Compiler, 8051 Utilities, uVison IDE 3.嵌入式CAN网络通讯模块 采用 Atmel 89C51CC01 微控制器,具有 AD、 IO 功能,能够动态下载应用程序 4.实时多任务操作系统 全功能嵌入式实时多任务操作系统(源码,可按单用户版或工程版提供),可支持8051全系列 注:此部分的详细内容见相关文档。 2.用于 Atmel
20、AT90CAN128 的开发平台 产品名称 描 述 1.JTAG 仿真器 包括: JTAG ICE 仿真器 2.编译器软件包 包括:AVR studio & GCC 编译器( 可选 IAR 编译器) 3.评估套件 该套件为设计者提供快速启动工具,用于开发在AT90CAN128 上的代码、推出样机并测试新的设计 4.实时多任务操作系统 全功能嵌入式实时多任务操作系统(源码,可按单用户版或工程版提供),可支持 AVR 全系列 注:此部分的详细内容见相关文档。 3.用于 Infineon XC16x 开发平台 产品名称 描 述 1. OCDS 仿真调试及下载工具 包括: 1.EMUL166-OCDS
21、-PC(支持英飞凌OCDS单片机的开发)2.ULINK(OCDS 调试下载适配工具) 2.编译器软件包 C166/ST10 专业开发包: Assembler, C Compiler, EC+ Compiler, 166, Utilities, RTX166 Tiny, uVison3 Simulator and target debugger 3.嵌入式CAN网络通讯模块 采用 Infineon XC167 或 XC164 微控制器,具有AD、IO功能,能够动态下载应用程序 4.实时多任务操作系统 全功能嵌入式实时多任务操作系统(源码,单用户版) 注:此部分的详细内容见相关文档。 另有针对其它
22、 MCU 或 DSP 的平台供选择。 http:/www.bol- 第 6 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 CANopen 协议软件 开发CANopen从站和简单的主站设备的软件包 摘要 null 拥有基于当前 CANopen规范(DS301, v4.02)的广泛功能; null 依据 DR303-3 CANopen 指示器规范,支持状态显示; null 依据 DSP305 v1.1,支持层设置服务; null 能快速、简单地开发 CANopen 设备(从站和主站); null 模块化软件设计,具有综合配置和裁减功能; null 在最小资源占用下可提供很高
23、的执行效率,实现“零拷贝”(Zero copy); null 简洁的结构化编程接口,便于同应用程序集成; null 易于移植到其它可选的微控制器; null 协议栈和 CAN 驱动器之间有统一的接口,独立于所用的 CAN控制器结构; null 多通道支持。 功能概述 根据 DS301, v4.02规范, CANopen 协议软件包括了所有要求实现 CANopen 从站设备和简单的 CANopen 主站设备的功能。 规模设定性及硬件适应性 为了保证高水平的可裁减性和适应能力,软件包可以通过中心文件进行配置。配置文件能够将协议提供的 CANopen 功能最好地适用于客户的应用,用户可以对系统进行最
24、优化配置。在对软件要求最小的情况下,可以通过修改中心配置文件来适应不同的硬件。 多通道支持 根据要求,我们可提供 CANopen 协议软件的多通道版本。该版本可让用户在一个现场设备中实现多个、独立的 CANopen设备。采用独立的目标字典,在每个通道上可以独立配置NMT 主或从功能。它也可以在每个通道上支持不同 CAN 控制器的并行操作。 http:/www.bol- 第 7 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 对象字典和编程接口 对象字典是应用程序与通信间的接口。应用程序数据参变量可以直接分配给每个对象的变量入口。PDO和 SDO 可以直接访问这些应用程序变
25、量。因此,不需要为了适应 CANopen 协议栈而修改现有的应用程序。用户自定义的回调函数可以连接到每个应用程序对象,当这些对象发生存取操作时会发出一个事件来通知应用程序。这种机制使得应用程序数据可以通过总线直接修改或由程序响应来修改,也支持存储或再生已配置的数据。 进程数据对象(PDO)和服务数据对象(SDO) 根据不同的配置,PDO 支持非同步传输模式(带有或没有事件时钟)、同步传输模式(循环或非循环)以及响应模式(RTR) 。PDO 映射可以根据不同的响应时间要求或资源要求,采用静态或动态方式实现。在缺省方式下 PDO 采用字节传送,也可以采用位进行传送。传送PDO 可以支持虚拟映射及时
26、间约束。对象可以同时被同时写进多个 PDO。SDO 传输模式可支持加速,非加速(分段)和按块传输。PDO 和SDO的数目只受资源的限制。 网络管理 CANopen 软件支持 DS301规范中定义的通过引导程序支持所有网络服务的功能。在网络管理方面扩展了一些功能,用于两种节点监视机制:由主机完成的节点保护以及采用发送者保护的 heartbeat 机制。 ID 分配 ID 分配是按照预定义输入输出连接集完成的,但也可以通过修改相应的对象字典入口来完成。 主站功能 在一些较小的 CANopen系统中,经常只需要一个简单的主站设备启动系统,而无须动用CANopen 主站/管理器。因此 CANopen
27、协议软件包凭借自己的目标字典也能创建简单的CANopen 主站设备功能。这种 CANopen 设备在系统中既能以主站方式也可以从站方式工作,并借助于配置工具通过对象字典进行配置。不过,此软件包只提供用于 NMT 服务的基本功能。而另一些功能是不包括在其中的,如控制系统引导、核查是否获得正确的设备、自动下载配置数据或对节点错误的特定反应,必须由用户来编程。 可选辅助功能 在 CANopen标准软件之上,还可以附加以下软件功能: null Flying master, startup-capable device or NMT-master-capable device according to
28、DS302 null SDO Manager(SDM), SDO Requesting device(SRD) according to DS302 实现效果 CANopen 协议软件是独立于硬件、以 C 源码的形式提供,并经过 CiA 最新的 CANopen测试软件测试。 完备的文档和示例程序可以让用户快速启用 CANopen 软件。项目文件是以例子程序提供的,可以直接集成到编译器厂商的相关开发环境中。所有例程都可以立即在参考平台上运行(CPU 制造商提供的评估板或 IXXAT接口板)。 对特定目标硬件的移植可在数日内完成,例程有助于用户应用的实现。 http:/www.bol- 第 8 页
29、 2006-7-28 CANopen产品集萃 中国单片机公共实验室 可取得的版本 根据不同的功能,CANopen 协议协议软件分为三个不同版本 (Slave S, Slave D, Master/ Slave) 。主/从软件包包含开发 CANopen 纯从站设备或简单主站设备所需的全部功能。各个不同的软件包功能描述如下表。 Function Slave Master/Slave Max. Number of Server SDOs 127 127 Max. Number of Client SDOs - 127 Max. Number of PDOs(Tx/Rx) 255 255 Dynami
30、c PDO Mapping x x SYNC Object C P/C EMERGENCY Object P P/C TIME STAMP Object C P/C NMT Functions S M/S Node Guarding/Heartbeat x x ID Configuration according to Predefined Connection Set x x ID Configuration via SDOs x x NMT start-up object (1F80H) x x Slave assignment list (1F81H) - x Status displa
31、ys according to DR303-3 x x Flying master according to DS302 S M/S LSS services according to DS305 S optional M/S optional C=Consumer(接收者);P=P roducer(发送者);S=Sla ve(从站);M=Master(主站) 支持处理器/CAN控制器 CANopen 协议软件是不依赖于硬件的,所以可以用于大量的微处理器和 CAN 控制器。对下列厂商的微处理器,我们提供了参考的实现方式,包括项目文件和所用的开发环境,这些可以在相关的开发平台上直接运行。 Inf
32、ineon Atmel Renesas Fujistu Microchip Freescale Texas Instruments 若需了解具体支持的处理器,请与我们联系。对于尚不支持的处理器,移植起来也只需几天时间,可以基于通用的 ANSI C 版本进行。 内容清单 null 源代码 null 公司许可证 null 用户手册 null 示例程序 null 技术支持 http:/www.bol- 第 9 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 CANopen 管理器软件 用于开发完整的CANopen主站设备的软件包 摘要 null 适用于实现完整的 CANopen
33、 主站/从站功能 null 基于 DSP302规范实现带有标准启动(boot-up )过程的 CANopen 主站设备功能(在运行时该项功能可关闭) null 基于 CANopen DS301 version 4.02 规范规定的各项功能 null 支持基于 DS301 ver3 及ver4 规定的从设备功能 null 支持 CANopen 设备在运行时系统中的热交换功能 null 通过数据接口简单地集成应用程序,依据 DSP302 处理图象 null 提供全面的诊断接口 null 支持基于 DSP302 及DS405 的 IEC61131-3 null 带有依据 DSP302/DS405 的
34、集成网络管理变量的本地对象字典 null 通过对象字典完成功能的全部配置 null 通过集成配置管理器,采用系统启动(即插即用)自动配置设备 null 标准 NMT 主站应用,提供基于 DS302 标准的引导程序和节点维护 null 易于集成 IEC61131-3 运行时系统(有或无操作系统) null 集成 SDO 管理器(可选) 功能概述 CANopen 管理器软件是一种功能强大的软件包,能实现 CANopen 主或CANopen 管理器设备。以这种方式实现的设备可以以主站设备或纯从站设备工作。该软件包基于下列 CiA 标准: null DS301 version 4.02, CANope
35、n 技术规范应用层和通信概要 null DSP 302 version 3.3, 针对可编程设备的框架 null DS405 version 2.0, 针对 IEC61131-3 可编程设备的借口和设备规范概要 http:/www.bol- 第 10 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 数据接口包括一个命令接口、一个处理图象和一个复杂的诊断接口,能够简单地集成应用程序和 PLC 运行时系统。因为所有必须的接口和功能都包括在软件包中,用户不再需要考虑耗时去开发和测试 CANopen 特定功能(如控制系统启动、测试是否是正确的设备、自动下载配置数据或对节点问题作出
36、特殊反应),而这些正是使用其他 CANopen 软件包时会出现的情况。 数据接口和处理图象 和 PLC 运行时系统的进程数据交换是通过数据接口完成的。 所有产生和管理进程模型所需要的功能都以 shade-memory 或 DPRAM 的形式集成。这样,PLC 运行时系统和 CANopen 管理器软件是完全分开的。这可以设计采用单处理器或者多处理器的系统。网络变量允许通过基于 DS405的进程模型进行管理。数据接口包括以下部分: 进程图象 :接收 I/O 数据、分别传输和其它的进程变量,通过进程映象在应用和 CANopen管理器之间转换。进程映象通过网络变量依据 DSP302/DS405管理。
37、命令接口:命令接口为应用提供各种必须的功能,来控制 CANopen 管理器。这包括初始化、查询设备和系统状态的命令,并实现依据 DS405 的功能模块。 客户SDO 接口 :此接口能够通过应用执行 SDO申请。 事件接口 :该接口通知 CANopen 管理器在设备和系统上重要事件的应用。 诊断接口 :诊断接口能让应用在任何时候获得所有系统设备的信息。 NMT 主、标准启动步骤 可以通过命令界面在 PLC 运行时系统中执行本地函数,同样, PLC 程序也可以根据 DS405中的规定使用这些函数模块。 NMT-Master 可以控制和监视 126 个从站设备。它按照 DS302 规定的引导步骤控制
38、系统的启动。节点监视可以通过 Node Guarding 或者 Hea rtbeat 完成。根据 DS302 的规定,可以通过对象入口管理对从站节点列表的配置。运行时可禁用某些主要功能,这可以使 PLC作为 CANopen 从站设备运行。 进程数据对象和服务数据对象 PDO 支持的传输模式有非同步(带有可选事件触发) ,同步 (循环或非循环),响应 (RTR-Only) 。在缺省方式下 PDO 采用字节传送,也可以采用位进行传送,传送 PDO 可以支持虚拟映射及时间约束。对象可以同时被同时写进多个 PDO。SDO 传输模式可支持加速,非加速(分段)和按块传输。PDO和 SDO 的数目只受资源的
39、限制。 本地对象字典 CANopen Master Kernel拥有自己的对象字典,包括所有 DS301 规定的对象入口以及基于 DS302/DS405 的网络变量管理。除此之外,还包括全部的 NMT Master 配置以及基于 DS302的程序下载功能。这样,可以通过网络完成对 CANopen PLC 的全部配置工作。CANopen PLC仍然可以采用本地操作设备配置(例如,通过显示或串行接口)。 配置管理器 配置管理器的主要功能是配置 CANopen 从站设备。基于 DS302 的配置管理器存储了所有的从站设备配置数据文件。从站设备可以在启动过程中自动配置。这样,设备维护和系统中损坏器件的
40、更换将变得很容易。配置数据需存储在非易失性存储器中。配置管理器作为可选组件提供。 http:/www.bol- 第 11 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 SDO 管理器 SDO 管理器是另一个可选组件。它可以在一个系统的各个设备之间建立动态自适应的连接。如果一个设备需要同系统中其他设备建立这样一个连接的话,就要向 SDO 管理器请求一个 SDO 连接,而 SDO 管理器则会为两个单元分别分配客户和服务 ID。SDO管理器的优点在于在运行时很容易将服务设备集成到 CANopen 系统中去,并且,对 SDO 连接进行时间限制也可以节省资源。 支持IEC6116
41、3-3运行时系统 其数据接口和程序结构极易让 CANopen 管理软件与 PLC 运行时系统集成,如 3S 的CoDeSys。 适应不同硬件和运行时系统 通过修改文件可以让 CANopen 管理器软件适应不同的硬件,另外,资源需求也由一个配置文件控制,在此文件中,可以通过参数配置 TX-PDO, RX-SDO, Client SDO 和Server SDO等的数目,这些都可以根据应用的需要来更改。有没有操作系统都可以进行代码的修改。 实现效果 所提供的 CANopen 管理器软件是 C 源码, 并具有完备的文档和例子程序,可以让用户快速启动工作。 支持的处理器/CAN控制器/编译器 该软件包是
42、 C 源码的方式提供的,因此可以用在很宽范围的处理器上。有关该软件支持的微控制器,可查阅网站。 内容清单 null 源代码 null 软件许可证 null 用户手册 null 示例程序 null 技术支持 http:/www.bol- 第 12 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 CANopen 实时软件 用于开发CANopen设备的CANopen实时软件 摘要 null 实现基于 DS301 vers ion4.0.2 规范的扩展功能集 null 能快速、简单开发 CANopen 设备(主和从) null 具有综合配置的模块化软件结构,能够裁减 null 明
43、了的结构、简单的编程接口,易于连接应用程序 null 采用通用接口集成到目标系统的操作系统上 null 易于移植到可选的单片机和 CAN 控制器 null 高效率 功能介绍及软件结构 CANopen 实时软件可用于开发 CANopen 从站的全部必要功能,并可开发简单的 CANopen主站。CANopen 实时软件根据 DS30 1-Version4.0.2 规范开发。 在 CANopenRT 软件包中,所谓的 CANopen 任务将用来提供相应的功能及服务。该任务将只在需要提供服务时才启动,这样,软件执行将不会浪费不必要的时间。 CANopen 任务将与应用程序任务定位在同一段内存区域中。
44、程序接口及对象字典 CANopen 实时接口(CRT)是应用程序的任务与 CANopen 协议栈之间的编程接口。应用程序传递给 CANopen 协议栈的命令以及 CANopen 协议栈返回给应用程序的命令执行结果、事件以及紧急状态报文都将通过 CRT 传递。CRT 的核心是基于邮箱实现的。应用程序可以包含多个任务,每个任务可以独立适用 CRT 接口。 数据将通过对象字典在应用程序和 CANopen 软件间传递。包含有应用程序数据的变量将可以通过参考地址映射到每个对象字典索引中。另外,用户定义的功能也可以分配到每个应http:/www.bol- 第 13 页 2006-7-28 CANopen产
45、品集萃 中国单片机公共实验室 用对象中。这种方式可以为应用程序提供快速的事件控制功能。将通过信号量保证应用程序及 CANopen软件不会同时访问对象字典。 进程数据对象和服务数据对象 根据不同的配置,PDO 支持非同步传输模式(带有事件时钟选项),同步传输模式(循环或非循环)以及响应模式(RTR-Only).PDO 映射可以根据不同的响应时间要求或资源要求,采用静态或动态方式实现。在缺省方式下 PDO采用字节传送,也可以采用位进行传送。传送PDO 可以支持虚拟映射及时间约束。对象可以同时被同时写进多个 PDO。SDO 传输模式可支持加速,非加速(分段)和按块传输。PDO 和SDO的数目只受资源
46、的限制。 网络管理 CANopen 软件支持 DS301规范中定义的通过引导程序支持所有网络服务的功能。在网络管理方面扩展了一些功能,用于两种节点监视机制:由主机完成的节点保护以及采用生产者保护的 heartbeat 机制。 主站功能 在一些较小的 CANopen系统中,经常只需要一个简单的主站设备启动系统,而无须动用CANopen 主站/管理器。因此 CANopen 协议软件包凭借自己的目标字典也能创建简单的CANopen 主站设备功能。这种 CANopen 设备在系统中既能以主站方式也可以从站方式工作,并借助于配置工具通过对象字典进行配置。不过,此软件包只提供用于 NMT 服务的基本功能。
47、而另一些功能是不包括在其中的,如控制系统引导、核查是否获得正确的设备、自动下载配置数据或对节点错误的特定反应,必须由用户来编程。 操作系统支持 所有的操作系统功能由虚拟 OS 调用来打包, 后者是包含在一个中心模块中(通用操作环境,GOE)。CANopen 实时软件能够很容易地移植到可选的操作系统。只要求对旗语和邮箱或报文序列支持。 规模设定性及硬件适应性 为了保证高水平的可裁减性和适应能力,软件包可以通过中心文件进行配置。配置文件能够将协议提供的 CANopen 功能最好地适用于客户的应用,用户可以对系统进行最优化配置。在对软件要求最小的情况下,可以通过修改中心配置文件来适应不同的硬件。 实现效果 CANopenRT 软件包是独立于硬件、以标准的 C 源代码的形式提供,并经过最新的 CiA CANopen 兼容性测试软件的测试。随软件提供的文档和示例程序可以帮助用户迅速启用CANopenRT 软件。所有例程都可以立即在参考平台上运行(CPU 制造商的评估板)。 http:/www.bol- 第 14 页 2006-7-28 CANopen产品集萃 中国单片机公共实验室 如果所用的操作系统有自己的 CAN驱动