伺服系统控制网络的重要性! 现场总线的重要性! SSCNET运动控制系统与发展趋势

        引言:在2010年的时候,在北京的一个数控公司工作。产品采用的是通过运动控制卡发脉冲的方式,控制机床的X、Y、Z轴进行加工。   机床在加工产品的时候,一直存在着精度的问题,例如DMG的机床可以达到0.01的加工精度,但是我们的就不行。  当时作为一个小底层员工,猜测可能有两点造成的这个问题。一点是我们的控制系统是基于微软的WINDOWS XP开发的。 微软的系统不是实时操作系统,在操作系统的任务切换上有些力不从心,然后公司的女同事写的代码还巨臃肿(对操作系统的任务切换和内存分配机制都不了解就可以写代码,领导还真放心),运行效率看着我都担心CPU会不会过载累死闭嘴 虽然公司的领导层屏蔽并精简了很多系统上用不到的功能,降低系统负荷,但是微软的系统在面对实时控制上依然力不从心,是不争的事实。     在风河系统一统实时系统的时代,这么大的公司还在用XP,有点说不通啊~当然换平台也是大工程,没个果敢的勇气还真下不了决心。      第二点是我们的伺服控制器是通过发脉冲的方式控制的,这种方式很容易有干扰,并且给上位机造成的工作压力也不小。当时就觉得领导层为什么不狠心把这种方式改掉,改成CAN通信也好啊。   后来一次偶然的机会,从单位仓库里搞了一套西班牙法格的数控系统,将我们机床的机械部分接到法格上,控制机床加工,当加工产品出来后,精度比我们自己的系统好很多(关键那套系统还是法格几年前的产品),这回问题明显了:同样是发脉冲,别人的脉冲比我们的好多了,尤其在三轴脉冲的同步控制上比我们的产品好多了。如果操作系统换不了,那么想提高精度,唯一的办法就是换成总线通信了,估计能对加工精度提高不少。但是很遗憾的是12年就离职了睡觉,我的猜测也没法验证了~~


       随着IT产业的蓬勃发展,工厂内设备的自动化也全面进入了要以网络来联机的时代,这也使得"PC Based"的控制器在工厂设备中被运用的比例也愈来愈高,在图一中所展现的是一个开放式架构 (Open Architecture) 工厂自动化 (Factory Automation) 的网络结构,包含了硬件及各式的通讯协议。
       在硬件方面可以看出走向串行式是一个共通的趋势,因为串行式通讯本身就有「维修容易」、「简省成本」、「远程控制」等的特点。但其不方便的地方就是在于很难找出一种通用于所有组件及设备之间的通讯协议。举例来说,串行式影像的标准通讯协议:Camera Link 和串行式运动控制的标准通讯协议:SERCOS就是完全不同的语言。彼此并不能共享一条线而彼此沟通。


        本文将着重在探讨串行式运动控制的技术。在近年来,由于半导体制造设备等相关的电子制造设备市场大幅成长,而使得机器设备上的运动控制系统出现了以下数点的技术需求:

1. 多轴运动控制
        机器设备因自动化程度提高而使得单一机器上所需要的轴数增多,一台设备上十几轴是常见的事情。在轴数变多后,如何协调各轴动作就是一个重要的课题。

2. 体积要小
        由于厂房空间的限制,机器的体积要越小越好,机器内控制器的体积也就被要求愈来愈小,相对地走线空间也愈来愈少。

3. 要更精准
        随着半导体制程已经精密到100nm以下,在制程及检测相关设备所要求的运动精度也要更精确,其它如LCD设备、SMD制程设备也有相同要求。

4. 要更稳定
        因为设备的投资经费庞大,系统停机的成本就更显的突出,因此所有机器设备制造商都必须追求系统的稳定性。同时也必须考虑在组件损坏须要维修时,必须能快速替换且不出差错。

        然而,综合以上几点的需求分析可以看到,既要在一个控制器内进行多轴运动控制,又要控制器的体积更小,配线的维修要更容易,这些条件看来是相冲突的。可以这样说,「串行式运动控制」技术便是因应这些新时式机器设备的需求而产生的。以下各节将深入介绍此技术之内涵。

传统AC伺服定位系统

        图二所示是一个传统「模拟式AC伺服定位系统」的方块图,驱动器的内层回路是一个相量控制的电流死循环系统以控制电机的转矩,外圈是转速死循环控制。运动控制卡读回 encoder 位置来作定位死循环控制。通常控制卡会利用DA输出电压到驱动器当成转速指令。

       图三所示为改良后的「脉冲式AC伺服定位系统」,因为伺服驱动器的进步而将定位死循环控制移入驱动器内执行。(也就是将速度环移到了驱动器内部)。运动控制卡输出脉冲指令来同时控制马达的位置及转速,同时读回encoder位置以作定位修正之用。

    不论是传统或是改良式的控制架构都一定会遇到下列的瓶颈:

1. 配线太多。每轴至少需要12个讯号以作为反馈,指令及其它I/O点控制用途。

2. 分辨率的限制。在模拟式驱动器的架构里,须要藉AD/DA转换来传送指令,以一个16bit分辨率的AD为例,其保证分辨率为14bit。必须对应到最大正负转速,例如:+/-4500rpm,则每一位所代表的分辨率为9000rpm/2^14=0.55rpm。这样的分辨率没有办法对应到目前高性能驱动器所要求的控速比,在许多的高精度加工场合是不足的。

        而在脉冲式驱动器架构里,分辨率则是被脉冲的最大传输速度限制住了,此点在后面章节还会解释。

3. 偏移误差(Offset)及噪声。只要是模拟讯号必定会有所谓偏移误差的问题,造成传送指令的位准误差,此问题在零转速附近会特别明显,必须靠校正来补偿,另外在高压大电流的AC伺服系统必须特别注意噪声带来的干扰,否则也很容易引起脉冲指令误差。

4. 缺乏自我检测功能。这两类驱动器架构都很难令外界控制器读取或实时调整伺服参数,伺服驱动器内的参数多达百种,没有办法藉由传统配线方式就读取这些参数,如此就没有办法在控制器上完全掌握这些参数,也就没有办法进行自我检测及调试。

各式串行式运动控制通讯协议

        随着串行式通讯科技的日新月异,如:Ethernet,运用串行式通讯来解决传统服务器驱动问题也有很大的进展,就如第一节中所述,串行式系统的不便之处在于没有共同遵守的通讯标准,就连在单项的运动控制系统目前也没有大家遵守的标准,不论是在硬件或通讯协议。虽然没有标准,但是技术内涵的需求都是一样的:

1. 要能在固定周期内实时地传输控制指令,
2. 此周期是快速到约0.1ms~5ms之间,
3. 非周期性地收集外围所有I/O资料,
4. 选择性地、非周期地传收伺服参数数据,
5. 数据结构上要含数据正确性编码,以防在噪声干扰时作数据修正。

        图四所示是市面上可以看到的各式串行式运动控制通讯协议的一览表,及其主要支持的厂商。硬件传输媒介主要有:RS485、IEEE1394、光纤及Ethernet四种,通讯协议方面目前还是百家争鸣,虽然SERCOS (IEC 61491)是仅见的国际标准,但是日本、美国伺服大厂仍是定义自己的通讯协议。很难下定结论那一个通讯协议就是最好的通讯协议。传输速度愈快,当然伺服控制周期时间可以更短,而使得频宽增加,可控制轴数变多,但毕竟这还不是决定性的因素。在应用层面还是要从系统规格往下看,根据性能/价格比来找到最好组合的运动控制卡+伺服(步进)驱动系统来发展应用。


  下节我们将以日本伺服大厂:三菱电机所开发的串行式伺服技术:SSCNET为例,更深入地探讨此技术为运动控制技术带来如何的进步。

SSCNET串行式伺服技术

        日本三菱电机自从九十年代初期开始开发SSCNET(Servo System Control Network)技术,到目前已经是等二代SSCNTⅡ,在市场上已经有超过一百万轴伺服马达应用SSCNET的成功实绩,可以说是串行式伺服的成功案例。在三菱电机所有类型伺服的出货比例也逐年提高。SSCNET的传输媒介是类似 RS 485 技术,传输距离最长可达30米,传输速度为5.625Mbps,控制用的通信周期为0.888ms。控制方式采主从式架构,控制卡上一颗主控IC(Master Controller)可以控制六颗Slave的伺服马达,所以最多可控轴数,要看控制卡上能放多少 Master Controller,可控轴数为 6*N轴。各主控 IC之间还可以作同步,使得被控伺服轴得以同步。目前主控IC是由三菱电机独家提供。

        在通信协议方面可以参考图五,主控IC与受控伺服驱动器之间数据传送的时序如下:

1. 主控IC与伺服驱动器的通信时脉同步后,控制器侧产生第一个绝对位置指令并写入主控IC。
2. 在第二个时脉时,由主控IC透过传输线将指令广播出去,各伺服驱动器各自接收自己的位置指令。
3. 在第三时脉时,各伺服驱动器根据位置指令而执行死循环定位控制。


       除了固定周期的位置指令外,还可以不定期地读写各伺服驱动器内参数。

        综观SSCNET技术,我们可以整理出它带给运动控制使用者下列的好处:

1. 减少体积、节省配线
传统一张运动控制卡约可以出线控制4~6轴,目前一张SSCNET控制卡便可到12轴。配线便大幅减少且变得容易很多,并使得配线人工成本及配线错误造成的损坏降到最低。

2. 高速高分辨率伺服控制之实现
由图六所示可以看到随着编码器技术的进步,也使得服务器的频宽进步到550Hz。这对机器带来的效益就是加工速度大幅提高,因为它使得到位后稳定时间(Settling time)降低了。目前大多数是编码器分辨率多在17位131,072pulse/rev。可是要发挥这些编编器所能达到的定位分辨率,在3000rpm时脉冲式控制器就必须送出约 6.5MHz 的脉波。这已经到达脉波传输线的极限。但是透过SSCNET在每个时序脉冲传送32位的绝对位置指令,便很容易地达到17位的定位分辨率。

3. 绝对同步的实现
由图七所示可以看到,在传统的伺服系统在各轴之间,由于脉冲命令传送的时间误差(约0.5ms)造成各轴真正在执行位置命令时时间也有误差,如此在多轴插补动作时便会有些许的时间误差而造成插补曲线的不完美,而透过SSCNET就可以轻易地达到每一轴完全地同步动作。

4. 控制器上管理所有伺服轴参数
        透过SSCNET各伺服轴的参数可以统一在控制器上作调整及读取,如此可把伺服调机与真正机台控制结合在同一个环境下实现。

5. 绝对位置系统的建构
         透过SSCNET控制器上读到的是32位的绝对位置,不像脉冲式伺服只能得到增量式位置。读到绝对位置能方便在紧急状况 (ALARM)造成系统停机又重开后,不必再执行回原点的动作。

6. 可靠度的提高
        在数字数据传输时,藉由HDLC所拥有的CRC Error Check功能,通信品质的信赖度就大幅提高,不会像传统式伺服易受噪声干扰。

PC Based SSCNET解决方案

        图八所示是一个PC Based 的SSCNET控制系统示意图。Host PC透过PCI Bus 向卡上的DSP下各轴的位置,速度曲线命令。DSP运算成为各轴的位置命令后在各周期下命令到伺服驱动器。借着运算功能强大的DSP,各式复杂的运动机能都可以达成。如多轴插补、连续运动、运动间改变速度或端点位置等。为了达到真正的「位置死循环控制」,卡上还可以接受外部增量式编码器的反馈,而后输出SSCNET命令。如此可以克服机械传动组件所造成的定位误差。


     在软件的开发方面,随着控制卡也附有 Win32的函数库在各种不同操作系统上,一个Motion Creator的调试软件可会跟随在软件上。从图九可以看到在SSCNET的Motion Creator软件上,可以使伺服参数调整,到试机调校在同一平台下完成,大幅减少了系统开发验证的时间。

实际应用与未来发展

        本节举一实例来说明SSCNET在实用上的好处。图十所示为一个双轴的传送机构, 由两个伺服电机带动两个滚珠螺杆来作传动。在此系统中, 两个轴的位置必须完全同步,否则就会在两个滚珠螺杆上出现剪应力。 图十的左下图所示是传统伺服的应用方式。 第一轴作位置控制,同时第一轴输出电流指令来下到第二轴来作扭力控制。如此就可以使第二轴跟随第一轴同动。可是指令的时间差还是会造成无法完全同动。右下图是利用SSCNET的双轴同动。可以看到在控制方式及配在线都精简很多。目前此应用已出现在搬运第五代TFT基板的Robot系统上。

        未来SSCNET的发展还会朝着传输速度更快,传输距离更长来前进。对于客户带来的则是更高速更精准的自动化控制愿景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EPSON 自带CCD图像处理包使用举例

EPSON 机器人可以购买CCD图像处理包选项,CCD图像处理包与SPEL语言高度结合,可以非常快的将项目投入应用,举例说明CCD图像处理包与SPEL的联合使用。 EPSON 以视觉序列定义图像处理的一个项目,视觉序列是一组按照特定顺序排列的视觉…

索引使用原则

前两篇文章我总结了一些SQL数据库索引的问题,这篇主要来分析下索引的优缼点,以及如何正确使用索引。 索引的优点:这个显而易见,正确的索引会大大提高数据查询,对结果进行排序、分组的操作效率。 索引的缺点…

挂马方式研究、挂马检测技术研究

1. 挂马定义 所谓的挂马,就是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,服务器漏洞,网站程序0day, 等各种方法获得网站管理员账号,然后登陆网站后台,通过数据库"备份/恢复"或者…

大幅面多相机高精度定位及测量解决方案

随着机器视觉应用的日益广泛,大幅面多相机视觉系统的需求越来越多,主要应用方向为大幅面高精度的定位与测量和场景拼接等。多相机视觉系统的难点在于多相机坐标系的统一,可以分为两类,一是相机视野间无重叠部分,二是相…

Hadoop 使用FileSystem API 读取数据

代码: package com.hadoop;import java.io.IOException; import java.io.InputStream; import java.net.URI;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.…

庖丁解牛TLD(一)——开篇

最近在网上多次看到有关Zdenek Kalal的TLD的文章,说他做的工作如何的帅,看了一下TLD的视频,感觉确实做的很好,有人夸张的说他这个系统可以和Kniect媲美,我倒是两者的工作可比性不大,实现的方法也不同。但这…

服务器性能测试

浅谈服务器性能测试的全生命周期——从测试、结果分析到优化策略 原创 2016-06-16 Micheal 腾讯WeTest测试开发者的共同关注!作者:Micheal,腾讯资深后台开发工程师。WeTest导读 服务器性能测试是一项非常重要而且必要的工作,本文是…

庖丁解牛TLD(三)——算法初始化

上一讲我提到对于算法的初始化工作主要是在tldInit这个函数里实现的。主要分为如下几大步骤,1)初始化Detector。2)初始化Trajectory。3)训练Detector 1)初始化Detector 其中bb_scan为扫描grid区域,该函数输入为boundin…

在未启动程序情况 点击视图设计器 弹出未将对象引用窗体的解决方案

请问下 在未运行程序情况 点击视图设计器 弹出未将对象引用窗体 解决方案:1.看后台进程是不是相关的进程在启动,如果有关闭进程;重启vs,即可2.重启电脑转载于:https://www.cnblogs.com/yang12311/p/5593838.html

ASP站点无法访问怎么办

确保启用了目录浏览功能 转载于:https://www.cnblogs.com/acetaohai123/p/6571257.html

五、案例-指令参考-freemarker指令、表达式

案例-指令参考描述&#xff1a;本人自己测试写了一遍&#xff0c;如有错的地方&#xff0c;懂freemarker的朋友望指点指点&#xff01; 案例-指令参考 表达式 一、 Assign 1、<#assign name1"北京" name2"上海" name3"广东"> 调用&#xf…

PartitionMotionSearch()函数

encode_one_macroblock()函数中的运动估计分为两大块&#xff0c;对于宏块级的三种模式&#xff0c;分块后直接对patition依次调用PartitionMotionSearch()函数&#xff1b;而对于亚宏块级的&#xff08;含8x8, 8x4,4x8,4x4&#xff09;模式&#xff0c;首先将宏块拆分为4个88子…

201521123017 《Java程序设计》第4周学习总结

1. 本周学习总结 2. 书面作业 Q1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释&#xff0c;并在Eclipse中查看。(截图) Q2.面向对象设计(大作业1&#xff0c;非常重要) 2.1 将在网上商城购物或者在班级博客进行学习这一过程&#xff0c;描述成一个故事。…

本文以H264视频流为例,讲解解码流数据的步骤。

本文以H264视频流为例&#xff0c;讲解解码流数据的步骤。 为突出重点&#xff0c;本文只专注于讨论解码视频流数据&#xff0c;不涉及其它&#xff08;如开发环境的配置等&#xff09;。如果您需要这方面的信息&#xff0c;请和我联系。 准备变量 定义AVCodecContext。如…

2008-2021年商业银行数据(农商行、城商行、国有行、股份制银行)

2008-2021年商业银行数据&#xff08;农商行、城商行、国有行、股份制银行&#xff09; 1、时间&#xff1a;2008-2021年 2、范围&#xff1a;1700银行 3 、指标&#xff1a;证券简称、year、证券代码、资产总计、负债合计、所有者权益合计、利润总额、净利润、贷款总额、存…

异常--自定义异常类

为什么要调用父类构造器? http://blog.csdn.net/rockpk008/article/details/52951856 转载于:https://www.cnblogs.com/dwj-ngu/p/6576382.html

EtherCAT 网站链接

http://www.ethercat.org.cn/cn.htm EtherCAT技术介绍 EtherCAT系统组成和工作原理 EtherCAT采用主从式结构&#xff0c;主站PC机采用标准的100Base-TX以太网卡&#xff0c;从站采用专用芯片。系统控制周期由主站发起&#xff0c;主站发出下行电报&#xff0c;电报的最大有效数…

IEC 6-1131/3的5种标准编程语言

用于开发控制系统和商业管理系统的TRACE MODE6编程工具面向不同领域的软件工程师. TRACE MODE6包含的五种编程语言为&#xff1a;Techno SFC、Techno LD、Techno FBD、Techno ST和Techno IL. 这些语言是下列IEC 6-1131/3标准语言的扩展&#xff1a; SFC&#xff08;顺序功能图…

NoPause/NoEmgAbort的任务 与后台任务的区别

NoPause/NoEmgAbort的任务示例 下面的例子显示了一个程序&#xff0c;可以监视控制器的错误并根据错误编号在发生错误时切换I/O On/Off。 Function main Xqt ErrorMonitor, NoEmgAbort : FendFunction ErrorMonitor Wait ErrorOnIf 4000 < SysErr And Syserr < 5999 T…

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)(转)

出处&#xff1a;http://www.cnblogs.com/best/p/6582294.html 目录 一、界面预览二、PSD源文件预览三、工具分享四、资源说明五、素材下载网站六、下载去年八月时要做一个OA系统为了后台界面而烦恼&#xff0c;后来写了一篇博客&#xff08;《后台管理UI的选择》&#xff09;介…