一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制系统的制作方法

2022-02-24 14:10:22 来源:中国专利 TAG:


1.本公开涉及fa(factory automation:工厂自动化)的控制系统。


背景技术:

2.在各种生产现场,使用了plc(可编程逻辑控制器)等控制装置的fa技术已广泛普及。这样的控制装置经由总线或网络与1个或多个设备之间收发数据。
3.随着控制系统的高功能化,执行相互独立的控制处理的多个控制装置经由网络连接的结构也正在实现。例如,在日本特开2015-118505号公报(专利文献1)中,公开了在控制器级网络上连接有多个控制装置的控制系统。多个输入输出装置分别经由设备级网络与多个控制装置连接。各控制装置将从多个输入输出装置取得的输入值经由控制器级网络发送到服务器。
4.另外,在日本特开2014-146877号公报(专利文献2)中,第1通信装置和第2通信装置通过pcie线缆if连接。关于时刻同步的校正量计算,从第1通信装置向第2通信装置发送时刻请求分组,并且从第2通信装置向第1通信装置发送时刻响应分组。
5.现有技术文献
6.专利文献
7.专利文献1:日本特开2015-118505号公报
8.专利文献2:日本特开2014-146877号公报


技术实现要素:

9.发明所要解决的课题
10.在专利文献1中,多个控制装置执行相互独立的控制处理,因此在1个控制装置与其他控制装置之间,无法使对在设备中收集或生成的数据(输入数据)进行收集的定时或将针对设备的指令等数据(输出数据)发送到对象设备的定时相互同步。
11.另外,为了使与上述1个控制装置连接的设备和与上述其他控制装置连接的设备联动地进行动作,需要在这些控制装置之间交换各个设备的信息,但无法使收集输入数据的定时或将输出数据输出的定时相互同步,因此难以在多个设备之间使控制定时同步。
12.在专利文献2中,关于这样的定时的同步,提供运算时刻同步的校正量的单元,但作为时刻同步的过程,需要时刻请求分组和时刻响应分组的交换。因此,同步过程复杂,另外,分组的通信时间和包含校正的时刻同步的处理花费时间。
13.本公开的1个目的在于提供一种简化单元间的时刻同步所涉及的处理,并且缩短处理所花费的时间的结构。
14.用于解决课题的手段
15.本公开的一例的工厂自动化用的控制系统具有:分别具有定时器的第1单元和第2单元;数据线,其用于在第1单元与第2单元之间,交换包含上述定时器所表示的定时器值的数据;信号线,其将第1单元和第2单元电连接;以及调整单元,其与信号线和数据线连接,调
整单元在经由信号线接收到触发信号时,经由数据线取得定时器值,并基于所取得的定时器值,使第2单元的定时器与第1单元的定时器对准。
16.根据本公开,能够以触发信号为契机来实施使单元间的定时器对准这样的与时刻同步相关的调整。另外,调整单元在被提供触发信号时,取得在单元间的数据线中传输的定时器值,并基于所取得的定时器值,使第2单元的定时器与第1单元的定时器对准。
17.因此,能够通过触发信号简单地决定使定时器对准的时期。另外,调整单元能够通过使用在数据线中传输的定时器值来使定时器对准。由此,不需要为了使定时器对准这样的时刻同步而在单元间进行定时器值的请求/响应的通信会话,因此能够相应地缩短定时器对准所花费的时间。
18.在上述公开中,第1单元和第2单元中的一方将触发信号传输到信号线。
19.根据本公开,触发信号的传输源也可以是第1单元和第2单元中的任意一个。因此,第1单元和第2单元中的任意一方能够决定实施校正处理的时期。
20.在上述公开中,控制系统还具有与第1单元以及第2单元不同的将触发信号传输到信号线的单元。
21.根据本公开,能够使与第1单元以及第2单元不同的其他单元实施触发信号的传输。
22.在上述公开中,调整单元设置于第1单元和第2单元中的一方。
23.根据本公开,能够使第1单元和第2单元中的任意一方实施对准定时器这样的用于时刻同步的处理。
24.在上述公开中,控制系统还具有与第1单元以及第2单元不同的具备调整单元的单元。
25.根据本公开,能够使与第1单元以及第2单元不同的其他单元实施对准定时器这样的用于时刻同步的处理。因此,能够避免将该处理的负荷施加于第1单元和第2单元。
26.在上述公开中,调整单元在经由信号线接收到触发信号时,使用经由数据线取得的定时器值,取得第1单元的定时器的定时器值与第2单元的定时器的定时器值之差,并使用基于所取得的差的调整值,调整第2单元的定时器的定时器值,由此使第2单元的定时器与第1单元的定时器对准。
27.根据本公开,能够基于第1单元的定时器的定时器值与第2单元的定时器的定时器值之差即同步偏差的大小,决定对准定时器这样的用于时刻同步的调整所使用的调整值。例如,能够实施同步偏差越大则越增大调整值的调整。
28.在上述公开中,调整单元根据每次接收到触发信号时检测出的上述差的大小变化趋势来决定调整值。
29.根据本公开,能够基于上述差所表示的同步偏差的大小变化趋势来决定调整值。例如,当处于同步偏差变大的趋势时,能够实施增大调整值的调整。
30.在上述公开中,控制系统还具有与第1网络连接的多个控制装置,多个控制装置分别包含第1单元和第2单元,多个控制装置通过经由第1网络接收的公共的时刻且定时器间的同步所使用的时刻而相互同步。
31.根据本公开,能够在包含第1单元和第2单元的控制装置间使时刻相互同步,而且在各控制装置中,能够在单元间使用同步的定时器来使该时刻同步。因此,能够使各控制装
置与各控制装置所具有的各单元相互同步。
32.在上述公开中,控制系统还具有:经由比第1网络下位的第2网络与多个控制装置分别连接的1个或多个设备;以及在多个控制装置之间相互同步的同步定时器,控制装置和与该控制装置的第2网络连接的1个或多个设备通过同步定时器的定时器值而相互同步。
33.因此,能够使各控制装置、各控制装置所具有的各单元以及与各控制装置连接的各设备相互同步。
34.发明的效果
35.根据本公开,简化单元间的时刻同步所涉及的处理,并且缩短处理所花费的时间。
附图说明
36.图1是表示本实施方式的控制系统1的应用场景的一例的示意图。
37.图2是表示本实施方式的控制系统1的整体结构的一例的示意图。
38.图3是表示本实施方式的控制系统1的网络结构例的示意图。
39.图4是表示本实施方式的控制系统1的数据通信处理的示意图。
40.图5是表示本实施方式的控制装置2的单元的结构例的示意图。
41.图6是表示本实施方式的控制装置2所包含的cpu单元100的硬件结构例的框图。
42.图7是表示本实施方式的控制装置2所包含的功能单元200的硬件结构例的框图。
43.图8是表示本实施方式的控制装置2所包含的功能单元300的硬件结构例的框图。
44.图9是表示本实施方式的cpu单元100的软件结构例的框图。
45.图10a是示意性地表示本实施方式的控制装置2所管理的用于时刻同步的结构的一例的图。
46.图10b是示意性地表示本实施方式的控制装置2所管理的用于时刻同步的结构的一例的图。
47.图11是表示本实施方式的处理的流程图的一例的图。
48.图12是表示本实施方式的制造执行系统400的结构例的图。
49.图13是表示通过执行图12的db管理程序411而提供的db管理器的图。
50.图14a是表示本实施方式的控制装置2向制造执行系统400发送时间序列数据的情况下的处理例的示意图。
51.图14b是表示本实施方式的控制装置2向制造执行系统400发送时间序列数据的情况下的处理例的示意图。
52.图15是示意性地表示在本实施方式的控制装置2中生成的时间序列数据的帧的图。
具体实施方式
53.参照附图详细说明本发明的实施方式。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
54.<a.应用例>
55.参照图1,对应用本发明的场景的一例进行说明。图1是表示本实施方式的控制系统1的应用场景的一例的示意图。本实施方式的控制系统1是工厂自动化用的控制系统,具
有多个控制装置2a、2b、2c。各控制装置对包含现场设备90(90a、90b、90c、90d、90e、90f、90i)在内的任意的控制对象(例如,制造装置或设备)进行控制。各控制装置具有同样的结构,因此以控制装置2a为代表进行说明。
56.在控制系统1中,各控制装置2a包含:各自具有定时器的cpu单元100和功能单元200;数据总线111,其用于在cpu单元100与功能单元200之间交换数据;以及信号线113,其将cpu单元100与功能单元200电连接。使用功能单元200的计数器oc1所表示的定时器值及cpu单元100的计数器dc2所表示的定时器值来实施时刻同步。
57.具体而言,例如在启动时,功能单元200取得从主时钟191a取得的绝对时刻,并将与取得的绝对时刻同步的值设定于计数器oc1。计数器值oc1的值经由数据总线111传输到cpu单元100,在cpu单元100中,计数器值oc1的值即定时器值被设定于计数器dc2。之后,cpu单元100使用内部的硬件电路的输出来周期性地更新(递增或递减)计数器dc2的值。
58.启动后,功能单元200定期地基于从主时钟191a取得的绝对时刻来更新计数器oc1的值。功能单元200经由数据总线111周期性地传输计数器oc1的值即定时器值。
59.当经由信号线113被提供触发信号时,实施用于使时刻同步的校正处理。具体而言,cpu单元100在经由信号线113接收到时刻同步信号时,锁存(接收)在数据总线111中传输的计数器oc1所表示的定时器值,并取得(锁存)cpu单元100的计数器dc2所表示的定时器值。cpu单元100基于这些取得到的定时器值,使cpu单元100的定时器(计数器dc2)与功能单元200的定时器(计数器oc1)对准。即,cpu单元100计算所取得的所述两个定时器值的差、即时刻同步的偏差,并对计数器dc2的值进行校正,以减小所计算出的同步偏差。在本实施方式中,定时器值或计数器值的校正是包含使得时刻同步偏差减小那样的定时器值调整的概念。
60.由此,例如即使因功能单元200或cpu单元100所具有的硬件电路的误差等而产生同步偏差,也能够使计数器dc2的值与计数器oc1的值、即主时钟191a时刻同步。
61.另外,在各控制装置2中,为了对用于控制现场设备90等各种设备的控制程序、以及用于经由网络110与现场设备90交换数据的输入输出程序等进行调度,参照计数器dc2的定时器值。因此,在各控制装置2中,能够与时刻同步于主时钟191a的计数器dc2的定时器值同步地实施这样的调度。
62.在各控制装置2中,能够以触发信号为契机实施单元间的时刻同步所涉及的校正处理。例如通过周期性地传输作为触发信号的时刻同步信号,能够周期性地实施用于对计数器dc2的值进行校正以消除(或者减小)同步偏差的校正处理。
63.如上所述,控制装置2a、2b以及2c具有进行了时刻同步的计数器oc1和计数器dc2(相当于图中的时刻同步(2))。
64.计数器oc1与公共的定时器191a时刻同步,因此能够在多个控制装置2a、2b以及2c之间相互进行时刻同步(相当于图中的时刻同步(1))。另外,控制装置2a、2b及2c各自所具有的计数器dc2与经由网络110连接的1个或多个现场设备90所具有的定时器91a、91b、91c、91d、91e、91f、91g、91h、91i(以下,统称为定时器91a~91i)进行时刻同步。其结果,控制装置2a、2b及2c与现场设备90a~90i相互进行时刻同步(相当于图中的时刻同步(3))。由此,能够使控制系统1整体的设备彼此与主时钟191a的时刻同步。
65.以下,对本实施方式的更具体的应用例进行说明。
66.在以下的说明中,作为“控制装置”的典型例,以plc(可编程控制器)为具体例进行说明,但并不限定于plc的名称,本说明书所公开的技术思想能够应用于任意的控制装置。另外,以下也将包含plc(控制装置)的系统整体称为“控制系统”。
67.<b.控制系统的整体结构>
68.首先,对能够应用于本实施方式的fa(factory automation:工厂自动化)的控制系统的整体结构进行说明。图2是表示本实施方式的控制系统1的整体结构的一例的示意图。
69.参照图2,在控制系统1中,网络连接为多个级别,对各级别的网络分别分配不同的功能。具体没有限定,例如设置有4个级别的网络11~14。
70.网络11是控制级的网络。网络11连接有多个控制装置2a、2b和2c(以下,有时也统称为“控制装置2”。)、装置/生产线管理装置190以及提供scada(supervisory control and data acquisition:监督控制和数据采集)功能的显示装置280,在网络11中形成能够在装置间交换数据的数据链路。装置/生产线管理装置190以及显示装置280相当于与网络连接的装置以及管理生产线的设备。网络11主要提供与控制系统相关的信息的传输作为主要功能。
71.在控制装置2上连接有传感器、致动器这样的各种现场设备90。这些现场设备90有时也经由安装于控制装置2的输入输出单元与控制装置2直接连接,有时也经由网络110与控制装置2连接。在图2所示的结构例中,控制装置2连接于1个或多个网络110。在各网络110上连接有1个或多个现场设备90。1个或多个现场设备90分别包含对制造装置或生产线等(以下,也统称为“现场”。)赋予某种物理作用的致动器、及与现场之间交换信息的输入输出装置等。因此,在图2所示的控制系统1中,除了网络11~14这4个级别以外,还追加了现场级的网络110。
72.经由网络110,在控制装置2与现场设备90之间交换的数据以几百μsec级~几十msec级的极短周期被更新。另外,此种交换的数据的更新处理也称为输入输出刷新处理。
73.网络12作为管理级的网络而被提供。在网络12上连接有对装置以及生产线进行管理的装置/生产线管理装置190、对制造计划等进行管理的制造管理装置380以及390。装置/生产线管理装置190、制造管理装置380及390经由网络12来交换制造计划等管理信息、及装置或生产线的信息。
74.网络13被提供为计算机级网络。在网络13上连接有制造管理装置380和390、以及管理时间序列db(数据库的简称)450的制造执行系统(ems:manufacturing execution system)400。制造管理装置380和390以及制造执行系统400经由网络13交换生产管理和信息系统的数据。
75.制造执行系统400将经由网络13收集的来自现场设备90的输入值即观测值作为按照观测到的顺序的时间序列的数据而保存到时间序列db 450。
76.具体而言,在本实施方式中,控制装置2具有生成包含所指定的观测值的帧的功能。控制装置2将所生成的帧经由网络11、12以及13传送到制造执行系统400。制造执行系统400将从控制装置2接收到的观测值的帧按照时间序列保存在时间序列db 450中。
77.在本实施方式中,也将保存在时间序列db 450中的数据称为“时间序列数据”。在本实施方式中,“时间序列数据”是指连续地(或者隔开一定间隔不连续地)观测关于任意对
象的数据(观测值)的时间性变化而得到的一系列的值。
78.在本说明书中,“观测值”是对在基于控制装置2的控制运算中能够利用的值(实际值)进行统称的概念,典型地,能够包含从控制对象取得并输入到控制运算的值(从现场取得的测量值等)、通过控制运算基于所取得的输入值而决定的针对控制对象的输出值(对现场给出的指令值等)、在控制运算的过程中计算的运算值(任意的变量值)等。即,“观测值”包含能够在控制装置2中作为数据保存、或者能够从控制装置2作为数据向外部输出的任意的值。
79.网络14包含因特网等外部网络。在网络14上连接有制造执行系统400和云上的外部装置等。制造执行系统400通过与云上的装置交换数据,将时间序列db 450的数据传送到云上的装置。
80.控制装置2可连接支持装置500。支持装置500是辅助控制装置2对控制对象进行控制所需的准备的装置。
81.与控制系统1的网络11连接的控制装置2a、2b及2c分别用于不同的工序3a、3b及3c。虽然没有限定,但例如工序3a表示产品(工件)的组装工序,工序3b表示组装后的产品的涂装工序,工序3c表示涂装后的产品的检查工序。
82.在图2所示的控制系统1中,网络12以及处于其以下的级别的网络11以及网络110也被称为“工厂网络”,提供对用于现实地控制设备的数据(以下,有时也统称为“控制系统数据”)进行交换的控制系统通信。另一方面,网络13以及处于其以上的级别的网络14也被称为“公司网络”,提供对用于监视、管理、控制生产线/工厂中的生产活动等的数据(以下,有时也统称为“信息系统数据”)进行交换的信息系统通信。
83.在网络11~14以及网络110中,采用与这样的所要求的特性差异相应的协议以及架构。例如,作为属于工厂网络的网络11及12的协议,也可使用在通用的ethernet(注册商标)上安装有控制用协议的工业用开放网络即ethernet/ip(注册商标)。另外,作为网络110的协议,也可采用作为机器控制用网络的一例的ethercat(注册商标)。另外,网络11的协议(第1协议)和网络110的协议(第2协议)可以相同或不同。通过采用适合于这样的机器控制的网络技术,能够提供保证了设备间的传输所需的时间的实时性。
84.与此相对,作为属于公司网络的网络13以及14的协议,为了确保连接目的地的多样性,使用通用的ethernet等。通过采用通用的ethernet,能够排除可发送的数据量等限制。
85.<c.控制系统1中的时刻同步>
86.在图1所示的工厂网络中,与网络11连接的多个控制装置2a、2b以及2c分别与经由网络110连接的1个或者多个现场设备90之间收发数据。具体而言,控制装置2执行对在现场设备90中收集或生成的数据(输入数据)进行收集的处理(输入处理)、生成针对现场设备90的指令等数据(输出数据)的处理(运算处理)、以及将生成的输出数据发送到对象现场设备90的处理(输出处理)等。
87.在网络110中,需要保证数据的到达时间。因此,控制装置2具有对数据传输的定时进行规定的、在收发数据的主体(即,1个或多个现场设备90)之间相互进行了时刻同步的定时器。
88.然而,在多个控制装置2之间未取得时刻同步的情况下,例如,与1个控制装置2连
接的现场设备90和与其他控制装置2连接的现场设备90之间无法时刻同步。其结果,可能产生输入输出刷新处理的定时不一致的情况,因此难以使与互不相同的控制装置2连接的多个现场设备90联动地进行动作。
89.因此,在本实施方式的控制系统1中,使多个控制装置2各自所具有的定时器相互进行时刻同步。由此,实现与互不相同的控制装置2连接、即不同的工序间的多个现场设备90的协调控制。
90.以下,对本实施方式的控制系统1所提供的时刻同步功能进行说明。
91.(c1.网络结构例)
92.接着,对本实施方式的控制系统1的网络结构例进行说明。图3是表示本实施方式的控制系统1的网络结构例的示意图。
93.图3所示的控制系统1具有多个控制装置2a、2b以及2c和多个现场设备90a~90i。作为一个例子,控制系统1的至少一部分控制装置采用菊花链连接的网络。控制装置2a、2b及2c分别作为管理对应的网络110内的数据传输的主设备发挥功能。现场设备90a~90i作为按照来自对应的主设备的指令进行数据传输的从设备发挥功能。
94.控制装置2a、2b以及2c与控制级别的网络11(上位的网络)连接。网络11例如与装置/生产线管理装置190连接。
95.在与控制装置2a连接的网络110上以菊花链的方式依次连接有现场设备90a、90b、90c,在与控制装置2b连接的网络110上以菊花链的方式依次连接有现场设备90d、90e、90f,在与控制装置2c连接的网络110上以菊花链的方式依次连接有现场设备90g、90h、90i。
96.在网络110内,控制装置2及1个或多个现场设备90均可视为具有数据传输功能的通信装置。在图3所示的例子中,控制装置2以及1个或多个现场设备90分别具有如下功能:当从相邻地连接的某个通信装置接收到在网络上传输的数据时,根据需要将该数据向相邻地连接的其他通信装置传输。
97.在本实施方式的控制系统1中,在连接于网络110的多个通信装置、即控制装置2及1或多个现场设备90之间,收发定时同步(相当于图中的时刻同步(3))。具体而言,控制装置2及1个或多个现场设备90分别具有相互进行了时刻同步的定时器(或者,同步地递增或递减的计数器)。控制装置2及1个或多个现场设备90分别按照它们的时刻同步的定时器或计数器,决定数据的发送或接收的定时。
98.另外,在本实施方式中,“定时”表示发生某种现象的时期、时间或时刻的概念。另外,“时刻同步”表示使彼此具有的定时器、时间数据等同步。
99.在图3所示的例子中,定时器101a、101b以及101c分别与计数器oc1(参照图1)对应,定时器102a、102b以及102c分别与计数器dc2(参照图1)对应。参照图3,更具体地说明图1所示的时刻同步(1)、(2)以及(3)。
100.控制装置2a具有定时器102a,现场设备90a、90b、90c分别具有定时器91a、91b、91c。控制装置2a的定时器102a作为主设备发挥功能,现场设备90a、90b、90c的定时器91a、91b、91c以该主设备为基准使定时同步。例如,在定时器91a、91b、91c中设定基于定时器102a的定时器值的值。
101.控制装置2b具有定时器102b,现场设备90d、90e、90f分别具有定时器91d、91e、91f。控制装置2b的定时器102b作为主设备发挥功能,现场设备90d、90e、90f的定时器91d、
91e、91f以该主设备为基准使定时同步。例如,在定时器91d、91e、91f中设定基于定时器102b的定时器值的值。
102.控制装置2c具有定时器102c,现场设备90g、90h、90i分别具有定时器91g、91h、91i。控制装置2c的定时器102c作为主设备发挥功能,现场设备90g、90h、90i的定时器91g、91h、91i以该主设备为基准使定时同步。例如,在定时器91g、91h、91i中设定基于定时器102c的定时器值的值。
103.即,控制装置2a、2b及2c分别作为对对应的网络110内的数据传输进行管理的主设备发挥功能,与各控制装置2连接的现场设备90作为按照来自主设备的指令进行数据传输的从设备发挥功能。通过在主设备与从设备之间使定时器相互时刻同步,能够在构成网络110的控制装置2与现场设备90之间使数据的传输定时等相互一致。
104.在图3所示的例子中,控制装置2a还具有与定时器102a时刻同步的定时器101a。控制装置2b还具有与定时器102b时刻同步的定时器101b。控制装置2c还具有与定时器102c时刻同步的定时器101c(相当于图中的时刻同步(2))。在控制系统1中,例如能够使定时器101a、101b及101c中的任意一个作为控制系统1整体的主设备发挥功能。
105.作为一例,在图3中,控制装置2a的定时器101a被设定为主设备,控制装置2b、2c的定时器与该主设备时刻同步。由此,能够在多个控制装置2a、2b以及2c之间相互进行时刻同步(相当于图中的时刻同步(1))。
106.这样,多个控制装置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)相互进行时刻同步。
107.此外,在图2中,对将任意一个控制装置2的定时器设定为主设备的结构例进行了说明,但也可以将经由网络11从外部取得的时刻作为主设备,或者也可以将装置/生产线管理装置190等外部装置的定时器作为主设备。
108.(c2.时刻同步的数据通信)
109.图4是表示本实施方式的控制系统1的数据通信处理的示意图。参照图4,在与网络110连接的控制装置2a和多个现场设备90a~90c之间,按照预先确定的系统周期来交换数据。
110.在控制装置2b与多个现场设备90d~90f之间、以及控制装置2c与多个现场设备90g~90i之间,也按照系统周期来交换数据。通过这样的数据交换,实现控制装置2及现场设备90的控制动作。在以下的说明中,也将网络110上的通信称为“下位网络(nw)通信”。
111.在与上位的网络11连接的控制装置2a、2b以及2c之间,按照预先确定的系统周期,交换各控制装置2通过输入处理从现场设备90收集到的数据、通过运算处理生成的输出数据等。通过这样的数据交换,能够使与控制装置2a连接的现场设备90、与控制装置2b连接的现场设备90以及与控制装置2c连接的现场设备90联动地进行动作。即,能够在不同的工序间使现场设备90联动地动作。在以下的说明中,也将网络11上的通信称为“上位的网络(nw)
通信”。
112.在本实施方式的控制系统1中,应开始下位网络通信中的数据传输的定时是基于在多个控制装置2a、2b及2c之间相互时刻同步的定时器来决定的。由此,在多个控制装置2a、2b及2c之间,能够使与现场设备90之间交换数据的定时等相互一致,因此结果是,能够在不同的工序间使现场设备90的控制定时同步。
113.<d.控制装置2的结构和时刻同步>
114.图5是表示本实施方式的控制装置2的单元的结构例的示意图。参照图5,控制系统1所具有的控制装置2包含cpu(central processing unit:中央处理器)的单元100(以下称为cpu单元100)、1个或多个功能单元200、及1个或多个功能单元300。在图5中,将控制装置2所具有的功能单元300设为4台,但也可以是1台或2台以上,另外,将控制装置2所具有的功能单元200设为1台,但也可以是2台以上。cpu单元100经由信号线113将1个或多个功能单元200与数据总线111连接。另外,cpu单元100经由数据总线112连接1个或多个功能单元300。
115.数据总线111不受限定,例如是遵循pcie(pci express(外围组件互连快速))的i/o串行接口的总线。信号线113是光纤线缆或电信号线缆,传输作为触发信号的时刻同步信号130。
116.cpu单元100具有执行根据控制对象而创建的程序的程序执行部。更具体而言,cpu单元100相当于执行系统程序及各种用户程序的运算处理部。
117.功能单元200实施通信处理或信息处理。功能单元200具有连接数据总线111的接口及连接信号线113的信号端口212p。功能单元200在网络11与控制装置2之间以中介的方式配置,由此cpu单元100能够经由功能单元200与连接于网络11的设备之间进行数据通信。另外,通过在cpu单元100的信号端口110p与功能单元200的信号端口212p之间连接信号线113,cpu单元100及功能单元200经由信号线113接收时刻同步信号130。
118.在本实施方式中,功能单元200监视从网络14等互联网对cpu单元100的访问、及从网络11内的其他装置对cpu单元100的访问,并且当检测到某些安全防护事件的发生时,向控制装置2的内部或外部进行与该检测到的安全防护事件相关的通知。另外,功能单元200所实施的信息处理并不限定于安全防护监视处理。
119.功能单元300具有与现场设备90等控制对象设备及装置、以及配置于它们的各种设备(传感器、致动器等)之间交换信号的、所谓的i/o单元的功能。具体而言,功能单元300将在cpu单元100中计算的指令值输出至现场,或者收集来自现场的输入值。作为功能单元300,例如具有接收来自控制对象的数字信号的di(digital input:数字输入)模块、对控制对象输出数字信号的do(digital output:数字输出)模块、接收来自控制对象的模拟信号的ai(analog input:模拟输入)模块、对控制对象输出模拟信号的ao(analog output:模拟输出)模块中的1个或多个模块。并且,作为功能单元300,可包含安装有pid(proportional integral derivative:比例积分微分)控制或运动控制等特殊功能的控制器。
120.功能单元200或功能单元300能够作为可装卸自如地外装于cpu单元100的扩展单元来提供。
121.(d1.cpu单元100的结构)
122.图6是表示本实施方式的控制装置2所包含的cpu单元100的硬件结构例的框图。
123.cpu单元100包含处理器102、芯片组104、主存储装置106、二次存储装置108、上位
的网络控制器105、usb(universal serial bus:通用串行总线)控制器107、存储卡接口114、本地总线控制器120、122、现场网络控制器118、计数器126、rtc(real time clock:实时时钟)128以及信号端口110p。
124.处理器102由cpu、mpu(microprocessor unit:微处理器单元)、gpu(graphics processing unit:图形处理单元)等构成,读出保存在二次存储装置108中的各种程序,在主存储装置106中展开并执行,由此实现与控制对象对应的控制以及后述那样的各种处理。二次存储装置108例如由hdd(hard disk drive:硬盘驱动器)或ssd(solid state drive:固态硬盘)等非易失性存储装置等构成。主存储装置106由dram(dynamic random access memory:动态随机存取存储器)或sram(static random access memory:静态随机存取存储器)等易失性存储装置等构成。
125.芯片组104通过控制处理器102和各设备来实现作为cpu单元100整体的处理。
126.在二次存储装置108中,除了用于实现基本功能的系统程序以外,还保存有根据作为控制对象的制造装置或设备而创建的用户程序。此外,在二次存储装置108中还保存有后述那样的时间序列数据库。
127.上位的网络控制器105经由上位的网络11,与制造执行系统400或云上的装置(参照图1)等之间交换数据。usb控制器107经由usb连接来控制与支持装置500之间的数据交换。
128.存储卡接口114构成为能够装卸存储卡116,能够对存储卡116写入数据,并从存储卡116读出各种数据(用户程序、跟踪数据等)。
129.计数器126用作用于管理cpu单元100中的各种处理的执行定时的时刻基准。计数器126典型地在每个规定周期使计数器值递增或递减。在cpu单元100中,作为计数器126,可以使用配置在驱动处理器102的系统总线上的、作为硬件定时器的高精度事件定时器(hpet:high precision event timer)等进行安装,或者也可以使用asic(application specific integrated circuit:专用集成电路)或fpga(field-programmable gate array:现场可编程门阵列)等专用电路进行安装。
130.rtc 128是具有计时功能的一种计数器,向处理器102等提供当前时刻。
131.本地总线控制器122是与可连接于cpu单元100的功能单元300-1、300-2、

之间交换数据的接口。本地总线控制器122具有计数器123,计数器123被用作用于与经由数据总线112连接的其他设备即功能单元300-1、300-2、

之间管理定时的时刻基准。同样地,功能单元300-1、300-2、

也分别具有计数器125,计数器123被用作用于与本地总线控制器122以及其他功能单元300之间管理定时的时刻基准。关于计数器123以及计数器125,能够采用与上述的计数器126相同的结构。
132.现场网络控制器118控制经由网络110的与包含现场设备90在内的其他设备之间的数据交换。现场网络控制器118具有计数器119,计数器119被用作用于与其他设备之间管理定时的时刻基准。
133.本地总线控制器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相同的结构。
134.另外,网络110上的各设备也具有被用作用于与现场网络控制器118之间管理定时的时刻基准的计数器。
135.关于计数器119以及各设备所具有的计数器,能够采用与上述计数器126相同的结构。
136.现场网络控制器118作为用于进行经由网络110的恒定周期通信的通信主设备发挥功能,逐次监视与现场总线连接的各设备所具有的计数器所表示的计数器值与计数器119所表示的计数器值的差分,根据需要,对计数器值产生偏差的设备输出用于指示校正的同步信号。这样,现场网络控制器118具有向设备提供用于使设备的计数器所表示的计数器值与计数器119所表示的计数器值一致的指令的同步管理功能。
137.信号端口110p与传输时刻同步信号130的信号线113连接。
138.在图6的cpu单元100中,计数器119、计数器121及计数器123与计数器126同步。
139.在图6中,示出了通过处理器102执行程序而提供所需的功能的结构例,但cpu单元100也可以使用专用的硬件电路(例如,asic(application specific integrated circuit:专用集成电路)或者fpga(field-programmable gate array:现场可编程门阵列)等)来安装这些所提供的功能的一部分或者全部。或者,也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现cpu单元100的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个os(operating system:操作系统),并且在各os上执行所需的应用。
140.在本实施方式的控制系统1中,cpu单元100和支持装置500分体地构成,但也可以采用将这些功能的全部或一部分集成于单一装置的结构。
141.(d2.功能单元200的结构)
142.图7是表示本实施方式的控制装置2所包含的功能单元200的硬件结构例的框图。参照图7,功能单元200包含处理器202、芯片组204、主存储器206、储存器208、单元间接口210、网络接口220以及信号端口212p。信号端口212p与传输时刻同步信号130的信号线113连接。
143.处理器202由cpu、mpu、gpu等构成。与上述cpu单元100同样地,功能单元200包含1个或多个处理器202、和/或具有1个或多个核的处理器202。芯片组204通过控制处理器202及外围元件,实现作为功能单元200整体的处理。芯片组204包含作为生成时刻同步信号130的电路元件的信号发生器26。来自信号发生器26的时刻同步信号130经由信号端口212p向信号线113送出。主存储器206由dram、sram等易失性存储装置等构成。储存器208例如由闪存等非易失性存储装置等构成。
144.处理器202读出储存器208中保存的各种程序,在主存储器206中展开并执行,由此实现例如安全防护事件的监视等处理。在储存器208中保存用于实现基本处理的系统程序22和用户程序20。另外,储存器208具有保存功能单元200所收集的观测值的时间序列数据的存储区域21。
145.用户程序20包含控制单元间的时刻同步的时刻同步程序23以及用于安全防护监视处理的安全防护程序24。时刻同步程序23包含校正程序25,校正程序25用于通过被执行
来实现后述的校正部20a或校正部20b的。另外,安全防护程序24实施基于规定控制装置2的运用者或者管理者等预先确定的规则等的安全防护设定的、安全防护监视处理,收集基于处理结果的观测值,并作为时间序列数据保存于存储区域21。
146.单元间接口210连接数据总线111。单元间接口210经由数据总线111与cpu单元100交换数据。
147.单元间接口210具有:数据通信电路211,其具有用于与cpu单元100或其他功能单元200之间收发数据的控制器(tx/rx ctrl)和缓冲器;以及计数器213。
148.网络接口220为了经由网络11交换数据而包含控制器(tx/rxctrl)222及缓冲器226。
149.单元间接口210和网络接口220所具有的缓冲器相当于临时存储应发送的数据及接收到的数据等的存储部。计数器213具有与cpu单元100所具有的计数器126(参照图6)相同的结构。
150.功能单元200的网络接口220以及单元间接口210也可以由nic(network interface card:网络接口卡)构成。另外,在图7中示出了通过处理器202执行程序来实现所需处理的结构例,但也可以使用专用的硬件电路(例如asic或fpga等)来安装这些提供的处理的一部分或全部。
151.(d3.功能单元300的结构)
152.图8是表示本实施方式的控制装置2所包含的功能单元300的硬件结构例的框图。参照图8,功能单元300提供用于实现控制系统1对各种机械或设备等的控制所需的各种功能。更具体而言,各功能单元300包含功能模块157、i/o接口159及通信电路161。
153.功能模块157是执行各功能单元300的主要处理的部分,负责来自控制对象机械或设备等的现场信息的收集及向控制对象机械或设备等的指令信号的输出等。
154.i/o接口159是对与控制对象机械或设备等之间的信号交换进行中介的电路。
155.通信电路161对在数据总线112中依次传输的数据进行处理。即,通信电路161若经由数据总线112接收到某些数据,则在对该接收到的数据进行处理后,将该通信数据发送至在数据总线112上位于下一位置的功能单元300。通信电路161提供对这样的数据进行中继的功能。
156.更具体而言,通信电路161包含收发端口162、164、用于收发的控制器166以及计数器168。
157.收发端口162、164是与数据总线112物理连接的部位,按照来自控制器166的指令,进行在数据总线112上传输的数据的接收及再现等处理,由此实现数据的依次传送。
158.控制器166实施在数据总线112上传送的数据的读出、数据的变更等数据处理。
159.计数器168产生作为控制器166的指令输出或功能模块157中的处理执行等的定时的基准的时钟。作为计数器168,例如也能够采用基于实时时钟的计数器,但在本实施方式中,能够应用以规定周期进行递增计数(递增)的自由运行计数器。
160.(d4.cpu单元100的软件结构例)
161.接着,说明构成本实施方式的控制系统1的cpu单元100的软件结构例。
162.图9是表示本实施方式的cpu单元100的软件结构例的框图。参照图9,cpu单元100包含plc引擎150、时间序列数据库180、上位连接程序192、网关程序194。
163.典型地,plc引擎150通过cpu单元100的处理器102读出保存在二次存储装置108中的系统程序并在主存储装置106中展开执行,来提供各种程序的执行环境,能够在该执行环境下执行各种程序。
164.更具体而言,plc引擎150包含控制程序152、变量管理程序160、调度程序170、输入程序172、输出程序174、时刻同步程序177。关于变量管理程序160、调度程序170、输入程序172、输出程序174,也可以安装为系统程序的一部分。在该情况下,也可以由单一的系统程序提供这些程序提供的各个功能。
165.控制程序152典型地由用户程序154、数据库写入程序156、串行化通信程序158构成。用户程序154相当于提供控制运算功能的主要部分,能够根据作为cpu单元100的控制对象的制造装置、设备等任意地构成。用户程序154例如能够由利用了功能块等的梯形逻辑等来规定。
166.数据库写入程序156由在用户程序154内规定的命令调用,对时间序列数据库180写入指定的数据。
167.串行化通信程序158对从数据库写入程序156写入到时间序列数据库180的数据进行串行化处理。更具体而言,串行化通信程序158执行将时间序列数据转换为可保存的字节串的处理(串行化)。对象数据在通过串行化处理转换为规定的字节串之后,保存在时间序列数据库180内。另外,并非必须根据向时间序列数据库180的数据写入的速度及数据容量等来进行串行化处理。即,串行化通信程序158是可选的结构。
168.变量管理程序160以变量的形式管理能够在plc引擎150中利用的值。更具体而言,变量管理程序160对表示cpu单元100的状态等的系统变量、表示经由本地总线或现场总线而与cpu单元100连接的各种设备所保持的值的设备变量、及表示由cpu单元100执行的用户程序154所保持的值的用户变量进行管理。
169.输入程序172提供从经由本地总线或现场总线与cpu单元100连接的各种设备取得输入数据的功能。
170.输出程序174将通过在cpu单元100中执行的用户程序154计算出的指令值(输出数据)输出到经由数据总线112或网络110连接的对象设备。
171.时刻同步程序177在执行cpu单元100内的控制程序时,实现cpu单元100、与数据总线111连接的功能单元200、与数据总线112连接的功能单元300、与网络110连接的现场设备90之间的时刻同步。时刻同步程序177具有用于适当校正为了取得时刻同步而管理的定时器的校正程序178。通过执行校正程序178来实现后述的校正部10b。之后将叙述由校正单元10b执行的校正处理。
172.调度程序170对cpu单元100的过程或任务等管理资源分配、执行定时等。这样的过程或任务包含可通过由cpu单元100执行控制程序152和变量管理程序160、输入程序172、输出程序174以及时刻同步程序177等而生成的过程或任务。
173.时间序列数据库180典型地配置在主存储装置106或二次存储装置108中,搭载有保存数据的功能,并且搭载有响应来自外部的请求(查询)而响应所指定的数据的检索功能。时间序列数据库180保存有通过数据库写入程序156写入的时间序列数据182。即,时间序列数据库180按时间序列保存输入数据、输出数据、在控制程序152的控制运算中计算的运算数据、制造数据、事件数据的至少一部分。这样的输入数据和输出数据中包含cpu单元
100从功能单元300接收的数据、以及cpu单元100向功能单元300发送的数据。另外,事件数据中可包含cpu单元100从功能单元200接收的与安全防护监视相关的数据。
174.上位连接程序192与制造执行系统400等和上位网络13连接的外部装置之间交换数据。在本实施方式的cpu单元100中,能够从cpu单元100对制造执行系统400输出输入数据或运算数据,并且从制造执行系统400接收制造信息。这样,上位连接程序192提供从与控制对象相关联的制造执行系统400取得制造数据的制造数据取得功能。
175.在本实施方式中,制造执行系统400具有时间序列db 450。在该情况下,能够代替上位连接程序192,或者作为上位连接程序192的一部分,而设置数据库连接程序193。数据库连接程序193例如也可以执行对关系数据库发送sql等查询、并且接收响应的处理。通过执行数据库连接程序193,cpu单元100内的时间序列数据库180的时间序列数据182可被传送至制造执行系统400,并保存在时间序列db 450中。关于通过数据库连接程序193向制造执行系统400输出的时间序列数据的详细内容,将在后面叙述。
176.网关程序194与云上的装置进行通信。例如,对云上的提供iot服务的装置提供时间序列数据库180的时间序列数据182。具体而言,网关程序194以指定的周期从时间序列数据库180取得所指定的种类的数据,并作为时间序列数据而输出。通过网关程序194向iot服务的提供装置输出的时间序列数据例如能够具有与通过数据库连接程序193向制造执行系统400输出的时间序列数据同样的结构。
177.cpu单元100的输入程序172经由数据总线111、112和/或网络110从传感器等现场设备90取得输入数据。
178.cpu单元100的上位连接程序192从制造执行系统400取得制造数据。变量管理程序160将这些取得的输入数据以及制造数据作为变量进行管理。
179.用户程序154一边参照由变量管理程序160管理的系统变量、设备变量、用户变量,一边执行预先指定的控制运算,并将其执行结果(输出数据)输出到变量管理程序160。
180.输出程序174将通过用户程序154的控制运算而计算的输出数据作为控制输出,并经由数据总线112和/或网络110向致动器等现场设备90输出。
181.数据库写入程序156将由变量管理程序160管理的变量中指定的观测值写入到时间序列数据库180。
182.上位连接程序192将由变量管理程序160管理的变量中的被指定的变量的值、和/或保存于时间序列数据库180的时间序列数据182中的被指定的数据作为时间序列数据输出到制造执行系统400。
183.网关程序194将由变量管理程序160管理的变量中的被指定的变量的值、和/或保存于时间序列数据库180的时间序列数据182中的被指定的数据作为时间序列数据向iot服务输出。iot服务的提供装置例如提供如下服务:基于来自cpu单元100的时间序列数据,进行行为分析,进行作为控制对象的设备或装置等的预测维护等。
184.(d5.时刻同步的结构)
185.首先,本实施方式的控制装置2具有使时刻和计数器同步的功能(以下,也分别称为“时刻同步”和“计数器同步”。)。
186.在本说明书中,“时刻”是指表示时间流中的某一点的时刻,例如使用时分秒等单位来规定。“计数器”包含用于在控制装置2和关联的装置内控制定时的值,基本上表示每隔
预先确定的单位时间逐次被增加或减少规定值的值(以下,也将计数器所示的值称为“计数器值”。)。在本实施方式中,虽然没有限定,但计数器值相当于定时器的值,例如表示能够表现纳秒级的64比特长的整数值。
187.基本上,时刻的同步精度比计数器的同步精度差,因此在本实施方式中,在构成控制装置2的单元之间以及各单元与包含现场设备90的其他设备之间,采用使用了计数器值的时刻同步。
188.图10a和图10b是示意性地表示本实施方式的控制装置2所管理的用于时刻同步的结构的一例的图。参照图10a和图10b,说明用于各控制装置2从网络11取得主时钟的计数器值的结构、以及用于以时刻同步信号130为触发来实现时刻同步的结构。在图10a和图10b中,时刻同步信号130由功能单元200的信号发生器26(参照图7)生成并传输到信号线113。
189.将实现这样的时刻同步的结构分为例如经由网络11向控制装置2提供tsn(time-sensitive networking:时间敏感网络)的主时钟的情形(参照图10a)、和经由网络11向控制装置2提供ethercat(注册商标:ethernet for control automation technology)的主时钟的情形(参照图10b)来进行说明。此外,经由网络11提供给控制装置2的主时钟的标准并不限定于此,例如也可以是ieee1588。
190.首先,参照图10a,假设例如网络11上的装置/生产线管理装置190提供tsn的主时钟191a。主时钟191a例如表示配置在因特网上的时刻同步服务器所管理的绝对时刻。另外,主时钟191a也可以是网络11上的其他装置。
191.功能单元200通过执行时刻同步程序23而具有同步处理部200a。同步处理部200a经由网络接口220与装置/生产线管理装置190进行通信,参照主时钟191a。另外,同步处理部200a具有计数器dc1以及计数器oc1。同步处理部200a也可以具有实施计数器值的校正处理的校正部20a。计数器dc1和计数器oc1例如相当于计数器213(参照图6或图7)。
192.另外,cpu单元100通过执行时刻同步程序177而具有同步处理部100a。同步处理部100a具有校正部10b、存储区域10c、计数器dc2以及计数器oc2。计数器dc2对应于计数器119和计数器123(参见图6)。另外,计数器dc2也对应于调度程序170为了调度控制程序152等的执行定时而参照的计数器(图6的计数器126等)。另外,计数器oc2对应于计数器121(参照图6)。另外,计数器oc1、oc2表示基于ordinary clock(普通时钟)的计数器,计数器dc1、dc2表示基于distributed clock(分布式时钟)的计数器。
193.同步处理部200a利用装置/生产线管理装置190的作为时刻同步服务器的功能,在取得主时钟191a的时刻时,校正网络11等的传输延迟。由此,同步处理部200a能够从主时钟191a取得更准确的时刻。同步处理部200a将基于从主时钟191a取得的时刻的计数器值设定于计数器oc1。同步处理部200a定期地从装置/生产线管理装置190取得主时钟191a的时刻,并设定于计数器oc1。
194.由此,在功能单元200中,同步处理部200a能够使计数器oc1与主时钟191a同步。
195.另外,功能单元200相对于cpu单元100作为时刻同步服务器发挥功能。即,同步处理部200a周期性地将计数器oc1的计数器值发送到数据总线111。由此,功能单元200能够对连接于数据总线111的cpu单元100提供与主时钟191a同步的计数器值(即,计数器oc1的计数器值)。
196.另一方面,cpu单元100的同步处理部100a例如在启动时经由数据总线111接收计
数器oc1的定时器值,并将所接收的定时器值设定于计数器oc2。之后,同步处理部100a与来自内部的硬件电路的输出同步地周期性地更新(递增或递减)计数器oc2的计数器值,并将更新后的值设定于计数器dc2。由此,计数器dc2的计数器值被周期性地更新。
197.因此,在cpu单元100中,同步处理部100a使计数器oc2及计数器dc2与同步于主时钟191a的计数器oc1同步,因此能够使计数器dc2与主时钟191a同步。
198.cpu单元100基于所述主时钟191a与计数器的同步来实施程序的调度。参照图6和图9对该点进行说明。更具体而言,调度程序170以计数器126为基准实施控制程序152等的调度。另外,输入程序172及输出程序174以与计数器126同步的计数器119及计数器123为基准,与各设备实施时刻同步。由此,能够以主时钟191a为基准来实施cpu单元100内的控制程序152等的调度、及连接于控制装置2的各设备与该控制装置2的时刻同步。其结果,能够与主时钟119a同步地实施cpu单元100内的控制程序等的调度以及与控制装置2连接的各设备与该控制装置2之间的输入输出。
199.(d6.基于时刻同步信号的计数器的校正)
200.在本实施方式中,例如,计数器dc2的计数器值的更新与cpu单元100内部的硬件电路的输出信号同步地实施。因此,存在因硬件电路的误差等而导致功能单元200的计数器oc1的计数器值与cpu单元100的计数器dc2的计数器值之差(以下,也将其称为同步偏差)变大的可能性。若同步偏差变大,则会产生无法与主时钟119a同步地实施cpu单元100内的控制程序的调度、及连接于控制装置2的各设备与该控制装置2之间的输入输出的情况。另外,产生上述差的主要原因并不限定于硬件电路的误差等。
201.为了防止这样的情况,同步处理部100a使用用于降低同步偏差的值(以下,也称为调整值d)来校正计数器dc2的计数器值。具体而言,校正部10b在从信号线113接收到时刻同步信号130时,实施包含锁存处理的校正处理。
202.在锁存处理中,校正部10b锁存(取得)计数器dc2的计数器值,并将锁存的计数器值ldc2保存在存储区域10c中。另外,在锁存处理中,校正部10b对经由数据总线111传输的计数器oc1的计数器值进行锁存(接收),并将锁存的计数器值loc1保存在存储区域10c中。
203.在校正处理中,对锁存的计数器值加上调整值d(正值或负值),将相加后的值设定于计数器dc2。
204.作为校正,也可以将上述的调整值d分割为n(n≥2)个值,将分割后的值di(i=1、2、3、
……
n)的各值di周期性地与计数器dc2的计数器值累计相加。由此,反复进行n次加法运算,能够使计数器dc2的计数器值逐渐(平滑地)变化。
205.另外,作为校正,也可以将调整值d以指定的频度与计数器dc2的计数器值相加。
206.此外,上述的调整值d是固定或可变的。作为可变值,可包含根据锁存的计数器值loc1和ldc2之间的差的大小决定的值。另外,上述的“n”的值也可以是固定或可变的,作为可变值,例如能够包含根据调整值d的大小决定的值。
207.另外,校正部10b也可以检测每当接收时刻同步信号130时计算的计数器值loc1与ldc2之差的变化(漂移状的变动)的趋势,并根据变化趋势来决定上述的调整值d或“n”的值。即,以每次接收时刻同步信号130时计算的同步偏差变小的方式,即以同步偏差之差收敛于规定值的方式,决定上述的调整值d或“n”的值。例如,变动幅度越大,越增大调整值d,或者越减小“n”的值,由此同步偏差变小,并且同步偏差能够提前收敛于规定值。
208.另外,作为校正,也可以包含通过对计数器dc2的值设置上述的调整值d而进行的计数器dc2的初始化。
209.另外,实施校正处理的定时可以是接收到时刻同步信号130的时间点,或者也可以是从接收到时刻同步信号130时起经过规定时间后。
210.另外,时刻同步信号130的发送源的单元并不限定于功能单元200,也可以是图1的控制系统1所具有的其他单元。例如,也可为图1的控制系统1所具有的未图示的规定的触发信号产生装置、任意的控制装置2(该控制装置2的cpu单元100或功能单元200、300(参照图5))、或装置/生产线管理装置190。另外,在本实施方式中,时刻同步信号130周期性地例如每隔1m秒输出,但并不限定于周期性地输出的方式。例如,也可以是,在功能单元200的同步处理部200a的计数器oc1的计数器值变得与某个指示值相等时,时刻同步信号130的发送源单元输出时刻同步信号130。
211.(d7.时刻同步的结构的另一例)
212.在图10a中,时刻是从tsn提供的主时钟191a取得的,但用于时刻同步的主时钟的时刻的取得路径不限于tsn。例如,如图10b所示,也可以从ethercat的主时钟191b取得。在ethercat中,主时钟191b与绝对时刻同步。在图10b中,为了时刻同步而使用计数器dc1和dc2。
213.参照图10b,功能单元200的同步处理部200b定期地校正传播延迟而取得主时钟191b的时刻。同步处理部200b将表示所取得的时刻的计数器值设定于计数器dc1。同步处理部200b周期性地读出计数器dc1的计数器值,并传输到数据总线111。在图10b中,计数器dc1与计数器213(参照图6)对应。另外,计数器dc2与计数器119、121以及123(参照图6)以及在图9中调度程序170为了调度控制程序152等的执行定时而参照的计数器(图6的计数器126等)对应。
214.在启动时等,cpu单元100的同步处理部100b将经由数据总线111接收到的计数器值设定于计数器dc2。然后,与内部硬件电路的输出同步地更新(递增或递减)计数器dc2的值。由此,计数器dc2的计数值被周期性地更新。另外,同步处理部100b的校正部10b在经由信号线113接收到时刻同步信号130时,对经由数据总线111接收的计数器值进行锁存,并作为锁存计数器值ldc1保存在存储区域10c中。另外,校正部10b在接收到时刻同步信号130时,对计数器dc2的计数器值进行锁存,并作为锁存计数器值ldc2保存在存储区域10c。
215.在校正部10b的校正处理中,能够实施与图10a的情况同样的校正。在图10b中,用于校正的调整值d可包含根据锁存计数器值ldc1与ldc2之差(同步偏差)的大小而决定的值。
216.另外,校正部10b也可以检测在每次接收到时刻同步信号130时计算的锁存计数器值ldc1与ldc2之差的变化(漂移状的变动)的趋势,并根据变化趋势来决定上述的调整值d或“n”的值。例如,也可以以每次接收到时刻同步信号130时计算的差变小的方式,即以差收敛于规定值的方式,决定上述的调整值d或“n”的值。
217.另外,作为校正,也可以通过对计数器dc2的值设置上述的调整值,来包含计数器dc2的初始化。
218.另外,在图10b的结构中,实施校正处理的时期也可以是与图10a同样的时期。另外,在图10b中,例如也可以在计数器dc1的计数器值与某指示值相等时将时刻同步信号130
输出到信号线113。
219.(d8.基于时刻同步信号计数器校正的另一例)
220.在图10a与图10b中,校正处理并不限定于由cpu单元100的校正部10b实施的结构,也可使用功能单元200的校正部20a及存储部20c来实施。
221.具体而言,参照图10a,cpu单元100的同步处理部100a将计数器dc2的计数器值周期性地发送至数据总线111。校正部20a在从信号线113接收到时刻同步信号130时实施锁存处理。
222.在锁存处理中,校正部20a锁存(取得)计数器oc1的计数器值,另外,锁存(接收)经由数据总线111传输的计数器dc2的计数器值。将这样锁存的计数器值作为锁存计数器值loc1和ldc2保存在存储部20c中。
223.在校正处理中,校正部20a计算存储部20c的锁存计数器值loc1和ldc2的同步偏差的差,决定使得差变小的调整值d(正值或负值),并将所决定的调整值d与锁存计数器值ldc2相加。校正部20a将相加后的锁存计数器值经由数据总线111传送至cpu单元100。cpu单元100将接收到的相加后的锁存计数器值设定于计数器dc2。由此,cpu单元100的计数器dc2的计数器值的同步偏差得到校正。
224.另外,在图10b中,校正部20b也可以使用存储部20c来实施cpu单元100的计数器dc2的计数器值的校正处理。在该情况下,同步处理部100b将计数器dc2的计数器值周期性地发送到数据总线111。校正部20b在从信号线113接收到时刻同步信号130时实施锁存处理。
225.在锁存处理中,校正部20b锁存(取得)计数器dc1的计数器值,另外,锁存(接收)经由数据总线111传输的计数器dc2的计数器值。将这样锁存的计数器值作为锁存计数器值ldc1和ldc2保存在存储单元20c中。
226.在校正处理中,校正部20b决定使锁存计数器值ldc1和ldc2的同步偏差之差变小的调整值d,并将所决定的调整值d与锁存计数器值ldc2相加。校正部20b将相加后的值经由数据总线111传送至cpu单元100。cpu单元100将接收到的相加后的锁存计数器值ldc2设定于计数器dc2。由此,cpu单元100的计数器dc2的计数器值的同步偏差得到校正。
227.这样,在控制装置2中,经由信号线113提供了时刻同步信号130时的、第1单元(功能单元200)的定时器所表示的第1定时器值(计数器oc1的计数器值)以及第2单元(cpu单元100)的定时器所表示的第2定时器值(计数器dc2的定时器值)中的一方经由数据线(数据总线111)被取得,基于该取得的定时器值,校正第1单元的定时器与第2单元的定时器之间的同步偏差。由此,能够使第2单元(cpu单元100)的定时器(计数器dc2)与第1单元(功能单元200)的定时器(计数器oc1)对准。
228.参照图10a和图10b,控制系统1也可以还具有与cpu单元100及功能单元200不同的单元370,使单元370实施所述校正处理。
229.单元370可以连接到信号线113和数据总线111。单元370具有硬件处理器,通过硬件处理器执行程序,实现相当于校正部20a(或校正部20b)或校正部10b的校正部371。当单元370在信号线113中检测到时刻同步信号130时,校正部371经由数据总线111从计数器oc1和计数器dc2(或者计数器dc1和计数器dc2)读出计数器值。校正部371使用所读出的计数器值如上述那样校正计数器dc2的计数值,以使同步偏差变小。校正后的计数器值经由数据总
线111被设定于计数器dc2。
230.图10a和图10b所示的校正部20a、20b、校正部10b以及校正部371是调整单元的一个实施例。控制装置2或控制系统1也可以使用专用的硬件电路(例如asic或fpga等)来安装由校正部20a、20b、校正部10b及校正部371提供的处理的一部分或全部。
231.如上所述,在各控制装置2中,使用主时钟191a(或191b)的时刻,(i)在单元间实现时刻同步,并且(ii)在各单元和与该单元连接的设备间实现时刻同步,并且(iii)在cpu单元100中通过调度程序170实现与控制程序152、输入程序172以及输出程序174的执行相关的时刻同步。并且,通过各控制装置2实施使用了公共的主时钟191a、191b的时刻同步,(iv)能够在不同的控制装置2之间、即不同的工序间实现时刻同步。
232.在图10a和图10b中,控制系统1构成为具有校正部20a、20b、校正部10b以及校正部371,但也可以构成为具有这些校正部中的至少1个。
233.<e.处理流程>
234.图11是表示本实施方式的处理的流程图的一例的图。图11包含同步处理和观测值的收集处理。参照图11,功能单元200的处理器202实施同步处理部200a(或200b)的处理。
235.首先,处理器202从主时钟191a(或191b)取得时刻,对计数器oc1(或dc1)设定定时器值(步骤s1)。
236.处理器202判定是否成为了时刻同步信号130的发送时期(步骤s3)。若判定为不是时刻同步信号130的发送时期(在步骤s3中为“否”),则返回到步骤s1,若判定为成为了发送时期(在步骤s3中为“是”),则通过信号发生器26生成时刻同步信号130,并输出到信号线113(步骤s5)。
237.另外,处理器202将计数器oc1(或dc1)的计数器值周期性地发送至数据总线111(步骤s7)。不论是否发送时刻同步信号130,都实施该计数器值的发送。
238.另外,在cpu单元100中,处理器101通过同步处理部100a(或100b)实施处理。此外,在图11的处理中,实施计数器oc2的设定以及更新计数器dc2的计数器值的处理。
239.处理器101判定是否从信号线113接收时刻同步信号130(步骤s25)。在未接收到时刻同步信号130的期间(在步骤s25中为“否”),重复步骤s25的处理。
240.处理器101在判定为接收到时刻同步信号130时(在步骤s25中为“是”),实施上述的计数器值的锁存处理(步骤s27)。处理器101判定是否成为了实施校正部10b的校正处理的时期(步骤s29)。例如,判定从接收到时刻同步信号130起是否经过了规定时间。在判定为未成为实施校正的时期的期间(在步骤s29中为“否”),重复步骤s29的处理。
241.处理器101在判定为成为了实施校正处理的时期的、例如从接收到时刻同步信号130起经过了规定时间时(在步骤s29中为“是”),使校正部10b实施上述的校正处理(步骤s31)。
242.校正处理包含:被锁存的计数器值之差的计算(步骤s33)、用于校正的调整值d的决定(步骤s35)、以及使用了调整值d的计数器dc2的计数器值的变更(步骤s37)。
243.另外,在cpu单元100中,处理器101收集观测值并保存在时间序列数据库180中(步骤s41)。处理器101读出时间序列数据库180的时间序列数据182,并发送至制造执行系统400或云上的iot服务的提供装置(步骤s43)。此时,生成时间序列数据182的传输的帧,并以帧形式发送(步骤s45)。
244.例如,制造执行系统400从控制装置2接收时间序列数据182的帧(步骤s61),并保存在时间序列db 450中(步骤s63)。
245.此外,在图11中,在cpu单元100中实施了用于时刻同步处理的校正,但如上所述,也可以与步骤s31同样地在功能单元200中实施用于时刻同步处理的校正。
246.在图10a、图10b及图11中,功能单元200通过将计数器oc1(或计数器dc1)的计数器值周期性地传输到数据总线111,而对cpu单元100提供了该计数器值,但对cpu单元100提供计数器值的方法并不限定于此。例如,也可以是在向信号线113传输时刻同步信号130时,cpu100经由数据总线111参照(读出)功能单元200的计数器oc1(或计数器dc1)的计数器值的方法。
247.<f.时间序列数据的处理>
248.图12是表示本实施方式的制造执行系统400的结构例的图。作为一例,制造执行系统400使用遵循通用架构的硬件(例如,通用个人计算机)来实现。
249.参照图12,制造执行系统400包含处理器402、主存储器404、输入部406、输出部408、储存器410、光学驱动器412、用于与外部装置进行通信的usb控制器420、以及连接网络13、14的网络控制器413。这些组件经由处理器总线418连接。
250.处理器402由cpu、gpu等构成,读出储存器410所保存的程序,在主存储器404中展开并执行,由此实现后述的各种处理。
251.主存储器404由dram或sram等易失性存储装置等构成。储存器410例如由hdd或ssd等非易失性存储装置等构成。
252.在储存器410中,除了用于实现基本功能的os 412以外,还保存有用于提供作为制造执行系统400的功能的各种程序。各种程序包含db管理程序411。另外,储存器410具有保存时间序列db 450的区域。
253.输入部406由键盘、鼠标等构成,受理对制造执行系统400的用户操作。输出部408由显示器、各种指示器、打印机等构成,输出来自处理器402的处理结果。
254.制造执行系统400具有光学驱动器412,从非易失性地保存计算机可读取的程序的记录介质414(例如dvd(digital versatile disc:数字多功能光盘)等光学记录介质)中读取保存于其中的程序,并安装于储存器410等。
255.在图12中,示出了通过处理器402执行程序来提供作为制造执行系统400所需的功能的结构例,但制造执行系统400也可以使用专用的硬件电路(例如asic或fpga等)来安装这些所提供的功能的一部分或全部。
256.图13是表示通过执行图12的db管理程序411而提供的db管理器的图。参照图13,通过由处理器402执行db管理程序411而提供的db管理器451对时间序列db 450进行管理(例如,db的生成、汇总、编辑、分析、输出等)。
257.(f1.观测值的时刻同步)
258.图14a和图14b是表示本实施方式的控制装置2向制造执行系统400发送时间序列数据的情况下的处理例的示意图。在图14a和图14b中,对比示出了未实施时刻同步处理的情形(参照图14(a))和实施时刻同步处理的情形(参照图14b)。图15是示意性地表示在本实施方式的控制装置2中生成的时间序列数据的帧和汇总数据的图。图15的(a)表示保存工序3b的控制装置2b收集的观测值的帧,图15的(b)表示保存工序3a的控制装置2a收集的观测
值的帧,图15的(c)表示保存由db管理器451汇总的观测值的时间序列db 450的一例。
259.图14a表示控制装置2a、2b经由上位的网络13与制造执行系统400连接的结构。在图14a所示的结构中,假设在控制装置2a与控制装置2b之间未进行时刻同步。
260.在各时间序列数据中包含控制装置2a、2b收集到的观测值以及与各观测值相对应的时刻。反过来说,在图14a所示的结构中,控制装置2a、2b只能附加时刻作为表示各观测值的收集定时的信息。时刻由控制装置2a、2b分别管理,时刻同步不完全。
261.其结果,在由制造执行系统400收集的时间序列数据之间,时刻不完全一致,因此db管理器451无法使定时准确地对准来汇总(即,合并)各个时间序列数据。
262.与此相对,在图14b所示的结构中,控制装置2a和控制装置2b具有上述的进行了时刻同步的计数器。其结果,在从控制装置2a和控制装置2b分别发送的时间序列数据的帧中,能够与在工序3a、3b中收集到的观测值相对应地,包含表示收集到各观测值的定时的时刻452(例如,从主时钟取得的时刻)以及计数器值453(例如,计数器dc2的计数器值)(参照图15的(a)和图15的(b))。
263.db管理器451能够使用从控制装置2a、2b分别接收到的时间序列数据所包含的计数器值453,使时间序列数据所包含的观测值的定时对准。即,即使是由不同的控制装置2(不同的工序)分别收集到的观测值,也能够在时间序列db 450中使时间轴大致完全对准地汇总并保存(参照图15的(c)),并将汇总后的数据用于观测值的分析。
264.<g.附记>
265.如上所述的本实施方式包含以下这样的技术思想。
266.[结构1]
[0267]
一种控制系统(1),其是工厂自动化用的控制系统,该控制系统(1)具有:
[0268]
分别具有定时器的第1单元(200)和第2单元(100);
[0269]
数据线(111),其用于在所述第1单元与所述第2单元之间,交换包含所述定时器所表示的定时器值的数据;
[0270]
信号线(113),其将所述第1单元和所述第2单元电连接;以及
[0271]
调整单元(10b、20a、20b),其与所述信号线和所述数据线连接,
[0272]
所述调整单元在经由所述信号线接收到触发信号(130)时,经由所述数据线取得所述定时器值,并基于所取得的定时器值,使所述第2单元的定时器(dc2)与所述第1单元的定时器(oc1)对准。
[0273]
[结构2]
[0274]
在结构1所记载的控制系统中,
[0275]
所述第1单元和所述第2单元中的一方将所述触发信号传输到所述信号线。
[0276]
[结构3]
[0277]
在结构1或2所记载的控制系统中,
[0278]
所述控制系统还具有与所述第1单元以及所述第2单元不同的将所述触发信号传输到所述信号线的单元(190)。
[0279]
[结构4]
[0280]
在结构1~3中的任意一项所记载的控制系统中,
[0281]
所述调整单元设置于所述第1单元和所述第2单元中的一方。
[0282]
[结构5]
[0283]
在结构1~4中的任意一项所记载的控制系统中,
[0284]
所述控制系统还具有与所述第1单元以及所述第2单元不同的具备所述调整单元的单元。
[0285]
[结构6]
[0286]
在结构1~5中的任意一项所记载的控制系统中,
[0287]
所述调整单元在经由所述信号线接收到所述触发信号时,使用经由所述数据线取得的定时器值,取得所述第1单元的定时器的定时器值与所述第2单元的定时器的定时器值之差,并使用基于所取得的差的调整值,调整所述第2单元的定时器的定时器值,由此使所述第2单元的定时器与所述第1单元的定时器对准。
[0288]
[结构7]
[0289]
在结构6所记载的控制系统中,
[0290]
所述调整单元根据每次接收到所述触发信号时检测出的所述差的大小变化趋势来决定所述调整值。
[0291]
[结构8]
[0292]
在结构7所记载的控制系统中,
[0293]
所述控制系统还具有与第1网络(11)连接的多个控制装置(2),
[0294]
所述多个控制装置分别包含所述第1单元和所述第2单元,
[0295]
所述多个控制装置通过经由所述第1网络进行接收的公共的时刻(191a、191b)而相互同步,该时刻(191a、191b)是所述定时器间的同步所使用的时刻。
[0296]
[结构9]
[0297]
在结构8所记载的控制系统中,
[0298]
所述控制系统还具有:
[0299]
经由比所述第1网络下位的第2网络(110)与所述多个控制装置分别连接的1个或多个设备(90);以及
[0300]
在所述多个控制装置之间相互同步的同步定时器(101a、101b、101c),
[0301]
所述控制装置和与该控制装置的所述第2网络连接的所述1个或多个设备通过所述同步定时器的定时器值而相互同步。
[0302]
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书、而不由上述的说明来表示,意在包含与权利要求书等同的意思以及范围内的所有变更。
[0303]
标号说明
[0304]
1:控制系统;2、2a、2b、2c:控制装置;3a、3b、3c:工序;10b、20a、20b:校正部;10c、21:存储区域;11、12、13、14、110:网络;23、177:时刻同步程序;24:安全防护程序;90、90a、90c、90d、90f、90g、90i:现场设备;91a、91c、91d、91f、91g、91i、101a、101b、101c、102a、102b、102c、401a、401c:定时器;100:cpu单元;100a、100b、200a、200b:同步处理部;101、102、202、402:处理器;110p:信号端口;111、112:数据总线;113:信号线;119、121、123、125、126、168、213、dc、dc1、dc2、oc、oc1、oc2:计数器;191、191a、191b:主时钟;130:时刻同步信号;178:校正程序;180:时间序列数据库;182:时间序列数据;190:装置/生产线管理装置;
400:制造执行系统;450:时间序列db;451:db管理器;500:支持装置;ldc1、ldc2、loc1:锁存计数器值。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献