基于CANopen协议的AGV多轮驱动控制系统

基于CANopen协议的AGV多轮驱动控制系统

(云南昆船智能装备有限公司650217)

摘要:针对AGV多轮驱动控制系统存在接线复杂、成本较高、可靠性差等方面的问题,提出了一种基于CANopen协议的AGV多轮驱动控制系统的设计方案。结合物流行业低压伺服系统CAN总线的普及应用,分析并采用CAN总线的高层CANopen协议,实现了AGV多轮驱动系统的控制,将其用于AGV四轮驱动系统实验平台。结果表明,该系统结构简单、性能稳定、可靠、适应性强。

关键词:AGV;多轮驱动;控制系统;CANopen

1引言

随着现代科学与技术的飞速发展,自动引导车(AGV)在机械加工、汽车制造、自动化立体仓库等许多行业中得到了广泛应用。AGV(AutomatedGuidedVehicle)即自动导引车,是指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶的运输小车,并且还具有安全保护报警功能和相应移载功能。AGV的工作特点要求控制系统应具备电机多轴控制、多传感器数据实时采集与处理、与上位机数据交换等功能。本文设计了一种新型的基于CANopen协议的AGV多轮驱动控制系统,采用CANopen协议实现AGV多轮驱动系统的控制,在AGV行业将会有广泛的应用前景。

2CANopen控制协议的实现

CAL(CANApplicationLayer)协议是目前基于CAN的高层通讯协议中的一种,CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。这里选用的电机驱动器是标准支持该协议的上位机的CAN从站设备,严格遵循CANopen2.0A/B协议,任何支持该协议的上位机均可以与其进行通讯。CANopen通讯定义了四种通讯报文,分别是:服务数据对象SDO(ServiceDataObjects)、进程数据对象PDO(ProcessDataObjects)、管理报文NMT和预定义报文。

2.1对象字典(OD)

CANopen的核心概念是设备对象字典,所有的对象有明确的功能定义。这里说的对象类似似我们常说的内存地址,有些对象如速度和位置等可以由外部控制器修改,有些对象却只能由驱动器本身修改,如状态、错误信息。这些对象举例如表1所示,所有的参数、参数值和功能都是通过16位索引和8位子索引组成的地址来访问和存取。

表1对象辞典举例列表

2.2服务数据对象SDO

SDO主要用来在设备之间传输低优先级的对象,典型是用来对从设备进行配置、管理,比如用来修改电流环、速度环、位置环的PID参数,PDO配置参数等。SDO通过CAL中多元域的CMS对象实现,允许传送任何长度的数据。SDO的通讯方式分为上传和下载,上传(Upload)指对对象字典进行读操作;下载(Download)是指对对象字典进行写操作,读取参数时,使用启动域上传(InitiateDomainUpload)协议,见表2;设置参数时,使用启动域下载(InitiateDomainDownload)协议,见表3。

表2启动域上传

表3启动域下载

其中“-”表示不相关为0,n表示报文数据中无意义数据的字节数(从8至n字节到第7字节数据无意义,当e=1且s=1时n有效,否则n为0);e=0时正常传送,e=1时加速传送;s表示是否指明数据长度,0为数据长度未指明,1为数据长度指明。e=0,s=0时由CiA保留;e=0,s=1时数据字节为字节计数器,byte4是数据低位部分(LSB),byte7是数据高位部分(MSB)。

SDO通讯类似于串口通讯中的自由口,报文采用问答方式,报文格式基本组成:ID+命令字+地址+数据。读取参数时发送和接收SDO报文格式如表4和5所示。其中,SDO报文发送时命令字均为0x40;如果接收数据为1个字节,则接收命令字为0x4F;如果接收数据为2个字节,则接收命令字为0x4B;如果接收数据为4个字节,则接收命令字为0x43;如果接收数据存在错误,则接收命令字为0x80。

表3读取参数时发送SDO报文

表4读取参数时接收SDO报文

修改参数时发送和接收SDO报文格式如表6和7所示。其中,SDO报文发送成功,接收命令字为0x60;SDO报文发送失败,接收命令字为0x80。如果待发数据为1个字节,则发送命令字为0x2F;如果待发数据为2个字节,则发送命令字为0x2B;如果待发数据为4个字节,则发送命令字为0x23。

表5修改参数时发送SDO报文

表6修改参数时接收SDO报文

2.3进程数据对象PDO

PDO可以实现实时数据的传输,数据从一个生产者传到一个或多个消费者。1个PDO每次最多传输8个字节的数据,没有其它协议预设定,数据内容只由它的CAN_ID定义。PDO通讯参数包含COB_ID、传输类型、禁止时间、定时器周期。PDO映射参数包含对象字典中对象列表,这些对象映射到PDO里,包含数据长度。PDO消息内容是预定义的或者在网络启动时由主站配置,PDO可以在从站中配置好也可以由主站上电通过SDO报文来配置。

2.4管理报文NMT

所有CANopen设备都可以通过network管理器方式控制(如初始化、启动和停止节点,侦测失效节点),这种服务主要采用主从通讯模式来实现。COB-ID为00H、80H、100H、701H-77FH、081H-0FFH均为系统管理格式。可以通过NMT管理报文来实现在各种模式之间切换,只有NMT-Master节点能够传送NMTModuleControl报文,所有从设备都必须支持NMT模块控制服务,同时NMTModuleControl消息不需要应答。NMT消息格式如下:NMT-Master→NMTSlave(s)

当Node-ID=0时,所有的NMT从设备被寻址。CS是命令字,其取值如表7所示。

表7CS取值表

3基于CANopen协议的AGV多轮驱动系统的应用

3.1AGV四轮驱动系统结构

AGV驱动系统由四个舵轮组成,布置方式如图1所示,每个舵轮都既装有行走电机又装有转向电机及其动力传动装置,它兼有方位驱动和回转驱动。四轮与车架通过承重回转支承,基于CANopen协议,采用相应的运动控制模型,实时控制四个舵轮的速度和转角以保证AGV行走的姿态,可实现自旋、平移、多方向SD等多种运动方式。

图1AGV驱动系统结构图

3.2AGV运动控制单元

运动控制单元负责AGV的驱动行驶,PLC通过CAN总线与各电机驱动器通信,发送驱动指令报文,控制电机行走。运动控制单元结构如图2所示,嵌入式PLC通过工业以太网EtherCAT总线与CAN总线模块进行数据交换,再通过CAN总线网络与各行走电机驱动器、转向电机驱动器和编码器进行通信,各电机驱动器通过CAN总线接收PLC发送的驱动指令报文,同时反馈各电机的运动状态信息。编码器反馈各个舵轮的转向角度,进而反馈AGV行走的姿态。

图2AGV运动控制单元结构

3.3CAN总线网络拓扑结构

在CAN总线网络中,必须保证每一个设备的节点ID不同,即设备的节点ID不与其他设备的节点ID冲突,同时必须保证各设备的通讯速率保持一致,才能保证CAN总线网络上各设备之间通讯不出现故障,实现CAN总线网络的正常通讯。运动控制系统CAN总线网络拓扑结构及各CANopen设备节点ID(Node_ID)分配如图3所示。CAN总线网络由两条信号线CAN_H和CAN_L、两个120?的终端电阻、PLC(Node_ID=60)、各个行走电机驱动器(Node_ID=5至8)、转向电机驱动器(Node_ID=9至12)和转向编码器(Node_ID=1至4)。

图3CAN总线网络拓扑结构及节点ID分配

4结论

CANopen协议精炼、透明、便于理解,降低了驱动程序的开发难度。基于CANopen协议设计AGV的多轮驱动控制系统更具有智能化、信息化、数字化等特点,实现了高可靠性、低成本的目标,其应用前景一片光明。

参考文献:

[1]杨文华.AGV技术发展综述[J].物流技术与应用.2015(11).

[2]刘剑,沙微,姜凡.CAN总线及SAEJ1939通讯协议在汽车上的应用[J].机电工程技术,2006,35(10).

[3]何光宇,胡正.针对工业控制的CANopen系统[J].微计算机信息.2003,12(4):5-6.

作者简介:

杨保龙,男,汉族,1986年7月生,河北人,硕士研究生,工程师,研究领域:AGV单机控制系统设计与开发

标签:;  ;  ;  

基于CANopen协议的AGV多轮驱动控制系统
下载Doc文档

猜你喜欢