CN114761889A - 控制系统 - Google Patents

控制系统 Download PDF

Info

Publication number
CN114761889A
CN114761889A CN202080082096.4A CN202080082096A CN114761889A CN 114761889 A CN114761889 A CN 114761889A CN 202080082096 A CN202080082096 A CN 202080082096A CN 114761889 A CN114761889 A CN 114761889A
Authority
CN
China
Prior art keywords
time
unit
counter
synchronization
control
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
CN202080082096.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 CN114761889A publication Critical patent/CN114761889A/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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • 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/1604Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
    • 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/13Plc programming
    • G05B2219/13063Synchronization between modules
    • 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/15Plc structure of the system
    • G05B2219/15063Real time clock
    • 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/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21055Number of halfwaves equals number of I-O, send block of halfwaves, synchro gap

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提供一种能够使用以往的控制用的计数器来利用时刻的结构。工厂自动化的控制系统具有:交换数据的第1单元(100)和第2单元(200);以及同步单元,其使用时钟(191A),使第1单元所具有的控制用的计数器(126)与第2单元所具有的控制用的计数器(213)同步,各单元保存在单元间共享的与换算相关的信息(30),所述换算是根据该单元的计数器的计数器值来计算时刻。

Description

控制系统
技术领域
本公开涉及FA(Factory Automation:工厂自动化)的控制系统。
背景技术
在各种生产现场,使用了PLC(可编程逻辑控制器)等控制装置的FA技术已广泛普及。以往,在FA的控制系统中管理实际时刻的时钟的精度不高,因此与时钟分开地安装有控制用的计数器,但管理实际时刻的高精度的时钟逐渐变得能够利用。作为这样的利用方法,提出了使控制用的计数器与实际时刻同步的结构。
例如,日本特开2018-190216号公报(专利文献1)公开了PLC具有内部时钟,从时刻服务器取得全局时刻,使内部时钟与取得的全局时刻同步的结构。
现有技术文献
专利文献
专利文献1:日本特开2018-190216号公报
发明内容
发明所要解决的课题
在控制系统中能够管理的实际时刻的精度正在逐渐提高,但另一方面,对于控制用的计数器,希望利用以往的计数器,并且在控制系统中希望利用高精度的时刻。
本公开的目的在于,使用以往的控制用的计数器,提供具有在控制系统的环境或运用中能够利用的精度的时刻。
用于解决课题的手段
本公开的控制系统是一种工厂自动化的控制系统,其具有:交换数据的第1单元和第2单元;以及同步单元,其使用时钟,使第1单元所具有的控制用的计数器与第2单元所具有的控制用的计数器同步,各单元具有信息保存单元,所述信息保存单元用于保存在单元间共享的与换算相关的信息,所述换算是根据该单元的计数器的计数器值来计算时刻。
根据上述公开,通过使用与换算相关的信息并根据计数器值来计算时刻,能够使用以往的控制用的计数器,并且提供具有在控制系统的环境或运用中能够利用的精度的时刻。
在上述公开中,时钟包含单元外的外部时钟、或第1单元和第2单元中的一个单元所具有的内部时钟。
根据上述公开,作为用于使单元间的计数器同步的时钟,可利用外部时钟或单元的内部时钟。由此,控制系统能够提供具有外部时钟或单元的内部时钟的精度、即具有在控制系统的环境或运用中能够利用的精度的时刻。
在上述公开中,同步单元在外部时钟所管理的时刻的精度满足规定条件时,与外部时钟的时刻对准来调整第1单元和第2单元的相互同步的计数器的值。
根据上述公开,在外部时钟的精度满足规定条件、例如精度高的情况下,通过与外部时钟的时刻对准来调整第1单元和第2单元的相互同步的计数器的值,能够使计数器的计数器值与外部时钟同步。
在上述公开中,同步单元在外部时钟所管理的时刻的精度不满足规定条件时,以内部时钟所管理的时刻为基准,使第1单元和第2单元的计数器同步。
根据上述公开,在外部时钟的精度不满足规定条件、例如精度低的情况下,第1单元和第2单元的相互同步的计数器的值能够以单元所具有的内部时钟的时刻为基准而同步。
在上述公开中,与换算相关的信息包含换算式,所述换算式用于根据各单元的计数器值与基准计数器值之差、和与基准计数器值对应的基准时刻来换算实际时刻,基准时刻包含时钟的时刻。
根据上述公开,各单元能够使用基准计数器值、与其对应的时钟的时刻以及该单元的计数器值,根据换算式来计算时刻。
在上述公开中,一个单元具有管理和其他单元共享的、与换算相关的信息的管理单元,管理单元根据控制用的计数器的同步中使用的时钟,更新所共享的与换算相关的信息。
根据上述公开,管理单元能够根据计数器的同步中使用的时钟来更新在单元间共享的与换算相关的信息。例如,如果时钟是外部时钟、即在外部时钟的时刻管理的精度满足规定条件的情况下,与换算相关的信息不被更新而保持固定,但在该精度不满足规定条件的情况下,基于内部时钟的时刻来更新与换算相关的信息。
在上述公开中,管理单元在外部时钟所管理的时刻的精度不满足规定条件时,以如下方式更新换算式:针对基准计数器值以及基准时刻分别设定一个单元的计数器值以及与该计数器值对应的内部时钟的时刻。
根据上述公开,能够通过设定与计数器的同步中使用的内部时钟的时刻对应的计数器值来更新换算式。
在上述公开中,第1单元经由数据总线与第2单元交换数据,控制系统具有与一个单元进行网络连接的第3单元,同步单元进一步使一个单元所具有的计数器与第3单元所具有的控制用的计数器同步,第3单元保存在单元间共享的与换算相关的信息。
根据上述公开,也能够将计数器的同步结构以及基于与换算相关的信息的时刻换算结构在网络上的单元中展开。
在上述公开中,与换算相关的信息包含与计数器的同步中使用的时钟所管理的时刻的精度相关的信息。
根据上述公开,能够经由与换算相关的信息,对各单元提供与计数器的同步中使用的时钟所管理的时刻的精度相关的信息。
在上述公开中,各单元按照共享的与换算相关的信息,根据计数器的计数器值计算时刻,各单元针对从应用程序受理的时刻的询问,输出包含计算出的时刻的响应。
根据上述公开,能够提供一种在单元中应用程序参照(询问)换算出的时刻的结构。
在上述公开中,在受理了询问时实施换算。
根据上述公开,作为对应用程序提供换算出的时刻的结构,能够提供在每次询问时实施换算的结构。因此,应用程序能够取得最新的换算值(时刻)。
在上述公开中,各单元保存换算出的时刻,响应包含所保存的换算出的时刻。
根据上述公开,不用在来自应用程序的每次询问时都实施换算,而是能够提供此时所保存(已换算出)的时刻。因此,不需要在每次询问时实施换算,因此能够降低换算的负荷。
发明的效果
根据本公开,能够使用以往的控制用的计数器,提供具有在控制系统的环境或运用中能够利用的精度的时刻。
附图说明
图1是示意性地表示本实施方式的控制系统的整体结构的一例的图。
图2是表示本实施方式的控制系统1的网络结构例的示意图。
图3是表示本实施方式的控制系统1的数据通信处理的示意图。
图4是表示本实施方式的控制装置2的单元的结构例的示意图。
图5是表示本实施方式的控制装置2所具有的CPU单元100的硬件结构例的框图。
图6是表示本实施方式的控制装置2所具有的功能单元200的硬件结构例的框图。
图7是表示本实施方式的控制装置2所具有的功能单元300的硬件结构例的框图。
图8是表示本实施方式的CPU单元100的软件结构例的框图。
图9是示意性地表示本实施方式的控制装置2所管理的用于时刻同步的结构的一例的图。
图10是示意性地表示本实施方式的时刻换算信息30的一例的图。
图11是示意性地表示本实施方式的共享时刻换算信息30的结构的一例的图。
图12是示意性地表示本实施方式的共享时刻换算信息30的结构的另一例的图。
图13是示意性地表示本实施方式的功能单元200的应用程序参照当前时刻的情形的图。
图14是示意性地表示本实施方式的功能单元200的应用程序参照当前时刻的情形的图。
图15是示意性地表示本实施方式的功能单元200的应用程序参照当前时刻的情形的图。
图16是示意性地表示本实施方式的根据基准时钟的精度共享时刻换算信息30的结构的图。
图17是本实施方式的基准时钟的精度满足规定条件的情况下的处理的流程图。
图18是本实施方式的基准时钟的精度不满足规定条件的情况下的处理的流程图。
图19是表示本实施方式的制造执行系统400的结构例的图。
图20是表示通过执行图19的DB管理程序411而提供的DB管理器的图。
图21是表示本实施方式的控制装置2向制造执行系统400发送时间序列数据的情况下的处理例的示意图。
图22是表示本实施方式的控制装置2向制造执行系统400发送时间序列数据的情况下的处理例的示意图。
图23是示意性地表示在本实施方式的控制装置2中生成的时间序列数据的帧的图。
图24是示意性地表示在本实施方式的控制装置2中生成的时间序列数据的帧的图。
图25是示意性地表示本实施方式的时间序列DB 450的一例的图。
具体实施方式
参照附图对本发明的实施方式进行详细说明。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
<A.应用例>
首先,对应用本发明的场景的一例进行说明。图9是示意性地表示本实施方式的控制装置2所管理的用于时刻同步的结构的一例的图。工厂自动化的控制系统具有多个控制装置。该控制装置例如相当于PLC。控制装置具有交换数据的第1单元(CPU单元100)和第2单元(功能单元200)。控制系统具有使用时钟使第1单元具有的控制用的计数器126与第2单元具有的控制用的计数器213同步的同步处理部(同步处理部216、同步处理部114)。各单元保存有在单元间共享的与换算相关的时刻换算信息30,所述换算用于根据该单元所具有的计数器的计数器值来换算时刻。对于时刻换算信息30,由换算信息管理部115(换算信息管理部215)以在单元间共享的方式实施该时刻换算信息30的发布。
因此,控制系统具有在单元间使控制用的计数器彼此同步的结构、和在单元间共享与根据同步的计数器的计数器值计算时刻的换算相关的时刻换算信息30的结构。通过具有这两方的结构,在控制系统中,各单元所具有的控制用的计数器能够使用以往的计数器,实现在单元间提供同步的时刻的结构。
在计数器的同步所使用的时钟中,能够包含作为单元外的外部时钟的主时钟191A或第1单元及第2单元中的一个单元所具有的内部时钟(例如CPU单元100所具有的RTC(RealTime Clock:实时时钟)128)。因此,在控制系统中,可提供使用了系统能够利用的时钟的时刻、即具有能够利用的环境以及运用中的精度的时刻。由此,控制系统可提供能够灵活地应对该系统的环境或运用的时刻。
以下,对本实施方式的更具体的应用例进行说明。
在以下的说明中,作为“控制装置”的典型例,说明PLC,但并不限定于PLC的名称,本说明书所公开的技术思想可应用于任意的控制装置。另外,以下也将包含PLC(控制装置)的系统整体称为“控制系统”。
<B.控制系统的整体结构>
首先,对本实施方式的可应用于FA的控制系统的整体结构进行说明。图1是示意性地表示本实施方式的控制系统1的整体结构的一例的图。
参照图1,在控制系统1中,网络连接为多个级别,对各级别的网络分别分配不同的功能。具体没有限定,例如设置有4个级别的网络11~14。
网络11是控制级的网络。网络11连接有多个控制装置2A、2B和2C(以下,有时也统称为“控制装置2”。)、装置/生产线管理装置190以及提供SCADA(Supervisory Control AndData Acquisition:监督控制和数据采集)功能的显示装置280,在网络11中形成能够在装置间交换数据的数据链路。装置/生产线管理装置190以及显示装置280相当于管理与网络连接的装置以及生产线的设备。网络11主要提供与控制系统相关的信息的传输作为主要功能。
在控制装置2上例如连接有传感器、致动器这样的各种现场设备90。这些现场设备90有时也经由安装于控制装置2的输入输出单元与控制装置2直接连接,但有时也经由网络110与控制装置2连接。在图1中,控制装置2连接于1个或多个网络110。在各网络110上连接有1个或多个现场设备90。1个或多个现场设备90分别包含对制造装置或生产线等(以下,也统称为“现场”。)赋予某种物理作用的致动器、及与现场之间交换信息的输入输出装置等。因此,在图1所示的控制系统1中,除了网络11~14这4个级别以外,还追加了现场级的网络110。
经由网络110,在控制装置2与现场设备90之间交换的数据以几百μsec级~几十msec级的极短周期被更新。另外,此种交换的数据的更新处理也称为输入输出刷新处理。
网络12作为管理级的网络而被提供。在网络12上连接有对装置以及生产线进行管理的装置/生产线管理装置190、对制造计划等进行管理的制造管理装置380以及390。装置/生产线管理装置190、制造管理装置380及390经由网络12来交换制造计划等管理信息、及装置或生产线的信息。
网络13被提供为计算机级网络。在网络13上连接有制造管理装置380和390、以及管理时间序列DB(数据库的简称)450的制造执行系统(MES:Manufacturing ExecutionSystem)400。制造管理装置380和390以及制造执行系统400经由网络13交换生产管理和信息系统的数据。
制造执行系统400将经由网络13收集的来自现场设备90的输入值即观测值作为按照观测到的顺序的时间序列的数据而保存到时间序列DB 450。
具体而言,在本实施方式中,控制装置2具有生成包含所指定的观测值的帧的功能。控制装置2将所生成的帧经由网络11、12以及13传送到制造执行系统400。制造执行系统400将从控制装置2接收到的观测值的帧按照时间序列保存在时间序列DB 450中。
在本实施方式中,也将保存在时间序列DB 450中的数据称为“时间序列数据”。在本实施方式中,“时间序列数据”是指连续地(或者隔开一定间隔不连续地)观测关于任意对象的数据(观测值)的时间性变化而得到的一系列的值。
在本说明书中,“观测值”是对在基于控制装置2的控制运算中能够利用的值(实际值)进行统称的概念,典型地,能够包含从控制对象取得并输入到控制运算的值(从现场取得的测量值等)、通过控制运算基于所取得的输入值而决定的针对控制对象的输出值(对现场给出的指令值等)、在控制运算的过程中计算的运算值(任意的变量值)等。即,“观测值”包含能够在控制装置2中作为数据保存、或者能够从控制装置2作为数据向外部输出的任意的值。
网络14包含因特网等外部网络。在网络14上连接有制造执行系统400和云上的外部装置等。制造执行系统400通过与云上的装置交换数据,将时间序列DB 450的数据传送到云上的装置。
控制装置2可连接支持装置500。支持装置500是辅助控制装置2对控制对象进行控制所需的准备的装置。支持装置500还可与装置/生产线管理装置190连接。
与控制系统1的网络11连接的控制装置2A、2B及2C分别用于不同的工序3A、3B及3C。虽然没有限定,但例如工序3A表示产品(工件)的组装工序,工序3B表示组装后的产品的涂装工序,工序3C表示涂装后的产品的检查工序。
在图1所示的控制系统1中,网络12以及处于其以下的级别的网络11和网络110也被称为“工厂网络”,提供对用于现实地控制设备的数据(以下,有时也统称为“控制系统数据”)进行交换的控制系统通信。另一方面,网络13以及处于其以上的级别的网络14也被称为“公司网络”,提供对用于监视、管理、控制生产线/工厂中的生产活动等的数据(以下,有时也统称为“信息系统数据”)进行交换的信息系统通信。
在网络11~14以及网络110中,采用与这样的所要求的特性差异相应的协议以及架构。例如,作为属于工厂网络的网络11及12的协议,也可使用在通用的Ethernet(注册商标)上安装有控制用协议的工业用开放网络即EtherNet/IP(注册商标)。另外,作为网络110的协议,也可采用作为机器控制用网络的一例的EtherCAT(注册商标)。另外,网络11的协议(第1协议)和网络110的协议(第2协议)可以相同或不同。通过采用适合于这样的机器控制的网络技术,能够提供保证了设备间的传输所需的时间的实时性。
与此相对,作为属于公司网络的网络13以及14的协议,为了确保连接目的地的多样性,使用通用的Ethernet等。通过采用通用的Ethernet,能够排除可发送的数据量等限制。
<C.控制系统1中的时刻同步>
在图1所示的工厂网络中,与网络11连接的多个控制装置2A、2B以及2C分别与经由网络110连接的1个或者多个现场设备90之间收发数据。具体而言,控制装置2执行对在现场设备90中收集或生成的数据(输入数据)进行收集的处理(输入处理)、生成针对现场设备90的指令等数据(输出数据)的处理(运算处理)、以及将生成的输出数据发送到对象现场设备90的处理(输出处理)等。
在网络110中,需要保证数据的到达时间。因此,控制装置2具有对数据传输的定时进行规定的、在收发数据的主体(即,1个或多个现场设备90)之间相互进行了时刻同步的定时器。
然而,在多个控制装置2之间未取得时刻同步的情况下,例如,与1个控制装置2连接的现场设备90和与其他控制装置2连接的现场设备90之间无法时刻同步。其结果,可能产生输入输出刷新处理的定时不一致的情况,因此难以使与互不相同的控制装置2连接的多个现场设备90联动地进行动作。
因此,在本实施方式的控制系统1中,使多个控制装置2各自所具有的定时器相互进行时刻同步。由此,实现与互不相同的控制装置2连接的、即不同的工序间的多个现场设备90的协调控制。
以下,对本实施方式的控制系统1所提供的时刻同步功能进行说明。
(c1.网络结构例)
接着,对本实施方式的控制系统1的网络结构例进行说明。图2是表示本实施方式的控制系统1的网络结构例的示意图。
图2所示的控制系统1具有多个控制装置2A、2B以及2C和多个现场设备90A~90I。作为一例,控制系统1的至少一部分控制装置采用菊花链连接的网络。控制装置2A、2B及2C分别作为管理对应的网络110内的数据传输的主设备发挥功能。现场设备90A~90I作为按照来自对应的主设备的指令进行数据传输的从设备发挥功能。
控制装置2A、2B以及2C与控制级的网络11(上位的网络)连接。网络11例如与装置/生产线管理装置190连接。
在与控制装置2A连接的网络110上以菊花链的方式依次连接有现场设备90A、90B和90C,在与控制装置2B连接的网络110上以菊花链的方式依次连接有现场设备90D、90E和90F,在与控制装置2C连接的网络110上以菊花链的方式依次连接有现场设备90G、90H和90I。
在网络110内,控制装置2及1个或多个现场设备90均可视为具有数据传输功能的通信装置。在图2所示的例子中,控制装置2以及1个或多个现场设备90分别具有如下功能:当从相邻地连接的某个通信装置接收到在网络上传输的数据时,根据需要将该数据向相邻地连接的其他通信装置传输。
在本实施方式的控制系统1中,在连接于网络110的多个通信装置、即控制装置2及1或多个现场设备90之间,收发定时同步(相当于图中的时刻同步(3))。具体而言,控制装置2及1个或多个现场设备90分别具有相互进行了时刻同步的定时器(或者,同步地递增或递减的计数器)。控制装置2及1个或多个现场设备90分别按照它们的时刻同步的定时器或计数器,决定数据的发送或接收的定时。
另外,在本实施方式中,“定时”表示发生某种现象的时期、时间或时刻的概念。另外,“时刻同步”表示使彼此具有的定时器、时间数据等同步。
参照图2,控制装置2A具有定时器102A,现场设备90A、90B和90C分别具有定时器91A、91B和91C。控制装置2A的定时器102A作为主设备发挥功能,现场设备90A、90B和90C的定时器91A、91B和91C以该主设备为基准使定时同步。例如,在定时器91A、91B和91C中设定基于定时器102A的定时器值的值。
控制装置2B具有定时器102B,现场设备90D、90E和90F分别具有定时器91D、91E和91F。控制装置2B的定时器102B作为主设备发挥功能,现场设备90D、90E和90F的定时器91D、91E和91F以该主设备为基准使定时同步。例如,在定时器91D、91E和91F中设定基于定时器102B的定时器值的值。
控制装置2C具有定时器102C,现场设备90G、90H和90I分别具有定时器91G、91H和91I。控制装置2C的定时器102C作为主设备发挥功能,现场设备90G、90H和90I的定时器91G、91H和91I以该主设备为基准使定时同步。例如,在定时器91G、91H和91I中设定基于定时器102C的定时器值的值。
即,控制装置2A、2B及2C分别作为对对应的网络110内的数据传输进行管理的主设备发挥功能,与各控制装置2连接的现场设备90作为按照来自主设备的指令进行数据传输的从设备发挥功能。通过在主设备与从设备之间使定时器相互时刻同步,能够在构成网络110的控制装置2与现场设备90之间使数据的传输定时等相互一致。
在图2所示的例子中,控制装置2A还具有与定时器102A时刻同步的定时器101A。控制装置2B还具有与定时器102B时刻同步的定时器101B。控制装置2C还具有与定时器102C时刻同步的定时器101C(相当于图中的时刻同步(2))。在控制系统1中,例如能够使定时器101A、101B及101C中的任意一个作为控制系统1整体的主设备发挥功能。
作为一例,在图2中,控制装置2A的定时器101A被设定为主设备,控制装置2B、2C的定时器与该主设备时刻同步。由此,能够在多个控制装置2A、2B以及2C之间相互进行时刻同步(相当于图中的时刻同步(1))。
这样,多个控制装置2A、2B以及2C分别具有在多个控制装置2A、2B以及2C之间相互进行了时刻同步的装置间定时器(定时器101A、101B以及101C)、以及与经由网络110连接的1个或者多个现场设备90进行了时刻同步的设备间定时器(定时器102A、102B以及102C),装置间定时器与设备间定时器相互进行了时刻同步。其结果,在控制装置2A和现场设备90A、90B以及90C之间进行了时刻同步的设备间定时器(定时器102A)、在控制装置2B和现场设备90D、90E以及90F之间进行了时刻同步的设备间定时器(定时器102B)、在控制装置2C和现场设备90G、90H以及90I之间进行了时刻同步的设备间定时器(定时器102C)相互时刻同步。
此外,在图2中,对将任意一个控制装置2的定时器设定为主设备的结构例进行了说明,但也可以将经由网络11从外部取得的时刻作为主设备,或者也可以将装置/生产线管理装置190等外部装置的定时器作为主设备。
(c2.时刻同步的数据通信)
图3是表示本实施方式的控制系统1的数据通信处理的示意图。参照图3,在与网络110连接的控制装置2A和多个现场设备90A、90B以及90C之间,按照预先确定的系统周期来交换数据。
在控制装置2B与多个现场设备90D、90E以及90F之间、和控制装置2C与多个现场设备90G、90H以及90I之间,也按照系统周期来交换数据。通过这样的数据交换,实现控制装置2及现场设备90的控制动作。在以下的说明中,也将网络110上的通信称为“下位网络(NW)通信”。
在与上位的网络11连接的控制装置2A、2B以及2C之间,按照预先确定的系统周期,交换各控制装置2通过输入处理从现场设备90收集到的数据、通过运算处理生成的输出数据等。通过这样的数据交换,能够使与控制装置2A连接的现场设备90、与控制装置2B连接的现场设备90以及与控制装置2C连接的现场设备90联动地进行动作。即,能够在不同的工序间使现场设备90联动地动作。在以下的说明中,也将网络11上的通信称为“上位的网络(NW)通信”。
在本实施方式的控制系统1中,应开始下位网络通信中的数据传输的定时是基于在多个控制装置2A、2B及2C之间相互时刻同步的定时器来决定的。由此,在多个控制装置2A、2B及2C之间,能够使与现场设备90之间交换数据的定时等相互一致,因此结果是,能够在不同的工序间使现场设备90的控制定时同步。
<D.控制装置2的结构和时刻同步>
图4是表示本实施方式的控制装置2的单元的结构例的示意图。参照图4,控制系统1所具有的控制装置2包含CPU(Central Processing Unit:中央处理器)的单元100(以下称为CPU单元100)、1个或多个功能单元200、及1个或多个功能单元300。在图4中,将控制装置2所具有的功能单元300设为4台,但只要是1台以上则不限于4台,另外,将控制装置2所具有的功能单元200设为2台,但只要是1台以上则不限于2台。CPU单元100经由信号线113将1个或多个功能单元200与数据总线111连接。另外,CPU单元100经由数据总线112连接1个或多个功能单元300。
数据总线111不受限定,例如是遵循PCIe(PCI Express(外围组件互连快速))的I/O串行接口的总线。信号线113是光纤线缆或电信号线缆,传输作为触发信号的后述的时刻同步信号130。
CPU单元100具有执行根据控制对象而创建的程序的程序执行部。更具体而言,CPU单元100相当于执行系统程序及各种用户程序的运算处理部。
功能单元200实施通信处理或信息处理。功能单元200具有连接数据总线111的接口及连接信号线113的信号端口212P。功能单元200在网络11与控制装置2之间以中介的方式配置,由此CPU单元100能够经由功能单元200与连接于网络11的设备之间进行数据通信。另外,通过在CPU单元100的信号端口110P与功能单元200的信号端口212P之间连接信号线113,CPU单元100及功能单元200经由信号线113接收时刻同步信号130。
在本实施方式中,功能单元200监视从网络14等互联网对CPU单元100的访问、及从网络11内的其他装置对CPU单元100的访问,并且当检测到某些安全事件的发生时,向控制装置2的内部或外部进行与该检测到的安全事件相关的通知。另外,功能单元200所实施的信息处理并不限定于安全监视处理。
功能单元300具有与现场设备90等控制对象设备及装置、以及配置于它们的各种设备(传感器、致动器等)之间交换信号的、所谓的I/O单元的功能。具体而言,功能单元300将在CPU单元100中计算的指令值输出至现场,或者收集来自现场的输入值。作为功能单元300,例如具有接收来自控制对象的数字信号的DI(Digital Input:数字输入)模块、对控制对象输出数字信号的DO(Digital Output:数字输出)模块、接收来自控制对象的模拟信号的AI(Analog Input:模拟输入)模块、对控制对象输出模拟信号的AO(Analog Output:模拟输出)模块中的1个或多个模块。并且,作为功能单元300,可包含安装有PID(ProportionalIntegral Derivative:比例积分微分)控制或运动控制等特殊功能的控制器。
功能单元200或功能单元300能够作为可装卸自如地外装于CPU单元100的扩展单元来提供。
(d1.CPU单元100的结构)
图5是表示本实施方式的控制装置2所具有的CPU单元100的硬件结构例的框图。
CPU单元100包含处理器102、芯片组104、主存储装置106、二次存储装置108、上位网络控制器105、USB(Universal Serial Bus:通用串行总线)控制器107、存储卡接口109、本地总线控制器120、122、现场网络控制器118、计数器126、RTC(Real Time Clock:实时时钟)128以及信号端口110P。
处理器102由CPU、MPU(microprocessor unit:微处理器单元)、GPU(GraphicsProcessing Unit:图形处理单元)等构成,读出保存在二次存储装置108中的各种程序,在主存储装置106中展开并执行,由此实现与控制对象对应的控制以及后述那样的各种处理。二次存储装置108例如由HDD(Hard Disk Drive:硬盘驱动器)或SSD(Solid State Drive:固态硬盘)等非易失性存储装置等构成。主存储装置106由DRAM(Dynamic Random AccessMemory:动态随机存取存储器)或SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置等构成。
芯片组104通过控制处理器102和各设备来实现作为CPU单元100整体的处理。
在二次存储装置108中,除了用于实现基本功能的系统程序以外,还保存有根据作为控制对象的制造装置或设备而创建的用户程序。此外,在二次存储装置108中保存有时刻换算信息30。时刻换算信息30表示与换算相关的信息,该换算用于根据各单元所具有的计数器的值,计算时刻(实际时间)。此外,在二次存储装置108中还保存有后述那样的时间序列数据库。另外,保存时刻换算信息30的设备不限于二次存储装置108,也可以保存于主存储装置106。
上位网络控制器105经由上位的网络11,与制造执行系统400或云上的装置(参照图1)等之间交换数据。USB控制器107经由USB连接来控制与支持装置500之间的数据交换。
存储卡接口109构成为能够装卸存储卡116,能够对存储卡116写入数据,并从存储卡116读出各种数据(用户程序、跟踪数据等)。
计数器126用作用于管理CPU单元100中的各种处理的执行定时的时刻基准。计数器126典型地在每个规定周期使计数器值递增或递减。作为计数器126,可以使用配置在驱动处理器102的系统总线上的、作为硬件定时器的高精度事件定时器(HPET:HighPrecision Event Timer)等进行安装,或者也可以使用ASIC(Application SpecificIntegrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)等专用电路进行安装。
RTC 128是具有计时功能的一种计数器,向处理器102等提供当前时刻。
本地总线控制器122是与可连接于CPU单元100的功能单元300-1、300-2、……之间交换数据的接口。本地总线控制器122具有计数器124,计数器124被用作用于与经由数据总线112连接的其他设备即功能单元300-1、300-2、……之间管理定时的时刻基准。同样地,功能单元300-1、300-2、……也分别具有计数器125,计数器125被用作用于与本地总线控制器122以及其他功能单元300之间管理定时的时刻基准。关于计数器124以及计数器125,能够采用与上述的计数器126相同的结构。
现场网络控制器118控制经由网络110的与包含现场设备90在内的其他设备之间的数据交换。现场网络控制器118具有计数器119,计数器119被用作用于与其他设备之间管理定时的时刻基准。在图5中,用计数器91A、91B……表示现场设备90的定时器91。
本地总线控制器120是与可连接于CPU单元100的功能单元200-1、200-2、……之间交换数据的接口。本地总线控制器120具有计数器121,计数器121被用作用于与经由数据总线111连接的其他设备即功能单元200-1、200-2、……之间管理定时的时刻基准。同样地,功能单元200-1、200-2、……也分别具有计数器213,计数器213被用作用于与本地总线控制器120之间管理定时的时刻基准。计数器121以及计数器213能够采用与上述的计数器126相同的结构。
另外,网络110上的各设备也具有被用作用于与现场网络控制器118之间管理定时的时刻基准的计数器。
关于计数器119以及现场设备90等设备所具有的计数器(计数器91),能够采用与上述计数器126相同的结构。
现场网络控制器118作为用于进行经由网络110的恒定周期通信的通信主设备发挥功能,逐次监视与现场总线连接的各设备所具有的计数器所表示的计数器值与计数器119所表示的计数器值的差分,根据需要,对计数器值产生偏差的设备输出用于指示校正的同步信号。这样,现场网络控制器118具有向设备提供用于使设备的计数器所表示的计数器值与计数器119所表示的计数器值一致的指令的同步管理功能。
信号端口110P与传输时刻同步信号130的信号线113连接。
在图5的CPU单元100中,计数器119、计数器121及计数器124与计数器126同步。
在图5中,示出了通过处理器102执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如,ASIC(Application specific Integrated Circuit:专用集成电路)或者FPGA(Field-Programmable Gate Array:现场可编程门阵列)等)来安装这些所提供的功能的一部分或者全部。或者,也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现CPU单元100的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS(Operating System:操作系统),并且在各OS上执行所需的应用程序。
在本实施方式的控制系统1中,CPU单元100和支持装置500分体地构成,但也可以采用将这些功能的全部或一部分集成于单一装置的结构。
(d2.功能单元200的结构)
图6是表示本实施方式的控制装置2所具有的功能单元200的硬件结构例的框图。参照图6,功能单元200包含处理器202、芯片组204、主存储器206、储存器208、单元间接口210、网络接口220以及信号端口212P。信号端口212P与传输时刻同步信号130的信号线113连接。
处理器202由CPU、MPU、GPU等构成。与上述CPU单元100同样地,功能单元200包含1个或多个处理器202、和/或具有1个或多个核的处理器202。芯片组204通过控制处理器202及外围元件,实现作为功能单元200整体的处理。芯片组204包含作为生成时刻同步信号130的电路元件的信号发生器205。来自信号发生器205的时刻同步信号130经由信号端口212P向信号线113送出。主存储器206由DRAM、SRAM等易失性存储装置等构成。储存器208例如由闪存等非易失性存储装置等构成。
处理器202读出储存器208中保存的各种程序,在主存储器206中展开并执行,由此实现例如安全事件的监视等处理。在储存器208中保存包含用于实现基本处理的OS(OperatingSystem:操作系统)27的系统程序22、和用户程序20。另外,储存器208保存与用于根据计数器213的计数器值计算实际时刻的换算相关的信息即时刻换算信息30,并且具有保存功能单元200收集到的观测值的时间序列数据的存储区域21。另外,保存时刻换算信息30的存储设备不限于储存器208,也可以是主存储器206。
用户程序20包含对功能单元200所处理的时刻进行管理的时刻管理程序26及用于安全监视处理的安全程序24。时刻管理程序26包含用于在单元间使计数器同步的计数器同步程序23、以及在执行时校正计数器值的校正程序25。安全程序24在被执行时,实施基于规定控制装置2的运用者或者管理者等预先确定的规则等的安全设定的、安全监视处理,收集基于处理结果的观测值,并作为时间序列数据保存于存储区域21。通过执行校正程序25来实施计数器值的校正处理,关于校正处理在后面叙述。
单元间接口210连接数据总线111。单元间接口210经由数据总线111与CPU单元100或其他功能单元200之间交换数据。
单元间接口210具有:数据通信电路211,其具有用于与CPU单元100或其他功能单元200之间收发数据的控制器(在图中用Tx/Rx CTRL表示)和缓冲器;以及计数器213。
网络接口220为了经由网络11交换数据而包含控制器(在图中用Tx/Rx CTRL表示)222及缓冲器226。
单元间接口210和网络接口220所具有的缓冲器相当于临时存储应发送的数据及接收到的数据等的存储部。计数器213具有与CPU单元100所具有的计数器126(参照图5)相同的结构。
功能单元200的网络接口220以及单元间接口210例如具有NIC(NetworkInterface Card:网络接口卡)。另外,在图6示出了通过处理器202执行程序来实现所需处理的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些提供的处理的一部分或全部。
(d3.功能单元300的结构)
图7是表示本实施方式的控制装置2所具有的功能单元300的硬件结构例的框图。参照图7,功能单元300提供用于实现控制系统1对各种机械或设备等的控制所需的各种功能。更具体而言,各功能单元300包含功能模块157、I/O(输入输出)接口159及通信电路161。
功能模块157是执行各功能单元300的主要处理的部分,负责来自控制对象机械或设备等的现场信息的收集及向控制对象机械或设备等的指令信号的输出等。
I/O接口159是对与控制对象机械或设备等之间的信号交换进行中介的电路。
通信电路161对在数据总线112中依次传输的数据进行处理。即,通信电路161若经由数据总线112接收到某些数据,则在对该接收到的数据进行处理后,将该通信数据发送至在数据总线112上位于下一位置的功能单元300。通信电路161提供这样的对数据进行中继的功能。
更具体而言,通信电路161包含收发端口162、164、用于收发的控制器(在图中用Tx/Rx CTRL表示)166以及计数器168。
收发端口162、164是与数据总线112物理连接的部位,按照来自控制器166的指令,进行在数据总线112上传输的数据的接收及再现等处理,由此实现数据的依次传送。
控制器166实施在数据总线112上传送的数据的读出、数据的变更等数据处理。
计数器168产生作为控制器166的指令输出或功能模块157中的处理执行等的定时基准的时钟。计数器168例如也能够采用基于实时时钟的计数器,但在本实施方式中,能够应用以规定周期进行递增计数(递增)的自由运行计数器。
(d4.CPU单元100的软件结构例)
接着,说明构成本实施方式的控制系统1的CPU单元100的软件结构例。
图8是表示本实施方式的CPU单元100的软件结构例的框图。参照图8,CPU单元100包含PLC引擎150、时间序列数据库180、上位连接程序192、网关程序194。
PLC引擎150在各种程序的执行环境下执行各种程序。典型地,该执行环境是通过CPU单元100的处理器102读出存储在二次存储装置108中的系统程序并在主存储装置106中展开执行而提供的。
更具体而言,PLC引擎150包含控制程序152、变量管理程序160、调度程序170、输入程序172、输出程序174、时刻同步程序177、换算信息管理程序179。关于变量管理程序160、调度程序170、输入程序172、输出程序174,也可以安装为系统程序的一部分。在该情况下,也可以由单一的系统程序提供这些程序提供的各个功能。
控制程序152典型地由用户程序154、数据库写入程序156、串行化通信程序158构成。用户程序154相当于提供控制运算功能的主要部分,能够根据作为CPU单元100的控制对象的制造装置、设备等任意地构成。用户程序154例如能够由利用了功能块等的梯形逻辑等来规定。
数据库写入程序156由在用户程序154内规定的命令调用,对时间序列数据库180写入指定的数据。
串行化通信程序158对从数据库写入程序156写入到时间序列数据库180的数据进行串行化处理。更具体而言,串行化通信程序158执行将时间序列数据转换为可保存的字节串的处理(串行化)。对象数据在通过串行化处理转换为规定的字节串之后,保存在时间序列数据库180内。另外,并非必须根据向时间序列数据库180的数据写入的速度及数据容量等来进行串行化处理。即,串行化通信程序158是可选的结构。
变量管理程序160以变量的形式管理能够在PLC引擎150中利用的值。更具体而言,变量管理程序160对表示CPU单元100的状态等的系统变量、表示经由本地总线或现场总线而与CPU单元100连接的各种设备所保持的值的设备变量、及表示由CPU单元100执行的用户程序154所保持的值的用户变量进行管理。
输入程序172提供从经由本地总线或现场总线与CPU单元100连接的各种设备取得输入数据的功能。
输出程序174将通过在CPU单元100中执行的用户程序154计算出的指令值(输出数据)输出到经由数据总线112或网络110连接的对象设备。
时刻同步程序177在CPU单元100内的控制程序的执行周期、与数据总线112连接的功能单元200、以及与网络110连接的现场设备90彼此之间实现时刻同步。时刻同步程序177具有用于适当校正为了取得时刻同步而管理的定时器的校正程序178。通过执行校正程序178来实施后述的校正处理,关于校正处理在后面叙述。
换算信息管理程序179实现与用于根据计数器的值计算时刻的换算相关的换算信息的管理。换算信息管理程序179实现的换算信息的管理包含单元间的换算信息的共享。换算信息的共享例如通过将时刻换算信息30发布给其他单元来实现。
调度程序170对CPU单元100的过程或任务等管理资源分配、执行定时等。这样的过程或任务包含可通过由CPU单元100执行控制程序152和变量管理程序160、输入程序172、输出程序174、时刻同步程序177以及换算信息管理程序179等而生成的过程或任务。
时间序列数据库180典型地配置在主存储装置106或二次存储装置108中,搭载有保存数据的功能,并且搭载有响应于来自外部的请求(查询)而应答所指定的数据的检索功能。时间序列数据库180保存有通过数据库写入程序156写入的时间序列数据182。即,时间序列数据库180按时间序列保存输入数据、输出数据、在控制程序152的控制运算中计算的运算数据、制造数据、事件数据的至少一部分。这样的输入数据和输出数据中包含CPU单元100从功能单元300接收的数据、以及CPU单元100向功能单元300发送的数据。另外,事件数据中可包含CPU单元100从功能单元200接收的与安全监视相关的数据。
上位连接程序192与制造执行系统400等和上位网络13连接的外部装置之间交换数据。在本实施方式的CPU单元100中,能够从CPU单元100对制造执行系统400输出输入数据或运算数据,并且从制造执行系统400接收制造信息。这样,上位连接程序192提供从与控制对象相关联的制造执行系统400取得制造数据的制造数据取得功能。
在本实施方式中,制造执行系统400具有时间序列DB 450。在该情况下,能够代替上位连接程序192,或者作为上位连接程序192的一部分,而设置数据库连接程序193(在图中用“DB”表示数据库)。数据库连接程序193例如也可以执行对关系数据库发送SQL等查询、并且接收响应的处理。通过执行数据库连接程序193,CPU单元100内的时间序列数据库180的时间序列数据182可被传送至制造执行系统400,并保存在时间序列DB 450中。关于通过数据库连接程序193向制造执行系统400输出的时间序列数据的详细内容,将在后面叙述。
网关程序194与云上的装置进行通信。例如,对云上的提供IoT服务的装置提供时间序列数据库180的时间序列数据182。具体而言,网关程序194以指定的周期从时间序列数据库180取得所指定的种类的数据,并作为时间序列数据而输出。通过网关程序194向IoT服务的提供装置输出的时间序列数据例如能够具有与通过数据库连接程序193向制造执行系统400输出的时间序列数据同样的结构。
CPU单元100的输入程序172经由数据总线111、112和/或网络110从传感器等现场设备90取得输入数据。
CPU单元100的上位连接程序192从制造执行系统400取得制造数据。变量管理程序160将这些取得的输入数据以及制造数据作为变量进行管理。
用户程序154一边参照由变量管理程序160管理的系统变量、设备变量、用户变量,一边执行预先指定的控制运算,并将其执行结果(输出数据)输出到变量管理程序160。
输出程序174将通过用户程序154的控制运算而计算的输出数据作为控制输出,并经由数据总线112和/或网络110向致动器等现场设备90输出。
数据库写入程序156将由变量管理程序160管理的变量中指定的观测值写入到时间序列数据库180。
上位连接程序192将由变量管理程序160管理的变量中的被指定的变量的值、和/或保存于时间序列数据库180的时间序列数据182中的被指定的数据作为时间序列数据输出到制造执行系统400。
网关程序194将由变量管理程序160管理的变量中的被指定的变量的值、和/或保存于时间序列数据库180的时间序列数据182中的被指定的数据作为时间序列数据向IoT服务输出。IoT服务的提供装置例如提供如下服务:基于来自CPU单元100的时间序列数据,进行行为分析,进行作为控制对象的设备或装置等的预测维护等。
<E.时刻同步的结构>
首先,本实施方式的控制装置2具有使时刻以及计数器同步的功能(以下,也分别称为“时刻同步”和“计数器同步”。)。
在本说明书中,“时刻”是指表示时间流中的某一点的时刻,例如使用时分秒等单位来规定。“计数器”包含用于在控制装置2和关联的装置内控制定时的值,基本上表示每隔预先确定的单位时间逐次被增加或减少规定值的值(以下,也将计数器所示的值称为“计数器值”。)。在本实施方式中,虽然没有限定,但计数器值相当于定时器的值,虽然没有限定,例如表示能够表现纳秒级的64比特长的整数值。
在本实施方式中,在构成控制装置2的单元之间以及各单元与包含现场设备90在内的其他设备之间,采用使用了计数器值的时刻同步。
再次参照图9,对各控制装置2用来从网络11接收(取得)作为管理实际时刻的基准时钟的主时钟的计数器值的结构、以及用于以时刻同步信号130为触发来实现时刻同步的结构进行说明。在图9中,时刻同步信号130由功能单元200的图6所示的信号发生器205生成并传输到信号线113。
实现这样的时刻同步的结构例如可以包含:网络11实施按照TSN(Time-SensitiveNetworking:时间敏感网络)的数据通信的情形;以及网络11实施按照EtherCAT(注册商标:Ethernet for Control Automation Technology:以太网控制自动化技术)的数据通信的情形。此外,应用于网络11的标准并不限定于此,例如也可以是IEEE1588。
参照图9,管理时刻的主时钟191A例如由网络11上的装置/生产线管理装置190提供。主时钟191A例如表示配置在因特网上的时刻同步服务器所管理的绝对时刻(实际时刻)。主时钟191A能够用作用于计数器同步的基准时钟,作为基准时钟的主时钟191A也可以设置在网络11上的其他装置中。
CPU单元100通过执行时刻同步程序177而具有同步处理部114。同步处理部114经由上位网络控制器105与装置/生产线管理装置190进行通信,参照主时钟191A。同步处理部114利用装置/生产线管理装置190的作为时刻同步服务器的功能,在取得主时钟191A的时刻时,校正网络11等的传输延迟。由此,同步处理部114能够从主时钟191A取得更准确的时刻。另外,同步处理部114在使用时刻同步协议取得时刻时,同步处理部114对执行了时刻同步协议的定时的计数器126的计数器值进行锁存。由此,得到从主时钟191A取得的时刻与计数器值的关联。这样的关联的结果成为“时刻换算信息30”。维持关联相当于主时钟191A与CPU单元100的同步。另外,在维持该关联时,能够执行“时刻换算信息30”的更新、单元内的时刻(RTC 128的时刻)的更新、计数器的校正。
功能单元200具有通过执行计数器同步程序23而实现的同步处理部216。功能单元200的同步处理部216例如在启动时经由数据总线111从CPU单元100接收计数器126的计数器值,并将接收到的计数器值设定在计数器213中。之后,同步处理部216与来自内部的硬件电路的输出同步地周期性地更新(递增或递减)计数器213的计数器值,并将更新后的值设定于控制用的计数器213。由此,计数器213的计数器值被周期性地更新。
在CPU单元100中,调度程序170以控制用的计数器126为基准实施控制程序152等的调度。另外,输入程序172及输出程序174以与计数器126同步的计数器119及计数器124为基准,与各设备实施时刻同步。由此,能够以主时钟191A为基准来实施CPU单元100内的控制程序152等的调度、及连接于控制装置2的各设备与该控制装置2的时刻同步。其结果,能够与主时钟191A同步地实施CPU单元100内的控制程序等的调度以及与控制装置2连接的各设备(现场设备90等)与该控制装置2之间的输入输出。
(e1.由同步处理部进行的计数器的调整处理)
在本实施方式中,例如,计数器126的计数器值的更新与CPU单元100内部的硬件电路的输出信号同步地实施。因此,存在因硬件电路的误差等而导致功能单元200的计数器213的计数器值与CPU单元100的计数器126的计数器值之差(以下,也将其称为同步偏差)变大的可能性。若同步偏差变大,则会产生无法与主时钟191A同步地实施CPU单元100内的控制程序的调度、及连接于控制装置2的各设备与该控制装置2之间的输入输出的情况。另外,产生上述差异的主要原因并不限定于硬件电路的误差等。
为了防止此种情况,功能单元200的同步处理部216与CPU单元100的同步处理部114实施用于减少同步偏差的校正处理。该校正处理通过在同步处理部114中执行校正程序178来实现,通过在同步处理部216中执行校正程序25来实现。同步处理部114和同步处理部216将来自信号线113的时刻同步信号130作为触发,实施包含锁存处理的校正处理。
在锁存处理中,同步处理部114和同步处理部216分别在接收(输入)到时刻同步信号130时,锁存(取得)计数器126和计数器231的计数器值,并将锁存的计数器值存储在规定的存储区域中。然后,同步处理部114以及同步处理部216经由数据总线111,相互交换并对照被锁存的计数器值,基于对照的结果导出计数器值的差(以下,也将该差称为同步偏差),以使导出的差变小的方式,利用基于差的调整值来调整对应的计数器的计数器值。该调整例如包含用调整值对计数器值进行加法运算或减法运算的计数器值的校正处理。
另外,实施同步偏差的调整的定时可以是接收到时刻同步信号130的时间点,或者也可以是从接收到时刻同步信号130时起经过规定时间后。
另外,时刻同步信号130的发送源单元并不限定于功能单元200,也可以是控制系统1所具有的其他单元。在本实施方式中,时刻同步信号130周期性地例如每隔1m秒输出,但并不限定于周期性地输出的方式。例如,功能单元200也可在计数器213的计数器值变得与某个指示值相等时,输出时刻同步信号130。
(e2.提供实际时刻的时钟的切换)
在上述的实施方式中,将主时钟191A用作用于使计数器同步的基准时钟,但能够对用于时刻同步的基准时钟进行切换。
具体而言,同步处理部114(或者同步处理部216)针对从主时钟191A接收的时刻,判断时刻的精度(例如,毫秒、微秒等)是否满足规定条件。另外,时刻的精度的指标并不限定于毫秒、微秒等。例如,指标也可以包含成为主时钟191A的供给源(timesource)的服务器的精度(服务器名等)、同步的协议、主时钟191A所示的timezone等信息。因此,规定条件可以包含时刻的精度指标所表示的值为规定值这一条件。在判断为主时钟191A供给的时刻的精度满足规定条件时,在上述的时刻同步中,计数器126和213的计数器值与从主时钟191A接收的时刻对准地被调整。
与此相对,同步处理部114(或同步处理部216)在判断为从主时钟191A接收的时刻的精度不满足规定条件时,以CPU单元100及功能单元200中的一个单元所具有的内部时钟所管理的时刻为基准,使CPU单元100的计数器126及功能单元200的计数器213同步。在本实施方式中,使用RTC 128作为该内部时钟,但在功能单元200具有与RTC对应的内部时钟的情况下,也可以使用功能单元200的内部时钟作为基准时钟。
在本实施方式中,同步处理部114(或者同步处理部216)不限定主时钟191A管理的时刻的精度,例如能够从表示控制系统1的结构的配置信息取得。
(e3.时刻同步的另一安装例)
参照图9,控制系统1也可以还具有与CPU单元100及功能单元200不同的单元370,使单元370实施上述时刻同步处理。
单元370可以连接到信号线113和数据总线111。单元370具有硬件处理器,通过硬件处理器执行程序,使CPU单元100的计数器126和功能单元200的计数器213同步。具体而言,单元370当在信号线113中检测到时刻同步信号130时,经由数据总线111从计数器126和计数器213读出计数器值。单元370使用所读出的计数器值,如上述那样,以减小同步偏差的方式对计数器126以及213的计数器值进行校正。单元370经由数据总线111对各计数器设定校正后的计数器值。
如上所述,在各控制装置2中,使用主时钟191A的时刻,(i)在单元间实现时刻同步,并且(ii)在各单元和与该单元连接的设备间实现时刻同步,并且(iii)在CPU单元100中通过调度程序170实现与控制程序152、输入程序172以及输出程序174的执行相关的时刻同步。并且,通过各控制装置2实施使用了公共的主时钟191A的时刻同步,(iv)能够在不同的控制装置2间实现时刻同步。另外,在针对每个不同的工序具有控制装置2的情况下,能够在不同的工序间实施时刻同步。
<F.时刻换算信息和换算的例子>
图10是示意性地表示本实施方式的时刻换算信息30的一例的图。时刻换算信息30是在单元间共享、并包含与根据计数器的值计算实际时刻的换算相关的信息。例如,时刻换算信息30包含在单元间共享的换算式36和转换表35。在本实施方式中,单元间的换算式的共享使用图10所示的转换表35来实现。
换算式36例如是currentTOD=baseTOD+(currentCount-baseCount)。换算式36是如下式子:通过使用了控制用的计数器值的(currentCount-baseCount)来计算从基准时刻(baseTOD)起的经过时间,并对该计算值加上基准时刻(baseTOD),由此得到当前的实际时刻(currentTOD)。
参照图10,转换表35与表的要素31分别对应地包含该要素的说明32、模型/单位的例子33以及值的例子34。要素31包含例如“baseCount”、“baseTOD”、“timezone”和“timeSource”。“baseCount”和“baseTOD”表示换算式36的操作数。具体而言,“baseCount”是作为基准的控制用计数器值,在本实施方式中,表示CPU单元100的计数器126的计数器值。另外,“baseTOD”是与“baseCount”的值成对的值,在本实施方式中,表示CPU单元100的RTC 128的时钟值即TOD值。
CPU单元100的图11所示的时刻管理部117对换算式36的操作数(baseCount)及(baseTOD)分别设定从转换表35的要素31读出的值,并将控制用的计数器126的当前的计数器值设定为操作数(currentCount),由此根据换算式36计算表示当前的实际时刻的(currentTOD)的值。同样地,功能单元200的后述的换算信息管理部215对换算式36的操作数(baseCount)及(baseTOD)分别设定从转换表35的要素31读出的值,并将控制用的计数器213的当前的计数器值设定为操作数(currentCount),由此根据换算式36计算表示当前的实际时刻的(currentTOD)的值。另外,在运算中,实施单位的适当转换。
作为换算的一例,在转换表35和currentCount=333444555666的情形下,如下所述地换算当前的实际时刻。
currentTOD={秒=1558436425,纳秒=849614166}(=May2120:00:252019(JST))
另外,转换表35的要素31中的“timezone”和“timeSource”是与计数器的同步中使用的时钟所管理的时刻的精度相关的信息的一例,在换算时也能够作为选项信息来处理。
<G.时刻换算信息30的共享>
在本实施方式中,例如,主设备(例如CPU单元100)将时刻换算信息30发布至从设备(例如功能单元200),以使时刻换算信息30在各单元间共享。
图11是示意性地示出本实施方式的共享时刻换算信息30的结构的一例的图。在图11中,主设备(CPU单元100)例如连接有2台从设备(功能单元200)。另外,与主设备连接的从设备的台数为1台或多台。
主设备的换算信息管理部115将保存在二次存储装置108中的时刻换算信息30发布(发送)到各从设备(相当于图中的(1)发布)。该发布例如经由数据总线111来实施。从设备具有通过执行时刻管理程序26而实现的换算信息管理部215。换算信息管理部215接收从主设备发送的时刻换算信息30,存储在储存器208中,并且使用时刻换算信息30计算上述的当前时刻(currentTOD)。另外,换算信息管理部215以计算出的当前时刻来调整OS 27所具有的时间管理器214管理的当前时刻(相当于图中的(2)调整)。由此,在各从设备中,能够将OS 27管理的当前时刻更新为根据在单元间共享的时刻换算信息30计算出的当前时刻(currentTOD),其结果,能够使单元管理的当前时刻在单元间相互同步。
此外,在功能单元200具有与RTC 128对应的内部时钟,使主时钟191A与该内部时钟同步的情况下,功能单元200所具有的换算信息管理部成为主设备,管理时刻换算信息30,并向作为从设备的CPU单元100发布。
(g1.时刻换算信息30的共享的其他例子)
在本实施方式中,例如,为了在各单元间共享时刻换算信息30,被主设备发布时刻换算信息30的从设备并不限定于功能单元200。在这种从设备中,例如可包含功能单元300或现场设备90。图12是示意性地表示本实施方式的共享时刻换算信息30的结构的另一例的图。
在图12中,例如,示出了作为与主设备共享时刻换算信息30的单元而与网络110连接的现场设备90。
CPU单元100与经由网络110(例如EtherCAT(注册商标))而连接的现场设备90A、90B及90C相互进行时刻同步。更具体而言,CPU单元100的控制用的计数器119与现场设备90A、90B及90C的计数器91A、91B及91C相互进行时刻同步。在图12中,来自主设备的时刻换算信息30被发布至现场设备90B,但也可以发布至其他现场设备。
此外,在图12的情形下,共享的转换表35的要素31的“baseCount”和“baseTOD”成为该网络110的协议在设备间同步的时钟(例:EtherCAT中为DistributedClock(DC))值和与其对应的TOD值的对。
根据图12,CPU单元100经由数据总线111而与功能单元200之间收发数据,并且与连接于网络110的第3单元进行通信。同步处理部使CPU单元100所具有的计数器126与现场设备90所具有的控制用的计数器91同步。在图12中,作为CPU单元100的计数器126,示出了与该计数器126时刻同步的计数器119。现场设备90保存从CPU单元100发布的时刻换算信息30。由此,能够在CPU单元100、功能单元200及现场设备90之间使控制用的计数器同步,并且能够在单元间共享时刻换算信息30。
<H.用于参照当前时刻的结构>
图13、图14和图15是示意性地表示本实施方式的功能单元200的应用程序参照当前时刻的情形的图。功能单元的应用程序并无限定,例如可包含安全程序24。图13表示应用程序向OS 27询问当前时刻的情形,图14和图15表示应用程序向换算信息管理部215询问当前时刻的情形。
参照图13,当应用程序向OS 27询问当前时刻时(步骤(1)),OS 27的时间管理器214作为响应,将所管理的当前时刻回送给应用程序(步骤(2))。在图13的情形下,已有的应用程序能够在通常的接口取得当前时刻、即根据换算信息管理部215在单元间共享的时刻换算信息30计算出的当前时刻。
参照图14,当应用程序向换算信息管理部215询问当前时刻时(步骤(1)),换算信息管理部215从控制用的计数器213参照(读出)当前的计数器值(步骤(2)),将该计数器值用作(currentCount),根据转换表35和换算式36计算当前时刻(步骤(3)),并将计算出的当前时刻作为响应回送给应用程序(步骤(4))。在图14的情形下,在换算信息管理部215接收到询问时使用计数器231所示的计数器值(currentCount)来计算当前时刻,因此应用程序能够取得具有高精度的当前时刻。
在图15的情形下,换算信息管理部215在内部保持计数器213的当前计数器值和根据时刻换算信息30计算出的当前时刻,适当更新所保持的当前时刻(步骤(1))。换算信息管理部215在从应用程序接收到当前时刻的询问时(步骤(2)),将所保持的已计算的当前时刻作为响应回送给应用程序(步骤(3))。在图15的情形下,即使应用程序以较高的频度实施询问,换算信息管理部215也仅回复所保持的当前时刻(即,不需要在每次询问时计算当前时刻),因此能够避免换算信息管理部215对硬件(例如,计数器213)的高频率的访问。
此外,各单元可以提供按照图13~图15所示的情形的方法中的1个,或者也可以提供多个方法。
<I.与基准时钟精度对应的时刻换算信息30的共享>
图16是示意性地表示本实施方式的根据基准时钟的精度共享时刻换算信息30的结构的图。在图16中,示出了经由数据总线111与CPU单元100连接的例如2台功能单元200。2台功能单元200在图16中被区分为功能单元200A和功能单元200B,但这些功能单元具有同样的结构。在图16中,这些功能单元200中的功能单元200A与提供主时钟191A的外部的时刻服务器进行通信。图17是本实施方式的基准时钟的精度满足规定条件的情况下的处理的流程图。图18是本实施方式的基准时钟的精度不满足规定条件的情况下的处理的流程图。该基准时钟例如相当于主时钟191A,主时钟191A例如是装置/生产线管理装置190提供的TSN的最高级主时钟。
参照图17,适当地参照图9说明主时钟191A管理的时刻的精度满足规定条件的情况下的处理。在该情况下,时刻换算信息30是固定的。首先,图16的功能单元200A的同步处理部216(图9)与装置/生产线管理装置190之间实施时刻同步的协议(步骤S1)。例如,在步骤S1中,同步处理部216询问主时钟191A的当前时刻(实际时刻)(步骤S3),从设备/生产线管理装置190接收主时钟191A的当前时刻(步骤S5)。
同步处理部216取得同步的结果261(图16)(步骤S7),并将所取得的同步的结果261发送至CPU单元100(步骤S9)。该同步的结果261包含(与主时钟191A的实际时刻对应的计数器213的计数器值)。
CPU单元100的同步处理部114(图9)从功能单元200A接收同步的结果261(步骤S11),并分析接收到的同步的结果(步骤S13)。在分析中,同步处理部114将同步的结果261的实际时刻以及计数器值分别与转换表35的“baseTOD”以及“baseCount”的值进行比较,并基于比较的结果,调整(校正)计数器126(图9)的计数器值,以与外部的实际时间的经过同步(步骤S15)。在计数器126中设定校正(加法运算或减法运算)后的计数器值。
具体而言,同步处理部114针对时刻(TOD)以及计数器值分别计算当前保持的转换表35的要素31(baseCount、baseTOD)与本次取得的同步的结果261之差。
计算出的TOD之差、计数器值的差分之差(=TOD上的经过时间与计数器上的经过时间之差)成为控制用的计数器126的进展相对于作为外部时钟的主时钟191A的差分(提前、延迟)。同步处理部114对控制器的控制用计数器进行校正,以抵消计算出的控制用的计数器126的进展的差分。在校正中,以不对执行中的控制产生影响的方式,花费时间每次少量地进行减法运算或加法运算。另外,校正中也可以包含控制用的计数器126的速度本身的校正。
之后,以时刻同步信号130(图9)为触发,同步处理部114以及同步处理部216实施上述的时刻同步处理(步骤S17、S19)。以该时刻同步信号130为触发的时刻同步处理在功能单元200B的同步处理部216和CPU单元100的同步处理部114之间也同样地实施。
此外,步骤S15的处理在控制系统1启动后,在最初的时刻同步协议的执行时不实施。即,这是因为包含用于计算差分的换算式36的时刻换算信息30还没有保存在各单元中。此时,CPU单元100使用同步的结果261来更新包含换算式36的时刻换算信息30,并将更新后的时刻换算信息30发布至单元组,从而在单元间共享。
在图17中,通过使用同步的结果261对CPU单元100的控制用的计数器126进行校正,即通过计数器126与主时钟191A同步,能够使各单元的控制用的计数器与主时钟191A同步。通过定期地实施步骤S1的处理,能够使各单元的控制用的计数器与主时钟191A高精度地同步(减少同步偏差)。控制系统1能够从外部的精度高的时钟(主时钟191A)取得实际时刻,使系统整体的时刻以及控制用的计数器与其同步地进行动作。
与此相对,在图18的处理中,不实施使用了同步的结果261的控制用的计数器126的校正,换算信息管理部115(图9)基于同步的结果261更新(变更)转换表35。
参照图18,适当参照图9说明主时钟191A管理的时刻的精度不满足规定条件的情况下的处理。在该情况下,时刻换算信息30根据同步的结果261而被更新。首先,图16的功能单元200A的同步处理部216(图9)与装置/生产线管理装置190之间实施时刻同步的协议(步骤S1、S3、S5)。同步处理部216取得同步的结果261(图16)(步骤S7),并将所取得的同步的结果261发送至CPU单元100(步骤S9)。CPU单元100的同步处理部114(图9)从功能单元200A接收同步的结果261(步骤S11)。
换算信息管理部115基于接收到的同步的结果261来更新时刻换算信息30(步骤S21),并将更新后的时刻换算信息30发送(发布)至功能单元200A(步骤S23)。功能单元200的换算信息管理部215接收时刻换算信息30(步骤S25),利用接收到的更新后的时刻换算信息30来更新(覆盖)储存器208的原来的时刻换算信息30(步骤S27)。
然后,同步处理部114和同步处理部216使CPU单元100的计数器126与功能单元200的计数器213同步(步骤S24、S28)。
在上述的步骤S21中,换算信息管理部115分析同步的结果261,基于分析的结果,更新转换表35,并且更新RTC 128的当前时刻。例如使用小的调整量反复实施(花费时间实施)该更新,以不产生大的时刻变化。在此,在同步的结果261是仅时刻的形式的情况下,换算信息管理部115使用计数器126的当前的计数器值,将同步的结果261变更为(时刻、与该时刻对应的计数器值)。换算信息管理部115在转换表35中将由同步的结果261表示的时间和与该时间对应的计数器值分别设定为“baseTOD”和“baseCount”,对转换表35进行更新。
此外,在图18中,计数器的同步处理在时刻换算信息30的发布之后实施,但同步处理的实施定时并不限定于此。在功能单元200B与CPU单元100之间,也同样地实施上述时刻换算信息30的更新及共享所涉及的处理(步骤S23、S25、S27)、和将时刻同步信号130作为触发的时刻同步处理(步骤S24、S28)。
在图18中,使用同步的结果261,CPU单元100的RTC 128与主时钟191A的时间同步,即计数器126与主时钟191A同步。由此,通过使用了各单元中的时刻换算信息30的时刻换算处理,能够在单元间共享从主时钟191A取得的时刻。
此外,功能单元200B能够与具有主时钟191的外部的服务器进行通信,在该情况下,在功能单元200B中也能够实施与在功能单元200A中实施的处理(图17和图18)同样的处理。
<J.时间序列数据的处理>
图19是表示本实施方式的制造执行系统400的结构例的图。作为一例,制造执行系统400使用遵循通用架构的硬件(例如,通用个人计算机)来实现。
参照图19,制造执行系统400包含处理器402、主存储器404、输入部406、输出部408、储存器410、光学驱动器415、用于与外部装置进行通信的USB控制器420、以及连接网络13、14的网络接口413。这些组件经由处理器总线418连接。
处理器402由CPU、GPU等构成,读出储存器410所保存的程序,在主存储器404中展开并执行,由此实现后述的各种处理。
主存储器404由DRAM或SRAM等易失性存储装置等构成。储存器存410例如由HDD或SSD等非易失性存储装置等构成。
在储存器410中,除了用于实现基本功能的OS 412以外,还保存有用于提供作为制造执行系统400的功能的各种程序。各种程序包含DB管理程序411。另外,储存器410具有保存时间序列DB 450的区域。
输入部406由键盘、鼠标等构成,受理对制造执行系统400的用户操作。输出部408由显示器、各种指示器、打印机等构成,输出来自处理器402的处理结果。
制造执行系统400具有光学驱动器415,从非易失性地保存计算机可读取的程序的记录介质414(例如DVD(Digital Versatile Disc:数字多功能光盘)等光学记录介质)中读取保存于其中的程序,并安装于储存器410等。
在图19中,示出了通过处理器402执行程序来提供作为制造执行系统400所需的功能的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。
图20是表示通过执行图19的DB管理程序411而提供的DB管理器的图。参照图20,通过由处理器402执行DB管理程序411而提供的DB管理器451对时间序列DB 450进行管理(例如,DB的生成、汇总、编辑、分析、输出等)。
(J1.观测值的时刻同步)
图21和图22是表示本实施方式的控制装置2向制造执行系统400发送时间序列数据的情况下的处理例的示意图。图21表示未实施时刻同步处理的情形,图22表示实施时刻同步处理的情形。图23和图24是示意性地表示在本实施方式的控制装置2中生成的时间序列数据的帧的图。图25是示意性地表示本实施方式的时间序列DB 450的一例的图。
图21中示出控制装置2A、2B经由上位的网络13与制造执行系统400连接的结构。在图21所示的结构中,假设在控制装置2A与控制装置2B之间未进行时刻同步。
在各时间序列数据中包含控制装置2A、2B收集到的观测值以及与各观测值相对应的时刻。反过来说,在图21所示的结构中,控制装置2A、2B只能附加时刻作为表示各观测值的收集定时的信息。时刻由控制装置2A、2B分别管理,时刻同步不完全。
其结果,在由制造执行系统400收集的时间序列数据之间,时刻不完全一致,因此DB管理器451无法准确地对准定时来汇总(即,合并)各个时间序列数据。
与此相对,在图22所示的结构中,控制装置2A和控制装置2B具有上述的时刻同步的计数器以及基于时刻换算信息30换算出的时刻。其结果,在从控制装置2A、2B分别发送的时序数据的帧中,能够与在工序3A、3B中收集到的观测值相对应地,包含表示收集到各观测值的定时的时刻(例如,基于时刻换算信息30换算出的时刻)以及计数器值。这些帧的一个例子如图23和图24所示。在图23中,示出从控制装置2A发送到时间序列DB 450的时间序列数据的帧,在图24中,示出从控制装置2B发送到时间序列DB 450的时间序列数据的帧。
DB管理器451能够使用从控制装置2A、2B分别接收到的帧的时间序列数据所具有的计数器值或时刻,使时间序列数据所包含的观测值的定时一致。即,DB管理器451即使是由不同的控制装置2(不同的工序)分别收集到的观测值,也使时间轴大致完全一致地进行汇总,如图25所示,将汇总后的数据作为行数据保存在时间序列DB 450中。保存在时间序列DB 450中的行数据例如用于观测值的分析。
<K.优点>
在本实施方式中,各单元(功能单元200、CPU单元100、功能单元300、现场设备90)能够使用本单元所具有的已有的控制用的计数器,实现与主时钟191A的时刻同步以及单元间的时刻同步。在该情况下,各单元不需要安装以及执行特殊的时刻参照的协议(例如,具有对通信的所需时间波动进行补偿的结构的花费成本的协议)。
关于上述的时刻同步,如图16所示,控制用的计数器相互同步的单元组中的任意一台与外部的主时钟191A建立时刻同步的关系,由此相互时刻同步的单元全部能够共享相同的时刻(主时钟191A的时刻)。
各单元的控制用的计数器如果临时与主时钟191A时刻同步,则之后能够使其“计数器值”与主时钟191A的时刻独立。由此,即使存在外部的时刻服务器的有无、时刻服务器的时刻的管理精度低、时刻服务器提供的时刻的非连续的变更等与控制系统1相关的结构以及环境的变动,在控制系统1中,也能够将各单元的控制用的计数器维持为相互时刻同步的状态。这能够在控制系统1中维持稳定的控制动作。
<L.附记>
如上所述的本实施方式包含以下这样的技术思想。
[结构1]
一种控制系统(1),其是工厂自动化的控制系统,该控制系统(1)具有:
交换数据的第1单元(100)和第2单元(200);以及
同步单元(115、215、370),其使用时钟(191A、128),使所述第1单元所具有的控制用的计数器(126)与所述第2单元所具有的控制用的计数器(213)同步,
各单元具有信息保存单元(108、2018),所述信息保存单元(108、2018)用于保存在单元间共享的与换算相关的信息(30),所述换算是根据该单元的所述计数器的计数器值来计算时刻。
[结构2]
在结构1所记载的控制系统中,
所述时钟包含单元外的外部时钟(191A)、或所述第1单元和所述第2单元中的一个单元所具有的内部时钟(128)。
[结构3]
在结构2所记载的控制系统中,
所述同步单元在所述外部时钟所管理的时刻的精度满足规定条件时,与所述外部时钟的时刻对准来调整所述第1单元和所述第2单元的相互同步的计数器的值。
[结构4]
在结构2或3所记载的控制系统中,
所述同步单元在所述外部时钟所管理的时刻的精度不满足规定条件时,以所述内部时钟所管理的时刻为基准,使所述第1单元和所述第2单元的计数器同步。
[结构5]
在结构2~4中的任意一项所记载的控制系统中,
与所述换算相关的信息包含换算式(36),所述换算式(36)用于根据各单元的所述计数器值与基准计数器值之差、和与所述基准计数器值对应的基准时刻来换算实际时刻,
所述基准时刻包含所述时钟的时刻。
[结构6]
在结构5所记载的控制系统中,
所述一个单元具有管理和其他单元共享的、与所述换算相关的信息的管理单元(115、215),
所述管理单元根据所述控制用的计数器的同步中使用的所述时钟,更新所共享的与所述换算相关的信息。
[结构7]
在结构6所记载的控制系统中,
所述管理单元在所述外部时钟所管理的时刻的精度不满足规定条件时,以如下方式更新所述换算式:针对所述基准计数器值以及所述基准时刻分别设定所述一个单元的所述计数器值以及与该计数器值对应的所述内部时钟的时刻。
[结构8]
在结构2~7中的任意一项所记载的控制系统中,
所述第1单元经由数据总线(111)与所述第2单元交换数据,
所述控制系统具有与所述一个单元进行网络(110)连接的第3单元(90),
所述同步单元进一步使所述一个单元所具有的所述计数器与所述第3单元所具有的控制用的计数器(91)同步,
所述第3单元保存在单元间共享的与所述换算相关的信息。
[结构9]
在结构1~8中的任意一项所记载的控制系统中,
与所述换算相关的信息包含与所述计数器的同步中使用的时钟所管理的时刻的精度相关的信息。
[结构10]
在结构1~9中的任意一项所记载的控制系统中,
所述各单元按照共享的与所述换算相关的信息,根据所述计数器的计数器值换算所述时刻,
所述各单元针对从应用程序受理的所述时刻的询问,输出包含换算出的所述时刻的响应。
[结构11]
在结构10所记载的控制系统中,
在受理了所述询问时实施所述换算。
[结构12]
在结构10或11所记载的控制系统中,
所述各单元保存换算出的所述时刻,
所述响应包含所保存的所述换算出的时刻。
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书、而不由上述的说明来表示,意在包含与权利要求书等同的意思以及范围内的所有变更。
标号说明
1:控制系统;2:控制装置;11、12、13、14、110:网络;23:计数器同步程序;24:安全程序;25、178:校正程序;26:时刻管理程序;30:时刻换算信息;35:转换表;36:换算式;90:现场设备;91A、119、121、124、125、126、168、213、231:计数器;100:CPU单元;370:单元;111、112:数据总线;113:信号线;114、216:同步处理部;115、215:换算信息管理部;130:时刻同步信号;177:时刻同步程序;179:换算信息管理程序;200:功能单元;205:信号发生器;261:同步的结果。

Claims (12)

1.一种控制系统,其是工厂自动化的控制系统,其中,该控制系统具有:
交换数据的第1单元和第2单元;以及
同步单元,其使用时钟,使所述第1单元所具有的控制用的计数器与所述第2单元所具有的控制用的计数器同步,
各单元具有信息保存单元,所述信息保存单元用于保存在单元间共享的与换算相关的信息,所述换算是根据该单元的所述计数器的计数器值来计算时刻。
2.根据权利要求1所述的控制系统,其中,
所述时钟包含单元外的外部时钟、或所述第1单元和所述第2单元中的一个单元所具有的内部时钟。
3.根据权利要求2所述的控制系统,其中,
所述同步单元在所述外部时钟所管理的时刻的精度满足规定条件时,与所述外部时钟的时刻对准来调整所述第1单元和所述第2单元的相互同步的计数器的值。
4.根据权利要求2或3所述的控制系统,其中,
所述同步单元在所述外部时钟所管理的时刻的精度不满足规定条件时,以所述内部时钟所管理的时刻为基准,使所述第1单元和所述第2单元的计数器同步。
5.根据权利要求2至4中的任意一项所述的控制系统,其中,
与所述换算相关的信息包含换算式,所述换算式用于根据各单元的所述计数器值与基准计数器值之差、和与所述基准计数器值对应的基准时刻来换算实际时刻,
所述基准时刻包含所述时钟的时刻。
6.根据权利要求5所述的控制系统,其中,
所述一个单元具有管理和其他单元共享的、与所述换算相关的信息的管理单元,
所述管理单元根据所述控制用的计数器的同步中使用的所述时钟,更新所共享的与所述换算相关的信息。
7.根据权利要求6所述的控制系统,其中,
所述管理单元在所述外部时钟所管理的时刻的精度不满足规定条件时,以如下方式更新所述换算式:针对所述基准计数器值以及所述基准时刻分别设定所述一个单元的所述计数器值以及与该计数器值对应的所述内部时钟的时刻。
8.根据权利要求2至7中的任意一项所述的控制系统,其中,
所述第1单元经由数据总线与所述第2单元交换数据,
所述控制系统具有与所述一个单元进行网络连接的第3单元,
所述同步单元进一步使所述一个单元所具有的所述计数器与所述第3单元所具有的控制用的计数器同步,
所述第3单元保存在单元间共享的与所述换算相关的信息。
9.根据权利要求1至8中的任意一项所述的控制系统,其中,
与所述换算相关的信息包含与所述计数器的同步中使用的时钟所管理的时刻的精度相关的信息。
10.根据权利要求1至9中的任意一项所述的控制系统,其中,
所述各单元按照共享的与所述换算相关的信息,根据所述计数器的计数器值换算所述时刻,
所述各单元针对从应用程序受理的所述时刻的询问,输出包含换算出的所述时刻的响应。
11.根据权利要求10所述的控制系统,其中,
在受理了所述询问时实施所述换算。
12.根据权利要求10或11所述的控制系统,其中,
所述各单元保存换算出的所述时刻,
所述响应包含所保存的所述换算出的时刻。
CN202080082096.4A 2019-12-25 2020-12-01 控制系统 Pending CN114761889A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019234534A JP7375532B2 (ja) 2019-12-25 2019-12-25 制御システム
JP2019-234534 2019-12-25
PCT/JP2020/044659 WO2021131530A1 (ja) 2019-12-25 2020-12-01 制御システム

Publications (1)

Publication Number Publication Date
CN114761889A true CN114761889A (zh) 2022-07-15

Family

ID=76573905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080082096.4A Pending CN114761889A (zh) 2019-12-25 2020-12-01 控制系统

Country Status (5)

Country Link
US (1) US20230023970A1 (zh)
EP (1) EP4083726A4 (zh)
JP (1) JP7375532B2 (zh)
CN (1) CN114761889A (zh)
WO (1) WO2021131530A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023058938A (ja) * 2021-10-14 2023-04-26 株式会社日立製作所 制御装置、制御システム、及び時刻同期方法
WO2023238410A1 (ja) * 2022-06-10 2023-12-14 日本電信電話株式会社 制御装置、制御方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6465620B2 (ja) * 2014-10-31 2019-02-06 ヤマハ発動機株式会社 制御システムおよび制御方法
US10585410B2 (en) 2015-11-05 2020-03-10 Mitsubishi Electric Corporation Functional unit and control apparatus wherein a functional unit synchronized with another functional unit on basis of an outside trigger signal having a synchronized period
DE102016104767B4 (de) * 2016-03-15 2017-10-12 Pilz Gmbh & Co. Kg Vorrichtung und Verfahren zum Steuern einer automatisierten Anlage
JP6504190B2 (ja) 2017-03-14 2019-04-24 オムロン株式会社 制御装置および情報処理方法
JP6698578B2 (ja) 2017-04-19 2020-05-27 三菱電機株式会社 アンテナ位置計測装置
JP6648730B2 (ja) 2017-05-09 2020-02-14 オムロン株式会社 制御装置、タイムスタンプ修正方法およびプログラム
JP6984482B2 (ja) 2018-02-22 2021-12-22 オムロン株式会社 通信システム、通信装置および通信方法
JP6608019B2 (ja) * 2018-09-10 2019-11-20 三菱電機株式会社 機能ユニット及び制御装置
DE102020202690B3 (de) * 2020-03-03 2021-07-15 Zf Friedrichshafen Ag Synchronisieren eines Slave-Zeitgebers mit einem Master-Zeitgeber
DE102021111071B4 (de) * 2021-04-29 2023-03-30 Technische Universität Chemnitz - Körperschaft des öffentlichen Rechts Verfahren zum Abgleich und/oder zur Synchronisation von Zählerwerten von zumindest zwei Geräten, Gerät und Anordnung von Geräten

Also Published As

Publication number Publication date
JP2021103439A (ja) 2021-07-15
EP4083726A1 (en) 2022-11-02
EP4083726A4 (en) 2024-01-10
US20230023970A1 (en) 2023-01-26
JP7375532B2 (ja) 2023-11-08
WO2021131530A1 (ja) 2021-07-01

Similar Documents

Publication Publication Date Title
WO2021002421A1 (ja) 制御システム
CN108572613B (zh) 控制装置、信息处理方法
JP6399136B1 (ja) 制御装置、制御プログラム、および制御システム
CA2804954C (en) Machines, computer program products, and computer-implemented methods providing an integrated node for data acquisition and control
CN111034128B (zh) 控制系统以及控制装置
CN114761889A (zh) 控制系统
US8315736B2 (en) Method and apparatus for picking/packing applications
KR101726743B1 (ko) 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법
JP2021506037A (ja) ネットワークカード、時刻同期方法および装置、並びにコンピュータ記憶媒体
US11977362B2 (en) Control device and distributed control system
CN105763641A (zh) 一种EtherCAT主站控制系统的快速时钟同步方法
WO2021002059A1 (ja) 制御システム、設定装置およびコンピュータプログラム
WO2020184086A1 (ja) 制御システム
CN112068501A (zh) 具有现代架构和传统兼容性的过程控制设备
US11003631B2 (en) Apparatus and method for implementing process control redundancy using operating system (OS) file system support
US20190229885A1 (en) Computing device and control system
Huang et al. Research on software synchronization method of real-time ethernet distributed motion control system
CN114600416B (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