CN110114732A - 可编程控制器、管理装置和控制*** - Google Patents
可编程控制器、管理装置和控制*** Download PDFInfo
- Publication number
- CN110114732A CN110114732A CN201780080671.5A CN201780080671A CN110114732A CN 110114732 A CN110114732 A CN 110114732A CN 201780080671 A CN201780080671 A CN 201780080671A CN 110114732 A CN110114732 A CN 110114732A
- Authority
- CN
- China
- Prior art keywords
- distribution
- processing
- core
- setting data
- processor core
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
根据实施方式的可编程控制器包括多个处理器核心、输入部、分配部、发送部、电源控制部、更新部和执行部。分配部将多个处理中的任一个分配给多个处理器核心中的每一个。发送部将处理的分配结果发送到管理装置。当在管理装置中变更处理的分配并且输入部输入变更后的设定数据时,电源控制部进行重新起动。更新部在重新起动后基于设定数据更新对多个处理器核心的分配。执行部基于分配执行多个处理,并且在变更分配时,基于变更后的分配执行多个处理。
Description
技术领域
本发明的实施方式涉及可编程控制器、管理装置、以及控制***。
背景技术
传统上,在多个处理器核心包含在一个CPU(CPU封装)中的、包括多核中央处理单元(CPU)(多核处理器)的可编程控制器(可编程逻辑控制器(PLC))中,各个处理器核心通过并行执行各个处理来提高处理能力。
现有技术文献
专利文献
专利文献1:特开2007-94898号公报
专利文献2:特开2012-141722号公报
发明内容
(发明要解决的问题)
然而,在现有技术中,对每个处理器核心的处理分配由专门用于每个可编程控制器的应用程序确定。为此,在现有技术中,需要修改应用程序以便改变对每个处理器核心的处理分配,结果,还需要编译修改后的应用程序。由于这个原因,现有技术中难以动态且快速地改变处理器核心的处理分配。在这种现有技术中,已经要求可编程控制器能够更灵活地改变对每个处理器核心的处理分配。
(解决问题的技术手段)
根据一个实施方式的可编程控制器包括多个处理器核心,所述可编程控制器包括:输入部,从连接到所述可编程控制器的管理装置输入在所述多个处理器核心中执行的应用程序、以及包括所述应用程序中包含的多个处理的信息的设定数据;分配部,将所述多个处理中的任一个分配给所述多个处理器核心中的每一个;发送部,将所述多个处理器核心和所述多个处理的分配结果发送至所述管理装置;电源控制部,当在所述管理装置中变更所述多个处理对所述多个处理器核心的分配、且所述输入部输入了追加了变更后的分配的信息的所述设定数据的情况下,进行重新起动;更新部,在所述重新起动后基于所述设定数据更新对所述多个处理器核心的分配;和执行部,基于所述分配执行所述多个处理,并且在所述分配已被变更时,基于变更后的所述分配执行所述多个处理。
附图说明
图1是示出根据第一实施方式的控制***的整体结构的示例的图。
图2是示出根据第一实施方式的控制器的功能结构的示例的方框图。
图3A是示出根据第一实施方式的设定数据所含的定义文件的结构和内容的示例的图。
图3B是示出根据第一实施方式的设定数据所含的另一定义文件的结构和内容的示例的图。
图4是示出根据第一实施方式的个人计算机(PC)的硬件结构的示例的图。
图5是示出根据第一实施方式的PC的功能结构的示例的方框图。
图6是示出根据第一实施方式的监控画面的示例的图。
图7是示出根据第一实施方式的警告指示的示例的图。
图8是示出根据第一实施方式的应用程序和设定数据的生成处理的流程的示例的流程图。
图9是示出根据第一实施方式的控制器的控制处理的流程的示例的流程图。
图10是示出根据第一实施方式的监控处理的流程的示例的流程图。
图11是示出根据第一实施方式的分配变更处理的流程的示例的流程图。
图12是示出根据第二实施方式的控制器的功能结构的示例的方框图。
图13是示出根据第二实施方式的PC的功能结构的示例的方框图。
图14是示出根据第二实施方式的监控画面的示例的图。
图15是示出根据第二实施方式的控制处理的整体流程的示例的流程图。
图16是示出根据第二实施方式的监控处理的流程的示例的流程图。
具体实施方式
(第一实施方式)
图1是示出根据第一实施方式的控制***S的整体结构的示例的图。根据本实施方式的控制***S例如适用于成套设备(plant)。如图1所示,控制***S包括个人计算机(PC)1、和可编程控制器2(可编程序逻辑控制器(PLC),以下简称为控制器)。
PC1是用户用来生成要在控制器2中执行的应用程序并监控控制器2的运转状态的计算机。PC1具有作为软件的工程工具(engineering tool)11。工程工具11是执行与控制***S相关的***构建、编程、监控、信息收集和监视等的软件。PC1通过工程工具11的功能来管理控制器2。PC1是根据本实施方式的管理装置的示例。下文将描述PC1和工程工具11的细节。
如图1所示,控制器2包括多核心CPU(多核心处理器)20、随机存取存储器(RAM)22、快闪只读存储器(FROM)23、工具接口24、I/O接口25和总线26。
多核心CPU 20是具有多个处理器核心(以下简称为核心)的CPU。如图1所示,多核心CPU 20包括核心A301和核心B302。图1中示出的多核心CPU 20中的核心的数量为示例,并不限于两个。多核心CPU 20控制整个控制器2。
RAM 22是多核心CPU 20的操作区域,并且为可写入存储介质。FROM 23是所谓的闪存,并且是可电改写的非易失性半导体存储介质。
工具接口24是用于经由通信路径4向PC1发送信息和从PC1接收信息的接口。通信路径4是将PC1和控制器2彼此连接的通信路径,并且是诸如以太网(Ethernet,注册商标)或通用串行总线(USB)的高速通信路径,但不限于此。
I/O接口25是用于经由通信路径5向I/O设备3发送信息和从I/O设备3接收信息的接口。通信路径5是将控制器2和I/O设备3相互连接的通信路径。另外,总线26是控制器2内部的数据传输路径。
I/O设备3是用于对构成成套设备的装置进行输入输出的设备。例如,I/O设备3的示例包括用于输入来自安装在控制对象设备中的传感器的信号的输入装置(模拟输入(AI)设备和数字输入(DI)设备),或用于将信号输出至控制对象设备的致动器的输出装置(模拟输出(AO)装置和数字输出(DO)装置)。在图1中,I/O设备3和I/O接口25的数量各记载一个,但不限于此。譬如,I/O设备3和I/O接口25的数量根据成套设备的结构而变化。
图2是示出根据本实施方式的控制器2的功能结构的示例的方框图。如图2所示,控制器2包括输入部201、分配部202、执行部203、更新部204、电源控制部205、发送部206和存储部250。
存储部250例如由FROM 23构成。另外,存储部250存储输入部201从PC1下载(接收)的应用程序311和设定数据310。应用程序311是控制器2用于控制成套设备的程序。存储在存储部250中的应用程序311假定为已经被编译的应用程序311,即执行文件形式的应用程序311。
设定数据310是定义包含在应用程序311中多个处理的信息、核心A301和核心B302的信息、以及对于核心A301和核心B302的每个处理的分配的定义信息。换句话说,现有技术中应用程序311中包含的定义信息在本实施方式中作为设定数据310在应用程序311的外部被定义。
图3A和3B是示出根据本实施方式的设定数据310中所含的定义文件313a和313b的结构和内容的示例的图。根据本实施方式的设定数据310包含定义文件313a和定义文件313b。
如图3A所示,定义文件313a例如包括诸如“处理”、“I/O接口”、“不可分离处理”、“核心”等的定义信息。“处理”是包含在应用程序311中的处理。“I/O接口”是确定包含在应用程序311中的每个处理所使用的I/O接口25的信息。“不可分离处理”是不能分配至不同核心的多个处理的组合的信息。“核心”是执行各处理的核心A301或核心B302的分配的信息。
设定数据310由PC1的工程工具11生成,但是在生成时间点每个处理尚未分配至核心A301和核心B302。因此,在生成时间点的设定数据310中,图3A中的项目“核心”是空白的(未分配)。每个处理向核心A301和核心B302的分配由稍后将描述的分配部202决定。另外,当PC1的工程工具11变更处理的分配时,PC1将变更后的分配登记在设定数据310中。
另外,如图3B所示,定义文件313b包括核心A301和核心B302的“I/O接口的上限数”和“不可分配接口”的定义信息。“I/O接口的上限数”是与分配至核心A301和核心B302的每个处理对应的I/O接口25的数量的上限的指定值。另外,“不可分配接口”是禁止将对应于特定I/O接口25的处理分配至核心A301或核心B302的定义。
图3A和3B中所示的设定数据310的结构和内容为示例,但不限于此。此外,设定数据310所包含的定义文件的数量不限于两个。例如,设定数据310可被构成为在一个定义文件中包含定义文件313a和定义文件313b的内容。
回到图2,输入部201经由工具接口24从PC1输入(下载)应用程序311和设定数据310。输入部201将输入的应用程序311和设定数据310存储在存储部250中。另外,当在PC1中通过用户的操作变更由稍后描述的分配部202所决定的处理向核心A301及核心B302的分配时,输入部201将输入登记有变更后的分配的设定数据310。输入部201将登记有变更后的分配的设定数据310存储于存储部250中。在这种情况下,输入部201可以改写已存储在存储部250中的设定数据310,并存储登记有变更后的分配的设定数据310。
分配部202将应用程序311所包含的多个处理中的任一个处理分配给核心A301和核心B302中的每一个。具体地,当执行部203起动应用程序311时,分配部202从设定数据310中检索执行对象的处理,并将处理分配给核心A301或核心B302。
分配部202将每个处理分配给核心A301和核心B302,以使得能够高效地执行应用程序311的整体处理。例如,分配部202从设定数据310检索使用相同I/O接口25的处理,并且优先将这些处理分配给相同的核心A301或核心B302。通过在相同的核心A301或核心B302中执行使用相同的I/O接口25的多个处理,分配部202可减少I/O接口25的输入输出的次数,并减少应用程序311的整体处理时间。
另外,分配部202通过将可同时并行执行的处理优先分配至不同的核心A301和核心B302从而减少应用程序311的整体处理时间。例如,分配部202确定能够并行地同时执行设定数据310中未被定义为不可分离处理的处理。分配部202例如可配置成为控制器2的操作***(OS)的一个功能。
在现有技术中,处理向各核心的分配在应用程序311的代码中指定或由编译器决定。为此,每个应用程序311专用于特定的控制器,并且难以例如将应用程序311由具有不同核心数量的其他控制器使用。在本实施方式中,由于控制器2的分配部202将处理分配给核心A301和核心B302,因此应用程序311不包含指定执行各处理的核心的信息。因此,根据本实施方式的控制器2可以与核心的数量等结构不同的其他控制器共同地使用相同的应用程序311。
分配部202将各处理向核心A301和核心B302的分配登记在设定数据310中。另外,当设定数据310已经包含各处理与核心A301和核心B302的分配的信息时,分配部202可以采用根据设定数据310将各处理分配至核心A301和核心B302的结构。譬如,当控制器2多次执行特定的应用程序311时,可以采用在第二次或后续执行中适用登记在设定数据310中的上一次以前的分配的结构。
电源控制部205对控制器2的电源进行控制。例如,当在PC1中变更对核心A301和核心B302的处理的分配且输入部201输入了追加了变更后的分配的信息的设定数据310时,电源控制部205重启(再起动)控制器2。
更新部204在控制器2重启后基于存储在存储部250中且追加了变更后的分配的信息的设定数据310,更新对核心A301和核心B302的分配。更新部204将更新后的分配发送到执行部203。和分配部202一样,更新部204也可被构成为控制器2的OS的一个功能。
执行部203起动应用程序311。执行部203可以在特定时间起动应用程序311,或者可以通过用户的操作或通过接受来自外部装置的信号来起动应用程序311。
另外,当执行部203起动了应用程序311时,执行部203基于对从分配部202获取的对核心A301和核心B302的处理的分配来执行包含在应用程序311中的各个处理。此外,当执行部203从更新部204获取了更新后的分配时,执行部203基于更新后的分配执行应用程序311中包含的各处理。执行部203可以从重启前已执行了的处理起开始重新执行,或者可从头开始重新执行整个应用程序311。
发送部206将核心A301和核心B302中的每一个的动作状态发送至PC1。譬如,发送部206经由工具接口24和通信路径4将对核心A301和核心B302的处理的分配结果发送至PC1。另外,发送部206经由工具接口24和通信路径4将处理和各处理中使用的I/O接口25以彼此对应的方式发送至PC1。
接下来,描述PC1的构成。图4是示出根据本实施方式的PC1的硬件结构的示例的图。如图4所示,PC1包括输入设备12、CPU13、存储器14、硬盘驱动器(HDD)15、显示器(监视器)16、通信接口17和总线18。
输入设备12例如为键盘、鼠标、触控面板等受理用户的操作的装置。
CPU13是执行PC1的整体控制的控制装置。例如,CPU13通过执行存储在存储器14中的程序等来实现各种结构。存储器14是用于存储可读数据的存储器,例如是ROM。此外,PC1也可以采用还具备诸如可写RAM的存储器的结构。
HDD15是外部存储装置(辅助存储装置)。PC1可以采用包括诸如闪存之类的存储介质的结构来代替HDD15。
显示器16是诸如液晶面板的显示装置,并且是本实施方式中的显示部的一个示例。通信接口17是经由通信路径4向控制器2发送信息和从控制器2接收信息的接口。此外,总线18是PC1内部的数据传输路径。图4中所示的PC1的构成仅仅是示例,且提供通用计算机功能的结构就足够了。
接下来将描述PC1的功能结构。图5是示出根据本实施方式的PC1的功能结构的示例的方框图。如图5所示,工程工具11是在PC1上运行的软件,包括受理部101、程序生成部102、编译器103、分割部104、设定数据生成部105、分配变更部106、显示控制部107和收发部108。另外,PC1包括存储部150。
存储部150例如由HDD15构成。或者,存储部150可以由诸如RAM的可写存储介质所构成。存储部150存储执行文件形式的应用程序311,和由设定数据生成部105生成的设定数据310。另外,存储在存储部150中的应用程序311不限于由PC1的程序生成部102生成的应用程序。譬如,可以采用存储由其他工程工具所生成的应用程序311的结构。
受理部101通过输入设备12受理用户的操作。例如,受理部101受理拖放操作,该操作用于将通过后述的显示控制部107显示在显示器16上的多个处理中的任何一个的分配从核心A301和核心B302中的一方变更为另一方。
程序生成部102从受理部101获取用户的操作内容,并生成在控制器2中执行的应用程序311。譬如,程序生成部102从受理部101获取用户通过操作显示器16上显示的功能框图或梯形图(Ladder diagram)等而设定的内容,并将内容转换为应用程序311。用户通过操作功能框图、梯形图等而输入用于控制成套设备的控制进程(process)和控制内容。
本实施方式中的控制进程包括:成套设备的控制中的工序以及包含在各工序中的作业。另外,本实施方式中的控制内容是各工序的执行顺序和控制方法的定义。例如,当控制器2生成以预定顺序依序进行各工序的应用程序311时,用户将各工序的执行顺序设定为序列控制。另外,当控制器2生成重复预定的工序或作业的应用程序311时,用户将各工序或作业的执行顺序设定为循环控制。序列控制和循环控制可混合存在于一个应用程序311中。另外,控制内容不局限于序列控制和循环控制,而是可以采用可设定其他类型的控制的结构。程序生成部102从受理部101获取用户的操作内容,并将用户的操作内容转换为应用程序311。
编译器103将程序生成部102生成的应用程序311转换为控制器2可执行的格式。编译器103将完成编译的应用程序311,即执行文件形式的应用程序311,保存在存储部150中。
分割部104将执行文件形式的应用程序311划分为多个处理。例如,分割部104将应用程序311划分为用于在执行应用程序311时以多个线程(threads)来执行进程的处理单位。处理的分割单位是示例,但不限于此。分割部104将应用程序311的分割结果发送至设定数据生成部105。
另外,应用程序311不限于由程序生成部102生成的应用程序。例如,分割部104也可采取从存储部150获取由其他工程工具所生成的应用程序311并将该应用程序分割为多个处理的构成。在本实施方式中,编译器103和分割部104是分开的,但本发明不限于此。譬如,也可采用编译器103执行分割处理的结构。
设定数据生成部105生成包括应用程序311中所含的多个处理信息的设定数据310。例如,如图3A所示,设定数据生成部105从分割部104获取能够确定分割后的各处理的定义信息,并将定义信息登记在定义文件313a中。另外,设定数据生成部105从应用程序311获取确定各处理中使用的I/O接口25的信息,并将该信息与能确定各处理的定义信息相关联地登记在定义文件313a中。
此外,设定数据生成部105将在多个处理中的作为无法分配至不同核心A301和核心B302的多个处理的、不可分离处理的组合的信息登记在定义文件313a中。作为不可分离处理的示例,在进行循环控制的应用程序311中,有包含在相同循环中的处理。除此之外,设定数据生成部105还可采用下述结构:将因处理的前后关系等原因而无法分配至不同核心A301和核心B302的处理的组合,在定义文件313a中登记为不可分离处理。
另外,如图3B所示,设定数据生成部105将与分配至核心A301或核心B302的处理相对应的I/O接口25的上限数登记在定义文件313b中。此外,如图3B所示,设定数据生成部105将不能分配至特定核心A301或核心B302的I/O接口25登记在定义文件313b中。设定数据生成部105例如从受理部101获取用户所输入的I/O接口25的上限数和不可分配接口作为输入值,并将输入值登记在定义文件313b。
收发部108经由通信接口17和通信路径4与控制器2之间进行信息及数据的发送和接收。例如,收发部108将由编译器103编译的应用程序311和由设定数据生成部105生成的设定数据310发送至控制器2。
此外,当控制器2起动应用程序311时,收发部108从控制器2接收核心A301和核心B302中每一个的动作状态。具体而言,收发部108从控制器2接收(获取)向核心A301和核心B302中的每一个分配多个处理的结果、以及I/O接口25与各处理之间的对应关系。
显示控制部107控制显示器16的显示内容。例如,显示控制部107在显示器16上显示用户用于生成应用程序311的功能框图或梯形图。此外,例如,显示控制部107从收发部108获取对控制器2中多个处理向核心A301和核心B302的分配以及各处理与I/O接口25之间的对应关系,并将它们显示在显示器16上。换言之,显示控制部107在必要时向用户提供用于变更处理的分配的监控画面,以使用户监视控制器2的核心A301和核心B302的动作状态。
将参考图6描述由显示控制部107在显示器16上显示的内容。图6是示出根据本实施方式的监控画面的示例的图。图6(a)和6(b)分别示出了在显示器16上显示的图形用户界面(GUI)的画面。图6(a)是显示由控制器2的分配部202将多个处理分配至核心A301和核心B302的结果的画面,图6(b)是显示经用户变更后的分配的画面。
此外,显示在图6所示的画面上的处理A至D为示出由分割部104分割的包含在应用程序311的多个处理的示例的图像。处理A至D为在起动应用程序311后,分配至核心A301或核心B302的执行中或执行准备中的处理。在处理结束时,从画面依序删除处理A至D。另外,当应用程序311中包含的其他处理被分配至核心A301或核心B302时,其他处理会新显示在画面。为此,图6所示的画面上显示的处理会随应用程序311的进行而改变。此外,图6的I/Fs#1至#3为显示多个I/O接口25a至25c的图像。
如图6所示,根据本实施方式的显示控制部107以相对应的方式在显示器16上显示处理A至D和在处理A至D中使用的I/O接口25a至25c。显示控制部107从收发部108获取由控制器2的发送部206发送的信息作为处理与I/O接口25之间的对应关系。可替换地,显示控制部107也可采用从存储在存储部150中的设定数据310读取并显示处理与I/O接口25的对应关系的结构。
显示控制部107根据用户的操作改变显示器16上的显示。譬如,当显示控制部107从受理部101获取用户的将多个处理中的一个的分配从核心A301和核心B302的一方变更至另一方的操作时,显示控制部107变更显示器16上的显示。用户的操作例如是拖放操作,但不限于此。
譬如,在图6(a)所示的示例中,将处理A和处理B分配至核心A301,处理C和处理D分配至核心B302。此时,当受理部101受理了用户将处理B从核心A301移动到核心B302的拖放操作时,显示控制部107变更显示器16上的显示,如图6(b)所示。也就是说,如图6(b)所示,在显示器16上,显示变更为对核心A301分配处理A,对核心B302分配处理B、处理C及处理D。此外,与处理B相对应的I/F#2(I/O接口25b)也随着处理B的移动而移动至核心B302。
另外,当受理部101受理了将不可分离处理进行分离的分配变更操作时,显示控制部107在显示器16上显示警告。由下文将要描述的分配变更部106确认用户的操作是否是对不可分离处理进行分离的分配变更操作,并通知给显示控制部107。图7是示出根据本实施方式的警告显示的示例的图。分配至核心A301的处理X及处理Y在设定数据310中登记为不可分离处理。当受理部101受理在显示器16上将处理Y移动至核心B302的操作时,显示控制部107在显示器16上显示警告。
作为警告的示例,显示控制部107显示“警告处理Y不能设定给核心B”等,如图7中的消息901所示。或者,显示控制部107在图7所示的处理Y的移动目的地的核心B302的周边如符号900那样显示“/(斜线)”的符号,表示操作是不正确的。消息901和符号900是警告显示的示例,但警告显示不限于此。另外,当使包含在不可分离处理的组合中的全部处理移动时,显示控制部107也可采用不显示该警告的结构。譬如,当使处理X和处理Y都从核心A301移动至核心B302时,显示控制部107不显示该警告。
另外,当分配变更部106确定用户的操作是不适当的操作时,显示控制部107在显示器16上显示警告。
回到图5,分配变更部106根据受理部101受理的用户的操作,变更对核心A301和核心B302的处理的分配。如图6(b)所示,如果用户执行将处理B从核心A301移动到核心B302的操作,则分配变更部106将变更后的处理的分配的信息追加到存储在存储部150中的设定数据310。例如,如图6(b)所示,分配变更部106向设定数据310追加处理A向核心A301的分配、以及处理B至D向核心B302的分配。
在本实施方式中,在变更处理的分配时,由于分配变更部106更新设定数据310而不是应用程序311本身,因而分配变更部106可以变更分配而无需修改和重新编译应用程序311。
另外,分配变更部106在更新设定数据310之前确认通过用户的操作进行的分配的变更是否适当。例如,当受理部101受理对不可分离处理进行分离的分配变更操作时,分配变更部106不变更该分配。另外,分配变更部106在受理了对不可分离处理进行分离的分配变更操作时通知显示控制部107。
此外,当分配给核心A301和核心B302中的每一个的I/O接口的数量超过上限时或者当受理了分配不能分配的I/O接口25的操作时,分配变更部106确定该操作是不适当的。在这种情况下,分配变更部106不变更分配。另外,分配变更部106会通知显示控制部107。
接下来,将描述在如上方式构成的根据本实施方式的PC1中生成应用程序311和设定数据310的处理。图8是示出根据本实施方式的生成应用程序311和设定数据310的处理的流程的示例的流程图。在PC1中执行图8中的流程图的处理。
首先,受理部101受理用户输入的控制进程和控制内容(S1)。受理部101将接收到的控制进程和控制内容发送到程序生成部102。
程序生成部102从受理部101获取用户输入的控制进程和控制内容,并生成供控制器2执行的应用程序311(S2)。程序生成部102将生成的应用程序311传送到编译器103。
编译器103对程序生成部102生成的应用程序311进行编译(S3)。编译器103将执行文件形式的应用程序311存储在存储部150中。
分割部104将执行文件形式的应用程序311分割为多个处理(S4)。
设定数据生成部105生成包括由分割部104分割的各处理的定义信息的设定数据310(S5)。此时,设定数据310包括能够确定各处理的定义信息、确定各处理中使用的I/O接口25的信息、和不可分离处理的组合的信息。设定数据生成部105将生成的设定数据310存储在存储部150中。
收发部108将执行文件形式的应用程序311和设定数据310传送至控制器2(S6)。
接下来,将描述根据本实施方式的如上所述构成的控制器2中的控制处理。图9是示出根据本实施方式的由控制器2进行的控制处理的流程的示例的流程图。
输入部201经由工具接口24从PC1输入执行文件形式的应用程序311以及设定数据310(S10)。输入部201将输入的应用程序311和设定数据310存储在存储部250中。
执行部203起动存储在存储部250中的执行文件形式的应用程序311(S11)。
分配部202从设定数据310顺序地检索在应用程序311包含的处理中的待执行的处理,并将该处理分配给核心A301或核心B302。执行部203以所分配的核心A301或核心B302执行在设定数据310中登记的各个处理(S12)。
发送部206将核心A301和B302中的每一个的动作状态,即处理向核心A301及核心B302的分配,以及与各处理相关联的I/O接口25,发送至PC1(S13)。这里,在PC1的工程工具11中,进行图10所示的监控处理,并在某些情况下变更处理向核心A301和B302的分配。下文将描述本实施方式中的监控处理的细节。
当用PC1的工程工具11变更处理向核心A301和核心B302的分配时,输入部201输入追加了变更后的分配的信息的设定数据310。输入部201将更新后的设定数据310存储在存储部250中。输入部201可以用更新的设定数据310改写存储部250中存储的设定数据310。
电源控制部205确定输入部201是否已经接收到更新后的设定数据310(S14)。如果输入部201接收到更新后的设定数据310(S14中的“是”),则电源控制部205重启控制器2(S15)。
在重启之后,更新部204基于更新后的设定数据310来更新处理向核心A301和核心B302的分配(S16)。执行部203基于对核心A301和B302的已更新的分配,重新执行在重启之前所执行的处理(S17)。
当重新执行处理时,控制处理回到S13,并且发送部206将核心A301和核心B302中的每一个的动作状态发送到PC1(S13)。每次在执行处理期间变更对核心A301和核心B302的分配时,控制器2的每个功能部重复从S13到S17的处理。
如果输入部201没有接收到更新后的设定数据310(S14中的“否”),则执行部203依序执行下一处理,直到应用程序311的所有处理结束(S18中的“否”,S19)。当执行下一个处理时,控制处理返回到S13,并且发送部206将核心A301和核心B302中的每一个的动作状态发送至PC1(S13)。当应用程序311中包含的所有处理结束时(S18中的“是”),结束该流程图的处理。
接下来,将描述在PC1中进行的监控处理。图10是示出根据本实施方式的监控处理的流程的示例的流程图。该流程图的处理在图9的S13中将核心A301和核心B302的动作状态从控制器2发送至PC1时开始进行。
收发部108从控制器2接收核心A301和核心B302中每一个的动作状态,即对核心A301和核心B302的处理的分配以及与各处理相关联的I/O接口25,作为多个处理分配给核心A301和核心B302中的每一个的结果(S100)。
如图6(a)所示,显示控制部107在显示器16上显示控制器2的核心A301和核心B302中的每一个的动作状态(S101)。显示控制部107在显示器16显示处理A至D向核心A301和核心B302的分配,以及与处理A至D相对应的I/O接口25a至25c,并且向用户提供监控控制器2的动作状态的画面。
如果受理部101从用户受理了进行对核心A301和B302的处理的分配的变更的操作(S102中的“是”),则分配变更部106和显示控制部107执行分配变更处理(S103)。
图11是示出根据本实施方式的分配变更处理(S103)的流程的示例的流程图。首先,受理部101受理用户的操作内容(S201)。换言之,受理部101受理将在显示器16的画面上移动的操作输入到分配至核心A301或核心B302的处理中的哪个。受理部101向分配变更部106和显示控制部107发送要移动的处理、以及该处理是否已经从核心A301移动至核心B302或者从核心B302移动至核心A301。
分配变更部106确定要变更的处理是否可以与分配给当前核心A301或核心B302的其他处理分离(S202)。在图6所示的示例中,分配变更部106确定分配给核心A301的处理B是否可以与分配给同一核心A301的处理A分离。分配变更部106通过确定各处理是否作为不可分离处理登记在存储部150的设定数据310中来确定各处理是否可分离。
如果分配变更部106确定要变更的处理为可分离处理(S202中的“是”),则分配变更部106变更该要变更的处理的的分配,并且更新存储在存储部150中的设定数据310(S203)。另外,分配变更部106通知显示控制部107可以变更要变更的处理的分配。显示控制部107根据用户的操作变更画面上的各处理的显示。在图6所示的示例中,显示控制部107将处理B的分配从核心A301移动至核心B302。
另一方面,如果分配变更部106确定要变更的处理为不可分离处理(S202中的“否”),则分配变更部106通知显示控制部107该变更对象的处理B的分配不能变更。显示控制部107如参照图7所描述的那样在显示器16上显示警告(S204)。此时,未变更处理的分配。
在此,结束图11的流程图的分配变更处理,而返回到图10的监控处理。如果分配变更部106变更了处理向核心A301和核心B302的分配(S104中的“是”),则分配变更部106向收发部108通知该变更。收发部108向控制器2发送更新后的设定数据310(S105)。
此时,结束图10所示的监控处理。在S105中,当收发部108将更新后的设定数据310发送至控制器2之后,控制器2进行图9的S14中的接收处理。
因此,在根据本实施方式的控制器2中,分配部202将多个处理中的任一个分配给核心A301和核心B302中的每一个。另外,根据本实施方式的控制器2,在输入部201输入追加了变更后的分配的信息的设定数据310的情况下,当电源控制部205重新起动控制器2时,执行部203基于变更后的分配执行各处理。因此,根据本实施方式的控制器2,可以在处理正在执行的过程中变更对核心A301和核心B302的分配,并且可以再次执行处理。因此,根据本实施方式的控制器2,可以根据实际操作状况更灵活地变更对核心A301和核心B302的处理的分配。
另外,根据本实施方式的控制器2,由于分配部202将多个处理中的任何一个分配给核心A301和核心B302中的每一个,因此处理的分配不因应用程序311而固定,并且可以将相同的应用程序311应用于其他控制器2。
另外,根据本实施方式的PC1,本实施方式的分配变更部106根据受理部101受理的用户的操作,更新设定数据310并变更分配。如此,当本实施方式的分配变更部106变更处理的分配时,由于分配变更部106更新设定数据310而非应用程序311本身,因此分配变更部106可以动态且快速地变更分配,无需再编译应用程序311。为此,根据本实施方式的PC1,可以更灵活地变更处理向核心A301和核心B302的分配。
另外,由本实施方式的PC1的设定数据生成部105生成的设定数据310包括不可分离处理的组合的信息,并且当受理部101受理了对不可分离处理进行分离的分配变更操作时,分配变更部106不变更该分配。为此,根据本实施方式的PC1,能防止对核心A301和核心B302进行不适当的处理的分配。
另外,由本实施方式的PC1的设定数据生成部105生成的设定数据310包括与各处理和I/O接口25对应的信息,并且显示控制部107在显示器16上相对应地显示各处理和I/O接口25。因此,根据本实施方式的PC1,当用户变更处理的分配时,可以抑制将对应于相同I/O接口25的处理分配至不同核心A301或核心B302。
此外,本实施方式的PC1的受理部101受理将显示器16上显示的多个处理中的一个的分配从核心A301和核心B302中的一个变更成另一个的拖放操作,并且分配变更部106根据受理部101受理的分配的变更内容更新设定数据310。因此,根据本实施方式的PC1,可以向用户提供以简单操作来变更处理的分配的画面。
在本实施方式中,工程工具11是PC1所具备的软件,但不限于此。例如,工程工具11可以是能连接到控制器2的专用管理装置。或者,工程工具11和控制器2可以是一体形成的装置。
在本实施方式中,控制器2的分配部202配置成在将处理分配给核心A301和核心B302之后将对核心A301和核心B302的处理的分配的信息追加到设定数据310,但不限于此。例如,分配部202也可采用这样的结构:不存储对核心A301和核心B302分配处理的结果,而在每次执行应用程序311时执行新的分配。当采用该结构时,只有PC1的分配变更部106指定了对核心A301和核心B302的处理的分配的时候,分配才可被设置成存储在设定数据310中且适用于下一次或后续执行。
(第二实施方式)
在根据第一实施方式的控制***S中,对于核心A301和核心B302中的每一个,所分配的处理和该处理所使用的I/O接口25以相对应的方式显示在显示器16上。根据本实施方式的控制***S还在PC1的显示器16上进一步显示各处理对核心A301和核心B302施加的负荷的程度。
图12是示出根据本实施方式的控制器2的功能结构的示例的方框图。如图12所示,根据本实施方式的控制器2包括输入部201、分配部202、执行部203、更新部204、电源控制部205、发送部1206、负荷检测部207、和存储部250。输入部201、分配部202、执行部203、更新部204、电源控制部205和存储部250具有与第一实施方式相同的结构。
负荷检测部207对各处理检测出核心A301和核心B302的负荷的程度。负荷检测部207根据每单位时间各处理的执行时间所占的比例来计算核心A301和核心B302中的每一个的负荷的程度。例如,在单位时间是10ms的情况下,当分配给核心A301的处理A的执行时间是8ms时,核心A301中的处理A的执行时间的比例是80%。单位时间是一定的时间段即可,不限于10毫秒。另外,负荷检测部207也可以是这样的结构:从存储器存取的次数算出核心A301和核心B302的负荷的程度。负荷检测部207将表示检测到的负荷的程度的负荷信息发送到发送部1206。
发送部1206将核心A301和核心B302中的每一个的动作状态和负荷信息发送到PC1。
图13是示出根据本实施方式的PC1的功能结构的示例的方框图。如图13所示,工程工具11为在PC1上运行的软件,且包括受理部101、程序生成部102、编译器103、分割部104、设定数据生成部105、分配变更部106、显示控制部1107、和收发部1108。另外,PC1包括存储部150。受理部101、程序生成部102、编译器103、分割部104、设定数据生成部105、分配变更部106和存储部150具有与第一实施方式相同的结构。
如在第一实施方式中那样,收发部1108将由编译器103编译的应用程序311和由设定数据生成部105生成的设定数据310发送到控制器2。此外,当控制器2起动应用程序311时,除了接收核心A301和核心B302中的每一个的动作状态之外,收发部1108还从控制器2接收负荷状态。
显示控制部1107从收发部1108获取控制器2中的多个处理向核心A301和核心B302的分配和负荷信息,并将它们显示在显示器16上。换言之,显示控制部1107在需要时向用户提供变更处理的分配的监控画面,以允许用户监视控制器2的核心A301和核心B302的动作状态和负荷信息。
图14是示出根据本实施方式的监控画面的示例的图。图14(a)示出了在用户变更处理的分配之前的画面,图14(b)示出了在用户变更处理的分配之后的画面。如图14所示,根据本实施方式的监控画面包括示出整个控制程序的图像500、和显示分配给核心A301和核心B302的已执行或正在执行的处理的图像。在每个图像中,横轴表示时间,纵轴表示负荷的程度。处理A至D按照执行顺序从每个图像的左侧到右侧以连续时间方式显示。各处理的水平宽度表示单位时间,例如10ms。各处理的水平宽度为一定周期即可,不限于10ms。
在图14(a)中,处理A和处理D分配给核心A301,处理B和处理C分配给核心B302。然而,由于处理B和处理C在相同的单位时间内执行,因此在该单位时间内核心B302的负荷程度会比核心A301高。
此时,当受理部101受理了用户在显示器16上执行将处理C从核心B302移动至核心A301的操作时,分配变更部106变更处理C的分配。显示控制部1107根据用户的操作将显示器16上的处理C的分配变更至核心A301,并显示变更后的分配。另外,在图14(b)的示例中,由于核心A301的整个负荷会因处理C的移动而变高,所以用户进一步将处理D移动至核心B302。在本实施方式中,由于显示了处理A至D中的每个对核心A301和核心B302施加的负荷信息,因此可以向用户提供更有效地执行处理的分配的信息。
根据本实施方式的显示控制部1107以图表形式示出了核心A301和核心B302的负荷程度,其中横轴表示时间而纵轴表示负荷程度,但不限于此。例如,显示控制部1107可以对各处理用数值表示负荷程度,并且对于各处理可以逐步地表示负荷程度,如“低”、“中”、或“高”。
当在处理A至D结束之后经过了预定时间时,显示控制部1107可以从显示器16的显示依次删除处理A至D。另外,显示控制部1107还可以在显示器16上显示分配给核心A301和核心B302的执行准备状态中的处理。
此外,在图14中,虽然未示出与处理A至D相对应的I/O接口25,但显示控制部1107可采用在表示处理A至D的负荷程度的图表内显示与处理A至D相对应的I/O接口25的结构。或者,可采用用户能够任意切换图6记载的第一实施方式的监控画面以及图14所示的监控画面的结构。
根据如上结构的本实施方式的在PC1中生成应用程序311和设定数据310的处理与参照图8描述的第一实施方式的流程图相同。
图15是示出根据本实施方式的控制处理的整体流程的示例的流程图。从S10的应用程序311和设定数据310的输入,至S12的对核心A301和核心B302的处理的分配和执行的流程与参照图9描述的第一实施方式的处理流程相同。
当开始进行处理的执行时(S12),负荷检测部207对核心A301和核心B302中的每一个检测出各处理的负荷信息(S23)。
发送部1206将核心A301和核心B302中每一个的动作状态和负荷信息发送到PC1(S24)。此时,在PC1的工程工具11中,进行图16所示的监控处理,并且根据情况变更核心向核心A301和核心B302的分配。稍后将描述本实施方式中的监控处理的细节。
从S14中确定是否接收到更新后的设定数据310起至S19的下一个处理的一系列流程与参考图9描述的第一实施方式的处理流程相同。与第一实施方式类似,当包含在应用程序311的全部处理结束时(S18中的“是”),结束该流程图的处理。
接下来,将描述根据本实施方式在PC1中执行的监控处理。图16是示出根据本实施方式的监控处理的流程的示例的流程图。
当在图15的S24中从控制器2向PC1发送核心A301和核心B302中的每一个的动作状态和负荷信息时,开始该流程图中的处理。
收发部1108从控制器2接收核心A301和核心B302中的每一个的动作状态和负荷信息(S120)。
如图14(a)所示,显示控制部1107在显示器16上显示控制器2的核心A301和核心B302中每一个的动作状态(S121)。
从S102的判断是否受理用户进行的变更分配的操作起至S105的更新后的设定数据310的发送的流程与参考图10描述的第一实施方式的处理的流程相同。
如上所述,根据本实施方式的PC1,收发部1108从控制器2获取表示由多个处理对控制器2的核心A301和核心B302中的每个施加的负荷的程度的负荷信息,显示控制部1107在显示器16上显示核心A301和核心B302的负荷的程度。因此,根据本实施方式的PC1,除了实现与第一实施方式相同的效果之外,还可以向用户提供适当地变更对核心A301和核心B302的处理的分配的信息。
另外,根据本实施方式的控制器2,由于负荷检测部207检测出分配至核心A301和核心B302的各处理的负荷的程度,除了实现与第一实施方式相同的效果之外,还可以高精确度地检测出控制器2的运行状况。
如上所述,根据第一和第二实施方式的PC1和控制器2,可以更灵活地变更对核心A301和核心B302的处理的分配。
另外,在上述每个实施方式的控制器2中执行的控制处理程序被设置成预先加载在ROM等中。在上述每个实施方式的控制器2中执行的控制处理程序可被构成为以可安装或可执行的格式登记在计算机可读记录介质中,例如CD-ROM、软盘、CD-R或DVD。另外,在上述每个实施方式的控制器2中执行的控制处理程序可以被构成为存储在连接到诸如因特网的网络的计算机上,并通过网络下载而提供。另外,在上述每个实施方式的控制器2中执行的控制处理程序可构成为经由诸如因特网的网络提供或发布。
在上述每个实施方式的控制器2中执行的控制处理程序具有包括上述各部(输入部、分配部、执行部、更新部、电源控制部、发送部、和负荷检测部)的模块而构成,并且作为实际硬件,多核心CPU 20从上述ROM读取并执行控制处理程序,由此上述各部被加载到主存储装置上,在主存储装置上生成输入部、分配部、执行部、更新部、电源控制部、发送部和负荷检测部。
工程工具11,作为在上述每个实施方式的PC1中执行的软件,被提供为以可安装或可执行格式的文件记录在计算机可读记录介质中,例如CD-ROM、软盘(FD)、CD-R或数字通用光盘(DVD)。另外,在上述每个实施方式的PC1中执行的工程工具11可以构成为存储在连接到诸如因特网的网络的计算机上,并且经由网络下载而提供。此外,在上述每个实施方式的PC1中执行的工程工具11可以构成为经由诸如因特网的网络提供或发布。此外,上述每个实施方式的工程工具11可以构成为通过预先嵌入ROM等中而提供。
工程工具11,作为在上述每个实施方式的PC1中执行的软件,具有包括上述各部(受理部、程序生成部、编译器、分割部、设定数据生成部、分配变更部、显示控制部、和收发部)的模块而构成,并且作为实际硬件,CPU13从上述存储介质读取并执行程序,由此将上述各部加载到主存储装置上,在主存储装置上生成受理部、程序生成部、编译器、分割部、设定数据生成部、分配变更部、显示控制部、和收发部。
尽管已经描述了本发明的实施方式,但实施方式作为示例而提供,并不意图限制本发明的范围。新实施方式可以以各种其他形式实现,并且可以在不脱离本发明要旨的情况下进行各种省略、替代或变更。实施方式及其变型包括在本发明的范围和精神内,并且也包括在权利要求的等同物的范围内。
Claims (7)
1.一种包括多个处理器核心的可编程控制器,所述可编程控制器包括:
输入部,从连接到所述可编程控制器的管理装置输入在所述多个处理器核心中执行的应用程序、以及包括所述应用程序中包含的多个处理的信息的设定数据;
分配部,将所述多个处理中的任一个分配给所述多个处理器核心中的每一个;
发送部,将所述多个处理器核心和所述多个处理的分配结果发送至所述管理装置;
电源控制部,当在所述管理装置中变更所述多个处理对所述多个处理器核心的分配、且所述输入部输入了追加了变更后的分配的信息的所述设定数据的情况下,进行重新起动;
更新部,在所述重新起动后基于所述设定数据更新对所述多个处理器核心的分配;和
执行部,基于所述分配执行所述多个处理,并且在所述分配已被变更时,基于变更后的所述分配执行所述多个处理。
2.一种管理装置,包括:
设定数据生成部,生成设定数据,该设定数据包括在可编程控制器中执行的应用程序中所包含的多个处理的信息;
收发部,从所述可编程控制器获取所述多个处理向所述可编程控制器的多个处理器核心的每一个的分配;
显示控制部,在显示器上显示所述多个处理向所述多个处理器核心的分配;
受理部,受理用户变更所述分配的操作;和
分配变更部,根据所述受理部受理的操作,更新所述设定数据而变更所述分配。
3.根据权利要求2所述的管理装置,其中
所述设定数据包括不可分离处理的组合的信息,该不可分离处理为所述多个处理中无法分配至不同处理器核心的多个处理,
当所述受理部受理对所述不可分离处理进行分离的分配变更操作时,所述分配变更部不变更该分配。
4.根据权利要求2或3所述的管理装置,其中
所述设定数据包括将所述多个处理与对来自外部装置的信号进行输入输出的接口建立对应的信息,
所述显示控制部还在所述显示器上以相互对应的方式显示所述多个处理和所述接口。
5.根据权利要求2至4中任一项所述的管理装置,其中
所述受理部受理将由所述显示控制部在所述显示器上显示的所述多个处理中的任一个的分配从一个处理器核心变更成另一个处理器核心的拖放操作,
所述分配变更部根据所述受理部受理的分配的变更内容来更新所述设定数据。
6.根据权利要求2至5中任一项所述的管理装置,其中
所述收发部从所述可编程控制器获取负荷信息,该负荷信息表示所述多个处理对所述可编程控制器的所述多个处理器核心中的每一个施加的负荷的程度,
所述显示控制部在所述显示器上显示分配给所述多个处理器核心的所述多个处理中的每一个的负荷的程度。
7.一种控制***,包括可编程控制器和管理装置,其中,
所述可编程控制器包括:
多个处理器核心;
输入部,从连接到所述可编程控制器的管理装置输入在所述多个处理器核心中执行的应用程序、以及包括构成所述应用程序的多个处理的信息的设定数据;
分配部,将所述多个处理中的任一个分配给所述多个处理器核心中的每一个;
发送部,将所述多个处理器核心和所述多个处理的分配结果发送至所述管理装置;
电源控制部,当在所述管理装置中变更所述多个处理对所述多个处理器核心的分配、且所述输入部输入了追加了变更后的分配的信息的所述设定数据的情况下,进行重新起动;
更新部,在所述重新起动后基于所述设定数据更新对所述多个处理器核心的分配;和
执行部,基于所述分配执行所述多个处理,并且在所述分配已被变更时,基于变更后的所述分配执行所述多个处理,
所述管理装置包括:
设定数据生成部,生成所述设定数据;
收发部,从所述可编程控制器获取所述多个处理向所述可编程控制器的所述多个处理器核心的每一个的分配;
显示控制部,在显示器上显示所述多个处理向所述多个处理器核心的分配;
受理部,受理用户变更所述分配的操作;和
分配变更部,根据所述受理部受理的操作,变更所述分配。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016252441A JP6879625B2 (ja) | 2016-12-27 | 2016-12-27 | プログラマブルコントローラ、管理装置および制御システム |
JP2016-252441 | 2016-12-27 | ||
PCT/JP2017/043532 WO2018123456A1 (ja) | 2016-12-27 | 2017-12-04 | プログラマブルコントローラ、管理装置および制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110114732A true CN110114732A (zh) | 2019-08-09 |
CN110114732B CN110114732B (zh) | 2022-02-25 |
Family
ID=62710938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780080671.5A Active CN110114732B (zh) | 2016-12-27 | 2017-12-04 | 可编程控制器、管理装置和控制*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US10956238B2 (zh) |
JP (1) | JP6879625B2 (zh) |
KR (1) | KR102258542B1 (zh) |
CN (1) | CN110114732B (zh) |
TW (1) | TWI664509B (zh) |
WO (1) | WO2018123456A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7141905B2 (ja) * | 2018-10-12 | 2022-09-26 | 株式会社日立産機システム | コントロール装置及びコントロール方法 |
US20220075349A1 (en) * | 2020-09-08 | 2022-03-10 | Delta Tau Data Systems, Inc. | Method and apparatus for multi-core processor management in a motion control system |
US20240082984A1 (en) | 2020-12-25 | 2024-03-14 | Xebec Technology Co., Ltd. | Method of controlling polishing tool holder, polishing tool holder, and polishing device |
EP4369123A1 (en) * | 2021-07-09 | 2024-05-15 | Kabushiki Kaisha Yaskawa Denki | Production system, program creation device, production method, and program |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003295910A (ja) * | 2002-03-29 | 2003-10-17 | Omron Corp | ユニット及びツール機器並びにプログラム製品 |
JP2007018268A (ja) * | 2005-07-07 | 2007-01-25 | Sumitomo Heavy Ind Ltd | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
US20100088703A1 (en) * | 2008-10-02 | 2010-04-08 | Mindspeed Technologies, Inc. | Multi-core system with central transaction control |
JP2010218445A (ja) * | 2009-03-18 | 2010-09-30 | Toshiba Corp | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
DE112009001700T5 (de) * | 2008-07-22 | 2011-06-01 | Toyota Jidosha Kabushiki Kaisha | Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren |
CN102096390A (zh) * | 2011-01-30 | 2011-06-15 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器、程序编译器、编译***及方法 |
JP2012108576A (ja) * | 2010-11-15 | 2012-06-07 | Toyota Motor Corp | マルチコアプロセッサ、処理実行方法、プログラム |
CN102947807A (zh) * | 2010-06-14 | 2013-02-27 | 富士通株式会社 | 多核处理器***、缓存一致性控制方法以及缓存一致性控制程序 |
CN103109279A (zh) * | 2010-06-22 | 2013-05-15 | 富士通株式会社 | 多核处理器***,控制程序以及控制方法 |
CN105388850A (zh) * | 2014-08-29 | 2016-03-09 | 发那科株式会社 | 能够分散地执行多个轴的轴控制处理的数值控制装置 |
US20160091882A1 (en) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | System and method of multi-core based software execution for programmable logic controllers |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4582414B2 (ja) | 2005-09-29 | 2010-11-17 | 横河電機株式会社 | プログラム管理装置 |
JP5444112B2 (ja) * | 2010-04-30 | 2014-03-19 | 株式会社東芝 | プラント制御システムおよびプログラムリロケート方法 |
US8880381B2 (en) * | 2010-10-01 | 2014-11-04 | The Boeing Company | Optimization of processor characteristics and large scale system optimization through domain decomposition |
JP2012141722A (ja) | 2010-12-28 | 2012-07-26 | Mitsubishi Electric Corp | 設定装置 |
JP6213053B2 (ja) | 2012-09-04 | 2017-10-18 | 富士通株式会社 | プログラム、情報処理装置およびスケジュール決定方法 |
JP2014081765A (ja) * | 2012-10-16 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 負荷分散装置、負荷分散方法および負荷分散プログラム |
CN105074594B (zh) | 2013-04-04 | 2017-04-05 | 三菱电机株式会社 | 工程设计工具以及可编程逻辑控制器 |
JP6252140B2 (ja) | 2013-11-29 | 2017-12-27 | 富士通株式会社 | タスク割り付けプログラム及びタスク割り付け方法 |
JP6430223B2 (ja) * | 2014-11-26 | 2018-11-28 | 株式会社東芝 | 通信装置、遠隔制御方法、コンピュータプログラム及び遠隔制御システム |
-
2016
- 2016-12-27 JP JP2016252441A patent/JP6879625B2/ja active Active
-
2017
- 2017-12-04 US US16/473,421 patent/US10956238B2/en active Active
- 2017-12-04 WO PCT/JP2017/043532 patent/WO2018123456A1/ja active Application Filing
- 2017-12-04 KR KR1020197017786A patent/KR102258542B1/ko active IP Right Grant
- 2017-12-04 CN CN201780080671.5A patent/CN110114732B/zh active Active
- 2017-12-22 TW TW106145280A patent/TWI664509B/zh active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003295910A (ja) * | 2002-03-29 | 2003-10-17 | Omron Corp | ユニット及びツール機器並びにプログラム製品 |
JP2007018268A (ja) * | 2005-07-07 | 2007-01-25 | Sumitomo Heavy Ind Ltd | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
DE112009001700T5 (de) * | 2008-07-22 | 2011-06-01 | Toyota Jidosha Kabushiki Kaisha | Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren |
US20100088703A1 (en) * | 2008-10-02 | 2010-04-08 | Mindspeed Technologies, Inc. | Multi-core system with central transaction control |
JP2010218445A (ja) * | 2009-03-18 | 2010-09-30 | Toshiba Corp | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
CN102947807A (zh) * | 2010-06-14 | 2013-02-27 | 富士通株式会社 | 多核处理器***、缓存一致性控制方法以及缓存一致性控制程序 |
CN103109279A (zh) * | 2010-06-22 | 2013-05-15 | 富士通株式会社 | 多核处理器***,控制程序以及控制方法 |
JP2012108576A (ja) * | 2010-11-15 | 2012-06-07 | Toyota Motor Corp | マルチコアプロセッサ、処理実行方法、プログラム |
CN102096390A (zh) * | 2011-01-30 | 2011-06-15 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器、程序编译器、编译***及方法 |
CN105388850A (zh) * | 2014-08-29 | 2016-03-09 | 发那科株式会社 | 能够分散地执行多个轴的轴控制处理的数值控制装置 |
US20160091882A1 (en) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | System and method of multi-core based software execution for programmable logic controllers |
Also Published As
Publication number | Publication date |
---|---|
TWI664509B (zh) | 2019-07-01 |
TW201832029A (zh) | 2018-09-01 |
WO2018123456A1 (ja) | 2018-07-05 |
US10956238B2 (en) | 2021-03-23 |
US20200151033A1 (en) | 2020-05-14 |
CN110114732B (zh) | 2022-02-25 |
KR20190087520A (ko) | 2019-07-24 |
JP6879625B2 (ja) | 2021-06-02 |
KR102258542B1 (ko) | 2021-05-28 |
JP2018106440A (ja) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Goldschmidt et al. | Container-based architecture for flexible industrial control applications | |
CN110114732A (zh) | 可编程控制器、管理装置和控制*** | |
CN107407918B (zh) | 利用app扩展可编程逻辑控制器 | |
US5841656A (en) | Programming system for sequence control and control unit for executing program for sequence control | |
Borgdorff et al. | Distributed multiscale computing with MUSCLE 2, the multiscale coupling library and environment | |
US9262220B2 (en) | Scheduling workloads and making provision decisions of computer resources in a computing environment | |
EP3101494B1 (en) | Control apparatus and control system | |
Chu et al. | Efficient scheduling method of complex batch processes with general network structure via agent‐based modeling | |
JP2013218700A (ja) | 分散処理システム、分散処理システムのスケジューラノード及びスケジュール方法、及びそのためのプログラム生成装置 | |
WO2014204615A2 (en) | Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence | |
CN109117141A (zh) | 简化编程的方法、装置、电子设备、计算机可读存储介质 | |
CN105955820A (zh) | 作业流控制方法、装置和*** | |
CN109684091A (zh) | 一种任务处理方法及装置 | |
CN110034994A (zh) | 用于虚拟专有云服务的***和虚拟专有云服务的实现方法 | |
JP7085305B2 (ja) | コントロールシステム及びコントロール方法 | |
US8301273B2 (en) | Method for providing functions in an industrial automation system, control program and industrial automation system | |
CN106293670B (zh) | 一种事件处理方法、设备及一种服务器 | |
KR20200064415A (ko) | 자원 관리를 위한 컴퓨팅 장치 및 시스템에서 자원사용 표현방법 | |
Abouelhoda et al. | Towards scalable and cost-aware bioinformatics workflow execution in the cloud-recent advances to the tavaxy workflow system | |
KR102481870B1 (ko) | 인공 지능 학습을 위한 컴퓨팅 환경 구축 방법 및 장치 | |
KR20160141938A (ko) | Plc용 스캔 프로그램의 구동 방법 | |
Hedgpeth et al. | The Case for Reactive Programming | |
CN117015763A (zh) | 行星规模的完全管理式人工智能基础设施服务 | |
US20220299967A1 (en) | Queue blocks for flexible automation engineering programs | |
WO2019013685A1 (en) | INPUT AND / OR INPUT CONTROL AND / OR OUTPUT OF DATA BETWEEN A DEVICE AND A COMPUTER IN A TECHNICAL SYSTEM |
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 |