CN111052011B - 控制器、控制方法以及记录介质 - Google Patents

控制器、控制方法以及记录介质 Download PDF

Info

Publication number
CN111052011B
CN111052011B CN201980004180.1A CN201980004180A CN111052011B CN 111052011 B CN111052011 B CN 111052011B CN 201980004180 A CN201980004180 A CN 201980004180A CN 111052011 B CN111052011 B CN 111052011B
Authority
CN
China
Prior art keywords
communication
controller
data
program
external device
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.)
Active
Application number
CN201980004180.1A
Other languages
English (en)
Other versions
CN111052011A (zh
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 CN111052011A publication Critical patent/CN111052011A/zh
Application granted granted Critical
Publication of CN111052011B publication Critical patent/CN111052011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

在控制器内提供使与外部装置进行通信的功能多路复用的环境。控制器执行多个通信程序,并执行用于对控制对象进行控制的用户程序、即包含用于与外部装置进行通信的命令在内的用户程序。此外,控制器具有通信接口,该通信接口构成为能够与多个通信程序中的任何通信程序连接,对多个通信程序与外部装置的通信进行控制。控制器在执行上述的命令时,受理与外部装置进行通信的数据,并根据数据的目的地,从多个通信程序中确定将数据发送到外部装置的通信程序。

Description

控制器、控制方法以及记录介质
技术领域
本公开涉及可编程逻辑控制器(PLC:Programmable Logic Controller)等控制器、控制方法以及程序,特别涉及使实施控制器与外部装置的通信的通信部多路复用的控制器、控制方法以及记录介质。
背景技术
PLC等控制器用于工厂等的自动机械的控制等,具有多个输入输出功能,例如,依次读入从传感器等输出的值并保持数据。近年来,PLC与数据库系统等外部装置连接,将由PLC保持的数据存储到数据库系统中。由此,能够容易进行与数据库连接的信息处理装置彼此的数据的共享,并且能够收集各种数据,从而容易进行数据的累计、分析等。
例如,在日本特开2014-194592号公报(专利文献1)中,设备监视终端与设定信息管理装置连接,该设定信息管理装置与多个通信调解设备连接。各通信调解设备与多个通信对应设备连接。设备监视终端经由设定信息管理装置对通信调解设备进行管理。
此外,日本特开2014-078253号公报(专利文献2)使用在主计算机上执行的结构工具软件来构成现场设备。主计算机使用结构工具向多个现场设备发送消息,并且传送设定。
现有技术文件
专利文献
专利文献1:日本特开2014-194592号公报
专利文献2:日本特开2014-078253号公报
发明内容
发明要解决的课题
在PLC等控制器与数据库系统等外部装置进行通信并对数据进行累计的情况下,为了维持控制器的可靠性,期望在数据不消失的情况下进行累计。专利文献1具有通过具有多个通信调解设备来使通信设备冗余或多路复用的结构,但是,将专利文献1的多路复用的结构组装到PLC等已有的硬件设备中的情况下,需要更换包含PLC的设备。
本公开的目的在于利用已有的设备的同时在控制器内提供使与外部装置的通信功能多路复用的环境。
用于解决课题的手段
该公开的控制器具有:连接器,其将所述控制器与外部的第一通信网络连接;通信端口,其将所述控制器与不同于所述第一通信网络的外部的第二通信网络连接;通信程序执行部,其执行多个通信程序;用户程序执行部,其执行用于经由所述第一通信网络与设置于所述控制器的外部的控制对象进行通信而对该控制对象进行控制的用户程序,所述用户程序包含用于经由所述第二通信网络与设置于所述控制器的外部的外部装置进行通信的命令;通信接口,其构成为能够与多个通信程序中的任何通信程序连接,对多个通信程序与外部装置经由所述第二通信网络的通信进行控制;以及确定部,其在用户程序执行部执行命令时,从用户程序执行部受理与外部装置进行通信的数据,并根据该数据的目的地,从多个通信程序中确定将该数据发送到外部装置的通信程序。
根据该公开,在控制器内,具有多个程序,这些多个程序共用控制器所具有的通信接口并与外部装置进行通信。由此,在控制器内提供用于与外部装置进行通信的多路复用的通信环境。
在上述的公开中,也可以针对各通信程序具有通信栈。
根据该公开,通过针对各通信程序单独地具有通信栈,能够进行通信栈级别的如上所述的多路复用。
在上述的公开中,也可以是,确定部根据各通信程序的执行状态和上述的目的地,从多个通信程序中确定将数据发送到外部装置的通信程序。
根据该公开,能够根据数据的目的地,从多个通信程序中确定用于将该数据发送到外部装置的通信程序。
在上述的公开中,也可以是,确定部在基于目的地的通信程序的执行状态满足预先确定的条件时,将该通信程序确定为将数据发送到外部装置的通信程序。
根据该公开,能够根据数据的目的地和通信程序的执行状态确定用于将数据发送到外部装置的通信程序。
在上述的公开中,也可以是,通信程序的执行状态通过执行中的该通信程序的通信的响应性能表示。
根据该公开,能够通过该通信程序的执行状态表示通信程序的响应性能。
在上述的公开中,也可以是,预先确定的条件包含响应性能的阈值,该阈值通过使用了与响应性能相关联的通信特征量的机器学习来确定。
根据该公开,能够通过使用了与响应性能相关联的通信特征量的机器学习,确定用于评价响应性能的阈值。
在上述的公开中,也可以是,确定部在基于目的地的通信程序的执行状态不满足预先确定的条件时,将其他通信程序确定为将数据发送到外部装置的通信程序。
根据该公开,如果根据目的地而确定出的通信程序的执行状态不满足预先确定的条件,则能够通过其他通信程序将数据发送到外部装置。
在上述的公开中,也可以是,确定部在基于目的地的通信程序的执行状态不满足预先确定的条件时,将数据输出到存储部。
根据该公开,能够在基于目的地的通信程序的执行状态不满足预先确定的条件时,通过预先存储数据来保存数据。
在上述的公开中,也可以是,基于目的地的通信程序的种类与上述的规定的通信程序的种类不同,通信程序的种类与该通信程序用于传送数据的通信协议的种类对应。
根据该公开,能够使用与基于数据的目的地的通信程序的种类不同的种类的通信程序,即依照不同的传送协议将数据发送到外部装置。
在上述的公开中,也可以是,外部装置包含数据库服务器或对数据库服务器与控制器的通信进行控制的通信部,通信协议的种类包含用于与该数据库服务器连接的通信协议。
根据该公开,作为上述的多路复用的通信环境,控制器能够提供用于使用来自用户程序的数据来访问数据库的通信环境、或用于通过对通信部进行中继来访问数据库的通信环境,该通信部对数据库服务器与控制器的通信进行控制。
根据本公开的一例,提供一种控制器的控制方法。控制器具有:连接器,其将控制器与外部的第一通信网络连接;以及通信端口,其将控制器与不同于第一通信网络的外部的第二通信网络连接。控制方法具有以下步骤:执行用于经由第一通信网络与设置于控制器的外部的控制对象进行通信而对该控制对象进行控制的用户程序,所述用户程序包含用于经由第二通信网络与设置于控制器外部的外部装置进行通信的命令;执行对经由通信接口与外部装置经由所述第二通信网络的通信进行控制的多个通信程序;以及在执行命令时,受理用户程序或与外部装置进行通信的数据,根据数据的目的地,从多个通信程序中确定将数据发送到外部装置的通信程序。
根据该公开,通过在控制器内具有用于与外部装置进行通信的多个程序,在控制器内提供用于与外部装置进行通信的多路复用的通信环境。
根据本公开的一例,提供用于使计算机执行如上所述的控制方法的程序以及记录有该程序的记录介质。
发明效果
根据本公开的一例,在控制器内具有用于与外部装置进行通信的多个程序,由此在控制器内提供用于与外部装置进行通信的多路复用的通信环境。
附图说明
图1是示出本实施方式的控制器的应用场景的一例的示意图。
图2是示出本实施方式的控制系统的整体结构例的图。
图3是示出表示本实施方式的PLC的主要部件的硬件结构的一例的示意图。
图4是示出本实施方式的PLC的软件结构的一例的示意图。
图5是示出本实施方式的服务器的结构的一例的示意图。
图6是示出本实施方式的数据流以及PLC的结构的一例的示意图。
图7是示出本实施方式的分配规则和状态信息的一例的示意图。
图8是示出本实施方式的地址转换表的一例的示意图。
图9是示意性地示出本实施方式的分配处理的流程的一例的图。
图10是示意性地示出本实施方式的通信监视处理的流程的一例的图。
图11是示出本实施方式的数据流以及PLC的结构的其他例的示意图。
图12是示出本实施方式的分配规则的其他例的示意图。
图13是示意性地示出基于本实施方式的机器学习的阈值的变化模式的一例的图。
图14是示出本实施方式的数据流以及PLC的结构的又一例的示意图。
图15是示意性地示出本实施方式的分配规则的又一例的图。
图16是示出本实施方式的分配处理的其他例的流程图。
图17是示出本实施方式的通信监视处理的其他例的流程图。
图18是示意性地示出本实施方式的通信栈中所使用的内存大小的变化的一例的图。
图19是示意性地示出本实施方式的通信客户端的切换方式的一例的图。
图20是示意性地示出本实施方式的通信客户端的切换方式的其他例的图。
具体实施方式
参照附图对本发明的实施方式详细地进行说明。另外,对图中的相同或相对应部分标注相同标号并不再重复其说明。
<A.应用例>
首先,参照图1,对应用本发明的场景的一例进行说明。图1是示出本实施方式的控制器的应用场景的一例的示意图。PLC 100是本实施方式的控制系统的控制器的一例。控制器(例如,PLC 100)具有:通信接口(例如,上位通信控制器160),其用于与1个或多个外部装置(例如,服务器400)连接;用户程序执行部(例如,CPU单元104),其执行用于对控制对象进行控制的用户程序186、即包含用于与外部装置进行通信的命令的该用户程序186;通信程序执行部(例如,CPU单元104),其执行对经由通信接口与外部装置的通信进行控制的多个通信程序(例如,通信客户端(X)程序181、通信客户端(Y)程序182);以及分配部188。
通过通信客户端(X)程序181的执行以及通信客户端(Y)程序182的执行,来提供相同的通信功能。例如,通信客户端(Y)程序182是通过复制通信客户端(X)程序181而生成的。
在图1的控制系统中,例如,能够应用服务器客户端系统。作为客户端的PLC 100执行应用程序层的用户程序186,并经由相当于位于物理层的电气通信电路的通信接口(例如,上位通信控制器160),例如依照TCP/IP(Transmission Control Protocol/InternetProtocol:传输控制协议/网络协议)与外部装置的服务器400进行通信。
在PLC 100内,在应用程序层与物理层之间的层中的例如会话层中,具有分配部188、通信客户端(X)181和通信客户端(Y)182。在PLC 100内,通过以这样的方式采用层级化,能够将各层的程序或模块(包含电路)从其他层分离。
PLC 100例如可以应用通用的计算机。用户程序186根据通用的计算机所具备的OS(Operating System:操作系统)(更典型地讲,实时OS)来执行,与各种现场设备之间交换数据。这些现场设备包含用于对控制对象进行某种处理的致动器或用于从控制对象取得信息的传感器等。
分配部188是“确定部”的一个实施例,该“确定部”在用户程序执行部执行命令时,从用户程序执行部受理与服务器400进行通信的数据,根据数据的目的地,从多个通信程序中确定用于将数据发送到服务器400的通信程序。典型地讲,分配部188通过软件(程序)来提供。
这样,在本实施方式中,能够在PLC 100的内部具有多个通信程序,通过执行该多个通信程序来提供相同的通信功能。由此,即使PLC 100不与多个通信设备连接,也能够在PLC 100内使与服务器400通信的通信单元多路复用(或冗余化)。此外,通过将多个通信程序以及确定部(分配部188)的程序安装于已有的PLC 100,能够在不更换PLC 100等设备的情况下,利用已有的设备的同时在PLC 100内实现上述的多路复用。
此外,图1的PLC 100构成为使多个通信程序(通信客户端(X)181、通信客户端(Y)182)共用1个通信接口。即,1个通信接口构成为能够与多个通信程序中的任何通信程序连接,对多个通信程序与服务器400的通信进行控制。由此,能够在不伴随PLC 100的通信接口160等的电路件数的增加的情况下,实现PLC 100内的通信单元的多路复用的结构。
此外,在本实施方式中,PLC 100能够根据数据的目的地切换地使用多个通信程序,还可以提供能够使PLC 100与服务器400之间的通信所承受的负载在多个通信程序之间分散的环境。
上述的服务器400例如可以包含各种服务器。服务器400中可以包含数据库服务器。来自用户程序186的数据可以包含用于访问该数据库服务器的数据库操作命令(SQL语句等)。此外,数据中可以包含为了传送该数据而用户程序186指定的协议(例如,FTP(FileTransfer Protocol:文件传输协议)等)。该SQL语句或传送协议可以表示数据的种类。
此外,分配部188根据各通信程序的执行状态,从多个通信程序中确定将数据发送到服务器400的通信程序。该执行状态可以通过针对各通信程序而测量的通信的响应性能来表示,可以在执行通信程序的期间即发送数据的情况下,测量该响应性能。
作为通信程序的响应性能,例如,可以包含通信程序的响应时间。响应时间例如能够通过从对通信程序请求数据通信起到接收针对请求的响应(Ack)为止的所需时间来取得。或者,能够通过测量向通信程序发送数据直到接收到针对该数据的响应(例如,表示数据向服务器400的发送已完成的响应)为止的所需时间来取得。在本实施方式中,例如,利用分配部188所具有的监视部189针对各通信程序测量该响应性能(响应时间)。
在PLC 100中,针对各通信程序单独地具有通信栈(图4的通信栈191、192)。通信栈为一种存储区域,例如,相当于PLC 100的非易失性存储器的一部分。这样,通过按照每个通信程序来具有通信栈,能够进行通信栈级别的多路复用。
在用于存储在执行通信程序时生成的对象的区域中使用通信栈。当已使用区域的容量增大时,通信栈进行用于将已使用区域释放到可使用区域的处理、所谓无用存储单元收集。因此,能够在一个通信栈中进行无用存储单元收集的期间,将另一个通信栈用于存储在该期间生成的对象的区域。由此,能够在上述的多路复用中,在多个通信程序之间(即,多个通信栈之间)使通信负载分散并继续PLC 100与服务器400之间的通信。
以下,作为本发明的更具体的应用例,对本实施方式的控制器100的更详细结构以及处理进行说明。
<B.系统结构>
对本实施方式的控制系统的系统结构进行说明。在本实施方式中,将对机械、设备等控制对象进行控制的PLC作为控制器的典型例进行说明。但是,本发明的控制器不限于PLC,还能够应用于各种控制器。
图2是示出本实施方式的控制系统的整体结构例的图。参照图2,控制系统1包含:PLC 100;支持装置300,其与PLC 100连接;以及服务器400,其具有接收来自PLC 100的访问的DB(数据库)430。在本实施方式中,控制系统1所具备的服务器400设为多台,但是,也可以至少具有1台以上。服务器400具有:DB 430;以及后述的DBMS(Database ManagementSystem:数据库管理系统),其对向DB 430的数据的写入以及读出进行控制。
PLC 100周期性或按事件地执行用户程序186。能够将发送给DB 430的访问命令包含在该用户程序186中,PLC 100能够依照该访问,访问服务器400。即,PLC 100以及服务器400构成为能够经由以太网(注册商标)等网络112相互交换数据。
支持装置300为能够与PLC 100连接的信息处理装置的典型例。支持装置300经由连接线缆114与PLC 100连接,与PLC 100之间提供各种参数的设定、编程、监视、调试等功能。典型地讲,PLC 100与支持装置300之间构成为能够依照USB(Universal Serial Bus:通用串行总线)标准进行通信。
PLC 100包含执行控制运算的CPU单元104、以及1个以上的IO(Input/Output:输入/输出)单元106。这些单元构成为能够经由PLC系统总线108相互交换数据。此外,通过电源单元102向这些单元提供适当电压的电源。
在控制系统1中,PLC 100经由(经由PLC系统总线108而连接的)IO单元106和/或经由现场总线110,与各种现场设备之间交换数据。这些现场设备包含用于对控制对象进行某种处理的致动器、用于从控制对象取得各种信息的传感器等。在图2中,作为这样的现场设备的一例,包含检测开关10、中继器20和对马达32进行驱动的伺服马达驱动器30。此外,PLC100也经由现场总线110与远程IO终端200连接。基本上,与IO单元106同样,远程IO终端200进行与一般的输入输出处理相关的处理。更具体而言,远程IO终端200包含:通信耦合器202,其用于进行基于现场总线110的数据传送所涉及的处理;以及1个以上的IO单元204。这些单元构成为能够经由远程IO终端总线208相互交换数据。
<C.PLC 100的硬件结构>
接着,对本实施方式的PLC 100的硬件结构进行说明。图3是示出表示本实施方式的PLC 100的主要部分的硬件结构的一例的示意图。
参照图3,对PLC 100的CPU单元104的硬件结构进行说明。CPU单元104包含处理器120、芯片组122、系统时钟124、主存储器126、非易失性存储器128、USB连接器130、PLC系统总线控制器140、现场总线控制器150、上位通信控制器160和存储卡接口170。芯片组122与其他组件之间经由各种总线而分别耦合。
典型地讲,处理器120和芯片组122是依照通用的计算机体系结构来构成的。即,处理器120分析并执行从芯片组122按照内部时钟依次供给的命令代码。芯片组122与所连接的各种组件之间交换内部数据,并且生成处理器120所需的命令代码。系统时钟124产生预先确定的周期的系统时钟并提供给处理器120。芯片组122具有对作为处理器120中的运算处理的执行的结果而获得的数据等进行缓存的功能。
CPU单元104具有主存储器126和非易失性存储器128来作为存储单元。主存储器126为易失性存储区域,保持应在处理器120中执行的各种程序,并也被作为各种程序执行时的作业用内存来使用。非易失性存储器128非易失性地保持OS、系统程序、用户程序、数据定义信息、日志信息等各种程序以及数据。
USB连接器130是用于将支持装置300与CPU单元104连接起来的接口。典型地讲,从支持装置300传送的可执行的程序等经由USB连接器130被取入到CPU单元104。
CPU单元104具有PLC系统总线控制器140、现场总线控制器150以及上位通信控制器160来作为通信单元。这些通信电路进行数据的发送以及接收。
PLC系统总线控制器140对经由PLC系统总线108的数据的交换进行控制。更具体而言,PLC系统总线控制器140包含缓冲存储器142、PLC系统总线控制电路144和DMA(DynamicMemory Access:动态内存访问)控制电路146。PLC系统总线控制器140经由PLC系统总线连接器148与PLC系统总线108连接。
现场总线控制器150包含缓冲存储器152、现场总线控制电路154和DMA控制电路156。现场总线控制器150经由现场总线连接器158与现场总线110连接。上位通信控制器160包含缓冲存储器162、上位通信控制电路164和DMA控制电路166。上位通信控制器160经由通信端口168与网络112连接。通信端口168相当于用于与上位系统连接的物理端口,例如,与通信端口168连接的上位通信控制器160为“通信接口”的一个实施例。
存储卡接口170将能够相对于CPU单元104装卸的存储卡172与处理器120连接起来。
<D.PLC 100的软件结构>
图4是示出本实施方式的PLC 100的软件结构的一例的示意图。接着,参照图4,对用于实现本实施方式的PLC 100所提供的各种功能的软件结构进行说明。这些软件所包含的命令代码在适当的定时下被读出,通过CPU单元104的处理器120来执行。
PLC 100具有调度程序,该调度程序用于周期性地执行包含在OS 180下执行的用户程序186、通信客户端(X)程序181和通信客户端(Y)程序182在内的各程序。在执行用户程序186的情况下,PLC 100读写PLC 100内的存储区域的信息,依次执行用户程序186所示的命令。PLC 100具有输入输出功能,受理传感器输出等来自PLC 100的外部的数据并存储数据。PLC 100与服务器400进行通信,以将所存储的数据存储到DB 430中。另外,PLC 100能够从服务器400读出DB 430的数据,并传送给用户程序186等。
参照图4,OS 180、系统程序187、用户程序186等进行动作,由此发挥PLC 100的各功能。
OS 180为对包含PLC 100的存储器等的硬件资源190进行管理的操作系统,使PLC100发挥进行任务的调度、对服务器400的访问处理等功能。OS 180例如为实时OS,提供用于执行系统程序187以及用户程序186的基本执行环境。
系统程序187是用于提供作为PLC 100的基本功能的软件组。在本实施方式中,系统程序187包含用于供PLC 100访问服务器400的程序组。该程序组例如包含:通信客户端(X)程序181和通信客户端(Y)程序182,它们通过Java(注册商标)程序实现;JVM(Javavirtual machine:Java虚拟机)183、184,它们被安装为用于执行这些Java程序的虚拟计算机;以及管理程序185,其经由OS 180安装有虚拟计算机以利用硬件资源190。
例如,通过分别执行通信客户端(X)程序181和通信客户端(Y)程序182,对PLC 100提供用于与服务器400进行通信的公共通信环境。以下,也将通信客户端(X)程序181称作通信客户端(X)181,也将通信客户端(Y)程序182称作通信客户端(Y)182。此外,在统称通信客户端(X)181和通信客户端(Y)182的情况下,称作通信客户端。
通信客户端(X)181通过JVM 183来执行,通信客户端(Y)182通过JVM 184来执行,由此能够并列地执行通信客户端(X)181和通信客户端(Y)182。在通信客户端(X)181和通信客户端(Y)182的执行期间,JVM183和JVM 184经由管理程序185和OS 180利用硬件资源190等资源。
这样,能够在PLC 100内,使用于与服务器400进行通信的通信客户端多路复用(或冗余化)。另外,这里,在JVM183、184上执行的程序设为通信客户端(X)181和通信客户端(Y)182这2个,但是,不限定于该2个,也可以包含其他Java程序。
在硬件资源190的非易失性存储器128等的存储区域中,针对通信客户端(X)181和通信客户端(Y)182分别具有被限制为预先确定的大小的通信栈191和通信栈192。在图4中,通信栈191和通信栈192被示作分离的区域,但是,两者也可以为连续的区域。
在本实施方式中,用户程序186是根据用户的控制目的(例如,对象行、进程)而生成的。此外,通信客户端的程序也是根据用户的PLC 100与服务器400之间的通信目标而生成的。典型地讲,用户程序186成为能够由CPU单元104的处理器120执行的对象程序形式。此外,通信客户端(X)181和通信客户端(Y)182成为能够由JVM183和184执行的形式。用户程序186、通信客户端(X)181、通信客户端(Y)182是通过在支持装置300等中制成并编译而生成的。而且,所生成的这些程序从支持装置300传送到CPU单元104,并存储到非易失性存储器128等中。
另外,在本实施方式中,设为通信客户端(X)181和通信客户端(Y)182等通信客户端的程序通过虚拟计算机来执行,但是,通信客户端的程序的执行环境不限定于虚拟计算机的执行环境。例如,也可以与用户程序186同样,通过CPU单元104所具备的OS 180来执行。
<E.服务器400的结构>
接着,对本实施方式的服务器400的结构进行说明。图5是示出本实施方式的服务器400的结构的一例的示意图。典型地讲,服务器400由通用的计算机构成。
参照图5,服务器400包含:CPU 402,其执行包含OS的各种程序;ROM(Read OnlyMemory:只读存储器)404,其存储BIOS、各种数据;存储器RAM 406,其提供用于存储执行CPU402中的程序所需的数据的作业区域;以及硬盘(HDD)408,其非易失性地存储由CPU 402执行的程序等。更具体而言,硬盘408中存储有包含DB 430和DBMS 431的程序在内的各种程序和数据。
服务器400还包含:键盘410和鼠标412,它们受理来自用户的操作;以及监视器414,其用于向用户提示信息。并且,服务器400包含通信接口(IF)418,该通信接口(IF)418用于与PLC 100(CPU单元104)等进行通信。服务器400包含存储介质读取装置416,该存储介质读取装置416用于从存储介质432读出该存储介质432所存储的程序或数据。
服务器400具有用于提供DB 430的公知结构。作为DB 430,例如,可以采用关系数据型、对象数据型这样的任意结构。服务器400是依照通用的计算机体系结构来构成的,因此,这里不重复说明该详细内容。
服务器400接收来自PLC 100的连接请求或访问请求(在关系数据型中为SQL语句),执行必要的处理,将该处理结果等响应到PLC 100。这里,例如,DB 430为关系数据型,DBMS 431依照SQL语句将数据读写到DB 430中,但是,DB 430的类型和DB 430的操作语言不限定于SQL。
<F.数据流和设定数据>
图6是示出本实施方式的数据流以及PLC的结构的一例的示意图。图7是示出本实施方式的分配规则和状态信息的一例的示意图。参照图7的(A),分配规则90具有多个不同的记录。各记录以相关联的方式包含目的地91、用于识别通信客户端的客户端识别符92和条件93。条件93包含用于判断对应的通信客户端的响应性能的阈值96。条件93例如表示响应时间<Tms(其中,Tms>0)。另外,在本实施方式中,例如将响应时间表示为通信客户端的响应性能,但是,不限定于响应时间。
参照图7的(B),状态信息95分别与通信客户端(X)181和通信客户端(Y)182相对应地具有客户端识别符92和该通信客户端的状态94。状态94通过执行中的该通信程序的通信的响应性能来表示。即,如果处于程序的执行速度较慢的状态(还包含程序的异常),则响应性能下降(例如,响应时间延长),如果处于程序的执行速度较快的状态,则响应性能提高(例如,响应时间缩短)。在这样的背景下,例如,状态94中设定有表示作为响应性能的一例的响应时间不满足包含阈值96在内的条件93(例如,响应时间<Tms)(其中,Tms>0)的“发生超时”、以及表示响应时间满足条件93(例如,响应时间<Tms)的“良好”中的任意一个。状态94按照响应性能的变化从“产生超时”切换为“良好”,或者从“良好”切换为“产生超时”。另外,阈值96例如通过预先实验等来确定。
图8是示出本实施方式的地址转换表80的一例的示意图。地址转换表80具有目的地91以及与各目的地91对应的IP地址82。分配规则90、状态信息95和地址转换表80存储到非易失性存储器128等中。
参照图6,说明PLC 100内的向服务器400发送的数据流。在图6中,与PLC 100连接的多个服务器400例如被分为服务器A、服务器B和服务器C的3个种类。首先,在执行用户程序186中的用于与服务器400进行通信的命令并输出数据70时,用户程序186将数据70输出到分配部188所具备的多个端口68中的1个端口。这时,用户程序186根据数据70的种类从多个端口68中选择1个,将数据70输出到所选择的端口68。
监视部189测量通信客户端(X)181和通信客户端(Y)182的响应时间,根据测量的结果输出分配指令,并且变更状态信息95。之后叙述监视部189的分配指令的输出和状态信息95的变更的详细内容。
分配部188实施分配处理。在分配处理中,分配部188按照预先确定的转换规则,将受理到数据70的端口68的编号(相当于识别符)转换为目的地91。由此,数据70按照该数据70的种类确定目的地91。分配部188根据来自监视部189的后述的分配指令,确定分配数据70的通信客户端(通信客户端(X)181和通信客户端(Y)182中的任意一个),附加目的地91后将数据70传送到所确定的通信客户端。
通信客户端在从分配部188受理到数据70时,根据在受理到的数据70中附加的目的地91,从图8的地址转换表80检索与目的地91相关联的IP地址82。通信客户端将检索到的IP地址82附加于数据70,将数据70输出到上位通信控制器160。上位通信控制器160从通信客户端受理数据70,依照TCP/IP发送到服务器400。
在本实施方式中,如上所述,能够向与数据70的种类对应的服务器400发送数据70。
说明依照分配规则90的优先级的检索。参照图7的(A),分配规则90例如具有表形式。在分配规则90中,例如,包含通信客户端(X)181的客户端识别符92的记录登记于表的靠起始侧,包含通信客户端(Y)182的客户端识别符92的记录在此之后继续登记。在检索分配规则90的情况下,分配部188从分配规则90的表的起始侧的记录起向下方依次检索。这样,在分配规则90中检索记录的优先级能够设定为按照每个通信客户端而不同,即,被分配为应该发送数据70的通信客户端的优先级能够设定为在多个通信客户端之间不同。在本实施方式中,如图7的(A)所示,通信客户端(X)181的优先级比通信客户端(Y)182的优先级高。
在本实施方式中,考虑上述的优先级,优先级较高的通信客户端(X)181的阈值96设定为“Tms”,优先级较低的通信客户端(Y)182的条件93的阈值96设定为“无”。
具体而言,在本实施方式中,阈值96能够根据通信客户端的通信负载的大小而发生变更。即,在通信客户端(X)181中,被分配为应该发送数据70的通信客户端的优先级较高,因此,数据70的发送所承受的负载容易比优先级较低的通信客户端(Y)182的通信负载大。
考虑这样的通信负载的偏差,在本实施方式中,在优先级较高的通信客户端(X)181的阈值96中设定有如上述那样比优先级较低的通信客户端(Y)182的阈值96更严格的值。由此,能够在通信客户端(X)181的通信负载变得过剩而陷入无法通信之前切换为“产生超时”,分配通信客户端(Y)182,实现通信负载的分散。
<G.流程图>
图9是示意性地示出本实施方式的分配处理的流程的一例的图。图10是示意性地示出本实施方式的通信监视处理的流程的一例的图。首先,参照图10,说明通信监视处理。监视部189在分配部188从用户程序186受理到数据70时,按照如上所述的优先级从高到低的顺序向多个通信客户端发送通信的请求。在图10中,向优先级较高的通信客户端(X)181发送数据70的发送请求并测量直到接收针对请求的响应(Ack)为止的所需时间、即响应时间(步骤S11)。
在监视部189判断为响应时间不满足与通信客户端(X)181对应的条件93、即判断为响应时间超过条件93的阈值96的情况下(步骤S13中为“否”),监视部189在判断为状态信息95的与通信客户端(X)181对应的状态94的目前值表示“产生超时”时(步骤S15中为“是”),生成指定通信客户端(Y)182的分配指令,并输出到分配部188(步骤S19)。另一方面,在监视部189判断为与通信客户端(X)181对应的状态94的目前值不表示“产生超时”时(步骤S15中为“否”),监视部189将与通信客户端(X)181对应的状态94设定为“产生超时”(步骤S17),转移到步骤S24的处理。由此,在PLC 100中,在发送数据70时,优先级较高的通信客户端(X)181的响应时间不满足条件93的情况下,向用于发送数据70的通信客户端分配下一优先级(即,优先级较低)的通信客户端(Y)182。
在监视部189判断为响应时间满足与通信客户端(X)181对应的条件93、即判断为响应时间不超过条件93的阈值96的情况下(步骤S13中为“是”),监视部189在判断为与通信客户端(X)181对应的状态94的目前值表示“产生超时”时(步骤S19中为“是”),监视部189将与通信客户端(X)181对应的状态94设定为“良好”(步骤S21),生成指定通信客户端(X)181的分配指令,并输出到分配部188(步骤S23)。另一方面,监视部189在判断为与通信客户端(X)181对应的状态94的目前值不表示“产生超时”时(步骤S19中为“否”),转移到步骤S23的处理。由此,在PLC 100中,在发送数据70时,优先级较高的通信客户端(X)181的响应时间满足条件93的情况下,向用于发送数据70的通信客户端分配优先级较高的通信客户端(X)181。
参照图9,说明分配部188的处理。用户程序186在被执行时(步骤R1),将数据70输出到分配部188(步骤R3)。然后,在判断为程序的执行结束时(步骤R5中为“是”),结束执行,但是,当判断为不结束执行时(步骤R5中为“否”),返回步骤R1。
分配部188判断是否从用户程序186经由端口68受理数据70(步骤S1)。当判断为未受理数据70时(步骤S1中为“否”),反复步骤S1的处理,但是,当判断为受理到数据70时(步骤S1中为“是”),监视部189实施如上所述的图10的通信监视处理,将分配指令输出到分配部188(步骤S3)。分配部188的监视部189利用分配指令来实施如上所述的分配处理(步骤S5)。
通信客户端(X)181或通信客户端(Y)182在执行程序的期间(步骤R7),从分配部188受理数据70,将IP地址82附加于受理到的数据70并输出到上位通信控制器160。然后,通信控制器在判断为程序的执行结束时(步骤R8中为“是”),结束执行,但是在判断为不结束执行时(步骤R8中为“否”),返回步骤R7。
(响应时间的变形例)
在上述的分配处理中,在发送数据70之前,监视部189向通信客户端发送请求并测量直到接收响应(Ack)为止的时间,由此检测出响应时间,但是,响应时间的测量方法不限定于该方法。例如,分配部188也可以将数据70发送到优先级较高的通信客户端(X)181,测量从通信客户端(X)181接收响应(例如,表示数据70向服务器400的发送已完成的响应等)为止的时间,由此取得响应时间。在该情况下,分配部188判断响应时间是否满足与通信客户端(X)181对应的条件93,在判断为不满足时,将数据70发送到优先级为次级的通信客户端、即通信客户端(Y)182。此外,在该变形例中,分配部188也与上述同样地设定(变更)通信客户端的状态94。
如上所述,分配部188优先地分配通信客户端(X)181来作为发送数据70的通信客户端,但是,当通信客户端(X)181的响应时间不满足条件93时,将分配目的地切换到通信客户端(Y)182。然后,当通信客户端(X)181的响应时间满足条件93时,分配目的地返回通信客户端(X)181。由此,在与服务器400进行数据70的通信的情况下,PLC 100能够在PLC 100内的多路复用的通信客户端之间使通信所承受的负载分散,并继续该通信。
<H.分配规则的变更>
在本实施方式中,能够可变地设定分配规则90的条件93。图11是示出本实施方式的数据流以及PLC的结构的其他例的示意图。图12是示出本实施方式的分配规则的其他例的示意图。图13是示意性地示出基于本实施方式的机器学习的阈值的变化模式的一例的图。参照图11,PLC 500向图6所示的PLC 100的结构中追加有学习部1872和图12的分配规则901。PLC 500的其他部分与图6所示的PLC 100的其他部分相同,因此,不重复说明。
参照图12,分配规则901的各记录包含目的地91、客户端识别符92和条件931。条件931例如表示(响应时间<学习阈值97)。学习部1872设定(或变更)分配规则901的学习阈值97。学习部1872通过使用了与通信客户端的通信中的各种通信特征量的机器学习,检测用于将响应性能保证为预先确定的值的阈值的变化模式。学习部1872依照检测出的变化模式,设定分配规则901的学习阈值97。
参照图13,用曲线图示出学习部1872所检测的变化模式P1、P2。在该曲线图中,横轴表示“产生超时”的间隔(即,从检测出“产生超时”起到接下来“产生超时”为止的时间)或向服务器400发送的发送数据量,纵轴表示学习阈值97。此外,图13的模式P1和P2为用于保证响应性能的最佳阈值的变化模式的一例。模式P1例如与“产生超时”的间隔对应,模式P2例如与发送数据量对应。学习部1872将所生成的图13的阈值的变化模式存储到非易失性存储器128中。另外,在图13中,关于响应性能的变化,例示了“产生超时”的间隔和发送数据量的两种,但是,不限定于这些,例如也可以为“良好”的持续时间。
例如,在根据模式P1设定学习阈值97的情况下,学习部1872在实施PLC 500与服务器400的通信的期间测量通信客户端(X)181的“产生超时”的间隔的代表值(规定期间内的平均值、最频值等)RP。学习部1872从模式P1取得(确定)与代表值RP对应的阈值TH,将所取得的阈值TH设定为分配规则901的学习阈值97。
由此,例如,当产生通信客户端的软件异常时或通信的负载变得过剰时,“产生超时”的间隔发生变化(延长),但是,即使在该情况下,也与“产生超时”的间隔的变化联动地变更为如保证响应性能这样的学习阈值97。
此外,也可以是,学习部1872以使能够应对通信客户端的通信负载由于PLC 500与服务器400在网络112上的拥挤等而变得过剰的状况的方式变更学习阈值97。在该情况下,学习部1872也可以学习产生网络112的拥挤的时间序列/时间段模式,根据学习结果,在产生拥挤之前变更阈值。
<I.基于通信客户端的种类的分配>
当执行如上所述的通信客户端(X)181和通信客户端(Y)182时,提供相同种类的通信功能,但是,所提供的通信功能也可以为不同种类。图14是示出本实施方式的数据流以及PLC的结构的又一例的示意图。图15是示意性地示出本实施方式的分配规则的又一例的图。图16是示出本实施方式的分配处理的其他例的流程图。图17是示出本实施方式的通信监视处理的其他例的流程图。
参照图14,PLC 600具有DB连接通信客户端(X)1811和FTP(File TransferProtocol)通信客户端(Y)1821这两种实现应用程序层使用的数据传送的协议,DB连接通信客户端(X)1811依照作为用于与数据库服务器连接的通信协议的DB连接协议实施通信处理。另外,应用于通信客户端的数据传送的协议的种类不限定于这些种类。此外,也可以在PLC 600与数据库服务器连接的情况下,在该数据库服务器与PLC 600(更确定的讲,DB连接通信客户端(X)1811)之间夹设有依照DB连接协议对两者的通信进行控制的通信部。作为这样的通信部,例如,能够包含对两者的通信进行中继的通信设备(例如,中继器)或软件等。此外,图14的PLC 600具有:分配部1881,其具有监视部1891;以及存储部1875,其将从用户程序186受理到的数据70存储到数据缓冲器1874中。分配部1881检索分配规则902和状态信息95。PLC 600的其他部分与图6或图11所示的内容相同,不重复说明。
参照图15,分配规则902的各记录向图12的分配规则901的记录的内容中追加地包含动作识别符98。在从用户程序186受理到数据70的情况下,动作识别符98表示分配部1881应该采用的动作(处理)。在本实施方式中,该动作识别符98表示“向通信客户端发送”或“缓冲发送”中的任意一个。
在PLC 600中,监视部1891对DB连接通信客户端(X)1811的响应性能(例如,响应时间)进行监视,在判断为响应性能较好的期间,利用DB连接通信客户端(X)1811实时地将数据送出到服务器400中的任意服务器400,在响应性能发生劣化的期间受理到的数据70通过存储部1875存储到数据缓冲器1874中。由此,在优先级较高的DB连接通信客户端(X)1811的响应性能发生劣化的期间从用户程序186受理到的数据70被存储(保存)到数据缓冲器1874中。分配部1881将数据缓冲器1874中存储的数据70统一地送出到FTP通信客户端(Y)1821。FTP通信客户端(Y)1821将数据缓冲器1874所存储的数据以文件的方式传送到服务器400。
由此,即使服务器A或服务器B的服务器400发生故障,也能够将上述保存的数据70统一传送到服务器C的服务器400。服务器C能够将通过PLC 600以文件的方式传送而接收到的数据70送出到服务器A或服务器B。服务器A或服务器B的DBMS 431使用来自服务器C的数据70作为可追溯性信息,使DB 430恢复到反映有故障期间的更新内容的状态。由此,能够保证服务器A或服务器B的DB 430的准确性。参照图16和图17,说明具体处理。
首先,参照图17,说明监视部1891的通信监视处理。监视部1891在分配部1881从用户程序186受理到数据70时,按照如上所述的优先级从高到低的顺序向通信客户端发送通信的请求。在图14中,向优先级较高的DB连接通信客户端(X)1811发送请求并测量直到接收到针对请求的响应(Ack)为止的所需时间、即响应时间(步骤S11)。
在监视部1891判断为响应时间不满足与DB连接通信客户端(X)1811对应的条件931、即判断为响应时间超过条件931的学习阈值97的情况下(步骤S13中为“否”),监视部1891在判断为状态信息95的与DB连接通信客户端(X)1811对应的状态94的目前值表示“产生超时”时(步骤S15中为“是”),生成指定存储部1875作为分配目的地的分配指令,输出到分配部1881(步骤S22)。监视部1891使该分配指令中包含从分配规则902读出的对应的动作识别符98(“缓冲发送”)。
另一方面,在监视部1891判断为与DB连接通信客户端(X)1811对应的状态94的目前值不表示“产生超时”时(步骤S15中为“否”),监视部1891将与DB连接通信客户端(X)1811对应的状态94设定为“产生超时”(步骤S17),转移到步骤S22的处理。由此,在PLC 600中,在发送数据70时,优先级较高的DB连接通信客户端(X)1811的响应时间不满足条件93的情况下,分配存储部1875,以将数据70发送到数据缓冲器1874。
在监视部1891判断为响应时间满足与DB连接通信客户端(X)1811对应的条件931、即判断为响应时间不超过条件931的学习阈值97的情况下(步骤S13中为“是”),在监视部1891判断为与DB连接通信客户端(X)1811对应的状态94的目前值表示“产生超时”时(步骤S19中为“是”),监视部1891将与DB连接通信客户端(X)1811对应的状态94设定为“良好”(步骤S21),生成指定优先级较高的通信客户端即DB连接通信客户端(X)1811的分配指令,并输出到分配部1881(步骤S25)。监视部1891使该分配指令中包含分配规则902的对应的动作识别符98(“通信客户端发送”)。
另一方面,在监视部189判断为与DB连接通信客户端(X)1811对应的状态94的目前值不表示“产生超时”时(步骤S19中为“否”),转移到步骤S25的处理。由此,在PLC 600中,在发送数据70时,优先级较高的DB连接通信客户端(X)1811的响应时间满足条件931的情况下,向用于发送数据70的通信客户端分配优先级较高的DB连接通信客户端(X)1811。
接着,参照图16说明分配部1881的处理。分配部1881判断是否从用户程序186经由端口68受理数据70(步骤S1)。当判断为未受理到数据70时(步骤S1中为“否”),反复步骤S1的处理,但是,当判断为受理到数据70时(步骤S1中为“是”),监视部1891实施图17的通信监视处理,将包含动作识别符98的分配指令输出到分配部1881(步骤S2)。
分配部1881使用来自监视部1891的分配指令实施分配处理(步骤S4)。具体而言,在分配指令表示DB连接通信客户端(X)1811时,分配部1881依照动作指令(“通信客户端发送”)将目的地91附加于数据70,并根据分配指令将数据70传送给DB连接通信客户端(X)1811。另一方面,在分配指令表示存储部1875时,分配部188依照动作指令(“缓冲发送”)将数据70传送给分配指令表示的分配目的地的存储部1875。
DB连接通信客户端(X)1811在从分配部1881受理到数据70时,将IP地址82附加于受理到的数据70,并输出到上位通信控制器160。
此外,存储部1875在从分配部1881受理到数据70时,例如按照受理到的顺序将数据70存储到数据缓冲器1874中。
分配部1881判断是否实施文件传送(步骤S7)。例如,在数据缓冲器1874所存储的数据70中的、未发送的数据70的大小超过预先确定的阈值时,分配部1881判断为实施文件传送(步骤S7中为“是”)。当判断为不实施文件传送时(步骤S7中为“否”),处理结束。
在判断为实施文件传送时(步骤S7中为“是”),分配部1881从数据缓冲器1874读出未发送的数据70,并传送给FTP通信客户端1821(步骤S9)。FTP通信客户端1821依照FTP将从分配部1881受理到的数据70以标注有服务器C的IP地址的文件形式发送到服务器C。
这样,优先地分配DB连接通信客户端(X)1811作为发送数据70的通信客户端,但是,然后,当DB连接通信客户端(X)1811的响应时间满足条件93时,分配目的地返回DB连接通信客户端(X)1811。在该期间内即DB连接通信客户端(X)1811的响应时间不满足条件93的期间内,从用户程序186受理到的数据70不被发送到服务器,而能够预先存储并保存到数据缓冲器1874中。由此,能够防止在该期间内从用户程序186输出的数据70的消失。
数据缓冲器1874的数据能够统一以文件的方式传送到服务器C,并将数据用于服务器A或服务器B的DB 430的恢复。
另外,即使在图16和图17所示的分配处理中,也能够应用如上所述(响应时间的变形例)的响应时间的测量方法。
<J.程序>
表示本实施方式所示的各流程的处理的程序或图4所示的至少一个程序存储到PLC 100的存储部(非易失性存储器128、存储卡172等)中。处理器120能够通过从存储部读出程序并执行,实现在本实施方式中所说明的通信的控制。
这样的程序能够记录在附属于PLC 100的软盘、CD-ROM(Compact Disk-Read OnlyMemory)、ROM、RAM和存储卡172等计算机可读取的存储介质中并作为程序产品进行提供。或者,还能够记录在内置于PLC 100的硬盘等存储介质中并提供程序。此外,还能够通过从未图示的网络经由通信接口(上位通信控制器160和通信端口168等)的下载,来提供程序。
<K.实施方式的优点>
图18是示意性地示出本实施方式的通信栈中所使用的内存大小的变化的一例的图。参照图18,说明考虑了无用存储单元收集的优点。
在本实施方式中,当在执行通信客户端的期间,通过JVM存储到通信栈中的对象的大小超过通信栈所具有的限制大小时,通信客户端的执行速度下降。在图18中例示由于这样的对象的存储引起的内存大小的变化。图18的内存大小的变化也能够同样应用于通信栈191和192双方。
通信栈的预先确定的限制大小相当于堆区域的大小。堆区域由新一代和旧一代构成,该新一代用于存储如一生成便立即无用的短寿命对象,该旧一代用于存储需要比较长时间的长寿命对象。在图18中,按照时间经过示出堆区域的已使用大小214、旧一代的已使用大小211的变化。
JVM实施以包含旧一代的堆区域的大致整体为对象的完整无用存储单元收集和仅以新一代为对象的无用存储单元收集。在图18中示出实施完整无用存储单元收集的时刻212、时刻213和时刻215、以及无用存储单元收集的所需时间210。能够在完整无用存储单元收集与完整无用存储单元收集之间的期间内,实施仅以新一代为对象的无用存储单元收集。
如图18所示,在实施完整无用存储单元收集时,无用存储单元收集的所需时间210延长,因此,基于JVM的通信客户端的执行速度伴随该延长而下降。在本实施方式中,通过使通信客户端的响应时间不满足条件93(931),检测(估计)完整无用存储单元收集的实施时刻。由此,即使在完整无用存储单元收集的实施时间中,也能够继续进行PLC与服务器的数据70的通信以及通过存储到数据缓冲器1874中而防止数据消失。
<L.实施方式的其他优点>
图19是示意性地示出本实施方式的通信客户端的切换方式的一例的图。参照图19,例如,说明如下情况:在通信客户端(X)181在执行通信的期间内产生了异常的情况下,能够通过切换为通信客户端(Y)182来持续通信。
首先,假设通信客户端(X)181和通信客户端(Y)182中的通信客户端(X)181处于执行中的状态ST3,通信客户端(Y)182处于正在停止的状态ST1。在通信客户端(X)181执行通信的期间,在通信客户端(X)181中产生例如程序异常等而使响应时间不满足条件93时(状态ST4),通信客户端(X)181停止通信,转移到异常确认或自动恢复处理的执行状态(状态ST5)。此外,这时,数据70的分配目的地切换到通信客户端(Y)182,向通信客户端(Y)182进行切换通知(状态ST2)。JVM 184在接收到切换通知时,将通信客户端(Y)182从停止状态切换到通信执行状态(状态ST6)。由此,通过通信客户端(Y)182执行通信,向服务器400发送数据70。
这样,在通信客户端(X)181产生了异常的情况下,能够将处于停止状态的通信客户端(Y)182从停止状态切换到通信执行状态,从而通过通信客户端(Y)182使数据70到达服务器400。此外,在接收到切换通知之前,通信客户端(Y)182处于停止状态,因此,能够在处于该停止状态的期间内,减少PLC 100中的程序执行所承受的负载。
<M.实施方式的其他优点>
图20是示意性地示出本实施方式的通信客户端的切换方式的其他例的图。参照图20,说明同时实施通信客户端(X)181的通信和通信客户端(Y)182的通信的情况。
参照图20,在通信客户端(X)181进行的数据70的通信执行状态(状态ST3)下成为响应时间不满足条件93的状态(状态ST4)时,分配部188将接下来受理到的数据70传送给通信客户端(Y)182(状态ST7)。通信客户端(Y)182从通信停止状态(状态ST1)转变为通信执行状态(状态ST6)。由此,能够降低通信客户端(X)181的负载。假设,在通信客户端(Y)182的数据70的通信完成之前又受理到下一个数据70的情况下,分配部188能够在该时刻将该数据70传送给响应时间满足条件93的通信客户端(X)侧。由此,在PLC 100中,能够并列地继续通信客户端(X)181的通信执行状态(状态ST3)和通信客户端(Y)182的通信执行状态(状态ST6),从而能够使基于通信客户端(X)181、通信客户端(Y)182这两者的数据70借助上位通信控制器160进行多路复用通信(例如,时分多路复用通信)。
<N.实施方式的又一其他优点>
说明考虑了PLC的使用环境的优点。近年来,PLC与数据库系统等外部装置连接,将由PLC保持的数据存储到数据库系统中。由此,能够容易进行与数据库连接的信息处理装置彼此的数据的共享,并且能够收集各种数据,从而容易进行数据的累计、分析等。
关于这样的与外部装置连接的PLC内置的通信功能,例如使用了通用工业协议(Common Industrial Protocol)(CIP)的PLC内置的通信功能为了对应2个通信端口,提供与各端口对应的通信栈。
这样,通过使用2个通信端口,与在PLC内对通信部进行多路复用的情形相比,本实施方式的PLC实现共用物理上的通信端口168的通信部的多路复用,因此,能够减少部件个数。此外,即使对PLC内的通信部进行多路复用,也不要求在服务器400侧进行与该多路复用对应的特殊变更。因此,本实施方式能够利用已有的控制系统来实现。
<O.附注>
如上所述的本实施方式包含如下所述的技术构思。
[结构1]
一种控制器(100),其具有:
通信程序执行部(104),其执行多个通信程序(181、182);
用户程序执行部(104),其执行用于对控制对象进行控制的用户程序(186),所述用户程序包含用于与外部装置(400)进行通信的命令;
通信接口(160),其构成为能够与所述多个通信程序中的任何通信程序连接,对所述多个通信程序与所述外部装置的通信进行控制;以及
确定部(188),其在所述用户程序执行部执行所述命令时,从所述用户程序执行部受理与所述外部装置进行通信的数据(70),根据所述数据的目的地,从所述多个通信程序中确定将所述数据发送到所述外部装置的通信程序。
[结构2]
根据结构1所述的控制器,其中,
所述控制器针对各通信程序具有通信栈(191、192)。
[结构3]
根据结构1或2所述的控制器,其中,
所述确定部根据各通信程序的执行状态和目的地(91),从多个通信程序中确定将所述数据发送到所述外部装置的通信程序。
[结构4]
根据结构3所述的控制器,其中,
所述确定部在基于所述目的地的所述通信程序的所述执行状态满足预先确定的条件(93)时,将该通信程序确定为将所述数据发送到所述外部装置的通信程序。
[结构5]
根据结构4所述的控制器,其中,
所述通信程序的执行状态通过执行中的该通信程序的通信的响应性能表示。
[结构6]
根据结构5所述的控制器,其中,
所述预先确定的条件包含所述响应性能的阈值(96),
所述阈值通过使用了与响应性能相关联的通信特征量的机器学习来确定。
[结构7]
根据权利要求4~6中的任意一项所述的控制器,其中,
所述确定部在基于所述目的地的所述通信程序的所述执行状态不满足预先确定的条件时,将其他所述通信程序确定为将所述数据发送到所述外部装置的通信程序。
[结构8]
根据权利要求4~6中的任意一项所述的控制器,其中,
所述确定部在基于所述目的地的所述通信程序的所述执行状态不满足预先确定的条件时,将所述数据输出到存储部(1875)。
[结构9]
根据结构8所述的控制器,其中,
所述控制器经由所述通信程序中的规定的通信程序(1821)将所述存储部的数据发送到所述外部装置。
[结构10]
根据结构9所述的控制器,其中,
基于所述目的地的所述通信程序的种类与所述规定的通信程序的种类不同,
所述通信程序的种类与该通信程序用于传送数据的通信协议的种类对应。
[结构11]
根据结构10所述的控制器,其中,
所述外部装置包含数据库服务器,
所述通信协议的种类包含用于与所述数据库服务器或通信部连接的通信协议,所述通信部对所述数据库服务器与所述控制器的通信进行控制。
[结构12]
一种控制器(100)的控制方法,其具有如下步骤:
执行多个通信程序(181、182)的步骤(R7);以及
执行用于对控制对象进行控制的用户程序(186)的步骤(R1),所述用户程序包含用于与外部装置(400)进行通信的命令,
所述控制器具有通信接口(160),该通信接口(160)构成为能够与所述多个通信程序中的任何通信程序连接,对所述多个通信程序与所述外部装置的通信进行控制,
所述控制方法还具有步骤(S3、S5),在该步骤(S3、S5)中,在执行所述用户程序的所述命令时,从所述用户程序受理与所述外部装置进行通信的数据(70),根据所述数据的目的地,从所述多个通信程序中确定将该数据发送到所述外部装置的通信程序。
[结构13]
一种记录介质,其记录有用于使控制器所具有的计算机执行控制方法的程序,所述控制方法具有以下步骤:
执行多个通信程序;以及
执行用于对控制对象进行控制的用户程序,所述用户程序包含用于与外部装置进行通信的命令,
所述控制器具有通信接口,该通信接口构成为能够与所述多个通信程序中的任何通信程序连接,对所述多个通信程序与所述外部装置的通信进行控制,
所述控制方法还具有以下步骤:在执行所述用户程序的所述命令时,从所述用户程序受理与所述外部装置进行通信的数据,并根据所述数据的目的地,从所述多个通信程序中确定将该数据发送到所述外部装置的通信程序。
应该认为此次公开的实施方式在所有方面都是例示而不是限制性内容。本发明的范围不通过上述说明示出,而通过权利要求书示出,主旨为包含与权利要求书同等的意思和范围内的所有变更。
标号说明
1:控制系统;68:端口;70:数据;80:地址转换表;90、901、902:分配规则;95:状态信息;96:TH阈值;97:学习阈值;100:控制器;112:网络;120:处理器;128:非易失性存储器;160:上位通信控制器;168:通信端口;181:通信客户端(X);182:通信客户端(Y);185:管理程序;186:用户程序;187:系统程序;188、1881:分配部;189、1891:监视部;190:硬件资源;191、192:通信栈;1811:DB连接通信客户端;1821:FTP通信客户端;1872:学习部;1874:数据缓冲器;1875:存储部;P1、P2:模式;RP:代表值。

Claims (13)

1.一种控制器,其具有:
连接器,其将所述控制器与外部的第一通信网络连接;
通信端口,其将所述控制器与不同于所述第一通信网络的外部的第二通信网络连接;
通信程序执行部,其执行多个通信程序;
用户程序执行部,其执行用于经由所述第一通信网络与设置于所述控制器的外部的控制对象进行通信而对该控制对象进行控制的用户程序,所述用户程序包含用于经由所述第二通信网络与设置于所述控制器的外部的外部装置进行通信的命令;
通信接口,其构成为能够与所述多个通信程序中的任何通信程序连接,对所述多个通信程序与所述外部装置经由所述第二通信网络的通信进行控制;以及
确定部,其在所述用户程序执行部执行所述命令时,从所述用户程序执行部受理与所述外部装置进行通信的数据,并根据所述数据的目的地,从所述多个通信程序中确定将所述数据发送到所述外部装置的通信程序。
2.根据权利要求1所述的控制器,其中,
所述控制器针对各所述通信程序具有通信栈。
3.根据权利要求1所述的控制器,其中,
所述确定部根据各所述通信程序的执行状态和所述目的地,从所述多个通信程序中确定将所述数据发送到所述外部装置的通信程序。
4.根据权利要求3所述的控制器,其中,
所述确定部在基于所述目的地的所述通信程序的所述执行状态满足预先确定的条件时,将该通信程序确定为将所述数据发送到所述外部装置的通信程序。
5.根据权利要求4所述的控制器,其中,
所述通信程序的执行状态由执行中的该通信程序的通信的响应性能来表示。
6.根据权利要求5所述的控制器,其中,
所述预先确定的条件包含所述响应性能的阈值,
所述阈值是通过使用了与响应性能相关联的通信特征量的机器学习来确定的。
7.根据权利要求4~6中的任意一项所述的控制器,其中,
所述确定部在基于所述目的地的所述通信程序的所述执行状态不满足预先确定的条件时,将其他所述通信程序确定为将所述数据发送到所述外部装置的通信程序。
8.根据权利要求4~6中的任意一项所述的控制器,其中,
所述确定部在基于所述目的地的所述通信程序的所述执行状态不满足预先确定的条件时,将所述数据输出到存储部。
9.根据权利要求8所述的控制器,其中,
所述控制器经由所述通信程序中的规定的通信程序将所述存储部的数据发送到所述外部装置。
10.根据权利要求9所述的控制器,其中,
基于所述目的地的所述通信程序的种类与所述规定的通信程序的种类不同,
所述通信程序的种类与该通信程序用于传送数据的通信协议的种类对应。
11.根据权利要求10所述的控制器,其中,
所述外部装置包含数据库服务器或对所述数据库服务器与所述控制器的通信进行控制的通信部,
所述通信协议的种类包含用于与所述数据库服务器连接的通信协议。
12.一种控制方法,其是控制器的控制方法,
所述控制器具有:
连接器,其将所述控制器与外部的第一通信网络连接;以及
通信端口,其将所述控制器与不同于所述第一通信网络的外部的第二通信网络连接,
所述控制方法具有以下步骤:
执行多个通信程序;以及
执行用于经由所述第一通信网络与设置于所述控制器的外部的控制对象进行通信而对该控制对象进行控制的用户程序,所述用户程序包含用于经由所述第二通信网络与设置于所述控制器的外部的外部装置进行通信的命令,
所述控制器还具有通信接口,该通信接口构成为能够与所述多个通信程序中的任何通信程序连接,对所述多个通信程序与所述外部装置经由所述第二通信网络的通信进行控制,
所述控制方法还具有以下步骤:在执行所述用户程序的所述命令时,从所述用户程序受理与所述外部装置进行通信的数据,并根据所述数据的目的地,从所述多个通信程序中确定将该数据发送到所述外部装置的通信程序。
13.一种记录介质,其记录有用于使控制器所具有的计算机执行控制方法的程序,
所述控制器具有:
连接器,其将所述控制器与外部的第一通信网络连接;以及
通信端口,其将所述控制器与不同于所述第一通信网络的外部的第二通信网络连接,
所述控制方法具有以下步骤:
执行多个通信程序;以及
执行用于经由所述第一通信网络与设置于所述控制器的外部的控制对象进行通信而对该控制对象进行控制的用户程序,所述用户程序包含用于经由所述第二通信网络与设置于所述控制器的外部的外部装置进行通信的命令,
所述控制器还具有通信接口,该通信接口构成为能够与所述多个通信程序中的任何通信程序连接,对所述多个通信程序与所述外部装置经由所述第二通信网络的通信进行控制,
所述控制方法还具有以下步骤:在执行所述用户程序的所述命令时,从所述用户程序受理与所述外部装置进行通信的数据,并根据所述数据的目的地,从所述多个通信程序中确定将该数据发送到所述外部装置的通信程序。
CN201980004180.1A 2018-02-26 2019-01-22 控制器、控制方法以及记录介质 Active CN111052011B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018032043A JP7013934B2 (ja) 2018-02-26 2018-02-26 コントローラ
JP2018-032043 2018-02-26
PCT/JP2019/001780 WO2019163366A1 (ja) 2018-02-26 2019-01-22 コントローラ、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
CN111052011A CN111052011A (zh) 2020-04-21
CN111052011B true CN111052011B (zh) 2023-04-25

Family

ID=67686753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980004180.1A Active CN111052011B (zh) 2018-02-26 2019-01-22 控制器、控制方法以及记录介质

Country Status (5)

Country Link
US (1) US11137734B2 (zh)
EP (1) EP3761126A4 (zh)
JP (1) JP7013934B2 (zh)
CN (1) CN111052011B (zh)
WO (1) WO2019163366A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11644808B2 (en) * 2019-10-03 2023-05-09 Keyence Corporation Programable logic controller
DE112020007149B4 (de) * 2020-07-03 2023-09-21 Mitsubishi Electric Corporation Zuordnungsunterstützungsprogramm, Zuordnungsunterstützungsvorrichtung, Zuordnungslernprogramm, Zuordnungslernvorrichtung und computerlesbares Speichermedium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2052223A1 (en) * 1990-09-28 1992-03-29 Fausto Beretta Motor vehicle automatic parking system, and related improved silos structure
CA2583615A1 (en) * 2006-03-31 2007-09-30 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
CN103995500A (zh) * 2013-02-15 2014-08-20 欧姆龙株式会社 控制器、信息处理装置及程序
CN104750016A (zh) * 2013-12-26 2015-07-01 欧姆龙株式会社 通信控制装置及通信控制方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026425A (en) * 1996-07-30 2000-02-15 Nippon Telegraph And Telephone Corporation Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation
US6034946A (en) * 1997-04-15 2000-03-07 International Business Machines Corporation Selection of routing paths in data communications networks to satisfy multiple requirements
US6453210B1 (en) * 1998-07-23 2002-09-17 Vulcan Engineering Company, Inc. Autonomous control method and process for an investment casting shell
JP2000341357A (ja) 1999-05-27 2000-12-08 Mitsubishi Electric Corp 通信制御装置、計測制御システム、及び記録媒体
US6725272B1 (en) * 2000-02-18 2004-04-20 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
US7774492B2 (en) 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
JP4492778B2 (ja) 2001-08-30 2010-06-30 豊和工業株式会社 モニタリングシステムにおける通信システム
EP1322097A1 (en) * 2001-12-21 2003-06-25 Siemens Aktiengesellschaft A method and computer system for client server inter process communication
US20040006615A1 (en) * 2002-07-02 2004-01-08 Sun Microsystems, Inc., A Delaware Corporation Method and apparatus for cerating proxy auto-configuration file
US7984199B2 (en) 2008-03-05 2011-07-19 Fisher-Rosemount Systems, Inc. Configuration of field devices on a network
US8244934B2 (en) * 2008-12-22 2012-08-14 Hewlett-Packard Development Company, L.P. Data storage network management
US8275853B2 (en) 2009-01-29 2012-09-25 Hewlett-Packard Development Company, L.P. Method and system for a service intermediary selection in a web service management system
US8261269B2 (en) 2009-09-21 2012-09-04 Oracle International Corporation System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment
US8856800B2 (en) * 2010-05-21 2014-10-07 Red Hat, Inc. Service-level enterprise service bus load balancing
US20110289485A1 (en) * 2010-05-21 2011-11-24 International Business Machines Corporation Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip
RU2446457C1 (ru) * 2010-12-30 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для удаленного администрирования персональных компьютеров в рамках сети
RU2460132C1 (ru) * 2011-06-28 2012-08-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для контроля доступа к ресурсам корпоративной сети для персональных компьютеров
EP2566135B1 (en) * 2011-09-01 2018-04-04 Software AG Cloud-based mainframe integration system and method
CN103634129B (zh) * 2012-08-22 2018-03-20 腾讯科技(深圳)有限公司 一种设置代理服务器的方法及装置
JP6171387B2 (ja) 2013-02-15 2017-08-02 オムロン株式会社 コントローラ、情報処理装置およびプログラム
JP2014194592A (ja) 2013-03-28 2014-10-09 Azbil Corp 機器管理システム
US9870269B1 (en) * 2013-09-05 2018-01-16 Amazon Technologies, Inc. Job allocation in a clustered environment
FR3019955B1 (fr) * 2014-04-15 2017-12-01 Devialet Ensemble de dispositifs electroniques destines a etre raccordes a au moins un reseau informatique et procede de transfert de donnees numeriques dans cet ensemble
US9329842B1 (en) * 2014-11-25 2016-05-03 Yahoo! Inc. Method and system for providing a user interface
JP2016103179A (ja) * 2014-11-28 2016-06-02 株式会社日立製作所 計算機リソースの割り当て方法及び計算機システム
KR101632835B1 (ko) * 2015-04-14 2016-06-23 엘에스산전 주식회사 Plc 시스템의 프로토콜 자동 설정 방법
US10171295B2 (en) * 2016-04-07 2019-01-01 Red Hat, Inc. Distributed remote execution

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2052223A1 (en) * 1990-09-28 1992-03-29 Fausto Beretta Motor vehicle automatic parking system, and related improved silos structure
CA2583615A1 (en) * 2006-03-31 2007-09-30 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
CN103995500A (zh) * 2013-02-15 2014-08-20 欧姆龙株式会社 控制器、信息处理装置及程序
CN104750016A (zh) * 2013-12-26 2015-07-01 欧姆龙株式会社 通信控制装置及通信控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mathias Haage.《Semantic Modelling of Hybrid Controllers for Robotic Cells》.《Procedia Manufacturing》.2017,第292页-第299页. *
徐蓬.《基于面向工业机器人控制器的软PLC系统软件开发分析》.《科技风》.2017,1. *

Also Published As

Publication number Publication date
EP3761126A1 (en) 2021-01-06
US20200201279A1 (en) 2020-06-25
JP2019148890A (ja) 2019-09-05
CN111052011A (zh) 2020-04-21
US11137734B2 (en) 2021-10-05
WO2019163366A1 (ja) 2019-08-29
JP7013934B2 (ja) 2022-02-01
EP3761126A4 (en) 2022-04-06

Similar Documents

Publication Publication Date Title
CN102362481B (zh) 用于楼宇自动化系统的记录采集数据获取器
KR101303989B1 (ko) 분산 스토리지 시스템
JP6310052B2 (ja) スマート変電所の保護制御システムに基づくデータ伝送方法
CN108205541B (zh) 分布式网络爬虫任务的调度方法及装置
JP5283806B2 (ja) 産業用プロセス制御システムのための通信アーキテクチャ
JP4677813B2 (ja) サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム
US20050050271A1 (en) Virtualization controller, access path control method and computer system
CN111052011B (zh) 控制器、控制方法以及记录介质
US8898312B2 (en) Element terminal and communication system
US20140201356A1 (en) Monitoring system of managing cloud-based hosts and monitoring method using for the same
CN103166971A (zh) 一种多路复用串口协议转换器
US10353599B2 (en) Storage system that has a plurality of managers among which a master manager is switchable
CN111641669B (zh) 以网络为中心的进程控制系统中的动态负载平衡
CN108810042B (zh) 一种任务处理方法、相关设备及系统
CN112583683A (zh) 一种主从式can fd总线应用层通信方法及系统、电子设备
CN107666401A (zh) 一种配置信息获取方法及终端
JP7294391B2 (ja) コントローラ、制御方法およびプログラム
CN101526932A (zh) 设备控制装置、设备信息获取方法及计算机可读记录介质
JPWO2017017774A1 (ja) ストレージ監視システムおよびその監視方法
CN111587561A (zh) 分布式控制系统及其通信控制方法
CN111556043B (zh) 一种报文处理方法、装置、系统、设备及可读存储介质
CN102571412A (zh) 嵌入式分布式系统目标机服务器
WO2013065151A1 (ja) 計算機システム、データ転送方法、および、データ転送プログラム
RU2707675C1 (ru) Способ организации хранения данных на узлах сети с передачей данных между узлами сети с предсказуемой загрузкой узлов сети для систем реального времени
CN112398707B (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
GR01 Patent grant
GR01 Patent grant