CN109791481B - 应用开发环境提供***、方法、信息处理装置及存储介质 - Google Patents
应用开发环境提供***、方法、信息处理装置及存储介质 Download PDFInfo
- Publication number
- CN109791481B CN109791481B CN201780059784.7A CN201780059784A CN109791481B CN 109791481 B CN109791481 B CN 109791481B CN 201780059784 A CN201780059784 A CN 201780059784A CN 109791481 B CN109791481 B CN 109791481B
- Authority
- CN
- China
- Prior art keywords
- network
- application
- program
- executed
- development environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
在经由网络而提供应用程序的开发环境的应用开发环境提供***中,在所述网络中包含:第1网络,其收容至少1个装置,与所述装置进行通信连接;以及第2网络,其与所述第1网络进行通信连接,该应用开发环境提供***具有程序开发部,该程序开发部将所述应用程序所包含的处理基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理,生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
Description
技术领域
本发明涉及应用开发环境提供***、应用开发环境提供方法、信息处理装置及计算机可读取的非易失性的存储介质。
背景技术
在车间、工厂等中,构建有将现场仪器(测定器、操作器)和对它们进行控制的控制装置经由通信单元而连接的分散控制***(DCS:Distributed Control System),实现了高级的自动操作。在实现如上所述的高级的自动操作的车间中,除了分散控制***以外,大多构建有制造执行***(MES:Manufacturing Execution System)、车间信息管理***(PIMS:Plant Information Management System)、基干业务***(ERP:Enterprise ResourcePlanning)等各种***(工程设计***)。
这些工程设计***,例如几乎是使用PLC(Programmable Logic Controller)、FA(Factory Automation)计算机、通用台式计算机、服务器装置等在车间设置的装置而实现的。近年来,由于通信技术的发展,这些工程设计***的一部分是通过经由网络的云计算而实现的。
在这里,云计算例如可以与在通过下面的URL(Uniform Resource Locator)确定的文档中记载的定义(由美国国立标准技术研究所推荐的定义)一致。
http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
https://www.ipa.go.jp/files/000025366.pdf
在下面的专利文献1中,公开了工业自动化及生产***用的云计算。在下面的专利文献2中,公开了通过云计算提供用于对在云计算环境中使用的应用程序进行开发的开发环境的技术的一个例子。
专利文献1:日本特表2012-523038号公报
专利文献2:日本专利第5792891号公报
发明内容
例如,在工业自动化及生产***等中,有时如PID控制(Proportional-Integral-Differential Controller)等伴有反馈的处理那样,包含有针对由传感器等测定出的数据的输入而要求立即地实施执行处理这种情况的处理。在如上所述的处理由上述的专利文献1等公开的云计算执行的情况下,由于在数据通信中产生延迟(数据到达时间的延迟)、波动(多个数据通信的到达时间的波动)等,因此有时不能正常地进行控制等的处理。
在上述的专利文献2等中公开的提供开发环境的***,被利用于各种各样的企业(承租方)。例如,在进行在车间中实现的工程设计***的开发的情况下,提供开发环境的***由顾客(例如,订购者)、工程设计公司(例如,订单接收者)及第三方供应商(第三者)利用。
如上所述的由各种承租方利用的***中,从安全的观点出发,必须将在车间中使用的设备的存在通知给其它承租方。即使是同一承租方,有时希望对来自其它部门(站点)或者其它公司员工(用户)的访问进行限制。在如上所述的由各种承租方利用的***中,从安全性的观点出发,有时必须设为除了特定的用途以外不得使用在车间中使用的设备。
如上述所示,在需要与应用程序所包含的各个处理内容相应地考虑执行处理的迅速性、防御及安全性等要素的情况下,需要基于该要素对处理内容进行分类,生成针对分类出的每个处理内容而分别分割有程序执行文件的应用程序。为了生成如上所述的应用程序,对多个应用程序各自单独地进行设计·创建,各自单独地进行编译,由此需要生成各个程序执行文件。
(1)作为本发明的一个方式,一种应用开发环境提供***,其经由网络而提供应用程序的开发环境,在该应用开发环境提供***中,在所述网络中包含:第1网络,其收容至少1个装置,与所述装置进行通信连接;以及第2网络,其与所述第1网络进行通信连接,该应用开发环境提供***具有程序开发部,该程序开发部将所述应用程序所包含的处理基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理,生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
(2)作为本发明的一个方式,在(1)中记载的应用开发环境提供***中,所述程序开发部在由所述应用程序控制的所述装置的控制周期的长度小于或等于规定的长度的情况下,将所述处理分类为在所述第1网络中执行的处理,在由所述应用程序控制的所述装置的控制周期比规定的控制周期长的情况下,将所述处理分类为在所述第2网络中执行的处理。
(3)作为本发明的一个方式,在(1)中记载的应用开发环境提供***中,所述程序开发部基于表示由所述应用程序控制的所述装置的位置的位置信息,将所述处理分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理。
(4)作为本发明的一个方式,在(1)中记载的应用开发环境提供***中,所述程序开发部基于在所述应用程序中预先定义出的、表示是在所述第1网络或者所述第2网络的哪一个中执行的处理的信息,将所述处理分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理。
(5)作为本发明的一个方式,在(1)中记载的应用开发环境提供***中,所述程序开发部在参照从由所述应用程序控制的所述装置向所述第1网络送出的通信内容而判断为需要执行所述处理的情况下,将所述处理分类为在所述第1网络中执行的处理,在参照从所述装置向所述第1网络送出的通信内容而判断为不需要执行所述处理的情况下,将所述处理分类为在所述第2网络中执行的处理。
(6)作为本发明的一个方式,在(1)至(5)中任一项记载的应用开发环境提供***中,所述程序开发部生成所述第1程序执行文件和所述第2程序执行文件,该第1程序执行文件指定有:第1输出目标处理识别信息,其对将通过在所述第1网络中执行的数据输出处理而输出的数据进行输入的在所述第2网络中执行的数据输入处理进行识别;以及第1输入源处理识别信息,其对将通过在所述第1网络中执行的数据输入处理而输入的数据进行输出的在所述第2网络中执行的数据输出处理进行识别,该第2程序执行文件指定有:第2输出目标处理识别信息,其对将通过在所述第2网络中执行的数据输出处理而输出的数据进行输入的在所述第1网络中执行的数据输入处理进行识别;以及第2输入源处理识别信息,其对将通过在所述第2网络中执行的数据输入处理而输入的数据进行输出的在所述第1网络中执行的数据输出处理进行识别。
(7)作为本发明的一个方式,在(1)至(6)中任一项记载的应用开发环境提供***中,在所述第1网络收容至少大于或等于2个装置的情况下,所述程序开发部生成所述第1程序执行文件,该第1程序执行文件用于与所述至少大于或等于2个装置的负载状况相应地使所述至少大于或等于2个装置进行分散处理。
(8)作为本发明的一个方式,在(1)至(7)中任一项记载的应用开发环境提供***中,所述第1网络是作为网关起作用的脊柱节点,所述第2网络是提供云计算环境的社交化节点。
(9)作为本发明的一个方式,一种应用开发环境提供方法,其是经由网络而提供应用程序的开发环境的由计算机实现的应用开发环境提供方法,在该应用开发环境提供方法中,在所述网络中包含:第1网络,其收容至少1个装置,与所述装置进行通信连接;以及第2网络,其与所述第1网络进行通信连接,程序开发部将所述应用程序所包含的处理基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理,所述程序开发部生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
(10)作为本发明的一个方式,一种计算机可读取的非易失性的存储介质,其是对由计算机执行的大于或等于一个程序进行存储的计算机可读取的非易失性的存储介质,通过所述大于或等于一个程序,经由包含第1网络和第2网络在内的网络而提供应用程序的开发环境,该第1网络收容至少1个装置,与所述装置进行通信连接,该第2网络与所述第1网络进行通信连接,将所述应用程序所包含的处理基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理,生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
(11)作为本发明的一个方式,一种信息处理装置,其是经由网络而提供应用程序的开发环境的应用开发环境提供***中的信息处理装置,在该信息处理装置中,在所述网络中包含:第1网络,其收容至少1个装置,与所述装置进行通信连接;以及第2网络,其与所述第1网络进行通信连接,使基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理的所述应用程序所包含的处理中的、执行在所述第1网络中执行的处理的第1程序执行文件与执行在所述第2网络中执行的处理的第2程序执行文件联动地执行。
(12)作为本发明的一个方式,在(11)中记载的信息处理装置中,所述信息处理装置在由所述应用程序控制的所述装置的控制周期的长度小于或等于规定的长度的情况下,执行作为在所述第1网络中执行的处理而分类并生成的所述第1程序执行文件。
(13)作为本发明的一个方式,在(11)中记载的信息处理装置中,所述信息处理装置基于表示由所述应用程序控制的所述装置的位置的位置信息,执行被分类为在所述第1网络中执行的处理并生成的所述第1程序执行文件。
(14)作为本发明的一个方式,在(11)中记载的信息处理装置中,所述信息处理装置基于在所述应用程序中预先定义出的、表示是在所述第1网络或者所述第2网络的哪一个中执行的处理的信息,执行被分类为在所述第1网络中执行的处理并生成的所述第1程序执行文件。
(15)作为本发明的一个方式,在(11)中记载的信息处理装置中,在参照从由所述应用程序控制的所述装置向所述第1网络送出的通信内容而判断为需要执行所述处理的情况下,将所述处理分类为在所述第1网络中执行的处理,在参照从所述装置向所述第1网络送出的通信内容而判断为不需要执行所述处理的情况下,将所述处理分类为在所述第2网络中执行的处理,所述信息处理装置执行被分类为在所述第1网络中执行的处理并生成的所述第1程序执行文件。
(16)作为本发明的一个方式,在(11)至(15)中任一项记载的信息处理装置中,所述信息处理装置执行所述第1程序执行文件,该第1程序执行文件指定有:输出目标处理识别信息,其对将通过在所述第1网络中执行的数据输出处理而输出的数据进行输入的在所述第2网络中执行的数据输入处理进行识别;以及输入源处理识别信息,其对将通过在所述第1网络中执行的数据输入处理而输入的数据进行输出的在所述第2网络中执行的数据输出处理进行识别。
(17)作为本发明的一个方式,在(11)至(16)中任一项记载的信息处理装置中,在所述第1网络收容至少大于或等于2个装置的情况下,所述信息处理装置执行所述第1程序执行文件,该第1程序执行文件用于与所述至少大于或等于2个装置的负载状况相应地使所述至少大于或等于2个装置进行分散处理。
(18)作为本发明的一个方式,在(11)至(17)中任一项记载的信息处理装置中,所述第1网络是作为网关起作用的脊柱节点,所述第2网络是提供云计算环境的社交化节点。
(19)作为本发明的一个方式,一种应用开发环境提供方法,其是经由网络而提供应用程序的开发环境的由计算机实现的应用开发环境提供方法,在该应用开发环境提供方法中,在所述网络中包含:第1网络,其收容至少1个装置,与所述装置进行通信连接;以及第2网络,其与所述第1网络进行通信连接,使基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理的所述应用程序所包含的处理中的、执行在所述第1网络中执行的处理的第1程序执行文件与执行在所述第2网络中执行的处理的第2程序执行文件联动地执行。
(20)作为本发明的一个方式,一种计算机可读取的非易失性的存储介质,其是对由计算机执行的大于或等于一个程序进行存储的计算机可读取的非易失性的存储介质,通过所述大于或等于一个程序,经由包含第1网络和第2网络在内的网络而提供应用程序的开发环境,该第1网络收容至少1个装置,与所述装置进行通信连接,该第2网络与所述第1网络进行通信连接,使基于规定的判定条件而分类为在所述第1网络中执行的处理和在所述第2网络中执行的处理的所述应用程序所包含的处理中的、执行在所述第1网络中执行的处理的第1程序执行文件与执行在所述第2网络中执行的处理的第2程序执行文件联动地执行。
本发明的更多的特征及方式,通过参照附图,根据以下所述的实施方式的详细说明而明确可知。
发明的效果
根据本发明,能够实现程序执行文件被分割为多个的应用程序的高效的开发。
附图说明
图1是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图2是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图3A是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图3B是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图4是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图5A是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图5B是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图6是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图7是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
图8是表示本发明的实施方式所涉及的应用开发环境提供***的***概要的概略图。
图9是在本发明的实施方式所涉及的应用开发环境提供***安装的Co-innovation空间的功能结构图。
图10是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的显示的一个例子的图。
图11是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的显示的一个例子的图。
图12是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的显示的一个例子的图。
图13是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的分割编译的概要的概略图。
图14是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的分割编译的概要的概略图。
图15是表示在本发明的实施方式所涉及的应用开发环境提供***安装的Co-innovation空间的动作的一个例子的流程图。
图16是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的分割编译的动作的一个例子的流程图。
具体实施方式
参照优选的实施方式对本发明的实施方式进行说明。本领域技术人员能够使用本发明的示教而实现本实施方式的很多替代方法,本发明并不限定于在这里说明的优选的本实施方式。
本发明的一个方式,提供能够实现在云计算环境中使用的分割有程序执行文件的应用程序的高效的开发的应用开发环境提供***、应用开发环境提供方法、信息处理装置及计算机可读取的非易失性的存储介质。
[实施方式]
本发明涉及在云计算环境中,将从与通信网络连接的传感器、设备及***等发送的数据作为输入值而进行运算处理等的***(下面,称为应用开发环境提供***)。该***是用于提供为了进行IoT(Internet Of Things:物体的互联网)或者IIoT(IndustrialInternet Of Things:工业用IoT)的基本软件、应用及解决方案等的程序开发的开发环境的体系结构、及用于实现该体系结构的***。
下面,将基本软件、应用及解决方案等统称而称为应用。另外,将基本软件、应用及解决方案等程序统称而称为应用程序。
在下面的说明中,应用开发环境是指在云计算环境中,将从与通信网络连接的传感器、设备及***等发送的数据作为输入值而进行运算处理等的用于进行IoT或者IIoT的基本软件、应用及解决方案等的程序开发的开发环境。
在下面的说明中,应用执行环境是指在云计算环境中,将从与通信网络连接的传感器、设备及***等发送的数据作为输入值而进行运算处理等的、用于执行IoT或者IIoT的基本软件、应用及解决方案等程序的环境。
(应用开发的整体的流程)
为了使与后面记述的本实施方式所涉及的应用开发环境提供***相关的功能结构及动作等的说明容易理解,首先,一边示出具体的实施例、一边对利用了该应用开发环境提供***的应用开发的整体的流程进行说明。
图1至图7是表示通过本实施方式所涉及的应用开发环境提供***实现的应用开发的一个例子的概略图。
在以下进行说明的实施例中,如图1所示,说明为了对从配管排气的气体的温度进行调整,对能力不同的6台冷冻机的运转进行控制的情况。目的在于,为了将配管中的排气气体温度(输出1)保持为小于或等于恒定值,与吸气气体温度(输入1)的变动相应地,将6台冷冻机各自的开关的接通/断开(输入7~8)适当切换,由此将消耗电力(输出2)最小化。
以往,根据操作者的勘察、经验而对各冷冻机的开关的接通(ON)/断开(OFF)进行了切换。但是,根据本实施方式所涉及的应用开发环境提供***,找出效率良好的冷冻机的运转控制模式,对加入了该运转控制模式的自动化算法的应用进行开发。
利用应用开发环境提供***开发应用的开发者,在该应用开发环境提供***的显示部所显示的应用的设计画面中,首先,对用于进行多输入2输出的控制的表示分析元件的开发构件进行配置。该分析元件在图2中是记载为“Nx2”的开发构件。
接下来,开发者打开历史记录部(储存有履历信息、实绩信息的数据库),将表示“吸气气体温度”、“冷冻机1ON/OFF”、“冷冻机2ON/OFF”、“冷冻机3ON/OFF”、“冷冻机4ON/OFF”、“冷冻机5ON/OFF”、及“冷冻机6ON/OFF”的7个输入数据项目的开发构件配置于设计画面。然后,如图2所示,开发者将表示这7个输入数据项目的开发构件分别与“Nx2”的分析元件连接。
接下来,开发者从历史记录部,将表示“排气气体温度”及“消耗电力”的2个输出数据项目的开发构件配置于设计画面。然后,如图2所示,开发者将表示这2个输出数据项目的开发构件分别与“Nx2”的分析元件连接。此时,开发者对过去2年期间的过去数据进行指定而作为在分析中使用的“排气气体温度”及“消耗电力”的过去数据。
如果开发者在设计画面中显示出“Nx2”的分析元件的详细画面,则例如对如图3A及图3B所示这样的线图形进行显示。在图3A所示的线图形中,纵轴表示排气气体温度,横轴表示过去的时间轴。在图3B所示的线图形中,纵轴表示消耗电力,横轴表示过去的时间轴。
在图3A所示的图形中,示出了存在排气气体温度暂时升高的(成为异常值的)时间段的情况,相当于该时间段的部位以带状显示出。开发者针对顾客(例如,对配管中的排气气体温度进行控制的企业、且对开发者委托了应用的开发的企业)进行询问。应用开发环境提供***作为与顾客的交流单元,具有聊天功能、电子邮件收发功能及通话功能等。开发者首先通过通话功能对顾客进行询问。
通过与顾客的通话,开发者知晓在排气气体温度暂时升高的(成为异常值的)时间段进行了设备更新施工,从顾客接收到将该时间段的数据不作为分析对象的指示。开发者使用应用开发环境提供***的聊天功能,从顾客取得表示不作为分析对象的准确的时间段的数据。而且,开发者使进行排除分析范围设定的画面在设计画面进行显示,将表示上述的不作为分析对象的准确的时间段的数据进行输入,作为排除分析范围进行设定。而且,开发者输入通过聊天功能从顾客取得的注释,在进行排除分析范围设定的画面中的进行了上述设定的部位(画面区域),附加该注释。
接下来,开发者在设计画面中,将“冷冻机1ON/OFF”、“冷冻机2ON/OFF”、“冷冻机3ON/OFF”、“冷冻机4ON/OFF”、“冷冻机5ON/OFF”及“冷冻机6ON/OFF”的6个输入数据项目汇总为1个,切换为图4所示的“冷冻机1-6ON/OFF”这样的数据输入项目。
而且,开发者在应用开发环境提供***的分析画面中,使用从历史记录部提供的过去2年间的数据,对由6个冷冻机实现的冷却性能进行分析。冷却性能Ln例如是通过Ln=排气温度/吸气温度这样的计算式求出的。开发者通过作为已知的值的表示6个冷冻机整体的性能的“冷冻机性能”和在上述中求出的冷却性能Ln进行多元回归分析。于是,在分析画面中,例如对如图5A所示的分布图进行显示。由此,由于测定点大致直线状地排列,因此开发者确认到原本的冷冻机的冷冻机性能和实际的冷却性能没有大幅地背离。
接下来,开发者对表示6个冷冻机各自的实际性能的性能系数(例如,Ln等)进行计算。例如,对图5B所示的针对每个冷冻机的性能系数的值进行计算。通过该性能系数,例如,开发者对特定的冷冻机的实际性能与原本的性能相比降低的情况进行识别。开发者通过应用开发环境提供***的电子邮件收发功能,对顾客进行与性能降低的冷冻机有关的报告。
接下来,开发者基于上述的分析结果,对加入了运转控制模式的自动化算法的应用进行开发。首先,开发者在应用开发环境提供***的设计画面中,如图4所示对表示逻辑模型的开发构件进行配置,与表示各输入输出数据项目的开发构件连接。而且,开发者使逻辑模型创建画面在应用开发环境提供***的显示部进行显示。
在该逻辑模型创建画面中,例如对如图6所示的逻辑模型(算法)进行显示。在该逻辑模型中,除了输入输出数据项目以外,还对在上述中计算出的各种系数等进行显示。开发者在逻辑模型创建画面中,完成表示由应用进行的处理的逻辑的逻辑模型。而且,开发者针对创建出的逻辑模型,使用从历史记录部取得的过去数据进行模拟。通过该模拟的结果,例如,开发者能够对使用创建出的逻辑模型对冷冻机的运转进行控制而削减的消耗电力等进行识别。
接下来,开发者在应用开发环境提供***中创建KPI仪表板画面。KPI仪表板画面是按照上述的顺序开发出的、用于监视对调整排气气体温度的6台冷冻机的运转进行控制的应用的运转状况的画面。KPI仪表板画面例如是如图7所示的画面。如图7所示,KPI仪表板画面将排气气体温度的状况,根据表示相对于目标值的容许振幅为正负3%的范围的带状的显示和实绩值的线图形而实时地显示。如图7所示,KPI仪表板画面将吸气温度及6台冷冻机的开关的接通/断开的状态等作为参考值而实时地显示。例如,KPI仪表板在检查到冷冻机的冷却性能降低的情况下显示警报。KPI仪表板作为在上述中由开发者开发出的应用的1个功能而被安装。
以上,按照所说明的实施例的流程,开发者利用应用开发环境提供***而进行应用开发,将开发出的应用提供给顾客。
本发明的应用开发环境提供***,可以具有对应用程序进行构建的构建功能部(未图示)。该构建功能部作为开发构件,例如可以将在车间运转中进行的各作业作为工序部件图标(未图示)而准备出,将该工序部件图标按照期望的逻辑结构、程序结构或者运转条件、顺序等在画面上排列,通过对各图标的连接条件进行定义,从而构建逻辑结构图、作业顺序图,并且创建作业顺序图的应用程序。该构建功能部构成为,用户(运转员)能够简单且直观地对应用程序进行构建。下面,对结构及动作进行说明。
构建功能部也能够进行由用户实施的图标的新创建。工序部件图标(未图示)通过图像表示出逻辑结构、设备属性或者作业内容。在工序部件图标中,准备有用于进行图标的处理的预制的程序。工序部件图标和预制的程序相关联。
构建功能部在画面上排列出工序部件图标,将图标彼此进行连接,在连接时进行图标间的输入输出的条件定义,在与逻辑对应的图标进行参数设定以使得进行期望的动作。由此,构建功能部在构建出逻辑结构图、作业顺序图时,与其相伴而生成附加于图标的次序的信息、图标的连接信息等。构建功能部通过生成的信息和与图标相关联的预制的程序,构成与作业顺序图相对应的应用程序。
本发明的应用开发环境提供***,也可以具有执行由构建功能部创建出的应用程序的(例如,进行车间运转的)运转功能部(未图示)。
根据本发明的应用开发环境提供***,运转的开始及停止能够以工序部件图标单位、工序单元单位、业务流程单位,通过鼠标操作而以简单的操作进行。根据本发明的应用开发环境提供***,在运转中,根据需要能够显示警报、指南等各种消息,能够安全且可靠地使运转进行。
构建功能部可以由以下记载的图标用存储单元、图标连接单元、信息生成单元、运转执行单元构成。
图标用存储单元将通过图像表示出在车间运转中进行的各作业的图标和执行该图标的作业的预制的程序相关联而存储。图标连接单元从图标用存储单元对图标进行选择,将选择出的图标在显示单元的画面上进行连接,将表示出车间运转的逻辑结构或作业顺序的逻辑结构图、作业顺序图在画面上创建。
信息生成单元生成用于执行基于由图标连接单元创建出的逻辑结构或者作业顺序的应用程序的信息。作为生成的信息,例如,存在附加于图标的次序的信息、图标的连接信息等。由信息生成单元生成的信息(执行信息)存储于存储单元。
运转执行单元按照画面显示出的程序结构或者作业顺序而执行由信息生成单元生成的信息及与作业顺序图中存在的图标相关联的程序(例如,执行车间运转,车间通过运转执行单元而工作)。
输入单元是例如鼠标、键盘等,是为了进行车间运转所需的输入操作而设置的。也可以是如果画面上的画面显示出的程序结构、或者作业顺序图中存在的图标由输入单元进行了指定,则执行与由运转执行单元指定出的图标相对应的作业。由此,能够通过画面操作而直接地执行程序。
在图标用存储单元中,可以将表示例外处理的图标和执行该图标的处理的预制的程序相关联而存储。在图标用存储单元中还存储有表示通常处理的图标和其程序。在该情况下,图标连接单元在发生例外处理时,将在图标用存储单元中存储的图标在画面上进行连接,将例外处理的作业顺序图在画面上创建。
信息生成单元可以生成用于执行由图标连接单元创建出的例外处理的作业顺序的信息。由信息生成单元生成的信息(例外处理执行信息)存储于存储单元。
例外处理执行单元基于由信息生成单元生成的例外处理执行信息及与作业顺序图中存在的图标相关联的程序,按照例外处理的作业顺序图而执行例外处理(例如执行车间运转)。例外处理判断单元可以有无发生例外处理进行判断。
(实施方式的详细)
下面,一边参照附图、一边对本发明的实施方式的详细内容进行说明。
图8是表示本发明的实施方式所涉及的应用开发环境提供***1的***概要的概略图。如图8所示,应用开发环境提供***1是在云计算环境中,由设备节点(Device node)、脊柱节点(Spinal node)、智能节点(Intelligence node)及社交化节点(Socializationnode)这4层的层构造构成的***。
设备节点由各种传感器、各种设备及各种***构成。各种传感器是指例如温湿度传感器、压力传感器及流量传感器等。各种设备是指例如作为控制装置的PLC(可编程逻辑控制器)、与车辆内的CAN-BUS(Controller Area Network-BUS:总线型的控制网络)连接的OBD(On-Board Diagnostics:自故障诊断)设备、KPI(Key Performance Indicator:重要业绩评价指标)监视器、对特定的传感器的当前值进行显示的显示器、灯、蜂鸣器、阀及机器人臂等。各种***是指例如DCS、无人机管制***、入侵检测***、连接有入室标记读取器的安全***及连接有照明、门锁、电梯、喷水器等的建筑自动化***等。
在图8中例示的应用开发环境提供***1中,在设备节点的层,包含由传感器构成的设备节点13-1及设备节点13-2和由致动器构成的设备节点14。下面,在无需将设备节点13-1、设备节点13-2和设备节点14特别区分而进行说明的情况下,统称而称为设备节点13-14。
本实施方式所涉及的应用开发环境提供***1的设备节点13-14,为了简化说明,设为由2个传感器和1个设备构成,但并不限定于此。设备节点13-14能够由大于或等于1个传感器、设备及***等任意地构成。通常来说,大多是针对1个脊柱节点而收容有许多传感器、设备及***等。
在构成设备节点13-14的传感器、设备及***等,存在发送数据的装置、接收数据而进行显示的装置及进行数据接收而发起行动的装置等。该传感器、设备及***等例如是与即插即用相对应的装置。另外,该传感器、设备及***等例如是具有与多个应用同时地进行通信的功能的装置。
例如,在设备节点13-14,存在与构成脊柱节点的装置进行通信连接的装置、和与构成智能节点的装置进行通信连接的装置。
与构成脊柱节点的装置进行通信连接的设备节点13-14,例如存在需要实时性的装置、在不容许数据的延迟(数据通信的延迟)、波动(数据通信速度的波动)等的应用中使用的装置、及如果为了生成大量的数据而直接与智能节点连接,则有可能使通信频带紧张的装置等。
另一方面,与构成智能节点的装置进行通信连接的设备节点13-14,例如有在为了不受延迟、波动等影响的用途中使用的装置、及需要经由移动电话网、卫星线路等无线通信网而远程地设置的装置、及移动的装置等。
设备节点13-1及设备节点14,经由以太网(注册商标)等网络接口及多个路由器、开关而通过互联网与构成脊柱节点的装置连接。另外,设备节点13-2经由以太网(注册商标)等网络接口及多个路由器、开关而通过互联网与构成智能节点的装置连接。设备节点13-14按照互联网协议(IP),与构成脊柱节点的装置或者构成智能节点的装置进行通信连接。
脊柱节点(第1网络)由服务器装置构成,作为网关起作用。在图8中例示的应用开发环境提供***1中,脊柱节点的层包含脊柱节点12-1和脊柱节点12-2。下面,在无需将脊柱节点12-1和脊柱节点12-2特别区分而进行说明的情况下,统称而称为脊柱节点12。
构成脊柱节点12的服务器装置(下面,也简称为脊柱节点12)是在云计算环境中,对至少1个设备节点13-14进行收容(即,逻辑性地连接、管理或者进行数据的输入输出)的服务器装置。脊柱节点12-2也原本与脊柱节点12-1同样地收容至少1个设备节点13-14,但为了说明的简化,在图8中将记载进行省略。
脊柱节点12通常来说,例如是被称为网关服务器、雾计算机或者边缘计算机等的装置。脊柱节点12设置在云计算环境中的服务器装置(在本实施方式中,为社交化节点10及智能节点11)和构成设备节点13-14的传感器、设备及***之间。
脊柱节点12例如从按照智能节点11无法通信的通信协议而进行通信这样的设备节点13-14对数据进行接收。脊柱节点12将接收到的数据按照智能节点11能够通信的通信协议向智能节点11发送。由此,脊柱节点12进行从设备节点13-14向智能节点11的数据的转发。例如,脊柱节点12按照互联网协议以外的通信协议,对从无法进行互联网协议所涉及的通信的模拟传感器等发送出的信号进行接收。脊柱节点12在将接收到的信号进行数字变换而归一化后,将归一化的信号通过互联网协议所涉及的通信而向构成智能节点11的服务器装置(下面,也简称为智能节点11)发送。由此,脊柱节点12进行从设备节点13-14向智能节点11的数据转发。
脊柱节点12例如接收从设备节点13-14发送出的数据,针对接收到的数据进行运算、解释及判定等处理,将处理结果向智能节点11发送。
脊柱节点12例如从设备节点13-14取得数据,在针对该数据进行前处理后,附加时间戳(表示发生时刻的记号)而设为时间序列数据,从智能节点11取得对该时间序列数据进行处理的逻辑、算法等,基于该逻辑、该算法等而执行针对该时间序列数据的处理(加工、判断等处理)。
脊柱节点12例如根据需要或者基于来自智能节点11的指示,向智能节点11发送该时间序列数据。脊柱节点12将该时间序列数据和基于该逻辑、该算法等而生成的表示行动的控制信号针对适当的设备节点13-14进行发送。
脊柱节点12将该时间序列数据暂时保存于在脊柱节点12设置的时间序列数据库(未图示)。与此同时,脊柱节点12与来自智能节点11的请求相应地,针对智能节点11发送该时间序列数据。并且脊柱节点12将在时间序列数据库中暂时保存的时间序列数据,从旧的数据起依次非同步地,针对历史记录部(未图示)经由确保了安全的通信路径进行发送。历史记录部与智能节点11直接连接,因此智能节点11能够如在本地环境中存在历史记录部那样参照、利用历史记录部。
在脊柱节点12由单一的硬件构成的情况下,为了应对在脊柱节点12中发生了故障、异常动作的情况,与脊柱节点12通信连接的设备节点13-14可以针对大于或等于2个脊柱节点12并行地发送数据。在设备节点13-14是按照互联网协议进行通信的装置的情况下,设备节点13-14利用多播、广播等技术将数据及控制信号等向通信网络送出,多个脊柱节点12可以将该数据及该控制信号等并行地接收,由此进行冗余化。
社交化节点10(第2网络)及智能节点11,包含提供云计算环境的服务器装置及网络仪器等。社交化节点10和智能节点11可以由彼此不同的装置物理地分开,也可以在单一的装置中逻辑地分开。
构成社交化节点10的装置(下面,也简称为社交化节点10)提供下述功能,即,使得在共同开发应用的多个企业(下面,也称为承租方)间、在提供应用的企业和利用应用的企业顾客之间、及在企业和个人之间等超越企业、组织的范畴,能够共同利用应用开发环境、应用执行环境。
构成智能节点11的装置提供下述功能,即,使得在共同开发企业内的应用的多个部门、组等组织(下面,也称为站点)间、及多个雇员(下面,也称为账户)间,能够共同利用应用开发环境、应用执行环境。
下面,将由社交化节点10、智能节点11及脊柱节点12构成的在企业间、企业和个人、及企业内的用户间能够共同地利用的本发明中的应用开发环境、应用执行环境等及交流环境统称而称为Co-innovation空间(共创空间)。
社交化节点10及智能节点11如上所述在服务器装置中动作,Co-innovation空间安装于社交化节点10、智能节点11及脊柱节点12。智能节点11具有Co-innovation空间的主要的功能。另一方面,社交化节点10在Co-innovation空间所具有的功能中,具有在企业间或者企业和个人之间进行应用程序的共享、买卖及交流等情况下所需的功能。
智能节点11进行与智能节点11通信连接的脊柱节点12的管理、设备节点13-14的管理。用户通过人机接口(HMI)(未图示)访问社交化节点10及智能节点11,利用Co-innovation空间。
社交化节点10及智能节点11具有用于与各种外部的***协作的多样的外部接口。例如,社交化节点10及智能节点11能够与外部的IoT及IIoT云计算环境、外部的收费***及外部的数据库***等协作。如上所述,社交化节点10及智能节点11能够大范围地与外部的各种***协作,由此社交化节点10及智能节点11能够在各种IoT云计算环境中,构建与外部的各种***大范围地协作的Co-innovation空间及Co-innovation空间上的应用。
社交化节点10及智能节点11具有用于与各种外部的***协作的多样的外部接口,由此社交化节点10及智能节点11能够有效使用由IoT及IIoT云计算环境提供的接口组。因此,能够开发顾客企业中的业务过程的供应链整体及以生命周期整体为对象的解决方案。
Co-innovation空间是云计算环境中的虚拟的空间,是以企业(承租方)单位或者组织(站点)单位等分隔出的、相互安全地隔离的用于应用共创的空间。
通过使用Co-innovation空间的体系结构,例如,能够进行使用大数据的咨询、各种控制、资产管理、遥感、远程监视、KAIZEN(改善)活动辅助等应用的开发、及MES、DCS等***的开发。
Co-innovation空间也可以取代在云计算环境中安装,而是在本地环境的数据中心的服务器装置中安装。
上述的Co-innovation空间的体系结构,可以由构成智能节点11及社交化节点10的1个或者多个装置提供。该Co-innovation空间的体系结构中的存储区域,可以是构成智能节点11及社交化节点10的1个或者多个装置的存储部,或者也可以是将多个装置所具有的存储部的存储区域中的一部分组合多个而构成。
(Co-innovation空间的功能结构)
下面,对Co-innovation空间的功能结构进行说明。
图9是在本发明的实施方式所涉及的应用开发环境提供***1进行安装的Co-innovation空间的功能结构图。如图9所示,智能节点11包含应用板111、交流工具112、库113、储存器114、设备管理部115、承租方管理部116、站点·账户管理部117、应用商店118、收费部119和数据库部120。
应用板111(程序开发部),向用户提供多承租方、多站点及多账户的应用开发环境及应用执行环境向。应用板111具有编译、能够针对用户视觉性地显示应用程序的显示部等的功能。显示部对表示Co-innovation空间的图像进行显示,在该Co-innovation空间中,基于布局信息、接线信息、参数信息及选择区域信息等,视觉性地对应用程序进行显示。
布局信息是指表示作为开发对象的应用程序的处理方式的信息。例如,在布局信息中包含下述信息,即,表示作为开发对象的应用程序是进行多输入2输出的处理的应用、或者是进行多输入多输出的处理的应用、还是进行1输入多输出的处理的应用等。
接线信息是指将作为开发对象的应用程序中的输入数据项目、作为处理内容的逻辑、作为处理结果的输出数据项目各自通过导线连结而生成视觉地表示数据项目、逻辑间的关系性的图时所定义的与该导线相关的信息。
参数信息是指表示在作为开发对象的应用程序中设定的各种参数的设定值的信息。
选择区域信息是指在作为开发对象的应用程序的一系列的处理中,表示通过由用户进行的操作等而选择(指定)出的一部分的处理的信息。例如,针对通过应用板111视觉性地显示出的应用程序,用户对鼠标等进行操作而将该应用程序的一部分的区域包围,由此生成表示被包围的区域的选择区域信息。
具有与承租方、站点相关联的账户的用户,能够基于预先设定出的、或者由管理者设定出的访问权限及执行权限,一边与其它用户共享数据、逻辑及应用等,一边使用应用板111的显示部所显示的画面(下面,也称为Co-innovation空间画面),进行应用程序的创建、管理及执行等。
用户在对应用程序进行开发时,在应用板111中,例如从各种开发构件(例如包含上述的输入数据的数据项目、作为处理内容的逻辑、及处理结果数据的数据项目等)的一览中对所需的开发构件进行选择。然后,用户通过鼠标操作等将选择出的开发构件向应用设计区域进行拖放。由此,在应用设计区域对选择出的开发构件进行显示。用户在应用设计区域中,例如,进行拖拽的鼠标操作等,以将选择出的开发构件间通过导线连结的方式进行拖拽的鼠标操作等。由此,对作为开发对象的应用程序的处理的流程(顺序)进行定义,生成应用程序。
用户在对应用程序进行开发时,在应用板111中,从通用的各种应用、通用的各种模板及通用的各种逻辑等一览中,对所需的应用、模板及逻辑等进行选择。然后,用户通过鼠标操作等将选择出的应用、模板及逻辑等向应用设计区域进行拖放。由此,用户能够利用选择出的应用、模板及逻辑等对应用程序进行开发。
在该一览中登记的应用、模板及逻辑等,可以包含付费的和免费的。在该情况下,在用户利用了付费的应用、模板或者逻辑等的情况下,通过后面记述的收费部119进行收费处理。
针对在应用板111中使用的各种信息(例如,输入输出数据、在显示部中显示的表示内容的信息、作为开发对象的应用程序、在共同开发中在多个开发者间交换的表示注释的内容的信息、及表示开发的状态的信息等)进行访问权限的设定,以使得仅从预先指定出的特定的承租方或者属于预先指定出的特定的站点的账户能够访问。
如上所述,Co-innovation空间是能够进行访问权限的管理并将各种信息在用户间共享的机制,因此提供能够防止信息泄露等并安全地共创应用程序的环境。
交流工具112提供在用户间被利用的聊天功能、音频交流功能、声音通话功能、画面共享功能及公告板、社交网络服务(SNS)等社群功能等。例如,聊天功能不仅是能够将文本数据(例如,源代码等)、图像数据及程序的执行文件等在用户间收发而共享,还能够包含参数值等设定信息将作为开发对象的应用程序的一部分或者全部在用户间收发而共享。
例如,用户将通过操作鼠标等包围而选择出的表示应用程序的一部分的区域,通过鼠标操作等进行拖放而粘贴于聊天画面,由此能够将应用程序与其它用户共享。例如,在将通过实时地更新的数据而创建的图形粘贴于聊天画面的情况下,在聊天画面中显示出的图形也实时地进行更新。并且,在其它用户所参照的Co-innovation空间的聊天画面中显示出的图形也同样地,实时地进行更新。
如上所述,根据Co-innovation空间,应用开发环境和交流工具无缝协作,因此能够容易地且灵活地实现用于用户间的应用共创的交流。
社群是能够实时或者非实时地在多个用户间实现交流的功能。例如,社群是公告板、注释一览及SNS等功能。从各用户向社群的访问,在基于根据针对每个承租方设定的管理策略而设定出的访问权限的范围受到限制。也可以设为能够通过社群功能针对由用户写入的主题(话题),进行各种筛选条件(例如,课题、区域、产业及关键词等)下的筛选检索。
如上所述,用户能够通过交流工具112,进行与具有属于同一承租方及站点的账户的用户,或者具有属于不同的承租方及站点的账户的用户之间的意见交换等。由此,能够进行由多个用户实现的应用程序的共创。
库113提供在应用板111中开发或者执行应用程序时使用的通用性的处理逻辑、模板、分析工具及历史记录部(储存有履历信息、实绩信息的数据库)等。
例如,库113存储有类似波形检索工具、回归分析工具、多元回归分析工具、MT法分析工具、误差分散分析工具、数据驱动模型工具、深度学习工具及相关分析工具等各种分析工具。用户将任意的分析工具拖放至应用设计区域,进行数据输入,由此能够进行各种分析。
储存器114将各种信息(例如,开发出的应用程序、分析结果数据等)区分为一般公开的信息、承租方共用的信息、站点共用的信息和账户个人用的信息,各自存储于一般公开用的存储区域、承租方共用的存储区域、站点共用的存储区域或者账户个人用的存储区域。关于各用户能够将各种信息保存于哪个存储区域,可以预先由承租方的管理者基于针对每个用户设定出的权限进行控制。储存器114是存储介质,例如可以是硬盘驱动器(HDD)、闪存存储器、带电可擦可编程只读存储器(EEPROM)、RAM(可读写的存储器)、ROM(读出专用存储器)或它们的任意的组合。
设备管理部115对智能节点11所收容的构成设备节点13-14的传感器、设备及***等的信息进行管理。例如,设备管理部115管理将为了设备节点13-14的***使用的赋予给设备节点13-14的识别信息和账户、站点及承租方的识别信息相关联的信息等。
智能节点11的设备管理部115,可以将脊柱节点12所收容的构成设备节点13-14的传感器、设备及***等的信息经由脊柱节点12取得而进行管理。或者,也可以是脊柱节点12对该信息进行管理,智能节点11的设备管理部115从脊柱节点12取得该信息。
承租方管理部116对与承租方(企业)相关的各种信息进行管理。例如,承租方管理部116针对承租方的基础信息、收费信息、操作权限及批准权限等信息,进行设定、变更、删除等。例如,承租方管理部116针对每个承租方管理与Co-innovation空间的利用及付费或者免费的应用、工具、模板及数据等的利用相伴的合同所相关的合同信息。
站点·账户管理部117管理与站点(组织)及账户(用户)相关的各种信息。例如,站点·账户管理部117针对站点及账户的基础信息、收费信息、操作权限及批准权限等信息,进行设定、变更、删除等。
应用商店118是用户用于进行应用程序的一部分或者全部、逻辑、模板及数据等(下面,简称为应用等)的买卖的功能。例如,用户在开发应用程序时,在Co-innovation空间画面中,从由应用商店118销售的应用等的一览中,对希望购买的应用等进行选择。而且,用户将选择出的应用等通过鼠标操作等拖放至应用设计区域。由此,用户能够购买选择出的应用等,利用于应用程序的开发等。
针对由应用商店118销售的应用等,可以设为能够通过每月收费、每年收费、与利用次数相对应的收费、或者一次性的收费等任意的收费方法进行收费。关于由应用商店118销售的应用等中的特定的应用等,可以从用户使用开始的日期起经过一定期间(例如,一个月)作为免费试用期间,不产生收费。
收费部119针对购买了由应用商店118销售的应用等的用户进行收费处理。收费部119可以针对Co-innovation空间的利用进行收费处理。收费对象可以设为能够针对每个承租方、站点或者账户进行预先登记。
在购买到的应用等是由用户在应用商店118进行了登记的应用等的情况下,可以针对购买了该应用等的用户进行收费而将征收的金额的一部分向登记了应用等的用户支付。
数据库部120将应用的动作所需的生产管理信息、车间运转管理信息、品质信息等数据作为数据库进行保持,与应用的请求相应地提供所需的数据。该数据库可以是SQL等一般性的数据库,也可以是非SQL的特定用途的数据库。该数据库可以针对每个承租方、站点或者账户进行设定,也可以与数据的内容相应地由管理者单独地设定访问权限。这些数据库可以参照处于Co-innovation空间的外侧的外部的数据库。
(通过应用板实现的显示例)
下面,关于在应用板111的显示部所显示的画面(Co-innovation空间画面)的一个例子进行说明。图10至图12是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板实现的显示的一个例子的图。
图10示出构成Co-innovation空间画面的各画面区域的布局的一个例子。如图10所示,Co-innovation空间画面包含应用设计区域(编辑区域)、全球导航显示区域、本地导航显示区域和开发构件一览显示区域这4个画面区域。
与由用户进行的操作相应地,开发构件一览显示区域从显示的状态,以向画面的左方向滑动而向画面外移动的方式向非显示的状态切换。由此,应用设计区域变宽,因此用户容易进行应用程序的编辑作业。
与由用户进行的操作相应地,在Co-innovation空间画面的启动时设为非显示的模拟区域、及聊天/注释显示区域切换为进行显示的状态。如图10所示,模拟区域从非显示的状态,以从画面的右方向滑动而向画面内移动的方式切换为显示的状态。聊天/注释区域从非显示的状态,以从画面的下方向滑动而向画面内移动的方式切换为显示的状态。
由此,用户能够仅在需要时使模拟区域及聊天/注释显示区域在显示部进行显示,在不需要这些画面区域时设为非显示,由此能够将应用设计区域确保为较宽。因此,用户容易进行应用程序的编辑作业。
应用设计区域是将作为开发对象的应用程序的构造视觉性地显示的画面区域。用户例如从在开发构件一览显示区域中显示出的开发构件、例如各种分析元件、各种输入输出数据的数据项目、作为处理内容的逻辑、各种应用、各种模板、各种逻辑、各种图形及各种分析工具等的一览中,对所需的开发构件进行选择。然后,用户通过鼠标操作等向应用设计区域进行拖放,由此能够使表示选择出的开发构件的图像在应用设计区域进行显示。
用户例如将在应用设计区域中显示出的2个开发构件间通过鼠标操作等进行拖拽,由此能够使将2个开发构件相关联的导线在应用设计区域进行显示。通过进行如上所述的操作,从而用户能够视觉性地设计·编辑作为开发对象的应用程序。
用户例如针对在应用设计区域视觉性地显示出的作为开发对象的应用程序,通过鼠标操作等将一部分的区域包围,由此能够对作为开发对象的应用程序的一部分的区域进行选择。而且,用户例如将选择出的应用程序的一部分的区域通过鼠标操作等进行拖放而粘贴于聊天画面,能够与其它用户共享。
用户例如从在全球导航显示区域中显示的应用商店显示出的应用程序的一部分或者全部、逻辑、模板及数据等的一览中,对所需的开发构件进行选择。然后,用户通过鼠标操作向应用设计区域进行拖放,能够使该开发构件在应用设计区域进行显示。由此,用户能够从应用商店购买所需的开发构件而立即利用。
用户例如对在应用设计区域中视觉性地显示出的作为开发对象的应用程序的一部分或者全部的区域通过鼠标操作等进行选择。然后,用户将选择出的区域通过鼠标操作等拖放至在全球导航显示区域进行显示的应用商店。由此,选择出的应用程序的一部分或者全部被登记于应用商店,表示该应用程序的一部分或者全部的信息(例如,包含图标图像等)显示于应用商店。通过设为上述方式,从而用户例如能够将开发出的应用程序的一部分或者全部在应用商店中,针对其它用户进行销售。
全球导航显示区域是在承租方(企业)或者站点(组织)中对共通的菜单画面进行显示的画面区域。在全球导航显示区域中,例如对登录/退出、账户设定、项目的切换、检索及用于利用应用商店等的功能的菜单进行显示。
本地导航显示区域是对与账户(用户)相对应的菜单画面进行显示的画面区域。在本地导航显示区域中,例如对用于利用作为开发对象的应用程序中的课题管理及任务管理、版本管理及项目设定等功能的菜单进行显示。
开发构件一览显示区域是对在应用程序的开发中使用的开发构件的一览画面进行显示的画面区域。在开发构件一览显示区域中,例如将上述的各种分析元件、各种输入输出数据项目、通用的各种应用、通用的各种模板、通用的各种逻辑及各种分析工具(例如,类似波形检索工具、回归分析工具、多元回归分析工具、MT法分析工具、误差分散分析工具、数据驱动模型工具、深度学习工具及相关分析工具等)针对类别进行分类,进行一览显示。
模拟区域是对用于将在应用设计区域中显示出的应用程序仿真地执行(模拟)的设定信息、表示模拟结果的信息等进行显示的画面区域。
聊天/注释区域是用户和其它用户关于作为开发对象的应用程序等,用于实时或者非实时地进行消息的交换的功能即聊天画面、对由用户或者其它用户在过去记录的注释的一览等进行显示的画面区域。在聊天/注释区域中显示的消息、注释,通过由用户进行的鼠标操作等进行选择。选择出的消息、注释通过向应用设计区域进行拖放等操作,由此向应用设计区域的任意的位置转录。
图11示出用户在Co-innovation空间画面中,对在开发构件一览显示区域中显示出的任意的开发构件进行选择,将选择出的开发构件利用于应用设计区域时的画面例。
如图11所示,在应用设计区域中,显示出“吸气气体温度”、“冷冻机1ON/OFF”、“冷冻机2ON/OFF”、“冷冻机3ON/OFF”、“冷冻机4ON/OFF”、“冷冻机5ON/OFF”及“冷冻机6ON/OFF”这样的7个输入数据项目、“Nx2”这样的分析元件、“排气气体温度”及“消耗电力”这样的2个输出数据项目由箭头(导线)连结,将作为开发对象的应用程序视觉性地表示出的图像。
如图11所示,在开发构件一览显示区域中,显示出“分析元件”、“输入输出数据”、“逻辑”及“模拟”这样的按照类别分类出的开发构件的一览。
用户在图11的应用设计区域中创建应用程序时,首先从在开发构件一览显示区域中显示出的“分析元件”栏所设置的开发构件中,对“多输入2输出”这样的开发构件进行选择。然后,用户将选择出的开发构件向应用设计区域通过鼠标操作等进行拖放。于是,在应用设计区域中对写有表示多输入2输出的“Nx2”这样的文字的分析元件的图像进行显示。
接下来,用户从在开发构件一览显示区域中显示出的“输入输出数据”栏所设置的开发构件中,对“数据/历史记录部”这样的开发构件进行选择。然后,用户将选择出的该开发构件通过鼠标操作等向应用设计区域进行拖放。于是,在应用设计区域中对表示数据/历史记录部的图像进行显示。
而且,用户针对表示显示出的数据/历史记录部的图像而打开对数据项目进行选择的画面(未图示),显示出数据/历史记录部所包含的数据项目一览。如果用户从显示出的数据项目一览中,选择了“吸气气体温度”这样的输入数据项目,则在表示数据及历史记录部的图像中显示“吸气气体温度”这样的文字。通过设为上述方式,从而用户能够将输入数据项目向应用设计区域进行追加。
与上述同样地,用户还将“冷冻机1ON/OFF”、“冷冻机2ON/OFF”、“冷冻机3ON/OFF”、“冷冻机4ON/OFF”、“冷冻机5ON/OFF”及“冷冻机6ON/OFF”这样的输入数据项目向应用设计区域进行追加。
接下来,用户将从表示输入数据项目“吸气气体温度”的图像至表示分析元件“Nx2”的图像为止之间通过鼠标操作等进行拖拽。于是,对表示箭头(导线)的图像进行显示,该箭头(导线)是从表示输入数据项目“吸气气体温度”的图像向表示分析元件“Nx2”的图像的箭头(导线)。通过设为上述方式,从而用户能够将输入数据项目与对应用程序的处理内容进行定义的分析元件相关联。
与上述同样地,用户还将表示“冷冻机1ON/OFF”、“冷冻机2ON/OFF”、“冷冻机3ON/OFF”、“冷冻机4ON/OFF”、“冷冻机5ON/OFF”及“冷冻机6ON/OFF”这样的输入数据项目的图像和表示分析元件“Nx2”的图像通过箭头(导线)相关联。将表示从哪个开发构件向哪个开发构件连结的信息称为接线信息。
接下来,用户与在上述中向应用设计区域追加输入数据项目的情况的操作同样地,向应用设计区域追加输出数据项目。用户如果从在对数据项目进行选择的画面(未图示)中显示出的数据项目一览中,选择了“排气气体温度”这样的输出数据项目,则在表示数据/历史记录部的图像中对“排气气体温度”这样的文字进行显示。通过设为上述方式,从而用户能够将输出数据项目向应用设计区域进行追加。与上述同样地,用户还将“消耗电力”这样的输出数据项目向应用设计区域进行追加。
接下来,用户与在上述中将表示输入数据项目的图像和表示分析元件的图像相关联的情况的操作同样地,将从表示分析元件“Nx2”的图像至表示输出数据项目“排气气体温度”的图像为止之间通过鼠标操作等进行拖拽。并且,用户将从表示分析元件“Nx2”的图像至表示输出数据项目“排气气体温度”的图像为止之间通过鼠标操作等进行拖拽。通过设为上述方式,从而用户能够将输出数据项目与对应用程序的处理内容进行定义的分析元件相关联。
用户使对在分析元件中进行的处理内容进行定义的画面(未图示)显示于显示部,对在分析元件“Nx2”中进行的运算处理的内容进行定义。由此,用户能够开发出下述应用程序,即,将7个输入数据项目的数据作为输入值进行运算处理,作为处理结果将2个输出数据项目的数据进行输出。
如上所述,通过Co-innovation空间,将作为开发对象的应用程序视觉性地显示,因此用户能够更直观地进行应用等的开发。
图12示出用户在Co-innovation空间画面中,对在应用设计区域中显示出的应用程序的一部分的区域进行选择,将选择出的应用程序的一部分通过聊天功能与其它用户共享时的画面例。
在图12所示的Co-innovation空间画面的聊天/注释显示区域中,显示出由属于“组1”的用户进行消息交换的组聊天画面。
下面,对用户通过该组聊天画面,将在应用设计区域中显示出的应用程序的一部分与其它用户共享的情况下的例子进行说明。设为图12所示的例子中的应用程序的一部分是输入7个输入数据项目的数据而至进行运算处理为止相当于处理的范围的部分。
用户在应用设计区域中,以将视觉性地显示出的应用程序的图像中的表示“吸气气体温度”、“冷冻机1ON/OFF”、“冷冻机2ON/OFF”、“冷冻机3ON/OFF”、“冷冻机4ON/OFF”、“冷冻机5ON/OFF”及“冷冻机6ON/OFF”的7个输入数据项目的图像、表示“Nx2”的分析元件的图像和将该7个输入数据项目和该分析元件各自连结的箭头(导线)的图像包围的方式通过鼠标操作等进行拖拽,对区域进行选择。于是,如图12所示,在应用设计区域中,选择出的区域(即,通过拖拽实现的指针等的移动轨迹)由虚线显示。在作为开发对象的应用程序中,将表示选择出的区域的信息称为选择区域信息。
接下来,用户在应用设计区域中,对由虚线包围的区域进行选择。然后,用户将选择出的区域通过鼠标操作等拖拽至“组1”的组聊天画面。于是,在组聊天画面的消息显示区域中,对表示选择出的应用程序的一部分的信息进行显示。在图12所示的例子中,在“组1”的组聊天画面的消息区域中,显示出“Nx2”这样的标记和图标。
通过组聊天而接收到消息的其它用户,在该其它用户所参照的Co-innovation空间画面中,将在组聊天画面的消息区域中显示出的“Nx2”这样的标记或者图标通过鼠标操作等而从消息区域拖放至应用设计区域。于是,与在聊天的发送源的用户所利用的应用设计区域中显示出的图像中的由虚线包围的范围的图像相同的图像,显示在其它用户所参照的应用设计区域中。
通过组聊天而共享的信息,不仅包含表示该图像的信息、表示应用程序的构造的布局信息、接线信息及选择区域信息,还包含设定出的参数值等。即,根据Co-innovation空间,不仅包含应用程序的源代码,还包含设定出的参数值等,能够在用户间进行共享。
如上所述,Co-innovation空间具有应用开发环境和交流工具,该应用开发环境和该交流工具协作而起作用。因此,用户能够容易地与其它用户共享开发出的应用等。
(分割编译)
接下来,对通过应用开发环境提供***1的应用板111实现的分割编译进行说明。
例如,在工业自动化及生产***等中,有时如PID控制等伴有反馈的处理那样,包含有针对由传感器等测定出的数据的输入而要求立即地实施执行处理这种情况的处理。在如上所述的处理由云计算环境执行的情况下,由于在数据通信中产生延迟、波动等,因此有时不能正常地进行控制等的处理。
在如上所述的情况下,关于为了减小数据通信中的延迟、波动等的影响而要求立即地实施执行处理的处理,由脊柱节点12进行执行处理,关于不要求立即地实施执行处理的处理,由智能节点11或者社交化节点10进行执行处理。在该情况下,脊柱节点12对一部分的设备节点13-14进行收容,作为网关起作用。而且,两者的执行处理相互联动,由此正常地进行应用程序的处理。
以往,在云计算中的多个层(例如,脊柱节点12和智能节点11)中各自进行执行处理,为了生成通过这些多个执行处理进行联动而使得实现期望的功能的应用程序,需要针对多个层的每个执行处理而单独地设计·创建应用程序。而且,针对各个应用程序,进行了用于使多个层的执行处理进行联动的记述,各自单独地进行编译,由此需要生成针对多个层各自的程序执行文件。
根据本实施方式所涉及的应用开发环境提供***1的应用板111,用户不会意识到将程序执行文件分为多个而生成,就能够对在多个层中各自进行执行处理的应用程序进行设计。
首先,用户使用应用板111,不会意识到将程序执行文件分割为多个而生成的情况,设计·创建1个应用程序。而且,应用板111对生成的应用程序进行解析,提取应用程序所包含的多个处理,将提取出的处理按照规定的判定条件进行分类。例如,应用板111按照在由应用程序控制的设备节点13-14中预先设定出的控制周期是小于或等于规定的长度的长度,或者是比规定的长度长而分别进行分类。
应用板111针对分类出的每个处理组进行编译(下面,也称为分割编译),生成针对分类出的每个处理组的多个程序执行文件。而且,应用板111使由控制周期为小于或等于规定的长度的长度的处理组生成的程序执行文件在脊柱节点12中执行。另外,应用板111使由控制周期比规定的长度长的处理组生成的程序执行文件在智能节点11中执行。
下面,一边参照附图,一边对分割编译的实施例进行说明。图13至图14是表示通过本发明的实施方式所涉及的应用开发环境提供***的应用板111实现的分割编译的概要的概略图。图13是表示进行分割编译前的应用程序中的数据输入输出的概略图。图14是表示分割编译后的应用程序中的数据输入输出的概略图。
如图13所示,在本实施例中生成的应用程序,包含PID控制处理22和MES 21。PID控制处理22是从构成设备节点13-1a及设备节点13-1b的各个传感器取得数据,对构成设备节点14a的设备进行控制的处理。MES 21是与PID控制处理22联动的处理。
用于进行PID控制处理22的参数值在MES 21中被决定。决定出的参数值从MES 21输出而在PID控制处理22中进行设定。MES 22如果从PID控制处理22取得了表示设备节点14a的控制状态的信息,则从数据库15-1取得表示生产计划等的数据,从外部的设备节点13-2a取得数据。然后,MES 22利用所取得的这些数据,对针对PID控制处理22的控制内容进行判断。由MES 22得到的判断结果存储于数据库15-2,由HMI 16进行显示。
用户通过应用板111生成执行如上述的处理的应用程序,针对应用板111进行指示编译的执行的操作。应用板111如果取得了基于由用户进行的操作的表示编译执行的指示的信息,则在执行编译前,对该应用程序所包含的各个处理进行分类。例如,应用板111根据是否是被要求立即地执行的处理,对各个处理进行分类。
应用板111从该设备节点14a取得在由PID控制处理22控制的设备节点14a中预先设定出的表示控制周期的数据。例如,在取得的控制周期小于或等于规定的长度(例如,1秒)的情况下,应用板111判定为PID控制处理22是被要求立即地执行的处理。另外,应用板111判定为例如MES 21的处理是不要求立即地执行的处理。
接下来,应用板111基于上述的判定,对应用程序进行分割。即,如图14所示,应用板111分割为与执行PID控制处理22的部分对应的应用程序和与MES 21的处理的部分对应的应用程序。
而且,应用板111在与MES 21的处理对应的应用程序中,针对与和PID控制处理22之间的数据输入输出的处理对应的部位,赋予表示该数据输入输出的对象是PID控制处理22的信息。同样地,应用板111在与PID控制处理22对应的应用程序中,针对与和MES 21的处理之间的数据输入输出的处理对应的部位,赋予表示该数据输入输出的对象是MES 21的处理的信息。
由此,应用板111在从MES 21的处理向PID控制处理22的数据输出处理中,在执行MES 21的处理的应用程序侧,作为数据输出目标而赋予对PID控制处理22进行指定的信息(第1输出目标处理识别信息)。另一方面,应用板111在执行PID控制处理22的处理的应用程序侧,作为数据输入源而赋予对MES 21的处理进行指定的信息(第2输入源处理识别信息)。同样地,应用板111在从PID控制处理22向MES 21的处理的数据输出处理中,在执行PID控制处理22的应用程序侧,作为数据输出目标而赋予对MES 21的处理进行指定的信息(第2输出目标处理识别信息)。另一方面,应用板111在执行MES 21的处理的应用程序侧,作为数据输入源而赋予对PID控制处理22进行指定的信息(第1输入源处理识别信息)。
应用板111将被要求立即地执行的处理即PID控制处理22(PID控制处理22)和不要求立即地执行的处理(MES 21的处理)各自单独地进行编译(分割编译)。由此,生成执行PID控制处理22的程序执行文件和执行MES 21的处理的程序执行文件。
而且,应用板111使执行被要求立即地执行的处理(PID控制处理22)的程序执行文件由脊柱节点12执行。另一方面,应用板111使执行不要求立即地执行的处理(MES 21的处理)的程序执行文件由智能节点11执行。而且,基于赋予给双方的应用程序的表示数据输入输出的信息而将双方的程序执行文件的处理联动地执行。由此,实现期望的应用程序的功能。
在上述的实施例中,应用板111将应用程序所包含的处理,基于是否是被要求立即地执行的处理(例如,在设备节点13-14中预先设定出的控制周期是否小于或等于规定的长度)而进行分类,进行了分割编译,但并不限定于此。例如,应用板111也可以将应用程序所包含的处理,基于对是否是被要求立即地执行的处理进行了预先定义的处理定义列表而进行分类,进行分割编译。该处理定义列表可以是能够经由未图示的输入单元而进行编辑。
或者,例如,应用板111也可以将应用程序所包含的处理,基于位置信息或者上述处理定义列表中的至少一者进行分类,进行分割编译,该位置信息表示构成由该应用程序控制的设备节点13-14的设备被设置的位置。
例如,应用板111从安全性的观点出发,可以基于设置于特定的位置的设备的位置信息,使执行被要求立即地执行的处理(PID控制处理22)的程序执行文件由脊柱节点12执行,使执行不要求立即地执行的处理(MES 21的处理)的程序执行文件由智能节点11执行。
有时不希望通过特定的应用程序以外的应用程序,使某些特定的设备节点13-14进行动作。例如,通过除了该设备节点13-14专用的应用程序以外的其它应用程序对进行核反应堆的控制棒的***这样的设备节点13-14进行PID控制是有可能伴有危险的,不优选。在如上所述的情况下,例如,应用板111可以对设备节点13-14的动作进行限制,以使得仅在某些设备节点13-14接收到来自特定的应用程序或者来自特定的账户的命令的情况下进行动作。
例如,在上述特定的应用程序以外的应用程序中包含有利用上述特定的设备节点13-14的处理的情况下,不使应用板111进行编译(设为编译错误),由此使得不生成程序执行文件。例如,关于包含利用上述特定的设备节点13-14的处理的应用程序,可以在接收到来自上述特定的账户以外的账户的编译执行指示的情况下,应用板111设为编译错误,由此使得不生成程序执行文件。
(Co-innovation空间的动作)
下面,对Co-innovation空间的动作进行说明。图15及图16是表示在本发明的实施方式所涉及的应用开发环境提供***1进行安装的Co-innovation空间的动作的一个例子的流程图。
图15示出在Co-innovation空间中生成应用程序,生成的应用程序的一部分通过交流工具在账户(用户)间共享时的Co-innovation空间的动作。
(步骤S001)应用板111在显示部显示Co-innovation空间画面。应用板111与由用户进行的操作相应地生成应用程序。应用板111生成与所生成的应用程序的构造相关的布局信息、接线信息等。然后,向步骤S002进入。
(步骤S002)应用板111在Co-innovation空间画面的应用设计区域,将在步骤S001中生成的应用程序视觉性地显示。然后,向步骤S003进入。
(步骤S003)应用板111与由用户进行的操作相应地,对在步骤S002中视觉性地显示出的应用程序的一部分的区域进行选择,生成表示该选择出的区域的信息即选择区域信息。然后,向步骤S004进入。
(步骤S004)应用板111基于在步骤S003中生成的选择区域信息,取得与选择出的区域相应的应用程序及参数信息。然后,向步骤S005进入。
(步骤S005)交流工具112与由用户进行的操作(例如,用户将表示选择出的应用程序的一部分的区域拖放至聊天画面的消息显示区域的操作)相应地,基于在步骤S001至步骤S004中应用板111取得的应用程序、参数信息、布局信息、接线信息及选择区域信息等,在交流工具112的消息区域中将表示应用程序的一部分的信息视觉性地进行显示。然后,向步骤S006进入。
(步骤S006)交流工具112与由用户进行的操作(例如,用户在聊天画面中点击发送按钮的操作)相应地,将表示应用程序的一部分的信息发送至其它用户的交流工具,使该信息视觉性地显示。
(步骤S007)接收到表示应用程序的一部分的信息的该用户,与由用户进行的对视觉性地显示出的信息的操作(例如,用户将在聊天画面的消息显示区域中视觉性地显示出的信息拖放至所述应用设计区域的操作)相应地,将在步骤S001至步骤S004中应用板111取得的应用程序、参数信息、布局信息、接线信息及选择区域信息等复制于应用设计区域。以上,本流程图的处理结束。
图16示出应用板111生成应用程序,进行分割编译而生成程序执行文件,在云计算环境中使应用程序执行的一系列的动作。
(步骤S101)应用板111与由用户进行的操作相应地,生成应用程序。然后,向步骤102进入。
(步骤S102)应用板111取得针对在步骤S101中生成的应用程序的、表示与由用户进行的操作相应地输入的编译执行指示的信息。然后,向步骤S103进入。
(步骤S103)应用板111对在步骤S101中生成的应用程序进行解析,提取该应用程序所包含的处理。然后,向步骤S104进入。
(步骤S104)应用板111按照规定的条件,对在步骤S103中提取出的处理进行分类。例如,应用板111基于在由提取出的各个处理进行控制的设备节点13-14中预先设定的控制周期的长度对各处理进行分类。例如,如果该控制周期是小于或等于1秒的长度,则应用板111将提取出的处理分类为在脊柱节点12中执行的处理。另一方面,如果该控制周期比1秒长,则应用板111将提取出的处理分类为在智能节点11中执行的处理。然后,向步骤S105进入。
(步骤S105)应用板111在步骤S104中分类出的各处理组所包含的各个处理中,在包含有伴随与包含该处理的处理组不同的处理组所包含的处理之间的数据输入输出的处理的情况下,将表示该数据输入输出中的数据输出目标及数据输入源的信息赋予给执行该处理的应用程序。
例如,应用板111在脊柱节点12中执行的处理中包含有进行向在智能节点11中执行的处理的数据输出的处理的情况下,将对在作为数据输出目标的智能节点11中执行的处理进行识别的识别信息赋予给在脊柱节点12中执行的应用程序。另一方面,对在智能节点11中执行的应用程序赋予对在作为数据输入源的脊柱节点12中执行的处理进行识别的识别信息。然后,向步骤S106进入。
(步骤S106)应用板111针对在步骤S104中分类出的每个处理组执行编译(分割编译),由此生成针对分类出的每个处理组的程序执行文件。例如,应用板111分别生成在脊柱节点12中执行的程序执行文件(第1程序执行文件)和在智能节点11中执行的程序执行文件(第2程序执行文件)。然后,向步骤S107进入。
(步骤S107)应用板111使在脊柱节点12中执行的程序执行文件在脊柱节点12中执行。另一方面,应用板111使在智能节点11中执行的程序执行文件在智能节点11中执行。在步骤S105中对各应用程序分别赋予了表示数据输出目标及数据输入源的信息,由此上述两者的程序执行文件联动地被执行。由此,实现期望的应用程序的功能。以上,本流程图的处理结束。
以上,如说明所述,本实施方式所涉及的应用开发环境提供***1,经由通信网络而提供应用程序的开发环境。应用开发环境提供***1能够通过应用板111(程序开发部),基于来自与开发环境连接的终端的输入而生成应用程序,能够将生成的应用程序视觉性地显示。应用开发环境提供***1能够通过交流工具112(交流部),进行利用开发环境的多个用户间的交流,能够将由应用板111(程序开发部)生成的应用程序的一部分或者全部视觉性地显示在指定出的终端中。
以上,如说明所述,本实施方式所涉及的应用开发环境提供***1,在需要与应用程序所包含的各个处理内容相应地考虑执行处理的迅速性、防御及安全性等要素的情况下,基于该要素对处理内容进行分类,生成针对分类出的每个处理内容而各自分割了程序执行文件的应用程序。而且,分割而生成的多个程序执行文件,各自在云计算环境中的不同的层中被执行。
由此,本实施方式所涉及的应用开发环境提供***1,例如在工业自动化及生产***等中的如PID控制等伴有反馈的处理那样包含有要求迅速性的处理的情况下,使要求迅速性的处理在脊柱节点12中执行,由此能够减小由数据通信中的延迟、波动等造成的影响,能够生成控制等的处理容易正常地进行的应用程序。
以上,本实施方式所涉及的应用开发环境提供***1,能够实现在云计算环境中使用的、分割了程序执行文件的应用程序的高效的开发。
以上,对本发明的实施方式进行了详细说明,但具体的结构并不限定于上述的内容,在不脱离本发明的主旨的范围内能够进行各种设计变更等。
第1网络中的处理,与其负载状况相应地由多个装置分散处理(负载平衡)。与负载的状况相应地,预先指定出的多个装置协同,分担而进行处理。分担比率可以是固定的,也可以是可变的。在进行分散处理时,有可能发生下述情况,即,对传感器、设备进行收容的装置向不同的装置变更。在该情况下,该多个装置协同,进行传感器、设备的交接的处理。即,在第1网络收容至少大于或等于2个装置的情况下,应用板111可以与该装置的负载状况相应地生成在与该装置之间进行分散处理的第1程序执行文件。
可以将上述的实施方式中的应用开发环境提供***1的一部分或全部由计算机实现。在该情况下,可以将用于实现该控制功能的大于或等于一个程序记录于计算机可读取的存储介质,使计算机***读入在该存储介质中记录的大于或等于一个程序并执行,由此实现。
在这里所说的“计算机***”是指内置于应用开发环境提供***1的计算机***,且包含OS、周边仪器等硬件。“计算机可读取的存储介质”是指软盘、光磁盘、ROM、CD-ROM等可移动介质、内置于计算机***的硬盘等存储装置。
并且,“计算机可读取的存储介质”是指可以如经由互联网等网络、电话线路等通信线路对程序进行发送的情况下的通信线路那样,短时间、动态地对程序进行保存的存储介质,如成为该情况下的服务器、客户端的计算机***内部的易失性存储器那样,以一定时间对程序进行保存的存储介质。另外,上述程序可以用于实现前述的功能的一部分,也可以通过进一步与将前述的功能已经记录于计算机***的程序的组合而实现。
可以将上述的实施方式中的应用开发环境提供***1作为LSI(Large ScaleIntegration)等集成电路而实现。应用开发环境提供***1的各功能块可以单独地进行处理器化,也可以将一部分或全部集成而进行处理器化。集成电路化的方法并不限定于LSI,也可以通过专用电路或通用处理器实现。在通过半导体技术的进步而出现取代LSI的集成电路化的技术的情况下,可以使用通过该技术而得到的集成电路。
在本说明书中“前、后、上、下、右、左、垂直、水平、下、横、行以及列”等表示方向的词语提及的是在本发明的装置中的上述方向。因此,在本发明的说明书中的这些词语在本发明的装置中应相对性地进行解释。
“构成”这个词语为了执行本发明的功能而被构成、或者为了表示装置的结构、要素、部分而使用。
并且,在权利请求书中,作为“方法加功能”而表达表现的词语,是指应该包含为了执行本发明所包含的功能而能够利用的、应该包含所有构造在内的词语。
“单元”这个词被用于表示结构要素、单元、硬件、或表示为了执行希望的功能而编程的软件的一部分。硬件的典型例是设备、电路,但不限于此。
以上,对本发明的优选实施例进行了说明,但本发明不限定于这些实施例。在不脱离于本发明的宗旨的范围内,能够进行结构的添加、省略、置换、以及其它变更。本发明不被所述的说明所限定,只被添附的权利请求书所限定。
标号的说明
1…应用开发环境提供***,10…社交化节点,11…智能节点,12…脊柱节点,13…设备节点(传感器),14…设备节点(设备),21…MES(制造执行***),22…PID控制处理,111…应用板(程序开发部),112…交流工具(交流部),113…库,114…储存器,115…设备管理部,116…承租方管理部,117…站点·账户管理部,118…应用商店,119…收费部,120…数据库部。
Claims (20)
1.一种应用开发环境提供***,其经由网络而提供应用程序的开发环境,
在该应用开发环境提供***中,
在所述网络中包含:第1网络,其收容至少1个装置,执行以小于或等于预先设定的基准时间的控制周期控制所述装置的处理;以及第2网络,其与至少1个所述第1网络连接,执行不要求以小于或等于所述基准时间的周期执行的与所述装置的控制相关的处理,
该应用开发环境提供***具有程序开发部,该程序开发部将所述应用程序所包含的处理根据是否被要求以小于或等于所述基准时间的周期执行而分类为在所述第1网络中执行的第1处理和在所述第2网络中执行的第2处理,生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
2.根据权利要求1所述的应用开发环境提供***,其中,
所述程序开发部在由所述应用程序控制的所述装置的控制周期的长度小于或等于所述基准时间的长度的情况下,将所述处理分类为所述第1处理,在由所述应用程序控制的所述装置的控制周期的长度比所述基准时间的长度长的情况下,将所述处理分类为所述第2处理。
3.根据权利要求1所述的应用开发环境提供***,其中,
所述程序开发部基于表示由所述应用程序控制的所述装置的位置的位置信息,将所述处理分类为所述第1处理和所述第2处理。
4.根据权利要求1所述的应用开发环境提供***,其中,
所述程序开发部基于在所述应用程序中预先定义出的、表示是在所述第1网络或者所述第2网络的哪一个中执行的处理的信息,将所述处理分类为所述第1处理和所述第2处理。
5.根据权利要求1所述的应用开发环境提供***,其中,
所述程序开发部在参照从由所述应用程序控制的所述装置向所述第1网络送出的通信内容而判断为需要执行所述处理的情况下,将所述处理分类为所述第1处理,在参照从所述装置向所述第1网络送出的通信内容而判断为不需要执行所述处理的情况下,将所述处理分类为所述第2处理。
6.根据权利要求1至5中任一项所述的应用开发环境提供***,其中,
所述程序开发部生成所述第1程序执行文件和所述第2程序执行文件,
该第1程序执行文件指定有:第1输出目标处理识别信息,其对将通过在所述第1网络中执行的数据输出处理而输出的数据进行输入的在所述第2网络中执行的数据输入处理进行识别;以及第1输入源处理识别信息,其对将通过在所述第1网络中执行的数据输入处理而输入的数据进行输出的在所述第2网络中执行的数据输出处理进行识别,
该第2程序执行文件指定有:第2输出目标处理识别信息,其对将通过在所述第2网络中执行的数据输出处理而输出的数据进行输入的在所述第1网络中执行的数据输入处理进行识别;以及第2输入源处理识别信息,其对将通过在所述第2网络中执行的数据输入处理而输入的数据进行输出的在所述第1网络中执行的数据输出处理进行识别。
7.根据权利要求1至5中任一项所述的应用开发环境提供***,其中,
在所述第1网络收容至少大于或等于2个装置的情况下,
所述程序开发部生成所述第1程序执行文件,该第1程序执行文件用于与所述至少大于或等于2个装置的负载状况相应地使所述至少大于或等于2个装置进行分散处理。
8.根据权利要求1至5中任一项所述的应用开发环境提供***,其中,
所述第1网络是作为网关起作用的脊柱节点,
所述第2网络是提供云计算环境的社交化节点。
9.一种应用开发环境提供方法,其是经由网络而提供应用程序的开发环境的由计算机实现的应用开发环境提供方法,
在该应用开发环境提供方法中,
在所述网络中包含:第1网络,其收容至少1个装置,执行以小于或等于预先设定的基准时间的控制周期控制所述装置的处理;以及第2网络,其与至少1个所述第1网络连接,执行不要求以小于或等于所述基准时间的周期执行的与所述装置的控制相关的处理,
程序开发部将所述应用程序所包含的处理根据是否被要求以小于或等于所述基准时间的周期执行而分类为在所述第1网络中执行的第1处理和在所述第2网络中执行的第2处理,
所述程序开发部生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
10.一种计算机可读取的非易失性的存储介质,其是对由计算机执行的大于或等于一个程序进行存储的计算机可读取的非易失性的存储介质,通过所述大于或等于一个程序,
经由包含第1网络和第2网络在内的网络而提供应用程序的开发环境,该第1网络收容至少1个装置,执行以小于或等于预先设定的基准时间的控制周期控制所述装置的处理,该第2网络与至少1个所述第1网络连接,执行不要求以小于或等于所述基准时间的周期执行的与所述装置的控制相关的处理,
将所述应用程序所包含的处理根据是否被要求以小于或等于所述基准时间的周期执行而分类为在所述第1网络中执行的第1处理和在所述第2网络中执行的第2处理,
生成在所述第1网络中执行的第1程序执行文件、和在所述第2网络中与第1程序执行文件联动地执行的第2程序执行文件。
11.一种信息处理装置,其是经由网络而提供应用程序的开发环境的应用开发环境提供***中的信息处理装置,
在该信息处理装置中,
在所述网络中包含:第1网络,其收容至少1个装置,执行以小于或等于预先设定的基准时间的控制周期控制所述装置的处理;以及第2网络,其与至少1个所述第1网络连接,执行不要求以小于或等于所述基准时间的周期执行的与所述装置的控制相关的处理,
使根据是否被要求以小于或等于所述基准时间的周期执行而分类为在所述第1网络中执行的第1处理和在所述第2网络中执行的第2处理的所述应用程序所包含的处理中的、执行所述第1处理的第1程序执行文件与执行所述第2处理的第2程序执行文件联动地执行。
12.根据权利要求11所述的信息处理装置,其中,
所述信息处理装置在由所述应用程序控制的所述装置的控制周期的长度小于或等于所述基准时间的长度的情况下,执行作为所述第1处理而分类并生成的所述第1程序执行文件。
13.根据权利要求11所述的信息处理装置,其中,
所述信息处理装置基于表示由所述应用程序控制的所述装置的位置的位置信息,执行被分类为所述第1处理并生成的所述第1程序执行文件。
14.根据权利要求11所述的信息处理装置,其中,
所述信息处理装置基于在所述应用程序中预先定义出的、表示是在所述第1网络或者所述第2网络的哪一个中执行的处理的信息,执行被分类为所述第1处理并生成的所述第1程序执行文件。
15.根据权利要求11所述的信息处理装置,其中,
在参照从由所述应用程序控制的所述装置向所述第1网络送出的通信内容而判断为需要执行所述处理的情况下,将所述处理分类为所述第1处理,在参照从所述装置向所述第1网络送出的通信内容而判断为不需要执行所述处理的情况下,将所述处理分类为所述第2处理,
所述信息处理装置执行被分类为所述第1处理并生成的所述第1程序执行文件。
16.根据权利要求11至15中任一项所述的信息处理装置,其中,
所述信息处理装置执行所述第1程序执行文件,该第1程序执行文件指定有:输出目标处理识别信息,其对将通过在所述第1网络中执行的数据输出处理而输出的数据进行输入的在所述第2网络中执行的数据输入处理进行识别;以及输入源处理识别信息,其对将通过在所述第1网络中执行的数据输入处理而输入的数据进行输出的在所述第2网络中执行的数据输出处理进行识别。
17.根据权利要求11至15中任一项所述的信息处理装置,其中,
在所述第1网络收容至少大于或等于2个装置的情况下,
所述信息处理装置执行所述第1程序执行文件,该第1程序执行文件用于与所述至少大于或等于2个装置的负载状况相应地使所述至少大于或等于2个装置进行分散处理。
18.根据权利要求11至15中任一项所述的信息处理装置,其中,
所述第1网络是作为网关起作用的脊柱节点,
所述第2网络是提供云计算环境的社交化节点。
19.一种应用开发环境提供方法,其是经由网络而提供应用程序的开发环境的由计算机实现的应用开发环境提供方法,
在该应用开发环境提供方法中,
在所述网络中包含:第1网络,其收容至少1个装置,执行以小于或等于预先设定的基准时间的控制周期控制所述装置的处理;以及第2网络,其与至少1个所述第1网络连接,执行不要求以小于或等于所述基准时间的周期执行的与所述装置的控制相关的处理,
使根据是否被要求以小于或等于所述基准时间的周期执行而分类为在所述第1网络中执行的第1处理和在所述第2网络中执行的第2处理的所述应用程序所包含的处理中的、执行所述第1处理的第1程序执行文件与执行所述第2处理的第2程序执行文件联动地执行。
20.一种计算机可读取的非易失性的存储介质,其是对由计算机执行的大于或等于一个程序进行存储的计算机可读取的非易失性的存储介质,通过所述大于或等于一个程序,
经由包含第1网络和第2网络在内的网络而提供应用程序的开发环境,该第1网络收容至少1个装置,执行以小于或等于预先设定的基准时间的控制周期控制所述装置的处理,该第2网络与至少1个所述第1网络连接,执行不要求以小于或等于所述基准时间的周期执行的与所述装置的控制相关的处理,
使根据是否被要求以小于或等于所述基准时间的周期执行而分类为在所述第1网络中执行的第1处理和在所述第2网络中执行的第2处理的所述应用程序所包含的处理中的、执行所述第1处理的第1程序执行文件与执行所述第2处理的第2程序执行文件联动地执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016193454A JP6769218B2 (ja) | 2016-09-30 | 2016-09-30 | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、および情報処理装置 |
JP2016-193454 | 2016-09-30 | ||
PCT/JP2017/031585 WO2018061614A1 (ja) | 2016-09-30 | 2017-09-01 | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、情報処理装置、およびコンピュータ読み取り可能な非一時的記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109791481A CN109791481A (zh) | 2019-05-21 |
CN109791481B true CN109791481B (zh) | 2022-05-06 |
Family
ID=61763450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780059784.7A Active CN109791481B (zh) | 2016-09-30 | 2017-09-01 | 应用开发环境提供***、方法、信息处理装置及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11281456B2 (zh) |
EP (1) | EP3522009A4 (zh) |
JP (1) | JP6769218B2 (zh) |
CN (1) | CN109791481B (zh) |
WO (1) | WO2018061614A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629108B1 (de) | 2018-09-28 | 2022-08-24 | Siemens Aktiengesellschaft | Projektierung eines automatisierungssystems |
KR102319157B1 (ko) * | 2019-01-21 | 2021-10-29 | 라인플러스 주식회사 | 메신저 내 플랫폼에 추가된 애플리케이션을 이용하여 대화방에서 정보를 공유하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체 |
JP7115507B2 (ja) * | 2020-04-27 | 2022-08-09 | 横河電機株式会社 | ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム |
JP2023027964A (ja) * | 2021-08-18 | 2023-03-03 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010528361A (ja) * | 2007-05-22 | 2010-08-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複数の装置を有するネットワーク制御システムのコンパイラ及びコンパイル方法 |
CN103955373A (zh) * | 2014-04-30 | 2014-07-30 | 浙江工商大学 | 一种sdn应用集成开发环境的设计方法 |
CN104950741A (zh) * | 2014-03-26 | 2015-09-30 | 洛克威尔自动控制技术股份有限公司 | 用于***连接的多控制器的配置管理接口 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7970830B2 (en) | 2009-04-01 | 2011-06-28 | Honeywell International Inc. | Cloud computing for an industrial automation and manufacturing system |
US20150051930A1 (en) * | 2012-03-28 | 2015-02-19 | Hitachi Systems, Ltd. | Application development sales support system |
JP5914245B2 (ja) * | 2012-08-10 | 2016-05-11 | 株式会社日立製作所 | 多階層の各ノードを考慮した負荷分散方法 |
US9043458B2 (en) | 2013-03-19 | 2015-05-26 | Cognizant Technology Solutions India Pvt. Ltd. | Framework for facilitating implementation of multi-tenant SaaS architecture |
US10095509B2 (en) | 2015-02-04 | 2018-10-09 | Sap Se | Supporting developer-user collaborative software review in IDE |
-
2016
- 2016-09-30 JP JP2016193454A patent/JP6769218B2/ja active Active
-
2017
- 2017-09-01 EP EP17855572.8A patent/EP3522009A4/en active Pending
- 2017-09-01 WO PCT/JP2017/031585 patent/WO2018061614A1/ja unknown
- 2017-09-01 US US16/337,079 patent/US11281456B2/en active Active
- 2017-09-01 CN CN201780059784.7A patent/CN109791481B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010528361A (ja) * | 2007-05-22 | 2010-08-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複数の装置を有するネットワーク制御システムのコンパイラ及びコンパイル方法 |
CN104950741A (zh) * | 2014-03-26 | 2015-09-30 | 洛克威尔自动控制技术股份有限公司 | 用于***连接的多控制器的配置管理接口 |
CN103955373A (zh) * | 2014-04-30 | 2014-07-30 | 浙江工商大学 | 一种sdn应用集成开发环境的设计方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3522009A1 (en) | 2019-08-07 |
JP2018055565A (ja) | 2018-04-05 |
JP6769218B2 (ja) | 2020-10-14 |
WO2018061614A1 (ja) | 2018-04-05 |
EP3522009A4 (en) | 2020-04-29 |
US20200057631A1 (en) | 2020-02-20 |
CN109791481A (zh) | 2019-05-21 |
US11281456B2 (en) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110023902B (zh) | 应用开发环境提供***、方法、终端装置、应用显示方法 | |
US10445944B2 (en) | Augmented reality safety automation zone system and method | |
US20230324894A1 (en) | Collaboration tools | |
EP3187951B1 (en) | Delivery of automated notifications by an industrial asset | |
US11663553B2 (en) | Cloud-based collaborative industrial automation design environment | |
CN109791481B (zh) | 应用开发环境提供***、方法、信息处理装置及存储介质 | |
EP3018596B1 (en) | Dynamic search engine for an industrial environment | |
CN112558928A (zh) | 虚拟设计环境 | |
US20130124253A1 (en) | Industry-specific workflows in a manufacturing execution system | |
CN104142630A (zh) | 用信息叠加把基于云的数据用于工业自动化环境的虚拟化 | |
US11010201B2 (en) | Information processing device, resource allocation system, and resource allocation method | |
EP4030246A1 (en) | System and method of industrial automation multi-developer control code change commits | |
CN115623014A (zh) | 数字工程安全远程访问 | |
EP4060479A1 (en) | Notifications from an industrial automation development environment | |
CN115617447A (zh) | 数字工程虚拟机基础设施 | |
CN115617385A (zh) | 工业自动化控制项目转换 | |
CN115622727A (zh) | 工业自动化安全远程访问 | |
EP3968110A1 (en) | Digital engineering on an industrial development hub | |
US10235447B2 (en) | Method and system for co-operative intelligent HMIs for effective process operations | |
US11803175B2 (en) | Industrial machine monitoring path for computerized maintenance management system | |
EP4332705A1 (en) | Industrial automation system topology with point to point representation paths | |
EP4325795A1 (en) | Background discovery agent orchestration |
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 |