CN113498496A - 控制系统 - Google Patents

控制系统 Download PDF

Info

Publication number
CN113498496A
CN113498496A CN202080017653.4A CN202080017653A CN113498496A CN 113498496 A CN113498496 A CN 113498496A CN 202080017653 A CN202080017653 A CN 202080017653A CN 113498496 A CN113498496 A CN 113498496A
Authority
CN
China
Prior art keywords
control
processing
data
time
server
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
CN202080017653.4A
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 CN113498496A publication Critical patent/CN113498496A/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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4188Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1147Variable rate of scan
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

能够实现关于控制运算处理的高效的系统运用。控制系统具备彼此时刻同步的信息处理装置(600)和控制装置(100A‑100C),其中,信息处理装置执行控制运算处理,依照基于来自控制装置的接收数据的控制运算,计算控制数据。控制装置执行输入输出处理,将来自现场装置(90)的输入数据转发给信息处理装置,并将从信息处理装置接收到的控制数据输出至现场装置。控制运算处理以及输入输出处理在如下的时间内执行,该时间是基于时刻同步的时间、且为控制装置与信息处理装置之间共享的时间。

Description

控制系统
技术领域
本发明涉及对控制对象进行控制的控制系统。
背景技术
在生产线所具备的FA(Factory Automation:工厂自动化)中,使用PLC(Programmable Logic Controller:可编程逻辑控制器)等控制装置。这样的控制装置经由总线或网络与设置于生产线的一个或多个现场装置即控制对象之间收发数据。控制装置使用从现场装置接收到的数据来执行依照用户程序(User Program,以下有时简称为UPG)的控制运算处理,并将基于处理结果的控制数据发送给现场装置。现场装置依照控制数据而被控制,将控制结果的数据输出至控制装置。
近年来,伴随着FA系统的高功能化,期望实现高效的系统运用。例如,日本特开2018-73436号公报(专利文献1)通过利用以能够经由网络进行通信的方式与控制设备连接的服务器来实施针对每个控制设备的参数设定,由此能够进行参数的简单管理。
现有技术文献
专利文献
专利文献1:日本特开2018-73436号公报
发明内容
发明所要解决的课题
此外,伴随着FA系统的高功能化,依照UPG的控制运算处理所花费的处理量或处理时间增加。因此,伴随UPG的控制运算处理所花费的处理量或处理时间的增加,期望采取实现高效的系统运用的措施。但是,专利文献1虽然公开了与参数设定有关的结构,但是没有提出用于伴随UPG的控制运算处理所花费的处理量或处理时间的增加而进行高效的系统运用的技术。
本发明的一个目的在于提供关于控制运算处理能够实现高效的系统运用的控制系统。
用于解决课题的手段
本发明的一例是一种控制系统,其具备一个以上的控制装置以及信息处理装置,其中,信息处理装置与一个以上的控制装置以能够通信的方式连接并彼此时刻同步,信息处理装置包括处理部,该处理部执行如下的控制运算处理:依照基于从各一个以上的控制装置接收到的数据的控制运算,计算控制数据,各控制装置包括控制部,该控制部执行如下的输入输出处理:将来自现场装置的输入数据转发给信息处理装置,并将从信息处理装置接收到的控制数据输出至现场装置,控制运算处理以及输入输出处理在如下的时间内执行,该时间是基于时刻同步的时间、且为各控制装置与信息处理装置之间共享的时间。
根据上述发明,在具备彼此时刻同步的信息处理装置和控制装置的控制系统中,提供了在共享的时间内协同执行信息处理装置的控制运算处理和控制装置的输入输出处理的环境。在此,由于控制装置不需要具备控制运算处理的执行环境,因此控制装置能够不受控制运算处理所要求的处理量或处理时间的制约地(独立地)控制现场装置。
在上述发明中,处理部执行的处理还包括如下处理:当在共享的时间内用于执行所述控制运算处理的时间不足时,延长共享的时间。
根据上述发明,能够在共享的时间内确保用于执行控制运算处理的时间。
在上述发明中,共享的时间包含控制周期,输入输出处理包括如下处理:在控制周期中,将与该控制周期以前的多个控制周期对应的输入数据转发给信息处理装置,将从信息处理装置接收到的与多个控制周期对应的控制数据输出至现场装置。
根据上述发明,控制装置将多个控制周期的输入数据汇总发送给信息处理装置,从而与按每个控制周期进行发送的情况相比较,能够节约信息处理装置与控制装置之间的通信时间。此外,由于对多个控制周期的数据进行通信,因此即使存在某个控制周期的数据丢落(丢失),也能够利用其它控制周期的数据来进行补充。
在上述发明中,共享的时间包含控制周期,输入输出处理包括如下处理:将与一个控制周期对应的输入数据转发给所述信息处理装置,将基于从信息处理装置接收到的该输入数据的与多个控制周期对应的控制数据输出至现场装置。
根据上述发明,控制装置通过将一个控制周期的输入数据发送给信息处理装置,能够取得与多个控制周期对应的控制数据。
在上述发明中,输入输出处理包括如下处理:当在控制周期中,从信息处理装置接收到与多个控制周期对应的控制数据时,将与该多个控制周期对应的控制数据分别在该控制周期之后的多个控制周期中输出至现场装置。
根据上述发明,信息处理装置将之后的多个控制周期的控制数据汇总发送给控制装置,从而与按每个控制周期发送的情况相比较,能够节约信息处理装置与控制装置之间的通信时间。此外,由于对多个控制周期的数据进行通信,因此即使存在某个控制周期的数据丢落(丢失),也能够利用其它控制周期的数据来进行补充。
在上述发明中,信息处理装置和各控制装置根据在共享的时间内受理的共同的触发而开始处理,信息处理装置在从根据触发的受理时间和输入输出处理所花费的时间而预测出的数据的接收开始时间追溯的规定时间内,执行用于控制运算处理的准备处理。
根据上述发明,在开始控制运算处理之前,能够确保执行准备处理的时间。
在上述发明中,准备处理包括禁止执行除控制运算处理外的信息处理的处理。
根据上述发明,通过在控制运算处理开始之前禁止其它信息处理的执行,由此能够可靠地准备用于之后的控制运算处理的资源。
在上述发明中,多个控制装置以能够通信的方式与信息处理装置连接,控制运算处理包括分别与各多个控制装置对应的多个控制运算处理,处理部具备第1模式或第2模式,其中,在第1模式下,在从多个控制装置接收到数据时,开始执行多个控制运算处理,在第2模式下,在从多个控制装置中的一个控制装置接收到数据时,开始执行与该一个控制装置对应的控制运算。
根据上述发明,在信息处理装置中,作为开始执行多个控制运算处理的模式,提供使得同步开始的上述第1模式或者使得不同步、非同步地(从对应的控制装置接收到数据时)开始的上述第2模式。
在上述发明中,处理部在具备第1模式以及第2模式的情况下,依照外部指示而实施第1模式以及第2模式中的一方。
根据上述发明,根据来自外部的指示,能够使信息处理装置执行第1模式以及第2模式中的任意一个。
在上述发明中,多个现场装置经由现场网络与控制装置连接,控制部在输入输出处理中,经由现场网络从多个现场装置收集输入数据,并将从信息处理装置接收到的控制数据转发给多个现场装置。
根据上述发明,控制装置在输入输出处理中能够收集来自现场装置的输入数据,并将从信息处理装置接收到的控制数据转发给多个现场装置。
在上述发明中,多个控制装置以能够通信的方式与信息处理装置连接,多个控制装置包括作为运转系统工作的控制装置和作为待机系统工作的控制装置,待机系统的控制装置对应于规定定时而开始运转,信息处理装置对应于规定定时,而将与运转系统的控制装置之间的数据通信切换为与作为待机系统的控制装置之间的数据通信。
根据上述发明,能够使控制系统所具备的多个控制装置作为运转系统或待机系统工作,对应于规定定时而将待机系统的控制装置切换为运转系统。在规定定时包含发生故障的情况下,即使在发生故障后,也能够使控制系统继续运转。
发明效果
根据本发明,能够提供关于控制运算处理能够实现高效的系统运用的控制系统。
附图说明
图1是示意性地示出本实施方式的控制系统1的结构的一例的图。
图2是示出根据本实施方式的控制系统1的网络结构例的示意图。
图3是示出本实施方式的PLC100的结构例的框图。
图4是示出本实施方式的服务器600的结构例的图。
图5是示出本实施方式的PLC100的软件结构例的框图。
图6是示出本实施方式的服务器600的软件结构例的图。
图7是示意性地示出本实施方式的控制系统1的基本系统的图。
图8是示意性地示出本实施方式的基本系统的时序图的一例的图。
图9是示出本实施方式的基本系统中的处理流程的一例的图。
图10是示出本实施方式的基本系统中的处理流程的变形例的图。
图11是示意性地示出本实施方式的控制系统1的复用系统的图。
图12是示意性地示出本实施方式的复用系统的时序图的一例的图。
图13是示意性地示出本实施方式的复用系统的时序图的另一例的图。
图14是示出本实施方式的复用系统中的处理流程的一例的图。
图15是示意性地示出本实施方式的复用系统的应用例的图。
图16是示意性地示出本实施方式的复用系统的另一应用例的图。
图17是示意性地说明本实施方式的过采样的一例的图。
图18是示意性地示出通过图17的过采样而存储的数据的一例的图。
图19是示意性地说明本实施方式的过采样的另一例的图。
图20是示出本实施方式的基本系统中的处理流程的变形例的图。
图21是示出本实施方式的复用系统的处理流程的变形例的图。
具体实施方式
参照附图对本实施方式详细地进行说明。另外,对图中相同或者相当的部分标注相同的标号,不进行重复的说明。
<A.应用例>
首先,对应用了本发明的场景的一例进行说明。图1是示意性地示出本实施方式的控制系统1的结构的一例的图。参照图1,在能够应用于FA的控制系统1中,例如具备作为“控制装置”的一个实施例的PLC100A、100B及100C以及作为“信息处理装置”的一个实施例的服务器600。PLC100A、100B及100C具备相同的功能,在不对它们进行区分的情况下总称为PLC100。PLC100经由有线或无线的网络11与服务器600连接。此外,能够将支持装置500与网络11连接。
在图1中,在控制系统1中,PLC100与服务器600是分体地构成的,但不限于此。例如,控制系统1也可以构成为具备产业用计算机(所谓的IPC:Industrial PersonalComputer),所述产业用计算机内置有PLC100的功能和服务器600的功能。
PLC100A、100B及100C以及服务器600与网络11连接,通过网络11能够在装置间交换数据。此外,对于服务器600,也能够应用FA系统内的服务器、或者像云服务器等那样的FA系统外的服务器。在服务器600是外部服务器的情况下,网络11包含互联网等外部网络。
PLC100与传感器、致动器等各种现场装置90连接。现场装置90是“控制对象”的一例。这些现场装置90有时经由安装于PLC100的输入输出单元与PLC100直接连接,也有时经由现场侧的网络110与PLC100连接。在图1中,PLC100与一个或多个网络110连接。各网络110与一个或多个现场装置90连接。一个或多个现场装置90分别包含对制造装置或生产线等(以下,也总称为“现场”)给予某种物理性作用的致动器、以及在与现场之间交换信息的输入输出装置等。
经由网络110而在PLC100与现场装置90之间进行交换的数据以几百μsec级~几十msec级的极短的周期进行更新。另外,这样的进行交换的数据的更新处理通过IO刷新处理72来实现。IO刷新处理72是“输入输出处理”的一个实施例。
具体而言,在本实施方式中,PLC100具有生成包含所指定的观测值的帧的功能。PLC100将所生成的帧经由网络11转发(发送)给服务器600。观测值的概念也能够包含连续(或者隔开规定间隔地不连续)地观测与任意的控制对象有关的数据(观测值)的随时间的变化而得到的一系列的值。
在本说明书中,“观测值”是对在利用PLC100进行的控制运算中能够利用的值(实际值)进行总称的概念,典型地,能够包含从控制对象取得并被输入到控制运算中的值(从现场取得的测定值等)等。
在控制系统1中,服务器600的计时器601、PLC100A的计时器101A、PLC100B的计时器101B以及PLC100C的计时器101C彼此时刻同步。服务器600通过使用从PLC100A、100B及100C接收到的相当于观测值的输入数据(发送)182来执行UPG(User Program:用户程序)69,而执行基于输入数据(发送)182的控制运算处理。服务器600将作为控制运算处理的计算值的输出数据(接收)183发送给PLC100,计算值相当于现场装置90的“控制数据”的一个实施例,例如表示指令值、控制量等。各PLC100执行如下的IO刷新处理72:收集来自现场装置90的相当于观测值的输入数据并转发给服务器600,将从服务器600接收到的控制数据输出至现场装置90。服务器600中的通过执行UPG69而进行的控制运算处理以及各PLC100中的IO刷新处理72在如下的时间内执行:该时间是基于上述的时刻同步的时间、且为各PLC100与服务器600之间共享的时间。
在图1中,在基于时刻同步的共享时间内,服务器600与PLC100一边交换数据一边实施协同控制。具体而言,在该共享时间内实施如下一系列的处理:(i)PLC100通过IO刷新处理72来收集来自现场装置90的输出数据(观测值),(ii)服务器600实施基于通过IO刷新处理72收集到的来自现场装置90的输出数据的控制运算处理,(iii)PLC100通过IO刷新处理72将来自服务器600的计算值(指令值、控制量)效果)输出至现场装置90。在控制系统1中,UPG69的执行环境并非设置于PLC100而是设置于服务器600。因此,在协同控制中,能够执行要求超过PLC100的处理能力(所谓的规格)的运算量和运算速度的UPG69,并使用该执行结果来控制现场装置90。
以下,对本实施方式的更具体的应用例进行说明。
<B.控制系统1的网络结构>
再次参照图1,工序3A、3B及3C分别具备与控制系统1的网络11连接的PLC100A、100B及100C。虽然没有限定,但工序3A、3B及3C可以是相同的工序(例如,将工件组装于产品的工序等),或者也可以是不同的工序(工件的组装工序、组装后的产品的涂装工序、涂装后的产品的检查工序等)。
作为网络11的协议并没有限定,例如可以使用在通用的Ethernet(以太网;注册商标)上安装了控制用协议的产业用开放式网络即EtherNet/IP(注册商标)。此外,作为网络110的协议,虽然没有限定,但可以采用作为机器控制用网络的一例的EtherCAT(以太网控制自动化技术;注册商标)。另外,网络11的协议与网络110的协议可以相同,也可以不同。此外,网络110也能够由数据总线来构成。
此外,支持装置500提供辅助用户运用控制系统1的辅助工具。辅助工具包括对服务器600中的UPG69的执行环境、与PLC100之间的通信环境等的准备设定等提供辅助的工具。支持装置500可以与网络11连接,但也可以拆装自如地与服务器600连接,或者也可以在服务器600中内置有辅助工具。此外,辅助工具也可以包含对PLC100为了控制现场装置90所需的准备设定、与服务器600之间的通信环境等的准备设定等提供辅助的工具,在该情况下,支持装置500可以以拆装自如的方式与PLC100连接。另外,辅助工具例如通过UI(UserInterface:用户界面)向用户提供。
<C.控制系统1中的时刻同步>
在图1的控制系统1中,与网络11连接的多个PLC100A、100B及100C分别与经由网络110连接的一个或多个现场装置90之间收发数据。具体而言,PLC100执行如下的输入输出处理(IO刷新处理72):将从现场装置90输入的数据转发给服务器600,并将从服务器600接收到的控制数据输出至现场装置90。
此外,在网络110中,需要保证数据的到达时间。因此,PLC100具有规定数据传输的定时的、在收发数据的主体(即,一个或多个现场装置90以及服务器600)之间彼此已时刻同步的计时器。
此外,在根据本实施方式的控制系统1中,使多个PLC100各自所具有的计时器彼此时刻同步。由此,能够在与互不相同的PLC100连接的、即不同的工序间实现多个现场装置90的协同控制。
以下,对本实施方式的控制系统1所提供的时刻同步功能进行说明。
(c1.时刻同步)
图2是示出根据本实施方式的控制系统1的网络结构例的示意图。参照图2,对根据本实施方式的控制系统1中的时刻同步进行说明。
图2所示的控制系统1具备多个PLC100A、100B及100C和多个现场装置90A~90I。在控制系统1中,PLC100A、100B及100C分别作为管理所对应的网络110内的数据传输的主机(master)发挥功能。现场装置90A~90I作为依照来自对应主机的指令进行数据传输的从机(slave)发挥功能。
在根据本实施方式的控制系统1中,在与网络110连接的多个装置、即PLC100以及一个或多个现场装置90之间,收发定时被同步(相当于图中的时刻同步(3))。具体而言,PLC100以及现场装置90分别具备彼此已取得时刻同步的计时器。该计时器相当于同步地递增或递减的计数器。PLC100以及现场装置90分别依照它们的已被时刻同步的计时器来决定数据的发送或接收的定时。
另外,在本实施方式中,“定时”表示某种事态发生的时期、时间或时刻的概念。此外,“时刻同步”表示使彼此的装置所具有的计时器、时间数据等同步。在本实施方式中,该时刻同步例如能够通过在网络11、110中实施遵照TSN(Time-Sensitive Networking:时效性网络)的数据通信来实现。
在图2所示的例子中,PLC100A具备计时器102A,现场装置90A~90C分别具备计时器91A~91C。PLC100A的计时器102A作为主机发挥功能,现场装置90A~90C的计时器91A~91C以该主机为基准,将基于计时器102A的计时器值的值设定给计时器91A~91C(取得时刻同步)。
与PLC100A同样地,在PLC100B所具备的计时器102B与现场装置90D~90F所具备的计时器91D~91F之间取得时刻同步。此外,与PLC100A同样地,在PLC100C所具备的计时器102C与现场装置90G~90I所具备的计时器91G~91I之间取得时刻同步。
由此,能够在构成网络110的PLC100与现场装置90之间使数据的传输定时等彼此一致。
在图2所示的例子中,PLC100A具备已与计时器102A取得时刻同步的计时器101A,此外,PLC100B具备已与计时器102B取得时刻同步的计时器101B,此外,PLC100C具有已与计时器102C取得时刻同步的计时器101C(相当于图中的时刻同步(2))。
此外,在控制系统1中,服务器600的计时器601作为主机发挥功能,PLC100A的计时器101A、PLC100B的计时器101B以及PLC100C的计时器101C分别与主机的计时器601时刻同步。由此,各PLC100与服务器600相互进行时刻同步(相当于图中的时刻同步(1))。
此外,也可以是,PLC100A的计时器101A与服务器600的计时器601时刻同步,其它PLC100B、100C的计时器101B、101C与计时器101A时刻同步。
由此,在控制系统1中,各PLC100与服务器600彼此时刻同步,此外,各PLC100与和本PLC100连接的现场装置90彼此时刻同步。
<D.各装置的结构>
对控制系统1所具备的各装置的结构进行说明。
(d1.PLC100的结构)
图3是示出本实施方式的PLC100的结构例的框图。参照图3,PLC100包括处理器102、芯片组104、主存储装置106、二次存储装置108、NIC(Network Interface Card:网络接口卡)等网络控制器105、USB(Universal Serial Bus:通用串行总线)控制器107、存储卡接口114、局域总线控制器120、现场网络控制器118以及计数器126。
处理器102由CPU(Central Processing Unit:中央处理单元)、MPU(microprocessor unit:微处理器单元)、GPU(Graphics Processing Unit:图形处理单元)等构成。处理器102通过读出存储于二次存储装置108中的各种程序,并将所读出的程序在主存储装置106中展开并执行,由此实现与控制对象相应的控制以及后文所述的各种处理。二次存储装置108例如由HDD(Hard Disk Drive:硬盘驱动器)或SSD(Solid State Drive:固态硬盘)等非易失性存储装置等构成。主存储装置106由DRAM(Dynamic Random AccessMemory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置等构成。
芯片组104通过控制处理器102和各设备来实现作为PLC100整体的处理。
在二次存储装置108中,除了存储有用于实现基本功能的系统程序以外,还存储有根据作为控制对象的制造装置和设备而生成的用户程序。
网络控制器105经由网络11与服务器600之间交换数据。USB控制器107通过USB连接来控制与支持装置500之间的数据交换。
存储卡接口114构成为可插拔(detachable)存储卡116,能够对存储卡116写入数据,并能够从存储卡116读出各种数据(用户程序、跟踪数据等)。
计数器126是一种计时器。计数器126被用作用于管理PLC100中的各种处理的执行定时的时刻基准。典型地,计数器126每隔规定周期使计数器值递增或递减。作为计数器126,可以安装在驱动处理器102的系统总线上配置的硬件计时器,或者也可以使用ASIC(Application Specific Integrated Circuit:专用集成电路)、FPGA(Field-Programmable Gate Array:现场可编程门阵列)等专用电路来安装。图2中所示的计时器101A、101B及101C分别对应于计数器126。
现场网络控制器118对与包含通过网络110连接的现场装置90在内的其它设备之间的数据交换进行控制。现场网络控制器118具有计数器119,该计数器119被用作用于在与其它设备之间管理定时的时刻基准。图2所示的计时器102A、102B及102C分别对应于计数器119。
局域总线控制器120是在与能够与PLC100连接的未图示的功能单元之间交换数据的接口。
此外,网络110上的各现场装置90也具有计数器92,该计数器92被用作用于在与现场网络控制器118之间管理定时的时刻基准。图2的计时器91A~91I分别对应于计数器92。
计数器119以及各现场装置90所具有的计数器能够采用与上述计数器126相同的结构。
现场网络控制器118作为用于进行借助网络110实现的固定周期通信的通信主机工作。现场网络控制器118以使现场装置90的计数器91所示出的计数器值与计数器119所示出的计数器值一致的方式来实施同步管理。
在图3的PLC100中,通过在上述内容中所叙述的时刻同步,使得计数器119与计数器126同步。
在图3中,示出了通过处理器102执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如,ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。或者,也可以使用遵循通用架构的硬件(例如,以通用个人计算机为基础的产业用个人计算机)来实现PLC100的主要部分。在该情况下,提供具备多处理器而能够并行执行的环境。此外,也可以使用虚拟技术来并行地执行用途不同的多个OS(Operating System:操作系统),并且在各OS上执行所需的应用。
(d2.服务器600的结构)
图4是示出本实施方式的服务器600的结构例的图。服务器600具备通用的计算机结构。参照图4,服务器600具备计时器601、CPU或MPU等处理器603、存储装置、以及用于在与包含PLC100在内的其它装置之间交换数据的网络控制器620。网络控制器620例如也可以构成为具备NIC(network interface controller;网络接口控制器)。这些组件以能够经由内部总线602彼此进行数据通信的方式连接起来。该存储装置包括ROM(Read Only Memory:只读存储器)604、RAM(Random Access Memory:随机存取存储器)605以及HDD606。处理器603也可以构成为具备多处理器,能够并行地执行UPG69。
HDD606存储有包含OS的系统程序71、服务器程序68、用于控制运算处理的UPG69A、69B、用于监视异常的监视程序65、处理异常的异常处理程序66、用于实施在上述内容中所叙述的时刻同步的时刻同步程序67、调度器63、通信程序64、用于实施与控制运算不同的其它处理的其它程序611、以及与后述的确保“准备时间”的处理有关的保留程序612。处理器603将这些程序读出到RAM605并执行。
在本实施方式中,作为用户程序,HDD606存储有PLC100A的UPG69A以及PLC100B的UPG69B这两种,但也可以是,除了存储有UPG69A、69B以外,还存储有PLC100C的UPG。此外,当用户程序在PLC100A、100B及100C中通用的情况下,存储于HDD606的用户程序也可以是一种。在不对UPG69A、69B进行区分的情况下,称为UPG69。UPG69也可以包括MCE(MotionControl Engine:运动控制引擎)70。MCE70是生成(计算)用于使机器人依照目标轨迹移动(驱动)的指令值的程序。
RAM605包括存储后述的输入数据(发送)182的接收用数据区域61、和存储后述的输出数据(接收)183的发送用数据区域62。输入数据(发送)182和输出数据(接收)183由作为数据的发送方或接收方的PLC100的标识符、变量名以及与该变量对应的数据构成。处理器603将经由网络控制器620从PLC100接收到的输入数据(发送)182存储于接收用数据区域61。此外,处理器603执行使用了接收用数据区域61的输入数据(发送)182的控制运算处理,将作为计算值的输出数据(接收)183存储于发送用数据区域62。输入数据(发送)182的接收和输出数据(接收)183的发送通过处理器603执行通信程序64来实现。
此外,控制运算处理通过处理器603执行UPG69来实现。对于UPG69没有限定,例如能够由利用了功能块等的梯形逻辑等来规定。
(d3.PLC100的软件结构)
接下来,对本实施方式的PLC100的软件结构例进行说明。图5是示出本实施方式的PLC100的软件结构例的框图。参照图5,PLC100包括控制引擎150、缓冲器180以及网关程序194。典型地,缓冲器180例如可以配置在主存储装置106或二次存储装置108内、或者配置在网络控制器105所具备的存储器内。此外,缓冲器180存储有输入数据(发送)182和输出数据(接收)183。
控制引擎150提供各种程序的执行环境。具体而言,PLC100的处理器102通过读出存储于二次存储装置108中的系统程序151,在主存储装置106中展开并执行,由此实现控制引擎150。
控制引擎150执行控制程序152、变量管理程序160、调度程序170、输入程序172、输出程序174以及时刻同步程序177。变量管理程序160、调度程序170、输入程序172、输出程序174也可以作为系统程序151的一部分来安装。该情况下,也可以由单一的系统程序151来提供这些程序所提供的各个功能。
控制程序152包含作为用户所提供的程序的一例的周边处理程序154、IO刷新器156、转发程序158、异常处理程序178以及监视程序179。周边处理程序154是与由UPG69实施的控制运算处理不同的处理,是在控制运算处理的周边实施的处理,例如包括显示处理、记录处理等。另外,周边处理的概念也能够包括与UPG69实施的控制运算处理相关联的处理。
变量管理程序160例如在主存储装置106的规定存储区域中将能够由控制引擎150利用的值以变量的形式进行管理。更具体来说,变量管理程序160对表示PLC100的状态等的系统变量、表示经由网络110与PLC100连接的现场装置90所保持的值的设备变量161、以及表示由PLC100执行的周边处理程序154所保持的值的用户变量进行管理。设备变量161包括作为从现场装置90输入的数据的输入数据162、和作为应输出至现场装置90的数据的输出数据163的变量。对输出数据163的输出变量设定从服务器600接收到的输出数据(接收)183。对输入数据162的输入变量设定来自被依照输出数据163的控制量、指令值进行控制的现场装置90的观测值。
输入程序172受理经由网络110从现场装置90输入的输入数据162,并传递给变量管理程序160。此外,输出程序174将从变量管理程序160传递的输出数据163经由网络110输出至现场装置90。
转发程序158通过将来自IO刷新器156的输入数据162转换为能够发送的形式而生成输入数据(发送)182,并存储在缓冲器180中。此外,转发程序158将从服务器600接收并存储的缓冲器180的输出数据(接收)183转换为能够处理的形式的输出数据163,并将转换后的输出数据163输出至IO刷新器156。例如,虽然没有限定,但输入数据(发送)182表示包含现场装置90中的时序顺序的观测值的数据,此外,输出数据(接收)183表示应输出至现场装置90的时序顺序的控制数据。
IO刷新器156通过与变量管理程序160协作来实施IO刷新处理72。具体而言,IO刷新器156将从服务器600接收到的输出数据(接收)183经由转发程序158从缓冲器180读出,并输出至设备变量程序161。此外,IO刷新器156从变量管理程序160接收设备变量161中的作为输入变量的值的输入数据162,将接收到的输入数据162作为输入数据(发送)182经由转发程序158存储在缓冲器180中。
变量管理程序160将从输入程序172传递的数据设定为设备变量161中的输入变量,并且将输入变量的输入数据162输出至IO刷新器156。此外,变量管理程序160将来自IO刷新器156的输出数据(接收)183设定为设备变量161中的输出数据163的输出变量,并且将输出变量的输出数据163传递给输出程序174。
在上述IO刷新器156中,利用从现场装置90输入的数据(观测值)更新设备变量161中的输入数据162的变量值,并且将输出数据163反映(设定)到作为设备变量161中的对现场装置90的指令值和作为控制量的变量值。因此,通过IO刷新器156,在PLC100与现场装置90之间,更特别规定的是在服务器600与现场装置90之间实现输入数据162(输入数据(发送)182)与输出数据163(输出数据(接收)183)的数据交换。
网关程序194与服务器600进行通信。例如,网关程序194根据缓冲器180对服务器600的输入数据(发送)182生成帧,并将所生成的帧发送给服务器600。此外,网关程序194从服务器600接收帧,从接收到的帧中提取控制运算处理的计算值(指令值、控制量),并将提取值作为输出数据(接收)183存储在缓冲器180中。缓冲器180以及网关程序194也可以设置在网络控制器105内。
时刻同步程序177实现在上述内容中所叙述的与服务器600的时刻同步以及与现场装置90的时刻同步,并且根据时刻同步对PLC100内的控制程序152的执行周期进行管理。
调度程序170针对PLC100的过程或任务等来管理资源分配、执行定时等。这样的过程或任务包含通过由PLC100执行控制程序152、变量管理程序160、输入程序172、输出程序174、时刻同步程序177、异常处理程序178以及监视程序179等而能够生成的过程或任务。调度程序170例如以基于预定的控制周期的周期来调整各程序的执行定时。
由此,PLC100能够在基于与服务器600以及现场装置90之间取得同步的时刻的时期中实施基于控制程序152的周边处理以及IO刷新处理。
(d4.通信主机处理)
PLC100实施通信主机处理。在通信主机处理中,PLC100作为通信主机工作,在IO刷新处理72中,对借助网络110进行的来自多个现场装置90的输入数据的收集、以及从服务器600接收的控制数据向多个现场装置90的转发进行控制。
具体而言,PLC100在通信主机处理中,控制借助网络110进行的PLC100与现场装置90之间的数据通信。在通信主机处理中,PLC100进行控制,使得通信帧以与控制周期10同步的周期在现场装置90间进行一个循环(例如,几msec~十几msec)。在本实施方式中,作为这样的用于使通信帧循环传输的协议的一例,采用EtherCAT。
现场装置90经由网络110例如通过菊花链(daisy chain)依次连接。在通信帧中,针对每个现场装置90分配有数据区域。例如,各现场装置90在接收到通信帧时,将当前值(观测值)写入该接收到的通信帧内的分配给本装置的数据区域、或者从数据区域读出PLC100所设定的控制数据(指令值、控制量),之后,将通信帧送出至下一级的现场装置90。
各现场装置90通过将预先设定的数据的当前值写入通信帧而使得在网络110中进行了一个循环而返回通信主机(PLC100)的通信帧包含由各现场装置90观测到的最新的值。
PLC100的通信主机处理能够通过使得变量管理程序160、调度程序170、输入程序172、输出程序174、系统程序151中的至少一部分彼此协作地执行来实现。
(d5.服务器600的软件结构)
图6是示出本实施方式的服务器600的软件结构例的图。服务器600具备处理引擎610。处理引擎610通过在系统程序71的OS的基础上执行服务器程序68来实现。
处理引擎610执行实施在上述内容中所叙述的与PLC100的时刻同步的时刻同步程序67以及调度器63,并且在调度器63的基础上一边管理执行的定时一边执行UPG69A、69B、通信程序64、异常处理程序66、监视程序65、其它程序611以及保留程序612。调度器63也可以作为系统程序71的一部分而安装。
通信程序64与各PLC100实施数据交换。具体而言,通信程序64将来自PLC100的输入数据(发送)182存储于区域61,此外,将作为UPG69的控制运算处理的计算值的输出数据(接收)183存储于区域62。通信程序64也可以与网络控制器620所内置的通信控制程序协同来实施数据交换。
时刻同步程序67实现在上述内容中所叙述的与各PLC100的时刻同步,并且基于时刻同步对服务器600内的程序的执行周期进行管理。由此,在本实施方式中,服务器600能够以基于在与各PLC100之间进行了同步的时刻的周期来实施UPG69A、69B的控制运算处理。调度器63针对在服务器600中生成的过程或任务等,对资源分配、执行定时等进行管理。这样的过程或任务包含通过由服务器600执行异常处理程序66、监视程序65以及时刻同步程序67等而能够生成的过程或任务。调度器63例如以基于预定的控制周期的周期来调整各程序的执行定时。
<E.基本系统>
首先,对控制系统1的基本系统中的PLC100与服务器600之间的数据交换进行说明。图7是示意性地示出本实施方式的控制系统1的基本系统的图。参照图7,在基本系统中,服务器600与1台PLC100(例如PLC100A)连接。
(e1.基本系统的时序图)
图8是示意性地示出本实施方式的基本系统的时序图的一例的图。示出随着时序图的横轴所示的时间经过,包含服务器600与PLC100之间的通信处理的开始以及结束的定时和处理实施时间的长度。处理实施时间的长度以在时间轴所延伸的方向上延伸的带状的长度来表示。在图8中,PLC100与3台现场装置90(从机1、从机2及从机3)连接,但所连接的现场装置90不限于3台。
此外,在本实施方式中,在PLC100中,利用调度程序170进行调度,以依次执行IO刷新器156、用于PLC100与服务器600进行通信的转发程序158、以及周边处理程序154。由此,在PLC100中,如图8所示,在每个基于同步时刻的控制周期10中,依次实施IO刷新处理72、服务器通信73以及周边处理74。控制周期10是彼此时刻同步的PLC100和服务器600共享的时间的一例,PLC100和服务器600在被提供了共同的触发8时,检测出控制周期10的开始和结束的定时。
在现场装置90中,在控制周期10中,依次执行向PLC100发送作为观测值的输入数据162的处理“Snd”、从PLC100接收包含指令值、控制量的输出数据163的处理“Rcv”、以及依照输出数据163的对对象的“控制”。现场装置90中的“控制”是响应于共同的触发7的输入而开始的处理,在该处理中,依照之前刚刚接收到的输出数据163而对对象进行控制。在本实施方式中,在全部的现场装置90接收完成了输出数据163的定时将触发7提供给各现场装置90。由此,现场装置90能够在彼此同步的定时开始控制处理。另外,触发7和触发8能够从控制系统1所具备的未图示的信号产生电路提供。
参照图8,当各现场装置90实施处理“Snd”时,第n次(其中,n=1、2、3、···)的控制周期10结束,第(n+1)次的控制周期10开始。
当第(n+1)次的控制周期10开始时,实施IO刷新处理72,PLC100对在紧邻在前面的第n次的控制周期10中从现场装置90接收到的数据进行处理。具体而言,在IO刷新处理72中,利用从现场装置90输入的数据来更新设备变量161中的输入数据162的变量值。由此,收集设备变量161中的输入数据162的变量值。
在接下来的服务器通信73中,将之前刚刚收集到的输入数据162转换为输入数据(发送)182,经由网关程序194发送给服务器600。此外,这时,现场装置90实施接收由PLC100的输出程序174发送的输出数据163的处理“Rcv”,之后,响应于触发7而开始“控制”。在现场装置90中,当结束“控制”时,实施处理“Snd”。
此外,在第(n+1)次的控制周期10中,在PLC100与服务器600之间实施彼此同步的处理。服务器600接收来自PLC100的输入数据(发送)182,在基于与PLC100同步的时刻的定时执行UPG程序69。服务器600向PLC100发送基于UPG69的控制运算处理的计算值(即,对应于输出数据(接收)183)。PLC100接收来自服务器600的计算值,作为缓冲器180的输出数据(接收)183进行存储。之后,在PLC100中,实施周边处理74。之后,在第(n+2)次的控制周期10中,与第(n+1)次的控制周期10同样地实施处理。
此外,在控制周期10中,在PLC100中,也可以在向服务器600发送输入数据(发送)182后,直到从服务器600接收到输出数据(接收)183的期间为止,实施周边处理74。
在基本系统中,服务器600与PLC100彼此时刻同步,在控制周期10内(开始)实施PLC100的IO刷新处理72、利用服务器600(开始)实施UPG69的执行(控制运算处理的执行)。
(e2.基本系统的流程)
图9是示出本实施方式的基本系统中的处理流程的一例的图。在图9中,将在控制周期10中由PLC100实施的处理和由服务器600实施的处理关联起来进行示出。在图9中,为了指示控制周期10的开始而将触发8提供给PLC100及服务器600。因此,PLC100及服务器600在接收到共同的触发8时,开始应在该控制周期10中实施的处理。
首先,PLC100根据触发8而实施IO刷新处理72(步骤S3)。PLC100实施向服务器600发送通过IO刷新处理72收集到的输入数据(发送)182的服务器通信73(步骤S5)。
之后,PLC100实施周边处理74(步骤S7)。PLC100通过服务器通信73来判断是否从服务器600接收到(接收完成)输出数据(接收)183(步骤S9),当判断为未接收到、或者未接收完成(在步骤S9中为“否”)时,处理返回步骤S7,实施周边处理74。
另一方面,PLC100在判断为输出数据(接收)183已接收完成时(在步骤S9中为“是”),实施用于下一个控制周期10的准备(步骤S11)。具体而言,为了控制现场装置90,将接收到的输出数据(接收)183设定(复制)为设备变量161的输出变量。由此,在下一个控制周期10中,能够向现场装置90输出服务器600的控制运算的计算值(指令值、控制量)。之后,转移至下一个控制周期10的处理。
此外,服务器600在受理了触发8时,利用通信程序64从PLC100来实施输入数据(发送)182的接收处理。服务器600判断输入数据(发送)182的接收是否已完成(步骤R3)。该接收完成的判定例如根据从受理触发8起经过了规定时间来实施。在判定为输入数据(发送)182的接收未完成时(在步骤R3中为“否”),反复实施步骤R3。
另一方面,服务器600在判定为经过了规定时间,即,输入数据(发送)182的接收已完成时(在步骤R3中为“是”),服务器600执行UPG69(步骤R5)。由此,实施使用了接收到的输入数据(发送)182的控制运算处理。服务器600将控制运算的计算值反映(设定)到输出数据(接收)183中,并利用通信程序64将输出数据(接收)183发送给PLC100(步骤R7)。之后,转移至下一个控制周期10的处理。
在图9中,在彼此已取得时刻同步的PLC100与服务器600之间,处理根据在控制周期10开始时所提供的触发8而开始,由此,能够在基于时刻同步的共享时间(控制周期10内的时间)开始PLC100和服务器600双方的处理。
(e3.基本系统的流程的变形例)
基本系统的图9的处理也能够如图10所示那样以追加应对异常的异常处理的方式进行变形。图10是示出本实施方式的基本系统中的处理流程的变形例的图。图10的处理是在图9的处理中追加异常处理(步骤S13、S15、R9、R11)而构成的。图10的其它处理与图9相同,因此不重复说明。
参照图10,PLC100在判定为从服务器600接收输出数据(接收)183已完成时(在步骤S9中为“是”),利用监视程序179来判定有无异常(步骤S13)。利用监视程序179,根据步骤S9中的接收完成是否从触发8的输入起处于规定时间内,来判定有无异常。在由监视程序179判定为在该规定时间内已接收完成时(在步骤S13中为“否”:无异常),转移至步骤S11的处理。此外,在由监视程序179判定为在该规定时间内未接收完成时(在步骤S13中为“是”:有异常),PLC100利用异常处理程序178来实施异常处理(步骤S15)。之后,该控制周期10的处理结束。
另外,监视程序179也可以包含有无接收到从服务器600发送的异常通知的判定。此外,在异常处理(步骤S15)中,也可以包含利用异常处理程序178例如将异常检出的日志数据存储于二次存储装置108的处理、或者向支持装置500输出异常通知的处理。此外,也可以是,在异常处理(步骤S15)之后接着与上述同样地实施步骤S11的处理。
此外,在检测到有异常的情况下(在步骤S13中为“是”),跳过将来自服务器600的输出数据(接收)183设定为输出数据163的处理(步骤S11的处理)。该情况下,在下一个控制周期10中,再次使用紧邻之前的控制周期10的输出数据163来控制现场装置90。
此外,在服务器600中,在判定为从PLC100接收输入数据(发送)182已完成时(在步骤R3中为“是”),利用监视程序65判定有无异常(步骤R11)。利用监视程序65,根据步骤R3中的接收完成是否处于从触发8的输入起的规定时间内,来判定有无异常。在由监视程序65判定为在该规定时间内已接收完成时(在步骤R11中为“否”:无异常),转移至步骤R5的处理。此外,在由监视程序179判定为在该规定时间内未接收完成时(在步骤R11中为“是”:有异常),服务器600利用异常处理程序66来实施异常处理(步骤R9)。之后,该控制周期10的处理结束。
步骤R9的异常处理包括向PLC100发送异常检出通知的处理。此外,在图10中,在实施异常处理(步骤R9)后结束该控制周期的处理,但也可以在步骤R7中实施基于UPG69的控制运算处理。该情况下,实施基于在之前的控制周期10中接收到的输入数据(发送)182的控制运算处理,并将作为该处理的计算值的输出数据(接收)183发送给PLC100(步骤R7)。
(e4.基本系统的流程的又一变形例)
在图9或图10的处理中,也可以以使得在接收方能够可靠地接收到数据的方式多次发送输入数据(发送)182或输出数据(接收)183。
具体而言,在PLC100的处理(步骤S5)中,多次发送存储有输入数据(发送)182的同一帧。对存储有同一输入数据(发送)182的帧分配同一标识符(ID)。服务器600能够根据接收到的帧的ID来检测出从PLC100发送了同一输入数据(发送)182的情况。
此外,在服务器600的处理(步骤R7)中,多次发送存储有输出数据(接收)183的同一帧。对存储有同一输出数据(接收)183的帧分配同一标识符(ID)。PLC100能够根据接收到的帧的ID来检测出从服务器600发送了同一输出数据(接收)183的情况。另外,在步骤R7中,服务器600例如能够根据从输出数据(接收)183的开始发送定时到下一个控制周期10的开始定时为止的时间长度来决定存储有同一输出数据(接收)183的帧的发送次数。
这样,通过多次发送输入数据(发送)182以及输出数据(接收)183,从而即使在网络11上存在数据丢落(丢失),也能够在接收侧使数据恢复。此外,即使由于网络11上的抖动而导致到达接收侧的数据的顺序打乱,接收侧也能够根据数据的ID按照原本的顺序来接收数据。
(F.复用系统)
控制系统1也可以由复用系统构成。复用系统构成为具备服务器600、和经由网络11与服务器600连接的多个PLC100。图11是示意性地示出本实施方式的控制系统1的复用系统的图。参照图11,在复用系统中,服务器600与2台PLC100(例如PLC100A和PLC100B)连接。另外,与服务器600连接的PLC100的台数不限于2台,也可以是3台以上。
(f1.复用系统的时序图)
图12是示意性地示出本实施方式的复用系统的时序图的一例的图。另外,在图12中省略了现场装置90的处理。在图12中,执行用于基于来自PLC100A的输入数据(发送)182的控制运算处理的“UPG1”和用于基于来自PLC100B的输入数据(发送)182的控制运算处理的“UPG2”。“UPG1”和“UPG2”能够根据共同的触发8而同时开始执行。
参照图12,PLC100A、100B与控制周期10的开始同步地开始IO刷新处理72,但是,由于与各PLC100连接的现场装置90的台数、或者应收集的输入变量的数量、或者网络110的负载等的差异,而可能会在能够开始服务器通信73的时间(即,通过IO刷新处理72完成输入数据(发送)182的收集的时间)上产生差异。这样,伴随着在能够开始服务器通信73的时间上产生差异而使得在服务器600中,从PLC100A接收输入数据(发送)182并存储于区域61的数据存储时间12与从PLC100B接收输入数据(发送)182并存储于区域61的数据存储时间12不一致,是偏移的。在服务器600中,利用等待时间14对该“偏移”进行调整。例如,服务器600在PLC100B的输入数据(发送)182的数据存储完成后经过了等待时间14时的时间15,服务器600同时(并行地)开始执行“UPG1”和“UPG2”。
在“UPG1”和“UPG2”的并行执行中,也可以使用“UPG1”的计算值来执行“UPG2”。由此,例如,将基于来自与PLC100A连接的伺服装置(现场装置90)的位置数据(输出数据)的计算值用于决定“UPG2”的控制运算(例如,与PLC100B连接的伺服装置(现场装置90)的指令值。
在数据存储时间13中,将作为并行执行的“UPG1”和“UPG2”的执行结果的控制运算的计算值(输出数据(接收)183)存储于区域62。将区域62的输出数据(接收)183分别发送给PLC100A、100B。PLC100A、100B分别在下一个控制周期10开始之前,完成从服务器600的输出数据(接收)183的接收。
图13是示意性地示出本实施方式的复用系统的时序图的另一例的图。在图12中,提供了通过使由服务器600执行的UPG69不同,而例如并行地执行基于PLC100A的“UPG1”的控制运算以及基于PLC100B的“UPG2”的控制运算的环境。与此相对,如图13所示,由服务器600执行的UPG69也可以是1种。由此,能够在PLC100之间通用基于来自各PLC100的输入数据(发送)182的控制运算。
另外,在图12和图13中,PLC100也可以在从向服务器600发送输入数据(发送)182后到从服务器600接收到输出数据(接收)183为止的时间实施周边处理74。
(f2.复用系统的流程图)
图14是示出本实施方式的复用系统中的处理流程的一例的图。在图14中,将依照图12或图13的时序图实施的处理且由PLC100A、PLC100B及服务器600的各装置实施的处理相互关联起来示出。在PLC100A中,与图9的那些处理同样地实施步骤S3、S5、S7、S9及S11的处理。此外,在PLC100B中,步骤SS3、SS5、SS7、SS9及SS11的处理也与上述的步骤S3~S11同样地实施。此外,在服务器600中实施步骤RR3、RR5以及RR7的处理。在步骤RR3中,在复用系统中,从PLC100A及100B分别接收输入数据(发送)182。此外,在步骤RR7中,向PLC100A及100B分别发送输出数据(接收)183。另外,在图14的处理中,也可以实施图10所示的监视处理以及异常处理。这些处理与图9或图10所示的处理相同,因此不重复说明。
(f3.复用系统的应用例)
在上述内容中所叙述的复用系统能够应用于控制系统1的事件发生时的应对。虽然没有限定,但例如能够应用于发生故障时的措施。图15是示意性地示出本实施方式的复用系统的应用例的图。在图15的控制系统1中,使与服务器600连接的多个PLC100中的一个作为运转系统工作,以及使其它PLC100作为用于备份的待机系统工作。待机系统的PLC100构成为,在运转系统的PLC100发生了故障的情况下将通过该运转系统的PLC100进行的控制接过来。例如,PLC100A作为运转系统工作,PLC100B作为待机系统工作。PLC100A和PLC100B经由切换器200与现场装置90的网络110连接。在发生故障时,切换器200根据指令信号185将PLC100A及100B中的某一方与网络110连接。
图15的(A)示出控制系统1的正常运转时,图15的(B)示出发生故障时。指令信号185表示“正常运转”或“发生故障”的任意一个,切换器200构成为,在指令信号185表示“正常运转”时,将PLC100A与网络110连接,在指令信号185表示“发生故障”时,将PLC100B与网络110连接。
在图15的(A)的正常运转时,作为待机系统的PLC100B处于未进行运转的准备(standby)状态。服务器600在检测到运转中的PLC100A的异常停止时,向切换器200输出表示“发生故障”的指令信号185,并且向PLC100B输出运转指令。由此,切换器200将与现场装置90连接的PLC100从PLC100A切换为PLC100B。
当发生故障时,如图15的(B)所示,PLC100A停止,但待机系统的PLC100B依照运转指令而从待机模式切换为运转模式。当PLC100B运转时,服务器600将交换输入数据(发送)182和输出数据(接收)183的PLC100从PLC100A切换为PLC100B。由此,即使在发生故障时,也能够继续进行现场装置90的控制。
另外,待机系统的PLC100B与服务器600以及现场装置90之间取得时刻同步的定时可以是使PLC100B运转时,但是,取得时刻同步的定时不限于进行运转时。例如,PLC100B也可以在待机中与服务器600及现场装置90取得时刻同步。
在图15中,由于在服务器600中实现了执行UPG69的环境,因此即使是使待机系统的PLC100B运转时,也不需要在PLC100B中进行UPG69的执行环境的准备(UPG69的安装(复制)等)等。因此,能够使待机系统的PLC100B迅速地转移至运转状态。
(f4.复用系统的另一应用例)
图16是示意性地示出本实施方式的复用系统的另一应用例的图。参照图16对将在上述内容中所叙述的复用系统应用于控制系统1的故障应对措施的另一例进行说明。在图15的结构中,将PLC100A设定为运转系统,将PLC100B设定为专用于PLC100A的待机系统,但是,如图16所示,作为待机系统的PLC100能够在作为运转系统的多个PLC100间共享。
在图16中,PLC100A、PLC100B及PLC100C与服务器600连接。在这3台PLC100中,PLC100A和100B作为运转系统工作,PLC100C作为由PLC100A和100B共享的待机系统工作。这样,在图16中,能够由多台运转系统的PLC100共享一个待机系统的PLC100。在图16中,服务器600执行用于PLC100A的控制运算处理的“UPG1”和用于PLC100B的控制运算处理的“UPG2”。
例如,在PLC100A发生了故障的情况下,待机系统的PLC100C开始运转,切换器200根据指令信号185而将工序3A的与网络110连接的PLC100从PLC100A切换为PLC100C。此外,服务器600将交换用于“UPG1”的控制运算的输入数据(发送)182和输出数据(接收)183的PLC100从PLC100A切换为PLC100C。由此,即使PLC100A发生了故障,也能够利用PLC100C来继续进行工序3A的对现场装置90的控制。
同样地,在PLC100B发生了故障的情况下,待机系统的PLC100C开始运转,切换器200根据指令信号185而将工序3B的与网络110连接的PLC100从PLC100B切换为PLC100C。此外,服务器600将交换用于“UPG2”的控制运算的输入数据(发送)182和输出数据(接收)183的PLC100从PLC100B切换为PLC100C。由此,即使PLC100B发生了故障,也能够利用PLC100C来继续进行工序3B的对现场装置90的控制。
另外,在图15和图16中,当运转系统的PLC100发生故障时,使待机系统的PLC100运转,但是,使待机系统的PLC100运转的规定的定时不限于发生故障时。
(G.过采样)
图17是示意性地说明本实施方式的过采样的一例的图。图18是示意性地示出通过图17的过采样而存储的数据的一例的图。在上述的实施方式中,按每个控制周期10,在PLC100与服务器600之间实施用于交换输入数据(发送)182和输出数据(接收)183的服务器通信73。由此,服务器600按每个控制周期10接收输入数据(发送)182,并且发送输出数据(接收)183。
在本实施方式中,在服务器通信73中进行交换的输入数据(发送)182以及输出数据(接收)183不限于1次控制周期10的数据,也可以如图17所示那样是N(其中,N>1)次控制周期10的数据。该情况下,在通过IO刷新处理72收集了N次控制周期10的输入数据(发送)182之后,将收集数据发送给服务器600。在以下内容中,有时将PLC100以比控制周期10长的周期来收集应通过1次通信向服务器600发送的数据的情况称为“过采样”。
(g1.过采样的一例)
参照图17,虽然没有限定,但例如对N=3的情况下的“过采样”进行说明。在图18中,示意性地示出在缓冲器180中用于存储3次控制周期10收集到的输入数据(发送)182的区域和用于存储从服务器600接收到的3次控制周期10的输出数据(接收)183的区域。
PLC100将在第n个、第n+1个及第n+2个的各控制周期10中通过IO刷新处理72收集到的3次控制周期10的输入数据(发送)182存储于缓冲器180。PLC100通过第(n+2)个控制周期10的服务器通信73,将缓冲器180的3次控制周期10的输入数据(发送)182发送给服务器600(步骤S81)。接着,在第n+3个、第n+4个及第n+5个的各控制周期10中,也将通过IO刷新处理72收集到的3次控制周期10的输入数据(发送)182存储于缓冲器180,PLC100通过第(n+5)个控制周期10的服务器通信73,将缓冲器180的3次控制周期10的输入数据(发送)182发送给服务器600(步骤S81)。这样,PLC100按每3次控制周期10,将在该3次控制周期10中收集到的输入数据(发送)182发送给服务器600。
另一方面,服务器600按每3次控制周期10,从PLC100接收该3次控制周期10的输入数据(发送)182,实施基于接收到的各次的控制周期10的输入数据(发送)182的控制运算(步骤S82)。由此,服务器600在第n+2个、第n+3个及第n+4个控制周期10的各次中,通过执行控制运算,计算出与3次控制周期10对应的输出数据(接收)183,并发送给PLC100。
PLC100在第n+4个控制周期10中,从服务器600接收基于第n个、第n+1个及第n+2个这3次的控制周期10的输入数据(发送)182的输出数据(接收)183。接收到的输出数据(接收)183被存储于缓冲器180。PLC100以使得缓冲器180的3次控制周期10的输出数据(接收)183分别在第n+5个、第n+6个及第n+7个控制周期10的各次中输出至现场装置90的方式来实施IO刷新处理72(步骤S83)。
这样,根据图17,PLC100在第n个(例如第n+2个)控制周期10中,收集之前的N次的控制周期(即,第n个、第n+1个及第n+2个这3次的控制周期)10的输入数据(发送)182并发送给服务器600时,能够从服务器600取得之后的N次的控制周期(即,第n+5个、第n+6个及第n+7个这3次的控制周期)10的输出数据(接收)183。
根据图17的过采样,虽然没有限定,但例如在PLC100与现场装置90之间的网络110的通信时间较长、或者PLC100与服务器600之间的网络11的通信时间较长的情况下,会带来好处。即,在这样的通信时间较长的情况下,等待时间14变长而导致在控制周期10内无法完成UPG69的控制运算的事态(异常)变得频繁。对此,在实施过采样的情况下,不需要在各控制周期10中实施服务器通信73,从而能够避免在各控制周期10中产生等待时间14。
例如,设定如下模式:服务器600(或PLC100)计测与网络11的通信时间(或通信速度),此外,PLC100计测网络110的通信时间,在计测出的通信时间超过阈值的情况下,服务器600及PLC100实施过采样。
(g2.过采样的另一例)
图19是示意性地说明本实施方式的过采样的另一例的图。在图19中,PLC100在各控制周期10的服务器通信73中,将在之前的N次控制周期10中收集到的输入数据(发送)182发送给服务器600(步骤S84、S85)。因此,服务器600在各控制周期10中,接收之前N次的控制周期10的输入数据(发送)182。服务器600在各控制周期10中,根据从PLC100接收到的N次控制周期10的输入数据(发送)182来实施控制运算,由此计算出将来的N次控制周期10的输出数据(接收)183,并发送给PLC100。例如,服务器600通过多处理(multi-processing)而并行地执行使用了在各控制周期10中接收到的输入数据(发送)182的UPG69,从而按每个控制周期10生成将来的N次控制周期10的输出数据(接收)183。
根据图19的过采样,PLC100将同一控制周期10的输入数据(发送)182反复发送给服务器600,此外,服务器600也将用于同一控制周期10的输出数据(接收)183反复发送给PLC100。因此,即使例如在某个控制周期10中通过网络11或网络110进行的数据通信中发生了错误(例如,通信中的数据丢失等),也能够通过上述同一数据(输入数据(发送)182或输出数据(接收)183)的反复发送来应对该错误(对错误进行弥补、例如数据补充)。
<H.预测控制周期的输出数据>
与上述过采样不同,也可以根据一个控制周期10的输入数据(发送)182来预测(计算)将来的多个控制周期10的输出数据(接收)183。
在该情形下,PLC100在服务器通信73中,将在一个控制周期10中收集到的输入数据(发送)182发送给服务器600,服务器600根据从PLC100接收到的该一个控制周期10的输入数据(发送)182来实施控制运算,由此计算出(预测)将来的N次控制周期10的输出数据(接收)183,并发送给PLC100。即使在该情形下,也能够通过上述多处理实现的UPG69的并行,按每个控制周期10生成将来N次控制周期10的输出数据(接收)183。PLC100能够按每个控制周期10取得将来N次控制周期10的输出数据(接收)183。由此,例如,即使在某个控制周期10中产生数据通信错误,也能够将输出数据163的控制量、指令值输出至现场装置90,该输出数据163基于在之前的控制周期10中接收完毕的预测出的输出数据(接收)183。因此,即使是该情形下,也能够应对该通信错误。
<I.确保准备时间>
在本实施方式中,服务器600能够执行用于实施与UPG69的控制运算处理不同的其它处理的其它程序611。对于其它处理没有限定,例如包括日志数据的管理等。在服务器600中,在控制周期10内,通过在实施控制运算处理的时间外执行其它程序611来实施其它处理。
在本实施方式中,服务器600在由PLC100实施IO刷新处理72的时间中实施其它处理。此外,服务器600在IO刷新处理72结束时实施确保资源的准备处理,该资源用于使用来自PLC100的输入数据(发送)182来执行UPG69。在此,该准备处理所需的时间被称为“准备时间”。另外,假定准备时间被预先计测并设定(存储)。
图20是示出本实施方式的基本系统中的处理流程的变形例的图。图20的流程是在图9的流程处理中追加了步骤R1、R1a、R2、R4及R4a的处理的流程。在此,对所追加的处理进行说明,其它处理与图9所示的处理相同,因此不重复详细说明。
参照图20,在PLC100中,实施与图9相同的处理。在服务器600中,响应于在控制周期10的开始时所受理的触发8,通过保留程序612来判断是否能够确保“准备时间9”(步骤R1)。具体而言,利用保留程序612来计测从受理了触发8的时间起至IO刷新处理72结束为止的所需时间中的剩余时间,比较计测出的剩余时间和上述的准备时间,根据该比较结果来判断是否满足“剩余时间>准备时间”的条件。在本实施方式中,IO刷新处理72的所需时间是被预先设定(存储)的。
在由保留程序612判断为满足上述条件(在步骤R1中为“是”)的期间,即,在到IO刷新处理72完成为止有足够的富余时,能够执行其它程序611(步骤R1a)。另一方面,当由保留程序612判断为不满足上述条件(在步骤R1中为“否”)时,即,当IO刷新处理72接近结束时,服务器600实施准备处理(步骤R2)。因此,服务器600能够在准备时间9中实施该准备处理。
这样,在服务器600中,保留程序612根据触发8的受理时间和IO刷新处理72所花费的时间,计算出(预测)输入数据(发送)182的接收开始时间(即,IO刷新处理72的结束时间),在从该所预测的接收开始时间追溯的规定时间内(准备时间9),执行用于控制运算处理的准备处理。
在准备处理中,具体而言,处理引擎610以禁止其它处理的实施的方式停止其它程序611的执行,并启动通信程序64。由此,在所确保的“准备时间”中,能够为之后执行的UPG69预先确保服务器600的资源。
利用所启动的通信程序64来接收来自PLC100的输入数据(发送)182,直到接收完成为止(在步骤R3中为“否”),实施步骤R2。
在由通信程序64判断为输入数据(发送)182的接收已完成(在步骤R3中为“是”)时,处理引擎610判断在该控制周期10中是否剩有能够执行UPG69的时间(步骤R4)。处理引擎610利用(A-(B-C)-D-E)的运算式来计算该能够执行的剩余时间。另外,变量A表示控制周期10的时间,变量B表示服务器600接收完成输入数据(发送)182的时间,变量C表示控制周期10的开始时间,变量D表示从服务器600朝向PLC100的输出数据(接收)183的通信时间,变量E表示PLC100的周边处理74的所需时间。另外,变量D的通信时间示出预先通过实验等计算出的值。
处理引擎610判断是否满足“能够执行的剩余时间>基于UPG的控制运算处理的时间”的条件(步骤R4)。另外,基于UPG的控制运算处理的时间示出预先通过实验计算出的值。
处理引擎610在判断为满足上述条件(在步骤R4中为“是”)时,执行UPG69(步骤R5),但在判断为不满足条件(在步骤R4中为“否”)时,处理引擎610将服务器600的控制周期10变更为M倍(步骤R4a)。例如,如图17所示,处理引擎610根据3次(M=3的情形)控制周期10的输入数据(发送)182来执行1次UPG69,以延长服务器600的控制周期。服务器600在将控制周期10变更为M倍的情况下,向PLC100通知将控制周期设为M倍的意思。PLC100根据接收到的通知,例如从下一个控制周期10收集M次(其中,M>1)控制周期10的输入数据(发送)182,并发送给服务器600。该值M也可以根据计算出的能够执行的剩余时间来决定。另外,在图20中,步骤R4及R4a的处理能够设置为可选项。
这样,服务器600能够预测输入数据(发送)182从PLC100到达的时间,因此在作为从预测到达时间追溯的规定时间的准备时间中,能够禁止执行其它处理,能够预先准备用于使用所接收的输入数据(发送)182来执行UPG69的资源。服务器600为了执行UPG69而实施确保“准备时间”的调度。因此,即使由服务器600来执行UPGP69,PLC100也能够提高在各控制周期10内能够可靠地取得输出数据(接收)183的可能性。
<J.复用系统的处理的变形例>
图21是示出本实施方式的复用系统的处理流程的变形例的图。在上述内容中所叙述的图12~图14中,服务器600在接收完成用于“UPG1”以及“UPG2”双方的UPG69的输入数据(发送)182时,开始执行UPG69(“UPG1”以及“UPG2”)。与此相对,如该变形例所示,在与各UPG69有关的输入数据(发送)182接收完成的时刻,也能够开始执行该UPG69。例如,在“UPG1”和“UPG2”构成为彼此不交换数据的情况下,服务器600能够分别独立地执行“UPG1”和“UPG2”。
在图21中,PLC100A和PLC100B的处理与图13所示的处理相同,因此不重复说明。在服务器600中,并行地执行用于实施PLC100A的控制运算处理的“UPG1”和用于实施PLC100B的控制运算处理的“UPG2”。另外,在图21的处理中,也可以实施图20所示的确保“准备时间”的处理或延长控制周期10的处理。
首先,为了执行“UPG1”,处理引擎610利用通信程序64从PLC100A接收输入数据(发送)182(步骤R9),处理引擎610判定用于“UPG1”的变量的输入数据(发送)182是否接收完成(步骤R11)。具体而言,处理引擎610从“UPG1”中提取输入变量,判定是否接收完成与提取出的全部输入变量对应的数据。处理引擎610在判定为未接收完成输入数据(发送)182(在步骤R11中为“否”)时,反复进行步骤R9。
另一方面,处理引擎610在判定为接收完成了用于“UPG1”的输入数据(发送)182(在步骤R11中为“是”)时,执行“UPG1”(步骤R13)。处理引擎610判定是否计算出了PLC100A所需的输出数据(接收)183(步骤R15)。具体而言,处理引擎610从“UPG1”中提取全部的输出变量,判定是否通过“UPG1”的执行而计算出了与提取出的全部输出变量对应的值。处理引擎610在判定为未计算出PLC100A所需的输出数据(接收)183时(在步骤R15中为“否”),继续“UPG1”的执行(步骤R13)。
另一方面,处理引擎610在判定为计算出了PLC100A所需的输出数据(接收)183时(在步骤R15中为“是”),将计算出的输出数据(接收)183发送给PLC100A(步骤R17)。
同样地,为了执行PLC100B的“UPG2”,处理引擎610实施步骤R19、R21、R23、R25及R27的处理。这些处理与步骤R9、R11、R13、R15及R17的处理相同,因此不重复说明。
根据图21的处理,“UPG1”以及“UPG2”不等待用于另一方的程序的输入数据(发送)182的接收完成,而在接收完成自己的输入数据(发送)182的时刻开始执行。该情况下,能够消除图12所示的等待时间14,因此服务器600能够使PLC100的控制运算处理在控制周期10内完成。
(j1.模式的设定)
本实施方式中,关于PLC100A的“UPG1”和PLC100B的“UPG2”的执行,控制系统1具备如下模式:如图12所示,在两UPG的输入数据(发送)182接收完成时开始执行双方的UPG的模式(称为第1模式);以及如图10所示,“UPG1”和“UPG2”在分别从对应的PLC100接收完成了输入数据(发送)182时开始执行的模式(称为第2模式)。服务器600被设定为依照通过支持装置500发出的外部指示(用户指示)来实施第1模式及第2模式中的一方。
具体而言,例如,如果“UPG1”使用来自PLC100A和PLC100B的输入数据(发送)182,则对服务器600设定“第1模式”,如果“UPG1”仅使用来自PLC100A的输入数据(发送)182,则对服务器600设定“第2模式”。用户例如能够经由支持装置500提供的UI来设定“第1模式”或“第2模式”。与模式的设定相关联地,支持装置500比较“UPG1”所使用的变量名的一览和“UPG2”所使用的变量名的一览。支持装置500根据比较的结果,在判定为一览中存在双方通用的变量名时,将“第1模式”作为选择项提示给用户,在判定为一览中不存在双方通用的变量名时,将“第1模式”或“第2模式”作为选择项进行提示。用户操作支持装置500,以对服务器600设定上述外部指令。
<K.优点>
在本实施方式中,由于UPG69并非在PLC100中而是在服务器600中执行,因此,与PLC100执行UPG69的情况相比,能够节约用于在PLC100中执行UPG69的资源(存储器)。此外,由于服务器600具备执行UPG69的环境,因此PLC100的处理器不要求能够执行UPG69的规格。因此,能够降低PLC100所花费的成本,同时,PLC100能够获得超过自己的处理器的规格的控制运算处理的精度(处理量、处理速度等)。
此外,由于UPG69的执行环境在服务器600中构成,因此无需PLC100彼此的数据通信,就能够实现例如与各PLC100对应的UPG69的协同执行(彼此交换数据、或者彼此取得同步等)。
此外,服务器600与PLC100彼此时刻同步,执行以在共享的时间、例如控制周期内能够实施IO刷新处理72以及UPG69的控制运算处理的方式自动地延长控制周期10的处理(步骤R4a)。由此,能够保证在控制周期内完成IO刷新处理72以及UPG69的控制运算处理。
此外,在控制系统1中,服务器600通过交换各PLC100、输入数据(发送)182以及输出数据(接收)183而使得UPG69与多个PLC100分别自动地建立对应。
<L.附注>
本发明包含如下所述的技术思想。
(结构1)
一种控制系统,控制系统(1)具备一个以上的控制装置(100)以及信息处理装置(600),其中,
所述信息处理装置与所述一个以上的控制装置以能够通信的方式连接并彼此时刻同步,
所述信息处理装置包括处理部(603),该处理部(603)执行如下的控制运算处理(69):依照基于从各所述一个以上的控制装置接收到的数据(182)的控制运算,计算控制数据(183),
所述各控制装置包括控制部(102),该控制部(102)执行如下的输入输出处理(72):将来自现场装置(90)的输入数据转发给所述信息处理装置,并将从所述信息处理装置接收到的所述控制数据输出至所述现场装置,
所述控制运算处理以及所述输入输出处理在如下的时间(10)内执行,该时间(10)是基于所述时刻同步的时间、且为所述各控制装置与所述信息处理装置之间共享的时间。
(结构2)
根据结构1所述的控制系统,其中,
所述处理部执行的处理还包括如下处理:当在所述共享的时间内用于执行所述控制运算处理的时间不足时,延长所述共享的时间(R4a)。
(结构3)
根据结构1或2所述的控制系统,其中,
所述共享的时间包含控制周期(10),
所述输入输出处理包括如下处理(S81、S83):在控制周期中,将与该控制周期以前的多个控制周期对应的所述输入数据转发给所述信息处理装置,将从所述信息处理装置接收到的与所述多个控制周期对应的所述控制数据输出至所述现场装置。
(结构4)
根据结构3所述的控制系统,其中,
所述输入输出处理包括如下处理(S83):当在控制周期中从所述信息处理装置接收到与所述多个控制周期对应的控制数据时,将与该多个控制周期对应的控制数据分别在该控制周期之后的多个控制周期中输出至所述现场装置。
(结构5)
根据结构1或2所述的控制系统,其中,
所述共享的时间包含控制周期(10),
所述输入输出处理包括如下处理:将与一个控制周期对应的所述输入数据转发给所述信息处理装置,将基于从所述信息处理装置接收到的该输入数据的与多个控制周期对应的控制数据输出至所述现场装置。
(结构6)
根据结构1至5中的任意一个结构所述的控制系统,其中,
所述信息处理装置和所述各控制装置根据在所述共享的时间内受理的共同的触发(8)而开始处理,
所述信息处理装置在从所述数据的接收开始时间追溯的规定时间内,执行用于所述控制运算处理的准备处理(R2),该数据的接收开始时间是根据所述触发的受理时间和所述输入输出处理所花费的时间而预测的。
(结构7)
根据结构6所述的控制系统,其中,
所述准备处理包括如下处理:禁止执行除所述控制运算处理外的信息处理。
(结构8)
根据结构1至7中的任意一个结构所述的控制系统,其中,
多个所述控制装置以能够通信的方式与所述信息处理装置连接,
所述控制运算处理包括分别与各所述多个控制装置对应的多个控制运算处理,
所述处理部具备第1模式或第2模式,其中,在所述第1模式下,在从所述多个控制装置接收到数据时,开始执行所述多个控制运算处理,在所述第2模式下,在从所述多个控制装置中的一个控制装置接收到数据时,开始执行与该一个控制装置对应的所述控制运算。
(结构9)
根据结构8所述的控制系统,其中,
所述处理部在具备所述第1模式以及所述第2模式的情况下,依照外部指示而实施所述第1模式以及所述第2模式中的一方。
(结构10)
根据结构1至9中的任意一个结构所述的控制系统,其中,
多个所述现场装置经由现场网络(110)与所述控制装置连接,
所述控制部在所述输入输出处理中,经由所述现场网络从所述多个现场装置收集输入数据,并将从所述信息处理装置接收到的所述控制数据转发给所述多个现场装置。
(结构11)
根据结构1至9中的任一项所述的控制系统,其中,
多个所述控制装置以能够通信的方式与所述信息处理装置连接,
所述多个控制装置包括作为运转系统工作的控制装置和作为待机系统工作的控制装置,
所述待机系统的控制装置对应于规定定时而开始运转,
所述信息处理装置对应于所述规定定时,将与所述运转系统的控制装置之间的数据通信切换为与作为所述待机系统的控制装置之间的数据通信。
应认为本次公开的实施方式在所有方面均为例示而非限制性的。本发明的范围不是由上述的说明来示出,而是由权利要求的范围示出,包括与权利要求的范围均等的含义以及范围内的所有变更。
标号说明
1:控制系统;7、8:触发;9:准备时间;10:控制周期;11、110:网络;12、13:数据存储时间;14:等待时间;15:时间;61:接收用数据区域;62:发送用数据区域;63:调度器;64:通信程序;65、179:监视程序;66、178:异常处理程序;151:系统程序;67、177:时刻同步程序;68:服务器程序;72:刷新处理;73:服务器通信;74:周边处理;90、90A~90I:现场装置;91A~91I、101A、101B、101C、102A、102B、102C、601:计时器;150:控制引擎;152:控制程序;154:周边处理程序;156:IO刷新;158:转发程序;160:变量管理程序;161:设备变量;162:输入数据;163:输出数据;170:调度程序;172:输入程序;174:输出程序;180:缓冲器;185:指令信号;194:网关程序;200:切换器;500:支持装置;600:服务器;610:处理引擎;612:保留程序。

Claims (11)

1.一种控制系统,其具备一个以上的控制装置以及信息处理装置,其中,
所述信息处理装置与所述一个以上的控制装置以能够通信的方式连接并彼此时刻同步,
所述信息处理装置包括处理部,该处理部执行如下的控制运算处理:依照基于从各所述一个以上的控制装置接收到的数据的控制运算,计算出控制数据,
所述各控制装置包括控制部,该控制部执行如下的输入输出处理:将来自现场装置的输入数据转发给所述信息处理装置,并将从所述信息处理装置接收到的所述控制数据输出至所述现场装置,
所述控制运算处理以及所述输入输出处理在如下的时间内执行,该时间是基于所述时刻同步的时间、且为所述各控制装置与所述信息处理装置之间共享的时间。
2.根据权利要求1所述的控制系统,其中,
所述处理部执行的处理还包括如下处理:当在所述共享的时间内用于执行所述控制运算处理的时间不足时,延长所述共享的时间。
3.根据权利要求1或2所述的控制系统,其中,
所述共享的时间包含控制周期,
所述输入输出处理包括如下处理:在控制周期中,将与该控制周期以前的多个控制周期对应的所述输入数据转发给所述信息处理装置,将从所述信息处理装置接收到的与所述多个控制周期对应的所述控制数据输出至所述现场装置。
4.根据权利要求1或2所述的控制系统,其中,
所述共享的时间包含控制周期,
所述输入输出处理包括如下处理:将与一个控制周期对应的所述输入数据转发给所述信息处理装置,将基于从所述信息处理装置接收到的该输入数据的与多个控制周期对应的控制数据输出至所述现场装置。
5.根据权利要求3或4所述的控制系统,其中,
所述输入输出处理包括如下处理:当在控制周期中从所述信息处理装置接收到与所述多个控制周期对应的控制数据时,将与该多个控制周期对应的控制数据分别在该控制周期之后的多个控制周期中输出至所述现场装置。
6.根据权利要求1至5中的任一项所述的控制系统,其中,
所述信息处理装置和所述各控制装置根据在所述共享的时间内受理的共同的触发而开始处理,
所述信息处理装置在从所述数据的接收开始时间追溯的规定时间内,执行用于所述控制运算处理的准备处理,所述数据的接收开始时间是根据所述触发的受理时间和所述输入输出处理所花费的时间而预测出的。
7.根据权利要求6所述的控制系统,其中,
所述准备处理包括如下处理:禁止执行除所述控制运算处理外的信息处理。
8.根据权利要求1至7中的任一项所述的控制系统,其中,
多个所述控制装置以能够通信的方式与所述信息处理装置连接,
所述控制运算处理包括分别与各所述多个控制装置对应的多个控制运算处理,
所述处理部具备第1模式或第2模式,其中,在所述第1模式下,在从所述多个控制装置接收到数据时,开始执行所述多个控制运算处理,在所述第2模式下,在从所述多个控制装置中的一个控制装置接收到数据时,开始执行与该一个控制装置对应的所述控制运算。
9.根据权利要求8所述的控制系统,其中,
所述处理部在具备所述第1模式以及所述第2模式的情况下,依照外部指示而实施所述第1模式以及所述第2模式中的一方。
10.根据权利要求1至9中的任一项所述的控制系统,其中,
多个所述现场装置经由现场网络与所述控制装置连接,
所述控制部在所述输入输出处理中,经由所述现场网络从所述多个现场装置收集输入数据,并将从所述信息处理装置接收到的所述控制数据转发给所述多个现场装置。
11.根据权利要求1至10中的任一项所述的控制系统,其中,
多个所述控制装置以能够通信的方式与所述信息处理装置连接,
所述多个控制装置包括作为运转系统工作的控制装置和作为待机系统工作的控制装置,
所述待机系统的控制装置对应于规定定时而开始运转,
所述信息处理装置对应于所述规定定时,将与所述运转系统的控制装置之间的数据通信切换为与作为所述待机系统的控制装置之间的数据通信。
CN202080017653.4A 2019-03-14 2020-02-18 控制系统 Pending CN113498496A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-046796 2019-03-14
JP2019046796A JP7003951B2 (ja) 2019-03-14 2019-03-14 制御システム
PCT/JP2020/006256 WO2020184086A1 (ja) 2019-03-14 2020-02-18 制御システム

Publications (1)

Publication Number Publication Date
CN113498496A true CN113498496A (zh) 2021-10-12

Family

ID=72427297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080017653.4A Pending CN113498496A (zh) 2019-03-14 2020-02-18 控制系统

Country Status (5)

Country Link
US (1) US20220147022A1 (zh)
EP (1) EP3940474A4 (zh)
JP (2) JP7003951B2 (zh)
CN (1) CN113498496A (zh)
WO (1) WO2020184086A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168338A1 (ja) * 2021-02-04 2022-08-11 オムロン株式会社 制御装置
JP7248044B2 (ja) 2021-02-26 2023-03-29 株式会社安川電機 コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム
JP7382980B2 (ja) * 2021-02-26 2023-11-17 株式会社安川電機 コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム
JP7435521B2 (ja) * 2021-03-29 2024-02-21 横河電機株式会社 コントローラ、制御方法及び制御プログラム
JP2024114285A (ja) * 2023-02-13 2024-08-23 株式会社東芝 制御演算装置及び制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182101A (ja) * 2009-02-05 2010-08-19 Yokogawa Electric Corp フィールド制御システム
CN103155633A (zh) * 2010-10-06 2013-06-12 富士通株式会社 无线台、通信系统以及通信方法
CN103235748A (zh) * 2013-04-24 2013-08-07 曙光信息产业(北京)有限公司 元数据的管理方法和系统
US20150277411A1 (en) * 2014-03-25 2015-10-01 Yokogawa Electric Corporation Process control system and process control method
CN109159125A (zh) * 2018-09-28 2019-01-08 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于ros系统机器人的云服务系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63310004A (ja) * 1987-06-12 1988-12-19 Omron Tateisi Electronics Co プログラマブル・コントロ−ラ
JP2004326531A (ja) * 2003-04-25 2004-11-18 Mitsubishi Electric Corp プログラマブルコントローラ及びプログラマブルコントローラの多重化システム
US20130254584A1 (en) * 2010-12-16 2013-09-26 Mitsubishi Electric Corporation Sequencer system and control method therefor
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
FR2982960B1 (fr) * 2011-11-22 2014-06-27 Schneider Electric Usa Inc Adaptation dynamique a des changements dans une topologie de systeme de commande
KR101726743B1 (ko) 2013-01-08 2017-04-13 후지 덴키 가부시키가이샤 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법
KR101593835B1 (ko) * 2014-10-30 2016-02-12 엘에스산전 주식회사 Plc 시스템
JP6477161B2 (ja) * 2015-03-31 2019-03-06 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
KR102235166B1 (ko) * 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
JP6926539B2 (ja) * 2017-03-10 2021-08-25 オムロン株式会社 制御装置およびプログラム
JP6576491B2 (ja) 2018-02-02 2019-09-18 三菱電機株式会社 制御機器、制御システム、方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182101A (ja) * 2009-02-05 2010-08-19 Yokogawa Electric Corp フィールド制御システム
CN103155633A (zh) * 2010-10-06 2013-06-12 富士通株式会社 无线台、通信系统以及通信方法
CN103235748A (zh) * 2013-04-24 2013-08-07 曙光信息产业(北京)有限公司 元数据的管理方法和系统
US20150277411A1 (en) * 2014-03-25 2015-10-01 Yokogawa Electric Corporation Process control system and process control method
CN109159125A (zh) * 2018-09-28 2019-01-08 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于ros系统机器人的云服务系统

Also Published As

Publication number Publication date
JP2020149402A (ja) 2020-09-17
WO2020184086A1 (ja) 2020-09-17
JP7003951B2 (ja) 2022-01-21
JP2022028059A (ja) 2022-02-14
EP3940474A4 (en) 2022-12-21
JP7359199B2 (ja) 2023-10-11
US20220147022A1 (en) 2022-05-12
EP3940474A1 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
CN113498496A (zh) 控制系统
EP3116166B1 (en) Control system, control device, and control method
RU2487388C2 (ru) Исполнительный механизм для систем hvac и способ его функционирования
JP6962099B2 (ja) 制御システムおよび制御装置
JP6897462B2 (ja) 制御システムおよび通信方法
JP7484912B2 (ja) 制御システム
CN114072737B (zh) 控制系统、设定装置以及机器可读取存储介质
US11379391B2 (en) Real-time automation device having a real-time data bus
CN113508560B (zh) 控制系统、装置以及控制方法
WO2021131530A1 (ja) 制御システム
JP7020198B2 (ja) 制御装置および制御システム
CN111052683B (zh) 网络系统
JP6686521B2 (ja) 制御システムおよび制御方法
US20230305931A1 (en) Control device and non-transitory machine readable storage medium
WO2022190416A1 (ja) 制御システム、サポート方法およびプログラム
JP7231073B2 (ja) 制御装置および制御システム
JP2024088106A (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