CN104731022A - 控制单元、输出控制方法和程序 - Google Patents

控制单元、输出控制方法和程序 Download PDF

Info

Publication number
CN104731022A
CN104731022A CN201410802131.1A CN201410802131A CN104731022A CN 104731022 A CN104731022 A CN 104731022A CN 201410802131 A CN201410802131 A CN 201410802131A CN 104731022 A CN104731022 A CN 104731022A
Authority
CN
China
Prior art keywords
cam
content
addressable memory
program
electronics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410802131.1A
Other languages
English (en)
Inventor
椹木洋
安部裕
神谷善三
约瑟夫·麦内尔·拉里奥·佩雷兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of CN104731022A publication Critical patent/CN104731022A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4145Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33001Director is the nc controller, computer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33102Dnc and cnc combined
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33161Data exchange between controller and processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42189Motion look up table as function of cam angle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43174Simulating cam motion mechanism
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50234Synchronize two spindles, axis, electronic transmission, line shafting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

本发明涉及控制单元、输出控制方法和程序。本发明使得有可能容易地改变用于执行电子CAM操作的CAM表。CAM计算程序(501)使用CAM表(520)来执行电子CAM操作,CAM表(520)是其中电子CAM(500)的从轴的位移与电子CAM(500)的主轴的相位关联的数组。CAM表生成程序(504)接收用于定义将要通过运动控制实现的电子CAM操作的CAM定义变量的输入,并且生成其中CAM曲线被存储为对应于被输入的CAM定义变量的数组的CAM表(520)。微处理器(100)使用CAM表(520)来执行CAM计算程序(501)。如果微处理器(100)接收CAM定义变量的输入,那么微处理器(100)执行CAM表生成程序(504)以生成CAM表(502),并且将生成的CAM表(502)存储至主存储器(104)。

Description

控制单元、输出控制方法和程序
技术领域
本发明涉及一种控制单元、控制单元中的输出控制方法、以及程序,尤其涉及一种用于执行运动控制和顺序控制的控制单元、根据控制单元的输出控制方法、以及程序。
背景技术
例如,由诸如包括用于执行用户程序的微处理器的CPU(中央处理单元)以及对从外部开关和传感器输入的信号和输出至外部中继器和执行器的信号负责的IO(输入输出)单元的多个单元来配置PLC(可编程逻辑控制器)。当PLC执行控制操作时,经由PLC系统总线和/或现场网络,数据在用户程序的每个执行周期在单元之中进行交换。
机械、设施等操作的控制有时包括用于控制马达运动的运动控制。通常,在这种运动控制中,用于周期地将命令值输出至用于驱动马达的马达驱动器的控制处理(运动计算程序的执行)一般在与PLC分离布置的运动控制器中实施。
然而,在信息技术领域,微处理器和通信网络的速度正在提高。因此,使用这种技术,在PLC中的一个微处理器中,不仅可以执行用户程序,还可以执行运动计算程序。
下面,使用专利引文1中描述的PLC,将描述基本的配置和基本的功能。
专利引文1中描述的PLC包括使用一个CPU来处理用于控制马达的运动控制功能和用于执行顺序计算(用户程序)的PLC功能的配置。更具体地,专利引文1中描述的PLC包括:对每个周期,执行“固定周期运动控制处理和每个轴处理”以及“高速顺序处理”,并且另外,在周期的剩余时间,执行“低速顺序处理”或“非固定周期运动控制处理”。
另外,专利引文1中的PLC实现了运动控制中的电子CAM。电子CAM实现电子控制中的机械CAM的操作,使得能够自由地且容易地实施CAM的模具变化和CAM形状的微调。
更具体地,使用CAM表,PLC计算每个控制周期的主轴的相位,并且将与从轴的相位的位移对应的命令值输出至马达。CAM表是其中电子CAM的主轴的相位(用于全闭环控制的编码器的位置、伺服驱动器和虚拟伺服驱动器的命令位置、以及编码器、伺服驱动器和虚拟伺服驱动器的反馈位置的一个)和从轴的位移彼此相关联的表。
另外,在电子CAM技术中,随着产品项目和模具变化的变化,期望有可能改变CAM操作。这个“CAM操作的改变”不仅包括改变用于定义CAM操作的CAM表,还包括考虑到机械误差等的影响来改正或调整由CAM表定义的CAM操作。
根据专利引文1中描述的PLC,通过切换正被用于计算的CAM表来改变CAM操作。具体地,多个CAM表被存储在存储器中,并且由于将被控制的一个CAM操作的变化,当有关于切换CAM表的指令时,CPU单元切换将被用于计算的CAM表。
根据专利引文2中描述的PLC,通过重写CAM表的值来改变CAM操作。具体地,CPU单元基于专用指令来重写CAM表的值。
专利引文1:日本专利4973792
专利引文2:日本专利4807475
专利引文1和专利引文2中描述的CAM操作的变化包括以下问题。
由于专利文献1中描述的PLC通过切换用于计算的CAM表来改变CAM表,所以它不能将CAM表改变为还没有被存储的CAM表。因此,为了将CAM表改变为还没有被存储的CAM表,有必要将专用的设置工具连接到PLC、通过使用专用工具来形成用于定义CAM操作的CAM曲线、并且将对应于CAM曲线的CAM表存储到控制装置。换言之,为了改变将要用于执行电子CAM操作的CAM表,有必要提供另一个装置和它的操作,也就是,不可能容易地改变CAM表。
由于专利引文2中描述的PLC基于专用指令通过重写存储在PLC中的CAM表的值来改变CAM表,所以为了改变与整个操作相关的CAM曲线,有必要改变CAM表的每个值。因此,如果要彻底地改变CAM表,那么改变工作将增加。
另外,由于为了改变这个PLC中的CAM表,实际上改变的是CAM表的值,所以难以确认用于定义操作的CAM曲线是如何已经被改变的。
发明内容
鉴于上述问题,本申请的发明的目的是使得有可能改变用于执行电子CAM操作的CAM表。
本申请的发明的另一个目的是使得有可能确认对应于已经被改变的CAM表的CAM曲线。
根据本发明的一个方面,控制装置被配置为执行运动控制和顺序控制,并且包括处理器和存储单元。
存储单元被配置为存储CAM计算程序和CAM表。所述CAM计算程序被配置为使用CAM表来执行运动控制,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位相关联的数组(array),所述运动控制用于输出与和所述电子CAM的所述主轴的所述相位相关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值。
所述存储单元被配置为还存储CAM表生成程序,所述CAM表生成程序被配置为接收用于定义通过所述运动控制来实现的电子CAM操作的CAM定义变量的输入,并且被配置为生成其中CAM曲线被存储作为对应于所述CAM定义变量的数组的CAM表。
所述处理器被配置为使用所述CAM表来执行所述CAM计算程序,并且被配置为执行所述运动控制。
所述处理器还被配置为接收所述CAM定义变量的所述输入、通过执行所述CAM表生成程序来生成所述CAM表、以及将所述生成的CAM表存储至所述存储单元。
根据这个控制装置,处理器使用CAM表来执行CAM计算程序,以执行用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值的运动控制。另外,如果CAM定义变量被输入,那么处理器通过执行CAM表生成程序来生成CAM表。
如上所述,因为其是用于生成CAM表的控制装置的处理器,所以没有必要使用用于改变CAM表的专用设置工具。其结果是,改变CAM表变得容易。
所述存储单元可以被配置为还存储CAM定义变量存储程序。所述CAM定义变量存储程序被配置为将用于识别通过执行所述CAM表生成程序生成的所述CAM表的所述CAM定义变量和信息存储至所述存储单元,同时将被输入的CAM定义变量与用于识别所述CAM表的信息相关联。
根据这个控制装置,因为用于识别CAM表的被输入的CAM定义变量和信息被彼此相关联且被存储在存储单元中,所以有可能在对外部装置是必要时取出对应于当前操作CAM表的CAM定义变量,并且在外部装置中基于CAM定义变量来生成CAM曲线。其结果是,有可能在外部装置中确认对应于已经被改变的CAM表的CAM曲线。
所述运动控制的任务调度的一个周期可以包括固定周期任务和系统服务。所述系统服务在除了所述固定周期任务的闲暇时间中被执行。由所述CAM表生成程序的所述计算进程的时序(timing)可以被分配给所述固定周期任务。
根据这个控制装置,因为在固定周期任务中执行CAM表生成程序,所以有可能控制计算的末端的时序。因此,当控制装置使用生成的CAM表能够执行CAM计算时,控制装置能够精确地构思时序。
所述运动控制的任务调度的一个周期可以包括固定周期任务和系统服务。所述系统服务在除了所述固定周期任务的闲暇时间中被执行。由所述CAM表生成程序的所述计算进程的时序可以被分配给所述系统服务。
根据这个控制装置,因为在系统服务中执行CAM表生成程序,所以有可能执行CAM表生成程序,而不影响固定周期任务。对于克服由于违反固定周期任务的CAM表生成程序导致的计算负载的影响,这是非常有利的。
根据本发明的另一个方面,控制器系统包括上述控制装置、以及被配置为将数据输入至控制装置的输入装置。输入装置被配置为将把CAM定义变量与用于识别所述CAM表的信息相关联的信息发送至所述控制装置。
根据这个系统,因为用于将CAM定义变量与用于识别CAM表的信息相关联的信息被存储在控制装置中,所以有可能在对外部装置是必要时取出对应于当前操作CAM表的CAM定义变量,并且在外部装置中基于CAM定义变量来生成CAM曲线。其结果是,有可能在外部装置中确认对应于已经被改变的CAM表的CAM曲线。
根据本发明的另一个方面,输出控制方法被采用用于被配置为执行运动控制和顺序控制的控制装置。控制装置包括处理器和存储单元。
所述输出控制方法包括步骤:
所述处理器执行CAM计算程序,以使用CAM表来执行运动控制,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位关联的数组,所述运动控制用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值;
所述处理器接收用于定义通过所述运动控制来实现的电子CAM操作的CAM定义变量的输入,并且生成其中对应于被输入的CAM定义变量来排列CAM曲线的CAM表;以及
所述处理器将生成的CAM表存储至所述存储单元。
应该注意,步骤的顺序是不受限的,并且,多个步骤可以同时被执行或者部分步骤可以彼此重叠。
根据这个输出控制方法,处理器使用CAM表,执行CAM计算程序,以执行用于输出与和所述电子CAM的所述主轴的所述相位关联的所述从轴的位移相对应的位置指令值的运动控制。另外,如果输入CAM定义变量,那么处理器通过执行CAM表生成程序来生成CAM表。
如上所述,因为是控制装置的处理器生成CAM表,所以没有必要使用用于改变CAM表的专用设置工具。其结果是,改变CAM表变得容易。
根据本发明的另一个方面,程序被采用用于被配置为执行运动控制和顺序控制的控制装置。控制装置包括处理器和存储单元。
所述程序使得所述处理器执行步骤:
执行CAM计算程序,以使用CAM表来执行运动控制,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位关联的数组,所述运动控制用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值;
接收用于定义通过所述运动控制来实现的电子CAM操作的CAM定义变量的输入,并且生成其中对应于被输入的CAM定义变量来排列CAM曲线的CAM表;以及
将生成的CAM表存储至所述存储单元。
应该注意,步骤的顺序是不受限的,并且,多个步骤可以同时被执行或者部分步骤可以彼此重叠。
根据这个程序,处理器使用CAM表,执行CAM计算程序,以执行用于输出与和所述电子CAM的所述主轴的所述相位关联的所述从轴的所述位移相对应的位置指令值的运动控制。另外,如果输入CAM定义变量,那么处理器通过执行CAM表生成程序来生成CAM表。
如上所述,因为是控制装置的处理器生成CAM表,所以没有必要使用用于改变CAM表的专用设置工具。其结果是,改变CAM表变得容易。
发明效果
根据本发明,在用于执行电子CAM的控制单元中,改变用于执行CAM操作的CAM表变得容易。
附图说明
图1是示出PLC系统的原理配置的示意图;
图2是示出CPU单元的硬件配置的示意图;
图3是示出由CPU单元执行的软件配置的示意图;
图4是示出由控制程序提供的运动控制的原理处理程序的流程图;
图5是示出在运动控制指令在高优先级固定周期任务中被描述的情况下的数据流的视图;
图6是示出在运动控制指令在低优先级固定周期任务中被描述的情况下的数据流的视图;
图7是示出电子CAM的功能轮廓的视图;
图8是可视地描述电子CAM的操作的视图;
图9是示出电子CAM的CAM曲线的视图;
图10是示出与电子CAM相关联的系统配置的视图;
图11是示出与CAM数据相关的结构数组的视图;
图12是示出CAM表的数据结构的视图;
图13是用于解释用来生成CAM表的过程的视图;
图14是示出用于生成CAM表的程序的流程图;
图15是示出用于执行系统服务的时序的视图;
图16是示出当被连接至CPU单元时将被使用的PLC支撑装置的硬件配置的示意图;
图17是示出在CPU单元和PLC支撑装置中的数据处理的图表;
图18是示出用于实现CAM表生成程序的控制指令的概要的图表;
图19是示出控制指令的执行图像的图表;
图20是示出控制指令的控制程序的流程图;
图21是示出用于计算CAM曲线以及将值存储在存储器中的程序的流程图;
图22是用于解释CAM表生成的图表(CAM曲线);
图23是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表;
图24是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表;
图25是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表;
图26是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表;
图27是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表;
图28是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表;
图29是表示CAM节点的值的表,以及当CAM表被生成时表示CAM表的值的表。
具体实施方式
参照附图,将详细描述本发明的实施例。相同的附图标记表示附图中相同或相应的部分,并且将不再重复其描述。
<A.系统配置>
根据本实施例的PLC具有用于控制马达运动的运动控制功能。首先,参照图1,将描述根据本实施例的PLC 1的系统配置。
图1是示出根据本发明实施例的PLC系统的原理配置的示意图。参照图1,PLC系统SYS包括PLC 1、伺服马达驱动器3和由通过现场网络2连接到PLC 1的远程IO终端5,以及是现场设备的检测开关6和中继器7。PLC支撑装置8还通过连接电缆10等被连接到PLC 1。
PLC 1包括用于执行主要计算处理的CPU单元13、一个或多个IO单元14、和特殊单元15。这样的单元被配置为能够通过PLC系统总线11彼此交换数据。由电源单元12,合适电压的电源被供应给这些单元。构成PLC 1的这些单元中的每个由PLC制造公司提供,并且因此PLC系统总线11一般由每个PLC制造公司唯一地开发并使用。如后面将描述的,另一方面,现场网络2的标准等通常被公布,使得来自不同制造公司的产品可以被连接。
参照图2,后面将描述CPU单元13的细节。
IO单元14是与通用输入/输出处理相关联的单元,并且负责诸如开/关
(ON/OFF)的二进制化数据的输入/输出。换言之,IO单元14收集有关是具有(开)状态还是具有(关)状态的信息,所述(开)状态为其中诸如检测开关6的传感器正在检测某类物体的状态,所述(关)状态为其中传感器没有检测任何物体的状态。IO单元14将用于激活的命令(开)或者用于失活的命令(关)输出至诸如中继器7和执行器的输出目的地。
特殊单元15具有不被IO单元14支持的功能,诸如模拟数据的输入/输出、温度控制、以及通过具体通信方法的通信。
现场网络2传输与CPU单元13交换的各种类型的数据。各种类型的工业以太网(注册商标)可以被典型地用于现场网络2。例如,EtherCAT(注册商标)、Profinet IRT、MECHATROLINK(注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIP运动等被已知为是工业以太网(注册商标),并且可以采用上述任何一种。还可以使用除了工业以太网(注册商标)的现场网络。例如,如果没有实施运动控制,那么可以使用DeviceNet、CompoNet/IP(注册商标)等。在根据本实施例的PLC系统SYS中,其中是工业以太网(注册商标)的EtherCAT(注册商标)被采用作为现场网络2的配置,将在本实施例中被典型地说明。
在图1中,描述了既包括PLC系统总线11也包括现场网络2的PLC系统
SYS,但是可以采用仅安装有PLC系统总线11或现场网络2的一个的系统配置。例如,所有的单元可以与现场网络2连接。可替代地,可以不使用现场网络2,并且伺服马达驱动器3可以直接连接到PLC系统总线11。另外,用于现场网络2的通信单元可以被连接到PLC系统总线11,并且通过这种通信单元,可以实施与从CPU单元13连接至现场网络2的设备的通信。
伺服马达驱动器3通过现场网络2被连接到CPU单元13,并且根据来自CPU单元13的命令值来驱动伺服马达4。更具体地,伺服马达驱动器3从PLC 1在常数周期中接收诸如位置指令值、速度命令值以及转矩命令值的命令值。伺服马达驱动器3还获取与伺服马达4的操作相关的真实测量值,诸如位置、速度(典型地从当前位置和先前位置的差中计算的)以及来自诸如位置传感器(旋转编码器)以及连接到伺服马达4的轴的转矩传感器的检测器的转矩。然后,伺服马达驱动器3将来自CPU单元13的命令值设置为目标值,并且用真实测量值作为反馈值来执行反馈控制。换言之,伺服马达驱动器3调节用于驱动伺服马达4的电流,使得真实测量值接近目标值。
伺服马达驱动器3有时被称为伺服马达放大器。
图1示出其中伺服马达4和伺服马达驱动器3被布置为一组的系统示例,但是可以采用其他配置,例如为其中脉冲马达和脉冲马达驱动器被布置为一组的系统。
远程IO终端5也被连接到图1所示的PLC系统SYS的现场网络2。与IO单元14类似,远程IO终端5基本上执行与通用输入/输出处理相关联的处理。更具体地,远程IO终端5包括用于执行与在现场网络2上的数据传输相关联的处理的通信耦合器52,以及一个或多个IO单元53。这种单元被配置为能够通过远程IO终端总线51彼此交换数据。
将在后面描述PLC支撑装置8。
<B.CPU单元的硬件配置>
参照图2,将描述CPU单元13的硬件配置。图2是示出根据本发明的实施例的CPU单元13的硬件配置的示意图。参照图2,CPU单元13包括微处理器100、芯片集102、主存储器104、非易失性存储器106、系统计时器108、PLC系统总线控制器120、现场网络控制器140和USB连接器110。芯片集102和其它组件分别通过各种总线被连接。
根据多功能计算机架构,微处理器100和芯片集102被典型地配置。换言之,微处理器100解释并执行根据来自芯片集102的内部时钟而顺序地提供的指令代码。芯片集102与连接到其上的各种组件交换内部数据,并且还生成微处理器100所必需的指令代码。另外,芯片集102具有用于缓存作为在微处理器100中执行计算处理的结果而获得的数据等的功能。
CPU单元13包括主存储器104和非易失性存储器106作为存储单元。
主存储器104是易失性存储区域(RAM)并且保存有在开启CPU单元13之后将由微处理器100执行的各种类型的程序。当微处理器100执行各种类型的程序时,主存储器104还被用作工作存储器。诸如DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)的装置被用于主存储器104。
非易失性存储器106以非易失性方式保存有诸如实时OS(操作系统)、PLC1的系统程序、用户程序、运动计算程序的数据,以及诸如系统设置参数的数据。必要时,这种程序和数据被复制到主存储器104,以便能够由微处理器100访问。诸如快闪存储器的半导体存储器可以被用于非易失性存储器106。可替代地,还可以使用诸如硬盘驱动器的磁性记录介质、诸如DVD-RAM(数字通用盘随机存取存储器)的光记录介质等。
系统计时器108在每个常数周期中生成中断信号,并且将其提供给微处理器100。根据硬件的规格,中断信号通常在不同的周期中生成,但是中断信号可以被设置为由OS(操作系统)、BIOS(基本输入输出系统)等在任意周期中生成。如后面将描述的,使用由系统计时器108生成的中断信号来实现对于每个运动控制周期的控制操作。
CPU单元13包括PLC系统总线控制器120和现场网络控制器140作为通信电路。
缓冲存储器126作用为通过PLC系统总线11输出至另一个单元的数据(以下,也称为“输出数据”)的发送缓冲器,以及还作用为通过PLC系统总线11从另一个单元输入的数据(以下,也称为“输入数据”)的接收缓冲器。由微处理器100的计算处理创建的输出数据最初被存储在主存储器104中。要被转移至特殊单元的输出数据从主存储器104中读出,并且被临时地保存在缓冲存储器126中。从另一个单元转移的输入数据被临时地保存在缓冲存储器126中,并且然后被转移至主存储器104。
DMA控制电路122执行从主存储器104到缓冲存储器126的输出数据的转移,以及从缓冲存储器126到主存储器104的输入数据的转移。
与被连接到PLC系统总线11的另一个单元一起,PLC系统总线控制电路124执行用于发送缓冲存储器126中的输出数据的处理以及用于接收输入数据和将输入数据存储至缓冲存储器126的处理。在PLC系统总线11中,PLC系统总线控制电路124典型地提供物理层和数据链路层的功能。连接器130是PLC系统总线控制电路124与外部装置之间的接口。
现场网络控制器140通过现场网络2控制数据的交换。换言之,根据被使用的现场网络2的标准,现场网络控制器140控制输出数据的发送和输入数据的接收。如上所述,在本实施例中采用符合EtherCAT(注册商标)标准的现场网络2,并且因此使用包括用于实施正常以太网(注册商标)通信的硬件的现场网络控制器140。在EtherCAT(注册商标)标准中,可以使用用于实现符合正常以太网(注册商标)标准的通信协议的通用以太网(注册商标)控制器。然而,根据现场网络2采用的工业以太网(注册商标)的类型,使用与不同于正常通信协议的专用规格的通信协议相对应的特殊规格的以太网(注册商标)控制器。另外,如果采用除了工业以太网(注册商标)之外的现场网络,那么使用对应于这种标准的专用现场网络控制器。
DMA控制电路142执行从主存储器104到缓冲存储器146的输出数据的转移,以及从缓冲存储器146到主存储器104的输入数据的转移。
与被连接到现场网络2的另一个装置一起,现场网络控制电路144执行用于发送缓冲存储器146中的输出数据的处理以及用于接收输入数据和将输入数据存储至缓冲存储器146的处理。现场网络控制电路144典型地提供现场网络2中的物理层和数据链路层的功能。连接器150是现场网络控制器140与外部电路之间的接口。
USB连接器110是用于连接PLC支撑装置8和CPU单元13的接口。典型地,通过USB连接器110,从PLC支撑装置8转移的并且可由CPU单元13的微处理器100执行的程序等被恢复至PLC 1。
<C.CPU单元的软件配置>
参照图3,现在将描述根据本实施例的用于提供各种功能的软件组。包含在软件中的指令代码在适当的时刻被读出,并且由CPU单元13的微处理器100执行。
图3是示出根据本发明实施例的由CPU单元13执行的软件配置的示意图。参照图3,由CPU单元13执行的软件有三个层次体系,实时OS200、系统程序210和用户程序236。
实时OS200是根据CPU单元13的计算机架构来设计,并且为微处理器100提供执行系统程序210和用户程序236的基本执行环境。实时OS典型地由PLC的制造公司、专业软件公司等提供。
系统程序210由用于提供PLC 1的功能的多个软件程序构成。具体地,系统程序210包括调度程序212、输出处理程序214、输入处理程序216、顺序指令计算程序232、运动计算程序234和其它系统程序220。一般地,输出处理程序214和输入处理程序216被连续地(以集成的方式)执行,并且因此,输出处理程序和输入处理程序有时被共同地称为IO处理程序218。
根据用户的控制目的来创建用户程序236。换言之,用户程序236是根据使用PLC系统SYS来控制的目标线(进程)等而被任意设计的程序。
如下文将描述的,用户程序236使用顺序指令计算程序232和运动计算程序234来共同地操作,以实现用户的控制目的。换言之,用户程序236使用由顺序指令计算程序232和运动计算程序234提供的指令、功能、功能模块等以实现程序化操作。因此,用户程序236、顺序指令计算程序232和运动计算程序234有时被共同地称为控制程序230。
CPU单元13的微处理器100以上述方式执行存储在存储单元中的系统程序210和用户程序236。
下文中,将更具体地描述每个程序。
如上所述,根据用户的控制目的(例如,目标线和进程)来创建用户程序236。用户程序236典型地是由CPU单元13的微处理器100可执行的目标程序格式。当由梯形图语言等描述的源程序是在PLC支撑装置8等中编译时,生成用户程序236。在目标程序格式中的所生成的用户程序236通过连接电缆10从PLC支撑装置8转移至CPU单元13,并且被存储在非易失性存储器106等中。
在输出处理程序214、输入处理程序216和控制程序230的每个执行周期中,调度程序212控制处理的开始以及在处理被中断后处理的重新开始。更具体地,调度程序212控制用户程序236和运动计算程序234的执行。
在根据本实施例的CPU单元13中,适合于运动计算程序234的常数周期的执行周期(运动控制周期)被采用为整个处理的共同周期。因此,在一个运动控制周期内难以完成所有处理。因此,在马达控制周期的每一个中执行和完成具有高优先级的进程,并且在多个运动控制周期上执行具有低优先级的进程。调度程序212管理被分割处理的执行顺序等。更具体地,在每个运动控制周期时段内,调度程序212执行具有较高优先级的程序。
输出处理程序214将由用户程序236(控制程序230)的执行所生成的输出数据重新排列为适合于转移至PLC系统总线控制器120和/或现场网络控制器140的格式。如果PLC系统总线控制器120或现场网络控制器140需要指令以执行来自微处理器100的发送,那么输出处理程序214发布这种指令。
输入处理程序216将通过PLC系统总线控制器120和/或现场网络控制器140接收的输入数据重新排列为适合于由控制程序230使用的格式。
顺序指令计算程序232是当用户程序236中使用的某种类型的顺序指令被执行时被调出的程序,并且被执行来实现这种指令的内容。
运动计算程序234是根据来自用户程序236的指令而执行的程序,并且计算指令值以输出至诸如伺服马达驱动器3或脉冲马达驱动器的马达驱动器。
其它的系统程序220共同地表示用于实现除了图3中单独示出的程序之外的PLC 1的各种类型的功能的程序组。其他的系统程序220包括用于设置运动控制周期的周期的程序222。
根据控制的目的,可以适当地设置运动控制周期的周期。典型地,用户将用于指定运动控制周期的周期的信息输入至PLC支撑装置8。然后,被输入的信息从PLC支撑装置8被转移至CPU单元13。用于设置运动控制周期的周期的程序222将来自PLC支撑装置8的信息存储到非易失性存储器106,并且程序222被配置为使得系统计时器108在运动控制周期的指定周期中生成中断信号。当在开启CPU单元13的时刻执行用于设置运动控制周期的周期的程序222时,用于指定运动控制周期的周期的信息被从非易失性存储器106读出,并且根据所读取的信息来设置系统计时器108。
用于表示运动控制周期的周期的时间值、用于指定预先准备的与运动控制周期的周期相关的多个选择中的一个的信息(数字或字符)等,可以被采用用于用来指定运动控制周期的周期的信息的格式。
在根据本发明的CPU单元13中,使用与被用于获取用于指定运动控制周期的周期的信息的PLC支撑装置8的通信单元、用于设置运动控制周期的周期的程序222、以及被配置为能够任意地设置用于定义运动控制周期的中断信号的周期的系统计时器108的配置,运动控制周期的周期被任意地设置。
实时OS200提供用于随着时间的流逝而切换多个程序以及执行相关程序的环境。在本实施例的PLC 1中,输出准备中断(P)和现场网络传输中断(X)被初始地设置为用于将由CPU单元13的程序执行生成的输出数据输出(传输)至其他单元或其他装置的事件(中断)。当输出准备中断(P)或现场网络传输中断(X)发生时,实时OS200将微处理器100中的执行目标从发生中断的时刻正在被执行的程序切换至调度程序212。如果根本没有执行调度程序212和由调度程序212控制执行的程序,那么实时OS200执行包含在其他系统程序210中的程序。这种程序包括与通过在CPU单元13与PLC支撑装置8之间的连接电缆10(USB)等的通信处理相关的程序。
<D.运动控制概要>
现在将描述包含在以上描述的用户程序236中的典型配置。用户程序236包括用于周期性地确定用来启动与马达的运动相关的控制的条件是否满足的指令。例如,逻辑是用于确定经受马达的驱动力的某类程序的工作是否已经被传输至预定处理位置。用户程序236还包括根据确定用于开启控制的条件满足时用来开启运动控制的指令。运动指令的执行是由运动控制的开启来指示。对应于被指示运动指令的运动计算程序234被激活,并且对于运动计算程序234的每个执行,计算关于马达的命令值所必需的初始处理被首次执行。在与初始处理的运动控制周期一样的运动控制周期中,计算第一周期中的命令值。因此,初始处理和第一命令值计算处理变成在第一执行中将由被激活的运动计算程序234执行的处理。此后,每个周期中的命令值被顺序地计算。
图4是示出由控制程序230提供的运动控制的原理处理程序的流程图。参照图4,微处理器100周期性地确定用于启动与马达的运动相关的控制的条件是否满足(步骤S2)。由用户程序236和顺序指令计算程序232进行用于启动控制的条件是否满足的确定。如果用于启动控制的条件不满足(步骤S2中的否),那么重复步骤S2的确定。
如果用于启动控制的条件被满足(步骤S2中的是),那么微处理器100执行与运动控制相关的初始处理(步骤S4)。初始处理包括马达的运动的开始位置坐标、结束坐标位置、初始速度、初始加速度、路径等的计算处理。然后,微处理器100在第一周期中执行命令值的计算处理(步骤S6)。另外,微处理器100执行计算出的命令值的输出处理(步骤S8)。
此后,微处理器100等待直到下一个运动控制周期到达(步骤S10)。然后微处理器100周期性地确定用于结束与马达的运动有关的控制的条件是否满足(步骤S12)。“结束控制的条件满足”是指例如其中伺服马达4已经到达末端位置的状态。如果结束控制的条件满足(步骤S12中的是),那么再次重复步骤S2和后续步骤的处理。在这种情况下,正被激活的运动计算程序234被保持在非活动状态,直到启动控制的新条件被满足。
如果结束控制的条件不满足(步骤S12中的否),那么微处理器100在当前周期中执行命令值的计算处理(步骤S14)。另外,微处理器100执行计算出的命令值的输出处理(步骤S16)。然后重复步骤S10和后续步骤的处理。
下文中,用于实现运动控制的功能模块还被称为“运动控制功能模块”。具体地,“运动控制功能模块”是使用由用户程序给定的目标值(位置、速度、转矩等),在常数周期处,用于执行将命令值输出至轴和执行从轴获取信息的功能模块。“运动控制功能模块”是用于将命令值输出到伺服驱动器的开环型控制器。用于对运动控制功能模块给出顺序的指令(功能块(下面它也将被称为“FB”),等)被称为“运动控制指令”。
图5是示出运动控制指令与任务的关系的视图。具体地,图5是示出在运动控制指令是在高优先级固定周期任务中被描述的情况下的数据流的视图。高优先级固定周期任务是在CPU单元13中具有最高优先级的任务。参照图5,在运动控制指令是在UPRG710中被描述的情况下,数据流的顺序如下:(1)从动、O I701、FB 711、MC 702、OI 703、以及伺服马达驱动器3;(2)MC 704、OI 705;以及伺服马达驱动器3;以及(3)MC 706、OI 707、以及伺服马达驱动器3。
图6是示出在运动控制指令是在低优先级固定周期任务中被描述的情况下的数据流的视图。在这种情况下,数据流的顺序如下:从动、OI 701、MC702、UPG 720(FB721、722)、MC 706、OI 707、以及伺服马达驱动器3。
如果在低优先级固定周期任务的执行期间,高优先级固定周期任务变为可执行的,那么低优先级固定周期任务被中断一次,并且执行高优先级固定周期任务。在高优先级固定周期任务完成之后,低优先级固定周期任务的执行被恢复。低优先级固定周期任务的周期T2是高优先级固定周期任务的周期T1的整数倍。图5示出T2=2T1的情形。
在PLC 1的执行期间,微处理器100处于能够至少执行输出/输入处理程序(输出处理程序214和输入处理程序216)、用户程序236、以及运动计算程序234的状态。严格地说,实时OS 200保持与可执行状态中各个程序有关的处理(或sled),并且通过使调度程序212使用实时OS 200或硬件资源(系统计时器108等),在合适的时刻和以合适的顺序,来执行每个程序。因此,由调度程序212控制与各个程序相关的执行的启动/中断/结束等。
在图5中,现场网络控制器140(见图2)接收运动控制输入数据,并且将运动控制输入数据存储至主存储器104的现场网络接收缓冲器(未示出)中,和/或以从从动(装置)到OI 701的输入(IN)为基础,PLC系统总线控制器120接收运动控制输入数据,并且将运动控制输入数据存储至主存储器104的PLC系统总线接收缓冲器(未示出)中。CPU单元13被设置为主动(装置),并且除了CPU单元13之外的各个单元被设置为从动(装置)。
按照IO处理程序218的指令,输出激活命令数据或运动命令值数据。更具体地,存储在主存储器104的控制程序的工作区(未示出)中的激活命令数据和运动命令值数据被转移至主存储器104的现场网络传输缓冲器(未示出)。跟随数据转移至现场网络传输缓冲器,现场网络控制器140将激活命令数据或运动命令值数据传输给伺服马达驱动器3。
在从从动(装置)到OI 701的输入(IN)中,还输入用于用户程序236中的计算而不用于运动计算程序234中的计算的输入数据。另外,即使由用户程序236的执行所生成的用户程序输出数据是不用于运动计算程序234中的计算的输出数据,用户程序输出数据也被传输至IO处理程序218并且在OI的处理期间输出。
根据本实施例的“运动控制周期”是运动计算程序234的执行与通信的周期,就是说,是在运动命令值数据被提供给伺服马达驱动器3的周期中执行的一系列处理的周期。
<E.电子CAM>
下面将电子CAM操作描述为同步控制的功能。“同步控制”是指控制从轴(控制目标轴)的位置与主轴(输入轴)的位置同步。用于全闭环控制的编码器的位置、伺服驱动器和虚拟伺服驱动器的命令位置、以及编码器、伺服驱动器和虚拟伺服驱动器的反馈位置中的一个可以被指定为主轴。“电子CAM操作”是指根据由CAM表设置的CAM图案(pattern),在控制周期处执行CAM操作的功能。“CAM表”是其中电子CAM的从轴的位移每个都与电子CAM的主轴的相位相关联的结构数组。
由于CPU单元13通过计算来控制输出同步于每个控制周期的输入,所以计算结果可以大于最高速度,该最高速度可以用运动控制功能模块输出。然而,在这种情况下,CPU单元13在最高速度处执行输出,而不将它考虑为错误。CPU单元13将由在最高速度处的饱和导致的缺少移动量分配并输出给下一个控制周期以及其后。
图7是示出电子CAM的功能轮廓的视图。参照图7,电子CAM 500包括CAM计算程序501、内插程序502、以及开关单元503。应当注意的是,电子CAM 500由CPU单元13以及由CPU单元13执行的程序来实现。
CAM计算程序501与下述位置中的预选位置一起被输入:用于全闭环控制的编码器的位置、伺服驱动器和虚拟伺服驱动器的命令位置、以及编码器、伺服驱动器和虚拟伺服驱动器的反馈位置。
CAM计算程序501是被配置为使用CAM表来执行与和电子CAM的主轴的相位相关联的电子CAM的从轴的位移相对应的运动控制输出位置指令值的程序。具体地,CAM计算程序501以输入主轴的相位和CAM表为基础,将从轴的位移输出至内插程序502。内插程序502使用来自CAM计算程序501的输出值来执行内插处理。内插程序502通过开关单元503输出内插处理之后的值(指令位置)。
图8是可视地描述电子CAM 500的操作的视图。具体地,图8是表示基于CAM表的包括由CAM曲线表示的机械CAM 500A的CAM机构ME的视图。参照图8,CAM机构ME包括主轴400、机械CAM 500A、和从轴600。机械CAM 500A被固定到主轴400,并且随着主轴400的旋转而旋转。随着机械CAM 500A的旋转,从轴600执行线性运动。也就是说,在CAM机构ME中,当主轴的相位(输入)被改变时,从轴600位移(输出)。电子CAM500通过软件在CAM机构ME中实现输入/输出。
图9是示出电子CAM 500的CAM曲线510的视图。参照图9,在CAM曲线510中,随着相位从零增加,位移从零增加,并且位移在半个周期中的相位(180度)处到达峰部。此后,随着相位增大,位移减小,并且在一个周期中的相位(360度)处位移变为零。CAM曲线510仅是示例,并且在PLC系统SYS中使用的CAM曲线不限于此。
图10是示出与电子CAM 500相关联的系统配置的视图。图10是更具体地示出图7的电子CAM 500的视图,也是示出用于执行操作电子CAM的运动控制器的结构的视图。参照图10,与电子CAM 500相关联的系统是由CAM计算程序501、内插程序502、CAM表生成程序504、CAM定义变量存储程序505、主存储器104、非易失性存储器106、和用户程序236实现。在图10中,作为主轴命令位置,编码器位置被从编码器19输入至电子CAM 500。
参照图10,用户输入/输出装置21被连接到电子CAM 500(CPU单元13)。用户输入/输出装置21是例如平板电脑或个人计算机,以及是实际使用PLC 1的用户使用的装置。使用用户输入/输出装置21,用户可以确认PLC1的操作状态。例如,可以显示CAM曲线、CAM数据以及CAM定义变量。此外,使用用户输入/输出装置21,用户可以做成和编辑CAM定义变量,并且可以将CAM定义变量发送给电子CAM 500(CPU单元13)。例如,当产品的条件被改变时,使用用户输入/输出装置21,用户将新的CAM定义变量发送给电子CAM500(CPU单元13),以便改变CAM曲线。
应当注意的是,用户输入/输出装置21可以具有与PLC支撑装置8的功能相同的功能(稍后描述)。
参照图10,非易失性存储器106存储多个CAM表520、521和522。所存储的CAM表包括从外部输入装置(用户输入/输出装置21或PLC支撑装置8)发送的那些、或如后所述的由主存储器104做成并存储在非易失性存储器106中的那些、或两者。参照图10,非易失性存储器106存储多个CAM定义变量530、531和532。所存储的CAM定义变量包括从PLC支撑装置8发送的那些、或如后所述的用于做成CAM表的并存储在非易失性存储器106中的那些、或两者。CAM定义变量将在后面说明。
参照图10,主存储器104存储CAM表520。将在后面描述CAM表520的细节。应当注意的是,为了便于说明,CAM表520被称为“CAM表No.1”。
此外,参照图10,CAM定义变量530被存储在主存储器104中。经由非易失性存储器106或直接从用户输入/输出装置21或PLC支撑装置8,CAM定义变量530已经被存储到主存储器104。
应当注意的是,参照图10,虽然主存储器104存储一个CAM表和一个CAM定义变量,但是实际上也可能在主存储器中开发多个CAM表和多个CAM定义变量。
CAM表生成程序504是被配置为下述的程序:接收用于定义要由运动控制实现的电子CAM操作的CAM定义变量的输入;以及生成其中CAM表被存储作为与输入的CAM定义变量相对应的数组的CAM表。具体地,例如,基于存储在主存储器104中的CAM定义变量,CAM表生成程序504重写被存储在主存储器中的CAM表中的值,以在主存储器104中生成新的CAM表。更具体地,基于CAM定义变量,CAM表生成程序504输入新的数据至主存储器104中的CAM表(结构数组),以将CAM表重写为新的CAM表(后面详细描述)。
应当注意的是,因为对于将被重写的原始CAM表,在主存储器中,仅仅CAM表名被定义以及数组结构的存储器地址被确保是必要的,所以原始CAM表不必是具体的CAM表。换句话说,有可能重写在主存储器104中开发的当前用过的CAM表,并且也有可能生成新的CAM表,而不重写当前用过的CAM表。
在CAM表生成程序504被执行之后,例如,CAM定义变量存储程序505将输入的CAM定义变量存储至非易失性存储器106。此外,在这个时候,所生成的CAM表也被存储在非易失性存储器106中。因此,如图10所示,非易失性存储器106存储多个CAM表和多个CAM定义变量。应当注意的是,所生成的CAM表不必被存储在非易失性存储器106中。原因是,例如,只要CAM定义变量被存储,使用在PLC支撑装置中的CAM定义变量,就有可能重构CAM曲线。
此外,在这个存储操作中,CAM定义变量存储程序505将用于识别所生成的CAM表的信息添加至构成CAM定义变量的数据。以这种方式,由于被输入的CAM定义变量和用于识别CAM表的信息被彼此相关联并且被存储在非易失性存储器106中,所以在需要时能够将对应于当前操作CAM表的CAM定义变量上传到外部装置,并且基于CAM定义变量在外部装置中生成CAM曲线。其结果,有可能在外部装置中确认对应于生成的CAM表的CAM曲线。尤其是,在本实施例中,非常有利的是,CAM曲线能够在与用于输入CAM定义变量的装置不同的装置中被确认。例如,即使是用户输入/输出装置21输入了CAM定义变量,仍然有可能在PLC支撑装置8中确认CAM曲线。如果用于将CAM定义变量与用于识别CAM表的信息相关联的信息被从用户输入/输出装置21或PLC支撑装置8存储至非易失性存储器106中,那么将由CAM定义变量存储程序505生成的用于识别CAM表的信息添加至用于构成CAM定义变量的数据中的处理可以被省略。
应当注意的是,CAM计算程序501、内插程序502、CAM表生成程序504、以及CAM定义变量存储程序505被包括在系统程序210的运动计算程序234中。
图11是示出与CAM数据相关的结构数组的视图。参照图11,结构数组519是在主存储器104中用于管理存储在非易失性存储器106中的CAM表520的结构数组。在结构数组509中,CAM表标识符、索引以及相位的值(或位移的值)彼此相关联。例如,结构数组519的第一描述表示在CAM表No.1(即,CAM表520)中的索引是指第一相位是“0.0”。
图12是示出CAM表的数据结构的视图。参照图12,CAM表520是其中电子CAM的从属的位移与电子CAM的主轴的每个相位相关联的数据。即,CAM表520是离散的数据。当使用CAM表520中的数据来进行线性内插时,得到图9所示的CAM曲线510。通过图7的内插程序502实现线性内插。
在CAM表520中,通过将相位分割为CAM数据的最大数目,可以描述0度至360度的相位。在CAM表520中,由0.1度来描述相位。“CAM数据”是包括一个位移和一个相位的数据。即,CAM表520包括多个CAM数据。位移δ的单位是例如“毫米”。
此外,其中在CAM表中相位和位移的各个值为零的第一CAM数据是CAM表的起始点。这个点被定义为索引No.0。在相位和位移的各个值下次变为零的点之前一个(即之上一个)的CAM数据是CAM表的终止点。即,有效的CAM数据是从CAM表的起始点到CAM表的终止点(在0度至360度的相位范围中的数据)。“有效的CAM数据”是影响电子CAM的操作的CAM数据。作为CAM数据的标识符的索引的数目被提供给有效的CAM数据。索引的数目在CAM表中以升序给出。
在CAM表的终止点之后(即,之下)的CAM数据是不影响电子CAM的操作的CAM数据(即无效的CAM数据)。在无效的CAM数据中,相位和位移两者不需要都为零。无效CAM数据的数目由CAM表编辑软件指定。
图13是描述CAM表的重写处理的视图。具体而言,图13是描述其中在CPU单元13基于之前的CAM表而正在执行处理时CPU单元13改变CAM表的内容(CAM数据)的处理的视图。
图13(a)是表示基于变化前的CAM表的CAM曲线510以及基于变化后的CAM曲线560的视图。图13(b)是描述生成CAM表之前和之后的电子CAM的操作的视图。
参照图13(a),在CAM曲线510中相位θa处的位移是δ1,在CAM曲线560中相位θa处的位移是δ2(δ2>δ1)。
参照图13(b),当接收到用于改变与相位θa相关联的时间点处的位移的命令时,CPU单元13在下一个控制周期以及其后,使用CAM曲线560,操作待控制的从轴。更具体地,CPU单元13从处于CAM曲线560的相位θa附近的相位θb(θb>θa)起,继续CAM操作。特别地,当执行CAM表的重写过程时,CPU单元13使用新CAM表,在曲线(更精确地,直线集合体)的生成时刻,从CAM表中的相位起,开始控制,以便具有与重写之前的CAM表中的相位的连续性。
因此,在图13(b)所示的切换中,作为命令值的位移δ的值在相位θa的时间点处从δ1急剧变化为δ2。在这种情况下,可以根据需要执行平滑处理。
图14是示出用于生成CAM表的程序的流程图。
根据下述流程图,如果微处理器100接收到CAM定义变量的输入,那么微处理器100执行CAM表生成程序504以生成CAM表,并且将所生成的CAM表存储到主存储器104。此外,微处理器100使用所生成的CAM表,执行CAM计算程序501以执行电子CAM操作。
具体地,参照图14,例如,在步骤S102中,微处理器100确定其是否已经从用户输入/输出装置21中接收到在多个电子CAM中将被改变的CAM表的指定。
如果确定没有接收到指定(步骤S102中的否),那么微处理器100使处理进入步骤S110。如果确定已经接收到指定(步骤S102中的是),那么例如,在步骤S104,微处理器100确定其是否已经从用户输入/输出装置21中接收到CAM表生成命令和CAM定义变量的输入。应当注意的是,当被输入时,CAM定义变量被存储到非易失性存储器106,然后被复制到主存储器104或者被直接存储到主存储器104。
如果确定微处理器100没有接收到CAM表生成命令和CAM定义变量(步骤S104中的否),那么微处理器100使处理进入到步骤S110。如果确定微处理器100已经接收到CAM表生成命令和CAM定义变量(步骤S104中的是),那么基于在步骤S106中的输入CAM定义变量,微处理器100执行CAM表生成程序504,以生成要被用于指定的电子CAM(例如,电子CAM NO.1)的CAM表。其结果是,新的CAM表被存储到主存储器104。
此外,这时,微处理器100执行CAM定义变量存储程序505,以将主存储器104中的CAM定义变量存储至非易失性存储器106。
在步骤S108中,微处理器100使用已生成的CAM数据来执行CAM计算程序501以执行运动控制。在步骤S110中,微处理器100确定是否已经完成使用指定的电子CAM的控制。如果确定控制结束(步骤S108中的是),那么微处理器100结束该系列处理。如果确定控制未结束(步骤S108中的否),那么微处理器100使处理进入步骤S102。
如上所述,因为是CPU单元13的微处理器100生成CAM表,所以没有必要使用专用的设置工具用于生成CAM表(例如,在本实施例中的PLC支撑装置8)。其结果是,生成CAM表容易。
图15是示出执行系统服务SC的时序的视图。如上所述,运动控制功能模块是在高优先级固定周期任务中执行。系统服务SC是在包括高优先级固定周期任务的固定周期任务结束之后的闲暇时间中执行。
系统服务SC在固定周期任务之后的闲暇时间中执行,将被执行的处理可以是不直接与将信息输出到轴并且从轴获得信息相关的处理。电子CAM(稍后描述)和CAM表生成命令(稍后描述)的计算处理可以在系统服务SC中执行。在CAM表生成命令的计算处理是在系统服务SC中执行的情况下,因为CAM表生成命令的计算处理是在固定周期任务之后的闲暇时间中执行,所以获得其中计算负荷不影响固定周期任务和操作的有益效果。此外,系统程序210控制CAM表生成程序的计算处理是在高优先级固定周期任务中执行还是在系统服务SC中执行。
<F.支撑装置>
现在将描述用于创建将由PLC 1执行的程序的、用于执行PLC 1的维护等的PLC支撑装置8。
图16是示出根据本发明的实施例,当被连接至CPU单元时要被使用的PLC支撑装置8的硬件配置的示意图。参照图16,PLC支撑装置8典型地是通用计算机。从维护的角度来看,便于携带的笔记本个人电脑是可优选的。
参照图16,PLC支撑装置8包括:用于执行包括OS的各种类型的程序的CPU 81、用于存储BIOS和各种类型的数据的ROM(只读存储器)82、用于提供在CPU 81中执行程序所必需的数据的工作区的存储器RAM83、以及用于以非易失性方式存储由CPU81执行的程序的硬盘驱动器(HDD)84等。
PLC支撑装置8还包括用于接收来自用户的操作的键盘85和鼠标86、以及用于将信息呈现给用户的显示器87。PLC支撑装置8还包括用于与PLC1(CPU单元13)通信的通信接口(IF)等。
如下文将描述的,由PLC支撑装置8执行的各种类型的程序被分散,同时被存储在CD-ROM9中。存储在CD-ROM9中的程序由CD-ROM(压缩盘-只读存储器)驱动器88读取,并且存储到硬盘驱动器(HDD)84等中。可替代地,程序可以通过网络从较高等级的主计算机等中下载。
图17是示出在CPU单元和PLC支撑装置中的数据处理的示意图。参照图17,PLC支撑装置8包括编辑器处理单元91、显示器87、存储单元93、以及变量存储单元94。
编辑处理单元91具有显示和编辑由CAM数据95构成的CAM曲线的功能。显示器87能够显示诸如CAM数据和CAM曲线的各种数据。存储单元93被配置为存储CAM数据95和CAM轮廓(profile)96。变量存储单元94被配置为存储CAM数据变量97(由CAM表的CAM数据构成的变量)和CAM定义变量98。
编辑器处理单元91具有读出存储在存储单元93中的CAM数据95、做成CAM轮廓96以及然后在显示器87上显示图形的功能。编辑器处理单元91具有基于CAM数据95生成CAM数据变量97、并且将CAM数据变量97存储到变量存储单元94的功能。编辑器处理单元91具有生成CAM定义变量98、并且当CAM数据变量97被形成时将生成的CAM定义变量98存储到变量存储单元94的功能。由上述存储器RAM 83、硬盘驱动器(HDD)84等实现存储单元93和变量存储单元94。
此外,编辑器处理单元91具有基于存储在变量存储单元94中的CAM定义变量98生成(重新构建)CAM数据95或CAM曲线、以及将其显示在显示器87上的功能。
如上所述,已经被用于生成CPU单元13的微处理器100的主存储器104中的CAM表520的CAM定义变量98被存储在非易失性存储器106中。如果支撑管理者操作PLC支撑装置8,那么这个CAM定义变量98将被从CPU单元13下载到PLC支撑装置8,并且将被存储到变量存储单元94。例如,使用所存储的CAM定义变量98,编辑器处理单元91可以重新构建在PLC支撑装置中的修改后CAM数据95和CAM曲线,并且可以将CAM曲线显示在显示器87上。
支撑管理者使用PLC支撑装置8,可以容易地改变电子CAM操作。例如,支撑管理者将用于识别将要被改变的电子CAM的信息下载至CPU单元13。此外,用户将与要被生成的CAM表对应的CAM生成指令和CAM定义变量98下载至CPU单元13。其结果是,CAM表520在CPU单元13中生成,并且基于CAM表520来执行电子CAM操作。PLC支撑装置8可以指定存储在CPU单元13中的多个CAM定义变量之中的具体CAM定义变量,并且可以将CAM定义变量的值直接写入主存储器104。
使用用户输入/输出装置21,用户可以容易地改变电子CAM操作。例如,用户将用于识别将要被改变的电子CAM的信息下载至CPU单元13。此外,用户将与要被生成的CAM表对应的CAM生成指令和CAM定义变量下载至CPU单元13。其结果是,CAM表520在CPU单元13中生成,并且基于生成的CAM表520来执行电子CAM操作。
在如上所述由用户改变电子CAM操作的情况下,希望或要求支撑管理者使用PLC支撑装置8来确认改变后的电子CAM的曲线(例如,在操作期间的一个)。在这种情况下,支撑管理者使用PLC支承装置8,从CPU单元13的非易失性存储器106上传用于改变电子CAM操作的CAM定义变量。然后,基于上传的CAM定义变量,支撑管理者使用PLC支承装置8的编辑器处理单元91重新构建CAM数据或CAM曲线,并把它显示在显示器87上,打印它,或编辑它。
由于用于改变电子CAM操作的CAM定义变量与生成的CAM表相关联,并且被存储在CPU单元13中,所以PLC支撑装置8能够指定在被存储的多个CAM定义变量之中与现在被用于操作的CAM表对应的CAM定义变量,并且可以直接从主存储器104读出CAM定义变量的值。此外,PLC支撑装置8可以从CPU单元13读出在过去用于改变电子CAM操作的CAM定义变量。
<G.用于实现CAM表生成程序的控制指令的细节>
图18是示出用于实现CAM表生成程序的控制指令的概要的图表。控制指令FB 800对应于图6中的控制指令FB 711和控制指令FB721,722。控制指令FB 800的名称是MC_GenerateCamTable(CAM表生成),其包括作为输入变量的执行(致动)、作为输出变量的完成(结束)、终点索引(终点索引)、忙(正在被执行),命令中止(执行中断)、错误(错误)、错误ID(错误代码)、错误参数代码(参数详细代码)、错误节点点索引(结点点元素数目)。在致动的时刻,执行(激活)启动指令。当指令的执行结束时,完成(结束)成为真(1)。当指令的执行结束时,终点索引(终点索引)输出终点索引。
MC_GenerateCamTable(CAM表生成)包括作为输入/输出变量的CamTable(CAM表)、CamProperty(CAM属性)、和CamNodes(CAM节点)。CamProperty(CAM属性)和CamNodes(CAM节点)是上述CAM定义变量。
CamTable(CAM表)由结构数组定义,如上所述。
CamProperty(CAM属性)由数组变量定义,以及元素的值对应于在CAM轮廓曲线设置中的“属性设置”的一部分。CamProperty(CAM属性)包括作为成员变量的InitVel(起始节点点的初始速度)、InitAcc(起始节点点的初始加速度)、以及CycleTime(周期时间,其是CAM操作的一个周期所必需的时间)。
CamNodes(CAM节点)由数组变量定义,并且数组对应于CAM轮廓曲线设置中的“结点点”。CamNodes(CAM节点)作为成员变量包括相位(主轴相位,其指定节点点的主轴相位的值)、距离(从轴位移,其指定节点点的从轴位移的值)以及曲线(曲线形状,其成形为CAM曲线到节点点)。
应当注意的是,CamProperty(CAM属性)和CamNodes(CAM节点)的参数对应于在编辑器处理单元91中的CAM轮廓曲线设置的项目(图17)。
图19是示出控制指令的执行图像的图表。参照图19,控制指令FB 800在执行(Execute)(致动)的激活下,根据被指定为输入/输出变量的CAM定义变量98的CamProperty 98a(CAM属性)和CamNodes 98b(CAM节点)的值通过计算来生成CAM数据,并且使用生成的CAM数据,重写指定的CAM表520(其已经从非易失性存储器106开发到主存储器104),从而生成新的CAM表520A。当CAM表的生成(重写)完成时,控制指令FB 800更新CAM表的结束点索引,并且将这些值作为输出变量输出至EndPointIndex(终点索引),从而完成指令的执行。
<H.CAM表生成的控制流的细节>
参照图20至图22,将描述控制指令FB 800的控制流的细节
图20是示出控制指令的控制程序的流程图,并且示出了当微处理器100执行控制指令FB 800时的流程。
微处理器100计算节点点的数目(对于CamNode的有效节点点的数目)(步骤S200)。
微处理器100分配0到变量n,并且分配0至变量x(步骤S204)。变量n是节点数目。
微处理器100确定变量n是否小于节点点的数目(步骤S206)。如果确定它是较小的(步骤S206中的是),那么微处理器100使处理进入步骤S208。如果确定它不是较小的(步骤S206中的否),那么因为这意味着该处理在所有的节点点处已经完成,所以整个处理结束。
在每个节点点处,微处理器100得到相位间距Pn、位移间距Hn、周期时间Tn_cycle以及数据样本的数目N_Pn(步骤S208)。
在节点点处,微处理器100计算CAM曲线的值,并且更新存储器中的值(步骤S210)。将在后面详细描述步骤S210的细节。
微处理器100使变量n递增(步骤S212)。在此之后,处理返回到步骤S206。
步骤208和步骤S209的循环被重复与节点点的数目一样多的次数,因此,作为CAM数据的CAM的数据值被输入到样本点,即,从节点点的起始点到结束点的点。
接着,将参照图21和图22描述图20中的步骤S210的细节。图21是示出用于计算CAM曲线以及用于将值更新到存储器中的程序的流程图。图22是用于解释CAM表生成的图表(CAM曲线)。
应当注意,图22的图表中的每个参考符号的意思如下。
Ps_n:第n个节点点的相位开始点(n是整数,它可以是一或更大。同样适用于下文)。
Pe_n:第n个节点点的相位结束点
Hs_n:第n个节点点的位移开始点
He_n:第n个节点点的位移终点
N:节点点的最大数目
Tcycle:一个周期的时间(秒)
微处理器100将零输入至变量m(步骤S214)。变量m是样本的数目。
微处理器100确定变量m是否小于数据样本N_Pn的数目(步骤S216)。应该注意,可以从下面的公式得到数据样本N_Pn的数目。
N_Pn=Pn/ΔPn(ΔPn:在第n个节点点中的相位步长)
如果确定是较小的(步骤S216中的是),那么微处理器100使处理进入步骤S218。并且如果确定它不是较小的(步骤S216中的否),那么微处理器100结束处理。
微处理器100取得相对相位Pn(m)和相对位移Hn(m)(步骤S218)。
首先,将描述从节点点中的相位开始点得到相对相位,即相对相位Pn(m)。如果Ps_n<P<=Pe_n,那么由下式可以获得距Ps_n的第m个样本点的相对相位Pn(m)。
Pn(m)=ΔPn×m(在m<N_Pn的情况下)
Pn(m)=Pn(在m=N_Pn的情况下)
接着,将描述获得相对位移Hn(m),即,距节点点的位移开始点的相对位移。具体地,微处理器100使用指定的CAM属性曲线公式,获得距节点点的位移开始点的相对位移。如果Ps_n<P<=Pe_n,那么由下式可以获得距Ps_n的第m个样本点的相对位移Hn(m)。
Hn(m)=Hn×f(T)
T=(ΔPn/Pn)×m(在m<N_Pn的情况下)
T=1(在m=N_Pn的情况下)
f()和T如下:
f():设置在节点点处的CAM表计算公式
T:将分配给CAM属性曲线公式(0~1)的时间
微处理器100分别将Pn(m)和Hn(m)转换为在整个CAM表中的相位P(X)和位移H(X)(步骤S220)。
微处理器100分别将P(X)和H(X)作为CAM数据的值写入CAM表的存储器中的第X个相位和位移(步骤S222)。
微处理器100使变量m和变量X递增(步骤S224)。
上述经过步骤S222的步骤S218的循环被重复和样本的数目一样多的次数,所以在一个节点点上,值被输入作为多个CAM数据。
<I.当控制指令FB被执行时CAM数据中的变化的细节>
以下,参照图23至图29,将描述在CAM表生成期间CAM数据中的变化的细节。图23至图29示出用于表示CAM节点的值的表,以及用于表示在CAM表生成期间被顺序重写的CAM表的值的表。
在这个示例中,基于图23的右侧上的CamNodes(CAM节点)的值,微处理器100生成在图23的左侧上的CamTable(Cam表)的CAM数据,用于重写。在以下描述中,为了更容易理解,假定CAM曲线的形状是直的。因此,作为CAM定义变量,没有使用CamProperty(CAM属性),并且仅使用CamNodes(CAM节点)。
在这个示例中,CamNodes(CAM节点)的数组元素的数目是四个或更多,CamTable(CAM表)的数组元素的数目为4000。CamTable(CAM表)的所有相位和位移被设置为未定义值。
参照图24,微处理器100使得在CamTable(CAM表)的数组编号0中的相位与位移为零。
微处理器100获得CamNodes(CAM节点)中第一数组编号的节点点的值。此外,基于所述参数,微处理器100计算从开始节点点到下一节点点的CAM数据的样本数、它的相位、以及它的位移(对应于图20中的步骤S208)。然后,微处理器100从数组编号1起,将CamTable(CAM表)的值重写与样本的数目一样多的次数(对应于图20中的步骤S210以及图21中的步骤S214至步骤S224)。参照图25,从数组编号1到1800的CAM数据的1800个点已经被重写。
如上所述,微处理器100计算在数组编号0与数组编号1的节点点之间的CAM数据的样本数、相位、和位移(对应于图20中的步骤S208),并且重写CamTable(CAM表)的值(对应于图20中的步骤S210以及图21中的步骤S214至步骤S224)。只要节点点仍然有效,就重复这个过程。参考图26,微处理器100已经得到CamNodes(CAM节点)中的数组编号1的节点点的值,并且从数组编号1801至3600的CAM数据的1800个点已经被重写。
参考图27,CamNodes(CAM节点)中的数组编号2是无效的节点点,所以微处理器100结束计算CAM数据(步骤S206中的否)。微处理器100使得跟随最后被写入的数组编号的那些的CAM数据的相位为零,以便显示他们是无效的。
如果没有其中相位的值变为零的无效节点点,并且CamNodes(CAM节点)的数组结束,那么微处理器100使得相位也为零。图28示出CamNodes(CAM节点)的数组元素编号是2并且在CAM数据中没有无效节点点的情况。
然而,如果没有零将被写入的具有相位的CamTable(CAM表)的数组元素,那么零不被写入相位。在图28的示例中,所生成的CAM数据的总数和CamTable(CAM表)的数组元素编号的每一个是3601。
微处理器100使用最后写入的有效CAM数据的数组编号的值,更新CAM表的终点索引。然后,控制指令FB 800将值输出到EndPointIndex(终点索引)。参照图29,终点指数为3600。因此,指令的执行完成。
<J2.通过控制装置的处理的总结>
控制装置(例如,图1中的CPU单元13)被配置为执行运动控制和顺序控制。控制装置包括处理器(例如,图2中的微处理器100)、以及存储单元(例如,图10中的主存储器104)。存储单元被配置为存储CAM计算程序(例如,图10中的CAM计算程序501),以及CAM表(例如,图10中的CAM表520)。所述CAM计算程序被配置为使用CAM表来执行运动控制,所述运动控制输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM(例如,图10中的电子CAM)的所述从轴的所述位移相对应的位置指令值,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位关联的数组。
所述存储单元被配置为还存储CAM表生成程序(例如,图10中的CAM表生成程序504),所述CAM表生成程序被配置为接收用于定义将要通过所述运动控制来实现的电子CAM操作的CAM定义变量(例如,图17中的CAM定义变量,图18中的CamNodes(CAM节点)、CamProperty(CAM属性))的输入,并且被配置为生成CAM表,该CAM表是与所述被输入的CAM定义变量对应的CAM曲线的数组。
所述处理器使用所述CAM表(例如,图14中的步骤S108)来执行所述CAM计算程序,并且执行所述运动控制。另外,所述处理器接收所述CAM定义变量的所述输入(例如,图14中步骤S104的是)、执行所述CAM表生成程序以生成所述CAM表(例如,图14中的步骤S106)、以及将所述生成的CAM表存储至所述存储单元。
根据这个控制装置,处理器使用CAM表来执行CAM计算程序,由此执行用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值的运动控制(例如,图14中的步骤S108)。另外,如果CAM定义变量被输入,那么处理器执行CAM表生成程序以生成CAM表(例如,图14中的步骤S106)。
如上所述,因为是控制装置的处理器生成CAM表,所以没有必要使用用于改变CAM表的专用设置工具(例如,图1中的PLC支撑装置8)。其结果是,改变CAM表变得容易。
所述存储单元可以被配置为还存储CAM定义变量存储程序(例如,图10中的CAM定义变量存储程序)。所述CAM定义变量存储程序被配置为将被输入的CAM定义变量和用于识别通过执行所述CAM表生成程序生成的所述CAM表的信息存储至所述存储单元,同时,将被输入的CAM定义变量与用于识别所述CAM表的所述信息相关联。
根据这个控制装置,因为被输入的CAM定义变量和用于识别CAM表的信息彼此相关联且被存储在存储单元中,所以有可能取出对外部装置(例如,图1中的PLC支撑装置8)是必要的对应于当前操作CAM表的CAM定义变量,并且在外部装置中基于CAM定义变量来生成CAM曲线。其结果是,有可能在外部装置中确认对应于已经被改变的CAM表的CAM曲线。
<K.其它实施例>
本发明的上述一个实施例,但本发明并不限于该实施例,以及各种修改可以是有效的,而不脱离本发明的精神和范围。特别地,在本说明书中写入的多个实施例和修改示例可以根据需要而被任意组合。
<L.本发明的概要>
这里所公开的实施例在各个方面是说明性的,而不应被认为是限制性的。本发明的范围由权利要求而不是上面所做的描述定义,并且等同于权利要求的含义和范围内的所有修改旨在被本文包围。
[工业可用性]
本发明可以广泛地应用于控制装置、用于控制装置的输出控制方法、以及程序。
附图符号说明
1:PLC装置
3:伺服马达驱动器
4:伺服马达
8:PLC支撑装置
13:CPU单元
21:用户输入/输出装置
91:编辑器处理单元
104:主存储器
106:非易失性存储器
500:电子CAM
501:CAM计算程序
504:CAM表生成程序
505:CAM定义变量存储程序
520:CAM表
800:控制指令FB

Claims (7)

1.一种控制装置,被配置为执行运动控制和顺序控制,所述控制装置包括:
处理器;以及
存储单元,被配置为存储CAM计算程序,所述CAM计算程序被配置为使用CAM表来执行运动控制,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位关联的数组,所述运动控制用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值,以及被配置为存储所述CAM表,其中
所述存储单元被配置为还存储CAM表生成程序,所述CAM表生成程序被配置为接收用于定义将要通过所述运动控制实现的电子CAM操作的CAM定义变量的输入,并且被配置为生成其中CAM曲线被存储为与被输入的CAM定义变量对应的数组的CAM表,
所述处理器被配置为使用所述CAM表来执行所述CAM计算程序,并且被配置为执行所述运动控制,并且
所述处理器还被配置为接收所述CAM定义变量的所述输入、通过执行所述CAM表生成程序来生成所述CAM表、以及将生成的CAM表存储至所述存储单元。
2.根据权利要求1所述的控制装置,其中所述存储单元被配置为还存储CAM定义变量存储程序,所述CAM定义变量存储程序被配置为将所述CAM定义变量和用于识别通过执行所述CAM表生成程序生成的所述CAM表的信息存储至所述存储单元,同时,将被输入的CAM定义变量与用于识别所述CAM表的所述信息相关联。
3.根据权利要求1或2所述的控制装置,其中所述运动控制的任务调度的一个周期包括固定周期任务和系统服务,所述系统服务在除了所述固定周期任务的闲暇时间中执行,并且
通过所述CAM表生成程序的计算处理的时序被分配给所述固定周期任务。
4.根据权利要求1或2所述的控制装置,其中所述运动控制的任务调度的一个周期包括固定周期任务和系统服务,所述系统服务在除了所述固定周期任务的闲暇时间中执行,并且
通过所述CAM表生成程序的计算处理的时序被分配给所述系统服务。
5.一种控制系统,包括:
根据权利要求1的控制装置;以及
输入装置,被配置为将数据输入至所述控制装置,并且将把CAM定义变量与用于识别所述CAM表的信息相关联的信息发送至所述控制装置。
6.一种输出控制方法,用于被配置为执行运动控制和顺序控制的控制装置,
所述控制装置包括处理器和存储单元,
所述输出控制方法包括所述步骤:
所述处理器执行CAM计算程序,以使用CAM表来执行运动控制,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位关联的数组,所述运动控制用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值;
所述处理器接收用于定义将要通过所述运动控制实现的电子CAM操作的CAM定义变量的输入,并且生成其中对应于被输入的CAM定义变量来排列CAM曲线的CAM表;以及
所述处理器将生成的CAM表存储至所述存储单元。
7.一种程序,用于控制被配置为执行运动控制和顺序控制的控制装置,
所述控制装置包括处理器和存储单元,
所述程序使得所述处理器执行下述步骤:
执行CAM计算程序,以使用CAM表来执行运动控制,所述CAM表是其中电子CAM的从轴的每个位移与所述电子CAM的主轴的相位关联的数组,所述运动控制用于输出与和所述电子CAM的所述主轴的所述相位关联的所述电子CAM的所述从轴的所述位移相对应的位置指令值;
接收用于定义将要通过所述运动控制实现的电子CAM操作的CAM定义变量的输入,并且生成其中对应于被输入的CAM定义变量来排列CAM曲线的CAM表;以及
将生成的CAM表存储至所述存储单元。
CN201410802131.1A 2013-12-20 2014-12-19 控制单元、输出控制方法和程序 Pending CN104731022A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13382537.2A EP2887165A1 (en) 2013-12-20 2013-12-20 Computation unit, output control method, and program
EP13382537.2 2013-12-20

Publications (1)

Publication Number Publication Date
CN104731022A true CN104731022A (zh) 2015-06-24

Family

ID=50064352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410802131.1A Pending CN104731022A (zh) 2013-12-20 2014-12-19 控制单元、输出控制方法和程序

Country Status (4)

Country Link
US (1) US9753447B2 (zh)
EP (1) EP2887165A1 (zh)
JP (1) JP6409557B2 (zh)
CN (1) CN104731022A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506018A (zh) * 2019-01-30 2020-08-07 西门子股份公司 机床的控制

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
CN105182942B (zh) * 2015-09-25 2017-12-08 汕头市东方科技有限公司 一种基于伺服的主从位置同步控制系统及方法
JP6262706B2 (ja) * 2015-11-25 2018-01-17 ファナック株式会社 カム形状データ作成装置及び同期制御装置
JP2017102509A (ja) * 2015-11-30 2017-06-08 ファナック株式会社 カムデータ表示装置
JP6441257B2 (ja) * 2016-04-28 2018-12-19 ファナック株式会社 数値制御装置および同期追従制御方法
JP6919404B2 (ja) * 2017-08-10 2021-08-18 オムロン株式会社 制御装置
JP6939832B2 (ja) * 2019-03-15 2021-09-22 オムロン株式会社 制御装置
WO2022118707A1 (ja) * 2020-12-03 2022-06-09 パナソニックIpマネジメント株式会社 カム曲線生成装置、カム曲線生成方法、および、プログラム
CN113703390B (zh) * 2021-09-03 2022-11-29 扬州大祺自动化技术有限公司 基于电子凸轮控制器的多台压力机同步方法及预调节方法
CN113984424B (zh) * 2021-11-08 2023-10-27 深圳市汇川技术股份有限公司 电子凸轮功能应用的诊断方法、装置、设备及存储介质
CN115647480A (zh) * 2022-09-23 2023-01-31 无锡先导智能装备股份有限公司 一种飞切控制方法、装置、电子设备及存储介质
CN115685871B (zh) * 2022-10-31 2024-08-16 深圳市汇川技术股份有限公司 控制方法、凸轮表生成设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP4973792B1 (ja) * 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3477792B2 (ja) * 1994-03-04 2003-12-10 三菱電機株式会社 モーション制御装置
US6442442B1 (en) * 1999-09-30 2002-08-27 Rockwell Automation Technologies, Inc. System level data flow programming interface for a multi-axis industrial control system
JP3492583B2 (ja) * 2000-03-27 2004-02-03 ファナック株式会社 サーボ制御装置
JP3665008B2 (ja) * 2001-10-25 2005-06-29 ファナック株式会社 同期制御方法及び同期制御装置
KR100413528B1 (ko) * 2001-11-30 2004-01-03 한국전자통신연구원 Lpm 기반 cam의 룩업 테이블 관리 방법, 장치 및 그기록매체
US7096076B2 (en) * 2002-06-19 2006-08-22 Rockwell Automation Technologies, Inc. Output cam system and method
JP2007140655A (ja) * 2005-11-15 2007-06-07 Yaskawa Electric Corp モーションコントローラ
WO2010045125A1 (en) * 2008-10-14 2010-04-22 Dolby Laboratories Licensing Corporation Efficient computation of driving signals for devices with non-linear response curves
US8438330B2 (en) * 2010-05-17 2013-05-07 Netlogic Microsystems, Inc. Updating cam arrays using prefix length distribution prediction
US8626795B2 (en) * 2010-11-05 2014-01-07 Apple Inc. Dynamic data association
JP5803337B2 (ja) 2011-06-28 2015-11-04 オムロン株式会社 同期制御装置、同期制御方法、同期制御プログラム、および同期制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5879800B2 (ja) * 2011-08-03 2016-03-08 オムロン株式会社 同期制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP4973792B1 (ja) * 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
WO2012124143A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 演算ユニット、支援装置、出力制御方法、表示制御方法、およびプログラム
CN103403630A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 运算单元、输出控制方法和程序
CN103403632A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506018A (zh) * 2019-01-30 2020-08-07 西门子股份公司 机床的控制

Also Published As

Publication number Publication date
JP6409557B2 (ja) 2018-10-24
EP2887165A1 (en) 2015-06-24
US20150177723A1 (en) 2015-06-25
JP2015122077A (ja) 2015-07-02
US9753447B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
CN104731022A (zh) 控制单元、输出控制方法和程序
Martinov et al. From classic CNC systems to cloud-based technology and back
US9971914B2 (en) Industrial simulation using redirected I/O module configurations
CN103403632B (zh) 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序
CN103403630B (zh) 运算单元、输出控制方法和程序
Minhat et al. A novel open CNC architecture based on STEP-NC data model and IEC 61499 function blocks
US6757568B2 (en) Automation system for merging automation components
US6865441B2 (en) Parallel trajectory generation, interpolation, and control in a motion control application
JP6299064B2 (ja) 制御装置、制御方法、およびプログラム
CN110480658A (zh) 一种融合视觉自标定的六轴机器人控制系统
JP2019057253A (ja) 制御装置、制御方法およびサポート装置
JP5291727B2 (ja) 多軸同期動作機械のプログラム変換モジュール及びプログラム変換方法
CN101699361B (zh) 一种标准化控制机
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
US9563181B2 (en) Method for operating an automation system
WO2012124145A1 (ja) 演算ユニット、支援装置、支援プログラム、支援プログラムを格納した記憶媒体、および、支援装置における動作方法
EP4036670A1 (en) Control device
JP2011062798A (ja) ロボット制御装置およびロボット制御方法
Strasser et al. An IEC 61499 distributed control concept for reconfigurable robots
Scott Learning RSLogix 5000 Programming: Build robust PLC solutions with ControlLogix, CompactLogix, and Studio 5000/RSLogix 5000
Perez Inturias et al. Virtual Model of a Robotic Arm Digital Twin with MuJoCo
Blesa et al. Function blocks for the design of control applications based on EtherCAT fieldbus
Magnabosco Universitat Politecnica de Catalunya
Magnabosco Controllo di robot omnidirezionale tramite Ethercat

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150624