董少鹏
【摘 要】 介绍MOVILINK指令集中的SBus通信技术以及基于SBus通信的多电机同步技术,并结合工程案例,分析某开 合屋盖项目的控制系统结构和原理。
【关键词】 SBus通信;多电机同步;MOVILINK协议;开合屋盖
文章编号: 10.3969/j.issn.1674-8239.2017.01.009
Research Based on Synchronized Technology SBus Communicated Multi-motor Synchronized Technology
DONG Shao-peng
(Beijing Performing Arts Group Co., LTD., Beijing 100007, China)
【Abstract】Introduced SBus communication technology of MOVILINK instructions as well as based on synchronized technology SBus communicated multi-motor synchronized technology, and combined with engineering cases, analysis of a movable roof control system structure and principle of the project.
【Key Words】SBus; motor synchronization; MOVILINK; movable roof
1 引言
近年來,由于被控对象复杂程度及其对控制精度要求的提高,单轴驱动方式无法满足实际的需求。因此,随着自动化技术的提高、变频技术的成熟和适用范围的扩大,多电机同步控制在工业自动化、军事、航天等领域中得到越来越广泛的应用[1]。
对于各被控单元,多电机同步技术可分为两种:一是并行控制,通过主控单元生成的虚轴产生统一给定指令,控制各轴实际速度、位置,考虑到各轴之间的协调关系由同步系数决定,各轴性能和负载差异对实际控制效果影响较大;二是主从控制(master-slaver),在多轴中确定一个轴为主轴,其他作为从轴,控制指令发给主轴控制器,主轴控制器通过通信总线或信号线路将控制信号发送至从轴控制器[2]。目前,交流变频器同步控制普遍采用这两种方式。笔者讨论基于SBus通信的主从控制方式。
2 SBus通信技术简介
SEW公司的MOVILINK指令集包含RS458、SBus、Ethernet等通信协议,SBus通信技术是为了满足MOVILINK协议,在CAN总线标准基础上衍生出的一种通信技术,其技术协议和特性与CAN2.0A和CAN2.0B一致。
2.1 SBus的工作原理
对应于CAN总线标准,SBus总线技术包括物理层、数据链路层,其中链路层定义了不同的信息类型、总线访问的仲裁规则及故障检测与故障处理的方式。
当SBus总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。SBus总线上的一个节点将数据根据协议组织成一定的报文格式发出时,网上的其他节点处于接收状态。每组报文开头的11位字符为标识符(CAN2.0A),定义了报文的优先级。每个处于接收状态的节点对接收到的报文标识符进行检测判断,以确定是否接收。
SBus可以很容易在总线系统中加进一些新节点而无需在硬件或软件上进行修改。
2.2 SBus的特点
(1)多主机方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
(2)网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。
(3)采用网络权限仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。
(4)节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。
(5)SBus节点数据传输速率有125 Kb/s、250 Kb/s、500 Kb/s和1 000 Kb/s四种,出厂默认为500 Kb/s,根据数据传输速率的不同,SBus总线最大长度不同,但最大不得超过320 m,从站最大数量为64个。
2.3 SBus总线的报文格式
CAN总线标准分为标准报文(CAN2.0A)和扩展报文(CAN2.0B),它们对应的数据报文结构如图1所示。
SBus总线报文结构与CAN一样,可以分为报文标识符(ID)、数据区、CRC校验区及结束符。
通过SBus总线,SEW变频器之间可以在同步或异步状态下进行参数设置和数据传输,如图2所示。
变频器在MOVILINK协议框架下,需要传输许多不同种类的报文,主要可以分为三类:同步报文、过程数据报文及参数报文。对应有三种报文标识符(ID),该标识符共有11位,分为三个部分,各个部分对应的数据位和说明如图3所示。
报文标识符与地址的对应关系如表1所示。
SBus通信容许对组进行操作,此时在报文标识符中的地址变为组地址,且功能值为6。
3 基于SBus通信的多电机同步技术
3.1 SBus通信硬件连接
SBus通信采用2线双绞屏蔽线,通信线须满足以下要求。
(1)导体截面积不小于0.75 mm2;
(2)导线阻值在1 MHz频率时小于120 Ω;
(3)单位长度导线电容在1 kHz频率下小于等于40 PF/m;
(4)不同通信频率下的导线最大长度如表2所示。
如图4所示,SBus总线将多个控制单元串联,总线最大连接设备数量为64个。屏蔽接地除了接设备的DGND端子外,还需要通过外壳接地。终端电阻在总线两端设备拨为ON,中间设备拨为OFF。
3.2 SBus总线主从通信架构
主从控制器之间进行SBus通信原理如图5所示,其中包括了同步报文、过程输入输出报文及参数输入输出报文的传输。
3.2.1 同步数据报文的传输
由圖5可以看出,SBus主从通信周期为5 ms,因此在每个周期的起始主机会发同步报文到从机,表示开始一个新的通信周期。
同步报文采用广播的方式由主机发送,从机接收后不回发确认报文,同步报文的标识符值默认为0。
3.2.2 过程数据报文的传输
过程数据报文分为同步和异步两种方式,其中同步过程输出数据报文必须在2.5 ms~5.5 ms的固定时间段内发送(如图5所示),异步过程输入数据则以应答的方式由从机在下一个周期的第一个毫秒内发送到主机。
从图6的示意图可以看出,过程数据报文包括过程输入数据(PI)和过程输出数据(PO),过程输出数据由主机发送至从机,包含主机对从机的设定值。过程输入数据由从机发送给主机,包含从机的实际运行数值。在一个通信周期内,过程数据报文个数固定为3个。
3.2.3 参数数据报文的传输
参数数据报文也分为同步和异步两种方式,其中同步参数报文必须在通信周期5 ms内应答,且同步应答报文在通信周期的1 ms内发送(如图5所示)。异步参数报文的传输与时间无关。
参数数据报文可分为参数请求报文和参数应答报文,两者报文格式相同(如图7所示),参数报文除了标识符域(ID)和CRC域之外,由3部分组成:管理域(Management)、索引域(Index)、数据域(Data)。
3.2.4 组过程报文与组参数报文的传输
以上报文传输都是针对于一主一从通信而言的,对于一主多从的情况,SBus总线通信协议采用了组报文的方式进行数据发送。组报文只能由主机发送至从机,从机只是接收,不应答。组报文也可分为组数据报文和组参数报文,其格式如图8所示。
3.3 基于SBus总线的主从同步配置
3.3.1 变频器基本设置
基于SBus总线进行主从同步通信时,需要在变频器中进行相关参数的设置(图9),同时需要将所有站点上的数据传输速率设置为相同(1 000 Kb/s或500 Kb/s)。
3.3.2 SBus总线数据传输指令
在SEW变频器IPOS编程工具中,用于变量数据传输的SCOM指令有以下几种。
(1)_SBusComDef(SCD_TRCYCL,SCTRCYCL),该指令用于循环传输变量报文。其中,SCD_TRCYCL为指令属性宏定义,表示该指令为循环发送指令;SCTRCYCL为通信配置结构体,包含6个H变量。
(2)_SBusComDef(SCD_REC,SCREC),该指令用于接收变量报文。其中,SCD_REC为属性宏定义,表示该指令用于接收报文;SCREC为接受变量报文的参数结构体,包含3个H变量。
(3)_SBusComDef(SCD_TRACYCL,SCTRACYCL),该指令用于非循环发送报文。其中,SCD_TRACYCL为非周期发送指令属性定义;SCTRACYCL为接受参数结构体,含4个H变量。
(4)_SBusComOn(),该指令用于中断IPOS程序,并启动SBus通信。
4 应用实例
4.1 项目简介
基于SBus总线的多电机同步技术成功应用于国内某大型场馆的开合屋盖项目。屋盖沿纵轴线两侧分开,亦可向横轴方向下滑打开或合拢运动,以实现两侧屋盖的开合。屋盖外廓与周边玻璃幕墙形成完整的“椭球”(图10)。
机械自控系统为非常规同步控制,两侧屋盖采用对称设计。其中屋盖横向升降机构为五电机联动运行机构,单侧5根大梁采用5台变频器同步驱动5台电机的方式完成升降动作。既要求常规状态下的同步运行,又要求钢梁微动状态下的各电机独立运行。为了保证屋盖正常的升降和开合,在程序中采用SBus同步控制耦合和检测状态解耦的编程思路,顺利达到了控制要求,全行程往复控制精度在2 mm以内。
4.2 控制系统结构和原理
在项目实际应用的多轴运动控制中,5台升降机构采用变频器主从同步控制。其中,一台作为主动设备(主机),其他一起同步运行的设备将作为从动设备(从机),主机和从机之间通过SBus总线通信,在每个控制周期,主机的命令、位置实时传给从机,从机接受主机的位置信号后,控制各自的速度,保证从机在位置上与主机保持一致;从机的状态、位置实时反馈给主机,当主机判断位置超差或是从机状态报警时,发送命令停止所有同步设备。中央PLC(Programmable Logic Controller)通过现场总线实时监控主、从机的位置,当任一个从轴位置与主轴位置出现超差时,系统停止工作,解除同步状态,并对某一个误差较大的轴进行单步操作,使得其误差降至容许的范围内。同时中央PLC把相关设备位置、状态、电流及速度信息通过以太网反馈到控制台人机界面上,记录设备运行的数据。系统配置如图11所示。
图12所示的曲线为设备运行全行程变频器速度及电流变化图。曲线1为从变频器速度,曲线2为主变频器速度,曲线3为从变频器输出有功电流。从图12可看出:在设备加减速阶段,电流波动较明显,但从变频器和主变频器速度基本一致,表明从变频器通过SBus总线不断调整速度实时跟踪主变频器;在设备运行稳态阶段,电流变化微弱,表明从变频器和主变频器设定运行的趋势基本一致。
4.3 主从SBus同步通信编程
主从同步通信程序在变频器中运行,IPOS程序如下。
(1)主机发送数据程序
_SBusMasterSend()
{_SynchID.ObjectNo = 1090; // Describe the SEW standard structure:
_SynchID.CycleTime = 5;// Data object no. 1090 (sync telegram to be sent)
_SynchID.Offset = 0; // is sent on the SBus (cycle time 5 ms)
_SynchID.Format=0;
_SynchID.DPointer = 0;
_SynchID.Result = 0;
_PosSend.ObjectNo = 1100; // Describe the SEW standard structure:
_PosSend.CycleTime = 1; // Data obj.no. 1100 (32-bit master pos. to send/H511)
_PosSend.Offset = 0;// is sent on SBus (cycle time 1 ms, MOTOROLA format)
_PosSend.Format = 4;
_PosSend.DPointer = _VariableSBusSend; //Speed
_PosSend.Result = 0;
_SBusCommDef(SCD_TRCYCL, _SynchID); // Setting up the transmit data objects
// for cyclical data transmission using
_SBusCommDef(SCD_TRCYCL, _PosSend);// an SBus connection
_SBusCommOn(); }
(2)從站数据接收程序
_SBusSlaveRecv()
{ _PosRecv.ObjectNo = 1100;// Describe the SEW standard structure:
_PosRecv.Format = 4; // Data obj.no. 1100 (32-bit master pos. to be recvd.)
_PosRecv.DPointer = _VariableSBusRecv;// is sent to variable H_VariableSBusRecv
_SBusCommDef(SCD_REC, _PosRecv); // Setting up a receive data object
// for cyclical data transmission using
// an SBus connection
_SBusCommOn();}
5 结语
SEW变频器基于SBus总线通信的多电机同步技术具有独特的优势和卓越的性能,内置在变频器中的IPOS编程灵活高效,可以方便实现变频器的同步及自由运行模式切换;同时,编程和连接简单,便于维护和后期的故障排查,能满足实际项目的运行精度要求,被大量应用在涉及到设备多电机同步的精准位置控制场合中。
参考文献:
[1] 邓先荣. 天线伺服系统多电机同步控制方法[J]. 现代雷达,2005(6):45-47.
[2] MOVIDRIVE? MDX61B Internal Synchronous Operation. 2012.