CN113874797A - 控制装置 - Google Patents

控制装置 Download PDF

Info

Publication number
CN113874797A
CN113874797A CN202080038653.2A CN202080038653A CN113874797A CN 113874797 A CN113874797 A CN 113874797A CN 202080038653 A CN202080038653 A CN 202080038653A CN 113874797 A CN113874797 A CN 113874797A
Authority
CN
China
Prior art keywords
program
control
execution
processing unit
execution mode
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
CN202080038653.2A
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 CN113874797A publication Critical patent/CN113874797A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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/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/058Safety, monitoring
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Numerical Control (AREA)

Abstract

一种控制装置,所述控制装置具有基于在每次执行时整体被执行的第一执行方式的程序以及基于依次执行的第二执行方式的程序,所述控制装置具备处理部,其能够基于按照第二执行方式的程序的执行,按照通过解释器生成的中间代码,来运算用于控制控制对象的第二指令值,并且,以基于第一执行方式的程序的执行为起点,也能够运算用于控制同一控制对象的该第二指令值,所述控制装置还具备许可部,在所述两个程序执行的定时重叠时,所述许可部许可该两个程序中的先访问第二处理部的一方的程序的执行。

Description

控制装置
技术领域
本发明涉及用于控制1个或多个控制对象的控制装置。
背景技术
在各种生产现场,使用PLC(可编程控制器)等控制装置的FA(FactoryAutomation:工厂自动化)技术得到广泛普及。这样的控制装置不仅能够直接控制控制对象,有时通过对其他装置赋予控制指令来间接地控制控制对象。另外,还产生想要将至今使用多个专用装置来实现的控制系统整合到更少数量的控制装置的需求。例如,在专利文献1所示的技术中,在PLC的CPU单元中同步执行动作运算程序以及用户程序。
另外,在专利文献2中,公开了通过单一的控制装置来实现基于执行方式不同的多种程序的控制运算的技术。在该技术中,例如,采用如下结构:对于按照控制周期执行程序整体的方式的程序、以及基于通过一部分的解释生成的中间代码而依次执行的方式的程序,进行各自的指令值运算,按照每个控制周期一并输出各指令值。
现有技术文献
专利文献
专利文献1:日本特开2012-194662号公报
专利文献2:日本特开2019-36043号公报
发明内容
发明所要解决的课题
以往,有时通过控制装置以及其他控制装置来控制共用的控制对象(机器人等),该控制装置如PLC那样通过执行按照控制周期程序整体被执行的方式的程序来进行控制对象的控制,该其他控制装置通过执行基于通过程序的一部分的解释生成的中间代码而依次执行的方式的程序来进行控制对象的控制。但是,在这样的情况下,需要管理由哪个控制装置控制着控制对象,用户的控制系统的构建不容易。如果假设管理不充分而由多个控制装置同时控制控制对象,则有可能控制对象的动作不会如设想那样。
另外,在现有技术中,对于通过基于执行方式不同的多种程序进行控制运算的单一的控制装置,利用不同的程序来控制共用的控制对象的情况,也没有进行充分的研究。因此,从控制系统的构建负荷、控制对象的安全控制的观点出发,留有改善的余地。
本发明是鉴于这样的课题而完成的,其目的在于提供一种容易构建能够实现控制对象的适当控制的系统的技术。
用于解决课题的手段
在本发明中,为了解决上述课题,采用了如下结构:在能够利用单一的控制装置实现执行方式不同的多种程序的执行的基础上,在不同种类的程序的执行定时重叠时,以仅执行1种程序的方式判断各程序可否执行。通过采用该结构,能够实时地掌握不同种类的程序的执行状况,并且能够实现控制对象的适当的控制。
具体而言,本发明是具有基于每次执行时使整体执行的第一执行方式的程序和基于依次执行的第二执行方式的程序的控制装置,该控制装置具备:第一处理部,其构成为,能够按照预先设定的控制周期执行基于所述第一执行方式的程序,运算用于控制第一控制对象的第一指令值;第二处理部,其构成为,执行基于所述第二执行方式的程序,基于通过解释器对该程序的至少一部分进行解释而生成的中间代码,按照所述控制周期运算用于控制第二控制对象的第二指令值,并且,即使以所述第一处理部执行基于所述第一执行方式的程序为起点,也能够运算用于控制该第二控制对象的该第二指令值;输出部,其按照每个所述控制周期输出所述第一指令值和所述第二指令值;以及许可部,在为了控制所述第二控制对象而基于所述第一执行方式的程序的执行定时与基于所述第二执行方式的程序的执行定时重叠时,所述许可部仅许可先访问所述第二处理部的一方的程序的执行。
上述的控制装置具有执行方式的种类不同的程序,即基于第一执行方式的程序和基于第二执行方式的程序。前者的执行方式是在每次执行时使程序整体执行的方式,后者的执行方式是依次执行的方式。通过能够利用如上所述不同的执行方式的程序,用户能够适当选择适合于控制对象的控制的程序,能够提高控制装置的便利性。并且,第一处理部按照控制周期执行基于第一执行方式的程序,运算基于此的第一指令值。
另外,第二处理部构成为,基于经由解释器的解释而生成的中间代码,按照控制周期运算基于按照第二执行方式的程序的第二指令值。进而,第二处理部构成为即使以按照第一执行方式的程序的执行为起点也能够运算第二指令值。作为这样的第二处理部的结构的优点,可以举出不管是基于第一执行方式的程序还是基于第二执行方式的程序用户都能够实现控制对象(第二控制对象)的控制这一点等,因此能够弹性地进行控制对象的控制程序的设计,提高用户的便利性。并且,通过由输出部输出第一指令值和第二指令值,能够同步输出基于不同的执行方式的程序的各指令值。另一方面,通过这样构成,同一控制对象实质上能够由基于第一执行方式的程序和基于第二执行方式的程序这两者来控制,因此可能产生控制定时的重叠。
因此,在上述控制装置中,采用如下结构:在上述的程序执行的定时重叠时,许可部基于向第二处理部的访问的状况,即,仅许可为了控制对象的控制而先访问的一方的程序的执行。因此,在一方的程序执行已经进行时,即使另一方的程序执行的要求重叠,许可部也不许可该另一方的程序的执行。换言之,许可部在对于同一控制对象的程序执行的定时重叠时,基于向第二处理部的访问的状况,以排他性地进行程序执行的方式进行上述的许可处理。
因此,在这样构成的控制装置中,能够进行用于控制对象的控制的弹性的程序设计,能够在提高用户的便利性的同时,适当地避免由不同种类的程序同时控制控制对象的情况。其结果是,能够实现控制对象的适当的控制,另外,在该系统构建时,用户自身避免控制程序的重叠而进行程序生成的必要性降低,因此降低程序生成的负荷,系统构建变得容易。
在此,在上述的控制装置中,当基于先访问所述第二处理部的所述一方的程序进行的所述第二控制对象的控制结束时,形成能够以所述许可部的许可为条件来执行基于所述第一执行方式的程序和基于所述第二执行方式的程序中的任意一方的状态。通过这样构成控制装置,能够继续进行针对同一控制对象的排他性的程序执行。
另外,在上述的控制装置中,所述许可部在许可了所述一方的程序的执行的情况下,进行与程序执行不被许可的另一方相关的错误通知。通过这样的结构,关于程序执行不被许可的一方,能够基于该错误通知来执行规定的代替处理。
发明效果
能够容易地构建能够实现控制对象的适当控制的系统。
附图说明
图1是表示包含综合控制器的控制系统的概略结构的图。
图2是对综合控制器的功能进行了图像化的功能框图。
图3是表示由综合控制器按照控制周期执行的处理流程的图。
图4是与由综合控制器执行的机器人控制相关的第一流程图。
图5是与由综合控制器执行的机器人控制相关的第二流程图。
图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与现场设备之间交换的数据以数百μsec级~数十msec级的极短周期进行更新。另外,这样被交换的数据的更新处理也被称为输入输出刷新处理。
另外,控制装置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采用使用机器人语言记述且逐行依次执行的解释器模式。
并且,如图2所示,控制装置100具有IEC程序处理部40、下位网络接口60、上位网络接口20、控制应用处理部30。下位网络接口60对经由现场网络2与IEC程序处理部40及控制应用处理部30连接的现场设备之间的数据交换进行中转。上位网络接口20对经由上位网络6与IEC程序处理部40及控制应用处理部30连接的服务器装置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通过按照每个控制周期向上述规定的装置输出指令值,来实现由动作命令指示的动作。
接着,控制应用处理部30基于应用程序52以及方案信息等,运算用于控制控制应用的指令值。另外,在本申请中,为了控制机器人210而由控制应用处理部30执行应用程序52。控制应用处理部30与IEC程序处理部40的指令值的运算及输出同步地运算及输出用于控制应用的指令值。即,控制应用处理部30与IEC程序处理部40的运算处理同步地执行指令值的运算处理。另外,后面说明该IEC程序处理部40和控制应用处理部30的同步处理。为了实现与IEC程序处理部40的指令值的运算处理同步的指令值的运算,控制应用处理部30包括动作处理部32、缓冲器33、解释器34。
解释器34具有缓冲器33,该缓冲器33依次解释应用程序52的至少一部分而生成中间代码,并且存储所生成的中间代码。本申请中的中间代码是包含用于按照每个控制周期运算指令值的命令在内的概念,可以包含1个或多个命令、或者1个或多个函数。然后,动作处理部32按照解释器34预先生成并存储在缓冲器33中的中间代码,按照每个控制周期运算指令值。一般而言,由于应用程序52中记述的命令(代码)依次被执行,因此无法保证指令值的运算周期,但在本申请中,通过这样利用中间代码,动作处理部32能够按照每个控制周期运算指令值。在中间代码中记述的命令可以使用与各控制应用对应的坐标系。
而且,为了在IEC程序处理部40与控制应用处理部30之间共享数据,设置共享存储器31。在本申请中,控制应用处理部30的处理结果的一部分或者全部被存储于共享存储器31,IEC程序处理部40能够参照控制应用处理部30的共享存储器31所存储的数据。另外,可以从IEC程序处理部40向控制应用处理部30的共享存储器31进行数据写入,这样从IEC程序处理部40写入的数据能够从解释器34及动作处理部32参照。
在此,如上所述,机器人210利用由解释器34生成的中间代码而被动作处理部32控制,但进一步作为机器人210控制的其他方式,动作处理部32也能够以IEC程序51的执行为起点来控制机器人210。在该情况下,在IEC程序51中包含机器人210的控制指令(动作指令),首先,若由IEC程序处理部40执行IEC程序51,则其中所包含的机器人210的控制指令被交给动作处理部32,基于该控制指令来控制机器人210。
这样,控制装置100构成为能够按照执行方式不同的IEC程序51和应用程序52这两者来控制机器人210,因此能够根据各程序的特性,灵活地构建用于实现用户要求的控制系统1。另一方面,采用这样的结构意味着机器人210能够通过不同种类的程序进行控制,因此,关于机器人的控制,若两程序的执行定时重叠,则难以使机器人210如设想那样进行动作。换言之,为了避免这样的机器人210的不优选的动作,用户需要适当地管理两程序的执行定时的相关性,其用户负担不小。
因此,控制装置100具有许可部35,该许可部35在这样关于机器人控制的IEC程序51与应用程序52的执行定时重叠时,进行许可任意一方的程序的执行而不许可另一方的程序的执行的处理,即进行给出择一的执行许可的处理。许可部35在控制装置100中将控制机器人210的程序限定为IEC程序51和应用程序52中的任意一方。由此,能够避免在IEC程序51与应用程序52的执行定时重叠时机器人210采取意外的动作。
<程序的同步执行>
在控制装置100中,实现IEC程序51与应用程序52的同步执行。控制应用处理部30的解释器34按照比控制周期长的周期例如控制周期的2倍的周期依次执行应用程序52。但是,IEC程序处理部40的动作处理部42和控制应用处理部30的动作处理部32均按照同一控制周期运算指令值。因此,来自控制装置100的指令值的输出均按照预先规定的控制周期同步地进行。这样,IEC程序处理部40及控制应用处理部30分别具有用于连续地控制致动器的动作的动作处理部,这些动作处理部同步地运算指令值,由此能够使基于IEC程序51的控制以及基于应用程序52的控制这两者与控制周期同步地执行,由此实现以控制周期为单位的精密的控制。
接着,基于图3,对控制装置100中的IEC程序51及应用程序52的执行定时的详细情况进行说明。图3是表示控制装置100中的程序的执行定时的一例的图。此外,在控制装置100中,考虑处理器的资源,来设定优先级高的高优先级任务(图3中的上层的处理)和优先级低的低优先级任务(图3中的下层的处理)。具体而言,下位网络接口60、IEC程序处理部40及其动作处理部42的执行、以及控制应用处理部30的动作处理部32的执行被设定为高优先级任务,控制应用处理部30的解释器34的执行被设定为低优先级任务。
即,与下位网络接口60关联的输入输出刷新处理B60、IEC程序51的执行处理B40、基于IEC程序51由动作处理部42进行的指令值的运算处理B42、基于应用程序52由动作处理部32进行的指令值的运算处理B32、以及以IEC程序51为起点由动作处理部32进行的指令值的运算处理B32’作为高优先级任务来执行。另一方面,依次解释应用程序52的处理B34作为低优先级任务来执行。另外,对于在1个控制周期T1中的高优先级任务,通过上述的许可部35的许可处理,仅进行运算处理B32和运算处理B32’中的某一方。
在此,高优先级任务按照预先设定的控制周期T1反复执行。每当在各控制周期内没有执行高优先级任务的期间执行低优先级任务。即,按照控制周期分配高优先级任务的执行时间,在高优先级任务的执行时间以外的时间内执行低优先级任务。
首先,对高优先级任务进行说明,若各控制周期到来,则在执行输入输出刷新处理B60之后,通过IEC程序处理部40执行(扫描)IEC程序51的整体,运算关于序列控制的1个或多个指令值(执行处理B40)。同时,通过动作处理部42执行与IEC程序51所包含的动作命令相关的动作处理,运算关于动作命令的1个或多个指令值(执行处理B42)。进而,通过控制应用处理部30的动作处理部32,按照存储在缓冲器33中的中间代码,准备机器人210的控制用的动作指令(执行处理B32),或者,从IEC程序51中准备其中所包含的机器人210的控制用的动作指令(执行处理B32’)。执行处理B32还是执行处理B32’取决于许可部35的许可处理。关于其具体处理,将在后面进行说明。以下,在每个控制周期内重叠同样的处理。另外,动作处理部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。只要将控制应用同步周期设定为控制周期的整数倍,则可以是任意的长度。根据在控制应用中要求的控制的精度等适当设定。
接着,基于图4~图6,对控制装置100的现场设备(机器人210及马达222)的处理流程进行说明。图4是与上述的高优先级任务的处理相关的流程图,图5是表示在高优先级任务中进行的机器人执行处理的详情的流程图,图6是与上述的低优先级任务的处理相关的流程图。
首先,对高优先级任务的处理流程进行说明。当控制周期T1到来时,下位网络接口60执行输入输出刷新处理(S101的处理)。由此,在紧前的控制周期T1中运算出的指令值(基于B40、B42、B32、B32’等的指令值)被输出到现场设备的致动器等,并且取得来自现场设备的输入数据。接着,在S102中,判定本次的控制周期是否与数据同步的定时一致。因此,若作出肯定判定,则在IEC程序处理部40与控制应用处理部30之间执行数据同步(S103的处理)。另外,若在S102中作出否定判定,则处理进入S104。
接着,在S104中进行上述的执行处理B40,接着,在S105中进行上述的执行处理B42。之后,在S106中进行机器人执行处理,该机器人执行处理进行用于控制机器人210的动作指令的准备。
在此,基于图5,对机器人执行处理进行说明。首先,在S201中判定在控制机器人210的期间是否存在用于占有机器人210的请求即占有请求。该占有请求是在想要对机器人210指示规定的一系列的内容的控制时,在该指示开始之前从包含对机器人210的控制指示的IEC程序51以及应用程序52向控制应用处理部30输出的请求。此外,若输出的占有请求通过后述的S203或S206中的占有许可判定而被许可,则在进行后述的S211中的占有的消除处理之前,在控制上成为机器人210被任一程序占有的状态。如果在S201中作出肯定判定,则处理进入S202,如果作出否定判定,则处理进入S220。
在S202中,判定发出了上述的占有请求的程序是应用程序52还是IEC程序51。在为前者的情况下处理进入S203,在为后者的情况下处理进入S206。然后,在S203中,判定从应用程序52发出的占用请求是否被许可。该判定由许可部35进行。在该判定中,在未通过另一个程序即IEC程序51而使机器人210的控制成为占有状态的情况下,从应用程序52发出的占有请求被许可(S203中为肯定判定)。另一方面,在已经通过IEC程序51占有了机器人210的控制的情况下,该占有请求不被许可(S203中为否定判定)。在S203中,若作出肯定判定,则处理进入S204,若作出否定判定,则处理进入S208。
此外,在S204中,通过动作处理部32从缓冲器33读出中间代码,然后接下来在S205中,通过动作处理部32,按照读出的中间代码,运算此次的控制周期T1中的用于机器人210的控制的动作指令,为了同步控制而做准备(相当于运算处理B32的处理)。
另外,在S206中,判定从IEC程序51输出的占有请求是否被许可。该判定也通过许可部35进行。在该判定中,在未通过另一个程序即应用程序52而使机器人210的控制成为占有状态的情况下,从IEC程序51发出的占有请求被许可(S206中为肯定判定)。另一方面,在已经通过应用程序52占有了机器人210的控制的情况下,该占有请求不被许可(S206中为否定判定)。在S206中,若作出肯定判定,则处理进入S207,若作出否定判定,则处理进入S208。
此外,在S207中,为了同步控制而准备IEC程序51中包含的用于机器人210的控制的动作指令(相当于运算处理B32’的处理)。
在此,在上述S203、S206中作出否定判定的情况下处理进入S208,在S208中,通过许可部35进行错误通知。该错误通知是指由于处于另一方的程序为了控制机器人210而占有的状态,因此从自己的程序发出的占有请求不被许可的通知。接着,在S209中,为了同步控制,按照在当前时刻占有的程序,准备用于机器人210的控制的动作指令。即,在机器人210被应用程序52占有的情况下,进行与S204以及S205相当的处理,在机器人210被IEC程序51占有的情况下,进行与S207相当的处理。
然后,在S205、S207、S209的处理之后,进行S210的处理。在S210中,判定各程序对机器人210的一系列的控制是否结束。控制的结束能够基于从各程序发出的控制结束的指令等来判定。若在S210中作出肯定判定,则在接下来的S211中,解除至此为止的机器人210的占有状态,之后能够通过任意的程序来控制,成为机器人210未被占有的状态。若在S210中作出否定判定,则维持到此为止的机器人210的占有状态。
在此,对在上述的S201中作出否定判定、处理进入S220的情况进行说明。在S220中,在没有占有请求的情况下(S201中为否定判定的情况下),判定是否存在正在占有机器人210的控制的程序。若在S220中作出肯定判定,则处理进入S209,为了同步控制,按照在该时刻进行占有的程序,准备用于机器人210的控制的动作指令。另外,若在S220中作出否定判定,则机器人执行处理结束。在该情况下,不准备用于机器人210的控制的动作指令。
通过图4以及图5所示的高优先级任务的一系列的处理来运算、准备的指令值,在下一个控制周期T1到来时被输出到现场。并且,在该一系列的处理结束后且下一个控制周期T1到来之前的期间,执行图6所示的低优先级任务。
基于图6,对低优先级任务的处理流程进行说明。低优先级任务涉及解释器34对应用程序52的解释处理。首先,在S301中,控制应用处理部30判定缓冲器33中是否剩余有中间代码。进行该判定是为了不进行超过缓冲器33的容量的中间代码的生成。若在S301中作出肯定判定,则低优先级任务结束,如果作出否定判定则处理进入S302。在S302中,通过解释器34读入应用程序52的一部分。例如,读入构成应用程序52的代码的一行量。而且,在S303中,由解释器34解释被读入的代码而生成中间代码。所生成的中间代码在S304中被存储在缓冲器33中。此外,关于S302~S304的处理,在不存在成为执行对象的应用程序的情况下不进行这些处理,作为结果,在缓冲器33中不保存中间代码。具有这样一系列的处理的低优先级任务在自身被分配了程序的执行时间的期间内重叠进行。
通过进行图4~图6所示的一系列的处理,在控制装置100中,在图3所示的执行定时执行IEC程序51以及应用程序52。特别是,关于机器人210的动作控制,经由许可部35的许可处理,动作处理部32实现基于IEC程序51和应用程序52中的任意一方的排他性的动作控制。通过采用这样的结构,想要构建控制系统1的用户能够将机器人210的动作控制委托给许可部35的许可处理。因此,用户能够容易地构建能够适当地控制机器人210的控制系统1。
<附记1>
一种控制装置,所述控制装置(100)具有基于在每次执行时整体被执行的第一执行方式的程序(51)和基于依次执行的第二执行方式的程序(52),
所述控制装置(100)具备:
第一处理部(40),其构成为,能够按照预先设定的控制周期执行基于所述第一执行方式的程序(51),来运算用于控制第一控制对象(222)的第一指令值;
第二处理部(30),其构成为,执行基于所述第二执行方式的程序(52),基于通过解释器(34)解释该程序的至少一部分而生成的中间代码,运算用于按照所述控制周期控制第二控制对象(210)的第二指令值,并且,即使以所述第一处理部(40)执行基于所述第一执行方式的程序(51)为起点,也能够运算用于控制该第二控制对象(210)的该第二指令值;
输出部(60),其按照每个所述控制周期输出所述第一指令值以及所述第二指令值;以及
许可部(35),在为了控制所述第二控制对象(210)而基于所述第一执行方式的程序(51)的执行定时与基于所述第二执行方式的程序(52)的执行定时重叠时,所述许可部(35)仅许可先访问所述第二处理部(30)的一方的程序的执行。
标号说明
1:控制系统;2:现场网络;6:上位网络;10:服务器装置;30:控制应用处理部;40:IEC程序处理部;51:IEC程序;52:应用程序;210:机器人;220:伺服驱动器;222:马达。

Claims (3)

1.一种控制装置,所述控制装置具有基于在每次执行时整体被执行的第一执行方式的程序以及基于依次执行的第二执行方式的程序,其中,
所述控制装置具备:
第一处理部,其构成为,能够按照预先设定的控制周期执行基于所述第一执行方式的程序,来运算用于控制第一控制对象的第一指令值;
第二处理部,其构成为,能够执行基于所述第二执行方式的程序,基于通过解释器对该程序的至少一部分进行解释而生成的中间代码,按照所述控制周期来运算用于控制第二控制对象的第二指令值,并且,即使以所述第一处理部的基于所述第一执行方式的程序的执行为起点,也能够运算用于控制该第二控制对象的该第二指令值;
输出部,其按照每个所述控制周期输出所述第一指令值以及所述第二指令值;以及
许可部,在为了控制所述第二控制对象而基于所述第一执行方式的程序的执行定时与基于所述第二执行方式的程序的执行定时重叠时,所述许可部仅许可先访问所述第二处理部的一方的程序的执行。
2.根据权利要求1所述的控制装置,其中,
当基于先访问所述第二处理部的所述一方的程序进行的所述第二控制对象的控制结束时,形成能够以所述许可部的许可为条件来执行基于所述第一执行方式的程序和基于所述第二执行方式的程序中的任一方的状态。
3.根据权利要求1或2所述的控制装置,其中,
所述许可部在许可了所述一方的程序的执行的情况下进行与未被许可程序执行的另一方相关的错误通知。
CN202080038653.2A 2019-06-20 2020-02-21 控制装置 Pending CN113874797A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019114346A JP7230703B2 (ja) 2019-06-20 2019-06-20 制御装置
JP2019-114346 2019-06-20
PCT/JP2020/007162 WO2020255486A1 (ja) 2019-06-20 2020-02-21 制御装置

Publications (1)

Publication Number Publication Date
CN113874797A true CN113874797A (zh) 2021-12-31

Family

ID=73995266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080038653.2A Pending CN113874797A (zh) 2019-06-20 2020-02-21 控制装置

Country Status (6)

Country Link
US (1) US20220221833A1 (zh)
EP (1) EP3964900A4 (zh)
JP (1) JP7230703B2 (zh)
KR (1) KR20220005537A (zh)
CN (1) CN113874797A (zh)
WO (1) WO2020255486A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022114752A (ja) * 2021-01-27 2022-08-08 オムロン株式会社 制御装置、プログラム実行方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491307A (zh) * 2017-09-12 2019-03-19 欧姆龙株式会社 控制装置及控制方法
CN109491324A (zh) * 2017-09-13 2019-03-19 欧姆龙株式会社 控制装置及控制方法
CN109557890A (zh) * 2017-09-26 2019-04-02 欧姆龙株式会社 控制装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636124A (en) * 1995-03-08 1997-06-03 Allen-Bradley Company, Inc. Multitasking industrial controller
JP3716604B2 (ja) * 1998-03-24 2005-11-16 富士電機機器制御株式会社 情報処理装置
US7802238B2 (en) * 2001-06-22 2010-09-21 Invensys Systems, Inc. Process control script development and execution facility supporting multiple user-side programming languages
US20110055841A1 (en) 2008-06-24 2011-03-03 Yuuki Senno Access control apparatus, access control program, and access control method
JP4877423B1 (ja) 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP6919404B2 (ja) 2017-08-10 2021-08-18 オムロン株式会社 制御装置
JP6903275B2 (ja) * 2017-09-14 2021-07-14 オムロン株式会社 制御装置および制御方法
JP6927089B2 (ja) * 2018-03-05 2021-08-25 オムロン株式会社 制御装置、システムプログラム、制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491307A (zh) * 2017-09-12 2019-03-19 欧姆龙株式会社 控制装置及控制方法
CN109491324A (zh) * 2017-09-13 2019-03-19 欧姆龙株式会社 控制装置及控制方法
CN109557890A (zh) * 2017-09-26 2019-04-02 欧姆龙株式会社 控制装置

Also Published As

Publication number Publication date
EP3964900A1 (en) 2022-03-09
JP7230703B2 (ja) 2023-03-01
WO2020255486A1 (ja) 2020-12-24
EP3964900A4 (en) 2023-01-25
US20220221833A1 (en) 2022-07-14
JP2021002113A (ja) 2021-01-07
KR20220005537A (ko) 2022-01-13

Similar Documents

Publication Publication Date Title
CN109388107B (zh) 控制装置
US10761884B2 (en) Control device for operating multiple types of programs in different execution formats
CN109507980B (zh) 控制装置及控制方法
US10908577B2 (en) Control device
CN109491307B (zh) 控制装置及控制方法
WO2015136960A1 (ja) コントローラ
JP7310465B2 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
CN113874797A (zh) 控制装置
EP4036670A1 (en) Control device
JP7456165B2 (ja) 制御装置
JP7396063B2 (ja) データ処理方法
WO2020137522A1 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
CN114207534A (zh) 控制装置

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