品牌
生产厂家厂商性质
上海所在地
MEA系列磁编码器带CANOPEN 通信协议使用手册
MEA系列磁编码器带CANopen通信协议使用手册
1. 磁编码器概述
.式磁编码器是利用磁阻效应元件或霍尔元件对于磁场变化感应而工作的编码器,与光学式.式编码器一样,为非接触式.式编码器,用于精确测量整个 360°范围内的角度。其原理是采用磁阻或者霍尔元件对变化的磁性材料的角度或者位移值进行测量,磁性材料角度或者位移的变化会引起一定电阻或者电压的变化,通过放大电路对变化量进行放大,通过单片机处理后输出.值数字信号或者模拟量信号,达到测量的目的。
.式磁编码器采用磁电式设计,通过磁感应器件、利用磁场的变化来产生和提供转子的.位置。利用磁器件代替了传统的码盘,弥补了光电编码器的一些缺陷,更具抗震、耐腐蚀、耐污染、性能可靠高、结构更简单。
主要应用:1. 角度测量 2. 工业自动化控制 3. 机器人行业 4. 纺织业 5. 精密机床 6. 伺服电机 7. 阀门控制
主要特征:
1. 产品结构紧凑,适合恶劣工业控制应用场所。.值磁电码盘,高精度全数字化,无信号干扰、零点飘移。CANopen通信协议总线输出。从站个数为可多达99个。
2. 波特率和地址码可现场拨码开关设置或系统软件设置。
3. 每圈4096分辨率。
4. 宽工作电压,极低的耗电流。
5. *法兰或同步法兰,国际标准外形结构。
2.主要特性参数
工作电压 | 10-30Vdc极性保护(或5Vdc 定购) |
消耗电流 | 35mA(24Vdc) ,70mA(12Vdc) |
输出信号 | CANopen通信协议总线输出,输出和输入二线分离。 |
信号传输 | 屏蔽双绞铜电缆(2根信号线,1根接地线)传输距离与波特率有关。 |
分辨率/圈 | 4096 (可选1024、16384、65536) |
重复精度 | ±2BIT(实际精度与安装精度、轴同心度有关) |
相对湿度 | 98%(无凝液) |
工作温度 | -40--85℃ |
储存温度 | -40--90℃ |
防护等级 | IP65 |
允许转速 | 10000转/分(分辨率4096的有效转速.高3000转/分) |
停电保存 | 在4096圈内全程.,停电不影响位置保存。 |
连接电缆 | 插座后出 |
外形特征 | *法兰或同步法兰,金属外壳,密封双轴承结构 (见外形尺寸附图;特殊外形可订做) |
磁编码器电气连接使用说明
功能板接线接口:JP2
1 | V+ | 外部电源输入正端,10~30VDC,极性保护 |
2 | GND | 外部电源输入负端 |
3 | CAN+ | CAN输入接口 |
4 | CAN- | |
5 | GND | |
6 | CAN+ | CAN输出接口 |
7 | CAN- | |
8 | GND |
4.3 拨码开关说明
编码器节点地址和波特率设定通过十进制拨码开关进行,地址设置为2位,波特率设定1位,还有一个指拨开关可以设定终端电阻。
节点地址(Node_ID)通过选择拨码开关1,2来设定,.位拨码开关为编码器设定地址的10位,第二位拨码开关为编码器设定地址的个位,编码器地址=高位码值×10+低位码值。出厂值设置为32。
编码器支持8种不同的波特率传输,CAN波特率通过拨码开关3来设定,CAN波特率可设置为0~7。出厂设置为3(250Kbps)。
CAN Baud | CAN Baud rate |
0 | 1000Kbps |
1 | 800Kbps |
2 | 500Kbps |
3 | 250Kbps |
4 | 125Kbps |
5 | 100Kbps |
6 | 50Kbps |
7 | 20Kbps |
5、Object Directory(对象字典)
提供设备外形和所使用的设备类型的信息:
1000 | VAR | Device type | Unsigned32 | ro | M |
数据内容
Device type number | Encoder type | ||
Byte 0 (LSB) | Byte 1 | Byte 2 | Byte 3 (MSB) |
96h | 01h | 01h (单圈.编码器) | 00h |
5.1.2 Object 1002H: Manufacturer device name(制造商设备名)
包含制造商设备名称
1008 | VAR | device name | Vis-String | ro | O |
数据内容:" YUBE"
5.1.3 Object 1008H: Device name(设备名称)
设备名称
1008 | VAR | device name | Vis-String | ro | O |
数据内容:" XXXX" 或”XXXX”
5.1.4 Object 1009H: Hardware version(硬件版本)
包含硬件版本号
1009 | VAR | Hardware version | Vis-String | ro | O |
数据内容:" 1.00"
5.1.5 Object 100AH: Software version(软件版本)
包含软件版本号
100A | VAR | Software version | Vis-String | ro | O |
数据内容:" 1.00 "
5.1.6 Object 1018H: Identity Object(设备ID)
读取设备ID。
1018 | VAR | Identity Object | ro | M |
数据内容:
Sub-Index 1h : 发送Vendor-ID (0000003Fh)
Sub-Index 2h : 发送产品代码(h)
Sub-Index 3h : 发送编码器序号(h)
5.1.7 Object 1800H: 1.transmit PDO parameter (TXPDO1 异步)
这个对象包括PDO1的参数。
1800 | RECORD | 1.transmit PDO parameter | rw | M |
数据内容:
SUB Index 1h: COB ID
Default Value:180h + Node-ID
SUB Index 2h: transmission type(传输类型)
Default Value = 1 (循环) ,2(编码器码值变化触发),3(PDO触发)
5.1.8 Object 2101H: 编码器分辨率
读取设备ID。
2101 | VAR | Identity Object | ro | M |
数据内容:12 (位)
读取设备ID。
2101 | VAR | Identity Object | ro | M |
数据内容:10-5000
注:设置为10时,波特率须100kbps以上。
2300 | ARRAY | restore default parameters | Unsigned32 | w | O |
数据内容:
Byte0: 6cH(“l”)
Byte1: 6fH(“o”)
Byte2: 61H(“a”)
Byte3: 64H(“d”)
注:恢复默认参数时,地址开关位置必须为0,即两位地址拨码开关都设定在0位置上。
2300 | ARRAY | restore default parameters | Unsigned32 | rw | O |
数据内容:Node-ID
5.1.12 Object 3001H: 波特率代码
2300 | ARRAY | restore default parameters | Unsigned32 | rw | O |
数据内容:0-7
6、Layer-Setting-Service (LSS)
编码器除了通过指拨开关设置节点地址和CAN波特率以外,还可以通过在CiA DSP-305协议里定义的Layer-Setting-Service (LSS)进行设置。LSS主节点通过CAN总线可以对LSS从节点的节点地址和CAN波特率进行设置。LSS主节点先设置LSS从节点进入configuration mode(配置模式),然后从节点被给予了一个新的节点地址,从节点进行确认是否支持新的节点地址。然后再切换回operation mode (操作模式)。
注:编码器如果需要载入通过LSS设定并保存在EEPROM里地址和波特率需要把地址设定为0,即两位地址拨码开关都设定在0位置上,系统启动的时候就会从EEPROM里读取
mod: new LSS mode
0 = set operation mode (操作模式)
1 = set configuration mode(配置模式)
nid: new node address for the LSSslave(LSS的新节点地址)
(range 1 to 127)
tab: 定义使用的baudrate table
0 = 符合标准CiA DSP-305
1 ... 127 = 保留
ind: 在baudrate table中的索引,定义编码器新的波特率
举例:
1. Setting node address(设置节点地址)
Send : 7E5 04 01 00 00 00 00 00 00 -> 进入配置模式
Send : 7E5 11 20 00 00 00 00 00 -> 设置新的节点地址为0x20
Receive: 7E4 11 00 00 00 00 00 00 00 -> Success
Send : 7E5 17 00 00 00 00 00 00 00 ->存贮配置
Receive: 7E4 17 00 00 00 00 00 00 00 -> Success
Send : 7E5 04 00 00 00 00 00 00 00 -> 进入操作模式(重启)
Receive: 720 00 -> New bootup message
2. Setting baudrate(设置波特率)
Send : 7E5 04 01 00 00 00 00 00 00 ->进入配置模式
Send : 7E5 13 00 02 00 00 00 00 00 -> 设置新的波特率500K
Receive: 7E5 13 00 00 00 00 00 00 00 -> Success
Send : 7E5 15 10 00 00 00 00 00 00 -> 设置编码器波特率(重启)
Receive: 740 00 -> New bootup message (500k)
4 请勿自行维修和拆卸编码器
4 请在进行下列工作时,务必断开电源后操作
1、当连接大地线时;
2、当对编码器接线或断开接线时。
4 编码器上电前请仔细检查接线是否正确无误
4 在下列场合应采取适当的屏蔽措施
1、靠近电源动力线的场合
2、处在强电场或强磁场的场合
3、在产生静电或交流接触器干扰等类似的场合
4 不要将编码器安装在下列场合
1、暴露于阳光直射的场合
2、温度和湿度超过使用条件的场合
3、有腐蚀性气体或可燃性气体的场合
4、有大量粉尘、盐及金属性粉末的场合
5、水、油及化学液体易溅射到的场合
6、有直接震动或冲击的场合
CANOPEN编码器采用了.的生产工艺,出厂前进行了严格的测试,大大提高了编码器的可靠性。常见的故障一般是操作或参数设置不当引起的。若发现无法处理的故障,请记录故障现象并及时通知当地代理经销商或者和我们联系。
以下是CANOPEN编码器在日常应用中的几个常见故障:
故障现象 | 原因分析 | 处理措施 |
编码器通电不工作 指示灯不亮 | 电源线接触不良 | 检查编码器接头是否松脱 |
编码器CAN通讯不通 | 显示编码器CAN的连接线松脱 | 检查内部线缆,如果CAN速率过高,超过500Kbps,CAN接口的两端应加上120欧姆电阻。 如仍有问题,请与厂家联系。 |
编码器位置值不变化 | 编码器与其转换板接触不良 | 调整编码器插头,如仍有问题,请与厂家联系。 |
附录:CANopen数据格式
CANopen的数据格式如下:
COB-ID | 指令 | 索引 | 子索引 | 数据 | ||||
11bit | 字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
低位 | 高位 | 低位 | 高位 |
COB-ID组成说明:
10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
功能代码 | 设备地址 | |||||||||
X | X | X | X | X | X | X | X | X | X | X |
可以使用的功能代码:
功能 | 代码(bit) | COB-ID |
NMT | 0000 | 0 |
SYNC | 0001 | 128(80H) |
Emergency | 0001 | 129-255(81H-FFH |
PDO(RX) | 0011 | 385-511(181H-1FFH) |
PDO(TX) | 0100 | 513-639(201H-27FH) |
SDO(RX) | 1011 | 1409-1535(581H-5FFH) |
SDO(TX) | 1100 | 1537-1663(601H-67FH) |
RX/TX是从上位机角度出发,RX为编码器数据发出,TX为编码器数据接收。
索引表:
Index | Sub | R/W | Name |
0x1000 | 0x00 | R | 设备代码 |
0x1002 | 0x00 | R | 厂商 |
0x1008 | 0x00 | R | 设备名称 |
0x1009 | 0x00 | R | 硬件版本 |
0x100A | 0x00 | R | 软件版本 |
0x1010 | 0x00 | W | 保存参数 |
0x1018 | 0x01 | R | 厂商代码 |
0x02 | R | 生产类型代码 | |
0x03 | R | 生产批号 | |
0x1800 | 0x01 | R | PDO-ID |
0x02 | RW | 传输模式 | |
0x03 | R | 同步时间 | |
0x2101 | 0x00 | R | 分辨率 |
0x2200 | 0x00 | RW | 循环时间 |
0x2300 | 0x00 | W | 出厂设置 |
0x3000 | 0x00 | R | 节点号 |
0x3001 | 0x00 | R | 波特率代码 |
命令字节说明:
命令 | 功能 |
22H | 写参数 |
60H | 执行确认 |
40H | 查询参数 |
43H | 查询返回(1字节有效) |
4BH | 查询返回(2字节有效) |
4FH | 查询返回(4字节有效) |
80H | 故障 |
故障代码列表:
代码 | 故障 |
0x | 索引不存在 |
0x | 子索引不存在 |
0x | 参数值太小 |
0x | 参数值太大 |
0x | 写只读对象 |
0x | 读只写对象 |
0x | 一般错误 |
编码器设置说明:
数据格式为ID,DL,D0,D1。数据为16进制格式。假设编码器的节点号是NN。
启动所有节点: 发送000,02,01,00
启动NN号节点:发送000,02,01,NN
停止所有节点: 发送000,02,02,00
停止NN号节点:发送000,02,02,NN
复位所有节点: 发送000,02,81,00
复位NN号节点:发送000,02,81,NN
从OSI网络模型的角度来看同,现场总线网络一般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应用层)。因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层),也不需要第5层(会话层)第6层(描述层)的作用。
CAN(Controller Area Network)现场总线仅仅定义了第1层、第2层(见ISO11898标准);实际设计中,这两层由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware)。
同时,CAN只定义物理层和数据链路层,没有规定应用层,本身并不完整,需要一个高层协议来定义CAN报文中的11/29位标识符、8字节数据的使用。而且,基于CAN总线的工业自动化应用中,越来越需要一个开放的、标准化的高层协议:这个协议支持各种CAN厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。
● 应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。
● 通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。
● 设备描述(Device profile):为设备(类)增加符合规范的行为。
下面的章节将介绍基于CAN的高层协议:CAL协议和基于CAL协议扩展的CANopen协议。CANopen协议是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen协议被认为是在基于CAN的工业系统中占.地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。
CANopen 有四类通信对象。
.类通信对象是用8 个字节的数据字段,把过程数据对象PDO(Process Data Objects)映象到一个单一的CAN 帧,从而传输应用对象。每个PDO 有一个.的标识符,且可以仅通过一个节点发送,但其接受者可不止一个(生产者/消费者通信)。发送PDO 可用多种方式,如由内部事件驱动、由内部定时器驱动、由远程请求驱动和由接收到来自特定的节点的一个同步信息驱动。应用对象和支持的传送方式的缺省映象在对象字典中对每一个PDO 都作了描述。PDO 标识符具有高优先级以确保良好的实时性能,如果需要硬实时控制,那么系统的设计者可为每个PDO 组态一个禁止时间(inhibit-time) ,该“禁止时间”严禁在特定的时间内发送这个对象。因此设计者可对多个对象设计一个确定的PDO 行为,发送PDO 无需确认PDO。 映象对象中定义了被在PDO内传送的应用对象,它描述了所映象的应用对象的顺序和长度。在预操作状态(Pre-Operational State)期间支持动态PDO 映象的设备必须支持这个功能。若在预操作状态下支持动态映象,则服务数据对象SDO 客户负责数据的一致性。
第二类通信对象是传送组态数据的服务数据对象SDO(Service Data Objects) ,组态数据有时多于8 个字节。SDO 传输协议允许传送任意长度的数据对象,.段内的.个字节包含必须的数据流控制信息,它包括为克服的双重接受CAN 帧的问题而设置的一个触发位,.段内的第2 4 字节包含要读出或写入的对象字典登入项的索引和子索引,.段内的.后四个字节可用于组态数据,用同样的CAN标识符。第二段以及其后继段包含控制字节和多达7 个字节的组态数据,接受者确认每个字节以便有点对点通信(客户/服务器)。
第三类通信对象是网络管理对象节点保护对象(Nodeguarding Object)和NMT 对象节点保护对象。是由NMT 主站节点远程请求的,具有一个字节的CAN 帧数据字节,主要包含节点的状态节点保护时间,在对象定期发送节点保护时间,在对象字典中也作了规定,并且可以由SDO 进行组态。此外还规定了保护时间寿命(Life Guarding Time) ,在该时间区内NMT 主站必须保护一个NMT 从站,这就确保了即使在主站不存在的情况下,节点仍能以用户的方式作出反应。NMT 对象映象到一个单一的带有2 个字节数据长度的CAN 帧,它的标识符为0 ,.个字节包含命令说明符,第二个字节包含必须执行此命令的设备的节点标识符(当节点标识符为0 时所有的节点必须执行此命令), 由NMT 主站发送的NMT 对象强制节点转换成另一个状态。CANopen 状态机规定了初始化状态子程序操作、操作状态和停止(正式为准备)状态。
在加电后每个CANopen 处于初始化状态然后自动地转换到预操作状态,在此状态下提供了同步对象和节点保护,还允许SDO 的传送。如果NMT 主站已将一个或多个节点设置为操作状态,则允许他们发送和接受PDO,在停止状态除NMT 对象外不允许通信。初始化状态又分成三个子状态,以使全部或部分的节点复位在Reset_Application 子状态中。制造商专用(manufacture-specific)行规区域和标准化设备行规区域的参数均设置成它们的缺省值。在Reset_Communication 子状态中,通信行规区域的参数设定为它们的通电(power-on)值。第三个子状态是初始化状态在通电后或复位通信后或复位应用后,节点自动地进入此状态,通电值(Power-on)是上一次存储的参数。
第四类通信对象是应急对象。由设备内部出现致命错误来触发,并从相关应用设备上的应急客户发送,因此应急对象适用于中断类型的报警信号,每个“错误事件”(error event)只能发送一次应急对象,只要在设备上不发生新的错误就不得再发送应急对象。零个或多个应急对象消费者可接受这些应急消费者的反应是由应用的。CANopen 定义了应急对象中要传送的若干个应急错误代码,它是一个单一的具有8 个数据字节的CAN 帧。
为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改他们。CANopen设备必须向它所支持的通讯对象提供相应的标识符。
缺省ID分配表是基于11位CAN-ID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。如图3-1所示。
Node-ID由系统集成商定义。Node-ID范围是1~127(0不允许被使用)。如下表格CANopen预定义主/从连接集CAN标识符分配表。
CANopen预定义主/从连接集的广播对象 | |||
对象 | 功能码 ID-bits 10-7 | COB-ID | 通讯参数在OD中的索引 |
NMT Module Control | 0000 | 000H | |
SYNC | 0001 | 080H | 1005H,1006H,1007H |
Time Stamp | 0010 | 100H | 1012H,1013H |
CANopen主/从连接集的对等对象 | |||
对象 | 功能码 ID-bits 10-7 | COB-ID | 通讯参数在OD中的索引 |
紧急 | 0001 | 081H-0FFH | 1024H,1015H |
PDO(接收) | 0011 | 181H-1FFH | 1800H |
PDO(发送) | 0100 | 201H-27FH | 1400H |
SDO(接收) | 1011 | 581H-5FFH | 1200H |
SDO(发送) | 1100 | 601H-67FH | 1200H |
NMT Error Control | 1110 | 701H-77FH | 1016H-1017H |
注意: ● PDO/SDO 发送/接收是由上位机观察的。
● NMT 错误控制包括节点保护(Node Guarding)和Boot-up协议。