刘海山,王 恒,丁怀龙,焦 震,樊 茜
(北京精密机电控制设备研究所,北京 100076)
基于CAN总线的伺服系统参数在线装订方法
刘海山,王 恒,丁怀龙,焦 震,樊 茜
(北京精密机电控制设备研究所,北京 100076)
摘 要:以永磁同步电动机作为主要执行元件的机电伺服系统在调试过程中往往需要频繁修改控制参数以实现系统的最优控制,如果通过修改源代码的方式修改参数,会导致软件版本多,不易进行版本控制,效率低,影响研制进度,特别是在一些特殊的场合不允许对伺服控制驱动器进行开盖(打开外壳)操作,不能更新软件,也就无法实现控制参数的调整。提出一种基于CAN总线的伺服系统参数在线装订方法,利用上位机与数字信号处理器之间的CAN总线通信,实现对数字信号处理器片上Flash和RAM资源的寻址和读写控制,从而完成对伺服系统控制参数的在线装订及回读校验。通过实际工程应用证明,该方法方便高效、可靠性高,为机电伺服系统在型号中的快速应用提供很好的解决方案。
关键词:CAN总线;永磁同步电动机;伺服系统;在线装订
随着电力半导体器件和以电力半导体器件为基本功率元件的电力电子技术的迅速发展,以永磁同步电动机(以下简称PMSM)作为主要执行元件的机电伺服系统正逐步取代传统的液压伺服系统。机电伺服系统以其体积小、质量轻、结构简单、动态特性好等特点逐步应用到运载及武器装备中。目前,机电伺服系统普遍采用三闭环(位置环、速度环和电流环)控制结构,对于PMSM的控制则普遍采用基于磁场定向的矢量控制(FOC)方式[1],对于某些特定的被控对象,为抑制谐振频率点上的谐振峰产生,还需要在特定频率点上加入陷波滤波器算法,因此影响系统性能的控制参数较多,且修改困难,尤其在系统前期调试过程中往往需要频繁修改控制参数以实现系统的最优控制,后期交付过程中由于产品的个性差异(机械特性、电气特性等)也需要通过调整参数来满足出厂的指标要求,如果通过修改源代码的方式修改参数,会导致软件版本多,不易进行版本控制,效率低,影响研制进度,特别是在一些特殊的场合不允许对伺服控制驱动器进行开盖(打开外壳)操作,不能更新软件,也就无法实现控制参数的调整。
本文研究一种基于CAN总线的伺服系统参数在线装订方法,利用上位机与数字信号处理器之间的CAN总线通信,实现对数字信号处理器片上Flash和RAM资源的寻址和读写控制,从而完成对伺服系统控制参数的在线装订及回读校验。
参数在线装订系统由上位机、下位机、供电电源、伺服作动器(以PMSM作为驱动元件)及相应的配套软件等组成。其中上位机由NI PXI-1042机箱、NI PXI-8840 Quad-Core计算机以及PXI接口的CAN总线板卡NI PXI-8512/2或USB接口的CAN盒ZLG USBCAN-2E-U等组成,配套CAN总线在线参数装订软件实现基本信息配置、装订参数解析、CAN总线消息下载及参数检验等功能。下位机主要由内嵌TMS320F28335数字信号处理器[2]的伺服控制驱动器、供电及通信电缆、信号采集电缆等组成,配套包含在线参数装订组件的伺服控制驱动软件实现CAN总线消息的接收和发送、控制参数解析、信号采集和伺服系统闭环控制等功能。上、下位机之间采用CAN总线通信,实现控制参数的在线装订及回读校验。系统结构图如图1所示。
图1 参数在线装订系统结构图
CAN总线在线参数装订软件为上位机软件,该软件基于Windows7操作系统,采用C# 语言[3]开发,具有界面简洁、自动化程度高、操作简单等特点,如图2所示。
图2 CAN总线在线参数装订软件界面
CAN总线在线参数装订软件主要由界面显示、CAN总线板卡操作、数据转换、基本信息配置、下载参数配置、数据发送和接收、参数校验、CAN总线消息记录、装订记录保存等模块组成。界面显示模块主要实现装订参数表、菜单按钮、装订状态显示等功能,包括读取的控制驱动器内的参数信息、装订时间、参数数量、装订进度等。CAN总线板卡操作模块主要通过调用动态链接库中的API接口函数[4]实现板卡启动、初始化、数据收发、板卡关闭及资源释放。数据转换模块主要将预置在Access数据库[5]中的装订参数信息按照板卡规定的帧结构转换成CAN总线消息链表或将从总线上接收的CAN总线消息处理成相应的参数信息。基本信息配置模块主要读取配置文件(.txt文件)中的配置信息,包括系统软件名称、板卡类型、波特率、消息ID、装订记录存储位置等,便于用户根据需要灵活使用。下载参数配置模块主要读取界面文本框控件中的配置信息,包括参数版本信息及操作者编号,便于参数装订的查询和追溯。数据发送和接收模块主要调用发送和接收API接口函数实现CAN总线消息的发送和定时接收。参数校验模块逐字节比对伺服控制驱动器内的参数与用户选择的参数(出厂值或设定值)的一致性,并给出是否一致的结果,如果不一致,需要显示出不一致的具体参数并提示用户。CAN总线消息记录模块主要记录总线上的装订参数消息,包括帧序号、消息ID、数据字节等信息,方便用户及开发者查询和排故。装订记录保存模块主要将实际装订的参数、装订时间、操作者等信息记录在结果文件(.txt文件)中,方便用户查询。
在线参数装订组件作为上位机与下位机的接口程序,以LIB库文件的形式嵌入在伺服控制驱动软件中,独立执行DSP片内FLASH参数装订区(Flash H扇区)各种读写操作。组件使用DSP片内eCAN-A模块按照协议规定的数据格式与上位机软件进行CAN总线通信,数据接收消息邮箱地址为MBOX2,消息ID为0x7CC,数据应答消息邮箱地址为MBOX3,消息ID为0x7DD。上位机发送的指令及控制器正常应答信息如表1所示,表1中的“/”,如果为发送数据,自动填充0;如果为接收,表示不需判断该数据。数据字1为命令字,作为判断数据帧传输是否正确及装订流程控制的依据。
在线参数装订组件主要由初始化、CAN总线消息处理、写FLASH、读FLASH、参数校验等函数组成。初始化函数通过函数参数的方式配置接收和发送邮箱ID、数据长度DLC、消息方向等并使能邮箱。CAN总线消息处理函数为总线写入参数的入口函数,判断接收到消息的第一个数据字是否为正确的命令字,如果是则按照总线协议进行各种操作流程。写FLASH函数首先调用 API函数Flash_Erase() 函数将 Flash H区中数据全部置为0xFFFF,再利用函数Flash_Program ()将缓存区的装订参数写入 Flash H区,最后利用函数Flash_Verify()对写入 Flash H区参数进行验证[6]。读FLASH函数通过函数参数的方式接收参数结构体的首地址和长度(字个数),读取Flash参数区中的数据,并将指定长度的参数赋给参数结构体,供PMSM控制使用。参数校验函数分别读取双冗余地址区中的参数并进行逐字比对,如果两个区域中参数完全一致,则将参数返回到CAN总线上,供上位机软件校验使用,否则返回参数异常应答消息。在线参数装订组件软件流程图如图3所示。
表1 在线参数装订协议
图3 在线参数装订组件软件流程图
本文中的机电伺服系统采用“一拖二”控制方式,即一台伺服控制驱动器控制2台PMSM,涉及的控制参数共计96个,如果通过修改源代码的方式修改控制参数,进行一次参数调整的时间大约需要10 min。采用本文的方法,发送握手信息并下载大约需要10 ms,发送参数数据大约需要2 s,将参数写入FLASH大约需要8 s,上位机回读参数并完成校验大约需要2 s,完成一次参数调整的时间共计大约12 s,调整效率显著提高,且无需开盖通过JTEG口访问DSP片内资源,避免了对产品产生电气损伤的风险。
本文利用CAN总线通信实现了伺服系统控制参数的快速在线调整,通过上位机在线参数装订软件与下位机参数装订组件的协同工作,在不对伺服控制驱动器开盖操作的情况下,完成对伺服系统控制参数的在线装订及回读校验。试验结果表明:该方法方便高效、可靠性高,为机电伺服系统在型号中的快速应用提供很好的解决方案。
[1] 苏奎峰,蔡昭权.TMS320X281X DSP应用系统设计[M].北京:北京航空航天大学出版社,2008.
[2] 张卿杰,徐友,左楠,等.手把手教你学DSP-基于TMS320F28335[M].北京:北京航空航天大学出版社,2015.
[3] 明日科技.C#从入门到精通[M].北京:清华大学出版社,2014.
[4] National Instruments Inc.NI-XNET Hardware and Software Manual[Z].USA:National Instruments,2016:3.
[5] 基于FPGA设计的功能仿真和时序仿真[M].北京:清华大学出版社,2016.
[6] Texas Instruments Inc.TMS320F28335,28334,28332 Flash APIs Version 2.10[Z].USA:Texas Instruments,2008:8.
ParametersOnlineBindingMethodofServoSystemBasedonCANBus
LIUHai-shan,WANGHeng,DINGHuai-long,JIAOZhen,FANQian
(Beijing Research Institute of Precise Mechatronic Controls,Beijing 100076,China)
Abstract:Electro-mechanical servo system with permanent magnet synchronous motor as the main actuator has to modify the control parameters frequently in order to realize the optimal control of the system. If the parameters are modified by modifying the source code, it will lead to many versions of the software, version control low efficiency, affecting the progress of development, especially in some special occasions preventing servo-controlled driver open cover (open the shell) operation, it will not be able to update the software or adjust the control parameters. A parameters online binding method of servo system based on CAN bus was presented. By using the CAN bus communication between the host computer and the digital signal processor, addressing and reading of the Flash and RAM resources of the digital signal processor write control were realized to complete the control parameters of servo system online binding and read back calibration. The practical engineering application proves that the method is convenient, efficient and reliable, and provides a good solution for quick application of electromechanical servo system.
Key words:CAN bus; permanent magnet synchronous motor (PMSM); servo system; online binding
中图分类号:TM341;TM351
A
1004-7018(2018)05-0070-03
2018-02-26
作者简介:刘海山(1982—),男,硕士研究生,高级工程师,主要研究方向为电力电子与电力传动及嵌入式软硬件开发。