CANopen_现场总线应用层协议主站的开发与实现
- 格式:pdf
- 大小:1.34 MB
- 文档页数:95
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第6章 CAN 总线应用层协议——CANopen1.1 CANopen 主站设备的实现上文介绍了CANopen 协议转换模块——XGate-COP10和基于该模块设计的I/O 设备,本章节中将介绍CANopen 网络中具有主站功能的设备如何开发。
尽管在CiA 组织的CANopen 规范中没有明确的定义主站设备和从站设备,但大家还是习惯把具有网络管理(NMT )能力的CANopen 设备称之为CANopen 主站设备。
除此之外CANopen 主站还应具有服务数据(SDO )客户端功能,这样CANopen 主站能够控制以及访问网络中的所有CANopen 从站。
PCI-5010-P 就是具有这些功能的CANopen 主站板卡(PCI 接口),下文将介绍如何基于该产品快速实现功能强大的CANopen 主站设备。
1.1.1 CANopen 网络的拓扑结构 一个CANopen 网络中的主站设备管理着其它的从站设备,而且一个网络只允许有一个CANopen 主站设备和最多127个从站设备存在。
图6.1所示为PCI-5010-P 在CANopen 网络中的典型应用形式。
1.1.2 PCI-5010-P CANopen 主站卡简介PCI-5010-P 系列工业级CAN 通信卡支持CANopen 主站协议,支持CiA 建议的标准波特率以及自定义波特率,并提供多个操作系统的设备驱动、工具软件等,能真正的满足客户的各种应用需求,为工业通信CANopen 网络提供了可靠性、高效率的解决方案,在计算机中的硬件与软件结构如图6.2所示。
图6.2 PCI-5010-P 在计算机中的硬件与软件结构PCI-5010-P 具有如下特性:用PCI 总线,兼容PCI 2.2规范;图6.1 PCI-5010-P 在CANopen 网络中的结构文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.● 支持CAN2.0A 协议; ● 支持CANopen 协议;● 符合ISO/DIS 11898-2 规范;● 集成1路电气完全隔离的CAN 通道; ● DC 2500V 电气隔离保护; ● 增强ESD/EMI 性能;● 遵守工业应用规范。
一、CAN-BUS介绍1.CAN的基本概念、特点CAN 是 Controller Area Network的缩写(以下称为 CAN),是 ISO*1国际标准化的串行通信协议。
CAN 协议如表 3 所示涵盖了 ISO 规定的 OSI 基本参照模型中的传输层、数据链路层及物理层。
CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图所示。
ISO/OSI 基本参照模型【注】*1 OSI:Open Systems Interconnection (开放式系统间互联)CAN的特点CAN 协议具有以下特点。
(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权。
(2) 消息的发送在 CAN 协议中,所有的消息都以固定的格式发送.总线空闲时,所有与总线相连的单元都可以开始发送新消息。
两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。
ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。
两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较.仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
(3)系统的柔软性与总线相连的单元没有类似于“地址”的信息。
因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
(4)通信速度根据整个网络的规模,可设定适合的通信速度。
在同一网络中,所有单元必须设定成统一的通信速度。
即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信.不同网络间则可以有不同的通信速度。
(5)远程数据请求可通过发送“遥控帧”请求其他单元发送数据。
(6) 错误检测功能·错误通知功能·错误恢复功能所有的单元都可以检测错误(错误检测功能)。
CANopen 协议在现场总线网络中的应用贾 佳(西安航空职业技术学院 陕西西安 710089)摘 要:CANopen 是一个开放的、标准化的应用层协议,在各种控制系统中得到了广泛的应用,可以进一步提高系统的可靠性、灵活性和兼容性。
结合工业控制中的自调匀整系统,采用CANopen 协议实现了CAN 总线上下位机之间的通信,并通过测试证明各通信模块具有较强的在线可控性,保证系统工作稳定可靠。
关键词:CANopen 协议;CAN 总线;DSP ;对象字典中图分类号:TP273 文献标识码:B 文章编号:10042373X (2008)152178203Application of CANopen Protocol in Fieldbus N et w orkJ IA Jia(Xi ′an Aeronautical Polytechnic Institute ,Xi ′an ,710089,China )Abstract :CANopen is a sort of exoteric and standard application layer protocol ,the use of it enhances the reliability ,agili 2ty and compatibility in all kinds of control system.This paper decribes its communication between machines by associating with the autolevel control system.The on 2line controllable is verified by testing experiment between communications modules ,the reliable and stabilization of the whole system are ensured.K eywords :CANopen protocol ;CAN bus ;DSP ;object dictionary收稿日期:20082012101 引 言基于现场总线的网络技术研究是自动控制领域发展的一个热点。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第6章 CAN 总线应用层协议——CANopen1.1 CANopen 主站设备及其应用由于可靠性、实时性、低成本、抗干扰性、兼容能力等多个方面的优势,CAN-bus 与其高层协议CANopen 已成为了车辆数据通信系统的事实标准,并普遍应用于所有的可移动设施,例如船舶舰艇、客车火车、升降电梯、重载车辆、工程机械、运动系统、分布式控制网络等。
几乎所有的通用 I/O 模块、驱动器、智能传感器、PLC 、MMI 设备的生产厂商都提供有支持CAN-bus 与CANopen 标准的产品。
只要符合 CANopen 协议标准及其设备协议子集标准的系统,就可以在功能和接口上保证各厂商设备的互用性和可交换性。
1.1.1 CANopen 网络特点作为标准化应用,CANopen 建立在设备对象描述的基础上,设备对象描述规定了基本的通信机制及相关参数。
CANopen 可通过总线对设备进行在线配置,与生产厂商无关联,支持网络设备的即插即用("Plug and Play")。
CANopen 支持2类基本数据传输机制:PDO 实现高实时性的过程数据交换,SDO 实现低实时性的对象字典条目的访问。
SDO 也用于传输配置参数,或长数据域的传输。
CANopen 既规定了各种设备之间的通信标准,也定义了与其他通信网络的互连规范。
1.1.2 CANopen 网络中的设备分类在说明CANopen 网络设备分类之前,我们有必要先了解其网络通信模型。
CAN-bus 支持 “生产者-消费者”通信模型,支持一个生产者和一个或多个消费者之间的通信关系。
生产者提供服务,消费者接收则可以(消费)或忽略服务。
需要注意,CANopen 标准作为CAN-bus 的应用层协议之一,除了支持上述服务类型外,还支持“客户端-服务器”通信模型。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第6章 CAN 总线应用层协议——CANopen1.1 CANopen 协议CANopen 协议是在20世纪90年代末,由CiA 组织(CAN-in-Automation )在CAL (CAN Application Layer )的基础上发展而来,一经推出便在欧洲得到了广泛的认可与应用。
经过对CANopen 协议规范文本的多次修改,使得CANopen 协议的稳定性、实时性、抗干扰性都得到了进一步的提高。
并且CiA 在各个行业不断推出设备子协议,使CANopen 协议在各个行业得到更快的发展与推广。
目前CANopen 协议已经在运动控制、车辆工业、电机驱动、工程机械、船舶海运等行业得到广泛的应用。
1.1.1 CANopen 协议简介图6.1 CANopen 设备结构图6.1所示为CANopen 设备结构,CANopen 协议通常分为用户应用层、对象字典以及通信三个部分。
其中最为核心的是对象字典,这部分将在本章节中介绍。
CANopen 通信是CANopen 关键部分,其定义了CANopen 协议通信规则以及与CAN 控制器驱动之间对应关系,熟悉这部分对全面掌握CANopen 协议至关重要。
用户应用层是用户根据实际的需求编写的应用对象,这部分本书将不作介绍。
1.1.2 CANopen 对象字典CANopen 对象字典(OD: Object Dictionary )是CANopen 协议最为核心的概念。
所谓的对象字典就是一个有序的对象组,每个对象采用一个16位的索引值来寻址,这个索引值通常被称为索引,其范围在0x1000到0x9FFF 之间。
为了允许访问数据结构中的单个元素,同时也定义了一个8 位的索引值,这个索引值通常被称为子索引。
每个CANopen 设备都有一个对象字典,对象字典包含了描述这个设备和它的网络行为的所有参数,对象字典通常用电子数据文档(EDS :Electronic Data Sheet )来记录这些参数,而不需要把这些参数记录在纸上。
基于CANopen协议的CAN总线应用抽象层的设计与实现的开题报告一、选题背景随着现代工业自动化技术的不断发展,越来越多的控制系统采用了基于CAN(Controller Area Network)总线的通信结构。
CAN总线具有即插即用、可扩展性强、速度快等优点,已经成为现代工业自动化领域最受欢迎的通信方式之一。
CANopen是一种使用CAN总线的标准化协议,被广泛用于工业自动化、机器人、航空航天等领域中。
当前,CANopen协议的应用较为广泛,但开发者在进行CANopen协议相关软件开发时,仍然需要面对复杂的开发工作,包括传输对象字典(Object Dictionary)的管理、节点状态转移机(Node State Machine)的设计、数据通信的处理等。
为了简化开发者的开发工作,提高其开发效率,设计和实现一个基于CANopen协议的应用抽象层显得尤为重要。
二、选题目的本选题旨在设计和实现一个基于CANopen协议的应用抽象层,使得开发者在进行CANopen协议相关软件开发时,能够更加简便地管理传输对象字典、设计节点状态转移机以及处理数据通信,从而提高其开发效率。
三、选题内容1. CANopen协议基础知识的学习2. CAN总线的通信原理及协议规范的学习3. CANopen协议标准的了解及应用场景的研究4. CANopen协议的应用抽象层设计5. CANopen应用抽象层的代码实现及调试6. CANopen应用抽象层功能测试及性能测试四、研究方法本文选用文献调研和实践相结合的方法。
通过查阅相关的文献资料,深入了解CAN总线及CANopen协议的相关知识,利用实验室现有的硬件开发平台,进行应用抽象层的代码实现及性能测试等工作。
五、研究意义本研究的意义在于,通过设计和实现一个基于CANopen协议的应用抽象层,可以简化开发者的开发工作,提高其开发效率,从而进一步推动CAN总线在工业自动化领域的普及和应用。
竭诚为您提供优质文档/双击可除can总线与canopen协议篇一:•canopen协议讲解根据ds301的内容进行介绍1、can总线can标准报文2、canopen应用层协议canopen协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。
同时,canopen完全基于can标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。
一个标准的canopen节点(下图),在数据链路层之上,添加了应用层。
该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。
一个标准的canopen节点canopen应用层协议细化了can总线协议中关于标识符的定义。
定义标准报文的11比特标识符中高4比特为功能码,后7比特为节点号,重命名为通讯对象标识符(cob-id)。
功能码将所有的报文分为7个优先级,按照优先级从高至低依次为:网络命令报文(nmt)同步报文(sync)紧急报文(emeRgency)时间戳(time)过程数据对象(pdo)服务数据对象(sdo)节点状态报文(nmterrcontrol)7位的节点号则表明canopen网络最多可支持127个节点共存(0号节点为主站)。
下表给出了各报文的cob-id范围。
nmt命令为最高优先级报文,由canopen主站发出,用以更改从节点的运行状态。
sync报文定期由canopen主站发出,所有的同步pdo根据sync报文发送。
emeRgency报文由出现紧急状态的从节点发出,任何具备紧急事件监控与处理能力的节点会接收并处理紧急报文。
time报文由canopen主站发出,用于同步所有从站的内部时钟。
pdo分为4对发送和接收pdo,每一个节点默认拥有4对发送pdo和接收pdo,用于过程数据的传递。
sdo分为发送sdo和接收sdo,用于读写对象字典。
mterrorcontrol报文由从节点发出,用以监测从节点的运行状态。
状态机canopen的每一个节点都维护了一个状态机。
竭诚为您提供优质文档/双击可除can总线与canopen协议篇一:•canopen协议讲解根据ds301的内容进行介绍1、can总线can标准报文2、canopen应用层协议canopen协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。
同时,canopen完全基于can标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。
一个标准的canopen节点(下图),在数据链路层之上,添加了应用层。
该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。
一个标准的canopen节点canopen应用层协议细化了can总线协议中关于标识符的定义。
定义标准报文的11比特标识符中高4比特为功能码,后7比特为节点号,重命名为通讯对象标识符(cob-id)。
功能码将所有的报文分为7个优先级,按照优先级从高至低依次为:网络命令报文(nmt)同步报文(sync)紧急报文(emeRgency)时间戳(time)过程数据对象(pdo)服务数据对象(sdo)节点状态报文(nmterrcontrol)7位的节点号则表明canopen网络最多可支持127个节点共存(0号节点为主站)。
下表给出了各报文的cob-id范围。
nmt命令为最高优先级报文,由canopen主站发出,用以更改从节点的运行状态。
sync报文定期由canopen主站发出,所有的同步pdo根据sync报文发送。
emeRgency报文由出现紧急状态的从节点发出,任何具备紧急事件监控与处理能力的节点会接收并处理紧急报文。
time报文由canopen主站发出,用于同步所有从站的内部时钟。
pdo分为4对发送和接收pdo,每一个节点默认拥有4对发送pdo和接收pdo,用于过程数据的传递。
sdo分为发送sdo和接收sdo,用于读写对象字典。
mterrorcontrol报文由从节点发出,用以监测从节点的运行状态。
状态机canopen的每一个节点都维护了一个状态机。