控制装置的制造方法

文档序号:10653420阅读:587来源:国知局
控制装置的制造方法
【专利摘要】本发明提供一种控制装置,能够在通过并行执行多个控制程序来实现多个马达的控制的情况下,能够容易地实现控制程序间的同步。以规定执行周期并行地周期性执行多个控制程序。交接控制程序执行开始的时机变为一致的时机数据。在第一控制程序执行结束后,将第二控制程序所参照的轴变量从第一控制程序的存储器上的执行区域复制至第二控制程序的缓存区域。
【专利说明】
控制装置
技术领域
[0001]本发明涉及在为了控制机械或设备的动作而使用的控制装置中,在利用多内核处理器来以控制程序并行执行多个马达的控制时的多个控制程序间的数据同步。
【背景技术】
[0002]作为机械、设备等的动作控制,有时包括用于控制马达运动的动作控制。这样的动作控制,典型的已知有可编程控制器(programmable controller),其利用一个CPU来执行动作计算程序和顺序(sequence)的计算,该动作计算程序用于周期性地对用于驱动马达的马达驱动器输出指令值。
[0003]例如在专利文献I中,公开了可编程控制器执行动作计算程序,来周期性地对用于驱动马达的马达驱动器输出指令值。
[0004]在专利文献I中,包括以第一控制循环(周期)进行动作的第一控制程序(短周期动作程序)和第二动作计算程序(长周期动作程序),该第一控制程序包括第一动作计算程序。第二控制程序用于以第一控制循环的整数倍的周期来对马达输出指令值,每当要执行第二控制程序时,在执行第一控制程序结束后开始执行第二控制程序。
[0005]在第二控制程序没有在规定控制周期内结束的情况下,在第一控制程序的下个控制循环中,在执行第一控制程序结束后执行第二控制程序的未处理部分。
[0006]现有技术文献
[0007]专利文献
[0008]专利文献1:日本专利4752984号公报
[0009]在对这些控制装置所用的马达进行控制的设备中,希望缩短进行完如下处理的时间,这些处理包括:计算从作为控制对象设备的设备输入的输入数据,输出计算结果来作为针对马达的指令值。
[0010]引用文献所记载的发明有如下启示:将包括多个马达的控制在内的控制程序,分割为短周期动作程序和长周期动作程序,从而能够以更短周期执行控制程序。
[0011]然而,即使是对输出控制指令值的周期可以比较长的马达进行控制的控制程序,有时也需要写成与对需要以短周期输出控制指令值的马达所进行的控制相同步的控制程序。
[0012]在引用文献的记载的发明中,就以短周期动作程序和长周期动作程序来计算指令值的马达而言,前提在于相互独立。即,前提在于,每当执行短周期动作控制程序和长周期动作控制程序时,向马达发送的控制指令值和马达的当前状态的控制数据不进行交接。
[0013]如果要把握多个控制程序开始执行的时机、更新在控制程序中参照的值的时机并记录其中的数据交接,则会成为用户的负担。

【发明内容】

[0014]本发明的目的在于,提供一种控制装置,在通过并行执行多个控制程序来实现多个马达的控制的情况下,能够容易地实现控制程序间的同步。
[0015]为了解决上述课题,本发明的控制装置,以规定周期反复执行多个控制程序,从而对控制对象进行控制,该控制装置的特征在于,具有多内核处理器和用于存储所述控制程序、系统程序、时序管理程序的存储器,所述多个控制程序包括:第一控制程序,其以第一执行周期来执行,包括用于计算针对马达的控制指令值的第一动作计算程序,第二控制程序,其以第二执行周期来执行,包括用于计算针对马达的控制指令值的第二动作计算程序;所述时序管理程序,包括使多内核处理器开始并行执行所述第一控制程序以及所述第二控制程序的命令;所述系统程序包括:存储命令,其用于在所述第一控制程序执行结束的时点,将用于所述第一控制程序进行计算的与所述马达的控制相关的变量,存储至所述第二控制程序的缓存,复制命令,其用于在开始执行所述第二控制程序的时机,从所述第二控制程序的缓存中读取信息并将其复制到所述控制程序的工作区域;针对所述控制程序的执行周期,在预先设定的时机执行所述控制程序间的数据交接。
[0016]本发明能够达到如下效果:在通过并行执行多个控制程序来实现多个马达的控制的情况下,能够容易地实现控制程序间的同步。
【附图说明】
[0017]图1是表示本发明的实施方式的控制装置系统的概略结构的示意图。
[0018]图2是表示CPU单元的硬件结构的图。
[0019]图3是表示本发明的实施方式的CPU单元所执行的软件结构的示意图。
[0020]图4是表示本发明的实施方式的控制装置的硬件结构的示意图。
[0021]图5是表示控制装置中的控制装置的设定步骤的一例的图。
[0022]图6是表示进行控制程序的设定的画面例的图。
[0023]图7是表示程序的分配设定的画面例的图。
[0024]图8是表示对控制程序分配的图片的图。
[0025]图9表示多个核心以恒定周期所执行第一控制程序和第二控制程序的例子。
[0026]图10是表不轴变量的交接时机的例子。
[0027]其中,附图标记说明如下:
[0028]218 1处理程序
[0029]234动作计算程序
[0030]236用户程序
[0031]214输出处理程序
[0032]230控制程序
[0033]1、8控制装置
[0034]11控制装置系统总线
[0035]216输入处理程序
[0036]14、5310 单元
[0037]122、142DMA 控制回路
[0038]210、220 系统程序
【具体实施方式】
[0039]<系统结构>
[0040]本实施方式的控制装置,对机械或设备等的控制对象进行控制。本实施方式的控制装置作为其结构要素而包括CPU单元。CPU单元包括:微处理器、包括微处理器的主存储器在内的存储单元、通信回路(电路)。本实施方式的控制装置的CPU单元,反复执行输出数据的发送、输入数据的接收、用于使用输入数据生成输出数据的控制程序,从而来对控制对象进行控制。
[0041]存储单元存储控制程序以及系统程序,该系统程序用于控制该控制程序的执行以及控制输入数据以及输出数据的输入输出。微处理器执行存储在存储单元中的系统程序以及控制程序。
[0042]通信回路发送输出数据以及接收输入数据。如后述,本实施方式的控制装置,具有以下回路来作为通信回路:第一通信回路,其通过控制装置系统总线来进行输出数据的发送以及输入数据的接收;第二通信回路,其通过现场网络来进行输出数据的发送以及输入数据的接收。
[0043]首先,参照图1,来说明本实施方式的控制装置I的系统结构。图是表示本发明的实施方式的控制装置系统的概略结构的示意图。参照图1,控制装置系统SYS包括:控制装置1、经由现场网络2而与控制装置I连接的伺服马达驱动器(伺服驱动器)3以及远程1终端5、作为现场设备的传感器6以及继电器7。另外,在控制装置I中,经由连接电缆10等而连接控制装置8。
[0044]控制装置I包括:主要进行计算处理的CPU单元13、一个以上的1单元14、特殊单元15。这些单元能够经由控制装置系统总线11而相互交换数据。另外,在这些单元中,由电源单元12提供恰当电压的电源。此外,作为控制装置I而构成的各单元,是由控制装置制造商提供的,因此,控制装置系统总线11 (PLC系统总线)一般是由每个控制装置制造商独自开发并使用的。与此相对,如后述,就现场网络2多采用公开的规格等,以使得能够连接不同制造商的产品。
[0045]针对CPU单元13的详细结构,参照图2而在后叙述。1单元14是进行一般的输入输出处理的单元,负责开/关(0N/0FF)这样的2值化的数据的输入输出。S卩,1单元14采集这样的信息,该信息表示传感器6等的传感器是检测出某个对象物的状态(开:0N)还是什么对象物都没检测出来的状态(关:0FF)。另外,1单元14针对继电器7或促动器这样的输出目标,输出使其激活的指令(开:0N)或不使其激活的指令(关:0FF)。
[0046]特殊单元15如下功能:模拟数据的输入输出、温度控制、通过特定的通信方式来进行通信,而这些都是1单元14不支持的功能。
[0047]现场网络2传送与CPU单元13交换的各种数据。作为现场网络2,典型的能够使用各种产业用以太网(注册商标)。作为产业用以太网(注册商标),例如已知EtherCAT (注册商标)、ProfinetIRT^MECHATROLINK (注册商标)-1I1、Power I ink、SERCOS (注册商标)-1I1、CIPMot1n等,能够在其中采用任意的网络。进而,也可以采用产业用以太网(注册商标)以外的现场网络。例如,如果不进行动作控制,贝1J可以使用DeviceNet、CompoNet/IP (注册商标)等。在本实施方式的控制装置系统SYS中,典型的,在本实施方式中例示出作为产业用以太网(注册商标)的EtherCAT(注册商标)来作为现场网络2的结构。
[0048]此外,控制装置I使CPU单元13具有1单元14的功能、伺服马达驱动器3的功能,就这样的内置功能所能够达到的范围而言,也可以不经由1单元14或伺服马达驱动器3等而由CPU单元13直接对控制对象进行控制。
[0049]伺服马达驱动器3,经由现场网络2而与CPU单元13连接,并且,按照来自CPU单元13的指令值来驱动伺服马达4。更具体而言,伺服马达驱动器3以一恒定周期(规定周期)从控制装置I接收位置指令值、速度指令值、扭矩指令值这样的指令值。另外,伺服马达驱动器3从与伺服马达4的轴连接的位置传感器(旋转编码器)或扭矩传感器这样的检测器中,取得位置、速度(典型的,根据本次位置和前次位置的差而计算出)、扭矩这样的伺服马达4的动作的实测值。并且,伺服马达驱动器3将来自CPU单元13的指令值设定为目标值,将实测值作为反馈值,来进行反馈控制。即,伺服马达驱动器3调整用于驱动伺服马达4的电流,以使得实测值接近目标值。此外,伺服马达驱动器3有时也称为伺服马达放大器。
[0050]另外,图1中,例示出伺服马达4与伺服马达驱动器3组合的系统例子,但也能够采用其它结构、例如采用脉冲马达与脉冲马达驱动器组合的系统。
[0051]在图1所示的控制装置系统SYS的现场网络2中,还连接有远程1终端5。远程1终端5基本上与1单元14同样地,进行一般的输入输出处理。更具体而言,远程1终端5包括通信耦合器52和一个以上的1单元53,该通信耦合器52用于利用现场网络2进行数据传送的处理。这些单元,经由远程1终端总线51而能够相互交换数据。
[0052]在后面叙述控制装置支持装置8。
[0053]< CPU单元的硬件结构>
[0054]接下来,参照图2,说明CPU单元13的硬件结构。图2是表示本发明的实施方式的CPU单元13的硬件结构的示意图。参照图2,CPU单元13包括:微处理器100、微处理器100的处理器核心140、芯片组102、主存储器104、非易失性存储器106、系统计时器108、通信控制器150、系统总线控制器120、现场网络控制器140、USB连接器(未图示)。芯片组102与其它组成构件之间分别经由各种总线连接(结合)。
[0055]微处理器100以及芯片组102,典型的以通用的计算机体系结构为基准来构成。即,微处理器100解释并执行从芯片组102按照内部时钟而顺次供给的命令代码。芯片组102,在所连接的各种组成构件之间进行内部的数据交换,并且,生成微处理器100所需的命令代码。进而,芯片组102发挥高速缓存的功能,高速缓存由微处理器100进行计算处理而得的结果的数据等。
[0056]CPU单元13具有主存储器104以及非易失性存储器106来作为存储单元。
[0057]主存储器104是易失性的存储区域(RAM),对CPU单元13投入电源后,保存应该由微处理器100执行的各种程序。另外,主存储器104也用作由微处理器100执行各种程序时的工作用存储器。作为这样的主存储器104,可以使用DRAM (Dynamic Random AccessMemory:动态随机存取存储器)、SRAM (Static Random Access Memory:静态随机存取存储器)这样的设备。
[0058]另一方面,非易失性存储器106以非易失的方式保存实时OS (Operating System:操作系统)、控制装置I的系统程序、用户程序、动作计算程序、系统设定参数这样的数据。这些程序或数据,能够根据需要而复制到主存储器104中,能够由微处理器100访问。作为这样的非易失性存储器106,能够使用闪存器这样的半导体存储器。或者,能够使用磁盘这样的磁记录介质、DVD-RAM (Digital Versatile Disk Random Access Memory:数字多功能光盘-随机存取存储器)这样的光学记录介质等。
[0059]通信控制器典型的由FPGA(Field-Programmable Gate Array:即现场可编程门阵列)、ASIC(Applicat1n Specific Integrated Circuits:专用集成电路)等的硬件构成,能够经由芯片组来与主存储器之间收发数据。通信控制器具有用于与主存储器进行数据通信的存储器区域,针对后述的系统总线控制器、现场网络控制器,传送从主存储器传送来的数据。另外,针对系统总线控制器以及现场网络控制器发出命令,使它们将从主存储器传送来的数据发送出去。
[0060]通信控制器还具有系统计时器108。系统计时器108按照每个一恒定周期(规定周期)产生中断信号,将中断信号提供至该微处理器100。典型的,根据硬件的规格,能够以多个不同的周期来分别产生中断信号,但也能够设定为通过OS (Operating System:操作系统)或B10S(Basic Input Output System:基础输入输出系统)等来以任意周期产生中断信号。利用该系统计时器108产生的中断信号,能够实现后述那样的针对每个执行周期的控制动作。
[0061]作为通信回路,有系统总线控制器120以及现场网络控制器140。这些通信回路进行输出数据的发送以及输入数据的接收。
[0062]此外,在CPU单元13自身具有10单元14或伺服马达驱动器3的功能的情况下,本来由控制装置系统总线控制器120进行的输出数据的发送以及输入数据的接收,变为将承担这些功能的部分作为通信对方(通信目标)而在CPU单元13的内部进行的发送以及接收。
[0063]通信控制器150控制经由控制装置系统总线11的数据交换。更具体而言,包括系统总线控制器120、DMA (Dynamic Memory Access:动态存储器存取)控制回路122、缓存(缓冲存储器)126。
[0064]缓存(缓冲区)126发挥发送缓存和接收缓存的功能,发送缓存用于对要经由控制装置系统总线11而向其他单元输出的数据(以下也称为“输出数据”或“第一输出数据”)进行缓冲存储,接收缓存用于对经由控制装置系统总线11而从其它单元输入的数据(以下也可称为“输入数据”或“第一输入数据”)进行缓冲存储。此外,通过微处理器100的计算处理而生成的第一输出数据,原本存在主存储器104中。并且,应该向特定单元传送的第一输出数据,被从主存储器104中读出,暂时保存在缓存126中。另外,从其它单元传送来的第一输入数据,被暂时保存在缓存126后,进而被转移至主存储器104。
[0065]DMA控制回路122从主存储器104向缓存126传送第一输出数据,以及从缓存126向主存储器104传送第一输入数据。
[0066]通信控制器,在与控制装置系统总线11连接的其它单元之间,进行发送缓存126的第一输出数据的处理以及接收第一输入数据并将其存储在缓存126中的处理。典型的,系统总线通信控制器提供控制装置系统总线11中的物理层以及数据链路层的功能。
[0067]现场网络控制器140,控制经由现场网络2的数据交换。S卩,现场网络控制器140按照所用的现场网络2的规格,控制输出数据的发送以及输入数据的接收。如上述,本实施方式中采用按照EtheerCAT (注册商标)规格的现场网络2,因此,能够使用包括用于通常的以太网(注册商标)通信的硬件在内的现场网络控制器140。在EtheerCAT(注册商标)规格中,能够使用一般的以太网(注册商标)控制器,来实现按照通常的以太网(注册商标)规格的通信协议。其中,根据作为现场网络2而采用的产业用以太网(注册商标)的种类,也能够采用与通常通信协议不同的专用规格的通信协议所对应的特别规格的以太网(注册商标)控制器。另外,在采用产业用以太网(注册商标)以外的现场网络的情况下,能够使用与该规格对应的专用的现场网络控制器。
[0068]缓存发挥经由现场网络2向其它装置等输出数据(以下也称为“输出数据”或“第二输出数据”)的发送缓存以及经由现场网络2而从其它装置等输入(接收)数据(以下也称为“输入数据”或“第二输入数据”)的接收缓存的功能。微处理器100通过计算处理而生成的第二输出数据,原本被存储在主存储器104中。并且,应该向特定的装置传送的第二输出数据,被从主存储器104读出而暂时存储在通信回路缓存146中。另外,从其它装置传送来的第二输入数据暂时被保存在缓存146中,进而被转移至主存储器104。
[0069]DMA控制回路142从主存储器104向缓存传送第二输出数据,以及从缓存向主存储器104传送第二输入数据。
[0070]现场网络通信控制器144,在与现场网络2连接的其它装置之间,进行发送缓存的第二输出数据的处理以及接收第二输入数据并将其存储在通信回路缓存中的处理。典型的,现场网络通信控制器144提供现场网络2中的物理层以及数据链路层的功能。
[0071]USB连接器是用于对控制装置支持装置8与CPU单元13进行连接的接口。典型的,从控制装置支持装置8传送来的能够由CPU单元13的微处理器100执行的程序等,经由USB连接器110而被读入至控制装置I。
[0072]< C.CPU单元的软件结构>
[0073]接下来,参照图3,说明用于提供本实施方式的各种功能的软件群。这些软件所含的命令代码,在恰当时机被读出,由CPU单元13的微处理器100、处理器核心140执行。
[0074]图3是表示本发明的实施方式的CPU单元13所执行的软件结构的示意图。参照图3,作为CPU单元13所执行的软件,构成实时0S200、系统程序210、用户程序236这三层。
[0075]实时0S200是根据CPU单元13的计算机体系结构而设计的,提供用于微处理器100执行系统程序210以及用户程序236的基本执行环境。
[0076]系统程序210是用于提供控制装置I的功能的软件群。具体而言,系统程序210包括时序管理程序212、输出处理程序214、输入处理程序216、顺序命令计算程序(顺序计算程序)232、动作计算程序234、其它系统程序220。此外,一般而言,输出处理程序214以及输入处理程序216被连续(作为一个整体)执行,因此,有时将这些程序统称为1处理程序218。
[0077]用户程序236是根据用户的控制目的而作成的。即,是根据使用控制装置系统SYS进行控制的对象的生产线(工序)等,任意设计的程序。
[0078]如后述,用户程序236与顺序命令计算程序232以及动作计算程序234联动,来实现用户的控制目的。即,用户程序236利用由顺序命令计算程序232以及动作计算程序234提供的命令、函数、功能模块等,来实现程序的动作。因此,有时将用户程序236、顺序命令计算程序232以及动作计算程序234统称为控制程序230。
[0079]这样,CPU单元13的微处理器100执行存储在存储单元中的系统程序210以及控制程序230。
[0080]以下,详细说明各程序。
[0081]用户程序236如上述所述,是根据用户的控制目的(例如,对象的生产线或工序)而作成的。用户程序236,典型的,成为能够由CPU单元13的微处理器100执行的对象程序形式。在控制装置支持装置8等中,该用户程序236是对由梯形语言(ladder language)等记述的源程序进行编译而生成的。并且,所生成的对象程序形式的用户程序236被从控制装置支持装置8经由连接电缆10传送至CPU单元13,存储在非易失性存储器106等中。
[0082]时序管理程序212,针对输出处理程序214、输入处理程序216以及控制程序230,控制各执行循环主的处理开始以及处理中断后的处理重新开始。更具体而言,时序管理程序212控制用户程序236以及动作计算程序234的执行。
[0083]在本实施方式的CPU单元13中,采用与动作计算程序234相适合的一恒定周期(规定周期)的执行循环(控制循环),作为整个处理的通用循环。因此,在一个控制循环内,难以使全部处理执行结束,因此,根据应该执行的处理的优先级等,区分为在各控制循环中应该执行完的处理和也可以分配在多个控制循环中执行的处理。时序管理程序212管理这些区分后的处理的执行顺序等。更具体而言,时序管理程序212,在各控制循环期间内优先执行优先级高的程序。
[0084]输出处理程序214,将通过执行用户程序236 (控制程序230)而生成的输出数据,重新配置成适于向通信控制器传送的形式。在系统总线控制器120或现场网络控制器140需要来自微处理器100的用于进行发送的指示的情况下,输出处理程序214发出这样的指不O
[0085]输入处理程序216将由控制装置系统总线控制器120以及/或现场网络控制器140接收的输入数据,重新配置成适于控制程序230使用的形式。
[0086]在由用户程序236使用的某种顺序命令被执行时,调用顺序命令计算程序232,用于实现其命令。
[0087]按照用户程序236的指示来执行动作计算程序234,按照用户程序236在每次执行时,计算要对伺服马达驱动器3或脉冲马达驱动器这样的马达驱动器输出的指令值。
[0088]其它系统程序220是图3中分别所示的程序以外的程序,总括表示用于实现控制装置I的各种功能的程序群。该程序例如使微处理器执行与机械的控制控制装置的通信、来自外部设备的要求的处理、自身诊断处理。另外,其它系统程序还包括执行向外部存储介质传送主存储器的数据的处理、从外部存储介质读取数据的处理。
[0089]实时0S200,提供用于随着时间经过而且换执行多个程序的环境。在本实施方式的控制装置I中,作为将通过CPU单元13执行程序而生成的输出数据向其它单元或其它装置输出(发送)的事件(中断),初始设定有控制循环开始的中断。如果产生了控制循环开始的中断,则实时0S200将微处理器100中的执行对象,从在中断产生时点正在执行的程序切换为时序管理程序212。此外,在时序管理程序212以及控制执行时序管理程序212的程序都没有被执行的情况下,实时0S200执行包含在其它系统程序210中的程序。作为这样的程序,例如包括在CPU单元13与控制装置支持装置8之间经由连接电缆10 (USB)等进行通信处理相关的程序。
[0090]此外,控制程序230以及时序管理程序212,被存储在作为存储单元的主存储器104以及非易失性存储器106中。
[0091]<支持装置的硬件结构>
[0092]接下来,说明控制装置8,其用于生成由控制装置I执行的程序以及进行控制装置I的维护等。
[0093]图4是表示本发明的实施方式的控制装置8的硬件结构的示意图。参照图4,控制装置8典型的由通用的计算机构成。此外,从维护性的观点出发,优选便携性良好的笔记本型个人计算机。
[0094]参照图4,控制装置8包括:CPU81,其执行包括OS在内的各种程序;R0M(Read OnlyMemory:只读存储器)82,其存储B1S、各种数据;存储器RAM83,其提供工作区域,用于存储由CPU81执行程序所需的数据;硬盘(HDD) 84,其非易失的存储由CPU81执行的程序等。CPU81相当于控制装置8的计算部,R0M82、RAM83以及硬盘84相当于控制装置8的存储部。
[0095]控制装置8还包括用于接受用户操作的键盘85以及鼠标86、用于向用户提示信息的监视器87。进而,控制装置8包括用于与控制装置I (CPU单元13)等进行通信的通信接口 (IF)89。
[0096]如后述,控制装置8所执行的各种程序被存储在CDR0M9中流通。存储在该CD-R0M9中的程序,被⑶ROM (Compact Disk-Read Only Memory:光盘只读存储器)驱动器88读取,进而被存入硬盘(HDD)84等。或者,可以从上位的主计算机等通过网络来下载程序。
[0097]<控制程序>
[0098]在本实施方式中,控制程序为执行一系列动作的单位,包括顺序计算程序、动作计算程序,这些顺序计算程序、动作计算程序是随着执行10处理程序、用户程序、用户程序的执行而执行的程序。
[0099]针对并行执行的程序进行编程,是需要由用户考虑到执行开始的时机或执行结束、数据的复制处理等的时机来进行的。
[0100]在本实施方式中,针对每个控制程序设定执行周期、所执行的优先级,为了能够以更短周期执行,设定使各个控制程序开始执行的时机、限制条件。图中示出由控制装置执行的控制程序的种类。时序管理程序按照控制程序的执行优先级、执行周期,来使微处理器执行控制程序。
[0101]第一控制程序是以最高优先级来周期性执行的,包括第一输出处理程序、第一输入处理程序在内,按顺序生成输出数据、读入输入数据、执行所分配的第一用户程序、执行第一动作计算程序、计算针对马达的指令值。
[0102]第二控制程序是以仅次于第一控制程序的优先级来周期性执行的,包括第二输出处理程序、第二输入处理程序在内,按顺序生成输出数据、读入输入数据、执行所分配的第二用户程序、执行第二动作程序。
[0103]第三控制程序是以恒定周期来周期性地执行的。第三控制程序,是以上述的第一控制程序执行读入输出数据或输入数据为前提的。具体而言,是接受通过第一控制程序的10刷新来读入的输入数据交接,在每个所设定的周期生成输出数据的控制程序。
[0104]第三控制程序是适合于如下情形的程序:为了缩短第一控制程序的执行周期,将包括在第一控制程序中且可能会以稍长周期执行的控制程序分配给该第三控制程序。第四控制程序仅由用户程序构成。第四控制程序与高速控制计算无关,而用于描述通信处理、备份处理等。
[0105]接下来,示出使用控制器支持装置来在控制装置中进行编程的步骤。图5示出控制装置中的控制装置的设定步骤的一例。
[0106]在步骤S(STEP) I中,确定经由现场网络或系统总线连接的设备。具体而言,设定用于对与现场网络乃至系统总线连接的设备进行通信的信息。虽未图示,也可以自动地与经由现场网络或系统总线连接的设备进行通信,取得经由现场网络或系统总线连接的设备、连接顺序等的信息。
[0107]在步骤S2中,用户使用控制器支持装置,如上述那样配合控制目的来生成用户程序。所生成的程序,使用在步骤SI登录的从与现场网络乃至系统总线连接的设备输入的数据,执行顺序计算、动作计算,生成输出数据。该用户程序也可以分割为多个程序模块而生成。
[0108]在步骤S3中,用户进行控制程序的设定。配合用户的控制目的,设定用于执行控制程序的周期。
[0109]在步骤S4中,分别针对经由在步骤SI中设定的网络连接的设备,登录用于进行1刷新的控制程序。图6表示用于进行控制程序的设定的画面例。分别针对与现场网络乃至系统总线连接的设备,登录用于进行1刷新(10 refresh)的控制程序。以一览方式显示控制对象设备,同时显示单元名称。以下拉式菜单形式使用户选择分别针对各设备进行1刷新的控制程序。
[0110]在步骤S5中,将所生成的用户程序分配给控制程序。图8表示对控制程序分配的图(Image)。图7中,分别针对控制程序,将所生成的用户程序(ProgramO_Program6)分配给控制程序。在将多个用户程序分配给控制程序的情况下,登录用户程序的执行顺序。在图7的例子中,对第一控制程序分配用户程序ProgramO、Pr ο gram2。在第二控制程序中,分配有用户程序Program4、Program5、Program6。在第三控制程序中,分配有Programl0
[0111]通过上述的操作,针对每个控制程序,生成所执行的周期、设定参数和包括所执行的用户程序在内的控制程序,该设定参数表示通过控制程序所含的1控制程序进行数据交换的设备。控制装置的时序管理程序,参照传送来的设定参数,参照控制程序的执行周期等,控制开始或结束执行程序的时机。
[0112]另外,本实施方式中控制程序的执行周期,成为经由现场网络及系统总线来与外部设备进行通信(10刷新)的周期,因此,基于设定参数,通信程序利用通信周期以及该周期来确定成为进行1刷新的对象的设备。
[0113]接下,利用来图8来说明通过包括动作计算程序在内的多个控制程序来控制马达的实例。在图6所示的物理结构中,由第一轴(第一马达,以下也称为第一轴)、第二轴(第二马达,以下也称为第二轴)、第三轴(第三马达,以下也称为第三轴)构成。在控制使第一轴与第二轴、第三轴同步时,参照第一轴的指令值及反馈值,计算第二轴、第三轴的控制指令值,从而控制第二轴、第三轴。例如针对第一轴的旋转,以规定比率赋予第二轴、第三轴的控制指令值,从而能够实现与第一轴对应的齿轮动作(传动动作)。这是通过参照成为主轴的第一轴的当前值及从轴的反馈值来对成为从轴的第二轴、第三轴赋予控制指令值而实现的。
[0114]考虑这样的情况:以该第一轴作为主轴,以第二轴、第三轴作为从轴,以多个包括动作计算程序在内的控制程序来实现这些轴的齿轮动作。如后述,在第一控制程序中,通过执行1控制程序来取得与第一轴、第二轴相关的变量的值。按照第一动作计算程序的命令,参照所取得的输入数据,基于第一轴的当前值及指令值来计算并输出第二轴的指令值。由此,实现第一轴与第二轴的齿轮动作。
[0115]在第二控制程序中,从第一控制程序传送来表示第一轴的状态的参数,来作为指令值输出至控制装置上的假想的第四轴,并以第四轴作为主轴来执行第三轴的指令值。
[0116]通过这样构成,只要能够在控制程序间对轴进行函数变量的交接,就能够使由第一控制程序控制的第一轴与由第二控制程序控制的第三轴同步。
[0117]<第一实施方式>
[0118]图9表示多个核心以恒定周期执行第一控制程序和第二控制程序的例子。第一控制程序以及第二控制程序分别包括第一 1处理程序、第二 1处理程序、第一用户程序、第二用户程序、第一动作计算程序、第二包括动作计算程序。
[0119]接下来说明使用多内核处理器来开始执行第一、第二控制程序的时机。图9是表示第一控制程序的执行时机的图。时序管理程序如果检测出规定时刻到来,则开始执行第一控制程序、第二控制程序。
[0120]如图中所示,第一控制程序的1表示按照1控制程序的命令进行的动作。处理器的第一核心按照第一 1控制程序的命令,进行输出数据的发送、输入数据的读入。具体而言,微处理器的第一核心按照第一 1控制程序的输出处理程序的命令,从主存储器上的通信缓存向通信控制器150的缓存,传送用于向与第一控制程序关联的外部设备发送的第一输出数据。另外,根据输入处理程序的命令,将从通信控制器传送来的存储在通信缓存中的第一输入数据,发送至第一用户程序的工作区域。
[0121]如图中所示,第一控制程序的UPG,表示按照第一用户程序的命令进行的动作。按照第一用户程序的命令,微处理器的第一核心利用存储在第一用户程序的工作区域中的输入数据,来进行顺序计算,将输出数据存储至通信缓存,并且将其存储至第一动作计算程序进行计算的区域。
[0122]如图中所示,第一控制程序的MC表示按照第一动作计算程序的命令进行的动作。微处理器的第一核心计算与第一控制程序的执行周期对应的用于向马达发送的指令值,计算输出数据,将输出数据存储在用于向通信控制器传送的缓存。
[0123]接下来说明第二控制程序的动作。如图中所示,第二控制程序的1表示按照第二1控制程序的命令进行的动作。处理器的第二核心按照第二 1控制程序的命令,进行输出数据的发送、输入数据的读入。
[0124]具体而言,微处理器的第二核心按照第二 1控制程序的第二输出处理程序的命令,将用于向与第二控制程序关联的外部设备发送的输出数据,从主存储器上的通信缓存中传送至通信控制器150的缓存。另外,按照第二输入处理程序的命令,将从通信控制器传送来的存储在通信缓存中的输入数据,传送至第二用户程序的工作区域。
[0125]如图中所示,第二控制程序的UPG,表示按照第二用户程序的命令进行的动作。按照第二用户程序的命令,微处理器的第二核心利用存储在第二用户程序的工作区域中的输入数据,来进行顺序计算,将输出数据存储至通信缓存,并且将其存储至第二动作计算程序进行计算的区域。
[0126]如图中所示,第二控制程序的MC表示按照第二动作计算程序的命令进行的动作。微处理器的第二核心计算与第二控制程序的执行周期对应的用于向马达发送的指令值,计算输出数据,将输出数据存储在用于向通信控制器传送的缓存。
[0127]与第二控制程序相关地,周期性地执行第二 1控制程序、第二用户程序、第二动作计算程序。
[0128]<控制程序间的数据交接>
[0129]想要在控制程序之间进行数据收发时,在控制程序中记录(记述)轴变量交接命令。在变量交接命令中,针对由其它控制程序所用的轴变量,定义要接收的变量。在该例子中,对第二控制程序记录轴变量交接命令。
[0130]在图9的例子中,按照第二控制程序的第二用户程序的命令,使轴变量交接命令起动。
[0131 ] 如果轴变量交接命令起动,则系统程序在开始执行控制程序的时机一致的时机的前一个周期的第一控制程序执行结束后,针对利用轴变量交接命令定义的变量,将其复制到第二控制程序的缓存区域。
[0132]在图9中,示出了以第一控制程序的执行周期的3倍的周期来并行执行第二控制程序的例子。其中,每过三次第一控制程序的周期,就会出现一次第一控制程序与第二控制程序的执行开始时机一致的现象。如图中的箭头所示,针对用轴变量交接命令定义的轴变量,在第一控制程序执行结束后,将其复制到第二控制程序的缓存区域。
[0133]图10是表示轴变量的交接时机的例子。图中的10、UPG、MC与图9相同,在此不重复说明。如图中(A)所示,第一控制程序与第二控制程序的执行开始的时机变为一致的前一个第一控制程序的轴变量,被交接至第二控制程序。如图中(B)所示,在第一控制程序执行结束的时机后,虽然开始执行第二控制程序的第二用户程序,但不交接轴变量。
[0134]由此,肯定能够交接控制周期的开始时机变为一致的周期的前一个周期的轴变量,因此能够在不影响第一控制程序、第二控制程序的执行情况的前提下,以规定周期进行计算。
【主权项】
1.一种控制装置,以规定周期反复执行多个控制程序,从而对控制对象进行控制,该控制装置的特征在于, 具有多内核处理器和用于存储所述控制程序、系统程序、时序管理程序的存储器, 所述多个控制程序包括: 第一控制程序,其以第一执行周期来执行,包括用于计算针对马达的控制指令值的第一动作计算程序, 第二控制程序,其以第二执行周期来执行,包括用于计算针对马达的控制指令值的第二动作计算程序; 所述时序管理程序,包括使多内核处理器开始并行执行所述第一控制程序以及所述第二控制程序的命令; 所述系统程序包括: 存储命令,其用于在所述第一控制程序执行结束的时点,将用于所述第一控制程序进行计算的与所述马达的控制相关的变量,存储至所述第二控制程序的缓存, 复制命令,其用于在开始执行所述第二控制程序的时机,从所述第二控制程序的缓存中读取信息并将其复制到所述控制程序的工作区域; 针对所述控制程序的执行周期,在预先设定的时机执行所述控制程序间的数据交接。
【文档编号】G05B19/042GK106020010SQ201510813069
【公开日】2016年10月12日
【申请日】2015年11月20日
【发明人】岛村知行, 若年哲司, 矢尾板宏心, 小岛达矢
【申请人】欧姆龙株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1