CN114585979A - 控制装置 - Google Patents
控制装置 Download PDFInfo
- Publication number
- CN114585979A CN114585979A CN202080073707.9A CN202080073707A CN114585979A CN 114585979 A CN114585979 A CN 114585979A CN 202080073707 A CN202080073707 A CN 202080073707A CN 114585979 A CN114585979 A CN 114585979A
- Authority
- CN
- China
- Prior art keywords
- processing unit
- control
- variable
- program
- control device
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 description 26
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000006854 communication Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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
-
- 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/054—Input/output
-
- 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/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13069—Execute bit operation during instruction fetch cycle for word operation
-
- 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/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23328—Modification program
-
- 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/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25174—Ethernet
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Programmable Controllers (AREA)
Abstract
控制装置具备第一处理部和第二处理部,第一处理部和第二处理部中的任一方的处理部保持能够在该第一处理部的运算和该第二处理部的运算双方中使用的规定变量,该第一处理部和该第二处理部中的另一方的处理部构成为能够经由该一方的处理部访问该规定变量。
Description
技术领域
本发明涉及用于控制多个控制对象的控制装置。
背景技术
在各种生产现场中,使用PLC(可编程控制器)等控制装置的FA(FactoryAutomation:工厂自动化)技术广泛普及。这样的控制装置不仅直接对控制对象进行控制,还存在通过对其他装置提供控制指令而间接地对控制对象进行控制的情况。另外,还产生了想要将目前为止使用多个专用装置实现的控制系统合并为更少数量的控制装置的需求。例如,在专利文献1所示的技术中,在PLC的CPU单元中,同步地执行动作运算程序以及用户程序。
另外,在专利文献2中,公开了通过单一的控制装置实现遵循执行方式不同的多种程序的控制运算的技术。在该技术中,例如采用如下结构:关于在每个控制周期执行程序整体的形式的程序和按照通过一部分解释而生成的中间代码依次执行的形式的程序,进行各自的指令值运算,在每个控制周期一并输出各指令值。
现有技术文献
专利文献
专利文献1:日本特开2012-194662号公报
专利文献2:日本特开2019-36043号公报
发明内容
发明所要解决的课题
在为了控制多个控制对象而进行遵循执行方式不同的多种程序的控制运算的情况下,在各个控制运算中使用的变量一般根据该控制运算而适当设定。因此,在各个控制运算由不同的控制装置进行的情况下,在一方的控制装置的控制运算中,在需要访问另一方的控制装置所使用的变量时,需要在不同的控制装置间进行用于访问该变量的通信处理。其结果,用户为了同时控制多个控制对象,需要按照执行用于控制各控制对象的控制运算的程序的种类制作该程序,并且需要制作与两程序(两控制装置)间的变量(数据)的通信相关的处理程序。
另外,即使在为了控制多个控制对象而由单一的控制装置进行遵循执行方式不同的多种程序的控制运算的情况下,关于用于种类不同的程序间的运算处理的变量的交换,也并未充分研究具体的结构。即,在现有技术中,对于在不同种类的程序中共享用于控制运算的变量的情况下应该如何共享,没有进行充分的研究。因此,即使在由单一的控制装置进行不同的控制对象的控制的情况下,也无法充分减轻用户的程序生成负荷。
本发明是鉴于这样的问题而完成的,其目的在于提供一种即使在利用单一的控制装置进行遵循执行方式不同的多种程序的控制运算的情况下,也能够减轻用户的程序生成负荷的技术。
用于解决课题的手段
在本发明中,为了解决上述课题,采用了如下结构:在能够通过单一的控制装置进行执行方式不同的多种程序的执行的基础上,在一方的程序侧保持能够在各个程序中使用的变量,另一方的程序经由该一方的程序访问该变量。通过采用该结构,用户对该变量的管理变得容易,减轻用户的程序生成负荷。
具体而言,本发明是一种控制装置,其具有遵循每次执行时整体被执行的第一执行方式的程序和遵循逐次被执行的第二执行方式的程序,所述控制装置具备:第一处理部,其构成为能够在每个预先决定的控制周期执行遵循所述第一执行方式的程序而运算用于控制第一控制对象的第一指令值;第二处理部,其构成为能够执行遵循所述第二执行方式的程序,按照由解释器解释该程序的至少一部分而生成的中间代码而在每个所述控制周期运算用于控制第二控制对象的第二指令值;以及输出部,其在每个所述控制周期输出所述第一指令值和所述第二指令值。而且,在该控制装置中,所述第一处理部和所述第二处理部中的任一方的处理部构成为保持能够在该第一处理部的运算和该第二处理部的运算双方中使用的规定变量,该第一处理部和该第二处理部中的另一方的处理部构成为能够经由该一方的处理部访问该规定变量。
上述的控制装置具有作为执行方式的种类不同的程序的、遵循第一执行方式的程序和遵循第二执行方式的程序。前者的执行方式是在每次执行时程序整体被执行的形式,后者的执行方式是逐次执行的形式。通过像这样能够利用不同的执行方式的程序,用户能够适当选择适合于控制对象的控制的程序,提高控制装置的便利性。
而且,第一处理部在每个控制周期执行遵循第一执行方式的程序,运算基于该程序的第一指令值。另外,第二处理部构成为按照经过解释器的解释而生成的中间代码而在每个控制周期运算基于遵循第二执行方式的程序的第二指令值。而且,通过由输出部输出第一指令值和第二指令值,能够同步地输出基于不同的执行方式的程序的各指令值。
在这样构成的控制装置中,第一处理部和第二处理部中的任一方的处理部构成为保持在该第一处理部的运算和该第二处理部的运算双方中使用的规定变量。即,关于规定变量,由两方的处理部使用,但仅由一方的处理部保持。在此基础上,未保持规定变量的、第一处理部和该第二处理部中的另一方的处理部在自身的运算需要该规定变量的情况下,经由保持该规定变量的一方的处理部,访问该规定变量。其结果,另一方的处理部也能够使用该规定变量来实现自身的运算。此时,第一处理部和第二处理部在单一的控制装置中形成,因此用户不需要准备对第一处理部与第二处理部之间的数据交换进行控制的程序,能够实现用户的负荷减轻。
在此,作为一例,也可以是,所述一方的处理部是所述第一处理部,所述另一方的处理部是所述第二处理部。另外,作为其他方法,也可以是,所述一方的处理部是所述第二处理部,所述另一方的处理部是所述第一处理部。
另外,在上述为止的控制装置中,也可以是,所述规定变量在所述一方的处理部的运算和所述另一方的处理部的运算中被设定为相同的变量名。在该情况下,也可以是,在由所述另一方的处理部使用所述规定变量时,该另一方的处理部将在所述一方的处理部中具有与该规定变量相同的变量名的变量的值用作该规定变量的值。即,对于规定变量,通过在一方的处理部和另一方的处理部中使变量名相同,从而利用该变量名进行两处理部间的规定变量的交换。
另外,作为其他方法,在上述为止的控制装置中,也可以是,所述一方的处理部的运算中的所述规定变量的第一变量名与所述另一方的处理部的运算中的所述规定变量的第二变量名不同,保持有规定所述第一变量名与所述第二变量名的相关性的相关信息。在该情况下,也可以是,在由所述另一方的处理部使用所述第二变量名的变量作为所述规定变量时,该另一方的处理部基于所述相关信息而将与该第二变量名相关联的所述第一变量名的变量的值用作该规定变量的值。即,关于规定变量,在控制装置中保持与变量名在一方的处理部和另一方的处理部中不同的变量名有关的相关信息,由此基于该相关信息进行两处理部间的规定变量的交换。
发明效果
即使在由单一的控制装置进行遵循执行方式不同的多种程序的控制运算的情况下,也能够减轻用户的程序生成负荷。
附图说明
[图1]图1是表示包含综合控制器的控制系统的概略结构的图。
[图2]图2是将综合控制器的功能图像化的功能框图。
[图3]图3是表示在由综合控制器执行的机器人控制中使用的变量与在PLC控制中使用的变量的相关性的图。
[图4]图4是表示由综合控制器按照控制周期执行的处理的流程的图。
[图5]图5是与由综合控制器执行的机器人控制相关的第一流程图。
[图6]图6是与由综合控制器执行的机器人控制相关的第二流程图。
具体实施方式
<应用例>
基于图1以及图2对实施方式的控制装置的应用例进行说明。图1是应用该控制装置100的控制系统1的概略结构图,图2是将形成于控制装置100的功能部图像化的图。
控制装置100相当于对各种设备、装置等控制对象进行控制的产业用控制器。控制装置100是执行如后所述的控制运算的一种计算机。控制装置100也可经由现场网络2而与各种现场设备连接。现场设备包含对制造装置、生产线等(以下,也总称为“现场”)赋予某些物理作用的致动器、及在与现场之间交换信息的输入输出装置等,在图1中,作为现场设备,例示有机器人210、伺服驱动器220及马达222。伺服驱动器220根据来自控制装置100的指令值(例如位置指令、速度指令等)来驱动马达222。另外,作为机器人210,能够例示并联机器人、SCARA机器人、多关节机器人。如此,控制装置100是构成为能够综合控制机器人210、伺服驱动器220及马达222的控制装置,其详细内容将后述。
控制装置100经由现场网络2等与1个或多个现场设备之间交换数据。通常,“现场网络”也被称为“现场总线”,但为了简化说明,在本申请中统称为“现场网络”。控制装置100进行对在各种现场设备中收集或生成的数据(以下,也称为“输入数据”)进行收集的处理(输入处理)、生成针对现场设备的指令等数据(以下,也称为“输出数据”)的处理(运算处理)、将生成的输出数据向对象现场设备发送的处理(输出处理)等。
在此,现场网络2优选采用保证数据的到达时间的、进行固定周期通信的总线或网络。作为进行此种固定周期通信的总线或网络,已知有EtherCAT(注册商标)等。而且,经由现场网络2而在控制装置100与现场设备之间交换的数据以数100μsec量级~数10msec量级的极短的周期被更新。此外,这样的交换的数据的更新处理也被称为输入输出刷新处理。
另外,控制装置100还经由上级网络6与其他装置连接。上级网络6也可以采用作为一般网络协议的以太网(注册商标)或EtherNet/IP(注册商标)。更具体而言,也可以在上级网络6上连接1个或多个服务器装置10。作为服务器装置10,设想数据库系统、制造执行系统(MES:Manufacturing Execution System)等。制造执行系统取得来自控制对象的制造装置、设备的信息,监视以及管理生产整体,也能够处理订货信息、品质信息、出货信息等。不限于此,也可以将提供信息系统服务的装置与上级网络6连接。
在此,基于图2对控制装置100的结构进行说明。控制装置100是如上所述执行规定的控制运算的一种计算机,具备该控制运算所需的处理器、存储器。该处理器由CPU(Central Processing Unit:中央处理单元)、MPU(Micro Processing Unit:微处理单元)、GPU(Graphics Processing Unit:图形处理单元)等构成。作为处理器,可以采用具有多个核的结构,也可以配置多个该处理器。作为该存储器,由DRAM(Dynamic Random AccessMemory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置、HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态驱动器)等非易失性存储装置等构成。而且,处理器通过读出并执行存储在存储器中的各种程序,实现与控制对象相应的控制及后述的各种处理。在存储器中,除了用于实现基本功能的系统程序以外,还保存有根据作为控制对象的制造装置或设备而制作的用户程序(IEC程序51及应用程序52)。
另外,本申请中的IEC程序51是每次执行时整体被扫描,每次执行时运算1个或多个指令值的程序,典型地说,包含由按照国际电气标准会议(InternationalElectrotechnical Commission:IEC)所规定的国际标准IEC61131-3记述的1个或多个命令构成的程序。IEC程序51中包含序列控制及动作控制的命令。此种IEC程序51对应于在每个控制周期执行(扫描)所有程序的执行方式,适合于要求即时性及高速性的控制。另一方面,本申请中的应用程序52是用于使用机器人进行特定的加工或动作的控制程序,包含由用于实现基于机器人的控制应用的1个或多个命令构成的程序,与IEC程序51相区别。作为一例,与机器人控制相关的应用程序52采用使用机器人语言来记述且1行1行地逐次执行的解释器方式。
而且,如图2所示,控制装置100具有控制应用处理部30、IEC程序处理部40、上级网络接口20及下级网络接口60。下级网络接口60对IEC程序处理部40及控制应用处理部30与经由现场网络2而连接的现场设备之间的数据交换进行中介。上级网络接口20对IEC程序处理部40及控制应用处理部30与经由上级网络6而连接的服务器装置10之间的数据交换进行中介。例如,控制装置100从经由上级网络6连接的服务器装置10接受生产的开始/结束这样的指示。服务器装置10有时也将用于使控制应用工作的应用程序及配方信息(适于生产的参数等信息)等发送至控制装置100。
IEC程序处理部40在每个预先决定的控制周期执行(扫描)IEC程序51来运算1个或多个指令值。即,IEC程序处理部40按照IEC程序51,在每个控制周期运算指令值。另外,在本申请中,为了控制包含马达222而构成的规定装置,执行IEC程序51。而且,动作处理部42提供根据IEC程序51中所含的动作命令,在每个控制周期运算指令值的功能。即,IEC程序51中所含的运动命令包含指示跨多个控制周期的行为的命令(例如,用于使由马达222构成的规定装置的输出描绘某些轨道的命令)。当执行这样的动作命令时,动作处理部42按照所执行的动作命令的指示内容,在每个控制周期运算指令值。即,动作处理部42通过在每个控制周期对上述的规定装置输出指令值,实现由动作命令指示的行为。
另外,IEC程序处理部40具有共享存储器41。共享存储器41保持与在动作处理部42的指令值的运算处理中使用的规定的变量相关的数据(变量数据)。因此,IEC程序处理部40在用于控制规定装置的行为的指令值运算时,适时进行对共享存储器41的访问。另外,该共享存储器41中保持的变量数据构成为也能够从后述的控制应用处理部30访问,其详细内容在后面叙述。另外,也可以在共享存储器41中存储上述的用于指令值运算的变量数据以外的数据。例如,在本申请公开中,IEC程序处理部40的处理结果的一部分或全部存储在共享存储器41中,控制应用处理部30能够参照IEC程序处理部40的共享存储器41中存储的数据。另外,也可以从控制应用处理部30向IEC程序处理部40的共享存储器41写入数据,如此从控制应用处理部30写入的数据能够由动作处理部42参照。
接着,控制应用处理部30基于应用程序52以及配方信息等,运算用于对控制应用进行控制的指令值。此外,在本申请中,为了控制机器人210,而由控制应用处理部30执行应用程序52。控制应用处理部30与IEC程序处理部40的指令值运算及输出同步地运算及输出用于控制应用的指令值。即,控制应用处理部30与IEC程序处理部40的运算处理同步地执行用于控制机器人210的指令值的运算处理。另外,关于该IEC程序处理部40与控制应用处理部30的同步处理将后述。为了实现与IEC程序处理部40的指令值的运算处理同步的指令值的运算,控制应用处理部30包含动作处理部32、缓冲器33及解释器34。
解释器34具有逐次对应用程序52的至少一部分进行解释而生成中间代码,并且存储所生成的中间代码的缓冲器33。本申请中的中间代码是包含用于在每个控制周期运算指令值的命令的概念,也可以包含1个或多个命令、或者1个或多个函数。然后,动作处理部32按照解释器34事先生成并存储在缓冲器33中的中间代码,在每个控制周期运算指令值。一般而言,由于应用程序52中记述的命令(代码)被逐次执行,因此无法保证指令值的运算周期,但在本申请公开中,通过像这样利用中间代码,运动处理部32能够在每个控制周期运算指令值。在中间代码中记述的命令也可以使用与各控制应用相应的坐标系。
另外,控制应用处理部30构成为能够根据需要,为了由运动处理部32进行的用于机器人210的控制的指令值的运算处理而适时地访问共享存储器41。例如,在对包括马达222的规定装置和机器人210进行同步控制时,需要与该规定装置的动作对应地决定机器人210的动作的情况下,在动作处理部32的运算处理中需要使用与该规定装置关联的、由共享存储器41保持的变量数据。在此种情况下,控制应用处理部30经由IEC程序处理部40而访问共享存储器41,取得所述变量数据。
对基于控制应用处理部30的共享存储器41内的变量数据的具体方式进行说明。在第一方式中,IEC程序处理部40的指令值运算所使用的变量名与控制应用处理部30的指令值运算所使用的变量名被设定为相同。在该情况下,在控制应用处理部30中进行动作处理部32的运算处理时,以返回与应用程序52所包含的变量同一名称的变量的值的方式,从控制应用处理部30对IEC程序处理部40进行询问处理。被询问的IEC程序处理部40在同一名称的变量保持在共享存储器41内的情况下,对控制应用处理部30回复该变量的变量数据。其结果是,运动处理部32继续进行运算处理。另外,在共享存储器41内未保存有同一名称的变量的情况下,IEC程序处理部40对控制应用处理部30回复错误信号。
另外,第二方式中,IEC程序处理部40的指令值运算所使用的变量名与控制应用处理部30的指令值运算所使用的变量名被设定为不同的变量名。而且,规定IEC程序处理部40侧的变量名与控制应用处理部30侧的变量名的相关性的表(参照图3)保存在控制应用处理部30中。在该情况下,当在控制应用处理部30中进行动作处理部32的运算处理时,确定与应用程序52所包含的变量(图3中的“控制应用处理部侧的变量”)对应的保持于共享存储器41的变量(图3中的“IEC程序处理部侧的变量”),以返回所确定的变量的值的方式,从控制应用处理部30对IEC程序处理部40进行询问处理。关于询问后的回复,与第一方式相同。
如此,通过采用经由共享存储器41而在IEC程序处理部40与控制应用处理部30之间共享用于指令值运算的变量的方式,用户在对规定装置与机器人210进行同步控制时,无需另行准备对IEC程序处理部40与控制应用处理部30之间的数据交换进行控制的程序,由此实现用户的负荷减轻。
<程序的同步执行>
在控制装置100中,实现IEC程序51与应用程序52的同步执行。控制应用处理部30的解释器34按照比控制周期长的周期、例如控制周期的2倍的周期逐次执行应用程序52。其中,IEC程序处理部40的动作处理部42及控制应用处理部30的动作处理部32均在每个相同的控制周期运算指令值。因此,来自控制装置100的指令值的输出均以预先决定的控制周期同步地进行。如此,IEC程序处理部40及控制应用处理部30分别具有用于连续地控制致动器的动作的动作处理部,这些动作处理部同步地运算指令值,由此能够与控制周期同步地执行遵循IEC程序51的控制及遵循应用程序52的控制这两者,由此实现以控制周期为单位的精密控制。
接着,基于图4对控制装置100中的IEC程序51及应用程序52的执行定时的详细情况进行说明。图4是表示控制装置100中的程序的执行定时的一例的图。此外,在控制装置100中,考虑处理器的资源,设定有优先级高的高优先级任务(图4中的上段的处理)和优先级低的低优先级任务(图4中的下段的处理)。具体而言,下级网络接口60、IEC程序处理部40及其动作处理部42的执行、及控制应用处理部30的动作处理部32的执行被设定为高优先级任务,控制应用处理部30的解释器34的执行被设定为低优先级任务。
即,与下级网络接口60关联的输入输出刷新处理B60、IEC程序51的执行处理B40、按照IEC程序51由动作处理部42进行的指令值的运算处理B42、按照应用程序52由动作处理部32进行的指令值的运算处理B32作为高优先级任务而执行。另一方面,逐次解释应用程序52的处理B34作为低优先级任务来执行。
在此,高优先级任务在每个预先决定的控制周期T1反复执行。低优先级任务在各控制周期内未执行高优先级任务的期间每次执行。即,对每个控制周期分配高优先级任务的执行时间,在高优先级任务的执行时间以外的时间执行低优先级任务。
首先,对高优先级任务进行说明,若各控制周期到来,则在执行输入输出刷新处理B60之后,通过IEC程序处理部40来执行(扫描)IEC程序51的整体,运算关于序列控制的1个或多个指令值(执行处理B40)。并且,通过动作处理部42执行与IEC程序51所包含的动作命令相关的动作处理,运算关于动作命令的1个或多个指令值(执行处理B42)。进而,通过控制应用处理部30的动作处理部32,按照保存在缓冲器33中的中间代码来准备机器人210的控制用的动作指令(执行处理B32)。以下,在每个控制周期重复同样的处理。此外,运动处理部32从缓冲器33读出中间代码的定时也可以不是各控制周期。这是因为,在所读出的中间代码包含能够跨多个控制周期T1运算指令值的命令的情况下,能够在该多个控制周期T1中进行一次中间代码的读出。
这样,当某个控制周期中的高优先级任务的执行完成时,准备与关于马达222等的序列控制相关的指令值以及关于其运动控制的指令值、和与关于机器人210的控制应用相关的指令值的集合。这些指令值基本上在下一个控制周期到来时反映到现场侧。即,IEC程序处理部40及控制应用处理部30以同一控制周期运算与输入数据相应的指令值,因此可实现与输入同步的输出。
另一方面,关于低优先级任务,控制应用处理部30的解释器34逐次执行应用程序52。即,解释器34以低优先级执行应用程序52的读入及解析。解释器34对应用程序52进行解析处理而生成的中间代码在考虑缓冲器33的容量的情况下逐次存储在缓冲器33中。存储在缓冲器33中的中间代码被控制应用处理部30的动作处理部32依次参照,用于运算处理B32中的指令值的生成。此时,解释器34事先有富余地生成高优先级任务的运算周期即控制周期的整数倍的量的中间代码,由此能够不对动作处理部32的处理造成影响,而在每个控制周期运算针对控制应用的指令值。
另外,解释器34在预先决定的控制应用同步周期(控制周期的整数倍)到来之前,暂时停止应用程序52的解释。在所述暂时停止的定时,在IEC程序处理部40与控制应用处理部30之间进行数据同步,由此对两者共享具有匹配性的数据。如此,解释器34在每个同步周期更新与IEC程序处理部40之间共享的数据。也可以与共享数据的更新一起,对从现场侧取得的输入数据以及输出数据也进行更新(数据同步)。由此,在控制应用处理部30侧,也能够利用IEC程序处理部40所取得的数据来控制机器人210。控制应用同步周期只要设定为控制周期的整数倍,则可以是任意的长度,可根据控制应用所要求的控制的精度等来适当设定。
接下来,基于图5、图6,对控制装置100进行的现场设备(机器人210以及马达222)的处理的流程进行说明。图5是与上述高优先级任务的处理相关的流程图,图6是与上述低优先级任务的处理相关的流程图。
首先,对高优先级任务的处理流程进行说明。当控制周期T1到来时,下级网络接口60执行输入输出刷新处理(S101的处理)。由此,将在紧前的控制周期T1中运算出的指令值(基于B40、B42、B32等的指令值)向现场设备的致动器等输出,并且取得来自现场设备的输入数据。接着,在S102中,判定本次的控制周期是否与数据同步的定时一致。在此若判定为肯定,则在IEC程序处理部40与控制应用处理部30之间执行数据同步(S103的处理)。另外,若在S102中判定为否定,则处理进入S104。
接着,在S104中进行上述的执行处理B40,接着在S105中进行上述的执行处理B42。之后,在S106中,进行上述机器人执行处理B32,该机器人执行处理B32进行用于控制机器人210的运动指令的准备。而且,在进行机器人执行处理B32时,在应用程序52中包含规定的变量的情况下,按照上述的第一方式或第二方式,利用共享存储器41内保持的对应的变量的值。
通过图5所示的高优先级任务的一系列处理而运算、准备的指令值在下一个控制周期T1到来时向现场输出。然后,在该一系列的处理结束后且到下一个控制周期T1到来为止的期间,执行图6所示的低优先级任务。
基于图6,对低优先级任务的处理流程进行说明。低优先级任务涉及解释器34对应用程序52的解释处理。首先,在S201中,由控制应用处理部30判定在缓冲器33中是否残留有中间代码。进行该判定是为了不进行超过缓冲器33的容量的中间代码的生成。如果在S201中作出肯定判定,则低优先级任务结束,如果作出否定判定,则处理进入S202。在S202中,由解释器34读入应用程序52的一部分。例如,读入构成应用程序52的代码的一行。然后,在S203中,由解释器34解释所读入的代码而生成中间代码。所生成的中间代码在S204中存储在缓冲器33中。此外,关于S202~S204的处理,在不存在成为执行对象的应用程序的情况下不进行这些处理,作为结果,在缓冲器33中不保存中间代码。具有这样的一系列处理的低优先级任务在对自身分配了程序的执行时间的期间内重复进行。
通过如此进行图5、图6所示的一系列处理,在控制装置100中,在图4所示的执行定时,执行IEC程序51及应用程序52。
<附记1>
一种控制装置(100),其具有遵循每次执行时整体被执行的第一执行方式的程序(51)和遵循逐次被执行的第二执行方式的程序(52),所述控制装置(100)具有:
第一处理部(40),其构成为能够在每个预先决定的控制周期执行遵循所述第一执行方式的程序(51)而运算用于控制第一控制对象(222)的第一指令值;
第二处理部(30),其构成为能够执行遵循所述第二执行方式的程序(52),按照由解释器(34)解释该程序的至少一部分而生成的中间代码,在每个所述控制周期运算用于控制第二控制对象(210)的第二指令值;以及
输出部(60),其在每个所述控制周期输出所述第一指令值和所述第二指令值,
所述第一处理部(40)和所述第二处理部(30)中的任一方的处理部构成为保持能够在该第一处理部(40)的运算和该第二处理部(30)的运算双方中使用的规定变量,该第一处理部(40)和该第二处理部(30)中的另一方的处理部能够经由该一方的处理部访问该规定变量。
标号说明
2:现场网络;6:上级网络;10:服务器装置;30:控制应用处理部;40:IEC程序处理部;51:IEC程序;52:应用程序;100:控制装置;210:机器人;220:伺服驱动器;222:马达。
Claims (4)
1.一种控制装置,其具有遵循每次执行时整体被执行的第一执行方式的程序和遵循逐次被执行的第二执行方式的程序,所述控制装置具备:
第一处理部,其构成为能够在每个预先决定的控制周期执行遵循所述第一执行方式的程序而运算用于控制第一控制对象的第一指令值;
第二处理部,其构成为能够执行遵循所述第二执行方式的程序,按照由解释器解释该程序的至少一部分而生成的中间代码而在每个所述控制周期运算用于控制第二控制对象的第二指令值;以及
输出部,其在每个所述控制周期输出所述第一指令值和所述第二指令值,
所述第一处理部和所述第二处理部中的任一方的处理部构成为保持能够在该第一处理部的运算和该第二处理部的运算双方中使用的规定变量,该第一处理部和该第二处理部中的另一方的处理部构成为能够经由该一方的处理部访问该规定变量。
2.根据权利要求1所述的控制装置,其中,
所述一方的处理部是所述第一处理部,所述另一方的处理部是所述第二处理部。
3.根据权利要求1或2所述的控制装置,其中,
所述规定变量在所述一方的处理部的运算和所述另一方的处理部的运算中被设定为相同的变量名,
在由所述另一方的处理部使用所述规定变量时,该另一方的处理部将在所述一方的处理部中具有与该规定变量相同的变量名的变量的值用作该规定变量的值。
4.根据权利要求1或2所述的控制装置,其中,
所述一方的处理部的运算中的所述规定变量的第一变量名与所述另一方的处理部的运算中的所述规定变量的第二变量名不同,
所述控制装置保持有规定所述第一变量名与所述第二变量名的相关性的相关信息,
当所述另一方的处理部使用所述第二变量名的变量作为所述规定变量时,该另一方的处理部基于所述相关信息而使用与该第二变量名相关联的所述第一变量名的变量的值作为该规定变量的值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-204825 | 2019-11-12 | ||
JP2019204825A JP7294078B2 (ja) | 2019-11-12 | 2019-11-12 | 制御装置 |
PCT/JP2020/039564 WO2021095466A1 (ja) | 2019-11-12 | 2020-10-21 | 制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114585979A true CN114585979A (zh) | 2022-06-03 |
Family
ID=75897935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080073707.9A Pending CN114585979A (zh) | 2019-11-12 | 2020-10-21 | 控制装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12117788B2 (zh) |
EP (1) | EP4036670A4 (zh) |
JP (1) | JP7294078B2 (zh) |
CN (1) | CN114585979A (zh) |
WO (1) | WO2021095466A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2024018790A (ja) * | 2022-07-29 | 2024-02-08 | 株式会社日立産機システム | コントロールシステム及び方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555179A (en) * | 1993-09-03 | 1996-09-10 | Hitachi, Ltd. | Control method and control apparatus of factory automation system |
JPH11288304A (ja) * | 1998-04-02 | 1999-10-19 | Mitsubishi Electric Corp | 機器系統の監視制御方法 |
JP2018180706A (ja) * | 2017-04-06 | 2018-11-15 | 富士電機株式会社 | 支援装置、プログラム |
CN109388107A (zh) * | 2017-08-10 | 2019-02-26 | 欧姆龙株式会社 | 控制装置 |
CN109491307A (zh) * | 2017-09-12 | 2019-03-19 | 欧姆龙株式会社 | 控制装置及控制方法 |
CN109507980A (zh) * | 2017-09-14 | 2019-03-22 | 欧姆龙株式会社 | 控制装置及控制方法 |
CN110249274A (zh) * | 2017-04-27 | 2019-09-17 | 株式会社日立产机系统 | 工业用控制器和工业用控制器的数据共享方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5984499A (en) * | 1997-09-12 | 1999-11-16 | Manufacturing Data Systems, Inc. | Method and apparatus for a numerical control system for processing multiple job streams |
JP4877423B1 (ja) | 2011-03-15 | 2012-02-15 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
WO2016014137A2 (en) * | 2014-05-06 | 2016-01-28 | Neurala, Inc. | Apparatuses, methods, and systems for defining hardware-agnostic brains for autonomous robots |
JP6540166B2 (ja) * | 2015-03-31 | 2019-07-10 | オムロン株式会社 | 制御装置 |
JP2018037021A (ja) * | 2016-09-02 | 2018-03-08 | オムロン株式会社 | 制御装置および制御システム |
JP6857153B2 (ja) * | 2018-03-29 | 2021-04-14 | 株式会社日立産機システム | コントロール装置 |
-
2019
- 2019-11-12 JP JP2019204825A patent/JP7294078B2/ja active Active
-
2020
- 2020-10-21 WO PCT/JP2020/039564 patent/WO2021095466A1/ja unknown
- 2020-10-21 US US17/771,449 patent/US12117788B2/en active Active
- 2020-10-21 CN CN202080073707.9A patent/CN114585979A/zh active Pending
- 2020-10-21 EP EP20887884.3A patent/EP4036670A4/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555179A (en) * | 1993-09-03 | 1996-09-10 | Hitachi, Ltd. | Control method and control apparatus of factory automation system |
JPH11288304A (ja) * | 1998-04-02 | 1999-10-19 | Mitsubishi Electric Corp | 機器系統の監視制御方法 |
JP2018180706A (ja) * | 2017-04-06 | 2018-11-15 | 富士電機株式会社 | 支援装置、プログラム |
CN110249274A (zh) * | 2017-04-27 | 2019-09-17 | 株式会社日立产机系统 | 工业用控制器和工业用控制器的数据共享方法 |
CN109388107A (zh) * | 2017-08-10 | 2019-02-26 | 欧姆龙株式会社 | 控制装置 |
CN109491307A (zh) * | 2017-09-12 | 2019-03-19 | 欧姆龙株式会社 | 控制装置及控制方法 |
CN109507980A (zh) * | 2017-09-14 | 2019-03-22 | 欧姆龙株式会社 | 控制装置及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US12117788B2 (en) | 2024-10-15 |
JP7294078B2 (ja) | 2023-06-20 |
JP2021077219A (ja) | 2021-05-20 |
EP4036670A1 (en) | 2022-08-03 |
WO2021095466A1 (ja) | 2021-05-20 |
US20220397880A1 (en) | 2022-12-15 |
EP4036670A4 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678218B2 (en) | Control device | |
US10761884B2 (en) | Control device for operating multiple types of programs in different execution formats | |
CN109507980B (zh) | 控制装置及控制方法 | |
US10606246B2 (en) | Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle | |
CN113168135B (zh) | 同步控制装置、同步控制系统和同步控制方法 | |
US20190095246A1 (en) | Support device and non-transitory storage medium | |
JP2019057253A (ja) | 制御装置、制御方法およびサポート装置 | |
CN114585979A (zh) | 控制装置 | |
CN113874797B (zh) | 控制装置 | |
JP7456165B2 (ja) | 制御装置 | |
JP7396063B2 (ja) | データ処理方法 | |
CN114207534B (zh) | 控制装置 | |
WO2020137522A1 (ja) | 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |