CN103403632B - 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序 - Google Patents
运算单元、辅助装置、输出控制方法、显示控制方法、以及程序 Download PDFInfo
- Publication number
- CN103403632B CN103403632B CN201180068884.9A CN201180068884A CN103403632B CN 103403632 B CN103403632 B CN 103403632B CN 201180068884 A CN201180068884 A CN 201180068884A CN 103403632 B CN103403632 B CN 103403632B
- Authority
- CN
- China
- Prior art keywords
- cam
- program
- phase place
- cam table
- action
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36171—Edit velocity, motion profile, graphic plot of speed as function of time, position
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42189—Motion look up table as function of cam angle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43174—Simulating cam motion mechanism
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50233—Synchonize time-dependent with electronic cam data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Control Of Position Or Direction (AREA)
Abstract
PLC的CPU单元执行动作控制以及时序控制。CPU单元存储用于进行使用凸轮表的动作控制的控制程序以及凸轮表。微处理器接受到用于变更多个相位中的某一个相位以及与该相位对应的位移中的至少一个的命令后,将凸轮表中的该相位以及位移中的至少一个变更为基于该命令的值。微处理器在进行上述变更后,使用变更后的凸轮表来执行控制程序,向控制对象设备输出该执行结果。
Description
技术领域
本发明涉及可编程逻辑控制器的运算单元、辅助装置、输出控制方法、显示控制方法以及程序,尤其涉及执行动作控制以及时序控制的运算单元、运算单元的辅助装置、运算单元的输出控制方法、辅助装置的显示控制方法以及程序。
背景技术
PLC(ProgrammableLogicController,可编程逻辑控制器)例如由包括执行用户程序的微处理器的CPU(CentralProcessingUnit,中央处理器)单元、负责从外部的开关以及传感器的信号输入以及向外部的继电器或者执行器(Actuator)的信号输出的IO(InputOutput,输入输出)单元等多个单元构成。在这些单元之间,按照每一个用户程序执行循环经由PLC系统总线以及/或者现场网络授受数据,同时PLC执行控制动作。
作为机械、设备等动作的控制,有时包括用于控制电机的运动的动作控制。以往,这样的动作控制,典型地,由与PLC分开设置的动作控制器进行对驱动电机的电机驱动器周期性地输出命令值的控制处理(动作运算程序的执行)。但是,在信息技术的领域中,微处理器以及通信网络的高速化正在进步。因此,在PLC中也利用这些技术,渐渐可以在一个微处理器中不仅执行用户程序,而且还执行动作运算程序。
例如,专利文献1中公开了在一个CPU中处理执行用于控制电机的动作控制功能以及时序运算(用户程序)的PLC功能的结构。更具体地,公开了按照每一个基本时钟的一个循环,执行“定周期动作控制处理以及各轴处理”以及“高速时序处理”,而且在各基本时钟循环内的剩余时间执行“低速时序处理”或者“不定周期动作控制处理”。
此外,有时在动作控制中使用电子凸轮。电子凸轮是将机械式凸轮的动作通过电子控制实现,可以容易进行凸轮的段替换或者凸轮形状的微调。在非专利文献1中说明了关于为了实现电子凸轮的凸轮表。此外,在非专利文献1中说明了关于凸轮变量。
专利文献2公开了电子凸轮控制装置。该电子凸轮控制装置是具有冲程下死点设定部、加法移动量设定部、位置命令计算部以及冲程下死点变更部。加法移动量设定部设定用于变更冲程下死点位置的加法移动数据。位置命令计算部在输入冲程下死点变更命令后,在凸轮位置决定量A上依次加上在冲程下死点设定部设定的冲程下死点位置以及与在加法移动量设定部设定的加法移动数据对应的加法移动量,并将该加法运算结果作为对输出轴的位置命令值依次输出。冲程下死点变更部在输入冲程下死点变更命令后,在冲程下死点设定部设定的冲程下死点位置上依次加上与在加法移动量设定部设定的加法移动数据对应的加法移动量,用该加法运算结果依次更新冲程下死点设定部设定的冲程下死点位置。
专利文献3公开了电机的位置决定控制系统。该电机的位置决定控制系统以每一个分频周期更新移动实际时间Rti,根据更新的移动实际时间Rti求出无量纲时间ti,使用凸轮曲线表求出预该无量纲时间ti对应的无量纲位置Sij。电机的位置决定控制系统将求出的无量纲位置Sij乘以冲程hj来求出实际位置sij。电机的位置决定控制系统对选择的N个凸轮曲线进行求出这样的实际位置sij的运算。电机的位置决定控制系统对求出的N个实际位置sij进行加法运算。电机的位置决定控制系统将该加法值STi与上一次的分频周期中求出的加法值STi-1的差STi-STi-1作为命令值,对电机的旋转位置进行反馈控制。
此外,专利文献4至6公开了同步驱动主轴电机和从属轴电机的装置。专利文献7公开了利用电子凸轮的复合伸缩部部件的制造方法以及制造装置(参照图1)。
现有技术文献
专利文献
专利文献1:特开2007-140655号公报
专利文献2:特开2006-293692号公报
专利文献3:特开平8-339218号公报
专利文献4:特开平8-126375号公报
专利文献5:特开平9-289788号公报
专利文献6:特开平10-174478号公报
专利文献7:特开2010-260323号公报
非专利文献
非专利文献1:TechnicalSpecificationPLCopen–TechnicalCommittee2–TaskForce,Functionblocksformotioncontrol(FormerlyPart1andPart2),PLCopenWorkingDraft,Version1.99-ReleaseforComments–tillAugust16,2010
发明内容
发明要解决的课题
然而,在专利文献2虽然能够设定冲程下死点,但不能设定其他部位。此外,非专利文献1中没有公开关于凸轮表的变更的具体内容。
再有,在使用定义主轴和从轴的位置关系的凸轮表进行同步控制的电子凸轮的动作中,有时因吸收机械的个体差别(机械差)导致的同步定时的区别,需要在各机械动作的同时微调定义在凸轮表中的位置信息。此外,专利文献7的图1所示的在主轴具有薄膜辊的装置中,有时需要配合薄膜的伸缩变更从轴的动作内容。
在以往,使用个人电脑上动作的电子凸轮制作软件制作凸轮表,将该凸轮表转发到动作控制器来实现电子凸轮动作。根据该方法,根据预先制作的凸轮表的位置信息动作,一次无法容易实现上述那样的装置机械差的微调以及在电子凸轮动作时变更从轴的动作。
本申请发明鉴于上述问题点进行,其目的在于,提供一种PLC的运算单元、辅助装置、输出控制方法、显示控制方法、以及程序,可以容易实现装置机械差的微调以及在电子凸轮动作时变更从轴的动作。
用于解决课题的手段
根据本发明的一方面,运算单元为执行动作控制以及时序控制的可编程逻辑控制器的运算单元。运算单元具有:处理器;存储器,存储用于进行使用对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮表的动作控制的程序以及凸轮表。处理器向与从动轴对应的控制对象设备输出程序的执行结果。处理器在接受到用于变更多个相位中的某个相位以及与该相位对应的位移中的至少一个的第一命令后,将凸轮表中的该相位以及位移中的至少一个变更为基于第一命令的值。处理器在进行变更后,使用变更后的凸轮表来执行程序,向控制对象设备输出该执行结果。
优选地,存储器包括非易失性存储器和易失性存储器。非易失性存储器存储变更前的凸轮表。处理器从非易失性存储器读取变更前的凸轮表,并将该读取的凸轮表在易失性存储器展开。处理器在展开后接受到第一命令后,在易失性存储器中展开的凸轮表上进行变更。处理器接受到第二命令后,向非易失性存储器再次存储在易失性存储器展开的变更后的凸轮表。
优选地,变更前的凸轮表包括多个由一个位移和一个相位构成的凸轮数据。多个凸轮数据区分为对电子凸轮的动作产生影响的第一凸轮数据和对电子凸轮的动作不产生影响的第二凸轮数据。处理器接受到第一命令后,将第二凸轮数据的相位以及位移中的至少一个变更为基于第一命令的值。
优选地,程序包括动作运算程序以及进行对动作运算程序给予该动作运算程序的执行所需的命令的处理的用户程序。各个凸轮数据对应识别信息。处理器在执行使用动作运算程序的电子凸轮的动作时,将识别信息通知给用户程序。
优选地,处理器从非易失性存储器读取变更前的凸轮表后,判定在该凸轮表中凸轮数据是否按照相位升序排列。当处理器判定为凸轮数据没有按照相位升序排列时,进行预先规定的报告。
优选地,处理器在执行程序时,无论是否有凸轮表的变更,以预先规定的间隔判定在程序执行时使用的凸轮表中凸轮数据是否按照相位升序排列。处理器判定为凸轮数据没有按照相位升序排列时,进行预先规定的报告。
优选地,处理器接受用于选择第一变更模式以及第二变更模式的其中之一的命令。处理器接受到第一变更模式的选择时,若接受到第一命令,则在接受到该第一命令时的电子凸轮的周期以及该周期的下一个周期以后使用变更后的凸轮表执行程序。处理器接受到第二变更模式的选择时,若接受到第一命令,则在接受到第一命令时的电子凸轮的周期使用变更前的凸轮表执行程序,在该周期的下一个周期以后使用变更后的凸轮表执行程序。
优选地,程序包括动作运算程序以及进行对动作运算程序给予该动作运算程序的执行所需的指示的处理的用户程序。处理器按照每一个第一定周期重复动作运算程序的执行。处理器按照每个作为第一定周期的整数倍的第二定周期重复用户程序。用户程序中用于进行变更的程序描述在第一定周期的任务或者第二定周期的任务之中。
根据本发明的其他方面,辅助装置是用于制作在可编程逻辑控制器的运算单元执行的用户程序的辅助装置。运算单元具有存储器,存储对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的第一凸轮曲线以及变更了与多个相位中的某个相位对应的位移的凸轮表。辅助装置具有处理器;存储器,存储第一凸轮曲线、辅助用户程序的制作的支持程序;显示器;以及用于与运算单元通信的通信接口。处理器接受到预先规定的命令后,使用通信接口从运算单元获取第一凸轮曲线以及凸轮表。处理器在显示器上显示在存储器中存储的第一凸轮曲线或者获取的第一凸轮曲线、以及基于获取的凸轮表的第二凸轮曲线。
优选地,支持程序预先保存阈值。处理器基于凸轮表计算出从动轴的加加速度。处理器在计算的加加速度为阈值以上时,在显示器上显示表示加加速度为阈值以上的图像。
优选地,支持程序预先保存阈值。处理器基于凸轮表计算出从动轴的速度。处理器在计算的速度为阈值以上时,在显示器上显示表示速度为阈值以上的图像。
优选地,支持程序预先保存阈值。处理器基于凸轮表计算出从动轴的加速度。处理器在计算的加速度为阈值以上时,在显示器上显示表示加速度为阈值以上的图像。
优选地,处理器在显示器上以与第二凸轮曲线中未超过阈值的部位不同的显示方式显示超过阈值的部位。
根据本发明的另一个其他方面,输出控制方法为应用于执行动作控制和时序控制的可编程逻辑控制器的运算单元的输出控制方法。运算单元存储用于进行使用对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮表的动作控制的程序以及凸轮表。输出控制方法包括:运算单元的处理器向与从动轴对应的控制对象设备输出程序的执行结果的步骤;处理器接受到用于变更多个相位中的某个相位以及与该相位对应的位移中的至少一个的第一命令后,将凸轮表中的该相位以及位移中的至少一个变更为基于第一命令的值的步骤;以及处理器在进行变更后,使用变更后的凸轮表来执行程序,向控制对象设备输出该执行结果的步骤。
根据本发明的另一个其他方面,显示控制方法为应用于用于制作在可编程逻辑控制器的运算单元中执行的用户程序的辅助装置的显示控制方法。运算单元在存储器中存储对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的第一凸轮曲线以及变更了与多个相位中的某个相位对应的位移的凸轮表。辅助装置存储第一凸轮曲线以及辅助用户程序的制作的支持程序。显示控制方法包括:辅助装置的处理器接受到预先规定的命令后,使用通信接口从运算单元获取第一凸轮曲线以及凸轮表的步骤;以及处理器在显示器上显示在存储器中存储的第一凸轮曲线或者获取的第一凸轮曲线、以及基于获取的凸轮表的第二凸轮曲线的步骤。
根据本发明的另一个其他方面,程序为用于控制执行动作控制以及时序控制的可编程逻辑控制器的运算单元的程序。运算单元存储用于进行使用对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮表的动作控制的程序以及凸轮表。程序使得运算单元执行:向与从动轴对应的控制对象设备输出程序的执行结果的步骤;处理器接受到用于变更多个相位中的某个相位以及与该相位对应的位移中的至少一个的第一命令后,将凸轮表中的该相位以及位移中的至少一个变更为基于第一命令的值的步骤;以及进行变更后,使用变更后的凸轮表来执行程序,向控制对象设备输出该执行结果的步骤。
根据本发明的另一个其他方面,程序为用于控制辅助装置的程序,所述辅助装置用于制作在可编程逻辑控制器的运算单元执行的用户程序。运算单元存储对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的第一凸轮曲线以及变更了与多个相位中的某个相位对应的位移的凸轮表。辅助装置存储第一凸轮曲线以及辅助用户程序的制作的支持程序。程序使得辅助装置执行:在接受到预先规定的命令后,使用通信接口从运算单元获取凸轮表的步骤;在显示器上显示在存储器中存储的第一凸轮曲线或者获取的第一凸轮曲线、以及基于获取的凸轮表的第二凸轮曲线的步骤。
发明效果
根据本发明,可以容易地实现装置机械差的微调以及电子凸轮动作中的从轴的动作的变更。
附图说明
图1是表示PLC系统的概略结构的示意图。
图2是表示CPU单元的硬件结构的示意图。
图3是表示在CPU单元执行的软件结构的示意图。
图4是表示由控制程序提供的动作控制的概要的处理步骤的流程图。
图5是表示动作控制命令和任务之间的关系的图。
图6是表示电子凸轮的功能概要的图。
图7是用于视觉性地说明说明电子凸轮的动作的图。
图8是表示电子凸轮的凸轮曲线的图。
图9是表示有关电子凸轮的系统结构的图。
图10是表示有关凸轮数据的结构体排列的图。
图11是表示凸轮表的数据结构的图。
图12是表示在表形式的使用GUI的方式中,用于改写凸轮表的用户界面的图。
图13是表示改写凸轮表后凸轮表的数据结构的图。
图14是用于说明凸轮表的改写处理的图。
图15是表示用户直接描述程序的方式中,用于改写凸轮表的用户界面的图。
图16是表示改写凸轮数据的步骤的流程图。
图17是表示向高优先级定周期任务记载改写凸轮表的控制命令时的数据流程的图。
图18是表示向低优先级定周期任务记载改写凸轮表的控制命令时的数据流程的图。
图19是用于说明接受到变更相位θa的位移的命令的下一个控制周期使用变更前的凸轮表进行处理且在接受到该命令的下一个的下一个控制周期使用其他的凸轮表进行处理时的电子凸轮的动作的图。
图20是表示用于改写凸轮表的相位的用户界面的图。
图21(a)、(b)是表示PLC支持装置在PLC支持装置的显示器上显示凸轮曲线以及变更后的凸轮曲线的状态的图。
图22(a)、(b)是在图21(a)、(b)的各状态下,再次进行警告显示的状态的图。
图23是表示连接到CPU单元而使用的PLC支持装置的硬件结构的示意图。
图24是表示连接到CPU单元而使用的PLC支持装置的软件结构的示意图。
图25是使用表形式的GUI的方式中,用于改写凸轮表的相位的用户界面的图。
具体实施方式
参照附图详细说明关于本发明的实施方式。另外,对于附图中的相同或者相应的部分,使用相同标号不重复其说明。
<A.系统结构>
本实施方式的PLC具有用于控制电机的运动的动作控制功能。首先,参照图1说明本实施方式的PLC1的系统结构。
图1是表示本发明的实施方式的PLC系统的概要结构的示意图。参照图1可知,PLC系统SYS包括:PLC1、与PLC1经由现场网络(FieldNetwork)2连接的伺服电机驱动器3以及远程IO终端5、作为现场设备的检测开关6以及继电器7。此外,PLC1经由连接电缆10等与PLC支持装置8连接。
PLC1包括:执行主要运算处理的CPU单元13、一个以上的IO单元14以及特殊单元15。这些单元经由PLC系统总线11可以互相交换数据。此外,这些单元通过电源单元12供给合适的电压的电源。另外,作为PLC1构成的各单元由PLC厂商提供,因此PLC系统总线11一般按照各PLC厂商独自开发并使用。相比之下,对于后面说明的现场网络2多数情况为公开规格等,以使得不同厂商的产品之间能够连接。
在后面参照图2叙述CPU单元13的细节。
IO单元14为普通的输入输出处理有关的单元,管理如开启/关闭的二值化的数据的输入输出。即,IO单元14收集检测开关6等的传感器检测到某种对象物的状态(开启)以及未检测到任何对象物的状态(关闭)的其中一种信息。此外,IO单元14对继电器7以及执行器等输出目的地输出用于活动化的命令(开启)以及用于非活动化的命令(关闭)的其中一个。
特殊单元15具有例如模拟数据的输入输出、温度控制、通过特定的通信方式的通信等在IO单元14不支持的功能。
现场网络2传输与CPU单元13交换的各种数据。作为现场网络2,典型地,可以使用各种工业用以太网(注册商标)。作为工业用以太网(注册商标),例如已知EtherCAT(注册商标)、ProfinetIRT、MACHATROLINK(注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIPMotion等,可以采用这些中的任何一种。而且,也可以使用工业用以太网(注册商标)意外的现场网络。例如,只要是不进行动作控制时,可以使用DeviceNet、CompoNet/IP(注册商标)等。在本实施方式的PLC系统SYS中,示例了采用工业用以太网(注册商标)的EtherCAT(注册商标)作为现场网络2的情况的结构。
另外,图1示例了具有PLC系统总线11以及现场网络2双方的PLC系统SYS,但也可以采用仅搭载一方的系统结构。例如,可以由现场网络2连接所有单元。或者,不使用现场网络2而将伺服电机驱动器3直接连接到PLC系统总线。再有,也可以将现场网络2的通信单元连接到PLC系统总线,从CPU单元13经由该通信单元与连接到现场网络2的设备之间进行通信。
伺服电机驱动器3经由现场网络2与CPU单元13连接,并根据CPU单元13的命令值驱动伺服电机4。更具体地,伺服电机驱动器3从PLC1按照一定周期接受位置命令值、速度命令值、扭矩命令值等命令值。此外,伺服电机驱动器3从连接到伺服电机4的轴的位置传感器(旋转编码器)以及扭矩传感器等检测器获取位置、速度(典型地,根据本次位置和上次位置之间的差计算得出)、扭矩等与伺服电机4的动作有关的实际测量值。进而,伺服电机驱动器3将来自CPU单元13的命令值设定为目标值,将实际测量值作为反馈值,进行反馈控制。即,伺服电机驱动器3调整用于驱动伺服电机4的电流,使得实际测量值接近目标值。另外,伺服电机驱动器3有时被称为伺服电机放大器。
此外,图1中表示了组合伺服电机4和伺服电机驱动器3的系统例,也可以采用其他结构,例如组合脉冲电机和脉冲电机驱动器的系统。
图1所示的PLC系统SYS的现场网络2中,还连接了远程IO终端5。远程IO终端55基本上与IO单元14相同,进行普通的与输入输出处理有关的处理。更具体地,远程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执行的各种程序。此外,主处理器194还被用作微处理器100执行各种程序时的工作用存储器。作为这样的主存储器104,使用DRAM(DynamicRandomAccessMemory,动态随机访问存储器)以及SRAM(StaticRandomAccessMemory,静态随机访问存储器)等。
另一方面,非易失性存储器106不易损失地保存实时OS(OperatingSystem,操作系统)、PLC1的系统程序、用户程序、动作运算程序、系统设定参数等数据。这些程序以及数据根据需要背负著到主存储器104,以便处理器100能够访问。作为这样的非易失性存储器106,可以使用闪存等半导体存储器。或者,有时也可以使用如硬盘驱动器那样的磁性存储介质或者DVD-RAM(DigitalVersatileDiskRandomAccessMemory,数字通用光盘随机访问存储器)等光学存储介质。
系统定时器108按照一定周期产生中断信号并提供给微处理器。典型地,根据硬件的规格按照多个不同的周期分别产生中断信号,但也可以设定为通过OS(OperatingSystem,操作系统)以及BIOS(BasicInputOutputSystem,基本输入输出系统)等在任意的周期产生中断信号。利用该系统定时器108产生的中断信号,实现后面描述的按照动作控制循环的控制动作。
作为通信电路,CPU单元13具有PLC系统总线控制器120以及现场网络控制器140。
缓存126发挥经由PLC系统总线11向其他单元输出的数据(以下亦称为“输出数据”)的发送缓存以及经由PLC系统总线11从其他单元输入数据(以下亦称为“输入数据”)的接收缓存的功能。另外,通过微处理器100的运算处理生成的输出数据,首先存储在主存储器104。进而,向特定单元传输的输出数据,将被从主存储器104读取,并暂时保存在缓存126。此外,从其他单元传输的输入数据将暂时保存在缓存126后,转移至主存储器104。
DMA控制电路122进行从主存储器104到缓存126的输出数据的传输、以及从缓存126到主存储器104的输入数据的传输。
PLC系统总线控制电路124在连接到PLC系统总线11的其他单元之间进行发送缓存126的输出数据的处理以及接收输入数据并存储在缓存126的处理。典型地,PLC系统总线控制电路124提供PLC系统总线11的物理层以及数据链路层的功能。
现场网络控制器140控制经由现场网络2的数据交换。即,现场网络140根据使用的现场网络2的规格,控制输出数据的发送以及输入数据的接收。如上所述,在本实施方式中由于采用根据EtherCAT(注册商标)规格的现场网络,因此使用包括用于进行通常的以太网(注册商标)通信的硬件的现场网络控制器140。在EtherCAT(注册商标)中,可以利用实现根据通常的以太网(注册商标)规格的通信协议的普通的EtherCAT(注册商标)控制器。然而,根据作为现场网络2采用的工业用以太网(注册商标)的种类,使用与通常的通信协议不同的专用规格的通信协议对应的特别规格的以太网(注册商标)控制器。此外,采用工业用以太网(注册商标)以外的现场网络时,使用与该规格对应的专用的现场网络控制器。
DMA控制电路142进行从主存储器104到缓存146的输出数据的传输以及从缓存146到主存储器104的输入数据的传输。
现场网络控制电路144在与现场网络2连接其他装置之间进行发送缓存146的输出数据的处理以及接收输入数据并存储到缓存146的处理。典型地,现场网络控制电路144提供在现场网络2的物理层以及数据链路层的功能。
USB连接器110为用于连接PLC支持装置8以及CPU单元13的接口。典型地,从PLC支持装置8传输的能够在CPU单元13的微处理器100执行的程序等经由USB连接器110被PLC1获取。
<C.CPU单元的软件结构>
接下来,参照图3说明提供本实施方式的各种功能的软件组。这些软件中包含的命令代码在合适的定时被读取,并由CPU单元13的微处理器100执行。
图3是表示在本发明实施方式的CPU单元13执行的软件结构的示意图。参照图3可知,作为在CPU单元13执行的软件,为实时OS200、系统程序210以及用户程序236的三层结构。
实时OS200根据CPU单元13的计算机架构设计,微处理器100提供用于执行系统程序210以及用户程序236的基本的执行环境。该实时OS典型地由PLC的厂商或者专门的软件公司等提供。
系统程序210为用于提供作为PLC1的功能的软件组。具体地,系统程序210包括:调度器程序212、输出处理程序214、输入处理程序216、时序命令运算程序232、动作运算程序234以及其他系统程序220。另外,一般情况下输出处理程序214以及输入处理程序216连续(作为一体)执行,因此有时将这些程序统称为IO处理程序218。
用户程序236根据用户的控制目的制作。即,根据使用PLC系统SYS控制的对象的线路(步骤)任意设计的程序。
如后面所述,用户程序236与时序命令运算程序232以及动作运算程序234共同运作,从而实现用户的控制目的。即,用户程序236通过利用时序命令运算程序232以及动作运算程序度234提供的命令、函数、功能模块等实现编制的动作。因此,有时将用户程序236、时序命令运算程序232、以及动作运算程序234统称为控制程序230。
这样,CPU单元13的微处理器100执行在保存部件中存储的系统程序210以及用户程序230。
以下,对于各程序进行更详细的说明。
如上所述,用户程序236根据用户的控制目的(例如,对象的线路以及处理)而制作。典型地,用户程序236为能够在CPU单元13的微处理器100执行的目标程序形式。该用户程序237在PLC支持装置8等通过编译由梯形语言等描述的源代码程序而生成。进而,生成的目标程序形式的用户程序230从PLC支持装置8经由连接电缆10向CPU单元13传输,并存储在非易失性存储器106等。
调度器程序212控制对输出处理程序214、输入处理程序216、以及控制程序230的各执行循环的处理开始以及处理中断后的处理恢复。更具体地,调度器程序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是执行在用户程序230中使用的某种时序命令时被调用,且用于实现该命令内容而执行的程序。
动作运算程序234根据用户程序236的指示执行,且计算输出到伺服电机驱动器3和脉冲电机驱动器等电机驱动器的命令值的程序。
其他的系统程序220概括表示除图3中个别表示的程序外的,用于实现PLC1的各种功能的程序组。其他的系统程序220包括设定动作控制循环的周期的程序222。
动作控制循环的周期可以根据控制目的适当地设定。典型地,用户向PLC支持装置8输入指定动作控制循环的周期的信息。于是,该输入的信息从PLC支持装置8传输到CPU单元13。设定动作控制循环的周期的程序222将来自PLC支持装置8的信息存储到非易失性存储器106,并设定系统定时器108,使得以从系统定时器108指定的动作控制循环的周期产生中断信号。通过在向CPU单元13提供电源时执行用于设定动作控制循环的周期的程序222,从非易失性存储器106读取指定动作控制循环的周期的信息,并根据读取的信息设定系统定时器108。
作为指定动作控制循环的周期的信息的形式,可以采用表示动作控制循环的周期的时间的值、以及特定有关动作控制循环的周期的预先准备好的多个选择项中一项的信息(编号或者字符)等。
在本实施方式的CPU单元13中,作为设定动作控制循环的周期的部件,可以为用于任意设定动作控制循环的周期的元素,例如:与用于获取指定动作控制循环的周期的PLC支持装置8之间的通信部件、设定动态控制循环的周期的程序222、以及可以任意设定规定动作控制循环的中断信号的周期的系统定时器108的结构等。
实时OS200提供用于根据时间的经过切换并执行多个程序的环境。在本实施方式的PLC1中,初始设定输出准备中断(P)以及现场网络发送中断(X),作为将CPU单元13执行程序而生成的输出数据输出(发送)到其他单元或者其他装置的事件(中断)。实时OS200在发生输出准备中断(P)或者现场网络发送中断(X)后,将在微处理器100的执行对象由在中断发生时刻执行的程序切换到调度器程序212。另外,实时OS200在调度器程序212以及调度器程序212控制其执行的程序没有被执行时,执行其他的系统程序210包括的程序。作为这样的程序,包括例如经由CPU单元13和PLC支持装置8之间的连接电缆10(USB)的通信处理有关的程序。
<D.动作控制的概要>
接下来,说明上述的用户程序236包含的典型的结构。用户程序236包括周期性地判断有关电机的运动的控制开始的条件是否成立的命令。例如,判断由电机驱动力进行某种措施的工作是否被传送到规定的措施位置等的逻辑。进而,用户程序236还包括响应于判断为该控制开始的条件成立而开始动作控制的命令。随着该动作控制的开始,指示动作命令的执行。于是,对应于指示的动作命令的动作运算程序234启动,首先执行为了按照各动作运算程序234的执行计算对电机的命令值所需的初始处理。此外,在与初始处理相同的动作控制循环中,计算在第一循环的命令值。因此,初始处理以及第一个命令值计算处理为启动动作运算程序234在第一个执行中需要进行的处理。然后,依次计算各循环中的命令值。
图4是表示由本发明的实施方式的控制程序230(用户程序236、时序命令运算程序232以及动作运算程序234)提供的动作控制的概要的处理步骤的流程图。参照图4可知,微处理器100周期性地判断有关电机的运动的控制开始的条件是否成立(步骤S2)。该控制开始的条件是否成立的判断由用户程序236以及时序命令运算程序232实现。当控制开始的条件不成立时(步骤S2中为“否”时),重复步骤S2的判断。
当控制开始的条件成立时(步骤S2中为“是”时),微处理器100执行有关动作控制的初始处理(步骤S4)。作为该初始处理,包括电机运动的开始位置坐标、结束位置坐标、初始速度、初始加速度。轨迹等的计算处理。接下来,微处理器100执行第一循环中的命令值的计算处理(步骤S6)。再有,微处理器执行计算出的命令值的输出处理(步骤S8)。
然后,微处理器100等待至下一个动作控制循环的到来(步骤S10)。进而,微处理器100周期性地判断有关电机运动的控制结束的条件是否成立(步骤S12)。所谓步骤结束的条件成立是指,伺服电机4到达结束位置的状态等。当控制结束的条件成立时(在步骤S12中为“是”时),重复步骤S2以下的处理。此时,启动中的动作运算程序234保持不活动的状态,直到新的控制开始的条件成立。
当控制结束的条件不成立时(在步骤S12中为“否”时),微处理器100执行现在的循环中的命令值的计算处理(步骤S14)。再有,微处理器100执行计算出的命令值的输出处理(步骤S16)。进而,重复步骤S10以下的处理。
下面,将为了执行动作控制的功能模块也称为“动作控制功能模块”。具体地,“动作控制功能模块”是指,使用从用户程序给予的目标值(位置、速度、扭矩等)按照一定的周期执行为了实现用户期望的动作所需的向轴的命令值输出、以及从轴的信息获取的功能模块。另外,“动作控制功能模块”是对伺服驱动器输出命令值的开环型控制器。此外,将对动作控制功能模块给予指示的命令(功能块(以下,也称为“FB”)等)称为“动作控制命令”。
图5是表示动作控制命令与任务之间的关系的图。具体地,图5是表示数据流程的图。参照图5可知,动作控制功能模块在高优先级定周期任务中执行。动作控制命令可以在高优先级定周期任务或者低优先级定周期任务中描述。高优先级定周期任务是在CPU单元13中最高优先级的任务。
在低优先级周期任务执行中,高优先级定周期任务成为可以执行的情况下,低优先级定周期任务会暂时中断,执行高优先级定周期任务。在高优先级定周期任务结束后,恢复低优先级定周期任务的执行。另外,低优先级定周期任务的周期T2是高优先级定周期任务的周期T1的整数倍。图5表示了T2=2T1的情况。
在图5中,将调度器程序标记为“SC”、输出/输入处理程序标记为“OI”、用户程序234标记为“UPRG”、动作运算程序234标记为“MC”。此外,为了方便说明,为了在图5中识别各OI、各MC,分别赋予了不同参照符号701~707。
数据的大致流程的顺序为:(1)从设备(slave)→OI701→MC702→OI703→伺服电机驱动器3、(2)MC704→OI705→伺服电机驱动器3、(3)MC706→OI707→伺服电机驱动器3。下面进行具体说明。
在PLC1的执行中,微处理器100处于至少可以执行输出/输入处理程序(输出处理程序214以及输入处理程序216)、用户程序236、动作运算程序234的状态。更严密地说,实时OS200保持能够执行各个程序的进程(或者线程)的状态,通过调度器程序212利用实时OS200以及硬件资源(系统定时器108等),以合适的定时且合适的顺序执行各程序。这样,有调度器程序212控制各个程序的执行的开始/中断/结束等。
图5中,基于从从设备到OI701的输入(IN),现场网络控制器140(参照图2)接收动作控制用输入数据,并将该输入数据存储到主存储器104的现场网络接收缓存(未图示)中,并且/或者PLC系统总线控制器接收动作控制用输入数据,并将该输入数据存储到主存储器104的PLC系统总线接收缓存(未图示)中。另外,CPU单元13为主设备(master),将CPU单元以外的各个单元设定为从设备。
此外,根据IO处理程序218的命令输出启动命令数据或者动作命令值数据。更具体地,存储在主存储器104的控制程序的工作区域(未图示)的启动命令数据以及动作命令值数据被传输到主存储器的现场网络发送缓存(未图示)。再有,紧接着向现场网络发送缓存的数据传输,现场网络控制140将启动命令数据或者动作命令值数据发送到伺服电机驱动器3。
另外,从上述从设备到OI701的输入(IN)中,也可以输入在用户程序237的运算中使用,而在动作运算程序234的运算中不使用的输入数据。此外,通过用户程序236的执行生成的用户程序输出数据即使是在动作运算程序234不使用的输出数据,也会被发达送到IO处理程序218,并在OI处理中输出。
本实施方式中的“动作控制循环”是以动作运算程序234的执行以及通信的周期即向伺服电机驱动器3给予动作命令值数据的周期执行的一系列的处理的循环。
<E.电子凸轮>
下面,作为同步控制的功能,说明电子凸轮的动作。“同步控制”是指与主轴(输入轴)的位置同步地控制从动轴(控制对象轴)的位置。作为主轴,可以指定:全闭环控制用的编码器的位置、伺服驱动器以及虚拟伺服驱动器的命令位置、以及编码器、伺服驱动器以及虚拟伺服驱动器的反馈位置中的一个。此外,“电子凸轮动作”是指按照后面叙述的凸轮表设定的凸轮图案以控制周期进行凸轮动作的功能。
CPU单元13由于是按照每个控制周期与输入同步从而控制输出,因此有时运算结果超过在控制功能模块能够输出的最高速度。然而,在这种情况下,CPU单元13不视为错误,而进行最高速度的输出。CPU单元13通过使其在最高速度饱和,将不足的移动量在下一个控制周期以后分配并输出。
图6是表示电子凸轮的功能概要的图。参照图6可知,电子凸轮500包括:电子凸轮运算部501、插补部502、开关部503。电子凸轮运算部501中输入全闭环控制用的编码器的位置、伺服驱动器以及虚拟伺服驱动器的命令位置、以及编码器、伺服驱动器以及虚拟伺服驱动器的反馈位置中预先选择的位置。
电子凸轮运算部501基于输入的主轴的相位以及凸轮表向插补部502输出从动轴的位移。插补部502使用从电子凸轮运算部501输出的值进行插补处理。插补部502经由开关部503输出插补处理后的值(命令位置)。凸轮表预先存储在非易失性存储器106中,伴随电源的提供,在主存储器104中展开。
图7是用于视觉性地说明电子凸轮500的动作的图。具体地,图7是表示包括以基于凸轮表的凸轮曲线表示的机械式凸轮500A的凸轮机构ME的图。参照图7可知,凸轮机构ME包括:主轴400、机械式凸轮500A、从动轴600。机械式凸轮500A固定在主轴400上,伴随主轴400的旋转而旋转。从动轴600伴随机械式凸轮500A的旋转,进行直线运动。也就是说,在凸轮机构ME中,主轴的相位(输入)变化后从动轴600位移(输出)。电子凸轮500是用软件实现这样的凸轮机构ME中的输入输出。
图8是表示电子凸轮599的凸轮曲线510的图。参照图8可知,凸轮曲线510中,位移随着相位从0增加而增加,在半周期的相位(180度)时位移迎来峰值。随后,位移随着相位的增加而减少,在一周期的相位(360度)位移成为0。另外,凸轮曲线510仅为示例,PLC系统SYS中利用的凸轮曲线不限于此。
图9是表示有关电子凸轮500的系统结构的图。图9是将图6的凸轮500更加详细地表示的图,也是表示执行电子凸轮的动作的动作控制器的结构的图。参照图9可知,有关电子凸轮500的系统通过电子凸轮运算部501、插补部502、开关部503、主存储器104、非易失性存储器106以及用户程序236实现。
非易失性存储器106中存储多个凸轮表520、521、522。图9表示了从非易失性存储器106将凸轮表520在主存储器104展开的状态。此外,图9表示了从编码器19对电子凸轮500输入编码器位置的例子。关于凸轮表520的细节,在后面叙述。另外,为了方便说明,亦将凸轮表称为“凸轮表No.1”。
图10是表示有关凸轮数据的结构体排列的图。参照图10可知,结构体排列530是用于在主存储器104管理存储在非易失性存储器106的凸轮表520的结构体排列。在结构体排列530中,对应凸轮表的识别符、索引以及相位的值(或者位移的值)。例如,结构体排列530的第一个描述表示凸轮表No.1(也就是凸轮表520)中的索引的第一个相位为“0.0”。另外,关于索引,将在后面叙述。
图11是表示凸轮表520的数据结构的图。更具体地,图11是表示存储在PLC支持装置8的由凸轮表编辑软件制作的凸轮表的数据结构的图。
参照图11可知,凸轮表520是对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的数据。也就是说,凸轮表520是离散的数据。将凸轮表520中的数据进行直线插补后,变为图8所示的凸轮曲线510。该直线插补由图6的插补部502进行。
凸轮表520中,可以将0度到360度的相位区分为最大凸轮数据数来描述。在凸轮表520中,以0.1为刻度描述相位。另外,“凸轮数据”是指一个位移和一个相位组成的数据。也就是说,凸轮表520包括多个凸轮数据。另外,位移δ的单位例如是“mm”。
此外,在凸轮表中,相位以及位移的各个值为0的最初的凸轮数据位凸轮表的起点。将该部位设为第0个索引。接下来,将相位以及位移的规格值下一个成为0的部位的前一个(也就是上一个)凸轮数据位凸轮表的终点。也就是说,从凸轮表的起点到凸轮表的终点(0度到360度的相位的范围的数据)为有意义的凸轮数据。“有意义的凸轮数据”是指,对电子凸轮的动作产生影响的凸轮数据。对有意义的凸轮数据赋予作为凸轮数据的识别符的索引的编号。索引的编号在凸轮表中按照升序赋予。
此外,凸轮表的终端以后(也就是以下)的凸轮数据为对电子凸轮的动作不产生影响的凸轮数据(也就是没有意义的凸轮数据)。另外,没有意义的凸轮数据未必相位与位移的双方为0。没有意义的凸轮数据的数量由凸轮表的编辑软件指定。
图13是表示改写凸轮表520后的凸轮表520A的数据结构的图。另外,凸轮表的改写处理是指,如上述那样,改写从非易失性存储器106在主存储器104展开的凸轮表520的数据的处理。即使是为了进行该改写处理而展开凸轮表520时,非易失性存储器106中仍然保持存储凸轮表520(也就是原始数据)的状态。
参照图13,CPU单元13接受到将凸轮表520的相位θa的位移δ1变更为δ2的命令后,将在凸轮表520中对应相位θa的位移从δ1变更为δ2。也就是说,CPU单元13的微处理器100将在主存储器104展开的凸轮表520中的相位对应相位θa的位移δ1覆盖为δ2。另外,θa是从0度到360度的各相位中,任意的相位。
微处理器100接受到预先规定的指示后,将在主存储器104暂时存储的凸轮表520A存储到非易失性存储器106。由此,变为在非易失性存储器106存储凸轮表520以及凸轮表520A。
图14是用于说明凸轮表520的改写处理的图。图14(a)是表示基于改写前的凸轮表520的凸轮曲线510以及基于改写后的凸轮表520A的凸轮曲线510A的图。图14(b)是用于说明凸轮表的改写前后的电子凸轮的动作的图。
参照图14(a)可知,基于凸轮表520A的凸轮曲线510A为与对于凸轮表520A中的相位θa的前后的相位的位移之间具有连续性的曲线(正确而言是直线的集合)。参照图14(b)可知,CPU单元13在接受到相位θb对应的时刻(θa<θb)接受到变更位移后的命令时,在下一个控制周期以后根据基于凸轮表520A的凸轮曲线510A使控制对象的从动轴动作。
凸轮表的改写有用户直接描述程序的方式以及使用表形式的GUI(GraphicUserInterface,图像用户界面)的方式。
图15是表示在用户直接描述程序的方式中用于改写凸轮表的用户界面的图。此外,图15示出了使用PLC控制器中一般使用的ST(StructureText,结构文本)以及梯形语言时改写命令的描述例。
参照图15可知,使用PLC支持装置8进行凸轮表的改写。具体地,用户参照PLC支持装置8的显示器87,并进行数据输入,从而执行在主存储器104展开的凸轮表520的改写。
显示器87中表示了两个区域801、803。区域801是显示可以选择的项目的菜单区域。
区域803内的盒子803a中描述用户的程序,也就是说,盒子803a中显示执行的处理内容。作为具体例,在区域803a中使用上述语言描述了表示电子凸轮No.1(也就是电子凸轮500)为执行中的输出参数“忙_1”以及“接点_1”为真,且向从动轴的命令的凸轮表的凸轮数据比索引第90号更小时,向凸轮表No1的索引第90号~100号的位移加上10的命令。此时,微处理器100执行区域803中描述的处理。
图12是表示使用表形式的GUI的方式中用于改写凸轮表的用户界面的图。参照图12可知,在显示器87上显示作为表形式的GUI的窗口851。窗口851是用于用户输入的区域。窗口851中用户描述了用于在凸轮表No.1的索引第90号到100号的凸轮位移上分别增加10mm的命令。另外,由于图12的情况使用GUI,用户容易描述命令。
图16是表示改写凸轮表520的凸轮数据的位移的步骤的流程图。参照图16可知,在步骤S102中微处理器100判断是否接受到变更在凸轮表520中的位移的索引编号的指定。微处理器100在判断为接受到索引编号的指定(步骤S102中的“是”)后在步骤S104中判断是否接受到位移的值的输入。微处理器100判断为没有接受到索引编号的指定(步骤S102中的“否”)后,将处理移至步骤S102。
微处理器100在判断为接受到位移的值的输入后(步骤S104中的“是”),在步骤S106在凸轮表520中将指定的索引的位移变更为输入的值。微处理器100判断为没有接受到位移的值的输入后(步骤S104中的“否”),将处理移至步骤S104。
在步骤S108中,微处理器100执行使用变更位移后的凸轮表520的控制。在步骤S110中,微处理器100判断使用凸轮表520A的控制是否结束。微处理器100判断控制结束时(步骤S110中的“是”),在步骤S112判断是否接受到了用于保存凸轮520A的指示。微处理器100在判断为控制尚未结束时(步骤S110中的“否”),将处理移至步骤S110。
微处理器100判断为接受到用于保存的指示后(步骤S112中的“是”),在步骤S114中,将凸轮表520A存储到非易失性存储器106。微处理器100判断为没有接受到用于保存的指示后(步骤S112中的“否”),不将凸轮表520A存储到不易挥发性存储器106中而结束一系列的处理。
然而,改写凸轮表的控制命令,可以在高优先级定周期任务中描述改写凸轮表的控制命令,或者也可以在低优先级定周期任务描述该控制命令。
图17是表示在高优先级定周期任务描述改写凸轮表的控制命令时的数据流程的图。参照图17,在UPRG710描述改写凸轮表的控制命令FB711。此时的数据的大致的流程顺序为:(1)从设备→OI701→FB711→MC702→OI703→伺服电机驱动器3、(2)MC704→OI705→伺服电机驱动器3、(3)MC706→OI707→伺服电机驱动器3。
图18是表示在低优先级定周期任务描述改写凸轮表的控制命令时的数据流程的图。参照图18可知,在UPRG720描述改写凸轮表的控制命令FB(FunctionBlock,功能块)721、722。此时的数据的大致的流程顺序为:(1)从设备→OI701→MC702→UPRG720(FB721、722)→OI706→OI707→伺服电机驱动器3。
下面说明CPU单元13能够执行的其他功能。另外,凸轮表的凸轮数据的改写除了凸轮动作时以外,还可以在凸轮停止时进行。
(e1.遮罩(Masking)处理)
CPU单元13如图14(b)所示,当接受到在与相位θb对应的时刻(θa<θb)变更位移的命令时,在下一个控制周期以后,根据基于凸轮表520A的凸轮曲线510A,使得作为控制对象的从动轴动作。然而,CPU单元13也可以在接受到该命令的下一个控制周期进行使用凸轮表520的处理,且在接受到该命令的下一个的下一个控制周期进行使用凸轮表520A的处理。更具体说明如下。另外,为了方便说明,下面将该处理称为“遮罩处理”。
CPU单元13的微处理器100从用户接受不执行遮罩处理的模式(亦称为“第一变更模式”)以及执行遮罩处理的模式(亦称为“第二变更模式”)。微处理器100接受到不进行遮罩处理的模式的选择时,接受到用于变更位移的命令后,在接受到该命令的电子凸轮的周期以及该周期的下一个周期以后使用变更后的凸轮表520A执行控制程序230。也就是说,如上面所述,微处理器100在位移变更后立即执行反映该变更的处理。
另一方面,微处理器100在接受到执行遮罩处理的模式的选择时,接受到用于变更位移的命令后,在接受到该命令时的电子凸轮的周期使用变更前的凸轮表520执行控制程序230,在该周期的下一个周期以后使用变更后的凸轮表520A执行控制程序230。
图19是在用于说明接受到变更相位θa的位移的命令的下一个控制周期中使用凸轮表520进行处理,在接受到该命令的下一个的下一个周期中使用凸轮表520A进行处理时的电子凸轮的动作的图。也就是说,图19是用于说明在选择进行遮罩处理时的电子凸轮的动作的图。
参照图19可知,CPU单元13在相位θb对应的时刻接受到变更位移的命令时,在下一个凸轮周期基于变更前的凸轮表520对应的凸轮曲线510使得作为控制对象的从动轴动作。再有,在下一个凸轮周期中,CPU单元13基于变更后的凸轮表520A对应的凸轮曲线510A使得作为控制对象的从动轴动作。
通过进行这样的处理,至少在包含了进行改写的定时的凸轮周期中不会进行使用改写后的凸轮表的控制。因此,CPU单元13能够进行稳定的控制。
另外,遮罩处理的功能为可选功能,并非CPU13必备的功能。
(e2.相位的改写)
在上述中说明了改写凸轮表中凸轮数据的位移的例子,但不限于此。CPU单元13也可以改写相位来取代改写位移。或者,CPU单元13不仅改写位移外,可以改写位移以及相位。
图20是表示用户直接描述程序时的用于改写凸轮相位的用户界面的图。此外,图20与图15一样,表示了使用在PLC控制器中普遍使用的ST(StructureText,结构文本)以及梯形语言时的改写命令的描述例。
参照图20可知,如上面所述,在区域803内的盒子803a中描述了用户的程序。作为具体例,在区域803a中使用上述语言描述了表示电子凸轮No.1(也就是电子凸轮500)为执行中的输出参数“忙_1”以及“接点_1”为真,且在向从动轴的命令的凸轮表的凸轮数据比索引第100号更小时,将凸轮表No.1的索引第100号的相位变更为200.0°的命令。此时,微处理器100执行区域803中描述的处理。
图25是使用表形式的GUI的方式中用于改写凸轮表的相位的用户界面的图。参照图25可知,在显示器87上显示作为表形式的GUI的窗口852。窗口851是用于用户输入的区域。窗口852中用户描述了用于将凸轮表No.1的索引第100号的凸轮数据的相位变更为200°的命令。
(e3.升序校验)
如上所述,包含于凸轮表中的相位也可能被改写。因此,也有凸轮表被改写使得包含在凸轮表中的凸轮数据的相位不成为升序的危险。例如,也存在图11所示的凸轮表520的相位成为“0.0”→“0.1”→“0.8”→“0.2”→“0.3”…的情况。
设想这样的情况,CPU单元13在电子凸轮的动作开始时以及凸轮动作时校验相位是否为升序。另外,CPU单元13在凸轮动作中时,例如按照预先规定的间隔(例如为一个控制周期)校验是否为升序。当CPU单元13判定为凸轮数据并没有按照相位升序排列时,进行预先规定的报告。具体地,CPU单元13向用户程序236通知错误警告(错误信息、错误编码、声音、以及/或者图像)的通知。
(e4.有意义的凸轮数据的添加/删除)
正如基于图11说明的那样,凸轮表具有对于电子凸轮有意义的凸轮数据以及没有意义的凸轮数据。
微处理器100接受到用于添加凸轮数据的用户输入后,向没有意义的凸轮数据中的某一个写入基于该输入的相位以及/或者位移。再有,微处理器100通过执行预先规定的命令,将上述具有基于输入的相位以及/或者位移的没有意义的凸轮数据设为有意义的凸轮数据。此时,微处理器100变更凸轮表内的凸轮数据的排序,使得相位成为升序。通过以上步骤,可以增加凸轮表中有意义的凸轮数据的数量。
此外,相反地,也可以将有意义的凸轮数据变更为没有意义的凸轮数据。由此,通过以上处理,也可以减少凸轮表中的有意义的凸轮数据的数量。
(e5.索引通知)
正如基于图11的说明,赋予构成凸轮表的各凸轮数据索引编号。微处理器100向用户程序236通知该索引编号。由此,用户可以知道构成凸轮表的凸轮数据的索引。
尤其,微处理器100通过在电子凸轮的动作中向用户程序236通知索引,从而在图15表示的画面实现凸轮表的改写。
(F.由CPU单元的处理的总结)
(1)CPU单元13是执行动作控制和时序控制的PLC的运算单元。CPU单元13具有:微处理器100;以及存储器,存储用于进行使用对电子凸轮500的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮表520的动作控制的控制程序230以及凸轮表500。
微处理器100将控制程序230的执行结果输出到对应从动轴的控制对象设备。当微处理器100接受到用于变更上述多个相位中的某个相位以及与该相位对应的位移中的至少一个的第一命令后,将凸轮表520中的该相位以及位移中的至少一个变更为基于第一命令的值。微处理器100在进行上述变更后,使用变更后的凸轮表520A执行控制程序230,向控制对象设备输出该执行结果。
由此,CPU单元13能够容易地实现电子凸轮动作中的从轴(控制对象设备)的动作的变更。再有,CPU单元13可以微调装置的机械差。
更具体地,通过使用CPU单元13,在使用定义主轴和从轴的位置信息的凸轮表的电子凸轮动作中,可以在电子凸轮动作中使用用户程序236变更凸轮表的值,或者进行凸轮数据数量的增减。由此,CPU单元13可以调整从轴的动作。
(2)上述存储器包括非易失性存储器106以及易失性的主存储器104。非易失性存储器106存储变更前的凸轮表520。微处理器100从非易失性存储器106读取变更前的凸轮表520,将该读取的凸轮表520在主存储器104中展开。微处理器接受到展开后的上述第一命令后,在主存储器104中展开的凸轮表520上进行上述变更。微处理器100受到第二命令后,向所述非易失性存储器106再次存储在易失性存储器展开的上述变更后的凸轮表520A。由此,用户可以将改写后的凸轮表520A区别于凸轮表520而存储在非易失性存储器106。
(3)变更前的凸轮表520包括多个由一个位移和一个相位构成的凸轮数据。多个凸轮数据区分为对电子凸轮的动作产生影响的有意义的凸轮数据(第一凸轮数据)和对电子凸轮的动作不产生影响的没有意义的凸轮数据(第二凸轮数据)。微处理器100接受到上述第一命令后,将没有意义的凸轮数据的相位以及位移中的至少一个变更为基于第一命令的值。由此,用户在凸轮表520中可以添加有意义的凸轮数据。
(4)控制程序230包括动作运算程序234以及进行对动作运算程序234给予该动作运算程序234的执行所需的命令的处理的用户程序。各个凸轮数据对应索引编号(识别信息)。微处理器100在执行使用动作运算程序234的电子凸轮500的动作时,将索引编号识别信息通知给用户程序236。由此,用户能够得知构成凸轮表的凸轮数据的索引。
(5)微处理器100从非易失性存储器106读取变更前的凸轮表520后,判定在该凸轮表520中凸轮数据是否按照相位升序排列。当微处理器100判定为凸轮数据没有按照相位升序排列时,进行预先规定的报告。由此,用户可以认知需要将相位设为升序。
(6)当微处理器100执行控制程序230时,无论是否有凸轮表的变更,均以预先规定的间隔判定在控制程序230执行时使用的凸轮表中凸轮数据是否按照相位升序排列。当微处理器100判定为凸轮数据没有按照相位升序排列时,进行预先规定的报告。由此,用户可以认知需要将相位设为升序。
(7)微处理器100接受用于选择第一变更模式以及第二变更模式的其中之一的命令,当微处理器100接受到第一变更模式的选择时,若接受到上述第一命令,则在接受到该第一命令时的电子凸轮的周期以及该周期的下一个周期以后使用变更后的凸轮表520A执行所述程序。当微处理器100接受到第二变更模式的选择时,若接受到上述第一命令,则在接受到第一命令时的电子凸轮的周期使用变更前的凸轮520表执行控制程序230,在该周期的下一个周期以后使用变更后的凸轮表520A执行控制程序230。由此,CPU单元13在选择第二变更模式时,可以进行比第一变更模式时更稳定的控制。
(8)微处理器100按照每一个定周期T1重复动作运算程序234的执行,且按照每个作为定周期T1的整数倍的定周期T2重复用户程序236。用户程序236中用于进行上述相位以及/或者位移的变更的程序描述在定周期T1的任务或者定周期T2的任务之中。由此,可以在高优先级定周期任务或者低优先级定周期任务中记载改写凸轮表的控制命令。
然而,如图1所示,在PLC系统SYS中,PLC1的CPU单元13执行动作控制以及时序控制。更详细地,CPU13的微处理器100(参照图2)执行动作控制以及时序控制。
但是,也可以分别设置动作控制用的单元和时序控制用的单元,并通过不同的处理器(微处理器)执行动作控制和时序控制。也就是说,使得动作控制用的单元的处理器执行动作控制,使得时序控制用的单元的处理器执行时序控制。
或者,也可以将双核处理器或者多核处理器作为微处理器100,使得一个核执行动作控制,其余核中的任何一个执行时序控制,从而构成CPU单元13。
<G.支持装置>
接下来,说明用于制作在PLC1执行的程序以及PLC1的维护等的PLC支持装置8。
图21是表示PLC支持装置8将凸轮曲线510以及凸轮曲线510A显示到PLC支持装置8的显示器87上的状态的图。PLC支持装置8基于来自用户的指示读取存储在CPU单元13中的凸轮表520A。此外,PLC支持装置8从PLC支持装置8的非易失性存储器读取凸轮曲线510。PLC支持装置8在显示器87上显示凸轮曲线510以及基于凸轮表520A的凸轮曲线510A。
或者,PLC支持装置8基于来自用户的指示读取存储在CPU单元13的凸轮曲线510以及凸轮表519A,在显示器87上显示该读取的凸轮曲线510以及基于该读取的凸轮表520A的凸轮曲线510A。也就是说,将PLC支持装置8构成为从CPU单元13获取的凸轮曲线510以及基于从CPU单元13获取的凸轮表520A的凸轮曲线510A。
另外,PLC支持装置8保存凸轮曲线510而不保存改写前的凸轮表520,以抑制存储器内的数据量增加。其中,也可以由PLC支持装置8保存凸轮表520。
图21(a)是表示并列显示凸轮曲线510以及凸轮曲线510A的图。图21(b)是表示在凸轮曲线510上重叠凸轮曲线510A而显示时的图。另外,在图21(b)中,两个曲线510、510A重叠的部位只显示了表示凸轮曲线510的实线。
参照图21(a)、(b)可知,由于PLC支持装置8将基于变更前的凸轮表520的凸轮曲线510以及基于变更后的凸轮表520A的凸轮曲线510A显示在同一画面,用户可以直观地、容易地理解对凸轮表520进行了什么样的变更。尤其,图21(b)的情况比图21(a)的情况用户更能够明确地认知改写后的状态。
图22是表示在图21(a)、(b)的各个状态中,再次进行警告显示的状态的图。参照图22(a)、(b)可知,PLC支持装置8基于凸轮表520A计算控制对象即从动轴的加加速度(jerk,急动度)。当计算出的加加速度为预先规定的阈值以上时,PLC支持装置8在显示器87上显示表示加加速度为阈值以上的图像。PLC支持装置8例如警告显示在相位θc~θd之间超过了预先规定的最大急动度。
PLC支持装置8优选在凸轮曲线510A中将该超过阈值地部位以与没超过阈值的部位不同的显示方式在显示器87上显示。例如,优选将超过阈值的部位以与没超过阈值的部位不同的颜色显示。另外,上述阈值预先存储在PLC支持装置8的存储器中。
另外,在上述中警告显示在某个相位区间超过了预先规定的最大急动度,但不限于此,PLC支持装置8还可以对超过预先规定的最大加速度、最大减速度或者/以及最大速度的区间进行警告显示。此时,PLC支持装置8优选以用户能够区别的方式显示超过最大急动度的部位、超过最大加速度的部位以及超过最大减速度的部位。
此外,PLC支持装置8优选不仅对凸轮曲线510A,还对凸轮曲线510在显示器87上以与不超过该阈值的部位不同的显示方式显示超过上述阈值的部位。另外,关于凸轮曲线510A的阈值和凸轮曲线510的阈值,可以是相同值、也可以是不同值。
另外,用户可以使用PLC支持装置8指定从轴的最高速度、最大加速度、最大减速度以及最大急动度。此外,PLC支持装置8可以在凸轮曲线的图表中显示最大速度、最大加速度、最大急动度。另外,PLC支持装置8将最高速度显示在控制图表的速度图表上;将最大加速度以及最大减速度显示在控制图表的加减速度图表上;将最大急动度显示在控制图表的急动度图表上。此时,PLC支持装置8使用指定的单位显示速度、加速度、急动度的单位。(时间固定为秒)。
图23是表示连接到本发明的实施方式的CPU单元而使用的PLC支持装置8的硬件结构的示意图。参照图23可知,PLC支持装置8典型地由通用的计算机组成。另外,从维护性的观点来看,优选便携性很好的笔记本型个人电脑。
参照图23可知,PLC支持装置8包括:CPU81,执行包括OS在内的各种程序;ROM(ReadOnlyMemory,只读存储器)82,存储BIOS以及各种数据;存储器RAM83,提供用于存储在CPU81执行程序所需的数据的工作区域;硬盘(HDD)84,非易失性地存储在CPU81执行的程序等。
PLC支持装置8还包括接受来自用户的操作的键盘85和鼠标86以及用于向用户提示信息的显示器87。PLC支持装置8还包括用于与PLC1(CPU单元13)等进行通信的通信接口(IF)。
如后面叙述,在PLC支持装置8执行的各种程序被存储到CD-ROM9而流通。存储在该CD-ROM9的程序由CD-ROM(CompactDisk-ReadOnlyMemory,光盘只读存储器)驱动器88读取,并存储到硬盘(HDD)84等。或者通过上位的主计算机通过网络下载程序。
如上所述,PLC支持装置8使用通用的计算机实现,因此不进行更多的详细说明。
图24是表示连接到本发明的实施方式的CPU单元而使用的PLC支持装置8的软件结构的示意图。参照图24可知,在PLC支持装置8中执行OS310,提供能够执行PLC支持程序320中包含的各种程序的环境。
PLC支持程序320包括:编辑器程序321、编译器程序322、测试器程序323、模拟用时序命令运算程序324、模拟用动作运算程序325以及通信程序326。PLC支持程序320所包含的各程序,典型地,以存储在CD-ROM9的状态流通,并安装在PLC支持装置8中。
编辑器程序321提供用于制作用户程序236的输入以及编辑等功能。更具体地,编辑器程序321除提供用户操作键盘85以及鼠标86制作用户程序236的源程序330的功能外,还提供制作出来的源程序330的保存功能以及编辑功能。此外,编辑器程序321从外部接受源程序330的输入。
编译器程序322提供将源程序330编译,并生成能够在CPU单元13的微处理器100执行的目标程序形式的用户程序236的功能。此外,编译程序322提供编译源程序330而生成能够在PLC支持装置8的CPU81执行的目标程序形式的用户程序340的功能。该用户程序340是用于通过PLC支持装置8模拟(simulate)PLC1的动作的模拟用目标程序。
测试器程序323提供对用户程序的源程序进行测试的功能。作为该测试的内容,包括部分执行源程序中用户指定的范围、追踪源程序的执行中的变量值的时间上的变化等动作。
测试器程序323,还提供执行作为模拟用目标程序的用户程序340的功能。在该模拟时,使用PLC支持程序320所包含的模拟用时序命令运算程序324以及模拟用动作运算程序325以代替CPU单元13的系统程序所包含的时序命令运算程序232以及动作运算程序234。
通信程序326提供向PLC1的CPU单元13转发用户程序236的功能。
一般地,安装在PLC1的系统程序210在CPU单元13的制造阶段存储在CPU单元13的非易失性存储器106中。其中,如果系统程序210存储在CD-ROM9中,用户可以将CD-ROM9的系统程序210复制到PLC支持装置8,并利用通信程序326提供的功能向CPU单元13转发复制的系统程序210。再有,如果在CD-ROM9存储在PLC1的CPU单元13执行的实时OS200,实时OS200也可以通过用户操作向PLC1再次安装。
<H.支持装置的处理的总结>
(1)PLC支持装置8是用于进行在PLC的CPU单元13执行的用户程序236的制作的辅助装置。CPU单元13具有存储器,该存储器存储对电子凸轮500的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮曲线510以及变更了与多个相位中的一个相位对应的位移的凸轮表520A。PLC支持装置8具有CPU81;存储器,存储凸轮曲线510、用于辅助用户程序236的制作的PLC制作程序320;显示器87;通信IF89,用于与CPU单元13进行通信。CPU81接受到预先规定的命令后,使用通信IF89从CPU单元13获取凸轮曲线510和凸轮表520A。CPU81在显示器87上显示存储器中存储的凸轮曲线510或者从CPU单元13获取的凸轮曲线510以及上述取得的基于凸轮表520A的凸轮曲线510A。
也就是说,PLC支持装置8可以在显示器上比较显示变更前后的凸轮曲线。由此,用户可以在PLC支持装置8的显示器87上对比基于变更前(改写前)的凸轮表520的凸轮曲线510以及基于变更后的凸轮表520A的凸轮曲线510A。
(2)PLC支持程序320预先保存有关加加速度的阈值。CPU81基于凸轮表520A计算出作为从动轴的控制驱动设备的加加速度。CPU81在计算出的加加速度为上述阈值以上时,在显示器87上显示表示速度为阈值以上的图像。由此,用户可以确认有关加加速度的凸轮表的改写是否恰当。
(3)PLC支持程序320预先保存有关速度的阈值。CPU81基于凸轮表520A计算出作为从动轴的控制驱动设备的速度。CPU81在计算出的速度为上述阈值以上时,在显示器87上显示表示速度为阈值以上的图像。由此,用户可以确认有关加速度的凸轮表的改写是否恰当。
(4)PLC支持程序320预先保存有关加速度以及/或者减速度的阈值。CPU81基于凸轮表520A计算出作为从动轴的控制驱动设备的加速度。CPU81在计算出的加速度以及/或者减速度为上述阈值以上时,在显示器87上显示表示加速度以及/或者减速度为阈值以上的图像。另外,加速度有关的阈值和减速度有关的阈值可以相同,也可以不同。由此,用户可以确认有关加速度以及/或者减速度的凸轮表的改写是否恰当。
(5)CPU81在显示器上87上以与在凸轮曲线510A中未超过该阈值的部位不同的表示方式显示上述超过阈值的部位。由此,用户可以容易地判断超过阈值的部位。
应当理解,本次公开的实施方式在所有点上均为示例,而不是限制性的。本发明的范围并非上述的说明,意在包括由权利要求书表示的范围以及与权利要求书等同的意思以及范围内的所有变更。
标号说明
1PLC、2现场网络、3伺服电机驱动器、4伺服电机、5终端、6检测开关、7继电器、8PLC支持装置、10连接电缆、11系统总线、12电源单元、13,14,53IO单元、15特殊单元、19编码器、51终端总线、52通信耦合器、83RAM、87显示器、89通信IF、100微处理器、102芯片组、104主存储器、106非易失性存储器、108系统定时器、110连接器、120系统总线控制器、122,142控制电路、124系统总线控制电路、126,146缓存存储器、130系统总线连接器、140现场网络控制器、144现场网络控制电路200实时OS、210,220系统程序、212调度器程序、230控制程序、232时序命令运算程序、234动作运算程序、236,340用户程序、400主轴、500电子凸轮、500A机械式凸轮、501电子凸轮运算部、502插补部、503开关部、520,521,522,520A凸轮表、510510A凸轮曲线、530结构体排列、600从动轴、ME凸轮结构、SYS系统。
Claims (14)
1.一种执行动作控制以及时序控制的可编程逻辑控制器的运算单元,其中,具有:
处理器;以及
存储器,存储用于进行使用对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮表的动作控制的程序以及所述凸轮表,
所述处理器:
向与所述从动轴对应的控制对象设备输出所述程序的执行结果,
接受到用于变更所述多个相位中的某个相位以及与该相位对应的位移中的至少一个的第一命令后,将所述凸轮表中的该相位以及位移中的至少一个变更为基于所述第一命令的值,
在进行所述变更后,使用所述变更后的凸轮表来执行所述程序,向所述控制对象设备输出该执行结果,其中,
所述处理器:
接受用于选择第一变更模式以及第二变更模式的其中之一的指示,
当接受到所述第一变更模式的选择时,若接受到所述第一命令,则在接受到该第一命令时的所述电子凸轮的周期以及该周期的下一个周期以后使用所述变更后的凸轮表执行程序,
当接受到所述第二变更模式的选择时,若接受到所述第一命令,则在接受到第一命令时的所述电子凸轮的周期使用所述变更前的凸轮表执行所述程序,在该周期的下一个周期以后使用所述变更后的凸轮表执行所述程序。
2.如权利要求1所述的运算单元,其中,
所述存储器包括非易失性存储器和易失性存储器,
所述非易失性存储器存储所述变更前的凸轮表,
所述处理器:
从所述非易失性存储器读取所述变更前的凸轮表,并将该读取的凸轮表在所述易失性存储器展开,
在所述展开后接受到所述第一命令后,在所述易失性存储器中展开的凸轮表上进行所述变更,
接受到第二命令后,向所述非易失性存储器再次存储在所述易失性存储器展开的所述变更后的凸轮表。
3.如权利要求2所述的运算单元,其中,
所述变更前的凸轮表包括多个由一个位移和一个相位构成的凸轮数据,
所述多个凸轮数据区分为对电子凸轮的动作产生影响的第一凸轮数据和对电子凸轮的动作不产生影响的第二凸轮数据,
所述处理器接受到所述第一命令后,将所述第二凸轮数据的相位以及位移中的至少一个变更为基于所述第一命令的值。
4.如权利要求3所述的运算单元,其中,
所述程序包括动作运算程序以及进行对所述动作运算程序给予该动作运算程序的执行所需的指示的处理的用户程序,
各个所述凸轮数据对应识别信息,
所述处理器在执行使用所述动作运算程序的电子凸轮的动作时,将所述识别信息通知给所述用户程序。
5.如权利要求4所述的运算单元,其中,
所述处理器:
从所述非易失性存储器读取所述变更前的凸轮表后,判定在该凸轮表中所述凸轮数据是否按照所述相位升序排列,
当判定为所述凸轮数据没有按照所述相位升序排列时,进行预先规定的报告。
6.如权利要求4所述的运算单元,其中,
所述处理器:
在执行所述程序时,无论是否有所述凸轮表的变更,均以预先规定的间隔判定在所述程序执行时使用的凸轮表中所述凸轮数据是否按照所述相位升序排列,
当判定为所述凸轮数据没有按照所述相位升序排列时,进行预先规定的报告。
7.如权利要求1至6中的任意一项所述的运算单元,其中,
所述程序包括动作运算程序以及进行对所述动作运算程序给予该动作运算程序的执行所需的指示的处理的用户程序,
所述处理器:
按照每一个第一定周期重复动作运算程序的执行,
按照每个作为所述第一定周期的整数倍的第二定周期重复所述用户程序,
在所述用户程序中用于进行所述变更的程序描述在所述第一定周期的任务或者所述第二定周期的任务之中。
8.一种辅助装置,用于制作在可编程逻辑控制器的运算单元执行的用户程序,其中,
所述运算单元具有存储器,该存储器存储对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的第一凸轮曲线以及变更了与所述多个相位中的某个相位对应的位移的凸轮表,
所述辅助装置具有:
处理器;
存储器,存储所述第一凸轮曲线、以及辅助所述用户程序的制作的支持程序;
显示器;以及
通信接口,与所述运算单元通信,
所述处理器:
接受到预先规定的命令后,使用所述通信接口从所述运算单元获取所述第一凸轮曲线以及所述凸轮表,
所述显示器上显示所述存储器中存储的第一凸轮曲线或者所述获取的第一凸轮曲线、以及基于所述获取的凸轮表的第二凸轮曲线。
9.如权利要求8所述的辅助装置,其中,
所述支持程序预先保存阈值,
所述处理器:
基于所述凸轮表计算所述从动轴的加加速度,
当所述计算的加加速度为所述阈值以上时,在所述显示器上显示表示所述加加速度为阈值以上的图像。
10.如权利要求8所述的辅助装置,其中,
所述支持程序预先保存阈值,
所述处理器:
基于所述凸轮表计算所述从动轴的速度,
当所述计算的速度为所述阈值以上时,在所述显示器上显示表示所述速度为阈值以上的图像。
11.如权利要求8所述的辅助装置,其中,
所述支持程序预先保存阈值,
所述处理器:
基于所述凸轮表计算所述从动轴的加速度,
当所述计算的加速度为所述阈值以上时,在所述显示器上显示表示所述加速度为阈值以上的图像。
12.如权利要求9至11中的任何一项所述的辅助装置,其中,
所述处理器在所述显示器上以与所述第二凸轮曲线中未超过所述阈值的部位不同的显示方式显示超过所述阈值的部位。
13.一种输出控制方法,应用于执行动作控制和时序控制的可编程逻辑控制器的运算单元,其中,
所述运算单元存储用于进行使用对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的凸轮表的动作控制的程序以及所述凸轮表,
所述输出控制方法包括:
所述运算单元的处理器向与所述从动轴对应的控制对象设备输出所述程序的执行结果的步骤;
所述处理器接受到用于变更所述多个相位中的某个相位以及与该相位对应的位移中的至少一个的第一命令后,将所述凸轮表中的该相位以及位移中的至少一个变更为基于所述第一命令的值的步骤;以及
所述处理器在进行所述变更后,使用所述变更后的凸轮表来执行程序,向所述控制对象设备输出该执行结果的步骤,其中,
所述输出控制方法还包括:
所述处理器接受用于选择第一变更模式以及第二变更模式的其中之一的指示的步骤;
所述处理器当接受到所述第一变更模式的选择时,若接受到所述第一命令,则在接受到该第一命令时的所述电子凸轮的周期以及该周期的下一个周期以后使用所述变更后的凸轮表执行程序的步骤;以及
所述处理器当接受到所述第二变更模式的选择时,若接受到所述第一命令,则在接受到第一命令时的所述电子凸轮的周期使用所述变更前的凸轮表执行所述程序,在该周期的下一个周期以后使用所述变更后的凸轮表执行所述程序的步骤。
14.一种显示控制方法,应用于用于制作在可编程逻辑控制器的运算单元中执行的用户程序的辅助装置,其中,
所述运算单元存储对电子凸轮的主轴的各个相位对应该电子凸轮的从动轴的位移的第一凸轮曲线以及变更了与所述多个相位中的某个相位对应的位移的凸轮表,
所述辅助装置在存储器中存储所述第一凸轮曲线以及辅助所述用户程序的制作的支持程序,
所述显示控制方法包括:
所述辅助装置的处理器接受到预先规定的命令后,使用通信接口从所述运算单元获取所述第一凸轮曲线以及所述凸轮表的步骤;以及
所述处理器在显示器上显示所述存储器中存储的第一凸轮曲线或者所述获取的第一凸轮曲线、以及基于所述获取的凸轮表的第二凸轮曲线的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011056768A JP4807475B1 (ja) | 2011-03-15 | 2011-03-15 | 演算ユニット、出力制御方法、およびプログラム |
JP2011-056768 | 2011-03-15 | ||
PCT/JP2011/056779 WO2012124143A1 (ja) | 2011-03-15 | 2011-03-22 | 演算ユニット、支援装置、出力制御方法、表示制御方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103403632A CN103403632A (zh) | 2013-11-20 |
CN103403632B true CN103403632B (zh) | 2016-02-17 |
Family
ID=45044135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180068884.9A Active CN103403632B (zh) | 2011-03-15 | 2011-03-22 | 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9891610B2 (zh) |
EP (1) | EP2680095B1 (zh) |
JP (1) | JP4807475B1 (zh) |
CN (1) | CN103403632B (zh) |
WO (1) | WO2012124143A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103107766A (zh) * | 2011-11-15 | 2013-05-15 | 上海北玻玻璃技术工业有限公司 | 太阳能薄膜电池导电玻璃磁控溅射设备上的伺服控制系统 |
CN104039513B (zh) | 2012-01-13 | 2015-12-23 | 三菱电机株式会社 | 风险测定系统 |
CN102650862B (zh) * | 2012-05-15 | 2016-06-08 | 深圳市汇川控制技术有限公司 | 可编程逻辑控制器的电子凸轮控制系统及方法 |
JP2014035564A (ja) * | 2012-08-07 | 2014-02-24 | Fanuc Ltd | マルチコアプロセッサを有する数値制御装置 |
CN102929191B (zh) * | 2012-10-18 | 2014-11-05 | 中达光电工业(吴江)有限公司 | 控制多个驱动器同步工作的方法及其装置 |
JP6136228B2 (ja) * | 2012-12-14 | 2017-05-31 | オムロン株式会社 | 通信カプラ、通信システム、制御方法、およびプログラム |
JP6038189B2 (ja) * | 2013-02-01 | 2016-12-07 | 三菱電機株式会社 | 同期制御装置 |
CN103336886B (zh) * | 2013-06-03 | 2016-12-28 | 北京理工大学 | 一种柔性配气凸轮曲线的设计方法 |
EP2887165A1 (en) | 2013-12-20 | 2015-06-24 | Omron Corporation | Computation unit, output control method, and program |
JP6508192B2 (ja) * | 2014-03-14 | 2019-05-08 | オムロン株式会社 | 制御装置及び制御システム |
US10180674B2 (en) | 2014-03-14 | 2019-01-15 | Omron Corporation | Controller and control system |
WO2015173886A1 (ja) * | 2014-05-13 | 2015-11-19 | 三菱電機株式会社 | 制御装置および制御方法 |
JP6235457B2 (ja) * | 2014-12-25 | 2017-11-22 | ファナック株式会社 | テーブル形式データによる運転を行う数値制御装置 |
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 | ファナック株式会社 | カムデータ表示装置 |
EP3321754B1 (de) * | 2016-11-11 | 2020-09-09 | Siemens Aktiengesellschaft | Verfahren zur optimierung von bewegungsprofilen, computerprogrammprodukt, steuereinrichtung und anlage oder roboter |
WO2018158956A1 (ja) * | 2017-03-03 | 2018-09-07 | 三菱電機株式会社 | データ処理装置、データ処理方法、設定管理装置およびデータ処理システム |
JP7087316B2 (ja) * | 2017-09-27 | 2022-06-21 | オムロン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP6946909B2 (ja) * | 2017-09-29 | 2021-10-13 | オムロン株式会社 | 制御システムおよび制御装置 |
JP6874706B2 (ja) * | 2018-02-07 | 2021-05-19 | オムロン株式会社 | アプリケーションプログラムを生成する方法、装置、プログラム |
JP6452916B1 (ja) * | 2018-03-28 | 2019-01-16 | 三菱電機株式会社 | プログラミング支援装置、プログラミング支援方法およびプログラム |
KR102132857B1 (ko) * | 2018-05-03 | 2020-07-10 | 엘에스일렉트릭(주) | Plc의 모터 구동 제어 방법 |
CN109063645B (zh) * | 2018-08-01 | 2022-04-15 | 歌尔光学科技有限公司 | 一种滤波方法、设备及存储介质 |
JP6573750B1 (ja) | 2019-02-07 | 2019-09-11 | 三菱電機株式会社 | 制御データ作成装置、制御データ作成方法、および制御データ作成プログラム |
JP6939832B2 (ja) | 2019-03-15 | 2021-09-22 | オムロン株式会社 | 制御装置 |
JP7276359B2 (ja) * | 2021-01-07 | 2023-05-18 | 株式会社安川電機 | 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 |
CN113984424B (zh) * | 2021-11-08 | 2023-10-27 | 深圳市汇川技术股份有限公司 | 电子凸轮功能应用的诊断方法、装置、设备及存储介质 |
JP7399349B1 (ja) * | 2022-09-21 | 2023-12-15 | 三菱電機株式会社 | 設定支援装置、制御システム、設定支援方法及びプログラム |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0382137A (ja) * | 1989-08-25 | 1991-04-08 | Hitachi Ltd | 配線チェック方法 |
JPH03296109A (ja) * | 1990-04-16 | 1991-12-26 | Mitsubishi Electric Corp | モーションコントローラ |
JP2845350B2 (ja) * | 1990-07-19 | 1999-01-13 | 富士電機株式会社 | カム動作位置決めシステム |
JPH06314118A (ja) * | 1993-04-28 | 1994-11-08 | Mitsubishi Electric Corp | モニタ装置 |
GB2293894B (en) * | 1994-10-03 | 1998-05-13 | Ford Motor Co | Variable camshaft timing system |
JP3551328B2 (ja) | 1994-10-28 | 2004-08-04 | 株式会社安川電機 | 同期制御装置 |
JP3057657B2 (ja) | 1995-06-09 | 2000-07-04 | 横河プレシジョン株式会社 | モータの位置決め制御システム |
JP2938374B2 (ja) * | 1995-09-07 | 1999-08-23 | 株式会社東芝 | 順序シーケンス・プログラムの作成装置及び制御装置 |
JP3551345B2 (ja) | 1996-04-19 | 2004-08-04 | 株式会社安川電機 | 同期制御装置 |
JP3770283B2 (ja) | 1996-12-04 | 2006-04-26 | 株式会社安川電機 | 同期制御装置 |
JPH11110047A (ja) * | 1997-10-07 | 1999-04-23 | Fanuc Ltd | モーションコントローラ |
JP3296419B2 (ja) * | 1998-03-12 | 2002-07-02 | 株式会社安川電機 | サーボシステムの制御装置および制御方法 |
US6246201B1 (en) * | 1999-12-30 | 2001-06-12 | Ge Fanuc Automation North America Inc. | Electronic cam control system |
WO2002091090A1 (fr) * | 2001-04-27 | 2002-11-14 | Citizen Watch Co., Ltd. | Tour automatique et procede et dispositif pour le commander |
JP2004326618A (ja) * | 2003-04-25 | 2004-11-18 | Star Micronics Co Ltd | 工作機械の数値制御装置 |
JP2005209093A (ja) * | 2004-01-26 | 2005-08-04 | Yaskawa Electric Corp | モーションプログラミング装置 |
JP4442358B2 (ja) * | 2004-08-02 | 2010-03-31 | 株式会社デンソーウェーブ | 制御装置及びコンピュータプログラム |
US7904184B2 (en) * | 2004-11-23 | 2011-03-08 | Rockwell Automation Technologies, Inc. | Motion control timing models |
JP4494280B2 (ja) | 2005-04-11 | 2010-06-30 | 三菱電機株式会社 | 電子カム制御装置 |
JP2007140655A (ja) | 2005-11-15 | 2007-06-07 | Yaskawa Electric Corp | モーションコントローラ |
DE102007006421A1 (de) * | 2007-02-05 | 2008-08-07 | Robert Bosch Gmbh | Verfahren zum Betreiben von gesteuerten Maschinen |
KR100940039B1 (ko) * | 2007-10-23 | 2010-02-04 | 문민석 | Plc 제어 시스템 및 그 자가 진단 방법 |
JP5121578B2 (ja) * | 2008-05-29 | 2013-01-16 | 三菱電機株式会社 | 電子カム制御装置 |
JP5256114B2 (ja) | 2009-05-11 | 2013-08-07 | 花王株式会社 | 複合伸縮部材の製造方法およびその製造装置 |
JP2010282419A (ja) * | 2009-06-04 | 2010-12-16 | Fanuc Ltd | 非接触加工機 |
-
2011
- 2011-03-15 JP JP2011056768A patent/JP4807475B1/ja active Active
- 2011-03-22 CN CN201180068884.9A patent/CN103403632B/zh active Active
- 2011-03-22 EP EP11860974.2A patent/EP2680095B1/en active Active
- 2011-03-22 US US14/005,298 patent/US9891610B2/en active Active
- 2011-03-22 WO PCT/JP2011/056779 patent/WO2012124143A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2680095A1 (en) | 2014-01-01 |
US20140058565A1 (en) | 2014-02-27 |
EP2680095A4 (en) | 2015-12-30 |
US9891610B2 (en) | 2018-02-13 |
EP2680095B1 (en) | 2018-06-20 |
WO2012124143A1 (ja) | 2012-09-20 |
CN103403632A (zh) | 2013-11-20 |
JP4807475B1 (ja) | 2011-11-02 |
JP2012194664A (ja) | 2012-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103403632B (zh) | 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序 | |
CN103403630B (zh) | 运算单元、输出控制方法和程序 | |
CN103403631B (zh) | 可编程逻辑控制器的cpu单元 | |
CN102792237B (zh) | 可编程逻辑控制器的cpu单元 | |
CN103477290B (zh) | 控制器辅助装置 | |
CN103562807B (zh) | Plc的cpu单元、plc系统、plc辅助装置 | |
US10317868B2 (en) | System and method for testing a distributed control system of an industrial plant | |
EP2498156B1 (en) | Industrial simulation using redirected I/O module configurations | |
US7174225B2 (en) | Method and system for simulating processing of a workpiece with a machine tool | |
EP1691245A1 (en) | Component-based automation | |
CN104731022A (zh) | 控制单元、输出控制方法和程序 | |
JP6299064B2 (ja) | 制御装置、制御方法、およびプログラム | |
EP3441830B1 (en) | Information processing device, information processing method, and information processing program | |
US20080147206A1 (en) | Control system for Real Time Applications for Cooperative Industrial Robots | |
CN103403633A (zh) | 可编程控制器的中央处理器单元、可编程控制器用系统程序以及存储了可编程控制器用系统程序的记录介质 | |
JP2001034596A (ja) | 単一のコンピュータ上で機能的に統合された分散型処理制御システム | |
EP3441831B1 (en) | Information processing device, information processing method, and information processing program | |
CN105278402A (zh) | 信息处理装置、信息处理方法以及程序 | |
CN102792235B (zh) | 控制器支持装置、以及估计控制程序的执行时间的方法 | |
US20160291556A1 (en) | Controller | |
US7770045B2 (en) | Method and apparatus for operating cooperating, differing devices | |
US20230101517A1 (en) | Robot control system and control method | |
EP2672345A1 (en) | Cpu of plc, system program for plc, and recording medium storing system program for plc | |
JP7327225B2 (ja) | ロボット制御システムおよび制御方法 | |
JP2012194955A (ja) | 支援装置、表示制御方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |