《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > SERCOS总线及其在机器人系统中的应用

SERCOS总线及其在机器人系统中的应用

2008-12-10
作者:周文华 赵雁南 王家钦

  摘  要: 介绍了一种当前在国际上流行的工业控制总线——SERCOS总线,包括SERCOS总线的体系结构、工作原理、硬件组成、编程方法及其在一个机器人系统" title="机器人系统">机器人系统中的实际应用。

  关键词: SERCOS  工业控制总线  机器人系统

 

  对于机器人及其它运动控制系统来说,伺服系统是其关键部件之一。全数字的智能伺服系统具有精确度高、速度快、成本低等特点。数字控制单元和伺服系统之间通常需要一个高性能的数字接口,才能让整个系统发挥最佳性能。SERCOS总线接口是一个高性能的数字接口,并且SERCOS总线标准是唯一一个有关运动控制的国际通信标准。

  在SERCOS出现之前,数字通信协议由各伺服系统和制造厂家决定,是典型的封闭系统,各厂家的产品没有互换性。而SERCOS的出现克服了这一缺点。1995年,SERCOS接口协议被确定为国际标准" title="国际标准">国际标准,使开放系统成为现实,它有利于智能数控设备的集散控制,节省了设计和调试周期,同时使系统的可靠性大大提高。

  由于SERCOS现场总线具有数据传输快、抗干扰性能好等一系列优点而受到全球用户的广泛支持,当前国际上有很多著名的厂家和组织在推广这一技术和成果。

1 SERCOS总线的体系结构

1.1 SERCOS总线国际标准简介

  SERCOS总线标准是国际标准化组织和国际电子技术委员会共同制定的一种数字接口国际标准。1995年12月制定了IEC61491标准,1998年8月制定了EN61491标准。

  在SERCOS标准中,详细定义了传输介质、拓扑结构、连接技术、信号、时序、过程、报文内容、数据格式等控制单元和伺服单元之间的接口细节。

  SERCOS总线标准具有如下优点:

  (1)标准性

  SERCOS标准是唯一一个有关运动控制的国际通信标准。其所有的底层操作、通信、调度等,都按照国际标准的规定设计,具有统一的硬件接口、通讯协议、命令码IDN等。其提供给用户的开发接口、应用接口、调试接口等都符合SERCOS国际通信标准IEC61491(1995)。

  (2)开放性

  SERCOS技术是由国际上很多知名的研究运动控制技术的厂家和组织共同开发的。SERCOS的体系结构、技术细节等都是向世界公开的。而且SERCOS产品都是按照国际标准设计,提供的所有功能都符合国际标准规定。

  (3)兼容性

  SERCOS接口卡的功能与支持它的操作系统、硬件平台无关。不同公司的SERCOS接口卡之间可以相互替代,移植所花费的代价很小。

  (4)实时性

  SERCOS接口的国际标准中规定SERCOS总线采用光纤作为传输环路,支持2/4/8/16Mbit/s的传输速率。4Mbit/s基本上能够满足现在各种应用情况的数据传输要求。更高的传输速率(16Mbit/s)是为将来更高要求的实时数据传输而预先设计的。

  (5)扩展性

  每一个SERCOS接口卡可以连接8个节点,如果需要更多的节点则可以通过SERCOS接口卡的级连方式扩展。通过级连,每一个光纤环路上可以最多有256个节点。

  SERCOS总线接口卡" title="总线接口卡">总线接口卡除了具有上述特点外,还具有抗干扰性能好、即插即用等其它优点。

1.2 SERCOS总线接口卡的硬件组成

  SERCOS总线接口卡的硬件模块主要由以下部分组成:微处理器芯片μP、双端口存储器DPR、通信同步芯片SERCON、串行调试接口部件UART、EPROM或FLASH-EPROM、RAM等。

  微处理器芯片μP是SERCOS接口卡的中央处理单元。该芯片运行固化在EPROM或者FLASH-EPROM中的程序,协调整个系统的各个部件的正常工作。同时具有系统监测、故障诊断、出错处理、硬件复位等功能。

  通信同步芯片SERCON是SERCOS总线接口卡通信同步模块。该芯片同步NC控制单元(一般都是工控计算机)和伺服系统之间的数据通信硬件逻辑。实现NC和伺服驱动器" title="伺服驱动器">伺服驱动器之间的数据交换,负责数据输入、输出的协调和调度。

  双端口存储器DPR是NC和伺服驱动器之间交换数据的媒介。NC传给伺服驱动器的数据和命令放在DPR中,在适当的时候由 SERCANS模块将其送给伺服驱动器;从伺服驱动器反馈回来的数据也放在DPR中,等待NC从中取走。

  串行调试接口部件UART使用户可以利用SERCOS调试程序,通过串行通讯口对系统进行调试。

  EPROM或FLASH-EPROM固化了硬件运行的程序、算法、一些固定的设置数据等。需要重新更改的数据或者程序,SERCOS接口卡中都有一个EEPROM供修改和重新写入。

1.3 SERCOS总线接口卡的工作原理

  SERCOS在NC控制单元上有一个扩展的双端口存储器DPR,该部件是SERCOS和NC控制单元交换数据和命令的媒介。NC发给伺服系统的数据和命令首先放在DPR中,SERCOS会在工作周期中适当的时候将数据读出、打包、发送到光纤环路上。伺服系统要传给NC的数据和信息,首先打包通过光纤环路发给SERCOS,SERCOS将其解释并在工作周期中的适当时候将数据和信息放在DPR中相应的地址。

  微处理器单元运行存储在EPROM 或者FLASH-EPROM中的程序,对整个SERCOS接口卡的各个模块进行调度、控制和协调,并且监测系统的运行状态。如果系统发生错误,则进行故障诊断和错误处理等工作。

  数据交换的协调和控制由SERCON芯片负责。SERCON芯片负责数据传输同步。图1是SERCOS总线的工作时序图。

 

 

  其中,MST是标志上一次SERCOS周期结束、本次SERCOS周期开始的信号,ATn是从伺服系统反馈到NC的数据包,MDT是NC发往伺服系统的数据报文。

  整个系统的工作按周期进行,每一个周期称为SERCOS周期。SERCOS周期根据SYNCIN和SYNCOUT信号的状态变化,分为同步输出和同步输入两个工作阶段。

  当SYNCOUT信号处于高电平阶段,系统工作在同步输出阶段。SERCON模块逐个接收所有伺服设备反馈的AT数据包并输出到DPR。这一段时间称为AT传输时间。

  AT传输完成后经过一定的延时,SYNCIN产生一次跳变,SYNCOUT由高电平变到低电平,系统转入同步输入工作阶段。在此阶段中,NC从DPR中读取伺服驱动器的反馈值,并向DPR写入控制伺服驱动器的命令值。SERCON从DPR中读取NC写入的命令值并以MDT报文的形式发给伺服驱动器。完成这些工作后,SERCOS发出一个MST信号,标志一个SERCOS周期的结束和下一个SERCOS周期的开始。

1.4 SERCOS总线驱动软件功能

  SERCOS总线驱动软件是指用来驱动SERCOS ASIC SERCON芯片的驱动程序SERCDRV。SERCDRV是和硬件、操作系统无关的。SERCDRV程序具有定义数据结构、硬件初始化、阶段检测、建立通信通道等功能。

  用户应用程序和伺服部分的交互包括数据流和控制流。数据流和控制流只有经过驱动程序SERCDRV的正常运行才能通过SERCON芯片进入光纤环路。

  SERCDRV通过实现SERCOS国际标准IEC61491/EN61491规定的函数来扩展SERCON芯片的功能。包括以下几个方面:

  · 工作时需要的各种数据结构的定义;

  · 系统初始化,例如:设置中断向量、设置各种计数器、设置各种寄存器、初始化各种寄存器、初始化DPR等;

  · 通过实时数据传输通道实现周期性数据的实时传输和反馈;

  · 通过服务通道实现非周期数据的传输和反馈;

  · 计算和设置通讯参数;

  · SERCON的状态缓冲池管理;

  · 系统状态检测,从阶段0到阶段4,在每一个阶段设置该阶段的参数,然后进行检测。如果检测通过,则进行下一阶段的测试。当顺利通过阶段4的检测,说明系统一切正常,能够进行正常工作;

  · 建立和管理服务通道。

2 SERCOS总线技术在机器人系统中的应用

  下面以本实验室完成的“虚拟现实漫游平台”项目为例来说明一下SERCOS总线技术在机器人系统中的应用。

虚拟现实漫游平台是国家863基金资助的项目。该项目的目的是要建立一个虚拟现实漫游平台,该平台能够让人在虚拟环境中无限制漫游,而在实际环境中一直保持在平台的中心。我们选择双机械臂来支撑人的双脚,用一台工控计算机实现对人的跟踪和对系统的控制,用一台图形功能强的计算机来生成和管理虚拟场景,生成的虚拟场景输出到人佩带的虚拟现实头盔。工控机和伺服驱动器之间的数据通信采用先进的SERCOS技术。对人脚运动的跟踪采用高性能的PSD位置测量系统。

  由以上介绍可以看到,本系统对实时性、安全性、抗干扰等性能具有高要求。由于SERCOS总线具有传输速度快、传输带宽高、抗干扰性强、系统开放等优点,我们采用SERCOS总线作为该机器人系统NC与伺服系统之间的传输总线,具体选择德国Indramat公司开发的SERCOS总线接口卡SCS-P01。

  整个系统按照层次结构分为NC控制层、SERCOS接口层、运动执行层等三层。

2.1 NC控制层

  NC控制层主要由工控计算机和运行在上面的软件构成,负责系统的整体控制。下面介绍各个模块的功能。

总控程序模块:负责整个系统中各个程序模块的控制和调度。

  I/O控制模块" title="控制模块">控制模块:负责传感器等元件的控制以及查询传感器和限位开关的状态。

  A/D采集模块:负责采集PSD的数据,并且进行数据的分析和处理,将数据送给轨迹规划模块。

  轨迹规划模块:根据传来的数据规划出实时数据序列。

  命令控制模块:负责按照非实时模式执行一些SERCOS接口卡命令。

  监测控制模块:负责系统状态的监测和错误类型的诊断,并且对错误进行处理。

2.2 SERCOS接口层

  SERCOS总线接口卡通过EISA总线连接到工控机上,并通过光纤环路与机器人伺服机构相连。这样,它就作为传输总线将工控机和机器人伺服机构连接起来。SERCOS总线提供给工控机和机器人伺服机构5条通信通道,用以传输数据流和控制流。

  (1)实时数据传输通道:该通道由命令值通道和实际值通道两个通道组成。命令值通道将轨迹规划模块规划出的实时数据传输到伺服系统,实际值通道向轨迹规划模块实时反馈机器人系统的各个命令(如位置、速度、加速度等)的当前时刻实际值。

  (2)命令通道:命令控制模块通过该通道向伺服驱动器传输命令号,启动伺服驱动器的内部命令或函数。

  (3)NC服务通道:命令控制模块通过该通道向伺服驱动器传输要求不高的非实时或者实时性数据和命令。

  (4)监测诊断通道:监测诊断模块通过该通道监测伺服机构和执行机构,传输故障信息数据。

  (5)MMI服务通道:该通道是SERCTOP调试程序和伺服机构之间的交互通道。

2.3 运动执行层

  运动执行层实际上综合了伺服驱动、状态检测、机械执行三部分。伺服系统根据SERCOS传输来的数据和命令控制电机的运动,从而控制机械部分。状态检测主要包括PSD和各种传感器对机械状态的检测。

  我们将SERCOS总线技术应用在机器人系统中,整体性能良好,系统的实时性和抗干扰性能效果明显。由于SERCOS技术遵循SERCOS国际标准,所有的SERCOS接口卡都支持国际标准提供的一套IDN命令集,因此整个系统的设计结构清晰灵活,容易编码、调试和维护。并且同一套程序在不同SERCOS接口卡上移植非常方便。特别是Indramat的SERCOS接口卡将传输通道分成五条,性质不同的任务分别利用相应的传输通道。这种划分更加有利于系统体系的设计,以及系统体系的结构化、模块化。

 

参考文献

1 SERCANS SERCOS Interface Assembly.Germany:Indramat Corporation,1998

2 SERCON410B SERCOS Interface Controller—Reference Manual. Germany:Indramat Corporation,1993

3 INTERNATIONAL STANDARD—Electrical Equipment of Industrial Machines—Serial Data Link for Real-time

Communication Between Controls and Drives. IEC:1995

4 朱大开.虚拟现实漫游平台控制系统:[硕士学位论文].北京:清华大学计算机系智能技术与系统国家重点实验室,1999.

5 屠 楠.虚拟现实漫游平台研究:[硕士学位论文].北京:清华大学计算机系智能技术与系统国家重点实验室,1999

6 石晓东.机器人控制器的设计与实现:[硕士学位论文].北京:清华大学计算机系智能技术与系统国家重点实验室,1998

7 孙发杰. 机器人控制器的设计与实现:[硕士学位论文]. 北京:清华大学计算机系智能技术与系统国家重点实验室,1997

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。