现场总线CANopen设计与应用

说明:

CAN-bus的国际标准支队物理层和数据链路层制定了规范,对应用层没有定义。国内许多CAN用户采用自己定义的应用层协议。因为诸多原因,许多设计者定义的CAN-bus上层协议局限性较大,,甚至仅仅是用于再物理层取代传统的RS485总线。这些设计并没有很好的体现CAN-bus可以多主机、优先级仲裁等有点,只是系统的实时性和可靠性都较低。

 

CANopen协议是在现场总线CAN-bus之上定义的一套应用层协议,其核心是对象字典及多种通信方式。基于这一核心,该协议又对多种行业设备制定了进一步的规范,称为设备子协议。

前言:

 CANopen是一种基于控制器局域网(CAN)的通信自协议。CANopen规范全集除了包括应用层和通信协议之外,还包括各种不同的框架、建议,以及标准的设备规范、接口协议与应用技术规范。

第一章 通信和设备模型

为了达到各种不同的兼容性等级,所有的过程数据、配置参数和诊断信息都必须用同一个对象模型来描述。CANopen规范用通过3套属性来描述一个对象。

  1. 对象描述。对象描述包括对象的名称机器唯一的标识符(索引)。此外用户还可以设定对象的类型:变量(仅由一个元素构成)、数组(由多个相同的元素构成)以及记录(由不同元素构成)。包含在对象描述中的数据类型描述了各自称部分的编码和长度。
  2. 入口描述。入口描述可以为数组和记录(子对象)设定一个名称机器唯一的标识符(子索引)。
  3. 值定义描述。该描述详细规定了对象的含义,包括物理单位、乘数、偏置量和编码。

第二章 物理层

第三章 CAN协议

物理媒介对于“显性位”和"隐性位"的阐述是CAN方位机制和出错管理的基本前提条件。

CAN总线上传输的帧共有4中类型:数据帧、远程帧、错误帧、超载帧。

  • 标准帧

帧起始(SOF)用来指示一个数据帧或远程帧的开始。SOF包含1个确定的显性位,出现在总线上的隐性到显性的乃冲下降沿用于同步CAN网络中的其它节点设备。

帧起始后面是标识符场(CAN-ID)。在标准格式的数据帧中,标识符场由11位组成,用于表示确定的待传输消息。其数值也作为袋传书消息的优先级。

同一个CAN网络中,不能够有两个节点同时发送具有相同标识符但却包括不同数据内容的帧。

标识符段之后一位是远程传输请求位(RTR),用来却分数据帧和远程帧。当RTR位为显性时,表示传输数据帧;当RTR为隐性时,表示传输远程帧。

控制端由6位组成,包括保留为r1、r0以及4位DLC(数据长度代码)。DLC表示此阵在数据段中的传输字节数。通常DLC范围为0~8,当DLC值大于8时,改制也可以在总线上传输,但此阵在数据段中的传输字节数仍会北限制在8字节。

数据段由0~64位组成,包含此阵传输的实际有效信息(0~8字节)。通常,数据段的传输都是从第一个字节开始,并且时从每个字节的最高有效位开始。

数据段之后是CRC段(循环冗余校验),由15位CRC序列和1位CRC界定符组成。接收器可以利用CRC序列来识别是否接收了错误的数据。

应答段(ACK)由一个应答间隙位和一个应答界定符位组成。发送器在应答间隙位传输一个隐性电平;在正确接受了完整的消息之后,接收器发送一个显性电平以进行确认。应答间隙位的电平值剋用来提示本网络中有没有接收器正确收到了当前发送的消息(应答间隙位呈隐性电平),或至少有一个接收器正确收到了当前发送的消息(应答间隙位呈显性电平)。因此,应答机制只可以用来检测网络消息响应故障,但不能用来发送错误帧。

每一帧以帧结束段(EOF)结束。EOF段由7个隐性电平的位组成。在传输EOF段的过程中,网络的各个接收器还有最后一次发出错误帧的机会。

EOF段之后还必须插入一个帧间空间(ITM),ITM之后才能开始传输下一个帧。ITM空间由3个隐性电平的位组成,已不属于前一条帧的组成单元。

 

  • 远程帧

 

 

 

第四章 应用层

 CANopen规范中所定义的基本通信服务构成了应用程序与CANopen应用层之间的接口。

基本服务有一下4种:

  • 请求:应用程序请求CANopen软件的一种通信服务
  • 指示:CANopen软件向应用程序报告某一事件或应执行的任务
  • 响应:应用程序对CANopen软件报告的事件或任务做出的应答
  • 确认:CANopen软件向应用程序确认CANopen软件已经执行了任务

CANopen应用层服务类型:

  • 仅在一个设备中执行的服务,比如:局部服务和提供者启动的服务
  • 多个设备通过网络进行通信的服务,比如:确认和未确认的服务

 

 基本原理:

CANopen设备模型。包含通信单元、应用程序和对象字典3个部分。

  • 通信单元。通信单元由CAN收发器、CAN控制器以及CANopen协议栈组成。协议栈中包括实现通信的通信对象(如过程数据对象(PDO)和服务数据对象(SDO))和状态机。通信单元提供数据传输所需的所有机制和通信对象,符合CANopen规范的数据可以利用这些机制通过CAN接口进行传输。
  • 应用单元。对设备的基本功能进行定义或描述。
  • 对象字典。是应用单元与同i性能单元之间的接口,实际上是设备的所有参数列表。应用单元和通信单元都可以方位这个参数列表。对象字典中的词目(对象或参数)通过一个16位索引和一个8位子索引进行识别或定位,用户客队词目进行读写。例如,为通信对象配置不同的CAN标识符。如果应用对象是一个调节器,那么对象字典中的词目就是调节器参数。

CANopen协议中定义3中不同类型的通信关系:

  • 主机-从机模型

  • 客户端-服务器模型

  • 生产者-消费者模型 

 

 通信对象:

  • 过程数据对象(PDO):用来传输实时数据
  •  

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 现场总线CANopen是一种常用的控制系统通信协议,它基于CAN总线,具有高效、可靠和实时性强等特点,在工业自动化领域得到广泛应用CANopen协议包括了多种链路层和应用层协议,可以适应不同的硬件环境和应用场景。CANopen协议不仅可以实现设备之间的通信,还可以实现设备的配置和参数设置等功能。 在CANopen设计应用中,需要对硬件和软件进行综合考虑。硬件上需要选择合适的CAN芯片,以及连接设备时使用的物理连接方式、端子等,并根据需求调整相应的配置参数。软件上需要开发相应的CANopen协议栈和应用程序,并进行充分的测试和调试。 在应用过程中,需要注意CAN总线的带宽和数据传输速率,以确保系统的实时性和可靠性。此外,还需要考虑设备的诊断和监控功能,以及数据的安全性和保密性等问题,确保系统的稳定运行。 总之,CANopen协议在工业自动化控制系统中具有重要的应用价值和深远的发展前景,它可以提高生产效率,优化生产流程,降低成本和提高产品质量。因此,研究和开发CANopen技术是掌握先进自动化技术的必由之路。 ### 回答2: 现场总线CANopen是一种基于CAN(Controller Area Network)总线的通信协议,它可以方便地实现现场设备的集成和控制,同时具有低成本、高可靠性、高实时性等特点。CANopen协议在工业、机械、车辆等领域得到了广泛的应用。《现场总线CANopen设计应用》这本书详细介绍了CANopen协议的原理、应用和实现,对于工程师和学者具有很高的参考价值。 此书分为四个部分,包括CANopen基础知识、CANopen应用层、CANopen对象字典和CANopen硬件设计。在CANopen基础知识部分,作者介绍了CAN总线的基本原理和CANopen协议的架构和特点。在CANopen应用层部分,作者详细讲解了CANopen协议中的通信机制、数据传输和网络管理等知识。在CANopen对象字典部分,作者阐述了CANopen协议中的对象字典的概念、结构和使用方法,并举例介绍了对象字典的编写和解析过程。在CANopen硬件设计部分,作者详细讲解了CAN 总线硬件的搭建、信号调理、电路保护、传输速率控制和故障检测等技术。 通过本书的学习,读者能够深入了解CANopen协议的理论和应用,掌握CANopen系统的设计、开发和维护技能。这对于研究CAN总线、工业自动化等领域,或者需要开发具有现场控制功能的产品的工程师来说,都是非常宝贵的参考资料。同时,本书还给出了大量的实例和应用案例,便于读者理论与实践相结合,更好地掌握CANopen应用。 ### 回答3: 《现场总线CANopen设计应用》pdf书籍是一部介绍CANopen现场总线设计应用指南。 CANopen现场总线是一种用于各种工业自动化应用的数据通讯协议,它能支持多种不同的设备,例如传感器、执行器、控制器等等。CANopen的主要特点包括:可靠性高、传输速率快、灵活性强。 作者通过详细的介绍,使读者不仅了解了CANopen现场总线的基本理论,还掌握了应用实际操作技能。书中内容包括CANopen通信协议、CANopen对象字典、CANopen节点配置、CANopen程序设计CANopen网络管理等多方面知识。 总之,这本书适合工业自动化从业人员、学生、教师等人员阅读,具有很高的实用价值。读者通过学习此书,能更好的理解CANopen现场总线的工作原理和实际应用场景,从而更好地应用CANopen现场总线于实际工程实践中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值