精华内容
下载资源
问答
  • CANopen PDO-SDO应用实例讲解,看完之后对于CANopen协议中的对象数据,PDO,SDO能有比较全面的认识,协助进行编程。
  • STM32F4移植canfestival实现canopen协议,两块板子通过canopen协议连接,主从机实现PDO定时发送。
  • CanOpen PDO简单解析(笔记)

    千次阅读 2020-10-29 15:41:29
    PDO说明: 举例说明某伺服驱动器COBID: 大家只要加深对下边这几个十六进制+NodeId理解即可: 0x180 0x280 0x380 0x480 0x580(SDO 回复用到)... 0x200 0x300 0x400 0x500 0x600(SDO 发送用到) ...

    PDO说明:

     

     

     

    举例说明某伺服驱动器COBID:

    大家只要加深对下边这几个十六进制+NodeId理解即可:

    相对于伺服来说TPDO:  0x180   0x280  0x380  0x480  ##### 0x580(SDO 回复用到)...

    相对于伺服来说RPDO : 0x200  0x300   0x400   0x500  ##### 0x600(SDO 发送用到)

    cobid = 0x***  +  NodeId  

     

     

    展开全文
  • STM32F4移植canfestival实现canopen协议,两块板子通过canopen协议连接,主从机实现PDO远程异步通信。
  • STM32F4移植canfestival实现canopen协议,两块板子通过canopen协议连接,主从机实现PDO循环同步通信。
  • CANopen通信之PDO通信

    2018-04-04 15:09:56
    过程数据对象(Process Data Object,PDO)是用来传输实时数据的,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。
  • canopen PDO传输疑问

    千次阅读 2017-10-31 11:04:13
    最近做一个项目碰到的问题,系统中有三个can站,一主二从,主站为主控制模块,从站A控制电机A转动,从站B控制电机B转动,考虑命令传输的延迟,想把A和B的速度命令放到一条PDO里控制。 具体的配置如下: 主站TPDO...

    最近做一个项目碰到的问题,系统中有三个can站,一主二从,主站为主控制模块,从站A控制电机A转动,从站B控制电机B转动,考虑命令传输的延迟,想把A和B的速度命令放到一条PDO里控制。
    具体的配置如下:
    主站TPDO配置
    这里写图片描述

    1A00[1] = 0x20c80110
    1A00[2] = 0x20c80210
    1A00[3] = 0x30020008
    1A00[4] = 0x30070008

    从站A RPDO配置
    这里写图片描述
    1600[1] = 0x20c80010
    1600[2] = 0x0
    1600[3] = 0x30020008
    1600[4] = 0x30070008

    从站B RPDO配置
    这里写图片描述

    1600[1] = 0x0
    1600[2] = 0x20c80010
    1600[3] = 0x30020008
    1600[4] = 0x30070008

    配置好之后,速度都发送100 也就是0x64,然而从机A3002里面的值是0x64,很奇怪。再次验证,20c8-1发送0xABCD,20c8-2发送0x1234,结果
    从站A
    20c8=0xABCD
    3002=0x34
    3007=0x12

    从站B
    20c8=0xABCD
    3002=0x34
    3007=0x12

    这个结果很奇怪,查阅了相关canopen的资料,也没有看到说这个问题的。

    展开全文
  • 本文简单明了的阐述了canopenPDO的工作过程,便于初学者的理解。 文章目录 实例所需拓扑 TPDO1发送 RPDO1接收 节点3接收节点1的RPDO1 PDO 其它说明 实例所需拓扑 节点1向节点2和节点3发送PDO,详细如图所示...

    本文简单明了的阐述了canopen的PDO的工作过程,便于初学者的理解。

    实例所需拓扑

    在这里插入图片描述
    节点1向节点2和节点3发送PDO,详细如图所示。

    TPDO1发送

    在这里插入图片描述

    RPDO1接收

    在这里插入图片描述

    节点3接收节点1的RPDO1

    在这里插入图片描述

    PDO 其它说明

    在这里插入图片描述

    展开全文
  • STM32F4移植canfestival实现canopen协议,两块板子通过canopen协议连接,主从机实现PDO非循环同步通信。
  • STM32F4移植canfestival实现canopen协议,两块板子通过canopen协议连接,主从机实现PDO异步特殊通信。
  • 西门子G120的CANopen PDO通信pdf,西门子G120的CANopen PDO通信:本文以CU230P-2 CAN控制单元为例,介绍如何通过自由PDO映射建立变频器与CANopen主站间的PDO通信。
  • STM32F4移植canfestival实现canopen协议,两块板子通过canopen协议连接,主从机实现PDO远程同步通信。
  • 介绍了canopen协议中PDO和SDO的实现方式
  • canopen实例分析之PDO

    2011-10-11 15:42:57
    以简单的实例,透彻讲解PDO的收发过程。同济大学。
  • CANOPENPDO

    千次阅读 2018-04-13 19:46:09
     t = 1 to 0xF0 : PDO每接收到« t »个SYNC就发送;  t = FD : 在接收到一个请求PDO (rtr = 1)后发送;  t = FF : 基于事件发送。节点自发主动地发送PDO。 首先要进入operational模式, Note: 节点必须处于...

    节点1 0x1800的01位为COB-ID,若某个节点想接受,在0x1400的01位写相同ID。

    节点1 0x1A00中的数据为映射地址,格式为XXXX_XX_XX分别为地址,子索引,数据长度。去找相应地址中的数据,就是要发送的数据。


    节点2 0x1800的01位为COB-ID,若某个节点想接受,在0x1400的01位写相同ID。

    节点2 0x1A00中的数据为映射地址。

    节点2 0x1400的01位为COB-ID,若想接收某个TPDO,写TPDO中0x1800-01中的相同ID。

    节点2 0x1600中的数据为映射地址,格式为XXXX_XX_XX分别为地址,子索引,数据长度。接受的数据就储存在地址中。


    节点3 0x1400的01位为COB-ID,若想接收某个TPDO,则写TPDO中的相同ID。

    节点3 0x1600中的数据为映射地址,格式为XXXX_XX_XX分别为地址,子索引,数据长度。接受的数据就储存在地址中。

    节点3 0x1401的01位为COB-ID,若想接收某个TPDO,则写TPDO中的相同ID。

    节点3 0x1601中的数据为映射地址,格式为XXXX_XX_XX分别为地址,子索引,数据长度。接受的数据就储存在地址中。



    节点1的TPDO写0x181,节点2的RPDO和节点3的RPDO1均写0x181,就完成了节点1向节点2,3的数据传输。

    节点2的TPDO写0x182,节点3的RPDO2写0x182,实现了节点2向节点3的数据传输。



    但是要实现PDO,还需要同步信号SYNC。其模式在0x1800-02中设定。 :

            写传输类型«t»(1字节)

            t = 1 to 0xF0 : PDO每接收到« t »个SYNC就发送;
            t = FD : 在接收到一个请求PDO (rtr = 1)后发送;
            t = FF : 基于事件发送。节点自发主动地发送PDO。

    首先要进入operational模式,Note: 节点必须处于operational模式才能发送SYNC。(有问题,没进入operational模式也发了,但是PDO不发送)



    (同步信号间隔不一致,有两个间隔,很奇怪)

    发送SYNC信号,就可以看到TPDO发送了。

    也可以在子索引02中设定为远程触发,通过远程帧触发TPDO。


    没成功。


    展开全文
  • 由于PDO所传输的数据内容是无协议的且分配的标识符范围较SDO靠前,因此,其效率和优先级都是较...在收到SYNC消息后触发PDO发送,可以定义收到几个SYNC后触发一次TPDO,在有SYNC的CANopen网络中,SYNC就相当于一个网络节拍,.
  • CANopen的例子中,一种使用很多也很简单的方式是用一个1ms定时器中断,然后用全局变量重写sertimer和getElapsedTime函数,然后中断服务函数中加入timerForCan //Set the next alarm // void setTimer(TIMEVAL value)...
  • CANopen原理--PDO

    千次阅读 2018-08-02 13:42:42
    本文介绍CanFestival中的PDO发送过程。 一、PDO通信参数 数据字典0x1400~0x15FF定义了RPDO的通信参数,0x1800~0x19FF定义了TXPDO的通信参数,例如1801定义了TPDO1的通信参数: //TestSlave.c /* index 0x1800...
  • CanOpen的SDO、PDO简单通信使用

    千次阅读 2020-11-13 09:21:54
    CanOpen部分笔记: CanOpen的一些简单的使用记录。为了简单明了,假设现在是用CAN盒子向使用CanOpen协议的设备通信我(假设设备地址ID为0x01)。 SDO通信: 如果想要读取设备某个参数。则使用 此数据格式发送。 ...
  • [CANopen]理清PDO映射

    千次阅读 2020-04-01 22:35:53
    CANopen中发送/接收的数据称之为过程数据(PDO)。这里以发送为例,理清其中的映射关系。 配置 发送使用TPDOx,可以使用TPDOx如下: 项目 通讯参数-字典Index 映射参数-字典Index TPDO1 1800 1A00 TPDO2 ...
  • /* index 0x1800 : Transmit PDO 1 Parameter. */ UNS8 slave_objdict_highestSubIndex_obj1800 = 6; /* number of subindex - 1*/ UNS32 slave_objdict_obj1800_COB_ID_used_by_PDO = 0x180; /* 384 */ ...
  • /* index 0x1800 : Transmit PDO 1 Parameter. */ UNS8 slave_objdict_highestSubIndex_obj1800 = 6; /* number of subindex - 1*/ UNS32 slave_objdict_obj1800_COB_ID_used_by_PDO = 0x180; /* 384 */ ...
  • Canopen通信--PDO

    千次阅读 2018-05-21 10:36:06
    过程数据对象(Process Data Object,PDO)是用来传输实时数据的,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。PDO 传输的数据必须少于或等于 8 个字节,PDO 的 CAN 报文...
  • canOpen学习五之canOpen应用实现主从机PDO非循环同步

    千次阅读 多人点赞 2020-04-30 10:39:27
    /* index 0x1400 : Receive PDO 1 Parameter. */ UNS8 slave_objdict_highestSubIndex_obj1400 = 6; /* number of subindex - 1*/ UNS32 slave_objdict_obj1400_COB_ID_used_by_PDO = 0x200; /* 512...
  • PDO 属于过程数据用来传输实时数据 ,即单向传输,无需接收节点回应CAN 报文来确认,属于“生产消费”模型。 PDO两种传输方式:同步传输和异步传输,今天我们主要讲解同步传输。 [1-1]同步传输分为: 周期传输(循环...
  • CanOpen学习笔记3-- 建立PDO通信

    千次阅读 2019-09-13 19:34:58
    从机PDO发送发送或者接收需要SYNC信号,也就是从机接收到一个或者多个SYNC信号后发送一个PDO,也可以主机明确给出请求信号。 SYNC同步信号产生设置: 1、写0x40000080到index 0x1005, subindex 0位置(SYNC COB .....
  • /* index 0x1400 : Receive PDO 1 Parameter. */ UNS8 slave_objdict_highestSubIndex_obj1400 = 6; /* number of subindex - 1*/ UNS32 slave_objdict_obj1400_COB_ID_used_by_PDO = 0x200; /* 512...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 536
精华内容 214
关键字:

canopenpdo