CN110192159A - 控制装置 - Google Patents
控制装置 Download PDFInfo
- Publication number
- CN110192159A CN110192159A CN201880006581.6A CN201880006581A CN110192159A CN 110192159 A CN110192159 A CN 110192159A CN 201880006581 A CN201880006581 A CN 201880006581A CN 110192159 A CN110192159 A CN 110192159A
- Authority
- CN
- China
- Prior art keywords
- control
- program
- application
- core
- task
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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
- G05B19/056—Programming the PLC
-
- 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/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1101—Remote I-O
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2205—Multicore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5012—Processor sets
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)
- Programmable Controllers (AREA)
Abstract
本发明实现控制装置的小型化、高性能化及信息化。对于PLC(10)的第四核心(114),仅分配有无需以规定的时间间隔以下的执行间隔对控制对象反复执行的应用。
Description
技术领域
本发明涉及一种用于对机械及设备等的动作进行控制的控制装置。
背景技术
以往,关于可编程控制器(Programmable Logic Controller,以下简称为“PLC”)等工业用控制装置,已知有用于兼顾信息化(也就是工业用控制装置所获取、生成的信息在外部装置的利用等)与高性能化的各种尝试。
例如,下述专利文献1中公开了一种PLC,此PLC将为了对控制对象进行高速且高精度的控制而周期性地执行的多个PLC功能各自分配给多个处理器(processor)的各个,使这些多个PLC功能中的至少两个并列执行。
现有技术文献
专利文献
专利文献1:日本公开专利公报《特表2013-506911号公报(2013年2月28日公开)》
发明内容
发明所要解决的问题
但是,如上所述的现有技术存在下述问题,即:对于对控制对象的高速且高精度的控制处理,无法抑制用于信息化的处理那样的、不要求高速高精度的处理及非周期性的处理所造成的影响等。
即,对于当前的PLC,要求除了执行针对控制对象的高速且高精度的控制处理以外,还执行例如设备的“通电时间”、“动作次数”等信息的保存、分析、显示等不要求高速高精度的处理及非周期性的处理。因此,对于要求执行如上所述的各种处理的当前的PLC而言,仅有效率地执行高速高精度且周期性的处理的情况下,无法实现高性能化及信息化。
本发明的一实施方式的目的在于,对于可执行高速且周期性的处理、与用于信息化的处理等非周期性的处理的控制装置,兼顾小型化与高性能化。
解决问题的技术手段
为了解决所述问题,本发明的一实施方式的控制装置通过以规定的时间间隔反复执行多个控制程序从而对控制对象进行控制,包括多核处理器(multi-core processor)、及保存有所述多个控制程序的存储器,所述多核处理器包含应用所用核心,所述应用所用核心是仅分配有作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用的核心。
发明的效果
根据本发明的一实施方式,发挥下述效果,即,对于可执行高速且周期性的处理、与用于信息化的处理等非周期性的处理的控制装置,能够兼顾小型化与高性能化。
附图说明
[图1]是表示本发明的实施方式1的控制装置的中央处理器(Central ProcessingUnit,CPU)单元的硬件结构的图。
[图2]是表示包含本发明的实施方式1的控制装置的控制***的概要的图。
[图3]是表示本发明的实施方式1的控制装置应执行的任务的示例的图。
[图4]是表示对图1的CPU单元的四个核心各自分配的处理等的概要的图。
具体实施方式
[实施方式1]
以下,基于图1~图4对本发明的实施方式1进行详细说明。对图中相同或相应部分标注相同符号而不重复进行其说明。为了容易地理解本发明的一实施方式的PLC(Programmable Logic Controller)10(控制装置),首先使用图2对包含PLC 10的控制***1的概要进行说明。
(实施方式1的控制***的概要)
图2是表示控制***1的概要的图。控制***1包含PLC 10、经由现场网络(fieldnetwork)30而与PLC 10连接的伺服驱动器(servo driver)40及远程输入输出(IO)端子60、以及作为现场机器的设备20。而且,人机接口(HMI)81及外部服务器82经由连接电缆70等而连接于PLC 10。
PLC 10是对机械及设备等控制对象进行控制的控制装置,主要包含执行运算处理的CPU单元100、电源单元200、一个以上的IO单元300及特殊单元400。CPU单元100、一个以上的IO单元300的各个及特殊单元400构成为能够经由PLC***总线500而彼此交换数据。
CPU单元100执行与控制对象的状态等有关的各种处理,例如执行“通过反复执行输出数据的发送、输入数据的接收、及使用输入数据生成输出数据的控制程序从而对控制对象进行控制的”处理。关于CPU单元100的详细情况,将参照图1在下文中描述。
电源单元200向CPU单元100、IO单元300及特殊单元400提供适当电压的电源。
IO单元300为与通常的输入输出处理有关的单元,负责接通/断开(on/off)等经二值化的数据的输入输出。即,IO单元300收集作为传感器等输入机器的设备20(1)为正检测某对象物的状态(接通)、及不检测任何对象物的状态(断开)的哪一个等信息。而且,IO单元300对作为继电器(relay)、致动器(actuator)等输出机器的设备20(2)输出用于激活的指令(接通)、及用于去活的指令(断开)的任一个。
特殊单元400具有模拟数据的输入输出、温度控制、利用特定通信方式的通信等IO单元300不支持的功能。
设备20是由PLC 10控制的输入输出机器。作为输入机器的设备20(1)例如为温度传感器、光传感器等“检测器”、“开关(按钮开关、限位开关(limit switch)、压力开关等)”等。作为输出机器的设备20(2)例如为“致动器”、“继电器”、“电磁阀”、“显示器”、“显示灯”等。当无需区分设备20(1)与设备20(2)时,仅表述作“设备20”。
现场网络30传输与CPU单元100交换的各种数据。作为现场网络30,典型的是能够使用各种工业用以太网(Ethernet)(注册商标)。关于工业用以太网(注册商标),例如已知有EtherCAT(注册商标)、Profinet IRT、MECHATROLINK(注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIP Motion等,可采用这些中的任一个。进而,也可使用工业用以太网(注册商标)以外的现场网络。例如,当不进行运动控制时,也可使用DeviceNet、CompoNet/IP(注册商标)等。控制***1中,典型的是,对采用作为工业用以太网(注册商标)的EtherCAT(注册商标)来作为现场网络30时的结构进行例示。
此外,PLC 10也可为下述结构,即:通过使CPU单元100具有IO单元300的功能及伺服驱动器40的功能,从而在由这些内置功能可处理的范围内,不经由IO单元300及伺服驱动器40等而由CPU单元100直接对控制对象进行控制。
伺服驱动器40经由现场网络30而与CPU单元100连接,并且按照来自CPU单元100的指令值驱动伺服马达(servo motor)50。更具体而言,伺服驱动器40从PLC 10以一定的时间间隔(周期)接收位置指令值、速度指令值、扭矩指令值等指令值。而且,伺服驱动器40从连接于伺服马达50的轴的位置传感器(旋转编码器(rotary encoder))及扭矩传感器等检测器(设备20(1)),获取位置、速度(典型的是,根据本次位置与前次位置之差而算出)、扭矩等与伺服马达50的动作有关的实测值。另外,伺服驱动器40将来自CPU单元100的指令值设定为目标值,将实测值作为反馈值来进行反馈控制。即,伺服驱动器40以实测值接近目标值的方式调整用于驱动伺服马达50的电流。此外,伺服驱动器40有时也称为伺服马达放大器(servo motor amplifier)。
此外,图2中表示了将伺服马达50与伺服驱动器40组合的***例,但也能够采用其他结构,例如将脉冲马达(pulse motor)与脉冲马达驱动器组合的***。
远程IO端子60基本上与IO单元300同样地,进行与通常的输入输出处理有关的处理。更具体而言,远程IO端子60包含用于进行与利用现场网络30的数据传输有关的处理的通信耦合器61、及一个以上的IO单元62。通信耦合器61与一个以上的IO单元62的各个构成为能够经由远程IO端子总线63而彼此交换数据。
HMI 81是用于由人与机械交换信息的部件,具体而言,是人操作机械(对机械给予指示)或机械将当前的状态、结果告知人的部件。关于HMI 81,人对机械给予指示的部件例如包含开关、按钮、把手(handle)、拨号盘(dial)、踏板(pedal)、遥控器(remotecontroller)、麦克风(microphone)、键盘(keyboard)、鼠标(mouse)等。而且,机械将与当前的状态、结果等有关的信息告知人的部件例如包含液晶画面、计量表(meter)、灯、扬声器(speaker)等。
外部服务器82是保存从PLC 10接收的信息的服务器,而且,从PLC 10根据发送要求将保存的信息发送至PLC 10。
此外,控制***1中无需使PLC 10为一台,也可将多个PLC 10各自经由现场网络30可相互通信地连接。接下来,参照图1对CPU单元100的硬件结构进行说明。
(CPU单元的硬件结构)
图1是表示本发明的实施方式的CPU单元100的硬件结构的图。如图2所例示,CPU单元100包含微处理器110、非易失性存储器120、芯片组(chip set)130、主存储器140、通信控制器150、***总线控制电路160及现场网络控制电路170。CPU单元100可还包含未图示的通用串行总线(USB)连接器。芯片组130与其他组件(component)之间经由各种总线而分别结合。
微处理器110及芯片组130典型而言按照通用的计算机架构(computerarchitecture)而构成。即,微处理器110将从芯片组130按照内部时钟依次提供的命令码解释并执行。如图1所例示,微处理器110包含第一核心111、第二核心112、第三核心113及第四核心114。
芯片组130在与所连接的各种组件之间交换内部数据,并且生成微处理器110所需要的命令码。进而,芯片组130具有缓存(cache)由微处理器110执行运算处理结果所得的数据等的功能。
CPU单元100具备主存储器140及非易失性存储器120作为存储部件。主存储器140为易失性的存储区域(随机存取存储器(RAM)),保持向CPU单元100投入电源后应由微处理器110执行的各种程序。而且,主存储器140也用作由微处理器110执行各种程序时的作业用存储器。这种主存储器140例如能够使用动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。
另一方面,非易失性存储器120非易失地保持IO控制等的***程序、用户程序、运动运算程序、各种应用、及***设定参数等数据。这些程序及数据被复制在主存储器140以便微处理器110能够视需要进行存取。这种非易失性存储器120能够使用闪速存储器(flashmemory)那样的半导体存储器。或者,也能够使用硬盘驱动器(hard disc driver)那样的磁记录介质、数字多功能随机存取光盘(Digital Versatile Disk Random Access Memory,DVD-RAM)那样的光学记录介质等。
通信控制器150执行输出数据的发送及输入数据的接收,典型而言由现场可编程门阵列(Field Programmable Gate Array,FPGA)或专用集成电路((ApplicationSpecific Integrated Circuit,ASIC)等硬件构成,且构成为经由芯片组130而可与主存储器140收发数据。通信控制器150包含***计时器151、直接内存存取(Direct MemoryAccess,DMA)控制电路152、***总线控制器153、现场网络控制器154及缓冲存储器(buffermemory)155。
此外,以下的说明中,将从CPU单元100输出至CPU单元100以外的单元的数据、及从PLC 10输出至PLC 10以外的装置的数据也称为“输出数据”。而且,将从CPU单元100以外的单元输入CPU单元100的数据、及从PLC 10以外的装置输入PLC 10的数据也称为“输入数据”。
***计时器151每隔一定的时间间隔(周期)产生分割信号并提供给微处理器110。典型而言,构成为根据硬件的规格以多个不同的时间间隔分别产生分割信号,但也能够设定为根据操作***(Operating System,OS)、基本输入输出***(Basic Input OutputSystem,BIOS)等而以任意的时间间隔产生分割信号。利用所述***计时器151产生的分割信号,实现后述那样的每个执行周期的控制动作。
DMA控制电路152进行从主存储器140向缓冲存储器155的输出数据的转送、及从缓冲存储器155向主存储器140的输入数据的转送。
***总线控制器153控制经由PLC***总线500的数据交换,典型而言,提供PLC***总线500的物理层及数据链路层的功能。即,***总线控制器153控制连接于PLC***总线500的CPU单元100以外的单元、与CPU单元100之间的收发。
***总线控制器153进行下述处理,即:将保存于缓冲存储器155的数据(输出数据)经由PLC***总线500发送至IO单元300及特殊单元400。而且,***总线控制器153进行下述处理,即:经由PLC***总线500接收从IO单元300及特殊单元400输入的数据(输入数据),并保存于缓冲存储器155。
此外,当使CPU单元100自身具有IO单元300及伺服驱动器40的功能时,由***总线控制器153进行的输出数据的发送及输入数据的接收成为将担负这些功能的部分作为通信对象,而在CPU单元100的内部进行的发送及接收。
现场网络控制器154控制经由现场网络30的数据交换,典型而言提供现场网络30的物理层及数据链路层的功能。即,现场网络控制器154按照所使用的现场网络30的标准,来控制输出数据的发送及输入数据的接收。具体而言,现场网络控制器154在与连接于现场网络30的其他装置之间,进行发送缓冲存储器155的输出数据的处理、及接收输入数据并保存于缓冲存储器155的处理。
此处,如上文所述,本实施方式中采用按照EtherCAT(注册商标)标准的现场网络30,因而可使用包含用于进行通常的以太网(注册商标)通信的硬件的、现场网络控制器154。
EtherCAT(注册商标)标准中,能够利用实现按照通常的以太网(注册商标)标准的通信协议的、通常的以太网(注册商标)控制器。但是,视用作现场网络30的工业用以太网(注册商标)的种类,有时使用和与通常的通信协议不同的专用规格的通信协议对应的、特殊规格的以太网(注册商标)控制器。而且,当采用工业用以太网(注册商标)以外的现场网络时,使用与所述标准相应的专用的现场网络控制器。
缓冲存储器155作为经由现场网络30向其他装置等输出的数据、及经由PLC***总线500向CPU单元100以外的单元输出的数据(输出数据)的发送缓冲器而发挥功能。而且,缓冲存储器155作为经由现场网络30从其他装置等输入的数据、及经由PLC***总线500从CPU单元100以外的单元输入的数据(输入数据)的接收缓冲器发挥功能。
通过由微处理器110进行运算处理所制作的输出数据原始保存于主存储器140。另外,应向特定的装置、单元转送的输出数据是从主存储器140读出,并暂时保持于缓冲存储器155。而且,从其他装置、单元转送的输入数据是暂时保持于缓冲存储器155后,移至主存储器140。即,缓冲存储器155为用于与主存储器140的数据通信的存储区域。
此外,如上文所述,CPU单元100也可具备USB连接器(通信端口)作为用于与HMI 81及外部服务器82连接的接口。
(CPU单元的软件结构)
PLC 10对机械及设备等控制对象进行控制,并且执行从所述控制对象获取的信息及装置自身所生成的信息等的存储、分析、显示等。例如,PLC 10的CPU单元100通过反复执行输出数据的发送、输入数据的接收、及使用输入数据生成输出数据的控制程序,从而对控制对象进行控制。而且,例如PLC10的CPU单元100对PLC 10获取或装置自身所生成的信息进行存储、分析,并显示于HMI 81。
此处,PLC 10的CPU单元100以“任务”这一执行单位来执行各种程序。PLC 10在“任务”中可执行的处理、程序能够分为“IO控制”、“控制程序”及“***服务”这三种。此外,“***服务”能够理解成PLC 10执行的处理、程序中“IO控制”及“控制程序”以外的处理、程序,因此,“***服务”并非“任务”的必要结构要素。
用户能够使用未图示的PLC支持装置来设定作为程序的执行单位的任务。具体而言,能够设定、定义任务的执行周期及执行时机(timing)、在任务中执行的程序(例如控制程序)、在任务内是否需要执行IO控制等。可为用户能够使用PLC支持装置对每一个任务分配例如最大128个程序。任务的设定是从PLC支持装置经由例如连接电缆70向CPU单元100转送,并保存于非易失性存储器120等。此外,如上文所述,“***服务”能够理解成PLC 10执行的处理、程序中“IO控制”及“控制程序”以外的处理、程序,因而用户未指定在任务内执行的“***服务”也可在任务中执行。
用户能够使用PLC支持装置在多个任务之间设定优先顺位。例如可为用户能够使用PLC支持装置来设定优先顺位互不相同的首要固定周期任务、固定周期任务及事件任务此三种任务。首要固定周期任务例如以“IO控制、用户程序、运动运算程序(及***服务)”作为主要的处理内容(执行内容)。固定周期任务例如以“IO控制、用户程序(及***服务)”作为主要的处理内容。事件任务例如以“用户程序(及***服务)”作为主要的处理内容。PLC10最优先执行首要固定周期任务,固定周期任务与事件任务之间的优先关系可为用户能够指定,进而也可在多个固定周期任务之间设定与执行顺位有关的优先级。
此外,对于PLC 10来说,无需区分首要固定周期任务与固定周期任务,也可不区分首要固定周期任务与固定周期任务而将两者归总为“应以一定的时刻间隔反复执行的任务(应以固定周期执行的任务)”。
接下来,对作为PLC 10在“任务”中执行的处理、程序的“IO控制”、“控制程序”、“***服务”的概要依次进行说明。
(IO控制)
“IO控制”是控制输入数据及输出数据的输入输出的处理。IO控制程序为***程序之一,包含输出处理程序及输入处理程序。
“输出处理程序”将通过执行用户程序等控制程序而生成的输出数据再配置成适于向通信控制器150转送的形式。当***总线控制器153或现场网络控制器154需要来自微处理器110的、用于执行发送的指示时,输出处理程序发行这种指示。
“输入处理程序”将由***总线控制器153及现场网络控制器154的至少一者所接收的输入数据再配置成适于控制程序(微处理器110)使用的形式。
“***程序”是用于对PLC 10提供作为控制装置的功能的软件群,包含调度程序(scheduler program)、IO控制程序、顺序命令运算程序、运动运算程序及***服务程序。
***程序中,顺序命令运算程序及运动运算程序也是“控制程序”。详细情况将于后述,作为“控制程序”的用户程序与作为“控制程序”的顺序命令运算程序及运动运算程序协作,实现用户的控制目的。用户程序还能够与应用(特别是控制系应用)协作,实现用户的控制目的。即,用户程序通过利用由顺序命令运算程序、运动运算程序及应用所提供的命令、函数、功能模块等,从而实现程序的动作。
***程序中,关于IO控制程序、顺序命令运算程序、运动运算程序及***服务程序将于后述,因而先对调度程序的概要进行说明。
“调度程序”针对输出处理程序、输入处理程序及控制程序,控制各执行循环(任务周期)中的执行开始及执行中断后的执行重启。更具体而言,调度程序控制用户程序、顺序命令运算程序、运动运算程序及应用的执行。
例如,CPU单元100采用适于运动运算程序的一定时间间隔的执行循环(控制循环)作为整个处理(整个任务)的共用循环(任务周期)。因此,难以在一个控制循环(任务周期)内完成所有程序的执行,因而根据应执行程序的优先级(优先顺位)等,来区分在各控制循环中应完成执行的程序、与可遍及多个控制循环执行的程序。调度程序管理这些经区分的程序的执行次序等。更具体而言,调度程序在各控制循环期间内,越是被赋予了更高优先级的程序则越先执行。
(控制程序)
“控制程序”包含“用户程序”、“运动运算程序”、“顺序命令运算程序”及“应用(特别是控制系应用)”。“控制程序”中,如上文所述,“运动运算程序”及“顺序命令运算程序”也是***程序。
此外,严格而言,“用户程序”中也有为了对控制对象进行高速且高精度的控制而以固定周期(例如几毫秒(ms)等高速周期)执行的用户程序以外的用户程序。例如,也有非周期性地执行或以低速周期(例如以几十毫秒(ms)的时间间隔反复)执行的用户程序。但是,以下的说明中所谓“用户程序”,只要无特别说明,则是指“为了对控制对象进行高速且高精度的控制而以固定周期(高速周期)执行的用户程序”。
而且,“应用”中,有为了对控制对象进行高速且高精度的控制而以固定周期(例如几毫秒等高速周期)执行的应用(控制系应用)、及除此以外的应用,详细情况将于后述。
(用户程序)
“用户程序”是根据用户的控制对象(例如,对象的流水线(line)及过程(process))而制作,也就是根据使用控制***1控制的控制对象的流水线(过程)等而任意设计的程序。未图示的PLC支持装置通过编译(compile)由梯形逻辑(梯形图语言)等所描述的梯形程序(源程序),从而生成用户程序。由PLC支持装置生成的目标程序(objectprogram)形式的用户程序是从PLC支持装置经由例如连接电缆70向CPU单元100转送,并保存于非易失性存储器120等。梯形逻辑为用于描述逻辑回路的方法,是大量的工业用控制装置中采用的程序语言。用户程序典型而言以由CPU单元100的微处理器110可执行的目标程序形式生成。
用于对控制对象进行高速且高精度的控制的用户程序例如是以几毫秒等高速周期由微处理器110反复执行。另一方面,不以针对控制对象的高速且高精度的控制为目标的用户程序例如是以几十毫秒等低速周期而周期性地或非周期性地(事件性地)由微处理器110执行。
(运动运算程序及顺序命令运算程序)
“运动运算程序”是按照用户程序给予的指示而执行,且每当执行时算出对伺服驱动器40及脉冲马达驱动器等马达驱动器输出的指令值的程序。CPU单元100通过执行“运动运算程序”,而连续地控制例如作为致动器等的设备20(2)的操作位移及操作速度等(运动控制)。
“顺序命令运算程序”是在执行用户程序中使用的规定的顺序命令时被调出,为了实现所述命令的内容而执行的程序。CPU单元100通过执行“顺序命令运算程序”,从而控制例如作为致动器等的设备20(2)的接通/断开(ON/OFF)(顺序控制)。
(应用)
“应用”例如是用于数据库(database)连接、对象链接和嵌入技术在过程控制方面的应用-统一架构(Object Linking and Embedding for Process Control-UnifiedArchitecture,OPC-UA)、人工智能(Artificial Intelligence,AI,机械学习)、计算机数控(computerized numerical control,CNC)、机器人控制等的程序。应用包含用于对控制对象进行高速且高精度的控制的控制系应用(以下简称为“控制应用”)、及控制应用以外的应用(以下简称为“非控制应用”)。
“控制应用”是应用中用于对控制对象进行高速且高精度的控制的应用,是以与用于对控制对象进行高速且高精度的控制的用户程序相同的时间间隔反复执行的应用。控制应用例如为用于CNC、机器人控制等的应用。用户程序能够调出这些控制应用,用于实现针对控制对象的高速且高精度的控制。“控制应用”及“用于对控制对象进行高速且高精度的控制的用户程序”例如是以规定的时间间隔(例如几毫秒)以下的执行间隔反复执行。此外,AI(机械学习)为根据用途而作为控制应用或非控制应用执行的应用。
“非控制应用”为以与针对控制对象的高速且高精度的控制不同的目标组入PLC10的应用,是无需以规定的时间间隔(例如几毫秒)以下的执行间隔对控制对象反复执行的程序。换言之,“非控制应用”是与高速的控制运算无关的、例如适于描述“通信处理及备份处理”等的程序。具体而言,“非控制应用”是用于数据库连接、OPC-UA等的程序,也称为“信息系应用”。“非控制应用”是应用中的(1)非周期性地执行的应用、或(2)以规定的时间间隔(周期性地执行的用户程序的执行周期)以上的时间间隔反复执行的应用。
PLC 10通过执行“非控制应用”,从而通过例如输入输出链路(Input Output-Link,IO-Link)等从设备20接收以下所示那样的信息,并使所接收的信息显示于HMI 81,或发送至外部服务器82。即,PLC 10从设备20接收设备20的“制品形式”、“系列No./批次No.”、“连接位置”、“注解(comment)”、“电源电压值”、“通电时间”、“动作次数”、“更换日”、“接通/断开(ON/OFF)阈值”等信息,并使所接收的信息显示于HMI 81,或发送至外部服务器82。
(关于调度管理的注释)
此外,调度程序也可使“非控制应用”的执行调度与“以针对控制对象的高速且高精度的控制为目标的程序”的执行调度独立,而分别管理两者。所谓“以针对控制对象的高速且高精度的控制为目标的程序”,例如是微处理器110以高速周期执行的“用户程序、运动运算程序、顺序命令运算程序及控制应用”。即,PLC 10也可分别具备“非控制应用(例如信息系应用)”的调度器、与“以针对控制对象的高速且高精度的控制为目标的程序”的调度器。
(***服务)
“***服务程序”是将PLC 10执行的处理、程序中“IO控制”及“控制程序”以外的用于实现PLC 10的各种功能的程序群归总表示。***服务程序例如是使微处理器110执行与机械的通信、根据来自外部机器的要求的处理、自我诊断处理的程序。而且,使主存储器140的数据转送至外部的存储介质的处理、从外部的存储介质读出数据的处理也包含于***服务程序。进而,和CPU单元100与未图示的PLC支持装置之间的经由连接电缆70(USB)等的通信处理有关的程序也包含于***服务程序。
至此为止所说明的控制程序及调度程序保存于作为存储部件的主存储器140及非易失性存储器120。CPU单元100的微处理器110以适当的时机读出保存于存储部件的***程序及控制程序并执行。
接下来,使用图3来说明如何将至此为止所说明的各种程序、处理设定为任务。例如,用户在PLC支持装置中对一个任务设定顺序控制及运动控制,由此微处理器110以相同的时间间隔反复执行顺序控制和运动控制。
(关于任务与程序的关系)
图3是表示PLC 10应执行的任务的示例的图。如上文所述,用户例如能够使用未图示的PLC支持装置,来设定任务的执行周期及执行时机、在任务中执行的控制程序、任务中有无IO控制(在所述任务中是否执行IO控制)、优先顺位等。而且,包含“IO控制、用户程序及运动运算程序”的任务是作为首要固定周期任务,由PLC 10优先于作为不含“运动运算程序”的任务的固定周期任务及事件任务而执行。
图3的(A)是以1ms周期性地执行的任务,并且是作为包含IO控制及用户程序且不含运动运算程序的任务、的“固定周期任务”的示例。执行图3的(A)所例示的固定周期任务的PLC 10例如执行以下的处理。
即,通过微处理器110以规定的时间间隔(扫描时间(scan time),图3的(A)所示的示例中为1ms)反复执行作为IO控制的输入处理程序,从而PLC 10以所述规定的时间间隔反复接收来自作为输入机器的设备20(1)的信号。微处理器110使用从设备20(1)以所述规定的时间间隔反复获取的信号,以所述规定的时间间隔反复执行梯形程序等用户程序,并以所述规定的时间间隔反复决定针对作为输出机器的设备20(2)的控制内容。通过微处理器110以所述规定的时间间隔反复执行作为IO控制的输出处理程序,从而PLC 10将所决定的控制内容以所述规定的时间间隔反复发送至设备20(2),控制设备20(2)的状态。
此外,如上文所述,微处理器110也可在从1ms的任务周期中去掉执行IO控制及用户程序所需要的时间而得的时间中,执行“***服务”。即,***服务是在所有任务(首要固定周期任务、固定周期任务及事件任务)的空余时间执行。
图3的(B)是以1ms周期性地执行的任务,并且是作为包含IO控制、用户程序及运动运算程序的任务的“首要固定周期任务”的示例。对于图3的(B)所例示的首要固定周期任务,除了IO控制、用户程序及运动运算程序以外,还分配有控制应用。如上文所述,图3的(B)所例示的首要固定周期任务是较图3的(A)所例示的固定周期任务而优先执行,能够高速且高速度地对控制对象进行控制的任务。
图3的(C)是以2ms周期性地执行的任务,并且是与图3的(A)同样地包含IO控制及用户程序且不含运动运算程序的任务(固定周期任务)的示例。PLC 10优先于固定周期任务及事件任务而执行首要固定周期任务,并且按照用户对多个固定周期任务各自设定的优先级(优先顺位),来执行多个固定周期任务各自。例如,当对图3的(A)所例示的固定周期任务设定有较图3的(C)所例示的固定周期任务更高的优先级时,微处理器110执行图3的(A)的固定周期任务后,执行图3的(C)的固定周期任务。此外,关于固定周期任务的执行周期(任务周期),设定首要固定周期任务的执行周期的整数倍。
图3的(D)是以4ms周期性地执行的任务,并且是包含用户程序且不含IO控制及运动运算程序的任务(固定周期任务)的示例。如上文所述,多个固定周期任务各自原则上是按照用户对多个固定周期任务各自设定的优先级(优先顺位)而执行,而且,不含IO控制的固定周期任务原则上是在包含IO控制的固定周期任务之后执行。即,图3的(D)所例示的固定周期任务的优先级低于图3的(A)所例示的固定周期任务的优先级、及图3的(C)所例示的固定周期任务的优先级。
关于至此为止所说明的图3的(A)~(C)的任务,设定有1ms或2ms等高速的执行周期(任务周期)。微处理器110通过以高速的任务周期(高速周期)反复执行图3的(A)~(C)的任务,而执行针对控制对象的高速且高精度的控制。
相对于此,微处理器110执行的任务中,也有不以“针对控制对象的高速且高精度的控制”为目标的任务。这种不以“针对控制对象的高速且高精度的控制”为目标的任务是由微处理器110例如非周期性地执行,或以低速的任务周期而周期性地执行。
此处,所谓“低速的任务周期”,是指与以“针对控制对象的高速且高精度的控制”为目标的任务(首要固定周期任务或固定周期任务)的任务周期(图3的(A)~(C)所示的示例中为1ms或2ms)相比更长的执行周期。即,有时将“适于运动运算程序的一定周期等规定的时间间隔(时间间隔)”以上的周期(时间间隔)称为“低速的任务周期(低速周期)”。换言之,有时将规定的时间间隔(具体而言,“针对控制对象的高速且高精度的控制”所需要的执行周期)以上的时间间隔(周期)称为“低速周期”。
图3的(D)所示那样的“周期性地执行的任务,并且包含用户程序且不含IO控制及运动运算程序的固定周期任务”也能以低速周期执行。即,图3的(D)中,关于“包含用户程序且不含IO控制及运动运算程序的固定周期任务”,表示了将任务周期(执行周期)设为4ms的示例。但是,关于“包含用户程序且不含IO控制及运动运算程序的固定周期任务”,也可将例如几十毫秒以上的周期、也就是低速周期设定为其任务周期。
微处理器110除了执行图3的(A)~(D)所例示那样的应周期性地执行的任务(首要固定周期任务及固定周期任务)以外,还执行应非周期性地执行的任务(事件任务)。以下,使用图3的(E)对事件任务的示例进行说明。
图3的(E)是非周期性地执行的任务(事件任务),并且是仅分配有用户程序的任务。事件任务仅在“PLC 10受理用户命令等”、“规定的变量的条件一致”等规定的执行条件成立时执行。
如以上使用图3的(A)~(E)所说明那样,PLC 10的微处理器110执行的任务能够大致分为以下四种。即,能够分类为:(1)“应以固定周期(特别是高速周期)执行的任务,并且有IO控制且有运动控制”的“首要固定周期任务”;(2)“应以固定周期(特别是高速周期)执行的任务,并且有IO控制且无运动控制”的固定周期任务;(3)“应以固定周期(高速周期或低速周期)执行的任务,并且无IO控制且无运动控制”的固定周期任务;以及(4)“应非周期性地执行的任务,并且无IO控制且无运动控制”的事件任务。此外,(2)的固定周期任务的优先级高于(3)的固定周期任务的优先级。
但是,无需将PLC 10执行的任务大致分为所述四种,例如也可大致分为以下两种。即,可大致分为“应周期性地执行的任务(图3的(A)~(D)所例示的首要固定周期任务及固定周期任务)”、与“当满足规定的条件时应执行的任务(图3的(E)所例示的事件任务)”此两种。此外,PLC 10执行的“应周期性地执行的任务”及“当满足规定的条件时应执行的任务”均为与针对控制对象的控制有关联的任务,也可称为控制任务。
应用中,“控制应用”是与用户程序一起分配给图3的(B)所例示的首要固定周期任务那样的、以高速的任务周期执行的任务。
相对于此,“非控制应用”未分配给任务而由PLC 10执行。PLC 10将“非控制应用”分配给第四核心114(应用所用核心),不将“非控制应用”分配给任务而是直接执行。另一方面,PLC 10例如将分配给“任务”的“IO控制”、“控制程序”及“***服务”分配给第一核心111、第二核心112及第三核心113,执行“***服务”及“任务”。
换言之,在PLC 10的微处理器110中,作为“非控制应用”的执行主体的应用引擎被分配给第四核心114。而且,作为“任务(如上文所述,任务中可包含控制应用)”的执行主体的控制器引擎被分配给作为第四核心114以外的CPU核心的第一核心111、第二核心112及第三核心113。以下,使用图4对其详细情况进行说明。
(关于对多核处理器的各核心分配的处理、程序)
图4是表示对CPU单元100的微处理器110的第一核心111、第二核心112、第三核心113及第四核心114各自分配的处理(程序)等的概要的图。关于对第一核心111、第二核心112、第三核心113及第四核心114各自分配的程序,如以下那样先作概要说明。
即,PLC 10是通过以规定的时间间隔反复执行多个控制程序从而对控制对象进行控制的控制装置,且具备微处理器110(多核处理器)、及保存有所述多个控制程序的非易失性存储器120(存储器),微处理器110包含第四核心114(应用所用核心),此第四核心114(应用所用核心)是仅分配有作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用(也就是非控制应用)的核心。
根据所述结构,对第四核心114仅分配有应用中无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用(并非以针对所述控制对象的高速且高精度的控制为目标的应用)。即,PLC 10的微处理器110中,分配有“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”的第四核心114、与分配有“用于对控制对象进行高速且高精度的控制的程序等(例如,分配有需要以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序等的任务、及***服务)”的核心(具体而言为第一核心111、第二核心112及第三核心113)不同。此外,所谓所述“规定的时间间隔”,例如为几毫秒。
此处,对于PLC等的控制装置,不仅要求对控制对象进行高速且高精度的控制,而且还要求执行用于将所述控制装置获取、生成的信息在外部装置加以利用的处理,所谓用于信息化的处理。而且,欲将用于这种信息化的各种应用搭载于控制装置的期望不断高涨。
但是,现有的控制装置有可能因执行应用(例如用于信息化的应用)而消耗资源(resource),影响“用于对控制对象进行高速且高精度的控制的程序”的执行。
此外,所谓资源,是用于供PLC等控制装置执行所述程序及所述应用的计算资源,包含CPU资源及存储器资源。CPU资源例如为可用于执行所述程序及所述应用的CPU带宽。
现有的控制装置为了抑制“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对“用于对控制对象进行高速且高精度的控制的程序”造成的影响,采取了以下的对策。即,现有的控制装置欲通过确保充分的资源量,来抑制“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对所述程序造成的影响。因此,现有的控制装置有时增大CPU核心及存储器等而装置大型化,或分为各自仅执行规定处理的多台控制单元。
相对于此,PLC 10可减轻“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对“用于对控制对象进行高速且高精度的控制的程序”造成的干扰,在微处理器110中有效率地执行两者。即,PLC 10并非通过增大资源量,而是通过有效率地利用资源来执行所述程序及被控制应用。PLC 10既无需使装置大型化而确保充分的资源量,也无需分为各自仅执行规定处理的多台控制单元,从而可使装置小型化。
而且,PLC 10可减轻非控制应用对所述程序造成的干扰,有效率地执行两者。即,PLC 10能够适当执行非控制应用,并且与非控制应用独立地高速执行针对控制对象的控制所需要的所述程序,因而能够实现高性能化。
因此,PLC 10发挥下述效果,即:对于能够执行高速且周期性的处理、与用于信息化的处理等“应用中无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”的控制装置,能够兼顾小型化与高性能化。
而且,PLC 10发挥下述效果,即:能够根据利用场景,在任意的时机,也就是不受由优先级所定义的执行次序的限制,而执行“应用中无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”等。
进而,PLC 10发挥下述效果,即:可对“用于对控制对象进行高速且高精度的控制的程序”、与“应用中无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”各自,在不担心对另一者造成影响的情况下进行开发、版本升级(version up)。由此,关于“应用中无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”的开发、改良,多样的主体可参与。
PLC 10也可利用不同的调度器来管理仅分配给第四核心114的“非控制应用”、与“用于对控制对象进行高速且高精度的控制的程序(也就是分配给第一核心111、第二核心112及第三核心113的程序)”。换言之,PLC 10也可将管理“非控制应用”的执行的调度器、与管理“任务”的执行的调度器分离。
以下,使用图4,对在PLC 10的微处理器110中对第一核心111、第二核心112、第三核心113及第四核心114各自分配何种处理、程序作详细说明。
对于第一核心111、第二核心112及第三核心113,分配有任务,也就是分配有在任务中执行的“控制程序”、“IO控制”及“***服务”。此处,如上文所述,控制程序包含用户程序、运动运算程序、顺序命令运算程序及控制应用。
对于第一核心111的总资源的规定比例(图4所示的示例中为50%),分配有与“***服务”有关的程序,例如分配有与经由连接电缆70的通信处理(即,经由通信端口的通信处理)有关的程序等。
对于第二核心112及第三核心113,分配有在任务中执行的“***服务”以外的处理、程序,也就是分配有“控制程序”及“IO控制”。此外,如上文所述,“应用”中“控制应用”分配给任务,也就是“控制应用”分配给第二核心112及第三核心113。
即,PLC 10的微处理器110中,控制应用(作为应用的、以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用)分配给第二核心112及第三核心113(控制所用核心),此第二核心112及第三核心113是分配有以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序的核心。
根据所述结构,微处理器110中,控制应用例如分配给作为分配有用户程序等以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序的核心的、第二核心112及第三核心113。
因此,PLC 10发挥下述效果,即:在第二核心112及第三核心113中,使控制应用、与以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序有效率地联动而执行。
即,PLC 10的微处理器110中,作为“任务”的执行主体的控制器引擎被分配给第二核心112及第三核心113。控制器引擎使分配给某任务的“控制应用”、与分配给所述某任务的用户程序等控制程序联动而有效率地执行。
图4所示的示例中,在“任务”中执行的“***服务”分配给第一核心111,在“任务”中执行的“***服务”以外的处理、程序分配给第二核心112及第三核心113。即,图4表示将分配有在“任务”中执行的“***服务”的核心、与分配有“控制程序”及“IO控制”的核心分离的示例。
但是,PLC 10中,无需将分配有“***服务”的核心、与分配有“控制程序”及“IO控制”的核心分离。例如,也可将在“任务”中执行的“***服务”、“控制程序”及“IO控制”分配给“第一核心111、第二核心112及第三核心113”。也可将分配有“任务”的、换言之分配有在“任务”中执行的“IO控制”、“控制程序”及“***服务”的“第一核心111、第二核心112、及第三核心113”称为控制所用核心。
对于第四核心114,仅分配有“应用”中的“非控制应用(例如信息系应用)”。
此处,PLC的第四核心114中,分配给多个非控制应用各自的资源的比例可由用户设定。
根据所述结构,在第四核心114中,分配给多个非控制应用各自的资源的比例可由用户设定。换言之,PLC 10能够由用户来对多个非控制应用各自设定第四核心114的使用比例(例如执行时间的比率、存储器使用量的比率等)。图4所示的示例中,对“非控制应用1”分配有第四核心114的总CPU资源中的20%,对“非控制应用2”分配有第四核心114的总CPU资源中的30%。而且,用户也可将第四核心114的总资源中的规定比例(图4所示的示例中为50%)空出,以备将来搭载于PLC 10的非控制应用。
因此,PLC 10发挥下述效果,即:即便用户使新的应用搭载于PLC 10并执行,也能够抑制多个非控制应用各自的处理速度的降低。
分配给第四核心114的应用也可包含用于执行下述处理中的至少一个的应用:(1)与和数据库的连接有关的处理、(2)与和HMI 81等外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将存储的信息发送至外部服务器82等外部的服务器的处理。
根据所述结构,分配给第四核心114的应用包含用于执行下述处理中的至少一个的应用:(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理。
此处,当前对于PLC等通过以规定的时间间隔反复执行多个控制程序从而对控制对象进行控制的控制装置,欲搭载用于执行下述处理的信息系应用(用于信息化的应用)的期望不断高涨:(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理等。
因此,PLC 10发挥下述效果,即:对于除了能够执行高速且周期性的处理以外,还能够执行(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理等的控制装置,能够兼顾小型化与高性能化。
此外,至此为止,对PLC 10具备包含第一核心111、第二核心112、第三核心113及第四核心114此四个CPU核心的微处理器110的示例进行了说明。但是,无需使PLC 10的微处理器110包含四个CPU核心,微处理器110只要包含两个以上的CPU核心即可。PLC只要在包含两个以上的CPU核心的微处理器110中,将以下两种程序分配给不同的CPU核心即可。即,只要将“应用中并非以针对控制对象的高速且高精度的控制为目标的应用(无需以规定的时间间隔以下的执行间隔对控制对象反复执行的应用)”、与“用于对控制对象进行高速且高精度的控制的程序(需要以规定的时间间隔以下的执行间隔对控制对象反复执行的程序)”分配给不同的CPU核心即可。
[总结]
为了解决所述问题,本发明的一实施方式的控制装置通过以规定的时间间隔反复执行多个控制程序从而对控制对象进行控制,且包括多核处理器、及保存有所述多个控制程序的存储器,所述多核处理器包含应用所用核心,此应用所用核心是仅分配有作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用的核心。
根据所述结构,对于所述应用所用核心,仅分配有作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用(并非以针对控制对象的高速且高精度的控制为目标的应用)。即,所述控制装置的多核处理器中,分配有“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”的核心、与分配有“用于对控制对象进行高速且高精度的控制的程序(即,需要以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序)”的核心不同。
此处,对于PLC等控制装置,不仅要求对控制对象进行高速且高精度的控制,而且还要求执行用于将所述控制装置所获取、生成的信息在外部装置加以利用的处理,所谓用于信息化的处理。另外,将用于这种信息化的各种应用搭载于控制装置的期望不断高涨。
但是,现有的控制装置可能因执行“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用(例如用于信息化的应用)”而消耗资源,影响对“用于对控制对象进行高速且高精度的控制的程序”的执行。此外,所谓资源,是用于供PLC等控制装置执行所述程序及所述应用的计算资源,包含CPU资源及存储器资源。CPU资源例如为可用于执行所述程序及所述应用的CPU带宽。
现有的控制装置为了抑制“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对“用于对控制对象进行高速且高精度的控制的程序”造成的影响,采取了以下的对策。即,现有的控制装置欲通过确保充分的资源量,来抑制“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对所述程序造成的影响。因此,现有的控制装置有时增大CPU核心及存储器等而装置大型化,或分为各自仅执行规定处理的多台控制单元。
相对于此,本发明的一实施方式的所述控制装置可减轻“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对“用于对控制对象进行高速且高精度的控制的程序”造成的干扰,在所述多核处理器中有效率地执行两者。即,本发明的一实施方式的所述控制装置并非通过增大资源量,而是通过有效率地利用资源来执行所述程序及所述应用。本发明的一实施方式的所述控制装置既无需使装置大型化而确保充分的资源量,也无需分为各自仅执行规定处理的多台控制单元,从而可使装置小型化。
而且,本发明的一实施方式的所述控制装置能够减轻“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”对所述程序造成的干扰,有效率地执行两者。即,本发明的一实施方式的所述控制装置能够适当执行所述应用,并且与所述应用独立地高速执行针对控制对象的控制所需要的所述程序,因而能够实现高性能化。
因此,本发明的一实施方式的所述控制装置发挥下述效果,即:对于可执行高速且周期性的处理、与用于信息化的处理等“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”的控制装置,能够兼顾小型化与高性能化。
而且,本发明的一实施方式的所述控制装置发挥下述效果,即:能够根据利用场景,在任意的时机,也就是不受由优先级所定义的执行次序的限制,而执行“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”。
进而,本发明的一实施方式的所述控制装置发挥下述效果,即:可对于“用于对控制对象进行高速且高精度的控制的程序”、与“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”各自,在不担心对另一者造成影响的情况下进行开发、版本升级。由此,关于“作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用”的开发、改良,多样的主体可参与。
本发明的一实施方式的控制装置的所述多核处理器中,作为应用的、以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用也可分配给控制所用核心,所述控制所用核心是分配有以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序的核心。
根据所述结构,在所述多核处理器中,以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用是分配给控制所用核心,此控制所用核心是分配有以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序的核心。
因此,本发明的一实施方式的所述控制装置发挥下述效果,即:能够在所述控制所用核心中,使以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用、与以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序有效率地联动而执行。
所述应用所用核心中,对无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的多个应用各自分配的资源的比例也可为可由用户设定。
根据所述结构,在所述应用所用核心中,对无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的多个应用各自分配的资源的比例可由用户设定。换言之,所述控制装置中,能够由用户对无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的多个应用的各个,设定所述应用所用核心的使用比例(例如执行时间的比率、存储器使用量的比率等)。用户也可将所述应用所用核心的总资源中的规定比例空出,以备将来搭载于所述控制装置的非控制应用。
因此,本发明的一实施方式的所述控制装置发挥下述效果,即:即便用户使新的应用搭载于所述控制装置并执行,也能够抑制无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的多个应用各自的处理速度的降低。
关于本发明的一实施方式的控制装置,分配给所述应用所用核心的应用也可包含用于执行下述处理中的至少一个的应用:(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理。
根据所述结构,分配给所述应用所用核心的应用包含用于执行下述处理中的至少一个的应用:(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理。
此处,当前对于PLC等通过以规定的时间间隔反复执行多个控制程序从而对控制对象进行控制的控制装置,欲搭载用于执行下述处理的信息系应用(用于信息化的应用)的期望不断高涨:(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理等。
因此,本发明的一实施方式的所述控制装置发挥下述效果,即:对于除了能够执行高速且周期性的处理以外,还能够执行(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理等的控制装置,能够兼顾小型化与高性能化。
本发明不限定于所述的各实施方式,可在权利要求所示的范围内进行各种变更,将不同实施方式中分别公开的技术手段适当组合所得的实施方式也包含于本发明的技术范围。
符号的说明
10:PLC(控制装置)
110:微处理器(多核处理器)
120:非易失性存储器(存储器)
111:第一核心(控制所用核心)
112:第二核心(控制所用核心)
113:第三核心(控制所用核心)
114:第四核心(应用所用核心)
Claims (4)
1.一种控制装置,通过以规定的时间间隔反复执行多个控制程序而对控制对象进行控制,所述控制装置的特征在于,包括:
多核处理器;以及
存储器,保存有所述多个控制程序,
所述多核处理器包含应用所用核心,所述应用所用核心是仅分配有作为应用的、无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用的核心。
2.根据权利要求1所述的控制装置,其特征在于,在所述多核处理器中,作为应用的、以规定的时间间隔以下的执行间隔对所述控制对象反复执行的应用被分配给控制所用核心,所述控制所用核心是分配有以规定的时间间隔以下的执行间隔对所述控制对象反复执行的程序的核心。
3.根据权利要求1或2所述的控制装置,其特征在于,在所述应用所用核心中,对无需以规定的时间间隔以下的执行间隔对所述控制对象反复执行的多个应用各自分配的资源的比例能够由用户设定。
4.根据权利要求1至3中任一项所述的控制装置,其特征在于,分配给所述应用所用核心的应用包含用于执行下述处理中的至少一个的应用:(1)与和数据库的连接有关的处理、(2)与和外部的显示装置的连接有关的处理、及(3)存储从所述控制对象获取的信息并将所存储的信息发送至外部的服务器的处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-024282 | 2017-02-13 | ||
JP2017024282A JP7000686B2 (ja) | 2017-02-13 | 2017-02-13 | 制御装置 |
PCT/JP2018/001780 WO2018147058A1 (ja) | 2017-02-13 | 2018-01-22 | 制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110192159A true CN110192159A (zh) | 2019-08-30 |
CN110192159B CN110192159B (zh) | 2022-06-10 |
Family
ID=63107378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880006581.6A Active CN110192159B (zh) | 2017-02-13 | 2018-01-22 | 控制装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11061377B2 (zh) |
EP (1) | EP3582036B9 (zh) |
JP (1) | JP7000686B2 (zh) |
CN (1) | CN110192159B (zh) |
WO (1) | WO2018147058A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6988773B2 (ja) * | 2018-11-15 | 2022-01-05 | オムロン株式会社 | 制御システムおよび制御装置 |
JP7250651B2 (ja) * | 2019-09-26 | 2023-04-03 | 日立建機株式会社 | 作業機械 |
JP7443740B2 (ja) | 2019-12-12 | 2024-03-06 | セイコーエプソン株式会社 | ロボットシステムおよびロボットシステムの制御方法 |
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 |
CN118140183A (zh) * | 2022-10-03 | 2024-06-04 | 松下知识产权经营株式会社 | 处理器以及具备该处理器的控制*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04155405A (ja) * | 1990-10-19 | 1992-05-28 | Mitsubishi Electric Corp | 制御装置 |
JPH04160408A (ja) * | 1990-10-23 | 1992-06-03 | Okuma Mach Works Ltd | 数値制御装置 |
CN104956273A (zh) * | 2013-01-25 | 2015-09-30 | 欧姆龙株式会社 | 控制装置及控制装置的动作方法 |
JP2016012221A (ja) * | 2014-06-27 | 2016-01-21 | ファナック株式会社 | 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置 |
CN106020009A (zh) * | 2015-03-31 | 2016-10-12 | 欧姆龙株式会社 | 控制装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347044B2 (en) | 2009-09-30 | 2013-01-01 | General Electric Company | Multi-processor based programmable logic controller and method for operating the same |
DE102011105141A1 (de) | 2011-06-09 | 2012-12-13 | Dmg Electronics Gmbh | Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine |
US9292427B2 (en) * | 2012-09-13 | 2016-03-22 | International Business Machines Corporation | Modifying memory space allocation for inactive tasks |
EP2778915A1 (de) * | 2013-03-13 | 2014-09-17 | Siemens Aktiengesellschaft | Verfahren zum Betrieb einer Industriesteuerung und Industriesteuerung |
JP6204287B2 (ja) * | 2014-07-18 | 2017-09-27 | 日本電信電話株式会社 | 分散処理方法、処理サーバ、および、プログラム |
US20160091882A1 (en) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | System and method of multi-core based software execution for programmable logic controllers |
-
2017
- 2017-02-13 JP JP2017024282A patent/JP7000686B2/ja active Active
-
2018
- 2018-01-22 WO PCT/JP2018/001780 patent/WO2018147058A1/ja active Application Filing
- 2018-01-22 EP EP18751685.1A patent/EP3582036B9/en active Active
- 2018-01-22 CN CN201880006581.6A patent/CN110192159B/zh active Active
- 2018-01-22 US US16/478,140 patent/US11061377B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04155405A (ja) * | 1990-10-19 | 1992-05-28 | Mitsubishi Electric Corp | 制御装置 |
JPH04160408A (ja) * | 1990-10-23 | 1992-06-03 | Okuma Mach Works Ltd | 数値制御装置 |
CN104956273A (zh) * | 2013-01-25 | 2015-09-30 | 欧姆龙株式会社 | 控制装置及控制装置的动作方法 |
JP2016012221A (ja) * | 2014-06-27 | 2016-01-21 | ファナック株式会社 | 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置 |
CN106020009A (zh) * | 2015-03-31 | 2016-10-12 | 欧姆龙株式会社 | 控制装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3582036B9 (en) | 2023-08-23 |
US11061377B2 (en) | 2021-07-13 |
EP3582036A4 (en) | 2020-12-16 |
JP2018132829A (ja) | 2018-08-23 |
WO2018147058A1 (ja) | 2018-08-16 |
CN110192159B (zh) | 2022-06-10 |
EP3582036B1 (en) | 2023-07-12 |
JP7000686B2 (ja) | 2022-01-19 |
US20190369587A1 (en) | 2019-12-05 |
EP3582036A1 (en) | 2019-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110192159A (zh) | 控制装置 | |
CN107407918B (zh) | 利用app扩展可编程逻辑控制器 | |
CN109388107B (zh) | 控制装置 | |
US10761884B2 (en) | Control device for operating multiple types of programs in different execution formats | |
EP2687927B1 (en) | Cpu of plc, system program for plc, and recording medium storing system program for plc | |
US6757568B2 (en) | Automation system for merging automation components | |
CN109507980B (zh) | 控制装置及控制方法 | |
US9618924B2 (en) | CPU of PLC, system program for PLC, and recording medium storing system program for PLC | |
CN109983411B (zh) | 程序模块的流程控制 | |
JP2010511949A (ja) | 制御システムおよび制御システムを構成する方法 | |
CN110770703B (zh) | 控制装置 | |
US20050203649A1 (en) | System and method for providing an application with memory access methods | |
CN113954104B (zh) | 并联机器人的多线程控制器 | |
Weibin et al. | Three-real-time architecture of industrial automation based on edge computing | |
US11269313B2 (en) | Controller and control system that stores data in current control cycle for output in next control cycle | |
CN111919181A (zh) | 控制装置 | |
EP4036670A1 (en) | Control device | |
Yu et al. | Design of controller system for industrial robot based on RTOS Xenomai | |
CN114503037A (zh) | 用于柔性自动化工程程序的队列块 | |
CN112825034A (zh) | 独立的异构程序单元的执行和动态协调 | |
JP2022048289A (ja) | 制御装置および制御システム | |
JPS62247433A (ja) | 多重動作可能なインタプリタ試験方式 | |
JPH02311934A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |