CN111758089A - 工程工具、控制器以及控制系统 - Google Patents
工程工具、控制器以及控制系统 Download PDFInfo
- Publication number
- CN111758089A CN111758089A CN201880090173.3A CN201880090173A CN111758089A CN 111758089 A CN111758089 A CN 111758089A CN 201880090173 A CN201880090173 A CN 201880090173A CN 111758089 A CN111758089 A CN 111758089A
- Authority
- CN
- China
- Prior art keywords
- hardware
- allocation data
- storage unit
- controller
- allocation
- 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
- 238000013500 data storage Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims description 71
- 230000008569 process Effects 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/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]
-
- 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
- G05B15/00—Systems controlled by a computer
-
- 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
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- 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/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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- 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
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Abstract
实施方式的工程工具具备硬件分配数据存储部、分配条件存储部以及工具进程部。硬件分配数据存储部存储硬件分配数据,该硬件分配数据表示对于在控制器中执行的宿主OS(Operating System)以及在该宿主OS上实现的虚拟机上动作的访客OS分别进行的硬件的分配,并且下载到控制器。分配条件存储部存储对于宿主OS以及访客OS分配所述硬件的分配条件。工具进程部使显示部显示用来输入硬件分配数据的设定画面,在判断为使用设定画面而输入的硬件分配数据满足存储于分配条件存储部的分配条件的情况下,将输入的硬件分配数据保存于硬件分配数据存储部,在判断为输入的硬件分配数据不满足分配条件的情况下,不将输入的硬件分配数据保存于硬件分配数据存储部。
Description
技术领域
本发明的实施方式涉及工程工具、控制器以及控制系统。
背景技术
现有称作服务器虚拟化的、将1台计算机进行逻辑分割而在该计算机中使多个OS(Operating System:操作系统)运行的技术。如果能够将该技术应用于对成套设备内的阀等控制对象设备进行控制的控制系统,则能够将HMI(Human Machine Interface:人机界面)、工程工具、控制器等集成到1台计算机中。由此,能够期待较大效果地减少控制系统中的设备的导入费用、与电力、空调有关的成本。
现有技术文献
专利文献
专利文献1:国际公开第2016/189689号
专利文献2:国际公开第2015/137505号
发明内容
发明要解决的课题
然而,在对于控制系统导入服务器虚拟化的情况下,需要基于使用工程工具的工程师设定的硬件分配数据,对在计算机的宿主OS上实现的虚拟机上动作的访客OS分配硬件而使虚拟机起动。此时,若硬件分配数据的设定存在错误,则有控制系统不正常地动作的情况。
用于解决课题的手段
实施方式的工程工具具备硬件分配数据存储部、分配条件存储部以及工具进程部。硬件分配数据存储部存储硬件分配数据,该硬件分配数据表示对于在控制器中执行的宿主OS(Operating System:操作系统)以及在该宿主OS上实现的虚拟机上动作的访客OS分别进行的硬件的分配,并且下载到控制器。分配条件存储部存储对于宿主(host)OS以及访客(guest)OS分配硬件的分配条件。工具进程部使显示部显示用来输入硬件分配数据的设定画面,在判断为使用设定画面而输入的硬件分配数据满足存储于分配条件存储部的分配条件的情况下,将输入的硬件分配数据保存于硬件分配数据存储部,在判断为输入的硬件分配数据不满足分配条件的情况下,不将输入的硬件分配数据保存于硬件分配数据存储部。
附图说明
图1是表示第一实施方式的控制系统的功能构成的一个例子的图。
图2是表示第一实施方式的控制系统所具有的控制器以及工具用PC的功能构成的一个例子的图。
图3是表示基于第一实施方式的工具用PC的硬件分配数据的设定处理的流程的一个例子的图。
图4是表示在第一实施方式的工具用PC中显示的设定画面的一个例子的图。
图5是表示在第一实施方式的工具用PC中显示的错误显示的一个例子的图。
图6是表示第一实施方式的对控制器下载硬件分配数据的下载处理的流程的一个例子的图。
图7是表示在第二实施方式的工具用PC中显示的设定画面的一个例子的图。
具体实施方式
以下,使用附图,对本实施方式的工程工具、控制器以及控制系统进行说明。
(第一实施方式)
图1是表示第一实施方式的控制系统的功能构成的一个例子的图。如图1所示,本实施方式的控制系统具有控制器1和工具用PC2(工程工具的一个例子)。而且,控制器1与工具用PC2通过LAN(Local Area Network:局域网)等网络可相互通信地连接。在本实施方式中,将工具用PC2对控制器1发送各种信息的处理称作下载(D/L)。另外,将工具用PC2从控制器1取得各种信息的处理称作上传(U/L)。
工具用PC2是由供应商或者工程师等使用的工程工具,存储POU(ProgramOrganization Unit:程序组织单元)、后述的硬件分配数据(工具数据)等。POU是将用于执行控制系统整体的处理的程序模块化为功能单位的程序。
控制器1被从成套设备内的传感器等输入各种检测结果。另外,控制器1将在工具用PC2中制作出的POU下载。而且,控制器1在该控制器1内的任务上执行POU。由此,控制器1进行基于所输入的检测结果的运算,基于该运算结果,控制成套设备内的阀等控制对象设备。
另外,关于控制器1,该控制器所具有的资源(硬件)被逻辑分割,使多个OS(Operating System)运行,将控制系统所具有的HMI(Human Machine Interface)或其他控制器等、与控制对象设备的控制有关的外部装置集成。HMI使用于控制系统的操作人员远程地监视在控制器1中执行的POU的状态等或者进行变量向控制器1内的写入、POU的变更等各种操作的用途。
图2是表示第一实施方式的控制系统所具有的控制器以及工具用PC的功能构成的一个例子的图。如图2所示,控制器1具有硬件101、宿主OS 102、宿主进程群103、虚拟机104、访客OS 105以及访客进程群106。硬件101是CPU(Central Processing Unit:中央处理单元)等处理器、ROM(Read Only Memory:只读存储器)、RAM(Random Access Memory:随机访问存储器)等存储器,在与工具用PC2等外部装置之间的通信中使用的LAN端口、USB(Universal Serial Bus:通用串行总线)端口、PCI(Peripheral ComponentInterconnect:外围设备互连)插槽等。
在本实施方式中,控制器1是具有多个CPU内核(例如四个CPU内核)作为硬件101、并在该CPU内核上执行软件的多核处理器。具体而言,控制器1通过由多个CPU内核中的某个执行的一个OS(宿主OS 102)使相互隔离的多个容器(container)110、111动作。此时,控制器1通过不同的CPU内核执行各容器110、111。在本实施方式中,如图2所示,控制器1通过不同的CPU内核执行包含宿主OS 102及宿主进程群103的容器110以及包含虚拟机104、访客OS105及访客进程群106的容器111。
宿主OS 102是实现在控制器1中被虚拟化的外部装置(虚拟机104)的OS。宿主进程群103具有在宿主OS 102上动作的应用。虚拟机104在宿主OS 102上实现。在本实施方式中,虚拟机104是使HMI、其他控制器等外部装置的硬件虚拟化而得的机器(machine)。这里,虚拟化包含对外部装置的硬件进行仿真。访客OS 105是在虚拟机104上动作并使外部装置的程序(后述的访客进程群106)动作的OS。访客进程群106通过访客OS 105动作,使用按照后述的硬件分配数据分配给访客OS 105的硬件101,执行与控制对象设备的控制有关的处理(以下,称作控制处理)。这里,在虚拟机104是使HMI虚拟化后的机器的情况下,在控制处理中包含控制系统的监视、与在该控制系统中进行的进程的远程操作有关的处理。另外,在虚拟机104是使其他控制器虚拟化后的机器的情况下,控制处理包含对控制对象设备发送控制数据等、控制该控制对象设备的处理。
在本实施方式中,宿主进程群103具有控制器进程部103a。控制器进程部103a不经由访客OS 105而通过宿主OS 102动作。而且,控制器进程部103a从工具用PC2下载POU并执行该POU。另外,控制器进程部103a从工具用PC2下载硬件分配数据,通过按照该硬件分配数据分配给宿主OS 102的硬件101,执行与控制对象设备的控制相关的控制处理。这里,硬件分配数据是表示分别对宿主OS 102以及访客OS 105进行的硬件101分配的数据。具体而言,在接通了控制器1的电源的情况下,控制器进程部103a使硬件分配数据有效化,从而使用该硬件分配数据所示的被分配给宿主OS 102的硬件101,控制控制对象设备。另外,控制器进程部103a将下载的硬件分配数据保存于硬件101所具有的HDD(Hard Disk Drive:硬盘驱动器)等非易失性的存储部即硬件分配数据存储部101a。
然而,从控制系统中的工程数据的管理上的观点来看,优选的是分配给访客OS105的硬件101也按照硬件分配数据进行管理。因此,在本实施方式中,宿主进程群103除了控制器进程部103a之外还具有访客初始化进程部103b。在接通了控制器100的电源时,访客初始化进程部103b参照存储于硬件分配数据存储部101a的硬件分配数据而向访客OS 105分配硬件101,并且在宿主OS 102上设定使外部装置虚拟化后的虚拟机104。而且,访客初始化进程部103b在虚拟机104上使访客OS 105起动。由此,能够通过与对宿主OS 102分配硬件101相同的方法,对于在虚拟机104上动作的访客OS 105也分配硬件101。其结果,即使在将HMI、其他控制器等外部装置集成到一个控制器1的情况下,也能够根据硬件101的更新而容易地管理对于访客OS 105的硬件101的分配。
然而,在从工具用PC2下载的硬件分配数据中存在错误的情况下,有可能不能按照该下载的硬件分配数据对宿主OS 102以及访客OS 105适当地分配硬件101而给控制器1带来负面影响。例如在按照下载的硬件分配数据对访客OS 105分配的存储器的容量比硬件101所具有的存储器的容量大的情况下,存在控制器1所具有的CPU内核不能执行访客OS105、不能使虚拟机104作为HMI发挥功能的可能性。
因此,在本实施方式中,控制器1具有由硬件101所具有的HDD等非易失性的存储部构成的分配条件存储部101b。分配条件存储部101b存储分配条件数据。分配条件数据是表示分别对于宿主OS 102以及访客OS 105分配硬件101的分配条件的数据。在从工具用PC2下载了硬件分配数据时,控制器进程部103a判断该下载的硬件分配数据是否满足存储于分配条件存储部101b的分配条件数据。并且,在控制器进程部103a判断为下载的硬件分配数据满足分配条件数据的情况下,将该下载的硬件分配数据保存于硬件分配数据存储部101a。另一方面,控制器进程部103a在判断为下载的硬件分配数据不满足分配条件数据的情况下,不将该下载的硬件分配数据保存于硬件分配数据存储部101a。由此,能够防止按照从工具用PC2下载的错误的硬件分配数据对宿主OS 102以及访客OS 105分配硬件101的情况,因此能够减少对控制器1带来负面影响的可能性。另外,在通过工程师对工具用PC2进行的操作而指示了硬件分配数据的上传的情况下,存储于硬件分配数据存储部101a的硬件分配数据通过工具用PC2被上传。
接下来,对工具用PC2的功能构成进行说明。如图2所示,工具用PC2具有工具进程部201、显示部202、分配条件存储部203以及硬件分配数据存储部204。硬件分配数据存储部204按照每个控制器1的机型或者每个控制器1的网络地址(例如IP地址)存储硬件分配数据。分配条件存储部203按照每个控制器1的机型或者每个控制器1的网络地址(例如IP地址)存储分配条件数据。
工具进程部201控制工具用PC2整体。在本实施方式中,工具用PC2具有CPU等处理器、ROM、RAM等存储器等硬件,通过由处理器执行存储于存储器的程序而实现工具进程部201,但并不限定于此,也可以通过电路实现工具进程部201。
具体而言,工具进程部201使显示部202显示用于输入硬件分配数据的设定画面。另外,工具进程部201判断使用设定画面而输入的硬件分配数据是否满足存储于分配条件存储部203的分配条件数据。并且,在工具进程部201判断为硬件分配数据满足分配条件数据的情况下,将该硬件分配数据保存于硬件分配数据存储部204。另一方面,在工具进程部201判断为硬件分配数据不满足分配条件数据的情况下,不将该硬件分配数据保存于硬件分配数据存储部204。由此,能够防止按照下载到控制器1的硬件分配数据对宿主OS 102以及访客OS 105误分配硬件101的情况,因此能够减少给控制器1带来负面影响的可能性。
之后,在由作为工具用PC2的用户的工程师选择了硬件分配数据并且指示了该选择的硬件分配数据的下载的情况下,工具进程部201将存储于硬件分配数据存储部204的硬件分配数据中的该选择出的硬件分配数据下载到控制器1。由此,工程师能够使用工具用PC2管理对在控制器1的虚拟机104上动作的访客OS 105的硬件分配。另外,在由作为工具用PC2的用户的工程师指示了硬件分配数据的上传的情况下,工具进程部201从控制器1上传硬件分配数据,并保存于该上传的硬件分配数据存储部204。
图3是表示基于第一实施方式的工具用PC的硬件分配数据的设定处理的流程的一个例子的图。工具进程部201使显示部202显示用于输入硬件分配数据的设定画面(步骤S301)。在本实施方式中,工具进程部201使显示有默认的硬件分配数据的设定画面显示于显示部202。接下来,工具进程部201从分配条件存储部203读取由工具用PC2的用户(工程师)指示的控制器1的机型或者该控制器1的网络地址的分配条件数据(步骤S302)。另外,工具进程部201从硬件分配数据存储部204读取由工具用PC2的用户指示的控制器1的机型或者该控制器1的网络地址的硬件分配数据(步骤S302)。
接着,工具进程部201对使用设定画面而输入的硬件分配数据和从硬件分配数据存储部204读取的硬件分配数据进行比较,判断硬件分配数据是否被变更(步骤S303)。在本实施方式中,每当在设定画面中硬件分配数据所含的一个项目被输入时,工具进程部201就对使用设定画面而输入的硬件分配数据和读取的硬件分配数据进行比较,判断硬件分配数据是否被变更,但并不限定于此。例如也可以是,在使用了设定画面的所有硬件分配数据的输入完成且被指示了该硬件分配数据的保存的情况下,工具进程部201对使用设定画面而输入的硬件分配数据和读取的硬件分配数据进行比较,判断硬件分配数据是否被变更。
在判断为硬件分配数据未变更的情况下(步骤S303:否),工具进程部201不进行硬件分配数据向硬件分配数据存储部204的保存。另一方面,在判断为硬件分配数据被变更的情况下(步骤S303:是),工具进程部201判断使用设定画面而输入的硬件分配数据是否满足读取的分配条件数据(步骤S304)。
在本实施方式中,分配条件数据如下述的表1所示,包含宿主OS CPU数、访客OSCPU数、系统CPU数、宿主OS存储器、访客OS存储器、总存储器、内置LAN端口、内置USB端口、扩展PCI插槽A、扩展PCI插槽B等项目。
(表1)
下限 | 上限 | |
宿主OS CPU数 | 2 | 4 |
访客OS CPU数 | 0 | 2 |
系统CPU数 | 2 | 4 |
宿主OS存储器(GB) | 4 | 8 |
访客OS存储器(GB) | 4 | 4 |
总存储器(GB) | 8 | 8 |
内置LAN端口 | 0 | 2 |
内置USB端口 | 0 | 2 |
扩展PCI插槽A | 0 | 2 |
扩展PCI插槽B | 0 | 2 |
… |
宿主OS CPU数表示能够分配给宿主OS 102的CPU内核的数量的上限以及下限。访客OS CPU数表示能够分配给访客OS 105的CPU内核的数量的上限以及下限。系统CPU数表示能够分配给宿主OS 102以及访客OS 105的CPU内核的合计的上限以及下限。
宿主OS存储器表示能够分配给宿主OS 102的存储器的容量的上限以及下限。访客OS存储器表示能够分配给访客OS 105的存储器的容量的上限以及下限。总存储器表示能够分配给宿主OS 102以及访客OS 105的存储器的合计的上限以及下限。
内置LAN端口表示向宿主OS 102以及访客OS 105的哪个分配该内置LAN端口。内置USB端口表示向宿主OS 102以及访客OS 105的哪个分配该内置USB端口。扩展PCI插槽A表示向宿主OS 102以及访客OS 105的哪个分配该扩展PCI插槽A。扩展PCI插槽B表示向宿主OS102以及访客OS 105的哪个分配该扩展PCI插槽B。这里,“0”表示向宿主OS 102以及访客OS105这两方分配硬件101(例如内置LAN端口)。另外,“1”表示向宿主OS 102分配硬件101。另外,“2”表示向访客OS 105分配硬件101。
在本实施方式中,工具进程部201确定读取的分配条件数据中的、与在设定画面中输入的硬件分配数据的项目对应的分配条件数据。并且,工具进程部201比较在设定画面中输入的硬件分配数据和所确定的分配条件数据,判断该输入的硬件分配数据是否满足分配条件。
例如在设定画面中输入了向宿主OS 102分配的CPU内核的数量的情况下,工具进程部201判断该输入的CPU内核的数量是否满足宿主OS CPU数所示的上限以及下限。另外,在设定画面中输入了向宿主OS 102以及访客OS 105的至少一方分配的CPU内核的数量的情况下,工具进程部201判断向宿主OS 102以及访客OS 105分配的CPU内核的合计是否满足系统CPU数所示的上限以及下限。
在判断为使用设定画面而输入的硬件分配数据满足分配条件数据的情况下(步骤S304:是),工具进程部20将该输入的硬件分配数据保存于硬件分配数据存储部204(步骤S305)。之后,工具进程部201根据工具用PC2的用户的操作,将存储于硬件分配数据存储部204的硬件分配数据下载到控制器1。
在本实施方式中,工具进程部201将下述的表2所示的数据构成的硬件分配数据下载到控制器1。具体而言,工具进程部201如表2所示,将硬件分配数据的每个项目的硬件分配数据(例如数值)下载到控制器1。
(表2)
硬件分配数据 | |
宿主OS CPU数 | 2 |
访客OS CPU数 | 0 |
宿主OS存储器(GB) | 4 |
访客OS存储器(GB) | 4 |
内置LAN端口 | 0 |
内置USB端口 | 2 |
扩展PCI插槽A | 1 |
扩展PCI插槽B | 2 |
… |
另一方面,在判断为使用设定画面而输入的硬件分配数据不满足分配条件数据的情况下(步骤S304:否),工具进程部201不将使用设定画面而输入的硬件分配数据保存于硬件分配数据存储部204。而且,工具进程部201使错误显示显示于显示部202,所述错误显示表示输入的硬件分配数据不满足分配条件数据(步骤S306)。
图4是表示在第一实施方式的工具用PC中显示的设定画面的一个例子的图。如图4所示,工具进程部201使显示部202显示包含控制器信息401、硬件分配数据设定栏402、下载按钮403以及上传按钮404的设定画面G。在本实施方式中,工具进程部201按照每个由工具用PC2的用户(工程师)指示的控制器1显示设定画面G。
控制器信息401是控制器1的机型等能够识别将硬件分配数据变更的控制器1的信息。下载按钮403是指示向控制器1下载使用设定画面G而输入的硬件分配数据的按钮。上传按钮404是指示从控制器1上传硬件分配数据的按钮。
硬件分配数据设定栏402是用于输入硬件分配数据的接口。具体而言,硬件分配数据设定栏402按照硬件分配数据的每个项目(例如宿主OS CPU数、访客OS CPU数、宿主OS存储器、访客OS存储器、内置LAN端口、内置USB端口、扩展PCI插槽A、扩展PCI插槽B),显示与该项目对应的硬件分配数据。在硬件分配数据设定栏402中显示通过工具用PC2所具有的操作部而输入的硬件分配数据(例如数值)、或从显示于该硬件分配数据设定栏402的下拉菜单中选择出的硬件分配数据。在显示于硬件分配数据设定栏402的下拉菜单中仅显示能够选择作为硬件分配数据的硬件分配数据的候选(换言之是满足分配条件数据的硬件分配数据)。另外,在最初显示了设定画面G时(即,硬件分配数据设定栏402未被输入硬件分配数据的情况下),在硬件分配数据设定栏402显示硬件分配数据的前次值或者保存值。这里,前次值是前次输入的硬件分配数据。另外,保存值是存储于硬件分配数据存储部204的硬件分配数据(换言之是已保存于硬件分配数据存储部204的硬件分配数据)。
在本实施方式中,硬件分配数据设定栏402的硬件分配数据的项目中的内置LAN端口、内置USB端口、扩展PCI插槽A以及扩展PCI插槽B设为仅从下拉菜单输入硬件分配数据。而且,在显示于该内置LAN端口、内置USB端口、扩展PCI插槽A以及扩展PCI插槽B的下拉菜单中,显示将能够选择作为硬件分配数据的硬件分配数据的候选转换为工具用PC2的用户容易识别的信息的转换信息。
例如在能够选择作为内置LAN端口的硬件分配数据的硬件分配数据的候选是“0”~“2”的整数的情况下,将“0”转换显示为“宿主·访客共享”,将“1”转换显示为“宿主专用”,将“2”转换显示为“访客专用”。
在本实施方式中,设为工具用PC2的用户从显示于硬件分配数据设定栏402的下拉菜单选择硬件分配数据,但并不限定于此,也可以设为能够对硬件分配数据设定栏402自由地输入任意的硬件分配数据。
每当使用硬件分配数据设定栏402输入硬件分配数据的一个项目时,工具进程部201就判断该输入的硬件分配数据是否满足存储于分配条件存储部203的分配条件数据。而且,在判断为输入的硬件分配数据不满足分配条件数据的情况下,工具进程部201不使该输入的硬件分配数据反映于硬件分配数据设定栏402,而是使硬件分配数据的前次值或者保存值显示于硬件分配数据设定栏402。另一方面,在判断为输入的硬件分配数据满足分配条件数据的情况下,工具进程部201使输入的硬件分配数据显示于硬件分配数据设定栏402。
在本实施方式中,每当硬件分配数据的一个项目被输入时,工具进程部201判断该输入的硬件分配数据是否满足分配条件数据,但并不限定于此,也可以在硬件分配数据的所有项目被输入之后、或者指示了硬件分配数据向硬件分配数据存储部204的保存的情况下,判断该输入的硬件分配数据是否满足分配条件。
图5是表示在第一实施方式的工具用PC中显示的错误显示的一个例子的图。工具进程部201在输入的硬件分配数据不满足分配条件数据的情况下,如图5所示那样使错误显示EG显示于显示部202。错误显示EG中包含被输入的硬件分配数据的项目之中不满足分配条件数据的硬件分配数据的项目的名称501(例如宿主OS CPU数异常)以及该项目的分配条件数据502。
图6是表示第一实施方式的对控制器下载硬件分配数据的下载处理的流程的一个例子的图。控制器1的控制器进程部103a接收从工具用PC2下载的硬件分配数据(步骤S601)。另外,控制器进程部103a从分配条件存储部101b读取分配条件数据(步骤S602)。
接着,控制器进程部103a判断从工具用PC2下载的硬件分配数据是否满足读取的分配条件数据(步骤S603)。在判断为下载的硬件分配数据满足分配条件数据的情况下(步骤S603:是),控制器进程部103a将下载的硬件分配数据保存于硬件分配数据存储部101a(步骤S604)。
另一方面,在判断为下载的硬件分配数据不满足分配条件数据的情况下(步骤S603:否),控制器进程部103a不将下载的硬件分配数据保存于硬件分配数据存储部101a。而且,控制器进程部103a将通知所下载的硬件分配数据是非法的数据的错误应答向工具用PC2发送(步骤S605)。在本实施方式中,在所下载的硬件分配数据不满足分配条件数据的情况下,控制器进程部103a将错误应答发送到工具用PC2,但也可以不向工具用PC2发送错误应答。
如此,根据第一实施方式的控制系统,能够防止按照错误的硬件分配数据对宿主OS 102以及访客OS 105分配硬件101,因此能够减少给控制器1带来负面影响的可能性。
(第二实施方式)
本实施方式是在工具用PC中使包含从控制器上传的硬件分配数据的设定画面显示于显示部的例子。在以下的说明中,对于与第一实施方式相同的构成省略说明。
图7是表示在第二实施方式的工具用PC中显示的设定画面的一个例子的图。在本实施方式中,工具进程部201使显示部202显示包含从控制器1上传的硬件分配数据的设定画面。具体而言,如图7所示,工具进程部201使显示部202显示除了控制器信息401、硬件分配数据设定栏402、下载按钮403以及上传按钮404之外还包含上传完毕硬件分配数据栏701的设定画面G。上传完毕硬件分配数据栏701将从控制器1上传的硬件分配数据按照该硬件分配数据的每个项目进行显示。
如此,根据第二实施方式的控制系统,能够一边确认从控制器1上传的硬件分配数据,一边对硬件分配数据设定栏402输入硬件分配数据,因此,能够容易地进行对宿主OS102以及访客OS 105分配硬件101的分配变更。另外,显示于上传完毕硬件分配数据栏701的硬件分配数据被设为不能编辑。
如以上说明那样,根据第一、二实施方式,能够防止按照错误的硬件分配数据对宿主OS 102以及访客OS 105分配硬件101,因此能够减少给控制器1带来负面影响的可能性。
另外,由本实施方式的控制器1执行的程序被预先组装于ROM等而提供。也可以构成为,将由本实施方式的控制器1执行的程序以能够安装的形式或者能够执行形式的文件记录于CD-ROM、软盘(FD)、CD-R、DVD(Digital Versatile Disk:数字通用光盘)等可由计算机读取的记录介质中加以提供。
而且,也可以构成为,将由本实施方式的控制器1执行的程序储存于连接于因特网等网络的计算机上,通过经由网络下载来加以提供。另外,也可以构成为,将由本实施方式的控制器1执行的程序经由因特网等网络提供或者分发。
由本实施方式的控制器1执行的程序为包括上述各部分(宿主OS 102、宿主进程群103、虚拟机104、访客OS 105、访客进程群106)的模块构成,作为实际的硬件,通过CPU从上述ROM读出并执行程序而将上述各部分装载到主存储装置上,在主存储装置上生成宿主OS102、宿主进程群103、虚拟机104、访客OS 105、访客进程群106。
虽然说明了本发明的几个实施方式,但这些实施方式是作为例子而提出的,并不意图限定发明的范围。这些新的实施方式能够以其他各种方式实施,在不脱离发明的主旨的范围内,能够进行各种省略、替换、变更。这些实施方式、其变形包含在发明的范围、主旨中,并且包含在权利要求书所记载的发明与其等效的范围中。
Claims (3)
1.一种工程工具,具备:
硬件分配数据存储部,存储硬件分配数据,该硬件分配数据表示对于在控制器中执行的宿主操作系统(Operating System)以及在该宿主操作系统上实现的虚拟机上动作的访客操作系统分别进行的硬件的分配,并且下载到所述控制器;
分配条件存储部,存储对所述宿主操作系统以及所述访客操作系统分配所述硬件的分配条件;以及
工具进程部,使显示部显示用来输入所述硬件分配数据的设定画面,在判断为使用所述设定画面而输入的所述硬件分配数据满足存储于所述分配条件存储部的所述分配条件的情况下,将所述输入的硬件分配数据保存于所述硬件分配数据存储部,在判断为所述输入的硬件分配数据不满足所述分配条件的情况下,不将所述输入的硬件分配数据保存于所述硬件分配数据存储部。
2.一种控制器,具备:
硬件;
宿主操作系统;
在所述宿主操作系统上实现的虚拟机;
在所述虚拟机上动作的访客操作系统;
硬件分配数据存储部;
分配条件存储部,存储对所述宿主操作系统以及所述访客操作系统分配所述硬件的分配条件;
控制器进程部,从工程工具接收表示对于所述宿主操作系统以及所述访客操作系统分别分配所述硬件的硬件分配数据,在判断为所述硬件分配数据满足存储于所述分配条件存储部的所述分配条件的情况下,将所述硬件分配数据保存于所述硬件分配数据存储部,在判断为所述硬件分配数据不满足所述分配条件的情况下,不将所述硬件分配数据保存于所述硬件分配数据存储部;
访客进程部,通过所述访客操作系统而动作,使用按照存储于所述硬件分配数据存储部的所述硬件分配数据而分配给所述访客操作系统的所述硬件,执行外部的控制对象设备的控制处理;以及
宿主进程部,通过所述宿主操作系统而动作,使用按照存储于所述硬件分配数据存储部的所述硬件分配数据而分配给所述宿主操作系统的所述硬件,执行所述控制对象设备的控制处理。
3.一种控制系统,具有工程工具和控制器,
所述工程工具具备:
工具侧硬件分配数据存储部,存储硬件分配数据,该硬件分配数据表示对于在所述控制器中执行的宿主操作系统以及在该宿主操作系统上实现的虚拟机上动作的访客操作系统分别进行的硬件的分配,并且下载到所述控制器;
工具侧分配条件存储部,存储对所述宿主操作系统以及所述访客操作系统分配所述硬件的分配条件;以及
工具进程部,使显示部显示用来输入所述硬件分配数据的设定画面,在判断为使用所述设定画面而输入的所述硬件分配数据满足存储于所述工具侧分配条件存储部的所述分配条件的情况下,将所述输入的硬件分配数据保存于所述工具侧硬件分配数据存储部,在判断为所述输入的硬件分配数据不满足存储于所述工具侧分配条件存储部的所述分配条件的情况下,不将所述输入的硬件分配数据保存于所述工具侧硬件分配数据存储部,
所述控制器具备:
所述硬件;
所述宿主操作系统;
在所述宿主操作系统上实现的虚拟机;
在所述虚拟机上动作的所述访客操作系统;
控制器侧硬件分配数据存储部;
控制器侧分配条件存储部,存储所述分配条件;
控制器进程部,从所述工程工具接收所述硬件分配数据,在判断为所述接收的硬件分配数据满足存储于所述控制器侧分配条件存储部的所述分配条件的情况下,将所述接收的硬件分配数据保存于所述控制器侧硬件分配数据存储部,在判断为所述接收的硬件分配数据不满足存储于所述控制器侧分配条件存储部的所述分配条件的情况下,不将所述接收的硬件分配数据保存于所述控制器侧硬件分配数据存储部;
访客进程部,通过所述访客操作系统而动作,使用按照存储于所述控制器侧硬件分配数据存储部的所述硬件分配数据而分配给所述访客操作系统的所述硬件,执行外部的控制对象设备的控制处理;以及
宿主进程部,通过所述宿主操作系统而动作,使用按照存储于所述控制器侧硬件分配数据存储部的所述硬件分配数据而分配给所述宿主操作系统的所述硬件,执行所述控制对象设备的控制处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-036820 | 2018-03-01 | ||
JP2018036820A JP6496058B1 (ja) | 2018-03-01 | 2018-03-01 | エンジニアリングツール、コントローラ、および制御システム |
PCT/JP2018/033696 WO2019167316A1 (ja) | 2018-03-01 | 2018-09-11 | エンジニアリングツール、コントローラ、および制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111758089A true CN111758089A (zh) | 2020-10-09 |
CN111758089B CN111758089B (zh) | 2023-12-22 |
Family
ID=65999129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880090173.3A Active CN111758089B (zh) | 2018-03-01 | 2018-09-11 | 工程工具、控制器以及控制系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11392412B2 (zh) |
JP (1) | JP6496058B1 (zh) |
CN (1) | CN111758089B (zh) |
WO (1) | WO2019167316A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021131630A (ja) * | 2020-02-18 | 2021-09-09 | 株式会社東芝 | 監視制御装置およびクライアントpc |
US11394614B2 (en) * | 2020-05-05 | 2022-07-19 | Arista Networks, Inc. | Network device supporting multiple operating systems to enable optimized use of network device hardware |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916855A (zh) * | 2005-08-19 | 2007-02-21 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件配置方法 |
JP2012003302A (ja) * | 2010-06-14 | 2012-01-05 | Mitsubishi Electric Corp | ゲストos制御システム |
CN103324516A (zh) * | 2013-07-04 | 2013-09-25 | 曙光信息产业(北京)有限公司 | 基于虚拟化驱动的硬件管理方法和装置 |
JP2014215765A (ja) * | 2013-04-24 | 2014-11-17 | 株式会社三菱東京Ufj銀行 | 制御装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762999B2 (en) | 2007-09-27 | 2014-06-24 | Oracle America, Inc. | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement |
US8762508B2 (en) * | 2010-03-11 | 2014-06-24 | Microsoft Corporation | Effectively managing configuration drift |
JP2014038364A (ja) | 2010-10-27 | 2014-02-27 | Hitachi Ltd | リソース管理サーバ、リソース管理方法及びリソース管理プログラム |
JP2015176340A (ja) | 2014-03-14 | 2015-10-05 | オムロン株式会社 | プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法 |
JP2016042249A (ja) * | 2014-08-15 | 2016-03-31 | 富士通株式会社 | 設定検証方法、設定検証プログラムおよび設定検証装置 |
WO2016189689A1 (ja) | 2015-05-27 | 2016-12-01 | 三菱電機株式会社 | プログラム生成装置、プログラム生成方法及びプログラム生成プログラム |
JP6776436B2 (ja) * | 2017-02-24 | 2020-10-28 | 株式会社東芝 | 制御装置 |
-
2018
- 2018-03-01 JP JP2018036820A patent/JP6496058B1/ja active Active
- 2018-09-11 CN CN201880090173.3A patent/CN111758089B/zh active Active
- 2018-09-11 US US16/976,589 patent/US11392412B2/en active Active
- 2018-09-11 WO PCT/JP2018/033696 patent/WO2019167316A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916855A (zh) * | 2005-08-19 | 2007-02-21 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件配置方法 |
JP2012003302A (ja) * | 2010-06-14 | 2012-01-05 | Mitsubishi Electric Corp | ゲストos制御システム |
JP2014215765A (ja) * | 2013-04-24 | 2014-11-17 | 株式会社三菱東京Ufj銀行 | 制御装置 |
CN103324516A (zh) * | 2013-07-04 | 2013-09-25 | 曙光信息产业(北京)有限公司 | 基于虚拟化驱动的硬件管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
史大光, 刘翠梅, 武洪恩: "CNC内嵌型软PLC逻辑虚拟机功能模块实现方法的研究", 机械与电子, no. 09 * |
Also Published As
Publication number | Publication date |
---|---|
US20210004254A1 (en) | 2021-01-07 |
US11392412B2 (en) | 2022-07-19 |
CN111758089B (zh) | 2023-12-22 |
JP2019152996A (ja) | 2019-09-12 |
WO2019167316A1 (ja) | 2019-09-06 |
JP6496058B1 (ja) | 2019-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522088A (zh) | 一种虚拟机迁移方法及装置 | |
JP5491675B2 (ja) | 情報処理装置及び情報処理装置制御方法 | |
KR101744689B1 (ko) | 가상화 기능을 이용한 전투관리체계 및 그 운용방법 | |
US11334379B2 (en) | Control device | |
EP3637252A1 (en) | Virtual machine deployment method and omm virtual machine | |
CN111758089B (zh) | 工程工具、控制器以及控制系统 | |
US10956238B2 (en) | Programmable controller, management device, and control system | |
EP1958075B1 (en) | Method and apparatus for assigning devices to a partition | |
JP6307962B2 (ja) | 情報処理システム、情報処理方法、及び、情報処理プログラム | |
JP6051233B2 (ja) | 計算機システム、管理計算機及び管理方法 | |
JP7073654B2 (ja) | 情報処理システム、情報処理装置およびプログラム | |
KR100759816B1 (ko) | 임베디드 리눅스 커널 및 응용 프로그램의 통합 설정을위한 웹 기반의 개발환경 제공 시스템 및 방법 | |
JP5391152B2 (ja) | サーバシステム、及び、仮想サーバの移行方式を選択する方法 | |
JP6833649B2 (ja) | プログラマブルコントローラ及びコントロールシステム | |
US20120284711A1 (en) | Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment | |
CN109962788A (zh) | 多控制器调度方法、装置和系统及计算机可读存储介质 | |
WO2013114829A1 (ja) | 情報処理システム、データセンタ、システム移行方法、及び、プログラム | |
JP2023119717A (ja) | 制御装置及びプログラム | |
CN117608749A (zh) | 虚拟机迁移方法、系统、宿主机及计算机可读存储介质 | |
JP6459696B2 (ja) | 切り替え装置、切り替え方法、切り替えプログラム、仮想情報管理装置、及び、情報処理装置 | |
JP2020067675A (ja) | 環境構築システム、管理装置、環境構築方法、およびプログラム | |
CN111819503A (zh) | 可编程逻辑控制器的cpu单元、可编程逻辑控制器、方法、计算机以及计算机程序 | |
KR20170130044A (ko) | 가상 머신을 이용한 IoT 기기 제어 장치 및 그 방법 |
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 |