控制装置、控制程序以及记录介质的制作方法

文档序号:11388648阅读:123来源:国知局
本发明涉及一种对旋转体的旋转进行控制的控制装置。
背景技术
::进行运动(motion)控制的控制器(controller)使用在用户程序(userprogram)中指令的目标值(位置、速度、扭矩(torque)等),以固定的周期来执行为了实现所需的动作而需要的、对马达(motor)等的控制对象的指令位置的输出以及从控制对象的信息获取。此种控制器中,例如专利文献1所记载,将旋转体的指令移动量转换为伺服驱动器(servodriver)所处理的脉冲(pulse)数的单位。例如,在通过马达来使圆台(table)等旋转体旋转的系统(system)中驱动旋转体的情况下,在用户程序的制作时,表示旋转体位置的指令位置是以角度为单位来设定。与此相对,马达的驱动器以脉冲为单位来处理指令值,因此要将指令位置的单位由角度转换为脉冲数。例如,当从0°至360°旋转一圈时返回0°,在从0°开始反复旋转的坐标系中,将马达旋转一圈(360°)换算成规定的脉冲数。现有技术文献专利文献专利文献1:日本专利特开平5-150808号公报(1993年6月18日公开)技术实现要素:[发明所要解决的课题]且说,驱动器中,借助偏差计数器(counter),基于指令位置与当前位置的偏差脉冲来进行马达的控制。为了获得该偏差脉冲,必须对表示指令位置的脉冲与表示当前位置的脉冲进行计数。为了进行该计数,一般使用环形计数器(ringcounter)。环形计数器在旋转体的旋转开始的同时,从计数下限值开始对指令位置的脉冲进行计数,当旋转体旋转一圈而指令位置的脉冲数达到计数上限值时,再次从计数下限值开始进行计数。所述系统中,在使用利用齿轮的减速机来对作为旋转体的工件(work)进行减速驱动的情况下,根据减速机的减速比,将工件每旋转一圈的移动量转换成脉冲单位时,有时为非整数。此时,由于控制器对驱动器给予的指令位置为整数值,因此每当工件旋转时便会产生小数值部分的尾数。若每当环形计数器的计数由计数上限值切换为下限值时,在控制器侧舍去该尾数,则在工件反复旋转的期间,数值上的旋转与实际的旋转之间产生偏差。例如,在相对于马达旋转五圈而工件旋转三圈的情况下,减速机的减速比为3/5。此时,考虑到该减速比的工件旋转一圈的转换脉冲数p如下式所示,通过将马达旋转一圈的规定脉冲数(10000脉冲)乘以减速比的倒数而求出。p=10000×(5/3)=16666.66666...由于作为指令位置的转换脉冲数p必须为整数,因此在舍去所述小数值(0.66666...)的情况下,以脉冲数来表示工件旋转位置的脉冲位置如图7的(c)所示,当每旋转一圈而达到环形计数器的计数上限值即16666时,恢复为计数下限值0。因此,实际受到驱动的工件的位置(工件位置)如图7的(a)部分所示表示,与此相对,基于舍去了小数值的转换脉冲数p的工件位置如图7的(b)部分所示产生了偏差d。该偏差d通过累积,从而每当重复旋转时放大。作为修正此种偏差d的方法,每旋转一圈而使小数的尾数脉冲数(所述情况下为0.6666...)累积并进行监控(monitor),在尾数脉冲数的累积值达到1以上的时间点输出修正值,从而修正转换脉冲数p以消除尾数脉冲数的累积值。然而,该方法会产生下述不良状况:输出修正值时速度变得不连续,或者监控的位置与输出脉冲数不一致。而且,为了避免此种不良状况,运算部的结构变得复杂。本发明是有鉴于所述问题而完成,其目的在于以简单的结构来高精度地控制旋转体的位置。[解决课题的技术手段]为了解决所述课题,本发明的控制装置将用于对旋转体的旋转进行控制的脉冲给予至驱动器,所述旋转体通过所述驱动器使用表示指令位置的所述脉冲的脉冲数来驱动的马达,以经由减速机的规定减速比来旋转,所述控制装置包括:计数范围决定部,决定对所述脉冲数进行计数的计数器的计数范围,所述计数范围决定部将所述马达每旋转一圈的规定脉冲数乘以所述减速比的倒数及修正值,并且决定使乘法结果成为整数的所述修正值。根据所述结构,将规定脉冲数乘以减速比的倒数及修正值的结果所得的脉冲数成为整数。因而,不会如以往的系统,在计数范围由上限值切换为下限值时,产生小数值的误差。因此,此种误差的累积不会在当前位置累积。由此,实际受到驱动的旋转体的位置与根据指令位置所设想的工件的位置一致。而且,不需要如以往的控制器,对小数的尾数脉冲数进行管理修正的处理。在所述控制装置中,也可为,所述减速机是相对于所述马达旋转m(m为整数)圈而使所述旋转体旋转n(n为整数)圈的所述减速比为n/m的齿轮对,所述计数范围决定部将所述旋转体的转速n决定为所述修正值。根据所述结构,能够使修正值的决定过程(process)变得简单。在所述控制装置中,也可为,所述计数范围决定部将正整数作为乘数而从1开始依次乘以所述规定脉冲数及所述减速比的倒数的乘法值,将乘法结果成为整数时乘以所述乘法值的所述乘数决定为所述修正值。本发明的控制装置也可通过计算机(computer)来实现,此时,通过使计算机作为所述控制装置所具备的各部(软件(software)要素)进行动作而利用计算机来实现所述控制装置的控制装置的控制程序、及记录有该控制程序的计算机可读取的记录介质也属于本发明的范畴。[发明的效果]本发明起到下述效果:能够以简单的结构来高精度地控制旋转体的位置。附图说明图1是表示本发明的实施方式1的控制系统的概略结构的框图。图2是表示所述控制系统中的机构部的结构的立体图。图3是表示所述控制系统中的伺服驱动器的计数器部的动作的图。图4是表示所述控制系统中的控制器的单位转换部的结构的框图。图5的(a)部份分、(b)部份及(c)部份分别表示由所述控制器所管理的工件位置、马达位置及脉冲位置的关系的图。图6是表示所述单位转换部的单位转换动作的图,(a)部份是表示工件34的位置的图,(b)部份是表示将工件34的位置转换为脉冲的脉冲位置的图。图7的(a)部份分、(b)部份及(c)部份分别表示以往系统中的实际的工件位置、与将转换脉冲数的小数点舍去时的工件位置及脉冲位置的关系的图。主要元件标号说明1:控制器/控制装置2:伺服驱动器/驱动器3:机构部11:运动控制部12:存储器13:单位转换管理部14:通信处理部21:计数器部21a:指令位置计数器/计数器21b:反馈计数器22:偏差计数器23:控制部31:马达32:旋转编码器33:减速机33a:工件侧齿轮/第1齿轮33b:马达侧齿轮/第2齿轮34:工件/旋转体35:旋转轴36:旋转轴100:控制系统131:单位转换部131a:范围放大部131b:转换处理部131c:范围缩小部132:计数范围决定部m:转速n:转速pr:规定脉冲数具体实施方式使用图1至图6来对本发明的一实施方式如以下所述进行说明。(控制系统100的结构)图1是表示实施方式1的控制系统100的概略结构的框图。图2是表示控制系统中的机构部3的结构的立体图。图3是表示控制系统100中的伺服驱动器2的计数器部21的动作的图。图4是表示控制系统100中的控制器1的单位转换部131的结构的框图。如图1所示,控制系统100具备控制器1、伺服驱动器2(驱动器)及机构部3。机构部3是控制器1的控制对象,包含马达31、旋转编码器(rotaryencoder)32、减速机33及作为旋转体的工件34。马达31例如为伺服马达(servomotor),驱动工件34旋转。而且,也如图2中所示,马达31一体地设有用于对旋转角度及旋转角速度进行检测的旋转编码器32。旋转编码器32伴随马达31的旋转而输出周期性的脉冲信号。减速机33是包含安装于工件34的旋转轴36的工件侧齿轮33a(第1齿轮)与安装于马达31的旋转轴35的马达侧齿轮33b(第2齿轮)的齿轮对,工件侧齿轮33a与马达侧齿轮33b啮合。在通过减速机33介入马达31对工件34的驱动,从而相对于马达31旋转m圈而工件34旋转n圈的情况下,减速机33的规定减速比是以n/m来表示(m:正整数,n:小于m的正整数)。伺服驱动器2具有计数器部21、偏差计数器22及控制部23。而且,伺服驱动器2接收从通信处理部14发送的指令位置,并且将基于旋转编码器32的输出而检测出的反馈(feedback)位置等信息发送至控制器1。计数器部21包含指令位置计数器21a(计数器)及反馈计数器21b。指令位置计数器21a对从控制器1以脉冲信号的形态而给予的指令位置(指令值)的脉冲数进行计数。反馈计数器21b对从旋转编码器32以脉冲信号的形态而给予的反馈位置(当前位置)的脉冲数进行计数。计数器部21如图3所示,每当对脉冲数进行计数时要重复从计数范围的上限值恢复为下限值的动作,因此包含环形计数器。另外,对于计数器部21,也可利用独立于伺服驱动器2而设置的计数器单元所具备的各种计数器功能中的环形计数器功能。偏差计数器22对由计数器部21所计数的指令位置与当前位置的偏差进行计数,并给予至控制部23。控制部23控制马达31的旋转,以消除作为偏差脉冲而残留于偏差计数器22中的指令位置与当前位置的偏差。具体而言,控制部23作为与马达31的状态量(旋转角度、旋转角速度等)相应的最优选驱动能量来给予扭矩,由此来驱动马达31。控制部23根据基于从旋转编码器32输出的脉冲信号的反馈位置(旋转角度)、与来自控制器1的指令值来进行位置控制,以作为位置控制功能。而且,控制部23根据作为位置控制结果而获得的控制脉冲、与基于从旋转编码器32输出的脉冲信号的反馈速度(旋转角速度)来进行速度控制,以作为速度控制功能。而且,控制部23根据输入扭矩与输出扭矩(反馈扭矩)来进行扭矩控制,以作为扭矩控制功能。控制器1是生成对伺服驱动器2给予的用于运动控制的指令位置(指令值)的控制装置,包含可编程逻辑控制器(programmablelogiccontroller,plc)等。控制器1具有运动控制部11、存储器12、单位转换管理部13及通信处理部14。运动控制部11对后述的用户程序中所含的运动控制命令进行分析,并且基于分析结果而每隔固定周期地执行运动运算,由此来生成对伺服驱动器2给予的指令位置。而且,运动控制部11基于与来自伺服驱动器2的当前位置之差,判定工件34是否已到达所指令的位置(在适当位置(inposition))。存储器12是为了存储用户程序与参数而设的存储装置。用户程序规定有对工件34的动作进行规定的运动控制命令、执行运动控制命令的条件等,是由用户所制作。参数是用于对工件34的动作进行规定的各种信息,是由用户所设定。作为参数,准备用于决定所述减速比的马达31的转速m及工件34的转速n、规定脉冲数pr、计数上限值及计数下限值。规定脉冲数pr是对马达31旋转一圈(旋转范围)分配的固定间隔的脉冲的数量。计数上限值及计数下限值表示用户所指定的工件34的旋转范围,单位制也以相同的单位(例如旋转角度)而设定。单位转换管理部13将由运动控制部11所生成的指令值的单位转换成在伺服驱动器2中处理的单位,并且对计数器部21的计数周期进行管理。因此,单位转换管理部13如图4所示,具有单位转换部131与计数范围决定部132。单位转换部131为了对指令位置及当前位置的单位进行转换,而具有范围放大部131a、转换处理部131b及范围缩小部131c。范围放大部131a将工件34旋转n圈的角度范围(角度的上限为360°)放大至n倍(n×360°)。而且,范围放大部131a将马达31旋转m圈的脉冲数范围(规定脉冲数的上限为pr)放大至m倍(m×pr)。此处,m为所述马达31的转速,n为所述工件34的转速。而且,范围放大部131a将所输入的指令位置转换成在放大后的角度范围中对应的值,并且将当前位置转换成在放大后的脉冲数范围中对应的值。转换处理部131b将经范围放大部131a转换的角度的指令位置转换成在经放大的脉冲数范围中对应的值。而且,转换处理部131b将经范围放大部131a转换的脉冲数的当前位置转换成在经放大的角度范围中对应的值。范围缩小部131c使经范围放大部131a放大的角度范围恢复(缩小)到放大前的范围。而且,范围缩小部131c使经范围放大部131a放大的脉冲数范围恢复(缩小)到放大前的范围。计数范围决定部132在初始处理时,通过将规定脉冲数pr乘以所述减速比n/m的倒数,从而算出计数器部21的指令位置计数器21a及反馈计数器21b对与工件34旋转一圈的角度相当的脉冲数进行计数的值的范围,以作为转换值(乘法值)。而且,计数范围决定部132在初始处理时,将使乘以转换值的结果成为整数的乘数决定为修正值,将转换值乘以该修正值而算出转换脉冲数pc。此处,转换脉冲数pc是与工件34旋转n(n:正整数)圈相当的脉冲的数量。具体而言,计数范围决定部132将所述工件34的转速n决定为乘数。或者,计数范围决定部132也可将正整数作为乘数而从1开始依次乘以转换值,将乘法结果成为整数(尤其优选最小整数)时乘以转换值的乘数决定为修正值。通信处理部14将经单位转换管理部13进行了单位转换的指令值在每个过程数据通信周期通过过程数据对象(processdataobjects,pdo)通信而发送至伺服驱动器2。pdo通信适合于以固定周期进行实时的信息交换的情况。(控制器1的动作)对以上述方式构成的控制系统100中的控制器1的单位转换动作进行说明。图5的(a)部分至(c)部分是分别表示由所述控制器所管理的工件位置、马达位置及脉冲位置的关系的图。图6的(a)部分及(b)部分是表示单位转换部的单位转换动作的图。在图6的(a)部分及(b)部分中,图6的(a)部分表示工件34的位置,图6的(b)部分表示将工件34的位置转换成脉冲的脉冲位置。首先说明计数范围决定部132对计数范围的决定。计数范围决定部132读出作为参数而存储在存储器12中的工件34的转速n,将该转速n决定为修正值。计数范围决定部132基于作为参数而存储在存储器12中的马达31的转速m、工件34的转速n及规定脉冲数pr与所述修正值,通过下式算出转换脉冲数pc,并存储于存储器12中。pc=pr×(m/n)×n=m×pr计数范围决定部132将转换脉冲数pc经由通信处理部14而指示给计数器部21,以作为指令位置计数器21a及反馈计数器21b的新的计数范围而设定为转换脉冲数pc。计数器部21接受该指示,将指令位置计数器21a及反馈计数器21b的计数范围设定为转换脉冲数pc。由此,指令位置计数器21a及反馈计数器21b持续计数直至计数值达到转换脉冲数pc为止,并将计数值恢复为0。此处,对具体的计数范围设定事例进行说明。在该计数范围设定事例中,采用下述参数。规定脉冲数pr:10000脉冲计数上限值:360°计数下限值:0°工件34的转速n:3马达31的转速m:5若基于所述参数,则转换脉冲数pc通过所述式而如下算出。pc=10000×(5/3)×3=50000〔脉冲〕在该计数范围设定事例中,实际上,如图5的(b)部分所示,马达31旋转五圈,与此相对,如图5的(a)部分所示,工件34旋转三圈。而且,如图5的(c)部分所示,作为以脉冲数来表示工件34的旋转位置的脉冲位置,通过指令位置计数器21a及反馈计数器21b的计数而获得工件34旋转三圈的50000脉冲。如此,转换脉冲数pc为整数,因此当计数值从计数范围的上限值切换到下限值时,不会如以往技术中产生的、舍去的小数值的误差累积。由此,基于转换脉冲数pc而设想的工件34的位置也如图5的(a)部分所示表示,与实际的工件34的位置无偏差。接下来说明单位转换部131对指令位置及当前位置的单位转换动作。此处,对采用了所述参数时的单位转换事例进行说明。在对指令位置的单位进行转换的情况下,首先,如图6的(a)部分及图6的(b)部分所示,范围放大部131a将上限为360°的工件34旋转三圈的角度范围放大至3倍(3×360°=1080°),并且将上限为10000脉冲的马达31旋转五圈的脉冲数范围放大至5倍(5×pr)。而且,范围放大部131a将从运动控制部11输入的指令位置转换成在放大后的角度范围内对应的值。转换处理部131b将以如上所述经转换的角度表示的指令位置如图6的(b)部分所示,转换成在经放大的脉冲数范围内对应的值。进而,范围缩小部131c将如上所述经放大的脉冲数范围缩小至放大前的范围。在对当前位置的单位进行转换的情况下,首先,范围放大部131a与对指令位置的单位进行转换的情况同样地,将工件34旋转三圈的角度范围放大至3倍,并且将马达31旋转五圈的脉冲数范围放大至5倍。而且,范围放大部131a将从伺服驱动器2输入的当前位置转换成在放大后的角度范围内对应的值。转换处理部131b将以如上所述经转换的脉冲数表示的当前位置如图6的(a)部分所示,转换成在经放大的角度范围内对应的值。进而,范围缩小部131c将如上所述经放大的角度范围缩小至放大前的范围。如上所述,单位经转换的指令位置根据值,由于是减速比,因而存在包含小数值的情况,例如在指令位置为旋转两圈的情况下,在所述单位转换事例中,720°被转换成33333.33333...脉冲。单位转换部131舍去该指令位置的小数值后给予至伺服驱动器2。伺服驱动器2在基于所给予的指令位置来驱动马达31以使工件34旋转时,由反馈计数器21b所检测的旋转两圈的当前位置为33333脉冲,因此相对于控制器1中的所述33333.33333...脉冲产生偏差。然而,由于计数范围被规定为整数的转换脉冲数pc,因此不会如上所述,使舍去小数值的误差累积,因此该误差不超过1。既然在接受侧(伺服驱动器2)处理的脉冲数为整数单位,则所述偏差便是可能始终存在的误差。与此相对,在以往的计数范围中,每一圈会产生0.6666...的误差,因此当旋转两圈时,便会产生超过1的1.3333...的误差。(控制器1对计数范围修正带来的效果)本实施方式的控制器1具备计数范围决定部132,该计数范围决定部132决定对脉冲数进行计数的指令位置计数器21a的计数范围。该计数范围决定部132将马达31每旋转一圈的规定脉冲数pr乘以减速比(n/m)的倒数及修正值,并且决定使乘法结果成为整数的修正值。由此,指令位置计数器21a及反馈计数器21b的计数范围被设定为成为整数的转换脉冲数pc。因而,如上所述,当计数范围从上限值切换到下限值时,不会产生小数值的误差。因此,此种误差的累积不会在当前位置累积。因而,实际受到驱动的旋转体的位置与根据指令位置所设想的工件的位置一致。而且,不需要如以往的控制器,对小数的尾数脉冲数进行管理修正的处理。并且,在旋转编码器32为绝对位置编码器的情况下,由于利用计数范围的脉冲数来对当前位置进行管理,因此在电源切断时不需要保持尾数的累积数据等追加信息,能够减少电源切断时存储器应保持的数据量。因而,能够以简单的结构来高精度地控制工件位置。而且,计数范围决定部132将工件34的转速n决定为修正值。由此,能够使修正值的决定过程变得简单。借助软件的实现例控制器1的控制块(尤其是运动控制部11、单位转换管理部13及通信处理部14)既可通过形成于集成电路(ic芯片(chip))等的逻辑电路(硬件(hardware))实现,也可使用中央处理器(centralprocessingunit,cpu)而通过软件来实现。在后者的情况下,控制器1具备执行实现各部的功能的软件即控制程序的命令的cpu、可由计算机(或cpu)读取地记录有所述程序及各种数据的只读存储器(readonlymemory,rom)或存储装置(将它们称作“记录介质”)、以及展开所述程序的随机存取存储器(randomaccessmemory,ram)等。并且,通过计算机(或cpu)从所述记录介质中读取并执行所述程序,从而达成本发明的目的。作为所述记录介质,可使用“并非临时的有形介质”,例如可使用带(tape)、盘(disk)、卡(card)、半导体存储器、可编程的逻辑电路等。而且,所述程序也可经由可传输该程序的任意传输介质(通信网络或广播波等)而提供给所述计算机。另外,本发明也能以通过电子传输来将所述程序具现化的、被嵌入载波中的数据信号的形式来实现。附记事项本发明并不限定于所述各实施方式,可在权利要求书所示的范围内进行各种变更,将不同的实施方式中分别公开的技术部件适当组合而获得的实施方式也包含于本发明的技术范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1