关键词:Elmo伺服 CAN总线 模块化设计
Yu gang , Shu zhibing
Abstract: Motion control system based on CAN bus are widely used in civil and military industries.In this paper,the Elmo Servo motion control system made in Israel based on CAN bus is introduced.Each part of the system and its modules are introduced in detail.Hardware and software of the system is analyzed compared to commonly CAN motion control system.Its characteristics and advantages are expressed through the comparing.
Keywords: Elmo Servo CAN bus modularization designing
1 引言
CAN现场总线是80年代末由德国Bosch公司为公共汽车系统设计的现场总线,是迄今为止唯一成为国际标准的现场总线,也是公认的全球范围内最具前途的现场总线之一。CAN现场总线最初用于汽车监控系统,由于CAN总线系统的特性,后来CAN总线广泛的应用于过程工业,机械工业,纺织工业,农用机器,机器人,数控机床,医疗器械及传感器等领域。1999年,6千万个CAN总线控制器投入使用,2000年市场销售超过一亿个现场总线器件[1]。
本文介绍了南京工业大学运动控制研究所设计的一种基于CAN总线和以太网的Elmo伺服运动控制系统及其设计。该产品由以色列Elmo公司提供包含技术:模拟功率转换,基于电流回路控制的ASIC,DSP和处理器—数字驱动器,总线结构—数字驱动器,第三代运动控制编程语言Elmo Studio。硬件上采用以色列ELMO公司的MASETRO、英国TRIO公司的MC206多轴控制器、泉毅公司PWS6600C-S和BAS-3/230系列交流伺服驱动器设计[2]。现在ELMO拥有广泛的应用领域:半导体,医疗,电子产品,包装机械,线性电机,材料处理,木材切割,机器人,军事和航空,实验室自动化。这里,Elmo伺服运动控制系统主要作为基于CAN总线的交流伺服实验平台应用于南工大总线运动控制实验以及伺服特性实验中。
2 标准CAN总线控制系统设计
CAN是一种串行通信总线,采用CAN2.0A或2.0B通信标准,广播式通信方式,多主结构,无损仲裁,有完善的错误检测机制,自动重发机制。
CAN具有技术先进、可靠性高、成本合理的特点,但CAN协议本身并不完整。其定义了数据链路层和部分物理层,为网络中的CAN节点提供了一种广播式报文分帧传输通道,其流量控制、节点地址分配、通讯建立等具体内容需要使用者自己实现,因而需要建立应用层协议。当前国外流行的CAN总线分布式运动控制系统应用层协议主要标准有:CANopen协议,DeviceNet和SDS。国内主要标准有iCAN等,在国内已实现400万个节点[3]。
按照CAN总线协议,CAN总线可以是任意拓扑结构的,但一般来说,CAN总线主要采用图1所示的4种拓扑结构。
图1 CAN总线的4种拓扑结构
基于CAN总线的运动控制系统如图2所示,有两个显著的特点,第一是其控制对象为伺服运动控制对象,第二是其网络化控制器包括CAN总线通信媒介和CAN控制器节点两部分。
图2 基于CAN总线伺服运动控制系统结构
硬件上采用PHILIPS的SJA1000独立CAN控制器,PCA82C250通用CAN收发器,为了保证总线传输质量,提高抗干扰能力,可以在SJA1000和PCA82C250之间加接两个高速光耦,一般使用6N137[4]。SJA1000控制器支持CAN2.0B底层通信协议,CANopen或Device Net等应用层通信协议。最简单的硬件电路如图3所示。通过制定简单的通信协议之后,便可以构成简单的CAN总线控制系统。此种系统价格便宜,经济实用,适用于智能通信卡、汽车控制系统、电梯控制系统、温度和湿度等数据采集和报警系统、厂房监控系统等对于稳定性,可靠性和工作环境要求一般的系统中。
图3 最简单的CAN总线硬件电路
3 基于CAN总线的ELMO运动控制系统
3.1 ELMO系统硬件构成
系统基于CAN 2.0B通信协议,应用层采用的是分布式运动控制系统常用的CANopen协议。该协议详细规定了通信模式,网络管理及其相关参数的设定。
系统设计采用的拓扑结构是菊花链型拓扑结构。此种拓扑结构是用电缆把一台设备依次连接到下一台设备,一直到最后一台设备和终端器为止。如图4所示。
图4 菊花链型拓扑结构
这里的终端器集成在最后一个驱动器中。这种结构也可以认为是长度为零的总线型拓扑结构。若采用菊花链型拓扑结构,当一台设备从区域取下来,该设备后面区域上的所有设备将失去连接,从而产生故障。这将导致许多设备失效 潜在的过程停运。本系统采用此种拓扑结构:(1)CAN总线最远通信距离是10km,用于工厂控制或监控时,此种结构可以降低总的电缆长度,减少电缆的使用从而减少设备连接费用。(2)综上所述,该种结构需要每一台设备具有高度的稳定性与可靠性,而Elmo伺服运动控制系统正是这样一种系统,它运用专利芯片设计,确保高稳定性.低电磁辐射:高抗震12G,使用温度范围:40—80℃,强重力可达25+G,运行湿度90%,平均无故障时间50万小时。
图5整个系统的体系结构中,运动控制器采用了以色列ELMO公司的独立型的运动控制器Maestro,驱动器采用Elmo专用伺服驱动器Bassoon。
图5 Elmo分布式伺服系统体系结构
运动控制器Maestro主要由五大模块组成[5],如图6。
(1)蓝色表示主机通信模块:Host Communications Services,负责Maestro与外部的通信。
(2)黑色代表命令行解释模块:Command line interpreter,负责个人指令通过Maestro或SimplIQ立即执行。
(3)棕黄色代表内核模块:Virtual Machine,负责执行用户指令程序。
(4)淡黄色代表控制管理模块:Motion Manager,发送与接收来自各轴的信息,协调各轴的运动。
(5)绿色代表CAN总线模块:CAN Network Communications Server,内部集成有支持CAN总线通信的模块和支持CANOpen协议的模块,负责与CAN总线进行通信,支持CANopen DS301,DSP401,DSP402通信协议。
图6运动控制器Maestro结构
各个模块,各伺其职而又相互通信,作为系统和外界进行信息交流来完成用户的指令。各大模块下辖子模块,比如:主机通信模块分为RS—232通信模块,局域Ethernet网模块,远程控制Telnet模块,广域网WEB模块,协议转换网关Gateway模块等。与前述一般的CAN总线控制系统使用独立总线控制器SJA1000内部CAN2.0B协议模块与应用层模块完成上位机通信功能相比,它采用完全的模块化设计,具有诸多的优点:产品更新换代快,可以缩短设计和制造周期,可以降低成本,维修方便,产品性能可靠。功能模块的复用可以降低开发成本,提高系统的质量和安全性能, 保证控制器能满足需求[6]。内部具有CANopenDS301等协议模块,无需再定义应用层协议,远程控制模块用于远程控制,以太网模块用于局域网PC机控制,网关模块用于协议转换等都是其无法比拟的。另外,体积超小,稳定性超高,内部集成功能放大器驱动功能强大,响应时间超短仅有200微秒等诸多优点是Elmo产品所独有的。
与一般的伺服驱动器相比,Elmo伺服驱动器Bassoon采用智能模块化设计,内核为摩托罗拉16位DSP电机控制专用芯片,并且提供了相应的开发工具,用于控制永磁同步电机,异步电机等。其内部包括支持CAN2.0B通信协议的CAN总线模块。该DSP具有支持PVT等插补功能。可以通过Maestro进行控制,也可以通过PC机直接控制。它具有响应时间超短一般可以达到微秒级,体积超小等特点。
通过上位机编译产生的中间代码传入控制器Maestro中,Maestro不断转译上位机更新的位置命令(运动曲线),通过现场总线下传给驱动器,总线节点解释指令以后转化为数字脉冲信号,控制交流伺服电机完成指令。
3.2 ELMO运动控制系统软件构成
Elmo提供了专门的软件Elmo composer进行初始化参数设置和参数更改,运动控制语言ELMO类VC语言ELMO Studio对于有关运行轨迹进行编程实现,Elmo Recorder用于对运行轨迹的监控与记录。
ELMO Studio运动控制语言采用高级语言,指令简洁易懂易记,编程简单,具有基本的PLC和运动控制功能。PLC和运动控制功能的实现采用统一的一种编程语言,简化了程序的编写。ELMO Studio语言由上位机编译器对源程序进行词法、语法、语义进行分析,上位机编译器最终生成中间代码,然后下载到嵌入式运动控制器(下位机)中由解释器解释,下位机解释器使用一个循环结构读取并解释下载到运动控制器用户程序区的运动控制程序,进而实现运动控制和PLC控制。它具备多轴同步控制功能,可以协同1—48轴同时联动,完成所需的图样的路径。此种控制语言是Elmo所独有的高级编译语言。一般的CAN总线控制系统不具备多轴同步控制功能。
软件设计的目的是通过VC++6.0语言开发出一个在Window环境下使用的32位应用程序,在软件的上层是由ELMO公司提供的接口函数和微软提供的MFC库来实现的交互性人机界面,总体界面风格是MDI形式,由一个主窗口内嵌子窗口,在MDI这个总体结构下所谓*Frame、*View、*Document是三位一体的,控制关系如图7:
图7 类层次结构与相互关系框图
图7中CMacApiTestApp是CWinApp的派生类,CMainFrame是CMDIFrameWnd的派生类。CMacApiTestApp总管整个程序,控制整个进程。CMainFrame最重要的是消息处理类,它是其他子窗口的父窗口,无论什么控制消息都要通过它。例如响应全部的菜单消息、对话框消息、定时器消息、控件消息、自定义消息以及底层的*.DLL交互消息,发送运动控制命令。
4 总结
本文通过比较一般的CAN总线运动控制系统与Elmo伺服运动控制系统,突出了Elmo控制系统的特点。通过比较可以知道,Elmo伺服控制系统具有很多一般CAN总线控制系统不具有的构造与设计,是一款稳定性与精度超高的运动控制系统。事实上,它广泛的应用于航空航天与军事工业等稳定性要求超高的工作环境中。Elmo伺服灵巧的模块化设计如果用于其他运动控制系统中,必将产生很高的生产效率,大大提高系统的稳定性。
参考文献
[1] 邬宽明.CAN总线原理及应用系统设计[M].北京:北京航空航天大学出版社, 1996.6
[2] 严彩忠,舒志兵.基于触摸屏的分布式伺服控制系统研究[J].组合机床与自动化加工技术.2007(4):48-51
[3] 史久根.CAN现场总线系统设计技术[M].北京:国防工业出版社,2004.10
[4] 基于CAN的混合动力汽车控制系统体系结构研究[J].农业机械学报.2004,35(6):9-11
[5] Maestro Software Manual[S].Elmo company
[6] 舒志兵, 等. 交流伺服运动控制系统[M].北京:清华大学出版社, 2006.3.