CN111919181A - 控制装置 - Google Patents
控制装置 Download PDFInfo
- Publication number
- CN111919181A CN111919181A CN201980023449.0A CN201980023449A CN111919181A CN 111919181 A CN111919181 A CN 111919181A CN 201980023449 A CN201980023449 A CN 201980023449A CN 111919181 A CN111919181 A CN 111919181A
- Authority
- CN
- China
- Prior art keywords
- program
- control
- information
- programs
- resource
- 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
Images
Classifications
-
- 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
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- 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]
-
- 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/544—Buffers; Shared memory; Pipes
-
- 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/13123—C language
-
- 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/13138—High level language HLL, structured text ST, resembles pascal
-
- 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/15—Plc structure of the system
- G05B2219/15118—Shared memory
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
在控制程序及信息程序共存的控制装置中,能够进行灵活的程序变更。在控制装置中搭载有一个以上的控制程序和一个以上的信息程序,且设有共享区域。共享区域是至少一个控制程序和至少一个信息程序能够访问的区域。共享区域中存储包含关于能够通过该控制程序访问的I/O端口的信息和关于该控制程序的信息中的至少一者的共享信息。各控制程序是进行为了控制对该控制程序而言的控制对象装置而访问的I/O端口输出与该I/O端口连接的该控制对象装置的控制信息的扫描动作的程序。各信息程序是进行不包含扫描动作的信息处理的程序。
Description
技术领域
本发明大体上涉及控制装置。
背景技术
专利文献1(日本特开2004-362327号公报)公开了“一种分布式监视控制系统,其使用网络将工厂的监视控制设备中的监视用个人计算机与控制用可编程逻辑控制器连接,该分布式监视控制系统的特征在于,在监视用通用个人计算机中设置控制用通用可编程逻辑控制器的信息管理文件,在上述控制用通用可编程逻辑控制器中设置该控制用通用可编程逻辑控制器的信息自动扫描工具,用通用软件统一管理输入至上述通用个人计算机中的信息和上述通用控制用可编程逻辑控制器的处理信息。”(参照权利要求1)。
专利文献2(日本特开2006-178818号公报)公开了“一种动作控制器,其包括:实时OS;存储器;使梯形图语言程序与动作控制周期同步地执行的执行单元;运行上述梯形图语言程序和C语言程序两者的微处理器,上述动作控制器的特征在于,在按照工程工具的项目设定文件载入的上述C语言程序为任务型项目的情况下,作为上述实时OS的任务运行,在上述C语言程序为函数型项目的情况下,以可从其它任务作为函数调用的状态存储至上述存储器。”(参照权利要求1)。
现有技术文献
专利文献
专利文献1:日本特开2004-362327号公报
专利文献2:日本特开2006-178818号公报
发明内容
发明所要解决的课题
专利文献1中公开了“但是,现有的分布式监视控制系统41中的操作站50a~50n、数字控制装置60a~60n、传输路径52a~52n、主干传输路径42、传输路径61a~61n等是每个分布式监视控制系统制造商的专用设备,价格高且不能与其它制造商的产品兼容,因此,可扩展性差,此外,随着近年来的个人计算机等通用设备的性能提高,尽管在能力上可能有超过专用设备的通用设备,但是没有使用通用设备。”的内容(参照0004段落)。
每个分布式监视控制系统制造商的专用设备是可编程逻辑控制器,采用这样的装置结构的背景是可编程逻辑控制器是用于进行I/O单元等的控制的,与用于工厂内的生产、输送等的装置连接,因此,有时在控制上产生延迟时工厂内的装置等的动作变得不稳定,或发生没有预想到的动作。因此,现有的可编程逻辑控制器不进行复杂的处理。专利文献1公开的发明也同样不进行复杂的处理,通过在监视用通用个人计算机中设置控制用通用可编程逻辑控制器的信息管理文件,不影响可编程逻辑控制器的控制。
因此,专利文献1没有考虑在可编程逻辑控制器内进行信息处理。
专利文献2的课题的栏中记载了“由于梯形图语言应用程序和C语言应用程序在不同的微处理器上运行,因此,存在不能从梯形图语言应用将C语言应用程序作为函数调用的问题。”。
即,专利文献2的目的在于,在同一个微处理器上,梯形图语言应用程序将C语言应用程序作为函数调用。
专利文献2记载了一种系统,其由动作控制器和工程工具构成,在动作控制器中梯形图语言任务和C语言任务共存地运行,工程工具将C语言的程序和设定文件夹下载至动作控制器。
此外,记载了在动作控制器中梯形图语言任务与C语言任务共存,梯形图语言任务和C语言程序的任务在实时OS(Operating System:操作系统)上运行。
如果C语言程序为任务型项目,则作为实时OS的任务运行,如果为函数型项目则以可从其它任务作为函数调用的状态存储至动作控制器的存储器。
即,如果是函数型项目,则其它任务例如梯形图语言任务将函数型项目的项目名称作为参数输入,执行C语言函数调出功能区块。
也就是,梯形图语言任务调用C语言的函数型项目,对于动作控制器连接的工作机械等进行数值控制。
C语言任务将任务型项目的项目名称和任务的起动、中断等操作种类作为参数输入,调用任务操作用API。任务操作用API将项目名称作为任务名称对待,调用与任务操作的种类对应的实时OS提供的功能,间接地实现其它任务型项目的任务操作。
另外,记载了关于作为任务型项目载入的C语言程序,在梯形图语言程序的执行时刻,可进行作为任务型项目载入的C语言程序的执行控制。
即,作为任务型项目载入的C语言程序,能够用于进行与动作控制同步的动作的用途、如复杂的数值计算那样处理耗费时间的用途。
也就是,为了控制与动作控制器连接的工作机械等,在梯形图语言程序的执行时刻,为了进行作为任务型项目载入的C语言程序的执行控制而被使用。
因此,即使在函数型和任务型的任一个的情况下,将梯形图语言的一部分描述为C语言,或在梯形图语言程序的执行时刻进行C语言程序的执行控制。也就是,关于专利文献2中记载的C语言程序,公开了为了控制与动作控制器连接的工作机械等而使用的技术思想。
因此,专利文献2没有考虑将C语言程序用于对与装置连接的工作机械等硬件进行控制以外的目的。
本发明是考虑到以上的点而研发的,其目的在于,提供一种可灵活地变更搭载于控制装置的程序的技术。
用于解决课题的技术方案
为了解决所述的课题,如果举出本发明的一例,则提供一种控制装置,其具有作为一个以上的共享区域的基础的存储部和能够执行多个程序的处理器部。多个程序包括一个以上的控制程序和一个以上的信息程序。一个以上的共享区域的各共享区域是能够访问一个以上的控制程序中的至少一个控制程序和一个以上的信息程序中的至少一个信息程序的存储区域,是存储包含关于能够通过该控制程序访问的I/O端口的信息和关于该控制程序的信息中的至少一者的共享信息的存储区域。
一个以上的控制程序中的各控制程序是进行扫描动作的程序,该扫描动作对为了控制该控制程序的控制对象装置而访问的I/O端口输出与该I/O端口连接的该控制对象装置的控制信息。
另一方面是一种程序,一个以上的信息程序中的各信息程序进行不包含扫描动作的信息处理。
发明效果
根据本发明,能够灵活地变更搭载于控制装置的程序。
附图说明
图1是表示包含第一实施方式的控制装置的系统的硬件结构例的框图。
图2是表示包含第一实施方式的控制装置的系统的功能性的概略结构的框图。
图3是表示执行管理表的表结构例的图。
图4是表示程序下载处理的流程的一例的流程图。
图5是表示程序执行处理的流程的一例的流程图。
图6A是表示执行管理表的表结构例的图。
图6B是表示执行管理表的表结构例的图。
图7是表示设定范围表的表结构例的图。
图8A是示意性地表示资源界限及其变更的第一例的图。
图8B是示意性地表示资源界限及其变更的第二例的图。
图8C是示意性地表示资源界限及其变更的第三例的图。
图9表示控制程序和信息程序共存的平台的另一例。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
除特别需要之外,原则上对相同或同样的部分的说明不重复。对于预定图中记载的附图标记,即使是在使用其它图进行说明的情况下,也省略对相同或同样部分的说明。
在下面的实施方式中,为了便于说明而需要时,分为多个部分或实施方式进行说明,除了特别说明了的情况以外,它们并不是无关系的,一方为另一方的一部分或全部的变形例、详细说明、补充说明等的关系。
在以下实施方式中,在涉及到要素的数量等(包括个数、数值、量、范围等)的情况下,除了特别说明的情况以及原理上明显限定于特定数量的情况等之外,并不限定于该特定数量,也可以是特定数量以上、也可以是特定数量以下。
在以下的实施方式中,“接口部”包括一个以上的接口。一个以上的接口可以是一个以上的同类的接口装置,也可以是两个以上的不同种类的接口装置。
在以下实施方式中,“存储部”包括一个以上的存储器。关于存储部,至少一个存储器是易失性存储器即可。存储部主要在处理器部进行处理时使用。存储部除了包括存储器之外,还可以包括一个以上的非易失性的存储装置(例如HDD(Hard Disk Drive)或SSD(Solid State Drive))。
在以下的实施方式中,“处理器部”包括一个以上的处理器。至少一个处理器典型地是CPU(Central Processing Unit)这样的微处理器,也可以是GPU(GraphicsProcessing Unit)这样的其它种类的处理器。一个以上的各处理器可以是单核心,也可以是多核心。处理器也可以包括进行处理的一部分或全部的硬件电路。
在以下实施方式中,有时用“kkk部”(除了接口部、存储部和处理器部之外)的表述来说明功能,功能可以通过一个以上的计算机程序(除了后述的控制程序和信息程序之外)由处理器部执行而实现,也可以是通过一个以上的硬件电路(例如FPGA(Field-Programmable Gate Array)或ASIC(Application Specific Integrated Circuit))而实现。在通过处理器部执行程序来实现功能的情况下,由于适当地使用存储部和/或接口部等进行所决定的处理,因此,功能也可以作为处理器部的至少一部分。以功能为主语说明的处理,可以是处理器部或具有该处理器部的装置进行的处理。程序可以从程序源安装。程序源例如可以是程序分发计算机或计算机能够读取的记录介质(例如非临时记录介质)。各功能的说明是一例,也可以看将多个功能汇总为一个功能,或将一个功能分为多个功能。
另外,在以下的说明中,有时用“xxx表”这样的表述来说明相对于输入得到输出的信息,该信息可以是任何结构的数据,也可以是相对于输入而产生输出的神经网络这样的学习模式。因此,能够将“xxx表”表述为“xxx信息”。此外,在以下的说明中,各表的结构是一例,一个表可以分为两个以上的表,也可以是两个以上的表的全部或一部分形成为一个表。
在以下的实施方式中,其构成要素(还包括要素步骤等),除了特别说明的情况以及原理上认为明显必需的情况等之外,当然并不一定是必需的构成要素。
控制装置也被称为顺序控制装置、动作控制装置或可编程逻辑控制器(PLC)。在控制装置中,使用梯形图逻辑(LD语言)、顺序功能图(SFC语言)、功能区块(FBD语言)、结构文本(ST语言)、指令表(IL语言)这样的控制装置特有的编程语言,或C语言这样的在信息通信领域使用的通用的编程语言来描述的、执行以顺序控制、动作控制为代表的控制处理的程序,被称为“控制程序”。控制程序需要通过I/O模块等实际上对包括电动机等的周边设备进行操作,适当地使生产系统等动作。因此,控制程序被要求在所设定的时间内可靠地执行处理(实时性)。
控制程序通过描述了控制内容的命令对控制对象装置(例如装置零件这样的硬件模块,具有一个以上的硬件模块的装置,或具有多个装置的系统)进行控制。例如,在“通过I/O模块等实际上对包括电动机等的周边设备进行操作,使生产系统适当地动作”这样的控制中,“生产系统”或“构成生产系统的至少一个装置”是“控制对象装置”。控制对象装置典型地是经控制装置中的I/O控制装置(接口部的一例)连接的装置。控制对象装置可以由控制程序直接(例如不经由与控制装置连接的I/O模块、周边设备)地被控制,也可以由控制程序间接地(例如经由与控制装置连接的I/O模块、周边设备)被控制。
对控制对象装置进行控制的语言,并不限定于梯形图语言等控制特有的编程语言,也有用C语言等通用编程语言描述的情况,因此,将对控制对象装置(典型地是硬件)进行控制的程序称为“控制程序”。
以梯形图语言等描述的控制程序进行“扫描动作”,该“扫描动作”进行读入或写入(获取或更新)该梯形图语言等的描述中指定的控制对象装置的状态。
该扫描动作需要以规定间隔进行,将该规定间隔称为“扫描时间”。扫描时间涉及控制程序的运算时间,反复以规定间隔进行与控制相关的运算周期或与控制相关的运算,因此,也有时均称为“循环时间”。
与控制装置连接的控制对象装置例如与工厂内的生产以及输送等中使用的装置连接,因此,当扫描动作延迟时,有时工厂内的装置等的动作不稳定,或产生非预期的动作。因此,需要在规定的扫描时间内进行扫描动作。
扫描时间随着控制装置控制的控制对象装置的数量、种类的增加而变长,因此,在扫描时间内对控制对象装置进行扫描是重要的。
I/O(Input/Output)端口内置在控制装置内或与控制装置连接。I/O模块或I/O单元等有时具有I/O端口。以下,有时将I/O端口本身或具有I/O端口的装置(I/O模块或I/O单元等)总称为“I/O端口”。
I/O端口与控制对象装置,例如生产设备中的皮带输送机、限位开关、致动器(例如电动机)连接,用于关于控制对象装置的动作的控制。I/O端口是数字或模拟的I/O端口。例如,模拟I/O端口用于控制装置的控制对象装置的电压、电流、温度等信息的读写。
将基于控制程序从控制装置的I/O端口发送的控制信息通过有线或无线进行接收的逆变器单元、CNC(Computerized Numerical Control)中,为了逆变器和CNC本身进行促动器的动作控制而要求实时性。
另外,控制对象装置的控制是指,对连接着控制对象装置的状态的I/O端口的动作进行控制。也就是,控制程序是进行连接着控制对象装置的I/O端口的控制的程序,换言之,是对连接着控制对象装置的I/O端口输出该控制对象装置的控制信息(具体而言,例如进行包括该控制信息的输出的扫描动作)的程序。
研究在这种控制装置中,除了进行控制对象装置的控制之外,还进行信息处理(例如复杂的算术运算、与SCADA、MES、云系统进行的信息的收发这样的信息通信处理)。这样的信息处理,存在难以用上述的控制特有的语言进行编程的情况,有时使用C语言或Java(注册商标)语言等在信息处理领域使用的编程语言进行描述的情况。将执行这样的信息处理的程序称为“信息程序”。
对控制程序与信息程序的不同的一例进行说明。
如上述,控制程序是与控制装置的I/O端口的控制关联的程序,信息程序是进行信息处理(例如上述的算术运算、与云系统的通信)的程序。
控制程序以梯形图、ST语言等描述,与以java(注册商标)、python等为代表的通用语言相比,实时性较高。信息程序用以java(注册商标)、python等代表的语言描述,比与梯形图等适于信息通信处理。
C语言等的实时性高,还适于硬件的控制,另外,还适于信息处理的语言有时还能够用于控制程序和信息程序这两者。
另外,信息程序是之前说明了的控制程序以外的程序(但是,例如,除了后述的用于实现任务管理部110、控制程序执行部111、信息程序执行部112和I/O控制部117的一个以上的程序之外)。控制对象装置经I/O端口与控制装置连接,信息程序是不访问与控制对象装置连接的模拟或数字的I/O端口(但是,除了容许与信息程序的共享的I/O端口之外)的程序。换言之,控制程序是进行包括对与控制对象装置连接的模拟或数字的I/O端口发送控制对象装置的控制信息的扫描动作的程序。另一方面,信息程序是进行不包括扫描动作(与扫描动作不同)的信息处理的程序(也就是不进行扫描动作的程序)。
安装控制程序和信息程序的以下的实施方式的控制装置,即使除了执行控制程序之外还执行信息程序,也不使控制程序停止,或不使控制程序的扫描动作延迟或发生控制程序的未预想的动作,能够实现信息程序的追加、删除、更新(改写)或替换这样的程序改变。
[第一实施方式]
使用图1等来对第一实施方式进行说明。
图1是表示包含第一实施方式的控制装置的系统的硬件结构例的块图。
程序分发装置101、控制装置109、一个以上的管理用户计算机151M以及一个以上的普通用户计算机151G与信息网络108连接。另外,控制装置109和一个以上的I/O模块119(I/O端口的一例)与控制网络118连接。信息网络108是信息程序进行的信息通信处理(即与控制信息的发送不同的通信处理)时使用的通信网络。控制网络118是控制程序进行的控制信息发送时使用的通信网络。信息网络108和控制网络118可以是不同种类的网络,也可以是相同种类的网络(例如可以均是LAN(Local Area Network))。另外,信息网络108的至少一部分与控制网络118的至少一部分可以是一体的。
管理用户计算机151M是至少供管理用户操作的计算机。普通用户计算机151G是至少供普通用户操作的计算机。任一种计算机均用作对程序分发装置101和控制装置109中的至少一方的输入输出控制台。具体而言,例如,任一种计算机均具有键盘和指示器件这样的输入器件和显示器件这样的输出器件。“管理用户”是描述控制程序的用户(例如是关于自动机械、生产设备之类的控制对象具有深入的知识的技术人员),“普通用户”是描述信息程序的用户(例如是关于控制对象不具有深入的知识的普通的系统工程师)。也可以是,控制装置109从管理用户计算机151M和普通用户计算机151G中的至少1者接收关于控制程序和信息程序中的至少1者的描述(包括参数组的设定),也可以是,代替控制装置109或在控制装置109的基础上,程序分发装置101接收该描述。以下,有时将管理用户和普通用户统称为“用户”。用户也可以代替管理用户和普通用户中的任一者,是系统管理者(例如作为由程序分发装置101和控制装置109构成的系统的控制系统的管理者)这样的其它种类的用户。
一个以上的周边设备120与一个以上的I/O模块119连接。周边设备120是传感器和驱动器等中的至少一个设备。I/O模块119用作周边设备120根据需要可拆装地安装在其上的总线槽。控制对象装置经由或不经由周边设备120来与I/O模块119连接。控制对象装置相对于I/O模块119可以是1:1、1:多、多:1和多:多中的任一种。另外,一部分I/O模块119除了与控制网络118连接之外,还可以与信息网络108连接,即,该一部分的I/O模块119也可以是控制程序和信息程序共享的器件。
程序分发装置101管理控制程序和信息程序。程序分发装置101包括EPROM201、CPU202、主存储器203、周边控制装置205、非易失性存储装置206和网络接口(与图示的网络I/F相当)207。程序分发装置101经网络接口207与信息网络108连接。
程序分发装置101在周边控制装置205的控制下,经信息网络108对控制装置109提供控制程序、提供信息程序。在该程序分发装置101中,在CPU202的控制下,按照要求提供非易失性存储装置206中预先存储的控制程序和信息程序。
周边控制装置205经总线204与EPROM201、CPU202以及主存储器203连接。CPU202将EPROM201中预先存储的管理程序读取至主存储器203中来执行,通过该管理程序来管理上述控制程序和信息程序。
该管理程序按照要求逐次提供上述控制程序和信息程序中的至少一方的程序。通过由CPU202执行该管理程序,实现后述的程序分发部102和执行管理数据生成部103。
另一方面,控制装置109包括EPROM208、CPU209、主存储器210、周边控制装置212、I/O控制装置214、非易失性存储装置215和网络接口(与图示的网络I/F相当)213。I/O控制装置214和网络I/F213是接口部的一例。EPROM208、主存储器210和非易失性存储装置215是存储部的一例。CPU209和周边控制装置212是处理器部的一例。在控制装置109中,从程序分发装置101提供的控制程序和信息程序在同一平台上共存地运行。
周边控制装置212与网络I/F213、I/O控制装置214、非易失性存储装置215以及总线211连接。在该总线211上还连接着EPROM208、CPU209和主存储器210。
EPROM208中存储了以初始状态预先对控制装置109准备的控制程序和信息程序。CPU209具有多个核心,能够使各个核心独立地动作。
不仅是安装在控制装置109中的各个控制程序和信息程序,通过按照各个程序设定控制装置109能够使用的资源,能够安装多个控制程序和/或多个信息程序。
CPU209将EPROM208中预先存储的控制程序和信息程序读取至主存储器210来执行,控制这些控制程序和信息程序的运行。
即,当这些控制程序和信息程序被读出并被执行时,成为后述的图2的控制程序114和信息程序115。
控制程序114和信息程序115发挥不同的作用。
控制程序114访问控制装置109的I/O模块119,对控制对象装置进行控制。另外,控制程序114基于读入的结果进行运算,为了进行控制对象装置的控制,也可以对I/O控制装置214进行基于该运算结果的访问。控制程序114为了进行控制对象装置的控制,也可以访问连接着该控制对象装置的网络I/F213。即,也可以代替I/O模块119或在设置了I/O模块119的情况下,I/O控制装置214和网络I/F213中的至少一个也成为“I/O端口”的一例。也就是,控制程序114为了进行控制对象装置的控制(为了发送控制对象装置的控制信息),访问连接着该控制对象装置的I/O端口,换言之,发送控制该I/O端口的命令。
另一方面,信息程序115获取I/O控制装置214等的信息而进行运算,将运算的结果经网络I/F213发送至与控制装置109连接的其它装置或设备。在本段中所谓的“其它装置或设备”是与控制装置109连接但是与控制程序114的控制对象装置不同的装置或设备。
控制装置109能够具有控制程序114和信息程序115两者能够访问的共享区域(未图示)。该共享区域形成在主存储器210和非易失性存储装置215中即可。共享区域例如可以是共享目录这样的逻辑存储区域,也可以是由物理地址(例如存储器地址)指定的物理存储区域。例如,也可以构成为,控制程序114生成将可以给信息程序115看的数据的值写入至共享区域的任务,通过执行该任务,能够从信息程序访问该共享区域内的数据的值。所谓的“可以看的数据的值”,广义而言是与一个以上的信息程序115共享的信息、即共享信息。共享信息例如能够列举表示I/O端口的状态(或关于I/O端口包括其它种类的信息)的端口信息、关于控制程序的内部变量等的控制程序信息。共享区域例如也可以由后述的任务管理部110设置,也可以由可访问同一共享区域的控制程序114和信息程序115中的至少一方设置。
这样,信息程序115由于能够防止直接访问连接着控制程序114的控制对象装置的I/O端口,因此能够提高安全性。换言之,信息程序115通过代替直接访问连接着控制程序114的控制对象装置的I/O端口的方式,参照共享区域内的共享信息,能够知道I/O端口的状态或控制程序114的状态。
另外,信息程序115也可以从经网络I/F213而连接但不是控制程序114的控制对象装置的设备或装置接收信息。信息程序115能够对接收到的信息等进行运算,经网络I/F213与其它装置或设备通信。
CPU209控制周边控制装置212来控制经网络I/F213的来自程序分发装置101的控制程序和信息程序的下载。
CPU209控制周边控制装置212来经I/O控制装置214和多个I/O模块119控制多个周边设备120。周边设备120与I/O模块119以1:1对应,CPU例如管理与I/O模块119为1:1的数字I/O寄存器,通过寄存器操作能够逐一进行I/O模块119的操作。
图2是表示包含第一实施方式的控制装置的系统的功能性的概略结构例的框图。
程序分发装置101具有程序管理数据库(相当于图示的程序管理DB)104、程序分发部102以及执行管理生成部103。程序管理DB104基于主存储器203和非易失性存储装置206的至少一部分。这些程序分发部102和执行管理生成部103通过由CPU202执行上述的管理程序而实现。
程序管理数据库104管理控制程序105和信息程序106。执行管理生成部103生成表示在控制装置109中执行控制程序105和信息程序106中的至少一个程序时的参数的执行管理数据。该执行管理数据例如是控制程序105和信息程序106的各任务的优先级、以及每个控制程序105和信息程序106能够使用的上限存储容量这样的一个以上的参数。
程序分发部102在按照要求提供上述至少一个程序时提供表示与上述至少一个程序对应的参数值的执行管理数据。
控制装置109有时也被称为顺序控制装置、动作控制装置或可编程逻辑控制器(PLC)。用梯形图逻辑(LD语言)、顺序功能图(SFC语言)、功能区块(FBD语言)、结构化文本(ST语言)、指令列表(IL语言)这样的控制特有的编程语言描述控制内容。另外,根据情况,使用C语言等通用语言的描述,但也可以更换成梯形图语言等的一部分或全部。
控制与这种控制装置109连接的控制对象的控制程序105(114)使用以梯形图语言为代表的控制特有的编程语言是有效的。能够进行梯形图的表示,对控制对象的状态的监视等是有效的。
另一方面,信息程序106(115)对于控制装置109中的信息处理(例如复杂的算术运算、以及与SCADA、MES、云系统进行的信息的发送接收这样的信息通信处理)是有效的。
这样的信息处理有时难以用控制特有的语言编程,有时使用所谓的C语言或Java(注册商标)语言等在信息通信领域使用的编程语言来描述。
程序管理数据库104管理具有执行上述控制内容的功能的控制程序105和具有执行上述信息处理的功能的信息程序106。
控制装置109包括任务管理部110、控制程序执行部111、信息程序执行部112、执行管理表113和I/O控制部117。
控制程序执行部111例如是运行时库,响应来自控制程序114的调用而与控制程序114一起运行。信息程序执行部112例如是所谓的库,响应来自信息程序115的调用而与信息程序115一起运行。
控制程序114相当于已经从程序分发装置101对控制装置109分发了的控制程序105(或随该控制程序105的执行而生成的一个以上的任务),信息程序115相当于已经从程序分发装置101对控制装置109分发了的信息程序106(或随该信息程序106的执行而生成的一个以上的任务)。
执行管理表113中保存与从程序分发装置101提供的上述至少一个程序一起接收到的上述执行管理数据。
另一方面,任务管理部110主要具有两个功能,具体而言具有程序接收功能和程序执行管理功能。程序接收功能是接收按照要求从程序分发装置101提供的上述至少一个程序的功能。另一方面,程序执行管理功能是在执行上述至少一个程序时,基于执行管理表113中保存的执行管理数据来控制上述至少一个程序的执行的功能。
I/O控制部117将来自控制程序114的控制信息转送至该控制信息的发送目的地。
如上述,控制装置109具有主存储器210,该主存储器210具有控制程序114和信息程序115的各任务使用的预定的存储容量的存储区域。
在此,在程序分发装置101中,执行管理生成部103作为执行管理数据至少生成表示控制程序105和信息程序106的各任务的优先级、和可由控制程序105以及信息程序106的各任务使用的主存储器210的上限存储容量中的至少一方的参数值的执行管理数据。
图3表示图2所示的执行管理表113的表结构例。
执行管理表113中,对控制程序114和信息程序115各自具有条目。各条目例如储存:程序名301、程序类别302、任务优先级303、执行周期304、存储器上限305、CPU核心编号306、使用器件307和专用器件308的信息。以下例示一个程序(图3的说明中“对象程序”)。
程序名301表示对象程序的名称。程序类别302表示对象程序是控制程序114还是信息程序115之类的程序的类别。此外,上述程序名301的最先的3个字符中,也可识别是控制程序114还是信息程序115。“CTL”表示控制程序114,“ICT”表示信息程序115。以下,有时用程序名表示控制程序114和信息程序115的每一个。
任务优先级303表示与对象程序对应的任务的优先级。任务优先级303中,例如可从“0(优先级:高)”到“20(优先级:低)”之间设定优先级。也就是,表示任务优先级303的值越小,优先级越高。
执行周期304表示执行对象程序中的时常处理的周期。“执行周期”是扫描时间。根据图示的例子,CTL001的扫描时间为10msec,CTL002的扫描时间为1msec。由于扫描动作是控制程序114和信息程序115中的控制程序114特有的动作,因此,执行周期304对于控制程序114是有效的值,但是对于信息程序115是无效的值。执行周期304(扫描时间)也可以是用工程工具通过模拟而确定的值,或实际上通过用控制装置109执行控制程序114而确定的扫描时间。
存储器上限305表示对象程序在主存储器203的存储区域能够使用的存储容量的上限。
CPU核心编号306表示向搭载于控制装置109的CPU209的多个核心中的对象程序分配的核心的编号。
使用器件307表示作为对象程序能够使用的设备的使用设备,具体而言,表示对象程序能够使用的I/O模块119(与I/O模块119连接的能够使用的周边设备120)。
专用器件308表示与对象程序对应的使用器件307所表示的一个以上的使用设备(I/O模块119)中由对象程序专用的器件、即专用设备(即,对象程序不能与其它控制程序114或信息程序115共享的I/O模块119)。
根据图示的例子,例如能够得到以下的结论。
CTL001是控制程序。关于CTL001,例如如下所述。即,任务优先级设定得低于CTL002。另外,存储器上限是16MB,使用的CPU核心的编号是0。使用器件是DI1和DO1(控制装置的数字输入1和数字输出1)。
设定成其它程序不使用DI1和DO1而由CTL001专用DI1和DO1。在控制装置中,由于专用设备(设定为专用器件308的设备)不被多个程序间共享,因此,能够防止与专用设备(这里是DI1和DO1)相关的控制变得不稳定。
另外,CTL002是使用器件为eth1、eth2、系列1的控制程序,具体而言,是使用两个Ethernet(注册商标)的端口、一个RS-232C的端口的控制程序。另外,由于与CTL001相比,CTL002的实时性较高,因此,任务优先级比CTL001高。
CTL002表示eth2例如是被用于动作控制的设备的情况下。由于动作控制的实时性高,比其它处理优先,因此,在4个程序中优先级设定得最高。
另外,由于CTL002使用的CPU核心的编号是1,CTL001、ICT001和ICT006使用的CPU核心的编号是0,因此,CTL002专用编号为1的CPU核心。
关于CTL002,不仅根据由任务优先级303规定的优先级,而且根据专用CPU209所具有的多个核心中的编号1的核心的观点,可知CTL002的优先级较高。通过进行这样的设定,能够使CTL002在控制程序中也是优先级较高的状态。
接着,对存储器上限305进行说明。
在未设定存储器上限的情况下,实际进行运算时,各程序可最大地确保并使用存储器。例如,在未设定能够使用信息程序的存储器上限的情况下,有时信息程序确保控制程序可能使用但未确保的区域。但是,例如,在大量追加使用存储器的程序的情况下,随着该程序的追加,可引起用尽系统整体的存储器的情况。在这种情况下,有时通过控制装置或OS停机,控制程序的动作停止,或通过OS的强制性的存储器释放功能的发动,阻止控制程序的处理且在扫描时间内不能完成扫描动作。
因此,在本实施方式中,通过使存储器上限305的合计值为控制装置的系统整体能够使用的值以下,能够防止控制装置等停机。
此外,系统整体能够使用的值优选是从安装在控制装置中的存储器除去了OS等使用的部分的值。这是为了使得不对OS等区域中控制或信息程序的处理施加影响。
另外,通过按照每个程序设定存储器上限305的值,如果在某个程序发生了使用设想以上的存储器的问题的情况下,能够仅使该程序停止,防止影响其它程序。
接着,对任务优先级303进行说明。
任务优先级是执行各程序的情况下的优先级。通过对各程序设定任务优先级,能够使OS的调度程序等识别将CPU分配给程序的优先顺序。
如果不明确地设定任务优先级来执行多个程序,预先按照OS的调度程序所具有的规则进行CPU分配这样的资源分配。例如,进行对多个程序平等地分配CPU这样的规划。
在这样的规划是在控制程序这样的扫描时间内可靠地结束处理是很重要的程序的情况下,存在这样的情况,即,由于其它程序的动作,不能在扫描时间内结束处理等影响控制程序的动作的情况。
例如,在第一程序的处理执行(CPU分配)期间,在通过定时器中断等发出与第一程序相比任务优先级相对较高的第二任务的处理开始请求时,第一程序的处理被中断,第二程序的处理开始。之后,第二程序因Sleep等而在结束CPU的分配时再次开始第一程序的处理。
另外,例如,在第一程序的处理执行(CPU分配)期间,通过定时器中断等发出与第一程序相比任务优先级相对较低的第三任务的处理开始请求发出,第一程序通过Sleep(休眠)等等待第三程序的处理开始直至结束CPU的分配。
因此,通过设定任务优先级303,能够优先地进行优先级更高的程序的处理。
由此,用户能够优先地处理判断重要性更高的程序。即使在用控制装置处理信息程序,信息程序进行复杂的计算的情况下,也能够使得不影响控制程序。
ICT001和ICT002没有被设定作为执行周期304的扫描时间,但是由于与控制程序相比信息程序的任务优先级较低,因此,能够在控制程序的计算中不使用CPU核心的时间(例如空闲的时间)进行信息程序的处理。由此,不用影响控制程序的处理就能够对信息程序进行处理。
ICT001和ICT002是使用设备为eth1,eth1没有被专用设定。因此,对于eth1的端口,ICT001和ICT002能够共享。
在ICT001和ICT006要同时使用eth1的情况下,任务优先级303较高的ICT001先使用eth1。在ICT001结束eth1的使用时,任务优先级303较高的ICT006能够使用eth1。这样,各个程序能够进行与任务优先级相应的处理。
图4是表示控制装置109从程序分发装置101下载期望的程序的程序下载处理的一例的流程图。
首先,在程序分发装置101中,按照使用了未图示的操作画面的用户的操作,选择应下载的程序(步骤S401)。由此,程序分发部102在程序管理数据库104中确定对应的特定程序。
接着,在程序分发装置101中,在操作画面中按照用户的操作对于上述的特定程序设定执行管理数据(步骤S402)。该执行管理数据中例如如图3所示的那样包含任务优先级303。
由此,执行管理生成部103按照用户的输入内容,作为关于上述的特定程序的动作方式的参数,例如能够设定执行各程序的各任务时的优先级、和各任务能够使用的主存储器210内的上限存储容量中的至少一方的参数。
以下,作为一例,主要对优先级进行说明。上面说明了程序分发装置101的处理,以下说明控制装置109的处理。
程序分发装置101按照控制装置109的请求,将上述的特定程序和与其对应的执行管理数据下载至控制装置109(步骤S403)。
接着,在控制装置109中,任务管理部110接收上述已下载的上述特定程序(相当于之前所述的程序接收功能)。任务管理部110完成信息接收时,在上述特定程序为控制程序的情况下作为控制程序114保存至主存储器210(步骤S404)。
接着,在控制装置109中,任务管理部110将与上述特定程序一起下载的执行管理数据追加记入执行管理表113(相当于之前所述的程序执行管理功能)(步骤S405)。
图5是表示程序执行处理的一例的流程图。该程序执行处理表示控制装置109中执行上述特定的程序的情况的处理内容。
任务管理部110在要新执行某一预定的程序时,从执行管理表113读出与该预定的程序对应的执行管理数据(步骤S501)。
作为与该预定的程序对应的执行管理数据,包含在执行管理表113的优先级303中管理的执行该预定的程序的各任务时的优先级。
接着,任务管理部110基于该读出的执行管理数据,作为该预定的程序的参数,例如设定该预定的程序(控制程序105和信息程序106中的至少一个程序)的各任务的优先级,或设定或确定各任务能够使用的主存储器210的上限存储容量(步骤S502)。
任务管理部110使用预定的命令设定这样的优先级。另一方面,任务管理部110设定上述的上限存储容量。
根据上述实施方式,在同一平台(即控制装置109)共存的控制程序114和信息程序115在该平台上按照各自对应的参数动作。任务管理部110对于控制程序114和信息程序115,通过基于该程序114和115的各个任务优先级等参数值对控制程序执行部111和信息程序执行部112进行控制,控制该程序114和115各自的执行(步骤S503)。
在该情况下,作为信息程序115的ICT001和ICT002用预定的资源动作。另外,作为控制程序114的CTL001和CTL002用预定的资源以比ICT001和ICT002高的优先级动作。
通过恰当地改变执行管理表113,控制程序114和信息程序115彼此例如在进行任务的增加、更新或删除这样的功能改变时,能够在保持其它程序动作的状态下改变一部分的控制程序114或信息程序115。
另外,信息程序115在确保了预定的资源的情况下,能够在没有其它程序影响的情况下,不需要再编译、再下载,改变执行管理表113使其动作。(对需要再编译或再下载的一个比较例进行后述)。
因此,由于能够容易地进行控制程序114和信息程序115的各任务的增加、更新和删除中的任意的功能性的改变,因此,控制装置109可灵活地进行功能改变。
[第二实施方式]
使用图3等来对第二实施方式进行说明。此时,以与第一实施方式的不同之处为中心进行说明,对于与第一实施方式共同之处,省略或简化其说明。
第二实施方式中,在上述操作画面(未图示),基于图3所示的执行管理表113,显示按照上述的各程序能够使用的主存储器210的上限存储容量导出的剩余资源,例如各程序能够使用的主存储器210的剩余容量。
在程序分发装置101中,在上述的操作画面中按照预定的操作例如选择剩余资源等时,将表示包含该剩余资源的参数值的执行管理数据与选择的程序一起下载至控制装置109。
在控制装置109中,任务管理部110与该选择的程序一起接收上述执行管理数据,将该执行管理数据登记至执行管理表113。
如果该选择的程序是控制程序114,则控制程序执行部111将基于上述执行管理数据的剩余资源作为参数值,执行该选择的程序即控制程序114。
另一方面,如果该选择的程序是信息程序115,则信息程序执行部112将基于上述执行管理数据的剩余资源作为参数值,执行该选择的程序即信息程序115。
通过采用以上的结构,能够获得与第一实施方式相同的效果,并且接触了这样的各任务能够使用的主存储器210的剩余资源的用户能够基于适当的信息进行下载设定,能够使得上述选择的程序不会影响原有的程序。
[几个变形例]
接着,对变形例进行说明。在上述的第一和第二实施方式中的至少一个方式中,能够采用以下的变形例中的至少一个变形例。
作为第一变形例,例如也可以使用管理程序等从OS层分开。
作为第二变形例,也可以构成为,代替按顺序进行各种程序的处理的方式,在处理结果不产生矛盾的范围内,调换处理的顺序或使处理的顺序进行并行动作。
作为第三变形例,有图6A和图6B所示的例子。即,能够在控制程序的动作期间改变信息程序。具体而言,例如如图6A所示,关于CTL007和ITL008,CPU核心编号306是共通的。这表示在作为控制程序的CTL007动作期间,为了执行作为信息程序的ITL008而能够使用同一核心,即,虽然任务优先级303、使用器件307不同,CTL007的处理能够受到ITL008的影响。
ITL008由于是信息程序,因此,是在执行控制程序期间能够改变的程序。在删除控制装置109所具有的ITL008后,将ITL009发送至控制装置109。通过程序分发装置101等进行发送。由此,能够将ITL008改变至ITL009。
[上述说明的概念的一例]
说明上述说明的概念的一例如下。一种控制装置,其通过访问物理(不仅包括直接地连接的情况,还包括通过网络间接地连接的情况。)连接的控制对象装置硬件的I/O端口来控制硬件的动作,其特征在于,具有存储单元,该存储单元读取I/O端口的信息,将其存储至控制程序和信息程序能够访问的共享区域,控制程序获取I/O端口或存储的I/O端口的信息,向I/O端口输出与该I/O端口连接的装置的控制信息,信息程序获取存储的I/O端口的信息,通过对获取的I/O端口的信息进行运算而确定处理信息。
[总结和更具体的实施方式的一例]
以下的说明包括这之前的说明的总结和更具体的实施方式的一例。换言之,以下的说明也包括这之前说明的重复部分和这之前的说明中没有的事项中的任一方。
虽然能够考虑令用于取得进行控制对象装置的控制所需的信息(例如传感器的测量值)的通信为控制程序的控制的一部分(即对于通信记载于控制程序),但是认为优选使通信这样的信息处理事先与控制程序的控制分离。这样认为的一个理由是,控制装置的控制对象装置由于通常是工作机械、自动组装装置或自动输送装置这样的自动机械、生产设备,因此,被要求高的稳定性,即实时性。
因此,考虑除了准备控制程序,还准备关于通信这样的信息处理描述的程序即信息程序。为了维持实时性而应当优先控制程序,能够考虑用控制装置之外的装置执行信息程序,但是从节约资源的观点出发,能够考虑在控制装置这样的同一平台上执行控制程序和信息程序这两者。在该情况下,要求控制程序和信息程序适当地共存在控制装置内。
但是,上述的专利文献1和2由于已经叙述的理由,没有公开用于使控制程序和信息程序适当的共存的技术,也没有给出这样的技术的启示。
在同一平台上执行包括一个以上的控制程序114和一个以上的信息程序115的多个程序。所谓“同一平台”,根据上述的说明,是控制装置109。
一个以上的各控制程序是进行用于控制该控制程序的控制对象装置的扫描动作的程序。另一方面,一个以上的各信息程序是进行不包含扫描动作的信息处理的程序。
根据以下示例的至少一个方式,能够灵活地改变信息程序。
·对于多个程序114和115的各个程序,能够设定预定了该程序的动作的范围的多个参数值。基于关于该控制程序114和该信息程序115的各个程序的多个参数值,进行控制程序114的执行和信息程序115的执行。能够调节信息程序115的多个参数值,使得对任一控制程序114的执行产生不良影响。
·设置一个以上的共享区域。关于一个以上的共享区域的各个共享区域,能够得到以下的结论。即,该共享区域是一个以上的控制程序114中的至少一个控制程序114和一个以上的信息程序115中的至少一个信息程序115能够访问的存储区域。在该存储区域中例如存储包括关于通过该控制程序114访问的I/O端口的信息和关于该控制程序114的信息(例如内部变量)中的至少一方的共享信息。基于存储在该共享区域的共享信息,能够访问该共享区域的信息程序115能够进行信息处理。换言之,由于能够以基于控制程序114的执行结果的共享信息为基础执行信息程序115,因此,能够期待信息程序115的执行不会对控制程序114产生不良影响。因此,能够期待不用对控制程序114产生不良影响就能够改变信息程序115。
例如,对于多个程序114和115的各个程序,准备包含规定了动作范围的多个参数值的执行管理表113。由此,能够防止因信息程序115的执行(动作)而对控制程序114的执行产生不良影响。关于该多个程序114和115中的各个程序,多个参数值包含以下中的至少一方:
·任务优先级303(该程序的优先级的一例),
·存储器上限305(与一种以上的计算资源对应的一个以上的资源上限的一例),
·使用器件307和专用器件308(表示该程序能够使用的一个以上的I/O端口中的任意I/O端口是该程序专用的I/O端口,或任意I/O端口是包括该程序在内的两个以上的程序能够共享的I/O端口的专用/共享设备的一例)。
由于具有任务优先级303这样的程序优先级这一参数值,能够进行优先地维持对控制程序114要求的实时性的处理。例如,从节约计算资源的观点出发,能够考虑令CPU核心、存储器区域和I/O端口这样的至少一个计算资源为共享器件,具体而言,控制程序114和信息程序115共享上述的至少一个计算资源。通过任务优先级303的设定,即使控制程序114和信息程序115共享计算资源,也能够执行不损害控制程序114的实时性的信息程序115。
即使有存储器上限305这样的资源上限,也能够进行优选维持对控制程序114要求的实时性的处理。例如,在信息程序115不再现地使用存储器量后停止了的情况下,进行存储器量释放的处理,能够比控制程序114优先地进行该处理。这是因为,如果不释放存储器量,则控制程序114不能进行恰当的处理。但是,如果这样,则损害对控制程序114所要求的实时性。为了避免这样的情况,资源上限是有用的。
关于控制程序114和信息程序115的各个程序,专用/共享器件的设定,也可以是两个以上的参数值的组合的设定。通过设定专用器件,能够期待稳定的性能,例如实时性的维持。通过设定共享器件,能够节约计算资源并期待灵活的处理。
例如,也可以准备图7中示例的设定范围表700。表示与图6A和图6B中说明的例子不同的设定方法。另外,是表示图8A和图8B所示的CPU核心、存储器上限、LAN端口分别与图7的默认值703和设定值704的值对应的信息程序115能够利用的资源的图。即,图8A表示控制程序114专用CPU核心1~4,但还未利用3~4,5~8表示信息程序115专用的状态。
另外,就存储器而言,控制程序114和信息程序115分别能够使用最大128MB。接着,表示控制程序114专用LAN1和2,信息程序115专用LAN4,这些程序共享LAN3。图8B中表示与图7所示的设定值704的值对应的资源。设定范围表700也可以从用户使用的计算机(例如管理用户计算机151M)经由或非经由程序分发装置101储存于控制装置109。设定范围表700是制定与信息程序115相关的参数值的范围的表,对于多个参数项目(例如,包含与图3中示例那样的参数项目303~308中的至少一个相同的参数项目的多个参数项目)的每一个,储存关于属性701、可设定的范围702和默认值703的信息。以下,举例一个参数项目(图7的说明中为“对象参数项目”)。设定值704是在不使用默认值703的情况下设定的值。在输入或设定设定值704的一部分的情况下,输入或未设定的值也可以使用默认值703的值。由此,用户在利用信息程序115时,尽管不设定所有的项目或一部分项目,也能够执行信息程序115。也可以如图7所示显示于显示单元,并由输入单元输入,也可以额外仅设定设定值704。
接着,对图8C进行说明。图8C表示变更了图8A的设定的状态。图8C中表示如下情况,控制程序114专用CPU核心1和2,信息程序115专用CPU核心7和8,并共享CPU核心3~5。共享的CPU核心能够在各个程序114和115的计算处理不足的情况下利用。另外,也能够根据任务优先级变更使用量。
共享的CPU核心使用虚线的界限线时,向用户明确地提示与图8B的不同,是便利的,但作为该不同的表述也可以采用其它的表述。例如,也可以采用变更专用、共享各自的背景色,或实施分别不同的阴影处理等。存储器的设定与图8B一样,因此,省略说明。就LAN端口而言,控制程序114专用LAN1,信息程序115专用LAN3,控制程序114和信息程序115共享LAN2和4。
属性701表示对于任一信息程序115变更与对象参数项目对应的参数值时,是否可能对任一控制程序114的执行(动作)造成不良影响。“A:设定注意”是指,可能造成不良影响。“B:可自由地设定”是指,不会造成不良影响。通过表示属性701,用户能够容易地了解不造成不良影响的项目。
可设定范围702表示对于对象参数项目关于信息程序115可设定的参数值的范围。可在该范围内调整参数值。对于至少一个参数项目,可设定范围702也可以表示关于各个信息程序115的值,但图7的例子中,对于任意参数项目也表示所有的信息程序115的作为合计的值。例如,参数项目“CPU核心数”能够设定信息程序114使用CPU核心2~8的哪一核心,但在没有特别设定的情况下,如默认值703所记载,使用CPU核心4-8。与“存储器上限”对应的可设定范围702是关于所有的信息程序115的存储器量合计的上限的范围。图8B所示的例子中,信息程序115可从16设定至256MB,在未设定设定值704的情况下,能够使用作为默认值703的值的128MB,在将设定值704设定为160MB的情况下能够使用160MB。由此,图8A所示的例子中,信息程序114能够充分利用存储器,因此,能够使信息程序114的动作更稳定。
此外,对于至少一个参数项目,可设定范围702也可以自动设定或变更。在自动设定时,控制程序114能够将器件的资源或专用或共享的信息设定成参考。例如,任务管理部110也可以以控制程序114的使用资源为基础,自动设定或变更关于信息程序115的可设定范围702。例如,在控制程序114专用LAN端口中的LAN1和LAN2,且共享LAN3的情况下,也可以将可利用的LAN端口的可设定范围702设为LAN3、LAN4,将专用LAN的可设定范围702设为LAN4。在该情况下,当以信息程序115专用的方式设定LAN3时,不能使用控制程序114,因此,属性701中记载为设定注意。此外,当将可利用的LAN端口的可设定范围702仅设定为LAN4时,专用LAN端口的可设定范围702仅成为LAN4。这是指,将不能利用的LAN端口自动地变更成不能专用的设定。
另外,参数项目“路径选择方式”在图9中示例的OS共通安装中采用。例如,参照后述的图9可以说,“Masquerade”是指,容器953(执行环境的一例)从控制装置909外接收不到通信。“Port forward”是指仅接收到来自控制装置909外的通信中的对某端口的通信。“IPforward”是指,对物理的网络I/F(例如图1的网络I/F213)追加赋予信息容器953B专用的IP地址,并将指定该IP地址的通信转送至信息容器953B内的信息程序115。
另外,参数项目“可利用的LAN端口”表示信息程序115能够利用的LAN端口,“专用LAN端口”表示信息程序115专用的LAN端口。即,信息程序115成为默认与控制程序114共享LAN端口3和4,且专用LAN端口4的设定。
另外,参数值“共享文件夹”表示向共享区域的一例的共享文件夹的路径。默认值703中没有共享,因此,只要没有特别设定,就成为没有共享文件夹的状态。
默认值703表示与对象参数项目对应的默认值。例如,根据与参数项目“LAN端口”对应的默认值,对信息程序115设定参数值“LAN3”和“LAN4”,对专用LAN端口的参数值设定“LAN4”。也就是,LAN3为共享器件,LAN4为信息程序115专用的器件。如图8A所示,LAN端口表示控制程序专用1个端口,信息程序专用1个端口,控制程序和信息程序共享两个端口的状态。在此的共享是,即使是控制程序,也未必要求实时性的通信和信息程序各自利用LAN端口的情况。
例如,在一程序使用共享LAN端口时,在使用另一程序的情况下,待机至一程序的通信结束,并使用另一程序。控制程序114专用LAN端口,由此,在使用实时控制通信的情况下是有效的。控制程序114和信息程序115共享LAN端口,由此,在进行普通的Ethernet通信等的非实时通信的情况下是有效的。信息程序115进行与控制装置109的外部的、例如工厂外或因特网等的通信时,能够从控制装置109的外部隐藏与控制程序114或控制装置109连接的装置,因此,从安全的观点来看是有效。
关于多个各程序114和115,如图8A中示例,对于一种以上的各计算资源(例如CPU核心、存储器、LAN(I/O端口的一例)),与其种类(各个参数项目)的计算资源对应的资源上限基于对该种类的计算资源制定的资源界限(图8中以粗线表示)来确定。在共享LAN的情况下,方便起见,在中间位置设置界限线进行表述。对于一种以上的各计算资源,资源界限为以下述(x)和(y)定义的界限。控制程序114以(x)以下的资源执行,信息程序115以(y)以下的资源执行,由此,可对各个程序不造成影响地执行。此外,CPU的核心数没有限制,包含单核心的情况,也可设定规划的优先级。另外,在CPU核心为多个的情况下,不变更CPU核心的专用的设定,也能够规划,使控制程序115在预定的扫描时间内执行,在该情况下,能够高效地使用多个核心。
(x)该种类的计算资源的资源上限,即全部控制程序114可使用该种类的计算资源的资源的合计。
(y)该种类的计算资源的资源上限,即一个以上的信息程序可使用该种类的计算资源的资源的合计。
通过这种资源界限,能够期待实时性的维持。此外,图8中,对于各种计算资源,与资源界限相比处于左侧的灰色带域是指,全部控制程序114使用的资源的合计即总使用资源,与资源界限相比处于左侧的白色带域表示,关于控制程序114的剩余资源(资源界限和总使用资源的差)。也就是,灰色带域表示实际的利用状态,白色带域表示未使用而能够使用的资源。另一方面,对于各种计算资源,与资源界限相比处于右侧的灰色带域是指,全信息程序115使用的资源的合计即总使用资源,与资源界限相比处于左侧的白色带域表示,关于信息程序115的剩余资源(资源界限和总使用资源的差)。通过将其在实时显示或排除错误时显示,能够确定资源的使用量,利用设定值704更高效地执行控制程序114或信息程序115。
如图8中示例,控制多个程序114和115的执行的任务管理部110动态地变更该一种以上的计算资源的至少一种计算资源的资源界限。该变更在例如产生了用于资源界限变更的规定的事件的情况下(例如任务管理部110从用户接收到资源界限的变更要求的情况下)进行。由此,例如,对于剩余资源关于控制程序114充分的某种计算资源,执行对于控制程序114来说的资源减少的资源界限变更(例如参照计算资源种类“存储器”)。这样,通过灵活地变更资源界限,维持实时性且能够期待高吞吐量。即,能够期待实时性和高吞吐量的兼得。
此外,对于至少一种计算资源,在该种类的计算资源的资源界限的变更为对控制程序114来说的资源减少的变更的情况下,任务管理部110也可以进行下述的(A)和(B)。利用下述(A)和(B),即使对控制程序114来说的资源减少的界限变更,换言之,变更追加信息程序115时的前提时,也能够期待实时性的维持。
(A)将一个以上的信息程序115的至少一个停止。
(B)对于至少一个控制程序114,执行下述(b1)和(b2)中的至少一个。
(b1)将分配于停止的信息程序115的共享器件(例如I/O端口中的至少一个)变更为该控制程序114的专用器件。
(b2)相对提高该控制程序的任务优先级303(即,进行提高该控制程序的任务优先级303和降低停止的信息程序115的任务优先级303的至少一项)。
另外,在上述说明中,控制程序114和信息程序115共存的平台是作为物理的计算机的控制装置109,如图9示例的那样,作为另一例,能够采用同一OS952。也就是,控制程序114和信息程序115的OS是共享的。在此,关于多个程序114和115中的各个程序,能够设定包含预定了该程序的动作的范围的多个参数值的执行管理表113。
关于控制,通常要求高的实时性,关于信息处理,通常要求高的吞吐量。作为OS,通常有作为面向控制的OS的专用OS(实时OS)和作为面向信息处理的OS的通用OS。
通常,控制程序在安装了专用OS的计算机上被执行,或从安装了专用OS的计算机接收了信息系统的计算所需的信息的安装了通用OS的计算机执行。在此,能够考虑,假设考虑到最近的通用计算机领域的技术,控制程序在专用OS上执行,信息程序在通用OS上执行,则能够采用与本发明相似的结构。因此,在使控制程序和信息程序共存于同一计算机的情况下,通常采用模仿计算机的计算资源集合(作为物理的计算资源的集合的硬件)的虚拟机技术。具体而言,例如能够考虑,管理程序,为了用于控制程序,作为客户OS生成安装了专用OS的虚拟机,为了用于信息程序,作为客户OS生成安装了通用OS的虚拟机,控制程序和信息程序在OS不同的虚拟机上被执行。
但是,在虚拟机技术中,除了虚拟机的客户OS之外,还存在作为虚拟机的基础的主机OS。作为其结果,能够考虑管理对象多而管理变得复杂。
另外,即使在计算机上连接了设备,该计算机上的全部控制程序和信息程序也并不能够容易地识别该设备。按照不同的虚拟机,经客户OS,需要用于识别该设备的处理。换言之,控制程序和信息程序难以共享器件。
根据本申请的发明者的考察,能够提供一种OS(以下为了便于说明称为“实时通用OS”),该OS虽然是通用OS的系统,但是具有能够提供所需要的实时性的实时功能。
因此,能够考虑如图9所示例的那样,采用实时通用OS作为控制程序114和信息程序115共存的OS952。
但是,当控制程序114和信息程序115在实时通用OS上共存时,担心控制程序114的实时性下降。具体而言,例如,实时通用OS具有调度程序,在该调度程序产生中断。调度程序如果要执行的实时任务(与控制程序114对应的任务),则按照任务优先级303将控制交给该实时任务,如果没有要执行的实时任务,则将控制交给通常任务(例如与信息程序115对应的任务)。即使有要执行的实时任务,如果关于通常任务不完成至预定的处理,则该通常任务不被停止。因此,实时任务的开始延迟,其结果是,有时损害实时性。
因此,作为控制程序114和信息程序115的同一平台采用OS952,并且,在该环境下,通过采用上述方式中的至少一个,例如通过采用下述中的至少一项,可维持实时性。
·设定上述的执行管理表113。即,关于控制程序114和信息程序115的各个程序,设定以维持实时性为目的而决定的参数值。
·代替器件的共享化变得容易,避免实时性降低,因此,设定上述那样的资源界限。
作为参数值的设置,具体而言,例如通过图3示例的参数值303~308的组合,即使控制程序114和信息程序115共存在同一OS952上,也能够维持实时性。例如,关于通常任务,考虑如果不完成至预定的处理则不停止该通常任务,来决定参数值303~308。
另外,也可以适当考虑吞吐量,且资源界限利用例如作为主程序的一例的执行控制程序957动态地变更。此时,在资源界限的变更为对控制程序114来说的资源减少的界限变更的情况下,上述的(A)及(B)也可以例如利用执行控制程序957进行。
对于图9的控制装置909,例如如以下。
在控制装置909的物理资源集合951上执行OS952。作为OS952上的程序执行环境,能够采用按照容器型虚拟化的容器953。即,程序设定在容器953,在OS952上以容器953的单位执行。作为容器953,例如有控制容器953A和信息容器953B这两种容器。
控制容器953A是存储并执行控制程序114的容器。控制程序114例如也可以在软件PLC系统运行时间961上执行。控制程序114也可以进行控制系统通信。控制系统通信可以是串行或并行的有线通信,也可以看是无线通信。
信息容器953B是存储并执行信息程序115的容器。至少一个信息程序115能够进行信息系统通信。
作为由控制装置909执行的程序,除了有上述的程序114和115之外,还有其它程序,例如Web服务器程序956和执行控制程序957。Web服务器程序956和执行控制程序957均是在容器953外执行的主程序的一例。执行控制程序957是进行容器953的生成或删除等的容器引擎即可。通过执行Web服务器程序956和执行控制程序957实现上述的任务管理部110即可。
Web服务器程序956是用作Web服务器的程序。Web服务器程序956与管理用户计算机151M和普通用户计算机151G中的各个(客户)通信。Web服务器程序956是关于存储一个以上的信息程序115中的至少一个的容器,受理参数值的设定的用户接口程序的一例。
执行控制程序957基于关于容器953中的程序设定的多个参数值,控制容器953(准确而言是容器953中的程序)的执行。
以上,基于发明的实施方式具体地说明了本发明者制作出的发明,但本发明不限定于上述发明的实施方式,也可以在不超过其宗旨的范围内进行各种变更。
此外,本发明不限定于上述的实施方式,包含各种变形例。例如,上述的实施方式是为了容易理解地说明本发明而详细说明的方式,未必限定于具备说明的所有的结构。
另外,可将某实施方式的结构的一部分置换成其它的实施方式的结构,另外,也可对某实施方式的结构添加其它的实施方式的结构。
另外,例如,控制装置也可以是称为“产业用控制装置”的装置。
附图标记说明
101……程序分发装置,102……程序分发部,103……执行管理生成部,104……程序管理数据库,105……控制程序,106……信息程序,109……控制装置,110……任务管理部,110……执行管理表,114……控制程序,115……信息程序。
Claims (10)
1.一种控制装置,通过访问与一个以上的控制对象装置连接的一个以上的I/O端口中的至少一个I/O端口来控制与该I/O端口连接的控制对象装置的动作,其特征在于,包括:
作为一个以上的共享区域的基础的存储部;和
能够执行多个程序的处理器部,
所述多个程序包括一个以上的控制程序和一个以上的信息程序,
关于所述一个以上的共享区域中的各共享区域,该共享区域是所述一个以上的控制程序中的至少一个控制程序和所述一个以上的信息程序中的至少一个信息程序能够访问的存储区域,并且是用于存储共享信息的存储区域,其中所述共享信息包含关于能够通过该控制程序访问的I/O端口的信息和关于该控制程序的信息中的至少一者,
所述一个以上的控制程序中的各控制程序是进行扫描动作的程序,所述扫描动作对所述一个以上的控制程序中的各控制程序为了控制该控制程序的控制对象装置而访问的I/O端口,输出与该I/O端口连接的该控制对象装置的控制信息,
所述一个以上的信息程序中的各信息程序是进行不包含扫描动作的信息处理的程序。
2.根据权利要求1所述的控制装置,其特征在于,
所述存储部能够存储执行管理信息,
所述执行管理信息包含对所述多个程序中的各程序限定该程序的运行的范围的多个参数值,
对于所述多个程序中的各程序,所述多个参数值包含下述各项中的至少一项:
该程序的优先级;
与一种以上的计算资源对应的一个以上的资源上限;和
表示该程序能够使用的一个以上的I/O端口中的哪些I/O端口是该程序专用的I/O端口、哪些I/O端口是包含该程序的两个以上的程序能够共享的I/O端口的专用/共享设备信息。
3.根据权利要求2所述的控制装置,其特征在于,
关于所述多个程序中的各程序,对于所述一种以上的计算资源中的每一种计算资源,与该种类的计算资源对应的资源上限基于对该种类的计算资源规定的资源界限来确定,
对于所述一种以上的计算资源中的每一种计算资源,资源界限是由下述(x)和(y)定义的界限,
(x)是作为该种类的计算资源的资源上限的、所有控制程序能够使用的该种类的计算资源的资源合计,
(y)是作为该种类的计算资源的资源上限的、所有信息程序能够使用的该种类的计算资源的资源合计。
4.根据权利要求3所述的控制装置,其特征在于,
具有能够控制所述多个程序的执行的任务管理部,
所述任务管理部动态地变更所述一种以上的计算资源中的至少一种计算资源的资源界限。
5.根据权利要求4所述的控制装置,其特征在于,
对于所述一种以上的计算资源中的至少一种计算资源,在该种类的计算资源的资源界限的变更是对所述一个以上的控制程序而言减少资源的变更的情况下,所述任务管理部,
停止所述一个以上的信息程序中的至少一个信息程序,
并且对至少一个控制程序执行下述至少一者:
将分配给所述停止的信息程序的I/O端口中的至少一个I/O端口变更成该控制程序专用的I/O端口,
相对地提高该控制程序的优先级。
6.根据权利要求1所述的控制装置,其特征在于,
所述一个以上的控制程序和所述一个以上的信息程序的OS(Operating System)共通,
对所述多个程序的各程序设定用于限定该程序的动作的范围的多个参数值,
对于所述多个程序中的各程序,所述多个参数值包含专用/共享设备信息,该专用/共享设备信息表示所述多个程序中的各程序能够使用的一个以上的I/O端口中的哪些I/O端口是该程序专用的I/O端口、哪些I/O端口是包含该程序的两个以上的程序能够共享的I/O端口。
7.根据权利要求6所述的控制装置,其特征在于,
对一种以上的计算资源中的每一种计算资源规定了作为由下述(x)和(y)定义的界限的资源界限,
(x)是作为该种类的计算资源的资源上限的、所有控制程序能够使用的该种类的计算资源的资源合计,
(y)是作为该种类的计算资源的资源上限的、所有信息程序能够使用的该种类的计算资源的资源合计。
8.根据权利要求7所述的控制装置,其特征在于,
所述一个以上的控制程序能在设于所述OS的一个以上的运行环境下运行,
所述一个以上的信息程序能在不同于所述一个以上的控制程序所运行的一个以上的运行环境的、设于所述OS的一个以上的运行环境下运行,
在所述OS中,主程序动态地变更所述一种以上的计算资源中的至少一种计算资源的资源界限,其中所述主程序是在所述一个以上的控制程序所运行的一个以上的运行环境和所述一个以上的信息程序所运行的一个以上的运行环境之外运行的至少一个程序。
9.根据权利要求8所述的控制装置,其特征在于,
对于所述一种以上的计算资源中的至少一种计算资源,在该种类的计算资源的资源界限的变更是对所述一个以上的控制程序而言减少资源的变更的情况下,所述主程序,
停止所述一个以上的信息程序中的至少一个信息程序,
并且对至少一个控制程序执行下述至少一者:
将分配给所述停止的信息程序的I/O端口中的至少一个I/O端口变更成该控制程序的专用的I/O端口,
相对地提高该控制程序的优先级。
10.一种控制方法,其特征在于,
管理一个以上的共享区域,
运行包含一个以上的控制程序和一个以上的信息程序的多个程序,
关于所述一个以上的共享区域的各共享区域,该共享区域是所述一个以上的控制程序中的至少一个控制程序和所述一个以上的信息程序中的至少一个信息程序能够访问的存储区域,并且是用于存储共享信息的存储区域,其中所述共享信息包含关于能够通过该控制程序访问的I/O端口的信息和关于该控制程序的信息中的至少一者,
所述一个以上的控制程序中的各控制程序是进行扫描动作的程序,所述扫描动作对所述一个以上的控制程序中的各控制程序为了控制该控制程序的控制对象装置而访问的I/O端口,输出与该I/O端口连接的该控制对象装置的控制信息,
所述一个以上的信息程序中的各信息程序是进行不包含扫描动作的信息处理的程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-066065 | 2018-03-29 | ||
JP2018066065A JP6857153B2 (ja) | 2018-03-29 | 2018-03-29 | コントロール装置 |
PCT/JP2019/007967 WO2019187965A1 (ja) | 2018-03-29 | 2019-02-28 | コントロール装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111919181A true CN111919181A (zh) | 2020-11-10 |
CN111919181B CN111919181B (zh) | 2023-09-12 |
Family
ID=68061226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980023449.0A Active CN111919181B (zh) | 2018-03-29 | 2019-02-28 | 控制装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11402815B2 (zh) |
EP (1) | EP3779622B1 (zh) |
JP (1) | JP6857153B2 (zh) |
CN (1) | CN111919181B (zh) |
WO (1) | WO2019187965A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7413169B2 (ja) * | 2020-07-06 | 2024-01-15 | 株式会社日立産機システム | コントロール装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH043205A (ja) * | 1990-04-20 | 1992-01-08 | Yokogawa Electric Corp | データ・アクセス・システム |
JPH05204414A (ja) * | 1992-01-28 | 1993-08-13 | Matsushita Electric Works Ltd | プログラマブルコントローラシステム |
JPH11175113A (ja) * | 1997-12-12 | 1999-07-02 | Hitachi Ltd | プログラマブルコントローラ |
CN1472610A (zh) * | 2002-02-12 | 2004-02-04 | 费舍-柔斯芒特系统股份有限公司 | 多功能处理控制系统控制器 |
WO2011125178A1 (ja) * | 2010-04-06 | 2011-10-13 | 三菱電機株式会社 | 制御システム、制御装置および制御方法 |
CN103370906A (zh) * | 2011-02-14 | 2013-10-23 | 株式会社日立产机系统 | 通信系统 |
JP2014029619A (ja) * | 2012-07-31 | 2014-02-13 | Auto Network Gijutsu Kenkyusho:Kk | 制御システム及びプログラム更新方法 |
JP2017182105A (ja) * | 2016-03-28 | 2017-10-05 | 株式会社日立産機システム | コントローラ装置およびコントローラ装置のタスク実行管理方法 |
JP2018041405A (ja) * | 2016-09-09 | 2018-03-15 | 株式会社日立産機システム | コントローラ及びコントロール管理システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631976B2 (en) * | 1999-04-14 | 2003-10-14 | Canon Kabushiki Kaisha | Control of ink jet nozzle prefiring |
US6941505B2 (en) * | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
US20040226016A1 (en) * | 2003-05-08 | 2004-11-11 | Samsung Electronics Co., Ltd. | Apparatus and method for sharing resources in a real-time processing system |
JP2004362327A (ja) | 2003-06-05 | 2004-12-24 | Toshiba Plant Systems & Services Corp | 分散型監視制御システム |
US20100005531A1 (en) * | 2004-12-23 | 2010-01-07 | Kenneth Largman | Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features |
US20060206246A1 (en) * | 2004-10-28 | 2006-09-14 | Walker Richard C | Second national / international management and security system for responsible global resourcing through technical management to brige cultural and economic desparity |
JP2006178818A (ja) | 2004-12-24 | 2006-07-06 | Yaskawa Electric Corp | モーションコントローラとエンジニアリングツール並びにc言語実行システム |
US10896062B2 (en) * | 2011-11-07 | 2021-01-19 | Sap Se | Inter-process memory management |
US9053808B2 (en) * | 2012-06-21 | 2015-06-09 | Sandisk Technologies Inc. | Flash memory with targeted read scrub algorithm |
US9542286B2 (en) * | 2014-09-30 | 2017-01-10 | Sandisk Technologies Llc | Failure logging mechanism to reduce garbage collection time in partially reused bad blocks |
-
2018
- 2018-03-29 JP JP2018066065A patent/JP6857153B2/ja active Active
-
2019
- 2019-02-28 US US17/042,232 patent/US11402815B2/en active Active
- 2019-02-28 CN CN201980023449.0A patent/CN111919181B/zh active Active
- 2019-02-28 EP EP19774733.0A patent/EP3779622B1/en active Active
- 2019-02-28 WO PCT/JP2019/007967 patent/WO2019187965A1/ja active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH043205A (ja) * | 1990-04-20 | 1992-01-08 | Yokogawa Electric Corp | データ・アクセス・システム |
JPH05204414A (ja) * | 1992-01-28 | 1993-08-13 | Matsushita Electric Works Ltd | プログラマブルコントローラシステム |
JPH11175113A (ja) * | 1997-12-12 | 1999-07-02 | Hitachi Ltd | プログラマブルコントローラ |
CN1472610A (zh) * | 2002-02-12 | 2004-02-04 | 费舍-柔斯芒特系统股份有限公司 | 多功能处理控制系统控制器 |
WO2011125178A1 (ja) * | 2010-04-06 | 2011-10-13 | 三菱電機株式会社 | 制御システム、制御装置および制御方法 |
CN103370906A (zh) * | 2011-02-14 | 2013-10-23 | 株式会社日立产机系统 | 通信系统 |
JP2014029619A (ja) * | 2012-07-31 | 2014-02-13 | Auto Network Gijutsu Kenkyusho:Kk | 制御システム及びプログラム更新方法 |
JP2017182105A (ja) * | 2016-03-28 | 2017-10-05 | 株式会社日立産機システム | コントローラ装置およびコントローラ装置のタスク実行管理方法 |
JP2018041405A (ja) * | 2016-09-09 | 2018-03-15 | 株式会社日立産機システム | コントローラ及びコントロール管理システム |
Also Published As
Publication number | Publication date |
---|---|
JP6857153B2 (ja) | 2021-04-14 |
EP3779622B1 (en) | 2022-10-05 |
US20210026316A1 (en) | 2021-01-28 |
US11402815B2 (en) | 2022-08-02 |
JP2019175375A (ja) | 2019-10-10 |
CN111919181B (zh) | 2023-09-12 |
WO2019187965A1 (ja) | 2019-10-03 |
EP3779622A1 (en) | 2021-02-17 |
EP3779622A4 (en) | 2021-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110770703B (zh) | 控制装置 | |
CN109983411B (zh) | 程序模块的流程控制 | |
US20220113709A1 (en) | Runtime server for simultaneous execution of a plurality of runtime systems of an automation system | |
CN112470088B (zh) | 控制装置 | |
CN110192159A (zh) | 控制装置 | |
CN111919181B (zh) | 控制装置 | |
JP7085305B2 (ja) | コントロールシステム及びコントロール方法 | |
US11199993B2 (en) | Control system, development assistance device, and development assistance program | |
JP7413169B2 (ja) | コントロール装置 | |
JP7240282B2 (ja) | 産業用コントロール装置及びアクティベーション方法 | |
CN116909678A (zh) | 一种容器化plc的实现方法及系统、管理服务器 | |
JP7413183B2 (ja) | コントロールシステム | |
JP2019057212A (ja) | プログラマブルコントローラ及びコントロールシステム | |
JP6020854B2 (ja) | コンピュータ化されたマシン制御システム | |
CN114556298A (zh) | 用于控制和/或监测机器和/或设备的方法和自动化系统 | |
CN106066638B (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 |