• 欢迎光临重庆谱思机器人
  • 023-63207381
  • 18996196754
  • sales@pusirobot.com
    谱思商标新颜色谱思商标新颜色谱思商标新颜色谱思商标新颜色
    • 首页
    • 公司介绍
    • 产品中心
      • 小型步进电机控制器
      • 小型步进电机驱动器
      • 一体化步进电机
      • 电容式液位传感器
      • 直流有刷电机控制器
    • 技术服务
      • 技术文章
      • 产品用户手册
      • 软件工具
      • 驱动
      • 常见问题
    • 最新消息
    • 行业应用
      • 医疗器械设备行业
      • 印刷包装机械行业
      • 机器人行业
      • 纺织机械设备行业
      • 自动化行业
      • 文创行业
    • 联系我们
    • 最新消息
    • 商城中心
      • 一体化步进电机产品
      • 小型步进电机驱动器产品
      • 小型步进电机控制器产品
      • 电容式液位传感器产品
    ✕

    一文了解”CANopen“

    • 首页
    • 技术服务 技术文章
    • 一文了解”CANopen“
    一文了解”CANopen“

    CANopen的起源

    德国Bosch公司于1983年研发CAN协议,用于汽车传动系统的网络通讯,之后称为国际标准ISO11898。CANopen 是基于CAN-bus分布式工业控制技术的标准,它是由生产厂商和用户联合CiA(CAN in Automaion)共同开发的,并于2002年成为CENELEC EN 50325-4标准。

    如今,CANopen协议已广泛用于电机控制(步进/伺服电机)中,也应用于:如机器人技术(自动化机器人、传送带和其他工业机械)、医疗类(X射线发生器,注射器,病床和透析设备)、汽车行业(农业,铁路,拖车,重型,海洋等)。

    CANopen的优势

    • 硬件优势
    1. CAN协议最大的突出特点是错误检测,限制和处理。当CAN设备检测到总线错误时,会拒绝之前接收到的位序列,然后发送“错误帧”,其完全由CAN芯片本身处理,不需要人为编程。
    2. 报文短帧结构,CAN报文通常只有8个字节,数据帧非常短,在抗干扰能力上具有先天的优势。
    • 软件优势
    1. 关于CANopen协议的资料,网上一堆,任何人都可以下载到,我们常用的DS301,DS402,几乎人手一本,犹如葵花宝典(PS:无需自宫,至少我没有-。-),一定要来一本,有需要也可以联系小谱。
    2.  CANopen协议的开发,开源项目非常多,网上有很多基于MCU的精简源码。当然想要开发完整的CANopen协议栈,是很艰辛的工作,想要做好非常难。

    选择CANopen的原因

    CANopen对于运动控制来说是一款优秀的通讯协议,采用了面向对象的一些设计思路,比如对象字典,过程数据对象(PDO),服务数据对象(SDO)等等。

    CANopen在欧洲已成为最普通的协议,任何一家自动化公司都有CANopen的通讯接口,也成了低配。低配并不代表不好,只是说明其性价比更高。CANopen定义了完整的同步控制机制,使其成为主流的运动控制协议。

    关于CANopen的九个基本概念

    1. DCF

      设备配置文件(Device configuration file),是加强版的 EDS,可以设置节点 ID 及通信速度。

    2. EDS

        电子数据表格,是描述一台从站设备的属性,参数的文件,是对从站设备对象字典的描述。EDS不是必须的,例如Bechkoff的主站就不需要从站提供EDS文件,但大多数的主站配置软件都需要。

    3. 复位节点

        当设备遇到异常(如从站断线后重连),主控会发送“复位节点”,驱动器恢复出厂值,而且连CAN通讯参数也恢复成默认值。FD,JD伺服是除了CAN通讯参数外,其他配置参数恢复出厂值。

    4. EMCY

        紧急服务用于设备发生致命错误(例如传感器故障)的情况,从而使其可以向网络的其余部分指示此错误,一般伺服断电后,其电容电量能保证其发送该条报文。

    5. 心跳,节点保护

        配置心跳参数,设置心跳周期,心跳消费时间,这个消费者时间实际上是作为一个超时参数。主站收到一个心跳后,开始计时,如果在超时时间内没有收到下一个心跳,则认为从站离线,并报告错误,按照用户配置的错误处理方法处理。

    网络中的每个节点都可以配置心跳,主站可以监听从站,从站可以监听主站,从站还可以监听从站。这里有一个生产者、消费者的概念,总线上的设备定义自己是心跳的生产者,还是消费者。生产者产生心跳,消费者监听心跳,然后在捕捉到异常后做出对应的处理。

      节点保护,其作用类似心跳,但可以读取从站设备的CANopen通讯状态(初始化,预操作,操作中,停止),属于DS301的范畴。

    6. DS301和DS402的区别

        DS301就是一个通讯协议栈,DS402是建立在DS301的上层协议,属于伺服类的控制协议,协议中规定好每个对象字典的作用。谱思的产品PMC007CxSxPx采用工业标准CANOPEN DS301控制协议,适合各种高精度、宽范围的工业应用。

    7. 对象字典

      CANopen对象字典是CANopen协议最为核心的概念。所谓的对象字典就是一个有序的对象组,每个对象采用一个16位的索引值来寻址,这个索引值通常被称为索引,其有效范围在0x1000到0x9FFF之间。为了允许访问数据结构中的单个元素,同时也定义了一个8位的索引值,这个索引值通常被称为子索引。每个CANopen设备都有一个对象字典,对象字典包含了描述这个设备和它的网络行为的所有参数。可以这么理解,从字面去解读,对象字典就是一本字典,CANopen设备知道的和可以做的行为都在这本字典里的某个位置,不管它想做什么,只要它要实施动作都要以字典为参考对象,以此确认可行性。

        例如你的上位机收到了一报文,由于可以访问对象字典的对象是SDO,首先要判断它是SDO对象,那么你的程序就需要按照SDO中指定的索引和子索引去查找对象字典(一个排好序的数据结构集),找到相应的对象后按照SDO中的指令去操作这个对象,例如把一个值赋给字典中的变量。

    8. SDO

    这个很简单,就是类似串口的一发一回模式,主站发送请求帧,从站回复应答帧。

    大家看几个例子就明白了。

    主站发送:605 2F 03 20 00 07 00 00 00

    从站响应:585 60 03 20 00 00 00 00 00

    主站向节点ID为5的设备发起写请求,请求的索引地址为0x2003,子地址为0x00,写入的数据为7,对应PMC007对象字典中的波特率设置参数,写入数据7表示设置波特率为800Kbit/s。从站响应60表示写入成功。

    主站发送:605 23 04 60 00 80 0C 00 00

    从站响应:585 80 04 60 00 22 00 00 08

    主站向节点ID为5的设备发起写请求,请求的索引地址为0x6004,子地址为0x00,写入的数据为0xC80(3200),对应PMC007对象字典中的步进命令,写入数据3200表示让电机执行3200步步进。从站响应80表示写入失败,错误码为0x08000022

    9. PDO

    PDO通信是基于生产者/消费者(Producer/Consumer)模型,主要用于传输实时数据。产生数据的节点将带有自己节点号的数据放到总线上,需要该数据的节点可以配置为接收该节点发送的数据。PDO的传输是由事件触发的,这样的事件可以是代表一个PDO变量的变化;可以是时间的过期或者是接收到一个特定的消息。过程数据直接在一个CAN消息中传输而不需要协议头文件。一个PDO的长度是在0到8个字节之间。

    • PDO传输类型定义

    0:PDO在收到SYNC后发送,但不是周期的;

    1-240:PDO在收到SYNC后发送,周期发送,该值为两次发送PDO之间的间隔的SYNC个数;

    255:事件触发;

    • PDO配置示例

    PMC007CxSxPx支持通过SDO配置PDO映射,以配置GPIO值为TPDO1为示例,发送的SDO为:

    设置通信的COB-ID为187,即节点ID为7的设备接收该PDO

    主站发送:605 23 00 18 01 87 01 00 00

    设置为事件触发

    主站发送:605 2F 00 18 02 FF 00 00 00

    设置Inhibit time为5ms

    主站发送:605 2B 00 18 03 32 00 00 00

    设置Event time为1000ms

    主站发送:605 2B 00 18 05 E8 03 00 00

    设置映射条目数1

    主站发送:605 2F 00 1A 00 01 00 00 00

    设置映射参数,将0x6012映射到TPDO1

    主站发送:605 23 00 1A 01 10 00 12 60

    配置完成后PMC007会每隔1s发出PDO报文,当GPIO端口有变化时也会发出该报文

    PDO映射内容:187 03 00

    该报文表示GPIO1和GPIO2为高电平。

    关于CANopen的简介就到这了,欢迎补充和询问

    更多内容请访问 重庆谱思机器人控制系统 https://www.pusirobot.com/

    相关文章

    2023年3月23日

    谱思闭环一体化步进电机在电力巡检机器人行业中应用


    阅读全文
    2023年3月16日

    步进电机编码器的选择


    阅读全文
    2023年2月28日

    步进电机加减速算法介绍


    阅读全文
    • 首页
    • 公司介绍
    • 产品中心
      • 小型步进电机控制器
      • 小型步进电机驱动器
      • 一体化步进电机
      • 电容式液位传感器
      • 直流有刷电机控制器
    • 技术服务
      • 技术文章
      • 产品用户手册
      • 软件工具
      • 驱动
      • 常见问题
    • 最新消息
    • 行业应用
      • 医疗器械设备行业
      • 印刷包装机械行业
      • 机器人行业
      • 纺织机械设备行业
      • 自动化行业
      • 文创行业
    • 联系我们
    • 最新消息
    • 商城中心
      • 一体化步进电机产品
      • 小型步进电机驱动器产品
      • 小型步进电机控制器产品
      • 电容式液位传感器产品

    我们的使命

    顺应时代需求,我们积极投入到研发工作中去。向市场提供新技术新产品的同时,进一步将客户的意见融于产品设计中,从而向市场和客户提供更为易用的产品。

    关于我们

    公司致力于工业自动控制系统及机器人的研制和销售,并为行业客户提供智能化控制系统解决方案,帮助客户提高生产效率和产品品质。开发的产品均具有自主知识产权,核心技术获得多项国家专利。



    公司电话: 023-63207381 18996196754

    传       真: 023-63207381

    邮       箱:sales@pusirobot.com

    中文网址:http://www.pusirobot.com

    公司地址:重庆市渝北区黄山大道中段5号5楼18号

    渝ICP备15001176号-1

    © 2019 重庆谱思机器人控制系统有限公司. All Rights Reserved     网站地图
      ✕

      登录

      忘记密码?

      创建一个帐户?

      ✕

      购物车

      您的购物车目前是空的。

      小计: ¥0.00
      合计: ¥0.00
      进行结账 查看购物车
      • Shop
      • 我的帐户
      • 0 购物车