文章目录
一、伺服系统简述
主要由电机本体、驱动器(控制器)和反馈装置(如编码器)三大部分组成
1、伺服系统框图
2、总线通讯接口
EtherCAT
CANopen
RS485
3、调试接口
RS485 /RS232,主要用于与厂家上位机通信,调整参数使用
4、通信接口选择
目前调试主要是用can总线,RS485总线响应慢,后期专门对RS485做一期讲解,EtherCAT没用过
二、canopen应用
我只是讲我目前应用的部分,完整的canopen协议网上资料很多,想了解的自行搜索
1、对象字典
1.1、对象字典简介
对象字典是CANopen协议中的一个核心概念,它可以被视为一个有序的对象组,其中包含
了描述CANopen节点所有参数的详细信息。
这些参数不仅包括了设备的配置信息,如设备类型、硬件版本、软件版本等,
还涵盖了设备的状态数据,如心跳时间、错误寄存器等。对象字典以一种标准化的方式组织和
命名这些参数,使得不同制造商的设备能够遵循相同的规范进行通信
1.2、对象字典结构
对象字典的结构十分严谨,每个对象都通过一个唯一的16位索引值进行寻址。
为了进一步细分对象中的数据,部分对象还定义了8位的子索引。这种结构类似于编程语言中
的结构体,允许用户访问数据结构中的单个元素。
在CANopen网络中,每个节点都拥有自己独立的对象字典,从而确保了设备间通信的独立性 和完整性
例如工作模式的 CANopen 地址为 0x60400010
2、EDS文件
对象字典的可传递形式被称作EDS(electronic data sheet,电子数据表格)文件。
EDS文件是 PLC 所连接从站的标识文件或者类似码,通过该文件来辨认从站所属的类型。
该文件包含包含了从站的所有信息,比如生产厂家、序列号、软件版本、支持波特率种类、可以映射的
OD 及各 个 OD 的属性等等参数,类似于Profibus 的 GSD 文件。
在进行硬件配置前,需要把从站的 EDS 文件导入到上位组态软件。
只用于PLC通信,单片机进行CANopen通讯请忽略此项
3、SDO
SDO 主要用来在设备之间传输低优先级的对象,典型是用来对从设备进行配置、管理,这种数据传输MODBUS
类似,即主站发出后,需要从站返回数据响应。
这种通讯方式只适合对参数的设置不适合于对实时性要求较高的数据传输
SDO 的基本结构如下
发送读取报文格式
SDO报文发送时命令字均为0x40;
如果接收数据为1个字节,则接收命令字为0x4F;
如果接收数据为2个字节,则接收命令字为0x4B;
如果接收数据为4个字节,则接收命令字为0x43;
如果接收数据存在错误,则接收命令字为0x80。
如果发送数据为 1个字节,则发送命令字为 0x2F;
如果发送数据为 2 个字节,则发送命令字为 0x2B;
如果发送数据为 3 个字节,则发送命令字为 0x27;
如果发送数据为 4 个字节,则发送命今字为 0x23;
写成功时, 则接收命令字为 0x60;如果接收数据存在错误,则接收命令字为 0x80。
每个电机厂家命令字定义有差别,请已自己使用电机定义为准
4、PDO
4.1、概述
PDO(Process data object,过程数据对象) 主要用来传输需要高频率交换的数据,PDO 一次性
可传送8个字节的数据,主要用来传输需要高频率交换的数据。
PDO 的传输方式打破了现有的数据问答式传输理念,设备双方在传输前先在各个设备定义
好数据接收和发送区域,在数据交换时直接发送相关的数据到对方的数据接收区即可,减
少了问答式的询问时间,从而得到了极高的总线利用率由于需要区分每个 CANopen 节点
的输入和输出,所以将PDO 分为发送方
Transmit-PDO(TxPDO)和接收方 Receive-PDO(RxPDO)。
注意发送和接收是以 CANopen 节点自身为参考,此处以从站为例:
TXPDO:从站通过 TXPDO 反锁自身的状态,相对于从站来说就是指从站发送出去的数据,
这些数据由主站来接收;
RXPDO:从站通过 RXPDO 接收主站的指令,相对于从站来说就是指从站接收的数据,
这些数据由主站来发送
4.2、PDO两种传输方式:
4.2.1、同步(SYNC)
由同步报文触发传输(传输类型:0-240)
在该传输模式下,控制器必须具有发送同步报文的能力(频率最高为1KHZ的周期发 送的报文),伺服在接收到该同步报文后在发送。
1、同步非周期
由远程帧预触发传送,或者由设备子协议中规定的对象特定 事件预触发传送。
该方式下伺服驱动器每接收到一个同步报文PDO里的数据即发一次
2、同步周期
传送在每1到240个SYNC消息后触发。该方式下伺服驱动器每接 收到n个同步报文后,
PDO里的数据发送一次。
4.2.2、异步(传输类型:254/255)
1、逢变即发功能。
从站报文数据改变后即发送,不管主站是否询问,而且可以定义同一个报文两次发送之间的时间
间隔,避免高优先级报文一直占据总线(PDO的数值越低优先级越高)。
2、事件时间定时上报功能。
设置事件时间,驱动器将向控制器周期性上传数据
4.3、PDO传输配置:
4.3.1、TPDO设置:
TPDO1 映射组 :代表该 PDO 中所配对象个数
映射 1-8 :配置伺服 CANopen 控制对象
TPDO1 站号:180+驱动器 ID(TPDO2 站号应设置为:280+驱动器 ID)
TPDO1 传输类型:254 或 255,异步传输模式
TPDO1 禁止时间:单位为 ms,防止伺服发送报文过于频繁堵塞网络,多轴异步传输 模式下根据实际需要设置
4.3.2、RPDO设置:
RPDO1 映射组 :代表该 PDO 中所配对象个数
映射 1-8 :配置伺服 CANopen 控制对象
RPDO1 站号:200+驱动器 ID(RPDO2 站号应设置为:300+驱动器 ID)
RPDO1 传输类型:254 ,异步传输模式