技术领域
背景技术
[0002] 定序程序通常通过使用程序编辑器将程序的构成要素在编辑器画面上以图形方式配置而生成。特别是定序程序之一即梯形图程序由
电路块构成,电路块通过将其构成要素即电路要素(触点、线圈、命令、功能块等)配置在程序编辑器的编辑器画面上而生成。
[0003] 当利用程序编辑器编辑梯形图程序时,在
指定检索线索的
基础上,从菜单选择相似部件检索,从而能够在检索显示用画面显示与检索线索相似的程序部件。用户从显示的检索结果中选择目标程序部件并在编辑器画面进行
拖放,由此将程序部件配置于梯形图程序。
[0004]
专利文献1中公开了如下技术,即,确定满足在同一电路内指定的所有电路要素和条件的电路,对确定的电路进行显示。
[0005] 专利文献1:日本特开平05-061509号
公报发明内容
[0006] 然而,在上述
现有技术中,由于并未考虑是否在逻辑·图形方面相似而进行检索,因此,有时满足指定的所有电路要素及条件的、在逻辑·图形方面完全不同的电路作为检索结果而被显示。相反,不满足指定的所有电路要素及条件的、在逻辑·图形方面相似的电路不被作为检索结果而显示。因此,在现有技术中,难以提供各种情况下的有效的编程环境。
[0007] 本发明就是鉴于上述情况而提出的,其目的在于获得一种定序程序生成装置,其能够考虑逻辑·图形方面的相似度而进行程序部件的检索。
[0008] 本发明是一种定序程序生成装置,为了解决上述课题而达成目的,通过将程序的构成要素以图形方式配置在编辑器画面上而生成定序程序,其特征在于,具备:检索线索电路指定部,其指定检索线索电路;检索范围指定部,其指定对与检索线索电路相似的电路进行检索的检索范围;检索指标指定部,其将与检索线索电路之间的图形方面的相似度、与检索线索电路之间的逻辑方面的相似度以及与检索线索电路相关联的关键词的相似度中的至少一个,指定为在算出与检索线索电路之间的相似度的处理中使用的指标;相似度算出部,其针对由检索范围指定部指定的检索范围中所包含的各电路,基于由检索指标指定部指定的指标,算出所述各电路与由检索线索电路指定部指定的检索线索电路之间的相似度;检索对象部件判定部,其针对由相似度算出部算出了相似度的各电路,判定所述相似度是否大于或等于规定的
阈值;以及检索结果显示用画面显示部,其使由检索对象部件判定部判定为相似度大于或等于规定的阈值的电路显示于检索结果显示用画面。
[0009] 发明的效果
[0010] 本发明所涉及的定序程序生成装置起到如下效果,即,能够考虑逻辑·图形方面的相似度而进行程序部件的检索。
附图说明
[0011] 图1是表示本发明所涉及的定序程序生成装置的实施方式的结构的图。
[0012] 图2是表示程序编辑器的功能结构的
框图。
[0013] 图3是表示检索线索电路的一个例子的图。
[0014] 图4是表示检索对象电路的一个例子的图。
[0015] 图5是表示检索对象电路的一个其它例子的图。
[0016] 图6是表示实施方式所涉及的定序程序生成装置执行的相似部件检索处理的流程的
流程图。
[0017] 图7是表示在相似部件检索处理过程中显示于显示部的画面的一个例子的图。
[0018] 图8是表示相似部件检索画面的一个例子的图。
[0019] 图9是表示检索结果显示用画面的一个例子的图。
[0020] 图10是表示实施方式所涉及的定序程序生成装置的相似部件检索以及检索结果的显示的处理的流程的流程图。
具体实施方式
[0021] 以下,基于附图对本发明所涉及的定序程序生成装置的实施方式进行详细说明。此外,本发明不限定于本实施方式。
[0022] 实施方式.
[0023] 图1是表示本发明所涉及的定序程序生成装置的实施方式的结构的图。实施方式所涉及的定序程序生成装置100通过计算机10执行
软件、且在CPU 11上形成程序编辑器20而构成,其中,计算机10具有CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、通信部14、输入部15、存储部16以及显示部17。CPU 11以RAM 13为工作区域,执行在ROM12、存储部16中存储的程序。通信部14是用于与外部装置之间发送或接收数据的通信
接口,在对生成的定序程序进行发送并将其写入PLC时使用。输入部15是
键盘、
定位设备等用户接口。存储部16是以非易失的方式存储信息的存储装置,能够应用HDD(Hard Disk Drive)、
半导体存储器等。显示部17是在定序程序的生成作业中显示各种画面(编辑器画面、检索结果显示画面等)的装置,能够应用LCD(Liquid Crystal Display)、有机EL(Electro-Luminescence)显示器等。
[0024] 图2是表示程序编辑器的功能结构的框图。程序编辑器20具备编辑器基本动作部21和相似部件检索处理部22。相似部件检索处理部22具备检索线索输入画面显示部221、检索线索电路指定部222、检索范围指定部223、检索指标指定部224、相似度算出部225、检索对象部件判定部226、检索结果列表生成部227以及检索结果显示用画面显示部228。程序编辑器20的各功能部(编辑器基本动作部21以及相似部件检索处理部22)通过软件处理而在CPU 11上实现。编辑器基本动作部21具备与通常的程序编辑器相同的功能,使编辑器画面显示于显示部17。在显示于显示部17的编辑器画面上,通过针对输入部15的操作,以图形方式对电路要素进行配置,由此生成定序程序。
[0025] 检索线索输入画面显示部221使检索线索输入画面显示于显示部17。检索线索输入画面与通常的编辑器画面同样,是能够在网格上配置电路要素的画面,由通过用户针对输入部15所进行的操作而配置于网格上的电路要素构成的电路,成为检索线索电路。此外,此处的“电路”是指程序的至少一部分,包含至少一个电路要素。电路不必是像程序部件那样具有含义的集合。但是,也可以将程序部件本身作为检索线索电路。检索线索电路指定部222,指定正配置于编辑器画面上的生成过程中的定序程序211的一部分、已经存储于存储部16中的程序部件161、以及在由检索线索输入画面显示部221显示于显示部17的检索线索输入画面上编辑的电路中的某一个作为检索线索电路。检索范围指定部223指定从已经存储于存储部16的程序部件161中进行检索、或者从生成过程中的程序(编辑器基本动作部21保持的生成过程中的定序程序211)中进行检索。
[0026] 当从检索范围中检索与检索线索电路相似的电路时,检索指标指定部224对使用的指标(图形方面的相似度、逻辑结构的相似度(逻辑方面的相似度)、关键词的相似度)进行指定。对于图形方面的相似度、逻辑方面的相似度、关键词的相似度的定义,在后文中进行说明。此外,检索指标指定部224还能够指定多个指标。针对在检索范围指定部223所指定的检索范围(存储于存储部16的程序部件161、或者编辑器基本动作部21所保持的生成过程中的定序程序211,相似度算出部225算出其与检索线索电路的相似度。此外,在检索指标指定部224指定了多个检索指标的情况下,相似度算出部225对与各指标对应的相似度进行综合运算而算出检索对象部件的相似度。
[0027] 检索对象部件判定部226判定与检索线索电路的相似度是否大于或等于规定的阈值,并
抽取相似度大于或等于规定的阈值的电路。在指定作为检索范围从已经存储于存储部16的程序部件161进行检索的情况下,检索结果列表生成部227生成包含检索对象部件判定部226抽取出的电路的程序部件的列表。检索结果显示用画面显示部228,将由检索结果列表生成部227生成的程序部件的列表作为检索结果显示画面显示于显示部17。
[0028] 对检索指标进行说明。图形方面的相似度是指对电路要素间的图形配置(上下左右的相对
位置关系)、连接关系(是否直接连接)、距离(存在于其间的电路要素的数量)等进行数值化的结果。逻辑方面的相似度是指对电路要素中包含的命令、标记、设备地址等的出现顺序进行数值化的结果,通过标准化而在逻辑上与电路成为相同的值。关键词的相似度是指将针对检索线索电路而登记的关键词、和针对检索对象电路而登记的关键词一致的关键词的数量的多少(比例)数值化后的结果。
[0029] 此处,对相似度算出部225算出图形方面的相似度·逻辑方面的相似度的方法进行说明。图3是表示检索线索电路的一个例子的图。图4是表示检索对象电路的一个例子的图。首先,对相似度算出部225算出检索线索电路30和检索对象电路40的图形方面的相似度的处理进行说明。
[0030] 作为要素,检索线索电路30居于二个A触点(要素A、B)、一个B触点(要素C)、以及二个线圈(要素D、E)。在某个A触点(要素A)的右侧相邻配置有其它A触点(要素B)。另外,在左侧相邻配置有其它A触点(要素A)的某个A触点(要素B)的下侧,相邻配置有B触点(要素C)。并且,在某个线圈(要素D)的下侧相邻配置有其它线圈(要素E)。另外,作为基于连结线的直接连接方式,要素A和要素B连接。另外,要素A和要素C连接。
另外,要素B和要素D连接。另外,要素B和要素E连接。另外,要素C和要素D连接。另外,要素C和要素E连接。
[0031] 作为要素,检索对象电路40具备三个A触点(要素A、B、F)、一个B触点(要素C)、以及二个线圈(要素D、E)。在某个A触点(要素F)的右侧相邻配置有其它A触点(要素A)。另外,在左侧相邻配置有其它A触点(要素F)的某个A触点(要素A)的右侧,还相邻配置有其它A触点(要素B)。另外,在左侧相邻配置有二个A触点(要素F、A)的某个A触点(要素B)的下侧,相邻配置有B触点(要素C)。并且,在某个线圈(要素D)的下侧相邻配置有其它线圈(要素E)。另外,作为基于连结线的直接连接方式,要素A和要素B连接。另外,要素A和要素C连接。另外,要素B和要素D连接。另外,要素B和要素E连接。另外,要素C和要素D连接。另外,要素C和要素E连接。另外,要素F和要素A连接。
[0032] 检索线索电路30的5个要素(要素A、B、C、D、E)全部与检索对象电路40的6个要素(要素A、B、C、D、E、F)一致。因此,相似度算出部225算出5/6作为与要素的存在相关的相似度。
[0033] 另外,检索线索电路30中的相邻的要素的位置关系(要素B在要素A的右侧相邻,要素C在要素B的下侧相邻,要素E在要素D的下侧相邻),全部与检索对象电路40中的相邻的要素的位置关系(要素A在要素F的右侧相邻,要素B在要素A的右侧相邻,要素C在要素B的下侧相邻,要素E在要素D的下侧相邻)一致。因此,相似度算出部225算出3/4作为与相邻的要素的位置关系相关的相似度。
[0034] 另外,检索线索电路30中的基于连结线的直接连接关系(要素A-要素B、要素A-要素C、要素B-要素D、要素B-要素E、要素C-要素D、要素C-要素E),全部与检索对象电路40中的基于连结线的直接连接关系(要素A-要素B、要素A-要素C、要素B-要素D、要素B-要素E、要素C-要素D、要素C-要素E、要素F-要素A)一致。因此,相似度算出部225算出6/7作为与基于连结线的直接连接关系相关的相似度。
[0035] 相似度算出部225将与要素的存在相关的相似度、与相邻的要素的位置关系相关的相似度、以及与基于连结线的直接连接关系相关的相似度相乘,算出综合的图形方面的相似度。在上述例子中,根据5/6×3/4×6/7=15/28≈0.54,将检索线索电路30和检索对象电路40的图形方面的相似度算出为0.54。
[0036] 上述例子是算出图形方面的相似度的方法的一个例子,也可以将与该例不同的基准(例如,各电路要素间的距离的差异)用于对图形方面的相似度的计算。
[0037] 下面,对相似度算出部225算出检索线索电路30和检索对象电路40的逻辑方面的相似度的处理进行说明。图5是表示检索对象电路的另一个例子的图。作为要素,检索对象电路50具备二个A触点(要素A、B)、一个B触点(要素C)、以及二个线圈(要素D、E)。在某个A触点(要素B)的右侧相邻配置有其它A触点(要素A)。另外,在右侧相邻配置有其它A触点(要素A)的A触点(要素B)的下侧,相邻配置有B触点(要素C)。并且,在某个线圈(要素D)的下侧相邻配置有其它线圈(要素E)。另外,作为基于连结线的直接连接方式,要素B和要素A连接。另外,要素C和要素A连接。另外,要素A和要素D连接。另外,要素A和要素E连接。
[0038] 检索对象电路50中的各电路要素的出現顺序为BCADE。另一方面,检索线索电路30中的各电路要素的出現顺序为ABCDE。由于五个电路要素中的二个(D、E)的出現顺序一致,因此,在简单比较的情况下,逻辑方面的相似度为2/5=0.40。其中,相似度算出部225具备对电路进行标准化的功能。在检索对象电路50中,即使将要素B、C的并联部分和要素A的顺序调换,在逻辑方面也等价。因此,相似度算出部225将要素B、C的並列部分和要素A的顺序调换而算出逻辑方面的相似度。将要素B、C的并联部分和要素A的顺序调换的电路中的电路要素的出现顺序为ABCDE,与检索线索电路30中的电路要素的出现顺序一致。
因此,在进行标准化的处理的情况下,算出逻辑方面的相似度为5/5=1.0。
[0039] 对实施方式所涉及的定序程序生成装置的动作进行说明。图6是表示实施方式所涉及的定序程序生成装置执行的相似部件检索处理的流程的流程图。图7是表示在相似部件检索处理中显示于显示部的画面的一个例子的图。首先,用户进行针对输入部15的操作,指定检索线索电路(步骤S101)。此时,如果将生成过程中的程序的一部分作为检索线索,则在编辑器画面上选择并指定生成的程序的一部分。例如,如图7所示,通过针对输入部15的操作,选择在网格状的编辑器画面80中显示的梯形图程序的至少一部分。此外,图7中,利用阴影线示出通过针对输入部15的操作而选择的部分。另外,如果将存储于存储部16的程序部件作为检索线索电路,则通过针对输入部15的操作而从以往生成的程序部件的列表中选择与目标程序部件相似的程序部件。并且,如果将在检索线索输入画面显示部221显示于显示部17的检索线索输入画面上编辑的电路作为检索线索电路,则针对输入部15进行在检索线索输入画面上编辑检索线索电路的操作。
[0040] 接着,用户进行针对输入部15的操作(例如,如图7所示,从菜单51中选择相似部件检索),使相似部件检索画面显示于显示部17(步骤S102)。图8是表示相似部件检索画面的一个例子的图。相似部件检索画面60具备检索范围指定栏61和检索指标指定栏62。并且,用户通过针对输入部15的操作,在相似部件检索画面60上的检索范围指定栏61中指定检索范围(步骤S103)。并且,用户通过针对输入部15的操作,在相似部件检索画面
60上的检索指标指定栏62中指定检索指标(步骤S104)。在对检索指标进行指定以后,如果用户进行针对输入部15的操作而在相似部件检索画面60上按下检索执行按钮63,则相似部件检索处理部21执行相似部件检索(步骤S105),使检索结果显示于显示部17(步骤S106),使处理结束。图9是表示检索结果显示用画面的一个例子的图,且是作为检索范围而指定从已经存储于存储部16的程序部件161中进行检索的情况下的画面例。在检索结果显示用画面70上,显示出包含与检索线索电路的相似度大于或等于阈值的电路的程序部件的一览71。此外,可以在检索结果显示用画面70上一并显示各程序部件中所包含的电路的相似度的值。通过在检索结果显示用画面70一并显示相似度,用户能够将其用作判断是否沿用检索结果的程序部件的基准。
[0041] 图10是表示实施方式所涉及的定序程序生成装置的相似部件检索以及检索结果的显示处理的流程的流程图。图10所示的流程图,示出了图6的步骤S105、S106中的处理的详情。检索结果列表生成部227对检索结果列表进行初始化(步骤S201)。然后,相似部件检索处理部21对所有检索对象电路进行下述的循环处理。
[0042] 对于检索对象电路,相似度算出部225利用由检索指标指定部224指定的检索指标,算出其与检索线索电路的相似度(步骤S202)。检索对象部件判定部226判定由相似度算出部225算出的相似度是否大于或等于阈值(步骤S203)。如果相似度大于或等于阈值(步骤S203/是),则检索对象部件判定部226将检索对象电路通知给检索结果列表生成部227。检索结果列表生成部227将包含检索对象电路的程序部件追加到检索结果列表(步骤S204)。如果相似度小于阈值(步骤S203/否),则不进行任何处理。
[0043] 如果针对所有检索对象电路的循环处理结束,则检索结果显示用画面显示部228使检索结果列表显示于显示部17(步骤S205)。此时,按照检索对象部件的相似度的顺序(降序)对检索结果列表中所包含的程序部件进行显示。此时,通过对检索条件(检索范围以及检索指标)与检索结果列表一同进行显示,在无法获得所需的检索结果的情况下,用户能够容易地判断检索条件是否适当。
[0044] 此外,在上述实施方式中虽然以梯形图程序为例,但即使在利用ST(Structured Text)、FBD(Function Block Diagram)等其它程序语言生成定序程序的情况下,也能够应用本发明。此外,在ST的情况下,只要构成为无法将图形方面的相似度指定为检索指标、且能够将逻辑方面的相似度以及关键词的相似度指定为指标即可。
[0045] 根据本实施方式,基于程序的构造、使用的部件等的倾向,机械地算出电路的相似度,因此,能够不指定复杂的检索线索而对欲沿用的程序部件进行检索。即,由于能够考虑在图形·逻辑方面是否相似而对程序部件进行检索,因此,能够提供各种情况下的有效的编程环境。
[0047] 如上,本发明所涉及的定序程序生成装置,能够容易地沿用图形·逻辑的一部分随着设备种类、规格而不同的程序部件,在这一点上具有实用性。
[0048] 标号的说明
[0049] 10计算机
[0050] 11 CPU
[0051] 12 ROM
[0052] 13 RAM
[0053] 14 通信部
[0054] 15 输入部
[0055] 16 存储部
[0056] 17 显示部
[0057] 20 程序编辑器
[0058] 21 编辑器基本动作部
[0059] 22 相似部件检索处理部
[0060] 30 检索线索电路
[0061] 40、50 检索对象电路
[0062] 51 菜单
[0063] 60 相似部件检索画面
[0064] 61 检索范围指定栏
[0065] 62 检索指标指定栏
[0066] 63 检索执行按钮
[0067] 70 检索结果显示用画面
[0068] 71 程序部件的一览
[0069] 80 编辑器画面
[0070] 161 程序部件
[0071] 211 生成过程中的定序程序
[0072] 221 检索线索输入画面显示部
[0073] 222 检索线索电路指定部
[0074] 223 检索范围指定部
[0075] 224 检索指标指定部
[0076] 225 相似度算出部
[0077] 226 检索对象部件判定部
[0078] 227 检索结果列表生成部
[0079] 228 检索结果显示用画面显示部