CN103069386A - 控制程序生成装置、控制程序生成程序以及控制程序生成方法 - Google Patents

控制程序生成装置、控制程序生成程序以及控制程序生成方法 Download PDF

Info

Publication number
CN103069386A
CN103069386A CN2011800394510A CN201180039451A CN103069386A CN 103069386 A CN103069386 A CN 103069386A CN 2011800394510 A CN2011800394510 A CN 2011800394510A CN 201180039451 A CN201180039451 A CN 201180039451A CN 103069386 A CN103069386 A CN 103069386A
Authority
CN
China
Prior art keywords
program
control
control program
information
unit
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
Application number
CN2011800394510A
Other languages
English (en)
Other versions
CN103069386B (zh
Inventor
久代纪之
中田成宪
伊藤善朗
小泉吉秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN103069386A publication Critical patent/CN103069386A/zh
Application granted granted Critical
Publication of CN103069386B publication Critical patent/CN103069386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23008Computer aided software engineering, program generation, case tools, CASE
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23261Use control template library
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2614HVAC, heating, ventillation, climate control

Abstract

控制程序生成装置(100)具备存储多个控制模块的控制程序再利用库(130)和存储多个表示架构模式的模式信息的架构模式库(120)。另外,控制程序生成装置(100)将从架构模式库(120)选择出的架构模式、具有该架构模式的控制程序的程序构造、控制模块的执行时间以及时间上的限制对应起来进行显示。另外,进而控制程序生成装置(100)根据程序构造来连结控制程序再利用库(130)的控制模块。

Description

控制程序生成装置、控制程序生成程序以及控制程序生成方法
技术领域
本发明涉及生成对硬件进行控制的控制程序的控制程序生成装置、控制程序生成程序以及控制程序生成方法。
背景技术
近年来,为了在短期间内开发多种多样规范的产品,进行了产品线开发。在该产品线开发中,将所开发的产品的使用范围确定为域,再利用(即,沿用)具有与属于所确定的域的其它多个产品共同的功能的部分,并且仅对具有并非共同的功能的部分(即,差别)进行开发,从而提高了产品的开发效率。
为了将这样已开发的软件程序再利用于新产品的开发,提出了如下的方法:从存储了多个用于使规定的电气设备进行规定的动作的程序的存储部,根据使该电气设备执行的一连串的动作过程来选择多个程序,并且综合所选择的多个程序,从而自动生成对该电气设备进行控制的微处理器的执行程序(例如,参照专利文献1)。
另外,为了支援程序的设计中使用的图表的制作,提出了如下的系统:根据某程序的设计中使用的某个种类的图表与其它程序的设计中使用的其它种类的图表之间的关系知识,对在不同种类的图表之间产生的矛盾进行验证(例如,参照专利文献2)。
而且,提出了如下的软件执行装置:使用计算机虚拟地形成通过所生成的控制程序来控制的硬件,并且使所形成的虚拟的硬件的动作定时与对虚拟的硬件执行的控制程序的动作定时对应于实际的动作定时(例如,参照专利文献3)。
专利文献1:日本特开平04-283802号公报
专利文献2:日本特开平07-152544号公报
专利文献3:日本特开平10-161906号公报
发明内容
但是,在专利文献1公开的方法中,并非根据程序的基本设计(即,架构(architecture))来生成程序。因此,即使在制作架构的模式与已经生成的程序共同的程序的情况下,也无法再利用已经制作并实际运用等而确保可靠性的架构模式,所以无法高效地开发可靠性高的程序。
另外,在专利文献2公开的系统中,未公开对程序的构造进行描述的方法。因此,程序的设计者难以识别程序的构造,难以再利用程序模块以及架构。
而且,在专利文献3公开的软件执行装置中,无法显示使控制程序承担的时间上的限制、和构成控制程序的控制模块的执行时间。因此,设计者难以识别再利用什么样的控制模块来制作控制程序才能够生成可满足时间上的限制的程序,难以再利用程序模块以及架构。
本发明是鉴于上述实际情况而完成的,其目的在于提供一种通过再利用程序模块以及架构从而能够高效地生成可靠性高的硬件的控制程序的控制程序生成装置、控制程序生成程序以及控制程序生成方法。
为了达成上述目的,本发明的控制程序生成装置具备:
控制模块存储单元,存储多个对硬件的动作进行控制的控制模块;
模式信息存储单元,存储多个表示架构模式的模式信息,其中,所述架构模式是与由多个所述控制模块中的1个以上的控制模块构成的控制程序的架构共同的程序构造;
模式选择信息取得单元,取得选择所述存储的模式信息的模式选择信息;
限制信息取得单元,取得限制信息,其中,该限制信息表示具有由根据所述模式选择信息选择出的模式信息所表示的架构模式的控制程序的执行时间所承担的时间上的限制;
显示控制单元,使由所述选择出的模式信息所表示的架构模式、具有所述架构模式的控制程序的程序构造、构成所述控制程序的控制模块的执行时间、以及由所述取得的限制信息所表示的时间上的限制对应起来显示于显示部;
描述信息取得单元,取得对针对所述控制程序的程序构造的变更内容进行描述的描述信息;
程序编辑单元,根据所述取得的描述信息,编辑所述控制程序的程序构造;以及
程序生成单元,根据所述编辑的程序构造来连结所述控制模块存储单元中存储的控制模块,从而生成对硬件进行控制的控制程序。
根据本发明的控制程序生成装置、控制程序生成程序以及控制程序生成方法,能够高效地生成可靠性高的硬件的控制程序。
附图说明
在图1中,(a)是示出由本发明的实施方式的控制程序生成装置构成的系统的一个例子的系统结构图。(b)是示出控制程序生成装置的一个结构例的硬件结构图。
图2是示出控制程序生成装置执行的控制程序生成处理的一个例子的流程图。
在图3中,(a)是示出控制程序生成装置具有的功能的一个例子的功能框图。(b)是示出程序编辑部的一个结构例的图。
在图4中,(a)是示出域模式表格的一个例子的图。(b)是示出模式构造描述表格的一个例子的图。(c)是示出构造描述表格的一个例子的图。(d)是示出规范表格的一个例子的图。(e)是示出控制模块表格的一个例子的图。
在图5中,(a)是示出编辑画面的一个例子的图。(b)是示出构造模板显示区的一个例子的图。
图6是示出程序构造的一个例子的图。
图7是示出本体语言(规范)的一个例子的图。
在图8中,(a)是用于详细说明结合点规范以及限制规范的图。(b)是示出控制模块的执行时间的显示例的图。(c)是示出富余时间的显示例的图。
在图9中,(a)是示出表示处理的重复构造的本体语言(规范)的一个例子的图。(b)是示出表示多输入处理或者多输出处理的本体语言(规范)的一个例子的图。
图10是示出控制程序生成装置执行的限制信息显示控制处理的一个例子的流程图。
在图11中,(a)是示出验证范围的一个例子的图。(b)是示出解析结果显示画面的一个例子的图。(c)是示出解析结果显示画面的其它例子的图。
(符号说明)
1:控制程序生成系统;100:控制程序生成装置;100a:CPU;100b:ROM;100c:RAM;100d:硬盘;100e:媒体控制器;100f:LAN卡;100g:视频卡;100h:LCD;100i:键盘;100j:鼠标;110:程序编辑部;111:执行时间推测部;112:富余时间计算部;113:程序构造编辑部;120:架构模式库;130:控制程序再利用库;140:控制程序构造描述语言规范库;151:域选择信息取得部;152:模式选择信息取得部;153:限制信息取得部;154:描述信息取得部;155:验证范围信息取得部;160:显示控制部;170:程序生成部;180:信息通信部;190:程序模拟部;195:动作解析部;200:试验用实体设备。
具体实施方式
以下,参照附图,说明由本发明的实施方式的控制程序生成装置100构成的控制程序生成系统1。
控制程序生成系统1构成为包括图1的(a)所示那样的控制程序生成装置100和试验用实体设备200。
首先,在说明控制程序生成装置100之前,说明试验用实体设备200。
试验用实体设备200例如由空调设备(以下称为空调)的控制器构成,与控制程序生成装置100以及未图示的空调连接。试验用实体设备200是通过执行由控制程序生成装置100生成的控制程序从而对作为硬件的空调设备进行控制的实体设备,被追加有进行控制程序的试验的功能。该试验用实体设备200如果从控制程序生成装置100接收到控制程序,则试验执行所接收到的控制程序。之后,如果执行结束,则试验用实体设备200将表示执行结果的试验结果信息回送到控制程序生成装置100。该试验结果信息例如包括将对构成控制程序的控制模块进行识别的模块ID或者模块名、与表示控制模块的执行时刻的执行时刻信息对应起来的信息。
另外,控制模块的执行时刻包括执行开始时刻和执行结束时刻,试验结果包括对控制模块进行识别的模块ID或者模块名、以及表示控制模块的执行开始时刻至执行结束时刻的执行期间的执行期间。另外,试验结果也可以进一步包括执行时刻以及该执行时刻下的控制模块的变量值。
另外,实体设备不限于空调的控制器,既可以是对在大厦中使用的电梯、照明、停车场、以及安全装置等硬件进行控制的控制器,也可以是对在家庭(以下称为住宅)中使用的太阳能发电机、空调机、地暖、热水供应器、通风装置、以及安全装置等硬件进行控制的控制器。
控制程序生成装置100如图1的(b)所示,构成为包括CPU(Central Processing Unit,中央处理单元)100a、ROM(Read OnlyMemory,只读存储器)100b、RAM(Random Access Memory,随机存取存储器)100c、硬盘100d、媒体控制器100e、LAN卡(LocalArea Network,局域网)100f、视频卡100g、LCD(Liquid CrystalDisplay,液晶显示器)100h、键盘100i、以及指示设备(以下简称为鼠标)100j。
CPU100a依照ROM100b或者硬盘100d中保存的程序来执行软件处理(即,信息处理),从而进行控制程序生成装置100的整体控制。在由CPU100a执行程序时,RAM100c临时存储作为处理对象的信息(即,数据)。
硬盘100d存储后述那样的保存了各种信息(即,数据)的表(即,表格)。另外,控制程序生成装置100也可以代替硬盘100d而具备闪存。
媒体控制器100e从记录介质读出各种数据以及程序。另外,记录介质包括闪存、CD(Compact Disc,光盘)、DVD(Digital VersatileDisc,数字多功能盘)、以及蓝光光盘(Blu-ray Disc)。
LAN卡100f在与经由通信网10连接的试验用实体设备200之间发送和接收数据以及指令。
视频卡100g根据从CPU100a输出的数字信号来描绘(即,绘制)图像,并且输出表示所描绘的图像的图像信号。LCD100h依照从视频卡100g输出的图像信号来显示图像。另外,控制程序生成装置100也可以代替LCD100h而具备PDP(Plasma Display Panel,等离子显示面板)或者EL(Electroluminescence,电致发光)显示器。
键盘100i以及鼠标100j输入与用户的操作对应的信号。另外,控制程序生成装置100也可以代替键盘100i以及鼠标100j而具备触摸面板。
接下来,说明控制程序生成装置100执行的处理。
控制程序生成装置100的CPU100a执行图2的控制程序生成处理,从而作为图3的(a)所示的程序编辑部110、架构模式库(以下称为模式信息存储部)120、控制程序再利用库(以下称为控制模块存储部)130、控制程序构造描述语言规范库(以下称为描述信息存储部)140、域选择信息取得部151、模式选择信息取得部152、限制信息取得部153、描述信息取得部154、验证范围信息取得部155、显示控制部160、程序生成部170、信息通信部180、程序模拟部190以及动作解析部195而发挥功能。
如果开始执行图2的控制程序生成处理,则程序编辑部110从图3的(a)的模式信息存储部(即,架构模式库)120中存储的多个表格之一的如图4的(a)所示的域模式表格,取得表示通过由程序生成部170生成的控制程序来控制的硬件的域的域信息(步骤S01)。
此处,域是指使用硬件的范围。例如,如果硬件是电梯、空调、照明、停车场、或者安全装置,则这些硬件被使用在大厦中。因此,这些硬件的域包括大厦领域。另外,例如如果硬件是太阳能发电机、空调机、通风装置、热水供应器、或者安全装置,则这些硬件被使用在一般家庭中。因此,这些硬件的域包括住宅领域。另外,在图4的(a)的域模式表格中,作为域信息保存表示域名的信息和识别域的域ID,在域名中包括大厦领域以及住宅领域。
接下来,图3的(a)的显示控制部160对图1的(a)的LCD100h进行控制,使得一览显示利用程序编辑部110所取得的域信息来表示的域名(步骤S02)。
接下来,图3的域选择信息取得部151从被用户(即,控制程序的开发者)操作的键盘100i以及鼠标100j的1个以上(以下称为输入部)中,取得表示所显示的域名的域、且作为所生成的控制程序的域而被选择的域(以下称为选择域)的域选择信息(步骤S03)。例如,在生成对一般家庭中使用的硬件进行控制的控制程序的情况下,将住宅领域选择为域。
接下来,程序编辑部110从图4的(a)的域模式表格中检索1个以上的与在步骤S03中取得的表示选择域的域信息(以下称为选择域信息)相对应的模式信息(步骤S04)。此处,模式信息包括识别模式的模式ID、表示模式名的信息、以及表示模式内容的信息。
另外,本说明书中使用的模式这样的单词是指,与某域中使用的控制程序的架构共同的程序构造(以下称为共同构造)、即架构模式。另外,架构是指,程序的构造上的基本设计。
在步骤S04中,程序编辑部110根据选择域信息来检索模式ID,从图3的(a)的模式信息存储部(即,架构模式库)120中存储的多个表格之一的图4的(b)的模式构造描述表格中,检索表示与所检索出的模式ID相对应的模式名的信息以及表示模式内容的信息。
在图2的步骤S04之后,图3的(a)的显示控制部160根据程序编辑部110检索出的信息,生成通过与选择域的域ID相对应的模式ID来识别的1个以上的模式的模式名以及模式内容的一览,之后,对LCD100h进行控制,使得在图5的(a)所示那样的编辑画面F的构造模板显示区FS中显示所生成的一览(步骤S05)。这是因为,由于在某域中使用的多个硬件具有共同的功能的情况较多,所以关于对这些硬件进行控制的控制程序,将基本的设计设为共同(即,具有共同的架构)的情况较多。
另外,编辑画面F是对控制程序的程序构造以及程序构造的编辑内容进行显示的画面。另外,编辑画面F的构造模板显示区FS是图5的(b)所示那样的对与属于所选择的域的控制程序共同的程序构造且成为样品(即,模板)的部分(即,架构模式)的模式名以及模式内容进行显示的区域。
另外,编辑画面F的图标IC与如下指令关联起来,该指令例如发出命令使得进行对使用了编辑画面F的控制程序的制作作业的过程进行引导的导航显示、帮助显示、或者后述的仿真结果的摘要显示。
在具体说明图5的(b)的构造模板显示区FS中显示的架构模式时,“运转停止”这样的架构模式的模式内容是如下的程序构造:将使作为硬件的控制器显示控制画面等规定的“画面”的处理设为最初处理,将在检测到针对控制画面中显示的运转停止按钮的触摸操作之后在表示运转停止状态的参数中“储存”表示运转停止的值的处理设为中间处理,将向硬件“通信”命令运转停止的指令的处理设为最后处理。
在图2的步骤S05之后,模式选择信息取得部152从由用户操作的输入部,取得选择架构模式的模式选择信息,其中,该架构模式是所显示的模式名的模式,且作为所生成的控制程序的架构来使用(步骤S06)。
接下来,程序编辑部110从图4的(b)的模式构造描述表格中,检索与利用在步骤S06中取得的模式选择信息来选择出的选择模式的模式ID相对应的构造描述ID。接下来,程序编辑部110从图3的(a)的模式信息存储部(即,架构模式库)120中存储的多个表格之一的如图4的(c)所示的构造描述表格中,检索与所检索出的构造描述ID相对应的构造描述信息(步骤S07)。
此处,构造描述ID是指对构造描述进行识别的信息,构造描述信息是指表示构造描述的信息。另外,构造描述是指,在本实施方式中使用作为对程序构造进行描述的特别的语言的程序构造描述语言来表示的程序构造的描述。
此处,暂且参照图6来说明利用程序构造描述语言来描述的程序构造的一个例子。
图6的程序构造表示由控制空调的控制器执行的控制程序的程序构造。该控制程序是如下的程序:在从控制器的启动起10秒之后,逐个地执行调度列表中保持的空调控制,并且更新表示空调的控制状态的变量。
利用本体语言(以下简称为规范)N01至N11来表示图6的程序构造。规范N01表示程序函数的开始点。与从规范N01朝向规范N02的箭头连结的规范N02表示如果开始执行函数则进行下部的四边形中记载的数字所表示的秒(即“10”秒)的等待处理(以下称为待机处理)。
与从规范N02朝向规范N03的箭头连结的规范N03表示在规范N02的处理之后进行某个条件分支。同样地,规范N04表示在规范N03的处理之后进行某个条件分支。与将规范N04和规范N05进行连接的线段连结的规范N05表示针对表示调度列表的要素编号的变量“Schedule”储存(即,数据存储)规范N04的条件分支中的判别处理中使用的变量值。
在右侧附加了“否”的文字的从规范N04向规范N03返回的箭头表示在规范N04的条件分支中的判别结果是“假”的情况下再次重复进行规范N03的处理。相对于此,在下侧附加了“是”的文字的与从规范N04朝向规范N06的箭头连结的规范N06表示在规范N04的条件分支中的判别结果是“真”的情况下执行对空调的控制状态进行更新的函数。另外,与将规范N06和规范N07进行连接的线段连结的规范N07表示针对变量“Schedule”储存规范N06的处理中使用的变量值。规范N08以及N09分别与规范N07以及N04相同,所以省略说明。
在左侧附加了“否”的文字的与从规范N09朝向规范N10的箭头连结的规范N10表示在规范N09的条件分支中的判别结果是“假”的情况下使变量“Schedule”的值递增值“1”的处理。
从规范N10朝向N03的箭头表示在规范N10的处理之后再次重复进行规范N03的处理。另外,在下侧附加了“是”的文字的与从规范N09朝向规范N11的箭头连结的规范N11表示在规范N09的条件分支中的判别结果是“真”的情况下结束函数处理的执行。另外,也可以递归地记载规范。即,关于表示函数的规范,也可以利用表示函数中包含的多个处理的多个规范来表示。
此处,表示程序构造的本体语言(即,规范)不限于图6所示的规范N01至N11。例如,包括图7所示那样的表示值操作处理(即,针对数据的运算处理)的规范N25、表示初始化处理的规范N26、表示消息通信处理的规范N28、表示例外处理的规范N29、表示结合点(即,同步点)的规范N30、表示使控制程序的执行时间或者构成控制程序的多个控制模块的执行时间的总和承担的时间上的限制的规范N31及表示时间上的限制条件的规范N32、以及表示进程的控制的规范N33。另外,关于规范N21至N24以及规范N27,由于已经使用图6进行了说明,所以省略重复的说明。
接下来,参照图8的(a),详细说明图7的表示结合点的规范(以下称为结合点规范)N30和表示时间上的限制的规范(以下称为限制规范)N31。
利用表示函数的规范(以下称为函数规范)N21a至N21c、结合点规范N30a及N30b、以及限制规范N31来表示图8的(a)所示的程序构造。
从结合点规范N30a产生了2个箭头,所以结合点规范N30a表示生成2个进程的分岔处理。从结合点规范N30a产生的上侧的箭头在到达函数规范N21a之后,到达结合点规范N30b。相对于此,从结合点规范N30a产生的下侧的箭头在依次到达函数规范N21b以及N21c之后,到达结合点规范N30b。因此,结合点规范N30b表示在结合点规范N30a的处理中生成的2个进程分别等待如下情形(即,取得同步)的处理,其中,所述情形为:执行函数规范N21a的处理、以及函数规范N21b的处理及函数规范N21c的处理并结束。另外,限制规范N31利用从结合点规范N30a延伸的虚线和从结合点规范N30b延伸的虚线而表示使控制程序承担以3毫秒执行完从结合点规范N30a的处理至结合点规范N30b的处理(即,吞吐量成为3毫秒)这样的时间上的限制。
根据该结构,能够使由作为控制对象的硬件决定的控制程序的执行时间所承担的限制(即,时间上的限制)变得明确。
另外,关于表示程序构造的本体语言(即,规范),也可以如图9的(a)所示的表示“while文”的规范N41、表示“Do-while文”的规范N42、以及表示“For文”的规范N43那样,示出处理的重复构造(即,循环构造)。
另外,本体语言也可以包括图9的(b)所示那样的例如表示输入构造体(即,Structure Value)等的处理(即,多输入处理)的规范N51、以及表示输出构造体等的处理(即,多输出处理)的规范N52。
此处,返回图2,从步骤S07接着说明控制程序生成处理。
在步骤S07中在检索中使用的图4的(c)的构造描述表格是将构造描述ID与表示利用构造描述ID来识别的构造描述的构造描述信息对应起来保存的表格。构造描述表格的构造描述信息是将识别规范(即,本体语言)的规范ID、与从规范延伸的箭头连结(即,作为连结目的地)的规范的规范ID(以下称为连结目的地ID)、以及在规范表示条件分支的情况下包括箭头的旁边记载的表示“是”或者“否”的分支条件信息等的其它信息对应起来的信息。
在图3的(a)的描述信息存储部(即,控制程序构造描述语言规范库)140存储的多个表格之一的图4的(d)的规范表格中,将该规范ID与表示规范的规范信息对应起来进行了保存。另外,规范信息是指,参照图6至图9而说明的规范的种类、以及用于各个规范种类表示处理所需的其它信息。例如,在规范表示函数的情况下,其它信息表示函数名,在规范表示时间限制的情况下,其它信息表示限制时间、以及承担限制的多个规范。
此处,返回图2,接着说明控制程序生成处理。
在步骤S07之后,图3的(a)的显示控制部160根据程序编辑部110检索出的构造描述信息,对图1的(b)的LCD100h进行控制,使得在图5的(a)的编辑画面F的作业区FW中显示选择模式的程序构造(步骤S08)。
接下来,例如用户操作图1的(b)的鼠标100j,从而使LCD100h中显示的光标重叠于图5的(a)的作业区FW中显示的按钮BT之后,基于鼠标100j依据用户进行的点击操作而输入的信号,图3的(a)的程序生成部170判别是否指示了控制程序的生成(步骤S09)。
在步骤S09中,如果程序生成部170判别为未指示控制程序的生成(步骤S09:“否”),则程序编辑部110判别图3的限制信息取得部153是否从由用户操作的输入部取得了限制信息和对象信息(步骤S10)。另外,限制信息是指表示如下时间上的限制的信息,即,使所生成的控制程序的执行时间承担的时间上的限制、或者与构成所生成的控制程序并且依次执行的多个控制模块所表示的函数的总执行时间相对的时间上的限制。另外,对象信息是指表示承担时间上的限制的控制程序或者函数的信息。
在步骤S10中,如果程序编辑部110判别为取得了限制信息,则执行图10所示那样的限制信息显示控制处理(步骤S11)。
如果开始了图10的限制信息显示控制处理,则图3的(b)所示那样的程序编辑部110具有的执行时间推测部111根据承担由所取得的限制信息表示的时间限制的各个函数的函数ID或者函数名,从图4的(e)所示那样的控制模块表格,确定表示函数处理的控制模块。另外,控制模块表格是图3的(a)的控制模块存储部(即,控制程序再利用库)130中存储的多个表格之一。
接下来,执行时间推测部111例如关于所确定的各个控制模块,根据控制模块的步骤数、和执行由从输入部输入的信息所表示的控制程序的实体设备的性能(即,CPU性能等),推测函数的执行时间(步骤S31)。接下来,显示控制部160对LCD100h进行控制,使得所推测出的执行时间与对应于控制模块的函数规范对应起来进行显示(步骤S32)。之后,执行时间推测部111计算承担时间限制的1个以上的控制模块的执行时间的总和(步骤S33)。
接下来,图3的(b)所示的程序编辑部110具有的富余时间计算部112通过从由限制信息所表示的时间限制减去在步骤S33中计算出的总推测执行时间,从而计算出富余时间(步骤S34)。接下来,图3的(b)所示的程序编辑部110具有的程序构造编辑部113判别所计算出的富余时间是否为正的值(步骤S35)。
在步骤S35中,如果由程序构造编辑部113判别为富余时间是负的值(步骤S35:“否”),则图3的(a)的显示控制部160对图1的(b)的LCD100h进行控制,使得显示富余时间、并且显示违反时间上的限制的意思的错误消息(步骤S36)。之后,结束限制显示控制处理的执行。
在步骤S35中,如果由程序构造编辑部113判别为富余时间是正的值(步骤S35:“是”),则图3的(a)的显示控制部160对图1的(b)的LCD100h进行控制使得显示富余时间(步骤S37)。接下来,程序构造编辑部113从图3的(a)的控制模块存储部(即,控制程序再利用库)130中,检索不进行作为控制对象的硬件的控制的处理、或者进行使硬件待机富余时间的控制处理(即,待机处理)的控制模块。接下来,程序构造编辑部113将表示使用所检索出的控制模块来执行的函数的规范追加到承担时间上的限制的多个规范的执行顺序的开头、中间、以及最后中的某一个。之后,显示控制部160对LCD100h进行控制使得显示所追加的规范(步骤S38)。之后,结束限制显示控制处理的执行。
作为具体例,以如下情况为例子进行说明:如图8的(b)所示,在规范N30a至N30b之间描述规范N21a以及规范N21b,承担需要用总执行时间3毫秒来执行这些由规范N21a表示的函数A和由N21b表示的函数B这样的时间上的限制。在该情况下,执行时间推测部111推测为函数A的执行时间和函数B的执行时间都是“0.5”毫秒,将所推测出的执行时间的总和计算为“1”毫秒。接下来,显示控制部160对LCD100h进行控制,使得在比表示函数A的规范N21a靠下规定量的显示位置和比表示函数B的规范N21b靠下规定量的显示位置处显示所推测出的执行时间是“0.5”毫秒的意思。
接下来,富余时间计算部112从时间上的限制“3”毫秒减去所推测出的函数A的执行时间与函数B的执行时间之和“1”毫秒,将富余时间计算为“2”毫秒。另外,显示控制部160也可以与规范N21a及函数B相关联地进行控制显示,使得显示总执行时间是“1”毫秒的意思。
之后,程序构造编辑部113如图8的(c)所示,将表示用“2”毫秒来执行的待机处理的规范N21c追加到规范N21a以及规范N21b之后且规范N30b之前,显示控制部160对LCD100h进行控制使得在比规范N21c靠下规定量的显示位置处显示富余时间是“2”毫秒的意思。另外,表示待机处理的规范N21c既可以追加到规范N21a与规范N21b之前,也可以追加到规范N21a与规范N21b之间。
在图2的步骤S11之后,程序编辑部110判别图3的(a)的描述信息取得部154是否从由用户操作的输入部取得了对针对所显示的程序构造的变更内容进行描述的描述信息(步骤S12)。
另外,图5所示的编辑画面的部件显示区FP是对图3的(a)的描述信息存储部(即,控制程序构造描述语言规范库)140中存储的本体语言(即,规范)进行显示的区域,用户通过操作输入部,将部件显示区FP中显示的本体语言拖放到显示了程序构造的作业区FW,或者对所放置的规范进行编辑等,而使对程序构造的变更内容进行描述的描述信息输入到输入部。
在步骤S12中,如果程序编辑部110判别为未取得描述信息(步骤S12:“否”),则返回到步骤S09而重复进行上述处理。相对于此,如果程序编辑部110判别为取得了描述信息(步骤S12:“是”),则根据所取得的描述信息,编辑所显示的程序构造(步骤S13)。之后,显示控制部160对LCD100h进行控制,使得显示所编辑的程序构造(步骤S14)。之后,返回到步骤S09,重复进行上述处理。
在步骤S09中,如果程序生成部170判别为指示了控制程序的生成(步骤S09:“是”),则程序生成部170使用已经说明的图4的(d)的规范表格以及图4的(e)的控制模块表格,从图3的(a)的控制模块存储部(即,控制程序再利用库)130取得所显示的程序构造(以下为显示程序构造)中使用的控制模块(步骤S15)。另外,程序生成部170根据所显示的规范,生成无法取得的控制模块(即,无法再利用的新的控制模块等)。接下来,程序生成部170根据显示程序构造来连结所取得的控制模块,从而生成控制程序(步骤S16)。
另外,程序生成部170例如将对根据所显示的规范而生成的控制程序进行识别的识别信息或者表示程序名的信息、与利用所显示的规范来表示的限制信息以及对象信息对应起来,而保存到图3的描述信息存储部140中。
之后,图3的(a)的信息通信部180将所生成的控制程序发送到试验用实体设备200(步骤S17)。另外,试验用实体设备200安装所发送的控制程序,在试验模式下执行所安装的程序。试验用实体设备200在试验模式下执行控制程序时,把表示将控制程序的执行状态与执行时刻对应起来的执行结果的试验结果信息保存到试验用实体设备200所具有的存储部。另外,在本实施方式中,执行结果包括:控制程序的执行时刻;对构成控制程序的控制模块进行识别的识别信息或名称,或者对该控制模块的函数进行识别的识别信息(即,函数ID)或名称(即,函数名);以及对执行了该控制模块的进程进行识别的ID。之后,试验用实体设备200将试验结果信息回送到信息通信部180。
在步骤S17之后,图3的(a)的验证范围信息取得部155从由用户操作的输入部,取得表示对控制程序的执行进行验证的验证范围的验证范围信息(步骤S18)。
作为具体例,以利用图11的(a)所示那样的规范N21a至N21h来表示所生成的控制程序的程序构造的情况为例子进行说明。用户为了指定验证范围,操作输入部,从而将图11的(a)所示那样的探测器插入到规范N21a至N21h之间的位置。例如,在用户将探测器PB1插入到规范N21a、N21d以及N21g之前、并将探测器PB2插入到规范N21e以及N21h之后的情况下,验证范围成为某线程中的从由规范N21d表示的处理的开始至由规范N21e表示的处理的结束为止、以及其它线程中的从由规范N21g表示的处理的开始至由规范N21h表示的处理的结束为止。
另外,例如在用户将探测器PB1插入到规范N21a、N21d以及N21g之前、并将探测器PB3插入到规范N21c以及N21f之后的情况下,验证范围成为第1线程中的从规范N21a的处理开始至规范N21c的处理结束为止、第2线程中的从规范N21d的处理开始至规范N21f的处理结束为止、以及第3线程中的从规范N21g的处理开始至规范N21h的处理结束为止。
在图2的步骤S18之后,图3的(a)的程序模拟部190通过执行对作为控制对象的硬件进行模拟的仿真程序,从而形成虚拟的硬件。接下来,程序模拟部190在由验证范围信息表示的验证范围中执行所生成的控制程序,从而模拟对虚拟的硬件进行控制的控制动作(步骤S19)。程序模拟部190在对控制程序的控制动作进行模拟时,生成表示模拟结果的模拟结果信息。
具体而言,程序模拟部190在由通过步骤S18取得的验证范围信息所表示的验证范围中包含的函数内,确定执行顺序最早的函数和执行顺序最晚的函数。接下来,程序模拟部190对于为了在验证范围中执行控制程序而使用的变量值,将从由用户操作的输入部取得的值作为初始值来代入。之后,程序模拟部190模拟执行从对执行顺序最早的函数进行调用的处理起至从执行顺序最晚的函数返回的处理为止。
该模拟结果信息与试验结果信息同样地,例如包括:控制程序的执行时刻;对构成控制程序的控制模块进行识别的识别信息(即,模块ID)或名称(即,模块名),或者对该控制模块的函数进行识别的识别信息(即,函数ID)或名称(即,函数名);以及对执行了该控制模块的进程进行识别的ID。另外,控制模块的执行时刻包括执行开始时刻和执行结束时刻,模拟结果包括控制模块的模块ID或模块名、以及从开始控制模块的模拟执行的执行开始时刻至模拟执行结束的执行结束时刻为止的执行期间。另外,验证结果也可以还包括执行时刻、和该执行时刻下的控制模块的变量值。
在步骤S19之后,图3的(a)的信息通信部180从试验用实体设备200接收试验结果信息(步骤S20)。之后,动作解析部195根据由在步骤S19中生成的模拟结果信息所表示的模拟结果、或者由在步骤S20中接收到的试验结果信息所表示的试验结果,在由在步骤S18中取得的验证范围信息所表示的验证范围中,解析控制模块以及构成该控制模块的各函数被模拟执行或者被试验执行了的时刻、对该控制模块进行识别的识别信息或名称、对该控制模块的函数进行识别的识别信息或名称、以及对执行了该控制模块的进程进行识别的识别信息(步骤S21)。之后,显示控制部160在对图1的(b)的LCD100h进行控制使得显示步骤S21的解析结果之后(步骤S22),结束控制程序生成处理的执行。
具体而言,LCD100h显示图11的(b)所示那样的解析结果显示画面FA1。图11的(b)的解析结果显示画面FA1具有以横轴来表示的执行时间轴,从画面的上侧起,依次显示通过控制程序的执行而生成的第1进程中执行的控制模块的函数名“A”至“C”以及函数ID“F0001”至“F0003”、第2进程中执行的控制模块的函数名“D”至“F”以及函数ID“F0004”至“F0006”、第3进程中执行的控制模块的函数名“G”和“H”以及函数ID“F0007”和“F0008”。即,表示由第1进程中执行的函数ID“F0001”所识别的函数A、和由第2进程中执行的函数ID“F0002”所识别的函数B在大致相同的时刻开始执行。另外,解析结果显示画面FA1中显示的函数名以及函数ID也可以分别是模块名以及模块ID。
另外,动作解析部195根据上述各函数的执行时刻,解析控制模块以及构成控制模块的函数的执行时间。接下来,动作解析部195根据试验执行或者模拟执行了的控制程序的识别信息或者名称,从图3的描述信息存储部140中检索表示使该控制程序承担的限制的限制信息以及表示承担该限制的对象的对象信息。之后,动作解析部195计算由检索出的对象信息所表示的函数的总执行时间或者控制模块的执行时间,判别计算出的执行时间是否违反由检索出的限制信息所表示的时间上的限制(即,所解析的试验执行时间或者模拟执行时间是否比限制时间长)。
之后,显示控制部160使表示动作解析部195的判别结果等的图11的(c)的解析结果显示画面FA2显示于LCD100h。图11的(c)的解析结果显示画面FA2与图11的(b)的解析结果显示画面FA1同样地,具有以横轴来示出的执行时间轴。另外,在图11的(c)的解析结果显示画面FA2中,从画面的上侧起依次显示:对第1进程进行识别的进程ID“P0001”、和第1进程中执行的控制模块的函数名“A”以及函数ID“F0001”等;对第2进程进行识别的进程ID“P0002”、和第2进程中执行的控制模块的函数名“D”以及函数ID“F0004”等;对第3进程进行识别的进程ID“P0003”、和第3进程中执行的控制模块的函数名“G”以及函数ID“F0007”等。
另外,在解析结果显示画面FA2中,在函数名的下侧显示由函数ID“F0001”至“F0008”分别识别的函数的试验执行时间或者模拟执行时间。特别是关于由函数ID“F0007”所识别的函数G以及由函数ID“F0008”所识别的函数H,在各个试验执行时间或者模拟执行时间的下侧,显示使函数G以及函数H的总执行时间承担的时间限制。而且,在解析结果显示画面FA2中,利用从时间限制的显示处注释的括起来的文字来显示函数G以及函数H的总试验执行时间或者总模拟执行时间是否违反时间限制这样的动作解析部195的判定结果。
根据这些结构,通过并行执行多个任务(即,多进程),用户能够容易地掌握由于多个任务控制相同的硬件等而发生的僵局(deadlock)等相互干涉。
根据这些结构,不仅是所生成的控制程序的架构,而且在显示部中还能够显示使所生成的控制程序承担的时间限制、以及构成控制程序的控制模块的执行时间。因此,控制程序的设计者不仅能够容易掌握对硬件进行控制的控制程序的程序构造,而且还能够容易地掌握使构成控制程序的各个控制模块承担的时间上的限制。因此,能够再利用所存储的已制作的控制模块以及架构,而高效地生成可靠性高的新的控制程序。
另外,根据这些结构,显示使控制程序承担的执行时间的时间上的限制、和针对时间上的限制的富余时间,所以用户能够容易地确认所生成的控制程序是否满足时间上的限制,因此能够高效地生成控制程序。而且,根据这些结构,显示控制程序的试验执行或者模拟执行所需的时间、和使该控制程序承担的时间上的限制,所以用户能够容易地确认所生成的控制程序是否满足时间上的限制,因此能够高效地对控制程序进行试验。另外,进而根据这些结构,显示控制程序的试验执行或者模拟执行所需的时间是否违反了使该控制程序承担的时间上的限制,所以用户能够更容易地确认所生成的控制程序是否违反了时间上的限制,因此能够更高效地对控制程序进行试验。
而且,根据这些结构,以使执行时间的长度与富余时间的长度相等的待机模块在承担了时间上的限制的多个控制模块的执行顺序的开头、中间以及最后中的某一个中执行的方式对控制程序的程序构造进行编辑,所以能够容易地生成满足时间上的限制的可靠性高的控制程序。
另外,进而根据这些结构,在验证范围内模拟控制程序的执行,并且根据模拟结果来显示控制模块的识别信息和模拟执行了控制模块的时刻,所以能够用少的计算时间容易地确认控制模块的执行结果。
另外,根据这些结构,与已经在选择域中运用的1个以上的控制模块连结而生成对在选择域中使用的程序进行控制的控制程序,且该控制程序是具有与在选择域中已经运用的控制程序共同的1个以上的架构模式的控制程序。这样,通过再利用已经在选择域中运用的架构以及控制模块来生成控制程序,能够以短时间并且少的工时,高效地生成进行在选择域中使用的硬件的控制的可靠性高的控制程序。
而且,根据这些结构,基于再利用的架构模式来生成控制程序,所以不仅能够再利用控制模块那样的计算机程序,而且还能够再利用架构模式这样的程序构造的基本的设计专业知识。
另外,当然能够作为预先具备用于实现本实施方式的功能的结构的控制程序生成装置100来提供,还能够通过程序的应用而使已有的控制程序生成装置作为本实施方式的控制程序生成装置100发挥功能。即,以使对已有的控制程序生成装置进行控制的计算机(CPU等)能够执行的方式应用上述实施方式中例示的用于实现控制程序生成装置100的各功能结构的控制程序,从而能够作为本实施方式的控制程序生成装置100发挥功能。另外,能够使用控制程序生成装置100来实施本发明的控制程序生成方法。
另外,在OS(Operating System,操作系统)分担实现上述功能的情况或者通过OS与应用程序的协作来实现上述功能的情况等下,也可以仅将OS以外的部分储存到介质而进行分发,另外也可以进行下载等。
这样的程序的分发方法是任意的,例如除了能够储存到存储卡、CD-ROM或者DVD-ROM等记录介质而进行分发以外,还能够经由因特网等通信介质来进行分发。
另外,本发明能够不脱离本发明的广义的精神和范围而实现各种各样的实施方式以及变形。另外,上述实施方式用于说明本发明,并不限定本发明的范围。即,本发明的范围不限于实施方式,而通过权利要求书来示出。并且,在权利要求书的范围内以及与其等同的发明的意义的范围内实施的各种变形可视为在本发明的范围内。
以上,详细叙述了本发明的优选的实施例,但本发明不限于上述特定的实施例,能够在权利要求书记载的本发明的要旨的范围内进行各种变形、变更。
本申请基于2010年8月16日申请的日本专利申请2010-181897号。在本说明书中作为参照引用了日本专利申请2010-181897号的说明书、权利要求书、附图整体。
产业上的可利用性
本发明适用于生成对硬件进行控制的控制程序的控制程序生成装置,该控制程序生成装置生成对在大厦领域或者住宅领域中使用的仪器设备进行控制的控制程序。

Claims (7)

1.一种控制程序生成装置,具备:
控制模块存储单元,存储多个对硬件的动作进行控制的控制模块;
模式信息存储单元,存储多个表示架构模式的模式信息,其中,所述架构模式是与由多个所述控制模块中的1个以上的控制模块构成的控制程序的架构共同的程序构造;
模式选择信息取得单元,取得选择所述存储的模式信息的模式选择信息;
限制信息取得单元,取得限制信息,其中,该限制信息表示具有由根据所述模式选择信息选择出的模式信息所表示的架构模式的控制程序的执行时间所承担的时间上的限制;
显示控制单元,使由所述选择出的模式信息所表示的架构模式、具有所述架构模式的控制程序的程序构造、构成所述控制程序的控制模块的执行时间、以及由所述取得的限制信息所表示的时间上的限制对应起来显示于显示部;
描述信息取得单元,取得对针对所述控制程序的程序构造的变更内容进行描述的描述信息;
程序编辑单元,根据所述取得的描述信息,编辑所述控制程序的程序构造;以及
程序生成单元,根据所述编辑的程序构造来连结所述控制模块存储单元中存储的控制模块,从而生成对硬件进行控制的控制程序。
2.根据权利要求1所述的控制程序生成装置,其特征在于,
所述限制信息表示构成所述控制程序的多个控制模块的总执行时间的限制,
所述程序编辑单元具有:
执行时间推测单元,针对承担了由所述限制信息所表示的总执行时间的限制的多个控制模块中的各个控制模块,推测执行时间;以及
富余时间计算单元,根据由所述限制信息所表示的总执行时间的限制和由所述执行时间推测单元推测出的执行时间,计算针对所述限制的富余时间,
所述显示控制单元对所述显示部进行控制,使得显示由所述富余时间计算单元计算出的富余时间。
3.根据权利要求2所述的控制程序生成装置,其特征在于,
所述控制模块包括待机模块,该待机模块不进行所述硬件的控制或者进行使所述硬件待机的控制,
所述程序编辑单元还具有程序构造编辑单元,该程序构造编辑单元在由所述富余时间计算单元计算出的富余时间是正的值的情况下,对所述控制程序的程序构造进行编辑,使得在多个所述控制模块的执行顺序的开头、中间以及最后中的某一个中执行执行时间的长度与所述富余时间的长度相等的待机模块。
4.根据权利要求3所述的控制程序生成装置,其特征在于,还具备:
验证范围信息取得单元,取得表示对所述生成的控制程序的执行进行验证的验证范围的验证范围信息;
程序执行模拟单元,在由所述取得的验证范围信息所表示的验证范围中,模拟所述生成的控制程序的执行;以及
解析单元,根据所述程序执行模拟单元的模拟结果,解析对构成所述生成的控制程序的控制模块进行识别的识别信息和模拟执行了所述控制模块的时刻,
所述显示控制单元对所述显示部进行控制,使得显示所述解析单元的解析结果。
5.根据权利要求1~4中的任意一项所述的控制程序生成装置,其特征在于,
所述模式信息存储单元将表示作为使用硬件的范围的域的域信息、和表示与对在所述范围中使用的多个硬件分别进行控制的多个控制程序的架构共同的架构模式的模式信息对应起来而存储多个,
所述控制程序生成装置还具备域选择信息取得单元,该域选择信息取得单元取得选择所述存储的域信息的域选择信息,
所述模式选择信息取得单元取得对与根据所述取得的域选择信息选择出的域信息对应起来存储的模式信息进行选择的模式选择信息。
6.一种控制程序生成程序,使计算机作为如下单元发挥功能:
控制模块存储单元,存储多个对硬件的动作进行控制的控制模块;
模式信息存储单元,存储多个表示架构模式的模式信息,其中,所述架构模式是与由多个所述控制模块中的1个以上的控制模块构成的控制程序的架构共同的程序构造;
模式选择信息取得单元,取得选择所述存储的模式信息的模式选择信息;
限制信息取得单元,取得限制信息,其中,该限制信息表示具有由根据所述模式选择信息选择出的模式信息所表示的架构模式的控制程序的执行时间所承担的时间上的限制;
显示控制单元,使由所述选择出的模式信息所表示的架构模式、具有所述架构模式的控制程序的程序构造、构成所述控制程序的控制模块的执行时间、以及由所述取得的限制信息所表示的时间上的限制对应起来显示于显示部;
描述信息取得单元,取得对针对所述控制程序的程序构造的变更内容进行描述的描述信息;
程序编辑单元,根据所述取得的描述信息,编辑所述控制程序的程序构造;
程序生成单元,根据所述编辑的程序构造来连结所述控制模块存储单元中存储的控制模块,从而生成对硬件进行控制的控制程序。
7.一种控制程序生成方法,具有:
模式选择信息取得步骤,取得从模式信息存储单元存储的多个模式信息中选择表示架构模式的模式信息的模式选择信息,其中,所述架构模式是与由对硬件的动作进行控制的1个以上的控制模块分别构成的多个控制程序的架构共同的程序构造;
限制信息取得步骤,取得限制信息,其中,该限制信息表示具有由根据所述模式选择信息选择出的模式信息所表示的架构模式的控制程序的执行时间所承担的时间上的限制;
显示控制步骤,使由所述选择出的模式信息所表示的架构模式、具有所述架构模式的控制程序的程序构造、构成所述控制程序的控制模块的执行时间、以及由所述取得的限制信息所表示的时间上的限制对应起来显示于显示部;
描述信息取得步骤,取得对针对所述控制程序的程序构造的变更内容进行描述的描述信息;
程序编辑步骤,根据所述取得的描述信息,编辑所述控制程序的程序构造;以及
程序生成步骤,根据所述编辑的程序构造来连结所述控制模块,从而生成对硬件进行控制的控制程序。
CN201180039451.0A 2010-08-16 2011-01-26 控制程序生成装置、控制程序生成程序以及控制程序生成方法 Active CN103069386B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-181897 2010-08-16
JP2010181897 2010-08-16
PCT/JP2011/051515 WO2012023296A1 (ja) 2010-08-16 2011-01-26 制御プログラム生成装置、制御プログラム生成プログラム、及び制御プログラム生成方法

Publications (2)

Publication Number Publication Date
CN103069386A true CN103069386A (zh) 2013-04-24
CN103069386B CN103069386B (zh) 2016-06-22

Family

ID=45604964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180039451.0A Active CN103069386B (zh) 2010-08-16 2011-01-26 控制程序生成装置、控制程序生成程序以及控制程序生成方法

Country Status (6)

Country Link
US (1) US9176490B2 (zh)
JP (1) JP5536892B2 (zh)
KR (1) KR101400657B1 (zh)
CN (1) CN103069386B (zh)
DE (1) DE112011102727T5 (zh)
WO (1) WO2012023296A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958210A (zh) * 2017-05-24 2018-12-07 三菱电机株式会社 工厂监视控制系统的维护计算机及记录有维护程序的电脑可读取记录介质
CN110879573A (zh) * 2018-09-05 2020-03-13 发那科株式会社 加工时间预测装置
CN112987605A (zh) * 2019-12-16 2021-06-18 株式会社安川电机 程序生成设备、程序生成方法以及信息存储介质
CN114144735A (zh) * 2019-05-20 2022-03-04 马库斯·格鲁伯 用于控制和/或调节技术过程的可执行控制程序的计算机辅助生成的计算机实现的方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4905597B1 (ja) * 2011-03-15 2012-03-28 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
JP2015056153A (ja) * 2013-09-13 2015-03-23 三菱電機株式会社 ソフトウェア開発支援装置、仕様作成支援方法、及び、プログラム
DE102014112639C5 (de) 2014-09-02 2020-07-02 Cavos Bagatelle Verwaltungs Gmbh & Co. Kg System zum Erstellen von Steuerungsdatensätzen für Roboter
DE112016003540T5 (de) * 2015-08-04 2018-04-19 Korea Electric Power Corporation Vorrichtung und Verfahren zum Erzeugen einer Anwendung unter Verwendung eines auf Mustern beruhenden Dienstkombinationsverfahrens
CN105426200B (zh) 2015-10-30 2018-11-09 小米科技有限责任公司 通讯模组固件和插件生成方法及装置
JP6576884B2 (ja) * 2016-07-12 2019-09-18 株式会社日立製作所 制御アプリケーション生成支援装置、及び制御アプリケーション生成支援方法
US10747546B2 (en) * 2017-06-19 2020-08-18 Mitsubishi Electric Corporation Distributed allocation device, distributed allocation system, and distributed allocation method
JP7067406B2 (ja) * 2018-10-12 2022-05-16 オムロン株式会社 制御システム、制御装置および制御方法
EP3835958A1 (de) * 2019-12-10 2021-06-16 Siemens Aktiengesellschaft Verfahren und vorrichtung zur ansteuerung eines iot-geräts durch einen programmcode

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351509A (ja) * 2001-05-25 2002-12-06 Mitsubishi Electric Corp プログラミングツール及びプログラミング方法
CN101533349A (zh) * 2009-04-15 2009-09-16 哈尔滨工业大学 一种大粒度构件的平台相关模型及其代码自动生成方法
CN101583932A (zh) * 2007-01-16 2009-11-18 三菱电机株式会社 客户终端、应用程序提供服务器以及应用程序提供系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1300265C (en) * 1987-06-22 1992-05-05 William Curtis Newman Block diagram simulator
JPH0322002A (ja) * 1989-06-19 1991-01-30 Mitsubishi Electric Corp プログラミング装置
DE69033121T2 (de) * 1989-09-01 1999-10-28 Amdahl Corp Betriebssystem und Datenbank mit einer Regelsprache zum bedingungsgesteuerten Rechnerbetrieb
JPH0438522A (ja) * 1990-06-05 1992-02-07 Mitsubishi Electric Corp ソフトウェアプログラムシミュレータ
JPH04283802A (ja) 1991-03-13 1992-10-08 Sanyo Electric Co Ltd マイクロプロセッサ用プログラムの自動生成方法
JP3140262B2 (ja) * 1993-06-16 2001-03-05 三菱電機株式会社 プログラム実行状態確認方法
JPH07152544A (ja) 1993-09-17 1995-06-16 Toshiba Corp ダイヤグラム作成支援システム及びダイアグラム作成支援方法
JPH08278804A (ja) 1995-04-06 1996-10-22 Fanuc Ltd シーケンス・プログラムの診断方式
JPH10161906A (ja) 1996-11-29 1998-06-19 Toshiba Corp ソフトウェア実行装置及びソフトウェア実行方法
EP1122640A1 (en) * 2000-01-31 2001-08-08 BRITISH TELECOMMUNICATIONS public limited company Apparatus for automatically generating source code
JP2001216006A (ja) * 2000-02-04 2001-08-10 Meidensha Corp プログラミング支援方式
JP2003067007A (ja) * 2001-08-27 2003-03-07 Mitsubishi Electric Corp エンジニアリングツール及びエンジニアリングシステム
US20040064804A1 (en) * 2002-09-26 2004-04-01 Daniels Bruce K. Generation of partitioned enterprise application using a high-level specification
JP2004272718A (ja) * 2003-03-11 2004-09-30 Mitsubishi Electric Corp 制御プログラム作成装置および制御プログラム作成方法
US7809545B2 (en) * 2003-04-16 2010-10-05 The Mathworks, Inc. System and method for using execution contexts in block diagram modeling
US7703034B2 (en) * 2003-08-07 2010-04-20 National Instruments Corporation Visualization tool for viewing timing information for a graphical program
US7900188B2 (en) * 2006-09-01 2011-03-01 The Mathworks, Inc. Specifying implementations of code for code generation from a model
JP4963637B2 (ja) 2007-07-09 2012-06-27 キヤノン株式会社 表示処理装置及び表示処理方法
US7684892B2 (en) * 2007-10-30 2010-03-23 Gm Global Technology Operations, Inc. Process for generating control sequence of operations
JP5076967B2 (ja) * 2008-02-27 2012-11-21 富士通株式会社 情報処理システム、情報処理システムの制御方法、および情報処理システムの制御プログラム
JP2010181897A (ja) 2010-03-08 2010-08-19 Seiko Epson Corp 光量制御装置およびプロジェクタ
EP2645255B1 (en) * 2010-11-26 2019-10-02 Mitsubishi Electric Corporation Program generating device, program generating program, and program generating method
JP5644642B2 (ja) * 2011-04-07 2014-12-24 富士通株式会社 コード変換方法、装置、プログラム、およびリクエストの残り時間応答方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351509A (ja) * 2001-05-25 2002-12-06 Mitsubishi Electric Corp プログラミングツール及びプログラミング方法
CN101583932A (zh) * 2007-01-16 2009-11-18 三菱电机株式会社 客户终端、应用程序提供服务器以及应用程序提供系统
CN101533349A (zh) * 2009-04-15 2009-09-16 哈尔滨工业大学 一种大粒度构件的平台相关模型及其代码自动生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958210A (zh) * 2017-05-24 2018-12-07 三菱电机株式会社 工厂监视控制系统的维护计算机及记录有维护程序的电脑可读取记录介质
CN108958210B (zh) * 2017-05-24 2021-06-04 三菱电机株式会社 工厂监视控制系统的维护计算机及电脑可读取记录介质
CN110879573A (zh) * 2018-09-05 2020-03-13 发那科株式会社 加工时间预测装置
CN110879573B (zh) * 2018-09-05 2024-03-01 发那科株式会社 加工时间预测装置
CN114144735A (zh) * 2019-05-20 2022-03-04 马库斯·格鲁伯 用于控制和/或调节技术过程的可执行控制程序的计算机辅助生成的计算机实现的方法
CN112987605A (zh) * 2019-12-16 2021-06-18 株式会社安川电机 程序生成设备、程序生成方法以及信息存储介质
US11960925B2 (en) 2019-12-16 2024-04-16 Kabushiki Kaisha Yaskawa Denki Program generating device, program generating method, and information storage medium

Also Published As

Publication number Publication date
JP5536892B2 (ja) 2014-07-02
US9176490B2 (en) 2015-11-03
WO2012023296A1 (ja) 2012-02-23
US20130144409A1 (en) 2013-06-06
KR101400657B1 (ko) 2014-05-28
KR20130040254A (ko) 2013-04-23
JPWO2012023296A1 (ja) 2013-10-28
DE112011102727T5 (de) 2013-06-27
CN103069386B (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN103069386A (zh) 控制程序生成装置、控制程序生成程序以及控制程序生成方法
CN102227692B (zh) 过程控制系统的元件的高效设计和配置
JP5603316B2 (ja) プロセスプラントの構成を容易にするためのユーザインタフェース方法、システム及び方法
US8498887B2 (en) Estimating project size
US5212635A (en) Method and apparatus for measurement of manufacturing technician efficiency
CN101833498B (zh) 一种基于测试脚本技术的嵌入式系统自动化检测系统
US5995729A (en) Method and apparatus for aiding configurating management of a computer system
CN100492316C (zh) 测试自动化的系统和方法
CN102246106B (zh) 自动化系统中plc的输出信号特性
US5751575A (en) Method and apparatus for aiding configuration management of a computer system
CN108304201A (zh) 对象更新方法、装置及设备
AU4098700A (en) Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat
CN104204976A (zh) 信息处理装置、模拟方法及程序
JP6094593B2 (ja) 情報システム構築装置、情報システム構築方法および情報システム構築プログラム
CN104871128A (zh) 电子手册阅览装置及系统
JP7228470B2 (ja) 計画立案システム及びその方法
US8000952B2 (en) Method and system for generating multiple path application simulations
Ulrich et al. Operator timing of task level primitives for use in computation-based human reliability analysis
CN115167785B (zh) 基于标签的网盘文件管理方法、装置、网盘及存储介质
CN103154886A (zh) 软件生成装置、软件生成方法以及程序
JP2000215038A (ja) 情報管理装置および記録媒体
JP2009098896A (ja) 履歴情報の動作制御装置および方法
Jensen Microcomputer forum: Microcomputers in the instruction of operations research
CN111639025A (zh) 一种软件测试方法、装置、电子设备及存储介质
CN109189370A (zh) 软件组件的生成方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant