CN114222955A - 控制***、信息处理装置以及程序 - Google Patents
控制***、信息处理装置以及程序 Download PDFInfo
- Publication number
- CN114222955A CN114222955A CN202080057130.2A CN202080057130A CN114222955A CN 114222955 A CN114222955 A CN 114222955A CN 202080057130 A CN202080057130 A CN 202080057130A CN 114222955 A CN114222955 A CN 114222955A
- Authority
- CN
- China
- Prior art keywords
- timer
- information
- machines
- path
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 11
- 230000005540 biological transmission Effects 0.000 claims abstract description 95
- 238000000034 method Methods 0.000 claims description 67
- 238000004364 calculation method Methods 0.000 claims description 41
- 238000012546 transfer Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 17
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 50
- 238000012545 processing Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 21
- 230000004044 response Effects 0.000 description 12
- 235000008694 Humulus lupulus Nutrition 0.000 description 9
- 238000012937 correction Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/12—Arrangements providing for calling or supervisory signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Programmable Controllers (AREA)
Abstract
考虑表示传输路径的长度的指标来决定用于时刻同步的基准计时器。从多个传输机器所具有的计时器中决定基准计时器的计时器决定部件关于各多个传输机器而获取路径指标,所述路径指标表示数据从所述传输机器直至到达末端机器为止所经由的网络上的路径的长度,从多个传输机器中的、具有直至到达末端机器为止的路径呈现规定长度的路径指标的一个以上的传输机器的计时器中,决定基准计时器。
Description
技术领域
本发明涉及一种机器彼此进行时刻同步的控制***、信息处理装置以及程序。
背景技术
在各种生产现场,使用可编程逻辑控制器(Programmable Logic Controller,PLC)等控制装置的工厂自动化(Factory Automation,FA)技术已得到广泛普及。此种控制装置在彼此进行了时刻同步的多个机器之间经由网络来收发数据,通过数据来控制多个机器,由此来联动地控制多个机器。
关于装置间的时刻同步,例如专利文献1(日本专利特开2016-152489号公报)公开了一种时刻同步方法:与具有基准时刻的多个主机装置收发包含时刻信息的时刻同步数据包而使从机装置的时刻同步,具体而言,从机装置保存基于时刻同步数据包的时刻信息而对多个主机装置的每个主机装置所计算的偏移(offset),根据所保存的偏移来测定表示多个主机装置的每个主机装置的时刻品质的状态的评估值,对多个主机装置的每个主机装置的评估值进行比较,而切换为评估值所表示的时刻品质的状态高的主机装置的时刻信息。
现有技术文献
专利文献
专利文献1:日本专利特开2016-152489号公报
发明内容
发明所要解决的问题
FA***中,多个控制对象是依据根据基于时刻同步的控制周期而传输的控制数据来运行,因此在控制对象间要求高的时刻同步精度。另一方面,伴随FA***的大规模化,经由网络的数据传输路径存在变长的倾向。由此,根据控制对象,由于包含配置在与主机装置之间的路径中途的其他机器的时刻信息的滞留时间等的通信延迟,在控制对象间,时刻同步的精度有可能产生偏差。因此,在FA***中,为了满足所述要求,理想的是,考虑直至控制对象为止的传输路径中的传输路径的长度(通信延迟)来决定时刻同步的基准计时器。
但是,专利文献1并未提出FA***中的时刻同步。而且,专利文献1尽管考虑了传输路径中的时刻品质的状态,但是以主机装置的基准时刻的精度为优先而来选择主机,因此无法应对FA***中的所述期望。
本公开提供一种在FA***中考虑表示传输路径的长度的指标来决定用于时刻同步的基准计时器的控制***、信息处理装置以及程序。
解决问题的技术手段
本公开的控制***包括连接于FA的网络的多个机器,其中,多个机器分别具有管理时间的计时器,多个机器的计时器与管理基准时间的基准计时器进行时刻同步,多个机器包括:一个以上的末端机器,连接于网络的末端;以及多个传输机器,将与控制相关的数据传输至一个以上的末端机器,所述控制***包括计时器决定部件,所述计时器决定部件从多个传输机器所具有的计时器中,决定基准计时器,计时器决定部件具有路径指标获取部件,所述路径指标获取部件关于各多个传输机器而获取路径指标,所述路径指标表示数据从所述传输机器直至到达一个以上的末端机器为止所经由的网络上的路径的长度,从具有直至到达一个以上的末端机器为止的路径呈现规定长度的路径指标的一个以上的传输机器的计时器中,决定基准计时器。
根据本公开,在FA***中,能够考虑表示将数据传输至末端机器为止的路径的长度的指标来决定用于时刻同步的基准计时器。
所述的公开中,在时刻同步中,基准计时器的时间信息被传输至对象机器,路径的规定长度包含能够将与时间信息向对象机器的传输相关的通信延迟保证为固定的长度。
根据本公开,能够将为了选择用于决定基准计时器的一个以上的候选所参照的路径的规定长度,设为可将与时间信息向对象机器的传输相关的通信延迟保证为固定的长度。
所述的公开中,多个传输机器包含一个以上的控制器,所述一个以上的控制器以基于所述时刻同步的周期来执行控制运算,并将与作为运算结果的控制相关的数据传输至网络,一个以上的末端机器包含使用从一个以上的控制器中的、周期为最短的控制器传输的与控制相关的数据来对控制对象进行控制的机器。
根据本公开,能够将包含以最短的周期来算出末端机器对控制对象进行控制所用的数据的控制器的多个传输机器所具有的计时器,设为基准计时器的候选。
所述的公开中,控制对象包含依据与控制相关的数据来控制行为的运动控制对象。
根据本公开,能够将包含以最短的周期来算出对控制末端机器的运动控制对象进行控制所用的数据的控制器的多个传输机器所具有的计时器,设为基准计时器的候选。
所述的公开中,计时器决定部件还具有:精度指标计算部件,根据计时器的时间的精度与具有所述计时器的传输机器的路径指标,来算出表示时刻同步的精度的精度指标;以及候选选择部件,从具有直至到达一个以上的末端机器为止的路径呈现规定长度的路径指标的一个以上的传输机器的计时器中,选择用于决定基准计时器的一个以上的候选,从被选择作为候选的一个以上的计时器中,基于所选择的各计时器的精度指标来决定基准计时器。
根据本公开,在决定成为基准计时器的候选的候选计时器时,能够根据各计时器的时间精度与具有所述计时器的传输机器的路径指标,来算出为了决定所述候选所使用的指标。
所述的公开中,候选选择部件进而确定路径指标表示规定长度的路径的一个以上的传输机器中所含的一个以上的控制器中的、周期为最短的控制器,将所确定的所述控制器、与直至来自所述控制器的数据到达一个以上的末端机器为止所经由的一个以上的传输机器所具有的计时器,选择作为用于决定基准计时器的一个以上的候选。
根据本公开,能够从以最短的周期来算出末端机器对控制对象进行控制所用的数据的控制器、与将所述数据传输至末端机器为止的传输机器所具有的计时器中,决定基准计时器。
所述的公开中,计时器决定部件还具有精度指标计算部件,所述精度指标计算部件根据计时器的时间的精度与具有所述计时器的传输机器的路径指标,来算出表示时刻同步的精度的指标,从多个传输机器所具有的计时器中,基于各计时器的精度指标来决定基准计时器。
根据本公开,能够使用根据各计时器的时间的精度与具有所述计时器的传输机器的路径指标而算出的指标,来作为决定基准计时器所用的指标。
所述的公开中,还包括:从多个传输机器中,基于表示各传输机器所具有的与程序执行相关的资源的余裕的信息来选择一个传输机器的部件,所选择的一个传输机器具有计时器决定部件。
根据本公开,能够使控制***所包括的传输机器中的、具有可实施计时器决定部件的资源的传输机器,实施所述计时器决定部件。
本公开的信息处理装置能够连接于控制***,所述控制***包括连接于FA的网络的多个机器,其中,多个机器分别具有管理时间的计时器,多个机器的计时器与管理基准时间的基准计时器进行时刻同步,多个机器包括:一个以上的末端机器,连接于网络的末端;以及多个传输机器,将与控制相关的数据传输至一个以上的末端机器,所述信息处理装置包括计时器决定部件,所述计时器决定部件从多个传输机器所具有的计时器中,决定基准计时器,计时器决定部件具有:路径指标获取部件,关于各多个传输机器而获取路径指标,所述路径指标表示数据从所述传输机器直至到达一个以上的末端机器为止所经由的网络上的路径的长度;以及候选选择部件,从路径指标表示直至到达一个以上的末端机器为止的路径为规定长度的一个以上的传输机器的计时器中,选择用于决定基准计时器的一个以上的候选。
根据本公开,在FA***中,能够考虑表示将数据传输至末端机器为止的路径的长度的指标来决定用于时刻同步的基准计时器。
本公开的程序使计算机执行针对控制***的设定方法,所述控制***包括连接于FA的网络的多个机器。多个机器分别具有管理时间的计时器,多个机器的计时器与管理基准时间的基准计时器进行时刻同步,多个机器包括:一个以上的末端机器,连接于网络的末端;以及多个传输机器,将与控制相关的数据传输至一个以上的末端机器,设定方法包括从多个传输机器所具有的计时器中决定基准计时器的步骤,决定基准计时器的步骤具有下述步骤:关于各多个传输机器而获取路径指标,所述路径指标表示数据从所述传输机器直至到达一个以上的末端机器为止所经由的网络上的路径的长度;以及从路径指标表示直至到达一个以上的末端机器为止的路径为规定长度的一个以上的传输机器的计时器中,选择用于决定基准计时器的一个以上的候选。
根据本公开,通过执行程序,计算机能够在FA***中,能够考虑表示将数据传输至末端机器为止的路径的长度的指标来决定用于时刻同步的基准计时器。
发明的效果
根据本公开,在FA***中,能够考虑表示将数据传输至末端机器为止的路径的长度的指标来决定用于时刻同步的基准计时器。
附图说明
图1是示意性地表示依据实施方式的控制***1的结构的图。
图2是表示本实施方式的控制***1的硬件结构的一例的示意图。
图3是示意性地表示本实施方式的经由网络的机器的连接形态的一例的图。
图4是概略地表示本实施方式的支持装置500的结构的图。
图5是示意性地表示本实施方式的支持装置500的软件结构的图。
图6是概略地表示本实施方式的整体的处理的一例的流程图。
图7是示意性地表示本实施方式的考虑到控制对象的拓扑的一例的图。
图8是示意性地表示本实施方式的SNMP信息603的一例的图。
图9是示意性地表示本实施方式的拓扑信息30的一例的图。
图10是表示本实施方式的考虑到控制对象的拓扑信息的计算处理的一例的流程图。
图11是表示在图10的处理中所参照的访问历史611的一例的图。
图12是表示本实施方式的获取时钟信息605的处理的一例的流程图。
图13是表示本实施方式的对最短周期控制的相关机器610进行检测的处理的一例的流程图。
图14是示意性地表示本实施方式的项目60的一例的图。
图15是表示本实施方式的最优主机(grand master)的候选的选择与最优主机的决定处理的一例的流程图。
图16是示意性地表示本实施方式的机器间自主地检测最优主机的处理的一例的图。
图17是示意性地表示本实施方式的网络的结构的另一例的图。
图18是示意性地表示本实施方式的考虑到控制对象的拓扑的另一例的图。
图19是示意性地表示本实施方式的SNMP信息603的另一例的图。
图20是示意性地表示本实施方式的拓扑信息30的另一例的图。
图21是表示本实施方式的最优主机的候选的选择与最优主机的决定处理的另一例的流程图。
图22是示意性地表示本实施方式的控制***的另一结构的图。
图23是示意性地表示本实施方式的最优主机的动态决定的控制***的结构的一例的图。
图24是示意性地表示本实施方式的控制***的硬件结构的一例的图。
图25是示意性地表示本实施方式的开关1000的软件结构的图。
图26是表示本实施方式的决定选择器的处理的一例的流程图。
图27是表示本实施方式的使用选择器来决定最优主机的处理的一例的流程图。
图28是表示本实施方式的选择性地决定选择器的处理的一例的流程图。
图29是示意性地表示本实施方式的考虑到控制对象的拓扑的另一例的图。
图30是表示本实施方式的最短周期控制的相关机器的决定处理的一例的流程图。
图31是示意性地表示本实施方式的网络的结构的另一例的图。
图32是示意性地表示本实施方式的考虑到控制对象的拓扑的另一例的图。
图33是示意性地表示本实施方式的拓扑信息30的另一例的图。
图34是示意性地表示本实施方式的控制***的另一结构的图。
图35是说明通过本实施方式的最优主机的决定所带来的优点的图。
具体实施方式
以下,参照附图来说明依据本发明的实施方式。以下的说明中,对于同一零件及构成元件标注同一符号。它们的名称以及功能也相同。因此,不再重复关于它们的详细说明。
<A.适用例>
首先,参照图1,对适用本发明的场景的一例进行说明。图1是示意性地表示依据实施方式的控制***1的结构的图。参照图1,控制***1包括连接于FA的网络2而彼此进行时刻同步的多个机器。本实施方式中,例如通过采用时间敏感网络(Time-SensitiveNetworking,TSN)的电气与电子项目师协会(Institute of Electrical and ElectronicsEngineers,IEEE)1588、IEEE802.1AS、IEEE802.1AS-Rev等高精度时间同步协议来实现机器间的时刻同步。
连接于网络2的多个机器包含:作为“传输机器”的一实施例的开关100A、100B、100C、100D以及100E;以及作为“末端机器”的一实施例的端点(end point)200A、200B、200C、200D、200E以及200F。开关100A、100B、100C以及100E分别包括计时器101A、101B、101C、101D以及101E。开关100A、100B、100C以及100E在说明开关功能等的共同的功能的情况下总称为开关100。而且,计时器101A、101B、101C、101D以及101E在说明共同的功能的情况下,也总称为计时器101。端点200A、200B、200C、200D、200E以及200F分别包括计时器201A、201B、201C、201D、201E以及201F。端点200A、200B、200C、200D、200E以及200F具备共同的功能,因此在说明共同的功能的情况下,总称为端点200。计时器201A、201B、201C、201D、201E以及201F在说明共同的功能的情况下,也总称为计时器201。
本实施方式中,“传输机器”具备在网络2上传输数据(典型的是与控制相关的数据)的功能。“传输机器”具备对数据进行中继的开关功能。开关功能典型的是,将来到传输机器的与网络2相连的输入端口的数据经由传输机器的输出端口而送出至网络2。与输入端口以及输出端口相连的邻接的机器可包含其他的“传输机器”或“末端机器”。由此,各传输机器提供将从邻接的机器来到的数据传输至邻接的其他机器的、所谓的中继功能。
本实施方式中,“末端机器”包含不具备开关功能且使用经由网络2而接收的控制数据来驱动“控制对象”的机器。具体而言,“控制对象”包含配设在FA的生产线中且成为控制的对象的机械或设备、传感器等。机械或设备包含机器人、平台、输送器等的机械机构。作为此种机械或设备等的行为的控制,可包含用于对与机械或设备相关的伺服马达的运动(速度、扭矩等)进行控制的运动控制等的控制运算。此种运动控制还进而设想进行定位平台或机器人等机械机构的定位的运动程序等控制程序的执行。
而且,“末端机器”相当于经由网络2来接收控制对象的控制数据,并基于所接收的控制数据来对控制对象的动作进行控制的机器。“末端机器”并无限定,但例如包含对传感器等控制对象的输入/输出进行控制的IO单元、以及依据控制数据来驱动所述伺服马达的伺服马达驱动器等。
连接于网络2的“传输机器”包含:以基于所述时刻同步的周期来执行控制程序(控制运算),并将作为运算结果的控制数据经由输出端口而发送至网络2的一个以上的“控制器”。所述控制器可包含PLC(可编程逻辑控制器)。图1中,例如开关100B与100D相当于控制器。
作为网络2,例如优选采用进行依据TSN规格来保持数据到达时间的固定周期通信的总线或网络。例如,对于网络2,也可采用EtherNet/IP(注册商标)等与已知的协议相关的网络来作为TSN的上位协议。EtherNet/IP是在通用的以太网(Ethernet(注册商标))上安装有控制用协议的工业开放网络。在网络2上,数据例如是以帧为单位来传输。
“计时器”(计时器101、201)对具有一定精度的时间进行管理。具体而言,计时器101产生脉冲,所述脉冲成为从网络2收发数据、或者对控制对象的控制周期等进行指示的时机的基准。作为计时器101、201,并无限定,但可使用实时时钟或以规定周期来进行增加计数(增量或减量)的自由运行计数器。通过将自由运行计数器所输出的计数值作为从某时间点计起的经过时间来进行处理,从而能够计算当前时刻,由此,能够作为计时器而运行。
“基准计时器”是指从连接于网络2的多个传输机器(开关100)所具有的计时器(计时器101)中选择性地决定的计时器,且是对用于时刻同步的基准时间进行管理的计时器。以下,也将基准计时器称作最优主机。
本实施方式中,“计时器”所具有的时间的精度(时钟精度(Clock Accuracy))主要是指计时器所管理(测量)的时间的精度(例如毫秒、微秒等)。关于时间的精度,例如毫秒低于微秒。而且,时间的精度也可包含表示所述计时器能够稳定地测量时间的稳定性的程度。
本实施方式中,在控制对象中所探测出的现场值经由网络2来传输。“现场值”的概念也可包含连续地(或者隔开固定间隔而不连续地)探测关于任意控制对象的数据(值)的时间变化而获得的一连串的值。
通过由控制器来执行控制程序,从而实施基于现场值的控制运算,控制运算得出的算出值相当于包含用于对“控制对象”进行控制的指令值、控制量等的控制数据。控制器在基于时刻同步的预先规定的每个周期,将控制数据送出(传输)至网络2上。端点200以基于时刻同步的周期来接收控制数据,并依据所接收的控制数据来对控制对象进行控制。具体而言,在对机器人的臂的位置进行控制的运动控制的情况下,与臂的多个轴对应的多个伺服马达是由对应的多个端点200来与控制周期同步地进行控制。因此,为了彼此同步地控制多个控制对象,关于多个端点200的计时器201的时刻同步要求高精度。
进而,控制***1包括可连接于网络2的支持装置500。支持装置500是对使控制***1的多个机器进行时刻同步所需的准备进行支持的“信息处理装置”的一实施例。具体而言,支持装置500通过执行支持工具的应用程序,从而提供支持环境。支持装置500可提供支持用户来操作支持工具的环境例如对支持工具的操作进行受理的用户接口(UserInterface,UI)。支持装置500可为通用的计算机,也可为如图所示的固定型或用户可携带的类型。
支持装置500例如依据通用串行总线(Universal Serial Bus,USB)而经由线缆3来与开关100A进行通信,由此来连接于网络2,但支持装置500的连接形态并不限定于此,例如也可利用无线来连接于网络2。
支持装置500在启动支持工具770(图5)时,所启动的支持工具770考虑表示网络2的直至端点200为止的传输路径的长度的指标来决定用于时刻同步的最优主机。另外,当支持工具770被启动时,连接于网络2的机器为电源接通的状态,但停止与控制相关的动作,即,不在网络2上传输与控制相关的数据(现场值、控制数据等)。
支持工具770向连接于网络2的多个机器,发送请求将预先规定的信息发送至支持装置500的信息请求602。
开关100响应信息请求602,将简单网络管理协议(Simple Network ManagementProtocol,SNMP)信息603以及时钟信息605作为预先规定的信息而发送至支持装置500。而且,开关100响应信息请求602,从端点200接收作为预先规定的信息的机器信息604,并将所接收的机器信息604发送至邻接的开关100。这样,各端点200的机器信息604经由网络2上的一个以上的开关100而传输至支持装置500。
来自开关100的SNMP信息603是所述开关100所具有的信息,且包含开关100自身的信息(识别符(例如介质访问控制(Media Access Control,MAC)地址、制品名)、连接于所述开关100的邻接的机器的信息(识别符(例如MAC地址、制品名)、以及连接邻接的机器的端口的信息等。机器信息604包含端点200的识别符、机器的种类以及端口的信息、且连接所述端点200的开关的端口的信息。
时钟信息605是计时器101(或计时器201)所具有的信息,包含所述计时器所管理的时间的精度(时钟精度(Clock Accuracy))。
支持工具770对从各开关100所接收的SNMP信息603以及从各端点200接收的机器信息604进行分析,基于分析结果来算出表示网络2的多个机器彼此的连接形态的拓扑信息30(步骤T1)。支持工具770基于拓扑信息30与时钟信息605,从多个开关100所具有的计时器101中决定最优主机(步骤T13)。在最优主机的决定时,支持工具770关于各开关100来获取路径指标,所述路径指标表示从所述开关100直至到达端点200为止所经由的网络2上的路径的长度(步骤T10)。继而,支持工具770选择多个开关100中的、所述路径指标所表示的路径为规定长度的一个以上的开关100所具有的计时器101,来作为所述的最优主机的候选(步骤T11)。支持工具770在从所选择的一个以上的候选中决定了最优主机时,对最优主机(计时器101)的开关100发送优先权设定信息601。
收到优先权设定信息601的开关100基于优先权设定信息601来对自身机器设定表示最优主机的值的优先权。像这样对开关100设定的优先权相当于如后所述,为了将所述开关100的计时器101优先于其他计时器选择(决定)为最优主机而参照的值。
因此,支持工具770在FA***中,能够考虑表示将控制数据等数据传输至对控制对象进行控制的端点200为止的路径的长度的路径指标来选择候选计时器,并从所选择的候选计时器中决定最优主机。
以下,对本实施方式的更具体的应用例进行说明。
<B.硬件的结构例>
图2是表示本实施方式的控制***1的硬件结构的一例的示意图。图2中,将端点200关联于开关100而表示。图2的开关100典型的是以PLC作为基础而构成,但只要是包括如上所述的开关功能的结构,则并不限定于此结构。
参照图2,开关100包含中央处理器(Central Processing Unit,CPU)等处理器102、存储器104、贮存器106以及网络控制器110,来作为主要的组件。而且,开关100包含与支持装置500进行通信的接口(Interface,I/F)103。它们经由内部总线109来相互通信。
在贮存器106中,除了包含用于对开关100的各部进行控制的操作***(OperatingSystem,OS)的***程序107以外,还保存有根据控制对象等来设计的用户应用程序108。用户应用程序108包含根据控制对象等而设计的运动控制程序等的各种控制程序。
处理器102将保存于贮存器106的***程序107以及用户应用程序108读出到存储器104中来执行,由此来实现包含如后所述的处理的各种处理。存储器104包含动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static RandomAccess Memory,SRAM)等的易失性存储装置。
存储器104具有用于保存最优主机的优先权607的区域1041、用于保存自身机器的计时器101的优先权606的区域1042、以及用于保存表示自身机器的计时器101的精度(时钟精度(Clock Accuracy))的时钟信息605的区域1043。优先权606以及607是在用于选择最优主机的最佳主时钟算法(Best Master Clock Algorithm,BMCA)处理(图16)中使用。
网络控制器110提供接口,所述接口供开关100经由网络2来与端点200或其他开关100之间交换数据。网络控制器110包含接收电路(Rx)111、接收(Rx)缓冲器112、收发控制器(Tx/Rx CTRL)113、发送(Tx)缓冲器114、发送电路(Tx)115以及计时器101,以作为主要的组件。
接收电路111经由输入端口(未图示)来接收以基于时刻同步的周期在网络2上传输的帧,将保存在所述接收的帧中的数据写入至接收缓冲器112。收发控制器113依次读出被写入至接收缓冲器112中的接收帧。收发控制器113从所述读出的帧中,仅提取开关100中的处理所需的数据,并输出至处理器102。收发控制器113根据来自处理器102的指令,将应发送给端点200的数据或者帧依次写入至发送缓冲器114。发送电路115以在网络控制器110上传输帧的周期且基于时刻同步的周期,将保存在发送缓冲器114中的数据经由输出端口(未图示)而依次送出至网络2。
参照图2,端点200实现为了实现控制对象的控制所需的各种功能。典型的是,端点200各自负责现场信息从作为控制对象的设备或装置等的收集、或者控制指令向作为控制对象的设备或装置等的输出。端点200各自包含处理器202、存储器204、保存应用程序208的贮存器206以及通信电路210,以作为主要的组件。通信电路210对在网络2上传输的帧进行处理。即,通信电路210在经由网络2而从输入端口(未图示)收到某些帧时,进行针对所述接收的帧的数据写入和/或从帧的数据读出,随后,将所述帧经由输出端口(未图示)而送出至网络2。
更具体而言,通信电路210包含接收电路(Rx)211、收发控制器(Tx/Rx CTRL)212、发送电路(Tx)213以及计时器201。接收电路211以及发送电路213是与网络2物理连接的部位,根据来自收发控制器212的指令,来接收在网络2上传输的帧,对接收帧进行处理,并将处理后的帧送出至网络2。收发控制器212进行针对在网络2上传输的帧的数据写入和/或从所述帧的数据读出。
存储器204具有用于保存最优主机的优先权607的区域2041、用于保存自身机器的计时器201的优先权606的区域2042、以及用于保存表示自身机器的计时器201的精度(时钟精度(Clock Accuracy))的时钟信息605的区域2043。优先权607以及606是在用于选择最优主机的后述的BMCA处理中所使用的信息。端点200的组件经由总线209来相互通信。
开关100的计时器101产生时钟,所述时钟成为收发控制器113进行的输入/输出的时机或开关100进行的处理的执行时机等的基准。而且,端点200的计时器201产生时钟,所述时钟成为收发控制器212进行的指令输出的时机或端点200进行的处理的执行时机等的基准。计时器101以及计时器201如后所述,与最优主机进行时刻同步,因此能够使连接于网络2的开关100以及端点200彼此时刻同步地运行。
<C.机器的连接形态的例示>
图3是示意性地表示本实施方式的经由网络的机器的连接形态的一例的图。图3的网络结构中,以由斜线所示的开关100为中心而示意性地表示了多个机器(开关100或端点200)的连接形态。中心的开关100例如包括端口P1、P2以及P3,以作为经由网络来收发帧的端口。端口P1、P2以及P3分别连接有机器“C1”、“C”以及“C2”,但也可连接(多连接)有多个机器。与中心的开关100的各端口相连的机器“C1”、“C”以及“C2”还经由所述机器所具有的端口来连接其他机器。机器“C1”多连接机器“D1”与“B1”。而且,机器“C”多连接机器“D”与“B”。而且,机器“C2”多连接机器“D2”与“A2”。本实施方式中,此种机器间的连接形态(连接于端口的机器的信息与所述端口的信息)被算出作为后述的拓扑信息30。
<D.支持装置500的硬件结构>
图4是概略地表示本实施方式的支持装置500的结构的图。参照图4,支持装置500是包括中央处理器(Central Processing Unit,CPU)502与保存程序及数据的保存部,且依据程序来运行的计算机***。保存部包含只读存储器(Read Only Memory,ROM)503、随机存取存储器(Random Access Memory,RAM)504以及硬盘驱动器(Hard Disk Drive,HDD)505。支持装置500还包含通信控制器507以及输入/输出(Input/Output,I/O)接口508。支持装置500还包含键盘509以及显示器510。键盘509受理包含来自用户的、针对支持装置500的指示的输入。为了受理所述输入,支持装置500也可包含鼠标等其他设备。显示器510包含液晶显示器(Liquid Crystal Display,LCD)或有机电致发光(Electro Luminescence,EL)显示器,显示从支持装置500输出的信息。支持装置500包括读写器506(图中简称为R/W506),所述读写器506装卸自如地安装外部的存储介质501,对所安装的存储介质501读写程序和/或数据。
通信控制器507对经由线缆3的、支持装置500与外部设备的通信进行控制。通信控制器507例如包含网络接口卡(Network Interface Card,NIC)而构成。I/O接口508(图中简称为I/O508)对CPU502与键盘509及显示器510之间的数据交换进行控制。
HDD505具有保存包含操作***(Operating System,OS)的***程序70、构成支持工具的工具程序77、以及包含制品信息库91的信息群78的区域。制品信息库91对应于可连接于网络2的多个机器的各个,而包含所述机器的名称、与所述机器相关的信息。与机器相关的信息包含表示所述机器是开关或控制对象的端点,还是开关中的控制器,抑或是控制对象中的运动控制对象的信息。这些信息例如通过标记来表示。
信息群78的区域还包含用于保存机器信息604的机器信息区域80、用于保存SNMP信息603的SNMP信息区域81、用于保存拓扑信息30的拓扑信息区域82、用于保存项目60(图14)的项目区域83以及用于保存时钟信息605的时钟信息区域84。
工具程序77提供对控制***1设定与最优主机相关的信息的设定方法。具体而言,工具程序77包含信息收集程序71、拓扑计算程序72、以及决定最优主机的计时器的计时器决定程序73。计时器决定程序73包含路径指标获取程序74、使用项目60从多个计时器101中选择作为最优主机的候选的计时器的候选选择程序75、以及精度指标计算程序76。精度指标计算程序76使用时钟信息605来算出表示用于从候选计时器决定最优主机的时间精度的指标的精度指标。
信息收集程序71通过被执行而发送信息请求602,并接收作为所述请求的响应的SNMP信息603、机器信息604以及时钟信息605,且将所接收的信息分别保存至SNMP信息区域81、机器信息区域80以及时钟信息区域84。
拓扑计算程序72通过被执行而使用制品信息库91的信息来对SNMP信息区域81以及机器信息区域80的SNMP信息603以及机器信息604进行分析,并基于分析的结果来算出拓扑信息30(图10),且将所算出的拓扑信息30保存至拓扑信息区域82。
<E.支持装置500的软件结构>
图5是示意性地表示本实施方式的支持装置500的软件结构的图。图5中,与保存在HDD505中的相关的信息一同表示了通过由CPU502基于***程序70来执行图4所示的工具程序77而提供的支持工具770的功能。
支持工具770的功能包含与信息收集程序71、拓扑计算程序72以及计时器决定程序73各自对应的信息收集部710、拓扑计算部720以及计时器决定部711。计时器决定部711包含与路径指标获取程序74、候选选择程序75以及精度指标计算程序76各自对应的路径指标获取部721、候选选择部731以及精度指标计算部741。
<F.整体的处理流程>
图6是概略地表示本实施方式的整体的处理的一例的流程图。
参照图6,当在支持装置500中启动支持工具770时,拓扑计算部720算出拓扑信息30(步骤T1)。具体而言,信息收集部710从连接于网络2的开关100以及端点200收集SNMP信息603以及机器信息604(步骤T3、T5)。拓扑计算部720根据所收集的SNMP信息603以及机器信息604来实施拓扑信息30的计算处理(图8)。另外,开关100也可使用来自所连接的端点200的机器信息604,算出与所述开关相关的拓扑信息,并传输至支持装置500。
信息收集部710从连接于网络2的各开关100获取时钟信息605(步骤T7、T9)。
路径指标获取部721对所述算出的拓扑信息30进行分析,并基于分析的结果,关于各开关100而获取路径指标,所述路径指标表示控制数据从所述开关100直至到达端点200为止所经由的网络2上的路径的长度或路径上的距离(步骤T10)。本实施方式中,所述路径指标表示例如来自开关100的数据(控制数据等)直至到达端点200为止所经由的机器的数量即跳(Hop)数。
候选选择部731选择最优主机的一个以上的候选(步骤T11)。具体而言,候选选择部731从具有直至到达一个以上的端点200为止的路径呈现规定长度的路径指标的一个以上的传输机器的计时器中,选择最优主机的一个以上的候选的计时器101。或者,候选选择部731从具有以路径指标所选择的一个以上的候选的计时器101的开关100中的控制器中,选择以最短的周期来控制对象的一个以上的控制器的计时器101来作为候选。
计时器决定部711从最优主机的一个或多个候选中决定最优主机(步骤T13)。具体而言,精度指标计算部741对于被选择作为候选的一个以上的计时器101的各个,根据所述计时器101的时间的精度与具有所述计时器101的控制器的路径指标,来算出表示时刻同步的精度的精度指标。计时器决定部711将一个以上的候选(计时器101)中的、精度指标表示最高精度的候选决定为最优主机。
计时器决定部711对被决定为最优主机的计时器101,发送用于设定为最优主机的优先权设定信息601(步骤T15)。随后,连接于网络2的开关100与端点200例如实施BMCA处理(图16),以确定最优主机(步骤T17、T19)。
另外,支持装置500也可在获取了SNMP信息603、机器信息604以及时钟信息605后,从控制***1分离,并使用所获取的信息来决定最优主机,并将设定所决定的最优主机的优先权设定信息601输出至控制***1。
本实施方式中,计时器决定部711也可不选择候选的计时器101,而从各开关100的计时器101中决定最优主机。具体而言,计时器决定部711也可基于关于各计时器101而算出的所述精度指标来决定最优主机。例如,计时器决定部711也可将精度指标表示最高精度的计时器101决定为最优主机。
支持装置500也可包括如上所述的从候选的计时器101中决定最优主机的模式、与不选择候选的计时器101而从各开关100的计时器101中基于精度指标来决定最优主机的模式,当切换为其中任一种模式时,依据切换后的模式来决定最优主机。支持装置500例如依据从键盘509受理的用户操作来实施此种模式的切换。
<G.考虑到控制对象的拓扑与路径指标>
本实施方式中,作为控制对象,对于要求高精度的时刻同步的种类的控制对象,以保证时刻同步精度的方式来决定最优主机。
(G1.考虑到控制对象的拓扑的一例)
图7是示意性地表示本实施方式的考虑到控制对象的拓扑的一例的图。图7的拓扑中,作为控制对象,表示了以要求高精度的时刻同步的种类的控制对象即运动控制对象620的端点200(图中以端点(E)、(F)以及(G)所示)为中心的拓扑。拓扑具有与端点(E)、(F)以及(G)相连的开关100(图中以开关(A)、(B)、(C)以及(D)所示)。进而,图7的拓扑中,开关(B)以及(C)相当于执行运动控制对象620的运动控制程序的控制器,其中,开关(C)的控制器以最短的周期来执行运动控制程序。
本实施方式中,将连接在从执行运动控制对象620的运动控制程序的控制器中的以最短周期来执行的控制器直至对应的控制对象(端点200)为止的路径上的机器,称作“最短周期控制的相关机器610”。本实施方式中,可选择最短周期控制的相关机器610的开关100(更特定而言为控制器)所具有的一个或多个计时器101来作为候选计时器。
(G2.考虑到控制对象的SNMP信息与拓扑信息)
图8是示意性地表示本实施方式的SNMP信息603的一例的图。图9是示意性地表示本实施方式的拓扑信息30的一例的图。
图8的SNMP信息603包含图7的拓扑中的开关(A)~(D)各自的SNMP信息20A、20B、20C以及20D。参照图8,SNMP信息20A、20B、20C以及20D分别包含机器数据21、机器的名称22、与机器的端口分别对应的端口识别符(Identifier,ID)23、以及连接于各端口的其他机器的信息(机器数据24、其他机器的名称25以及端口ID26),以作为对应的机器的信息。
机器数据21、24包含MAC地址与网际协议(Internet Protocol,IP)地址这两者。其他机器的端口ID26表示与对应的端口ID23的端口相连的其他机器的端口。根据图9的SNMP信息603,在开关(C)的“端口2”连接有开关(D)的“端口1”。
图9的拓扑信息30例如表示根据图8的SNMP信息603而算出的信息。参照图9,拓扑信息30包含与开关(A)~(D)各自的SNMP信息20A、20B、20C以及20D对应的拓扑信息30A、30B、30C以及30D。参照图10,拓扑信息30A、30B、30C以及30D分别对应于运动控制对象32(各个端点(E)、(F)以及(G))而包含跳数31。
(G3.考虑到控制对象的拓扑信息的计算处理)
图10是表示本实施方式的考虑到控制对象的拓扑信息的计算处理的一例的流程图。图11是表示在图10的处理中所参照的访问历史611的一例的图。参照图11,访问历史611具有对应于开关的各端口而包含与所述端口连接的其他开关的识别信息608和作为临时值的跳数609的表格式。跳数609是在图10的处理中进行计算的期间,作为临时的值而参照。图11的访问历史611的信息例如表示了拓扑计算部720在探索图8的开关(A)的SNMP信息20A时所算出的值的一例。拓扑计算部720能够基于访问历史611来检测后述的环形拓扑。
参照图10,拓扑计算部720根据与SNMP信息603的各开关100的输出端口连接的机器的SNMP信息来算出拓扑。具体而言,拓扑计算部720从SNMP信息603中选择一个SNMP信息来访问(步骤S1)。例如,拓扑计算部720基于SNMP信息603的机器的名称22、25来检索制品信息库91,基于检索结果来依序访问具有作为开关的机器的名称22、25的SNMP信息(步骤S2)。图8中,例如机器的名称22、25为“制品名A”、“制品名B"、“制品名C”以及“制品名D”的SNMP信息20A~20D依序成为访问对象。另外,访问的次序并不限定于此。拓扑计算部720对于访问对象的SNMP信息,通过探索(操作)端口ID23、26的信息来算出拓扑信息30。
首先,拓扑计算部720从某开关的SNMP信息中选择未探索的端口来作为处理的对象端口(步骤S3),若判定为在所选择的对象端口未连接有开关(步骤S4中为否),则判定是否已探索了所有的端口(步骤S5),若判定为尚未探索所有的端口(步骤S5中为否),则返回步骤S3。拓扑计算部720若判定为已探索了所有的端口(步骤S5中为是),则清除在所述开关的端口探索中所使用的访问历史(图11)(步骤S6),并判定是否已对所有开关的SNMP信息进行了处理(步骤S7)。拓扑计算部720若判定为所有开关的SNMP信息的处理尚未结束(步骤S7中为否),则返回步骤S1,开始下个访问对象的SNMP信息的处理。拓扑计算部720若判定为所有开关的SNMP信息的处理已结束(步骤S7中为是),则结束处理。
拓扑计算部720若判定为在所选择的对象端口连接有开关(步骤S4中为是),则将作为临时变量的跳数(临时)609加上1(步骤S8),对访问对象开关的SNMP信息进行访问(步骤S9),并确认(扫描)对应的访问历史611(步骤S10)。
拓扑计算部720基于访问历史611中与对象端口对应的信息(识别信息608与跳数(临时)609),判定是否已算出从同一开关计起的跳数(临时)(步骤S11)。拓扑计算部720若判定为从同一开关计起的跳数(临时)609尚未算出(步骤S11中为否),则将开关的识别信息608与跳数(临时)609(在步骤S8中算出的值)保存作为访问历史611的对象端口的信息(步骤S13)。随后,移转至步骤S14。
拓扑计算部720若判定为从同一开关计起的跳数(临时)已算出(步骤S11中为是),则在步骤S12中实施环形拓扑时的判定。具体而言,在环形拓扑时,将重复算出拓扑信息,因此为了避免此种重复的算出,拓扑计算部720判定是否已满足(在步骤S8中算出的跳数(临时)<访问历史611的现有的跳数(临时)609)这一条件(步骤S12)。拓扑计算部720若判定为满足此条件(步骤S12中为是),则将跳数小的信息(在S8中算出的跳数(临时))选择作为正式信息。具体而言,拓扑计算部720将开关识别信息与跳数(临时)关联于访问历史611予以保存(步骤S13)。
拓扑计算部720若判定为不满足所述条件(步骤S12中为否),即,若判定为满足跳数(临时)≧现有的跳数(临时)这一条件,则已算出的拓扑信息为正式信息,因此不需要重新算出拓扑信息,因而移转至步骤S23,返回作为参照源的开关。
步骤S14中,拓扑计算部720选择开关的未探索的端口(步骤S14),拓扑计算部720关于所述选择的对象端口来判定是否连接有开关。具体而言,拓扑计算部720判定在对象端口的前一个是否连接有作为参照源的开关(步骤S15),若判定为连接有作为参照源的开关(步骤S15中为是),则返回步骤S14,但若判定为未连接有作为参照源的开关(步骤S15中为否),则判定在对象端口是否连接有未参照的开关(步骤S16)。拓扑计算部720若判定为在对象端口连接有未参照的开关(步骤S16中为是),则返回步骤S8,但若判定为在对象端口未连接有未参照的开关(步骤S16中为否),则拓扑计算部720关于所述开关来判定是否已探索了所有的端口(步骤S17)。拓扑计算部720若关于所述开关而判定为已探索了所有的端口(步骤S17中为是),则移转至后述的步骤S18,但若关于所述开关而判定为尚未探索所有的端口(步骤S17中为否),则返回步骤S14。
步骤S18中,拓扑计算部720判定在所述开关是否连接有开关以外的机器(即端点200)(步骤S18)。拓扑计算部720若判定为连接有开关以外的机器(步骤S18中为是),则将跳数31=跳数(临时)609+1保存至拓扑信息30(步骤S19),若判定为未连接开关以外的机器(步骤S18中为否),则将跳数31=跳数(临时)609保存至拓扑信息30(步骤S20),并移转至步骤S21。
拓扑计算部720判定是否存在作为运动控制对象的机器(步骤S21),若判定为存在作为运动控制对象的机器(步骤S21中为是),则将运动控制对象的识别信息保存至拓扑信息30(步骤S22),若判定为不存在作为运动控制对象的机器(步骤S21中为否),则移转至步骤S23。
拓扑计算部720判定是否存在作为参照源的开关(步骤S23),若判定为不存在作为参照源的开关(步骤S23中为否),则移转至步骤S5,但若判定为存在作为参照源的开关(步骤S23中为是),则拓扑计算部720从跳数(临时)609减去1(步骤S25),并返回作为参照源的开关的SNMP信息(步骤S26)。
根据在图10的处理中所生成的各开关的、例如与SNMP信息20A~20D(图8)分别对应的访问历史611的信息,拓扑计算部720能够生成关于各开关的拓扑信息30A~30D(图9)。
<H.时钟信息605的获取>
图12是表示本实施方式的获取时钟信息605的处理的一例的流程图。图6的步骤T7以及T9中,信息收集部710从网络2的各机器接收时钟信息605,并将所接收的时钟信息605保存至时钟信息区域84。
具体而言,信息收集部710从拓扑信息30中获取各开关100的IP地址(步骤S31)。信息收集部710使用所获取的IP地址,对各开关100发送请求时钟信息605的发送的信息请求602(步骤S32)。
各开关100的网络控制器110判定是否收到时钟信息605的信息请求602(步骤S33)。网络控制器110若判定为未收到时钟信息605的信息请求602(步骤S33中为否),则重复步骤S33,但若判定为已收到信息请求602(步骤S33中为是),则获取计时器101的时钟信息(时钟精度(Clock Accuracy))605(步骤S34),并将所获取的时钟信息605发送至支持装置500(步骤S35)。
支持装置500判定是否已从所有的开关100接收完作为响应的时钟信息605(步骤S36)。若判定为尚未接收完(步骤S36中为否),则重复步骤S36,但若判定为已接收完(步骤S36中为是),则将所接收的所有的时钟信息605保存在HDD505(步骤S37)。由此,支持装置500的信息收集部710能够收集所有开关100的时钟信息605。
<I.最短周期控制的相关机器610的检测>
图13是表示本实施方式的对最短周期控制的相关机器610进行检测的处理的一例的流程图。所述检测处理是候选选择部731使用各控制器的项目60来实施。图14是示意性表示本实施方式的项目60的一例的图。
参照图14,与保存在支持装置500的HDD505中的各控制器对应的项目60包含:网络(Network,NW)结构(控制器、控制器的控制对象、中继器等的信息)61、机器信息(与配设在NW结构61中的各机器对应的名称及IP地址等)62、NW结构61的各控制器所具有的控制周期63、包含与控制周期63同步地执行的控制程序的用户程序64。
参照图13,候选选择部731对各控制器的项目60的控制周期63彼此进行比较,基于比较的结果来选择具有呈现最小周期的控制周期63的项目60(步骤S41)。
候选选择部731对拓扑信息30与所选择的项目60的NW结构61以及机器信息62进行比对,基于比对的结果,从拓扑信息30中选择与NW结构61及机器信息62一致的机器的信息(步骤S42)。具体而言,基于比对的结果,将具有与NW结构61及机器信息62一致的机器的名称22、24及机器数据21、24(IP地址)的机器(开关100、端点200)决定为最短周期控制的相关机器610(步骤S43)。
<J.候选的选择与最优主机的决定>
图15是表示本实施方式的最优主机的候选的选择与最优主机的决定处理的一例的流程图。
参照图15,计时器决定部711从最短周期控制的相关机器610中,决定(检测)最优主机(图6的步骤T13)。具体而言,计时器决定部711关于拓扑信息30的各端点200,选择为直至所述端点为止的最大跳数以下的机器(开关100)(步骤S3)。所述最大跳数表示时刻同步协议能够保证时刻同步的最大的跳数。例如,若时刻同步协议为IEEE802.1AS,则最大跳数为“7”。本实施方式中,虽未限定,但将最大跳数例如设为“7”。
计时器决定部711判定所选择的机器是否为一个(步骤S5)。计时器决定部711若判定为所选择的机器为一个(步骤S5中为是),则发送优先权设定信息601(步骤S17),所述优先权设定信息601具有将所选择的机器(开关100)的区域1042的自身机器的优先权606设定为规定的最小值的指令。所选择的机器(开关100)依据来自计时器决定部711的优先权设定信息601的指令,将区域1042的自身机器的优先权606设定为规定的最小值。
计时器决定部711从所选择的机器中选择最短周期控制的相关机器610(步骤S7)。计时器决定部711判定最短周期控制的相关机器610的机器的数量是否为一个(步骤S9)。计时器决定部711若判定为所选择的机器为一个(步骤S9中为是),则实施步骤S17的处理。另一方面,在计时器决定部711判定为所选择的机器并非一个即为多个机器(开关100)时(步骤S9中为否),精度指标计算部741算出精度指标值(步骤S11)。
具体而言,精度指标计算部741根据所选择的多个机器(开关100)的拓扑信息,算出最大跳数的运动控制对象的新指标值(步骤S11)。具体而言,精度指标计算部741根据跳数、时刻修正的偏差(时刻修正误差)来算出新指标值,并较现有的参数而优先使用所述新指标值来作为选择最优主机的判断指标。作为新指标值的计算式,例如可适用(新指标值=对象机器的时钟信息605所示的时钟精度(Clock Accuracy)+(直至(最大跳数-1)为止的时刻修正误差))。另外,各机器的时刻修正误差视为共同的值。本实施方式中,时刻修正误差并无限定,但例如设为100nsec。例如,若设最大跳数=7,则可算出(直至(最大跳数-1)为止的时刻修正误差))为(7-1)×100ns。
计时器决定部711从在步骤S7中所选择的机器(开关100)中,选择新指标值为最小的机器(步骤S13),并判定所选择的机器是否为一个(步骤S15)。当判定为所选择的机器为一个时(步骤S15中为是),则计时器决定部711实施所述步骤S17的处理,但在判定为所选择的机器为多个时(步骤S15中为否),计时器决定部711向所选择的多个机器(开关100)发送优先权设定信息601(步骤S19)。所选择的机器(开关100)分别依据来自计时器决定部711的优先权设定信息601的指令,来对区域1042的自身机器的优先权606设定规定的最小值。
<K.具有高精度的计时器的机器的检测处理>
图16是示意性地表示本实施方式的机器间自主检测最优主机的处理的一例的图。所述检测处理例如是依据BMCA处理来实施。
图16中,表示了与开关100或端点200对应的机器“A”~“C”,其中,机器“B”的计时器101为最优主机。即,对于机器“B”的优先权606,通过所述的步骤T11的处理而设定了规定的最小值。
首先,在图16的(A)中,在动作开始时,各机器进行运行,以将自身机器的计时器101设为最优主机,并通过公告消息370来将自身机器的优先权606分发给其他机器。具体而言,开关100的处理器102将区域1042的自身机器的优先权606作为最优主机的优先权607而保存至区域1041,并且发送包含自身机器的优先权606的公告消息370。
各机器将所接收的公告消息370的优先权与自身机器的优先权606的值彼此进行比较,基于比较的结果,来判定其中一者的优先权606是否优于另一者的优先权606。具体而言,若比较的结果为其中一者的优先权的值小于另一者的优先权606的值,则表示其中一者的优先权606优于另一者的优先权606。而且,若比较的结果为其中一者的优先权606的值大于另一者的优先权606的值,则表示其中一者的优先权606差于另一者的优先权606。
图16的(B)中,若各机器基于所述比较的结果而判定为其他机器的优先权606优于自身机器的优先权606,则将所接收的公告消息370的优先权606覆盖存储器(区域1041、2041)的最优主机的优先权607。此时,实施所述覆盖的机器切换为从机(从最优主机接收时刻信息的一侧),并且停止自身机器的公告消息370的分发。
图16的(B)中,例如,机器“B”的优先权606优于机器“A”的优先权606。因此,机器“A”从主机切换为从机,并且停止公告消息370的分发。
图16的(C)中,各机器基于如上所述的优先权彼此的比较结果,若判定为来自其他机器的公告消息370的优先权606差于自身机器所具有的优先权606,则不将所述公告消息370传输给下个机器(废弃公告消息370)。
图16的(C)中,例如,机器“B”的优先权606优于机器“C”的优先权606。因此,机器“B”废弃从机器“C”接收的公告消息370。由此,来自机器“C”的公告消息370不经由机器“B”而分发给下个机器“A”。机器“C”将来自机器“B”的公告消息370的优先权606覆盖自身机器的存储器(区域1041、2041)的最优主机的优先权607。由此,机器“C”从主机切换为从机。
根据图16的BMCA处理,仅有由计时器决定部711将优先权606设定为规定的最小值的机器即机器“B”能够维持最开始的主机设定而不切换为从机,其结果,机器“B”的计时器101成为分发自身的时间信息的最优主机。
<L.网络结构的另一例>
图17是示意性地表示本实施方式的网络的结构的另一例的图。图17的控制***11的网络结构中,在开关100A,连接有基本结构11A、控制器为多端口的结构11B与菊链拓扑的结构11C。图1中,控制***1的网络结构仅包括基本结构,但控制***的网络结构并不限定于图1的结构,也可为图17的结构。
控制***11中,在基本结构11A中,与图1的结构同样地,控制器(开关100B)经由其他开关100来连接端点200。与此相对,结构11B包括控制器(开关100F),所述控制器在自身的多端口(不经由其他开关而)连接多个端点200(200G、200H以及200I)。开关100F以及端点200G、200H、200I分别具有计时器101F、201G、201H以及201I。
而且,菊链拓扑的结构11C是在连接于开关100A的控制器(开关100G)通过菊链而连接有开关100H以及100I、端点200J。开关100H、100I以及端点200J分别具有计时器101G、101H、101I以及201J。而且,开关100H以及开关100I也具备对控制对象进行控制的控制器的功能。例如,在因网络结构的变更等,而控制器100G为与结构11A或结构11C的控制器的提供公司不同的其他公司的制品的情况下,有时要求控制器100G以菊链来连接开关以及端点。
(L1.考虑到控制对象的拓扑信息的计算)
图18是示意性地表示本实施方式的考虑到控制对象的拓扑的另一例的图。图18的拓扑中,作为控制对象,表示了以连接要求高精度的时刻同步的种类的控制对象即运动控制对象620的机器(图中中以端点(E)以及(F)以及开关(D)所示)为中心的拓扑。进而,图18的拓扑中,开关(A)、(B)以及(C)相当于可执行运动控制对象620的运动控制程序的控制器,其中,开关(C)与(D)以最短的控制周期来执行运动控制程序。因此,图18中,最短周期控制的相关机器610包括开关(C)与(D)以及端点(F),可选择最短周期控制的相关机器610所具有的一个或多个计时器101来作为候选计时器。
(L2.考虑到控制对象的SNMP信息与拓扑信息)
图19是示意性地表示本实施方式的SNMP信息603的另一例的图。图20是示意性地表示本实施方式的拓扑信息30的另一例的图。
图19的SNMP信息603表示信息收集部710对图18的网络结构发送信息请求602而作为响应所接收的SNMP信息603。图19的SNMP信息603包含图18的拓扑中的开关(A)~(D)各自的SNMP信息20A、20B、20C以及20D。与图19的开关(D)对应的SNMP信息20D不同于与图8的拓扑信息903的开关(D)对应的SNMP信息,表示基于开关(D)仅连接端点(F)的情况的信息。图19的SNMP信息20A、20B以及20C分别与图8的对应的信息相同,因此不再重复说明。
拓扑计算部720根据图19的SNMP信息603来生成图20的拓扑信息30。图20的拓扑信息30的计算处理与图10的处理同样,因此不再重复说明。
(L3.候选的选择与最优主机的决定)
图21是表示本实施方式的最优主机的候选的选择与最优主机的决定处理的另一例的流程图。图21的处理可适用于包含菊链拓扑(图17)的网络结构。图21的处理是对图15的处理追加了步骤S4a以及S4b,图21的其他处理与图15同样。因此,图21的处理主要说明步骤S4a与S4b的处理。
菊链拓扑中,例如像图17的菊链拓扑11C所示,在从端点200J(远程控制对象的端点)直至执行运动控制程序的控制器(开关100G)为止的路径中,包含不受所述控制器控制的控制对象(即,由控制器100H与100I所控制的控制对象)的机器。这样,控制器100H或控制器100I并非执行运动控制对象620的运动控制程序的控制器,因此必须从最优主机的候选机器中排除它们。考虑到此点,图21中,在步骤S4a与S4b的处理中,实施此种排除处理。
此种排除处理中,在图18的开关(D)被排除的情况下,计时器决定部711从图20的拓扑信息30中排除(删除)开关(D)的拓扑信息30D。由此,能够从以路径指标所选择的开关100中,优先选择具备对运动控制对象620进行控制的开关功能的一个以上的控制器的计时器101来作为最优主机。
(L4.环型的拓扑)
图22是示意性地表示本实施方式的控制***的另一结构的图。参照图22,控制***12具备环型的网络结构。环型的网络结构中,开关100A、100B、100C以及100D经由网络2连接成圆状,在链路中,数据朝其中一方向传输。进而,开关100B仅连接端点200,开关100D以多端口连接多个端点200,开关100C经由其他开关100而连接端点200。
图22中,连接于开关100A的支持装置500启动支持工具770,由此,对于环型的拓扑也能够同样地适用所述最优主机的决定方法。
<M.最优主机的动态决定>
如上所述的基于网络拓扑的最优主机的决定是通过支持装置500启动支持工具770来实施(也将其称作静态决定)。本实施方式中,也提供最优主机的动态决定。动态决定中,并非在支持装置500中,而是在构成网络的任一个开关100中,典型的是在控制器中实施支持工具770。下文也将此种控制器称作“选择器”。因此,即便在难以将支持装置500连接至控制***的环境下,选择器也能够实施与支持工具770同样的处理来决定最优主机。
图23是示意性地表示本实施方式的最优主机的动态决定的控制***的结构的一例的图。图23的动态决定的控制***1A不包括支持装置500,但其他结构与图1所示的结构同样,因此不再重复说明。
(M1.最优主机的动态决定的控制***的结构)
图24是示意性地表示本实施方式的控制***的硬件结构的一例的图。图24中,将端点200关联于图23的控制***1A的开关1000而表示。图24的开关1000典型的是以PLC为基础而构成,但只要是具备如上所述的开关功能的结构,则并不限定于此结构。
开关1000在存储器104中具有保存候选数据704的区域1044,所述候选数据704表示自身机器是否为选择器候选。而且,在贮存器106中,追加于图2的***程序107以及用户应用程序108而保存与最优主机的动态决定相关的选择器程序79、工具程序771以及信息群78。贮存器106的工具程序771以及信息群78与保存在支持装置500的HDD505中的工具程序771以及信息群78(图4)同样,因此不再重复说明。而且,开关1000的其他结构以及端点200的结构与图4所示同样,因此不再重复说明。
图25是示意性地表示本实施方式的开关1000的软件结构的图。图25中,表示了通过由CPU102基于***程序107来执行工具程序771与选择器程序79而提供的选择器部702以及支持工具770a的功能。在支持工具770a的功能中,除了与候选选择程序75a对应的候选选择部731a以外的功能与图5所示的功能同样,因此不再重复说明。
(M2.整体处理流程)
参照图26与图27来说明与最优主机的动态决定相关的处理的概略。当实施最优主机的动态决定时,连接于网络2的机器为电源接通的状态,但停止与控制相关的动作即不在网络2上传输与控制相关的数据(现场值、控制数据等)。
图26是表示本实施方式的决定选择器的处理的一例的流程图。图26中,连接于网络2的开关1000相当于选择器候选。各开关1000(选择器候选)的选择器部702与连接于网络2的其他开关1000进行通信而决定选择器。
具体而言,开关1000的选择器部702彼此相互地对包含自身机器的处理器102所具有的CPU的运转率的通知进行通信(步骤T20、T21)。各开关1000的选择器部702对从其他开关1000接收的通知所表示的CPU运转率进行比较,并基于比较的结果来选择性地决定“选择器”(步骤T23、T24)。步骤T24、T25的处理将利用图28而后述。
图27是表示本实施方式的使用选择器来决定最优主机的处理的一例的流程图。图27的流程图是通过在图26的处理中所选择的“选择器”中启动支持工具770a而实施。图27的选择器的处理中的、除了步骤T11a的处理(图30)以外的处理与图6的处理同样,因此不再重复说明。而且,开关1000(非选择器)的处理以及端点200的处理与图6中所示的处理同样,因此不再重复说明。
(M3.选择性地决定选择器的处理)
图28是表示本实施方式的选择性地决定选择器的处理的一例的流程图。
首先,选择器部702判定自身机器是否适合于选择器候选(步骤S41、S42),当判定为不适合时(步骤S41中为否或步骤S42中为否),选择器部702在区域1044中设定(保存)表示自身机器并非选择器候选的“非(Not)选择器候选”的候选数据704(步骤S50),由此,保存“非选择器候选”的日志(步骤S51)。随后,移转至后述的步骤S53。
自身机器是否适合于选择器候选的判定是基于自身机器的资源是否存在能够执行支持工具770的程序的程度的余裕来判定。例如,判定包含自身机器的贮存器106或存储器104的存储区域的空余容量是否为阈值以上(步骤S41),或者判定自身机器的CPU运转率是否为阈值以下(步骤S42)。
选择器部702若判定为自身机器的存储区域的空余容量为阈值以上(步骤S41中为是)以及判定为自身机器的CPU运转率为阈值以下(步骤S42中为是),则选择器部702在区域1044中设定(保存)表示自身机器为选择器候选的“选择器候选”的候选数据704(步骤S43)。选择器部70随后为了判定是否已达到选择性地决定选择器的期限,而判定从处理开始是否已经过了规定时间(例如X1小时)(步骤S44)。
选择器部702若判定为已经过了规定时间(步骤S44中为是),则在区域1044中设定(保存)表示“选择器”的候选数据704(步骤S49),并对其他机器,基于候选数据704而发送自身机器为“选择器”的意旨的选择器通知(步骤S52)。随后,移转至后述的步骤S53。
另一方面,选择器部702若判定为从处理开始尚未经过规定时间(步骤S44中为否),则将包含自身机器的CPU运转率的通知以多播的方式发送至其他机器(步骤S45)。选择器部702判定是否从其他的选择器候选收到包含CPU运转率的通知(步骤S46),若判定为已收到所述通知(步骤S46中为是),则选择器部702将所收到的通知中所含的CPU运转率与自身机器的CPU运转率进行比较,基于比较的结果来判定自身机器的CPU运转率是否小于其他选择器候选的CPU运转率(步骤S47)。选择器部702若基于比较的结果而判定为自身机器的CPU运转率为其他选择器候选的CPU运转率以上(步骤S47中为否),则选择器部702移转至步骤S50。
而且,选择器部702若判定为未从其他选择器候选收到包含CPU运转率的通知(步骤S46中为否),或者若判定为自身机器的CPU运转率小于其他选择器候选的CPU运转率(步骤S47中为是),则选择器部702判定从发送步骤S45的通知开始是否已经过了规定时间即CPU运转率的发送周期的时间X2)(步骤S48)。若判定为已经过了所述规定时间(步骤S48中为是),则移转至步骤S49,但若判定为尚未经过所述规定时间(步骤S48中为否),则返回步骤S44,并发送CPU运转率的通知。
步骤S53中,选择器部702判定是否从其他的选择器候选收到了选择器通知(步骤S53),选择器部702若判定为收到了选择器通知(步骤S53中为是),则结束处理。
另一方面,选择器部702若判定为未从其他的选择器候选收到选择器通知(步骤S53中为否),且判定为从在区域1044中设定了“非选择器候选”的候选数据704(的步骤S50)时开始已经过了规定时间(例如X3秒)(步骤S54中为是),则选择器部702判定为在控制***中不存在选择器(步骤S55)。
选择器部702若判定为从在1044中设定了“非选择器候选”的候选数据704(的步骤S50)时开始尚未经过规定时间(步骤S54中为否),则返回步骤S53。
根据图28的处理,从多个选择器候选中,对存在能够执行支持工具770a的程度的资源余裕的选择器候选的候选数据704设定“选择器”。另外,在结束了图28的处理时,若选择器候选的所有的候选数据704被设定为“非选择器候选”,则也可按照以往的IEEE802.1AS等来实施时刻同步处理。
(M4.考虑到控制对象的拓扑的一例)
图29是示意性地表示本实施方式的考虑到控制对象的拓扑的另一例的图。图29的拓扑表示了以运动控制对象620的端点200(图中以端点(E)、(F)以及(G)所示)为中心的拓扑。拓扑具有与端点(E)、(F)以及(G)相连的开关100(图中以开关(A)、(B)、(C)以及(D)所示)。进而,图29的拓扑中,开关(B)以及(C)相当于执行运动控制对象620的运动控制程序的控制器,其中,开关(C)以最短的周期来执行运动控制程序。
图29的拓扑中,开关(C)通过图28的处理被决定为“选择器”,作为选择器的开关(C)实施支持工具770,由此来对其他开关发送信息请求602。另外,图29中,从作为选择器的开关(C)发送的优先权设定信息601、从其他开关发送的SNMP信息603、机器信息604以及时钟信息605与图1所示的信息同样,因此省略图示。
(M5.最短周期控制的相关机器的决定)
图30是表示本实施方式的最短周期控制的相关机器的决定处理的一例的流程图。通过图28的处理被决定为“选择器”的开关1000通过与其他控制器进行通信,从而决定最短周期控制的相关机器610。另外,此处,各控制器将自身机器的项目60(图14)保存在内部的存储器中。
参照图30,选择器的候选选择部731a基于拓扑信息30,来获取连接于网络2的控制器各自的IP地址(步骤S61)。
候选选择部731a如后所述,从各控制器请求与最短的控制周期相关的信息(步骤S63)。考虑此情况,在图30的处理中,设有请求的发送周期(例如X5秒)以及针对请求的响应的期限(从请求经过规定时间(例如经过X4秒))。
候选选择部731a判定从所述请求的发送开始是否已经过了规定时间(例如经过了X4秒)(步骤S62)。候选选择部731a若判定为已经过了所述规定时间(步骤S62中为是),则移转至后述的步骤S67。
候选选择部731a若判定为从发送请求开始尚未经过所述规定时间(步骤S62中为否),则使用在步骤S61中获取的IP地址来对控制器发送包含最短控制周期对象的信息的请求的请求通知(步骤S63)。
控制器的处理器102判定是否从选择器的候选选择部731a收到请求通知(步骤S70),若判定为未收到(步骤S70中为否),则结束处理,但若判定为收到请求通知(步骤S70中为是),则从自身机器所具有的项目60中选择(提取)最短的控制周期63(步骤S71)。控制器的处理器102从项目60中检索最短的控制周期63、NW结构61以及机器信息62,并将包含所检索出的这些信息的响应的通知发送至选择器(步骤S72)。
选择器的候选选择部731a判定是否从控制器收到针对所述请求通知的响应通知(步骤S64)。若判定为未收到响应(步骤S64中为否),则移转至步骤S66,但若判定为收到响应(步骤S64中为是),则候选选择部731a将所接收的响应内容(最短控制周期、NW结构以及机器信息)保存(储存)至存储器104(步骤S65)。候选选择部731a若判定为已经过了请求的发送周期(例如X5秒)的时间(步骤S66中为是),则移转至步骤S67,但若判定为尚未经过所述时间(步骤S66中为否),则返回步骤S62。
步骤S67中,候选选择部731a从在步骤S65中所保存的信息中,选择最短的最短控制周期63的NW结构61以及机器信息62(步骤S67)。此时,若选择了多个最短的最短控制周期63,则选择所述多个最短控制周期63各自的NW结构61的全部。
候选选择部731a对拓扑信息30与所选择的项目60的NW结构61以及机器信息62进行比对,基于比对的结果,从拓扑信息30中选择与NW结构61及机器信息62一致的机器的信息(步骤S68)。具体而言,基于比对的结果,将具有与NW结构61及机器信息62一致的机器的名称22、24以及机器数据21、24(IP地址)的机器(开关100、端点200)决定为最短周期控制的相关机器610(步骤S69)。由此,例如选择器能够将图29的开关(C)及(D)以及端点(F)及(G)决定为最短周期控制的相关机器610。
<M6.网络结构的另一例>
图31是示意性地表示本实施方式的网络的结构的另一例的图。包括图31的控制***1B的菊链拓扑11C的网络结构是动态地决定最优主机的结构,且与从图17的网络结构中去除了支持装置500的结构同样,因此不再重复说明。
图32是示意性地表示本实施方式的考虑到控制对象的拓扑的另一例的图。图32的拓扑中,作为控制对象,表示了连接要求高精度的时刻同步的种类的控制对象即运动控制对象620的机器(图中以端点(E)以及(F)以及开关(D)所示)为中心的拓扑。进而,图32的拓扑中,开关(A)、(B)以及(C)相当于可执行运动控制对象620的运动控制程序的控制器,其中,开关(C)与(D)以最短的控制周期来执行运动控制程序。因此,图32中,最短周期控制的相关机器610包括开关(C)与(D)以及端点(F),可选择最短周期控制的相关机器610所具有的一个或多个计时器101来作为候选计时器。
图33是示意性地表示本实施方式的拓扑信息30的另一例的图。图33中,通过如上所述的排除处理,开关(D)被排除,由此,从图33的拓扑信息30删除(排除)与开关(D)对应的拓扑信息30D。
(M7.环型的拓扑)
图34是示意性地表示本实施方式的控制***的另一结构的图。参照图34,控制***1C具备环型的网络结构。所述环型的网络结构中,开关100A、100B、100C以及100D经由网络2而连接成圆状,在动态地决定最优主机的情况下,由选择器来选择所述任一个开关,由此,在选择器的开关中实施支持工具770a,由此来实现最优主机的动态决定。图34的控制***1C的网络结构不包括支持装置500,但其他结构与图22所示的结构同样,因此不再重复说明。
<N.***同步处理>
当由计时器决定部711决定最优主机的计时器101时,为了使连接于网络2的各机器所包括的计时器与最优主机进行时刻同步而实施***同步处理。
具体而言,具有被设定为最优主机的计时器101的开关100为了与其他开关100以及端点200之间取得时刻同步,而实施以所述计时器101为基准来调整其他开关100的计时器101以及端点200的计时器201的处理等。
<O.程序>
支持装置500的CPU502或开关100的处理器102通过执行支持工具770(770a)的程序,从而进行支持装置500或开关100内的各构成元件的控制。HDD105或贮存器106可存储与此种支持工具相关的程序以及数据等。
HDD505以及贮存器106的存储介质并不限定于HDD或SSD。
而且,与支持工具770相关的程序或数据也可经由各种通信线路而下载至HDD505。或者,也可经由存储介质501而下载至HDD505。存储介质501是以计算机或其他装置、机械等可读取所记录的程序等的信息的方式,而通过电、磁、光学、机械或化学的作用来保存所述程序等的信息的介质。支持装置500也可从所述存储介质501获取与支持工具770相关的程序或数据。与选择器部702以及支持工具770a相关的程序或数据也可经由各种通信线路而下载至贮存器106。或者,也可经由存储介质501而下载至HDD505。
程序可由CPU等一个以上的处理器、或者处理器与专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field Progra mmable GateArray,FPGA)等电路的组合来执行。
<P.优点>
图35是说明通过本实施方式的最优主机的决定所带来的优点的图。图35的(A)中,在控制***的网络结构中,以矩形的标记表示了多个机器(开关100或端点200),且表示了利用网络来连接这些标记的拓扑。图35的(A)中,“A”与“B”的矩形相当于最优主机的机器,斜线的机器是具有与最优主机进行时刻同步的计时器的对象机器。
图35的(B)示意性地表示了所述***同步处理的一例。图35的(B)中,在最优主机GM的机器与邻接的机器SW1这两个机器间进行时刻同步,随后,经时刻同步的机器SW1成为主机,使邻接的机器SW2的计时器进行时刻同步。由于在依次邻接的机器间进行时刻同步,因此误差(ΔT(M-1)、ΔT(1-2)、Δt(2-3))传播。因此,跳数越多,则传播的误差变得越大,时刻同步的精度越下降。作为本实施方式的背景,在FA用途的机器(开关100或端点200等)中,时钟的精度要求毫秒级的情形少,因此可认为:相较于“计时器”所具有的时间的精度(时钟精度(Clock Accuracy)),路径指标(跳数)对时刻同步的精度的影响更大。
基于此种背景,本实施方式中,首先,依据路径指标(拓扑的跳数)来决定保证时刻同步的精度的范围,例如所传播的误差成为规定大小的范围,并将所决定的范围内的机器所具有的各计时器作为最优主机的候选。并且,精度指标计算部741根据候选的计时器各自的时间精度(时钟信息605)与路径指标来算出所述计时器的新的精度,计时器决定部711将新的精度高的候选计时器决定为最优主机。
例如,在图35的(A)的情况下,判定为:直至对象机器为止,在所传播的误差成为规定大小的范围(即,依据拓扑的跳数而决定的范围)内,存在机器“A”与“B”来作为最优主机的候选。存在下述可能:尽管最优主机的候选的机器“A”具有比机器“B”高的时间精度,但由于所述的新的精度要考虑跳数,因此例如机器“B”的新的精度更高,从而将机器“B”的计时器决定为最优主机。
<Q.附注>
如上所述的本实施方式包含如下所述的技术思想。
[结构1]
一种控制***,包括连接于FA的网络(2)的多个机器(100、200),其中
所述多个机器分别具有管理时间的计时器(101、201),
所述多个机器的计时器与管理基准时间的基准计时器进行时刻同步,
所述多个机器包括:
一个以上的末端机器(200),连接于所述网络的末端;以及
多个传输机器(100),将与控制相关的数据传输至所述一个以上的末端机器,
所述控制***包括计时器决定部件(711),所述计时器决定部件(711)从所述多个传输机器所具有的计时器中,决定所述基准计时器,
所述计时器决定部件,路径指标获取部件(721),所述路径指标获取部件(721)关于各所述多个传输机器而获取路径指标,所述路径指标表示所述数据从所述传输机器直至到达所述一个以上的末端机器为止所经由的网络上的路径的长度,
从具有直至到达所述一个以上的末端机器为止的路径呈现规定长度的所述路径指标的一个以上的传输机器的计时器中,决定所述基准计时器。
[结构2]
根据结构1所述的控制***,其中
在所述时刻同步中,所述基准计时器的时间信息被传输至对象机器,
所述路径的规定长度包含能够将与所述时间信息向所述对象机器的传输相关的通信延迟保证为固定的长度。
[结构3]
根据结构1或2所述的控制***,其中
所述多个传输机器包含一个以上的控制器,所述一个以上的控制器以基于所述时刻同步的周期来执行控制运算,并将与作为运算结果的所述控制相关的数据传输至所述网络,
所述一个以上的末端机器包含使用从所述一个以上的控制器中的、所述周期为最短的控制器传输的与所述控制相关的数据来对控制对象进行控制的机器(620)。
[结构4]
根据结构3所述的控制***,其中
所述控制对象包含依据与所述控制相关的数据来控制行为的运动控制对象。
[结构5]
根据结构1至4中任一项所述的控制***,其中
所述计时器决定部件还具有:
精度指标计算部件(741),根据所述计时器的所述时间的精度与具有所述计时器的所述传输机器的所述路径指标,来算出表示所述时刻同步的精度的精度指标;以及
候选选择部件(731、731a),从具有直至到达所述一个以上的末端机器为止的路径呈现规定长度的所述路径指标的一个以上的传输机器的计时器中,选择用于决定所述基准计时器的一个以上的候选,
从被选择作为所述候选的一个以上的计时器中,基于所选择的各计时器的所述精度指标来决定所述基准计时器。
[结构6]
根据结构5所述的控制***,其中
所述候选选择部件进而确定所述路径指标表示所述规定长度的路径的一个以上的传输机器中所含的一个以上的控制器中的、所述周期为最短的控制器,
将所确定的所述控制器、与直至来自所述控制器的所述数据到达所述一个以上的末端机器为止所经由的一个以上的传输机器所具有的计时器,选择作为用于决定所述基准计时器的所述一个以上的候选。
[结构7]
根据结构1至5中任一项所述的控制***,其中
所述计时器决定部件还具有精度指标计算部件(741),所述精度指标计算部件(741)根据所述计时器的所述时间的精度与具有所述计时器的所述传输机器的所述路径指标,来算出表示所述时刻同步的精度的指标,
从所述多个传输机器所具有的计时器中,基于各计时器的所述精度指标来决定所述基准计时器。
[结构8]
根据结构1至7中任一项所述的控制***,还包括:
从所述多个传输机器中,基于表示各传输机器所具有的与程序执行相关的资源的余裕的信息来选择一个传输机器的部件(702),
所述选择的一个传输机器具有所述计时器决定部件。
[结构9]
一种信息处理装置(500),能够连接于控制***,所述控制***包括连接于FA的网络(2)的多个机器(100、200),其中
所述多个机器分别具有管理时间的计时器(101、201),
所述多个机器的计时器与管理基准时间的基准计时器进行时刻同步,
所述多个机器包括:
一个以上的末端机器(200),连接于所述网络的末端;以及
多个传输机器(100),将与控制相关的数据传输至所述一个以上的末端机器,
所述信息处理装置包括计时器决定部件(711),所述计时器决定部件(711)从所述多个传输机器所具有的计时器中,决定所述基准计时器,
所述计时器决定部件,路径指标获取部件(721),所述路径指标获取部件(721)关于各所述多个传输机器而获取路径指标,所述路径指标表示所述数据从所述传输机器直至到达所述一个以上的末端机器为止所经由的网络上的路径的长度,
从所述路径指标表示直至到达所述一个以上的末端机器为止的路径为规定长度的一个以上的传输机器的计时器中,决定所述基准计时器。
[结构10]
一种程序(77、771),使计算机(102、502)执行针对控制***的设定方法,所述控制***包括连接于FA的网络(2)的多个机器(100、200),其中
所述多个机器分别具有管理时间的计时器(100、200),
所述多个机器的计时器与管理基准时间的基准计时器进行时刻同步,
所述多个机器包括:
一个以上的末端机器(200),连接于所述网络的末端;以及
多个传输机器(100),将与控制相关的数据传输至所述一个以上的末端机器,
所述设定方法包括从所述多个传输机器所具有的计时器中决定所述基准计时器的步骤(T10、T11、T11a、T13),
决定所述基准计时器的步骤具有:
步骤(T10),关于各所述多个传输机器而获取路径指标,所述路径指标表示所述数据从所述传输机器直至到达所述一个以上的末端机器为止所经由的网络上的路径的长度;以及
步骤(T11),从所述路径指标表示直至到达所述一个以上的末端机器为止的路径为规定长度的一个以上的传输机器的计时器中,决定所述基准计时器。
应认为,此次公开的实施方式在所有方面为例示而非限制者。本发明的范围是由权利要求而非所述的说明所示,且意图包含与权利要求均等的含义以及范围内的所有变更。
符号的说明
1、1A、1B、1C、11、12:控制***
2:网络
3:线缆
11A:基本结构
11C:菊链拓扑
71:信息收集程序
72:拓扑计算程序
73:计时器决定程序
74:路径指标获取程序
75、75a:候选选择程序
76:精度指标计算程序
77、771:工具程序
78:信息群
79:选择器程序
80:机器信息区域
81:SNMP信息区域
82:拓扑信息区域
83:项目区域
84:时钟信息区域
91:制品信息库
370:公告消息
500:支持装置
501:存储介质
601:优先权设定信息
602:信息请求
603:SNMP信息
604:机器信息
605:时钟信息
610:最短周期控制的相关机器
611:访问历史
620:运动控制对象
702:选择器部
704:候选数据
710:信息收集部
711:计时器决定部
720:拓扑计算部
721:路径指标获取部
731、731a:候选选择部
741:精度指标计算部
770、770a:支持工具
Claims (10)
1.一种控制***,包括连接于工厂自动化的网络的多个机器,其中
所述多个机器分别具有管理时间的计时器,
所述多个机器的计时器与管理基准时间的基准计时器进行时刻同步,
所述多个机器包括:
一个以上的末端机器,连接于所述网络的末端;以及
多个传输机器,将与控制相关的数据传输至所述一个以上的末端机器,
所述控制***包括计时器决定部件,所述计时器决定部件从所述多个传输机器所具有的计时器中,决定所述基准计时器,
所述计时器决定部件具有路径指标获取部件,所述路径指标获取部件关于各所述多个传输机器而获取路径指标,所述路径指标表示所述数据从所述传输机器直至到达所述一个以上的末端机器为止所经由的网络上的路径的长度,
从具有直至到达所述一个以上的末端机器为止的路径呈现规定长度的所述路径指标的一个以上的传输机器的计时器中,决定所述基准计时器。
2.根据权利要求1所述的控制***,其中
在所述时刻同步中,所述基准计时器的时间信息被传输至对象机器,
所述路径的规定长度包含能够将与所述时间信息向所述对象机器的传输相关的通信延迟保证为固定的长度。
3.根据权利要求1或2所述的控制***,其中
所述多个传输机器包含一个以上的控制器,所述一个以上的控制器以基于所述时刻同步的周期来执行控制运算,并将与作为运算结果的所述控制相关的数据传输至所述网络,
所述一个以上的末端机器包含使用从所述一个以上的控制器中的、所述周期为最短的控制器传输的与所述控制相关的数据来对控制对象进行控制的机器。
4.根据权利要求3所述的控制***,其中
所述控制对象包含依据与所述控制相关的数据来控制行为的运动控制对象。
5.根据权利要求1至4中任一项所述的控制***,其中
所述计时器决定部件还具有:
精度指标计算部件,根据所述计时器的所述时间的精度与具有所述计时器的所述传输机器的所述路径指标,来算出表示所述时刻同步的精度的精度指标;以及
候选选择部件,从具有直至到达所述一个以上的末端机器为止的路径呈现规定长度的所述路径指标的一个以上的传输机器的计时器中,选择用于决定所述基准计时器的一个以上的候选,
从被选择作为所述候选的一个以上的计时器中,基于所选择的各计时器的所述精度指标来决定所述基准计时器。
6.根据权利要求5所述的控制***,其中
所述候选选择部件进而确定所述路径指标表示所述规定长度的路径的一个以上的传输机器中所含的一个以上的控制器中的、所述周期为最短的控制器,
将所确定的所述控制器、与直至来自所述控制器的所述数据到达所述一个以上的末端机器为止所经由的一个以上的传输机器所具有的计时器,选择作为用于决定所述基准计时器的所述一个以上的候选。
7.根据权利要求1至5中任一项所述的控制***,其中
所述计时器决定部件还具有精度指标计算部件,所述精度指标计算部件根据所述计时器的所述时间的精度与具有所述计时器的所述传输机器的所述路径指标,来算出表示所述时刻同步的精度的指标,
从所述多个传输机器所具有的计时器中,基于各计时器的所述精度指标来决定所述基准计时器。
8.根据权利要求1至7中任一项所述的控制***,还包括:
从所述多个传输机器中,基于表示各传输机器所具有的与程序执行相关的资源的余裕的信息来选择一个传输机器的部件,
所述选择的一个传输机器具有所述计时器决定部件。
9.一种信息处理装置,能够连接于控制***,所述控制***包括连接于工厂自动化的网络的多个机器,其中
所述多个机器分别具有管理时间的计时器,
所述多个机器的计时器与管理基准时间的基准计时器进行时刻同步,
所述多个机器包括:
一个以上的末端机器,连接于所述网络的末端;以及
多个传输机器,将与控制相关的数据传输至所述一个以上的末端机器,
所述信息处理装置包括计时器决定部件,所述计时器决定部件从所述多个传输机器所具有的计时器中,决定所述基准计时器,
所述计时器决定部件,路径指标获取部件,所述路径指标获取部件关于各所述多个传输机器而获取路径指标,所述路径指标表示所述数据从所述传输机器直至到达所述一个以上的末端机器为止所经由的网络上的路径的长度,
从所述路径指标表示直至到达所述一个以上的末端机器为止的路径为规定长度的一个以上的传输机器的计时器中,决定所述基准计时器。
10.一种程序,使计算机执行针对控制***的设定方法,所述控制***包括连接于工厂自动化的网络的多个机器,其中
所述多个机器分别具有管理时间的计时器,
所述多个机器的计时器与管理基准时间的基准计时器进行时刻同步,
所述多个机器包括:
一个以上的末端机器,连接于所述网络的末端;以及
多个传输机器,将与控制相关的数据传输至所述一个以上的末端机器,
所述设定方法包括从所述多个传输机器所具有的计时器中决定所述基准计时器的步骤,
决定所述基准计时器的步骤具有下述步骤:
关于各所述多个传输机器而获取路径指标,所述路径指标表示所述数据从所述传输机器直至到达所述一个以上的末端机器为止所经由的网络上的路径的长度;以及
从所述路径指标表示直至到达所述一个以上的末端机器为止的路径为规定长度的一个以上的传输机器的计时器中,决定所述基准计时器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-175283 | 2019-09-26 | ||
JP2019175283A JP7310495B2 (ja) | 2019-09-26 | 2019-09-26 | 制御システム、情報処理装置およびプログラム |
PCT/JP2020/010381 WO2021059561A1 (ja) | 2019-09-26 | 2020-03-10 | 制御システム、情報処理装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114222955A true CN114222955A (zh) | 2022-03-22 |
Family
ID=75158022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057130.2A Pending CN114222955A (zh) | 2019-09-26 | 2020-03-10 | 控制***、信息处理装置以及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220286267A1 (zh) |
EP (1) | EP4036669A4 (zh) |
JP (1) | JP7310495B2 (zh) |
CN (1) | CN114222955A (zh) |
WO (1) | WO2021059561A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3422780B1 (en) * | 2017-07-01 | 2020-05-13 | Ruckus Wireless, Inc. | Identifying a synchronization master for radio nodes |
JP7487908B1 (ja) | 2023-11-01 | 2024-05-21 | 奥村組土木興業株式会社 | 岩盤掘削機 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6456743B1 (en) * | 1996-08-30 | 2002-09-24 | Canon Kabushiki Kaisha | Methods and devices for processing a set of data |
US20040165606A1 (en) * | 1999-03-23 | 2004-08-26 | Yamaha Corporation | Packet handler of audio data by isochronous mode |
CN101405956A (zh) * | 2006-03-17 | 2009-04-08 | 松下电器产业株式会社 | 无线传送***及无线传送方法、和用在其中的无线电台及发射台 |
CN104115450A (zh) * | 2012-05-01 | 2014-10-22 | 富士电机株式会社 | 同步***、多处理器及节点同步*** |
CN104584468A (zh) * | 2012-08-22 | 2015-04-29 | 阿尔卡特朗讯公司 | 在电信网络中通过精确时间协议同步分布式时钟的方法 |
JP5937243B1 (ja) * | 2015-02-17 | 2016-06-22 | 日本電信電話株式会社 | 時刻同期方法および時刻同期装置 |
CN105721190A (zh) * | 2014-12-04 | 2016-06-29 | 华为技术有限公司 | 数据传输路径的故障检测方法、装置及服务器 |
JP2018112881A (ja) * | 2017-01-11 | 2018-07-19 | 三菱電機株式会社 | 産業用コントローラシステム |
US20190140815A1 (en) * | 2017-08-31 | 2019-05-09 | Vega Grieshaber Kg | Method for the time-synchronized processing of data of a field device of process automation |
JP2019071692A (ja) * | 2019-02-13 | 2019-05-09 | Necプラットフォームズ株式会社 | 伝送装置および遅延測定方法 |
CN111034128A (zh) * | 2017-09-25 | 2020-04-17 | 欧姆龙株式会社 | 控制***以及控制装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08123513A (ja) * | 1994-10-24 | 1996-05-17 | Nippei Toyama Corp | プログラマブルコントローラのデータモニタ装置 |
JPH1011285A (ja) * | 1996-06-19 | 1998-01-16 | Keyence Corp | プログラマブルコントローラ及び記録媒体 |
-
2019
- 2019-09-26 JP JP2019175283A patent/JP7310495B2/ja active Active
-
2020
- 2020-03-10 US US17/636,359 patent/US20220286267A1/en active Pending
- 2020-03-10 EP EP20867272.5A patent/EP4036669A4/en active Pending
- 2020-03-10 WO PCT/JP2020/010381 patent/WO2021059561A1/ja unknown
- 2020-03-10 CN CN202080057130.2A patent/CN114222955A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6456743B1 (en) * | 1996-08-30 | 2002-09-24 | Canon Kabushiki Kaisha | Methods and devices for processing a set of data |
US20040165606A1 (en) * | 1999-03-23 | 2004-08-26 | Yamaha Corporation | Packet handler of audio data by isochronous mode |
CN101405956A (zh) * | 2006-03-17 | 2009-04-08 | 松下电器产业株式会社 | 无线传送***及无线传送方法、和用在其中的无线电台及发射台 |
CN104115450A (zh) * | 2012-05-01 | 2014-10-22 | 富士电机株式会社 | 同步***、多处理器及节点同步*** |
CN104584468A (zh) * | 2012-08-22 | 2015-04-29 | 阿尔卡特朗讯公司 | 在电信网络中通过精确时间协议同步分布式时钟的方法 |
CN105721190A (zh) * | 2014-12-04 | 2016-06-29 | 华为技术有限公司 | 数据传输路径的故障检测方法、装置及服务器 |
JP5937243B1 (ja) * | 2015-02-17 | 2016-06-22 | 日本電信電話株式会社 | 時刻同期方法および時刻同期装置 |
JP2018112881A (ja) * | 2017-01-11 | 2018-07-19 | 三菱電機株式会社 | 産業用コントローラシステム |
US20190140815A1 (en) * | 2017-08-31 | 2019-05-09 | Vega Grieshaber Kg | Method for the time-synchronized processing of data of a field device of process automation |
CN111034128A (zh) * | 2017-09-25 | 2020-04-17 | 欧姆龙株式会社 | 控制***以及控制装置 |
JP2019071692A (ja) * | 2019-02-13 | 2019-05-09 | Necプラットフォームズ株式会社 | 伝送装置および遅延測定方法 |
Non-Patent Citations (1)
Title |
---|
MARYAM PAHLEVAN, ETC: "Simulation Framework for Clock Synchronization in Time Sensitive Networking", .2019 IEEE 22ND INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING(ISORC), no. 2019, 7 May 2019 (2019-05-07), pages 213 - 220, XP033576220, DOI: 10.1109/ISORC.2019.00046 * |
Also Published As
Publication number | Publication date |
---|---|
EP4036669A1 (en) | 2022-08-03 |
EP4036669A4 (en) | 2023-10-04 |
JP2021051652A (ja) | 2021-04-01 |
JP7310495B2 (ja) | 2023-07-19 |
WO2021059561A1 (ja) | 2021-04-01 |
US20220286267A1 (en) | 2022-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10277417B2 (en) | Control system, control apparatus and control method with input-only communication frame | |
CN101196731B (zh) | 运动控制定时模型 | |
JPH1049507A (ja) | 並列計算機 | |
CN114222955A (zh) | 控制***、信息处理装置以及程序 | |
EP2494742B1 (en) | Network control architecture and protocol for a distributed control, data acquisition and data distribution system and process | |
WO2021002059A1 (ja) | 制御システム、設定装置およびコンピュータプログラム | |
JP7396393B2 (ja) | 制御システム、装置および制御方法 | |
CN114465689B (zh) | 通道组的信号指令同步处理方法、***、设备及存储介质 | |
CN113711511A (zh) | 支持多时间同步协议的工业设备 | |
WO2020054477A1 (ja) | 制御システムおよび制御装置 | |
WO2021033358A1 (ja) | 制御システム、制御装置およびプログラム | |
JP2006318367A (ja) | バス管理システム、およびバス管理装置 | |
EP3865965B1 (en) | Control system and control method | |
JP7404789B2 (ja) | 制御システム、制御システムの通信制御方法、および制御装置 | |
JP6939665B2 (ja) | ネットワークシステム | |
JP7415345B2 (ja) | 制御システム、サポート装置および設定プログラム | |
WO2022185588A1 (ja) | 生産システム、方法およびプログラム | |
CN118283116A (zh) | 数据处理方法和装置、存储介质及电子设备 | |
CA3095223A1 (en) | Node, network system and method of data synchronisation | |
JP2010262353A (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 |