编程工具转让专利

申请号 : CN201380075672.2

文献号 : CN105229542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 大西勘司

申请人 : 三菱电机株式会社

摘要 :

具有:程序编辑部(11),其对功能框图(FBD)部件进行配置,对所配置的FBD部件彼此进行连接;执行顺序决定部(13),其基于FBD部件的位置信息及连接信息,决定FBD部件的执行顺序;部件信息管理部(12),其对FBD部件的位置信息及连接信息进行管理;以及再编译要否判定部(14),其对是否需要实施与FBD部件的配置变更相伴的再编译进行判定,如果在程序编辑部中指定了使配置变更的FBD部件,则部件信息管理部对即便使由程序编辑部指定的FBD部件的位置变更、执行顺序也相同的位置范围进行提取,再编译要否判定部在所指定的FBD部件的配置变更后的位置信息包含在由部件信息管理部提取出的位置范围内的情况下,判定为不需要实施再编译。

权利要求 :

1.一种编程工具,其具有:

程序编辑部,其对功能框图、即FBD部件进行配置,对所配置的所述FBD部件彼此进行连接,从而对程序进行编辑;

执行顺序决定部,其针对被编辑后的所述程序,基于所述FBD部件的位置信息及连接信息,决定所述FBD部件的执行顺序;以及部件信息管理部,其对由所述程序编辑部配置的所述FBD部件的所述位置信息及所述连接信息进行管理,所述编程工具的特征在于,还具有:

再编译要否判定部,其对是否需要实施与所述程序编辑部中的所述FBD部件的配置变更相伴的再编译进行判定,如果在所述程序编辑部中指定了使配置变更的所述FBD部件,则所述部件信息管理部对即便使由所述程序编辑部指定的FBD部件的位置变更、所述执行顺序也相同的位置范围进行提取,所述再编译要否判定部在所述指定的FBD部件的配置变更后的位置信息包含在由所述部件信息管理部提取出的所述位置范围内的情况下,判定为不需要实施所述再编译。

2.根据权利要求1所述的编程工具,其特征在于,

所述部件信息管理部实施用于对即便使所述指定的FBD部件的位置变更,所述执行顺序也相同的所述位置范围进行通知的输出处理。

3.根据权利要求1或2所述的编程工具,其特征在于,所述程序编辑部对所述指定的FBD部件向即便使所述指定的FBD部件的位置变更、所述执行顺序也相同的所述位置范围之外的移动进行限制。

说明书 :

编程工具

技术领域

[0001] 本发明涉及编程工具,特别地,涉及下述编程工具,即,用于通过功能框图(FBD)语言的记述而进行的编程。

背景技术

[0002] 在工场的生产线、各个装置、厂房、办公楼等的现场,使用用于对被控制设备按顺序地进行控制的可编程逻辑控制器(PLC)。为了对储存在PLC中的程序进行改写,使用在计算机上安装了专用的软件的程序生成辅助装置(编程工具)。
[0003] FBD语言在PLC使用的循环控制程序等的编程中使用。根据国际电工委员会(IEC)发行的标准规格IEC61131-3,FBD语言作为PLC用的程序语言之一而受到了定义。使用FBD语言的编程工具对与各个规定的处理相对应的FBD部件(功能或功能块)进行配置。编程工具沿着数据或信号流,对FBD部件进行接线,从而对一系列的处理进行记述。
[0004] 使用FBD语言而生成的软件通过编译,从而基于FBD部件的位置信息及连接信息而决定处理的执行顺序。编程工具决定一系列处理的执行顺序,从而生成为了利用PLC执行FBD程序而所需的数据(执行数据)。另外,编程工具在FBD程序的维护中使用FBD程序的与图形描绘相关的数据(图形数据)。编程工具实施将经过编译后得到的工程(project)的执行数据、图形数据写入PLC的处理(PC写入)。
[0005] 关于使用FBD语言而生成的软件,有时会由于在编译之后,FBD部件的配置被变更,从而变为未编译状态。用户为了将未编译状态消除而实施再编译。另外,针对经过了上述再编译的工程,有时需要通过实施执行数据、图形数据的PC写入,从而向PLC进行反映。
[0006] 另外,当前,针对使用FBD语言而生成的软件,作为用于对FBD程序的变更前后进行比较的方法,已知应用文本变换的方法(例如参照专利文献1)。根据专利文献1的方法,针对程序中所有的FBD部件,对命令代码的数值信息(机械语言)进行文本变换,对两个程序的文本信息依次进行比较。
[0007] 专利文献1:日本特开平10-149208号公报

发明内容

[0008] 如专利文献1所述,在程序的比较中应用文本变换的方法中,首先,针对作为比较对象的程序双方,需要向机械语言进行变换的处理。在该时刻,已然需要与编译相当的处理负担。并且,经过将机械语言向字符串变换的处理、将字符串向文本文件输出的处理,对两个程序的文本文件进行比较。根据现有技术,为了对FBD程序进行比较,需要较多的工序及处理,比较花时间。
[0009] 例如,在用户通过控制程序的编译及PC写入而对设备的动作进行确认后需要程序的文档时等,为了对控制程序的样式进行调整,有时希望对FBD部件进行配置变更。在现有技术的编程工具中,由于如果对FBD部件的配置进行变更,则程序立即变为未编译状态,因此存在下述问题,即,即便FBD部件的配置仅仅是稍微改变,也需要进行再编译、PC写入。
[0010] 本发明就是鉴于上述情况而提出的,其目的在于,得到一种编程工具,该编程工具能够减轻由于FBD部件的配置的变更导致的程序编辑的作业负担。
[0011] 为了解决上述课题,实现目的,本发明的特征在于,具有:程序编辑部,其对功能框图(FBD)部件进行配置,对所配置的所述FBD部件彼此进行连接,从而对程序进行编辑;执行顺序决定部,其针对被编辑后的所述程序,基于所述FBD部件的位置信息及连接信息,决定所述FBD部件的执行顺序;部件信息管理部,其对所述程序编辑部所配置的所述FBD部件的所述位置信息及所述连接信息进行管理;以及再编译要否判定部,其对是否需要实施与所述程序编辑部中的所述FBD部件的配置变更相伴的再编译进行判定,如果在所述程序编辑部中指定了使配置变更的所述FBD部件,则所述部件信息管理部对即便使由所述程序编辑部指定的FBD部件的位置变更、所述执行顺序也相同的位置范围进行提取,所述再编译要否判定部在所述指定的FBD部件的配置变更后的位置信息包含在由所述部件信息管理部提取出的所述位置范围内的情况下,判定为不需要实施所述再编译。
[0012] 发明的效果
[0013] 本发明所涉及的编程工具根据在使FBD部件移动前后,处理的执行顺序是否变更,对是否需要再编译进行判定。关于与FBD部件的配置变更相伴的程序编辑,通过构成为如果处理的执行顺序无变更则不需要再编译,从而能够减轻由于再编译、PC写入导致的作业负担。由此,具有下述效果,即,能够减轻由于FBD部件的配置的变更导致的程序编辑的作业负担。

附图说明

[0014] 图1是表示本发明的实施方式1所涉及的编程工具的结构的框图。
[0015] 图2是说明对FBD部件的配置进行变更时的编程工具的处理步骤的流程图。
[0016] 图3是说明按照规则决定FBD部件的执行顺序的方法的图。
[0017] 图4是表示决定了FBD部件的执行顺序的例子的图。
[0018] 图5是表示与FBD部件的执行顺序相同的位置范围的提取有关的详细步骤的流程图。
[0019] 图6是表示FBD程序的图形数据的例子的图。
[0020] 图7是说明本发明的实施方式2所涉及的编程工具的处理步骤的流程图。
[0021] 图8是表示对FBD部件的执行顺序相同的位置范围进行显示的例子的图。
[0022] 图9是说明本发明的实施方式3所涉及的编程工具的处理步骤的流程图。
[0023] 图10是说明FBD部件向设定的位置范围之外的移动的限制的图。

具体实施方式

[0024] 下面,基于附图,对本发明所涉及的编程工具的实施方式进行详细说明。此外,本发明不限定于本实施方式。
[0025] 实施方式1
[0026] 图1是表示本发明的实施方式1所涉及的编程工具的结构的框图。编程工具10由安装了编程工具软件的计算机实现。编程工具10是对由PLC运行的循环控制程序等进行编辑的工具。
[0027] 编程工具10具有程序编辑部11、部件信息管理部12、执行顺序决定部13以及再编译要否判定部14。程序编辑部11对功能框图(FBD)部件进行配置,对配置后的FBD部件彼此进行连接,从而对程序进行编辑。
[0028] 部件信息管理部12与程序编辑部11连接。部件信息管理部12对由程序编辑部11配置的FBD部件的位置信息及连接信息进行管理。
[0029] 执行顺序决定部13与部件信息管理部12连接。执行顺序决定部13针对由程序编辑部11进行编辑而得到的程序,基于FBD部件的位置信息及连接信息,决定FBD部件的执行顺序。
[0030] 再编译要否判定部14与部件信息管理部12连接。再编译要否判定部14对是否需要实施与程序编辑部11中的FBD部件的配置变更相伴的再编译进行判定。
[0031] 图2是说明对FBD部件的配置进行变更时的编程工具的处理步骤的流程图。针对使用FBD部件而生成的FBD程序,用户从程序编辑部11所配置的FBD部件中选择对配置进行变更的FBD部件(步骤S1)。用户在程序编辑部11中指定使配置变更的FBD部件。
[0032] 部件信息管理部12接收步骤S1中的选择,使由程序编辑部11指定的FBD部件的位置变更,对FBD部件的执行顺序相同的位置范围进行提取(步骤S10)。
[0033] 在这里,关于步骤S10中的位置信息的提取,对FBD部件的执行顺序的规则进行说明。图3是说明按照规则决定FBD部件的执行顺序的方法的图。
[0034] 在图3中示出以实线矩形表示的11个FBD部件(A~K)。假设处理组是由彼此连接的FBD部件构成的一系列FBD部件组。图3所示的程序包含5个处理组(a)、(b)、(c)、(d)、(e)。在图3中,将处理组的边界作为虚线示出。
[0035] 处理组(a)由1个FBD部件(H)构成。处理组(b)由1个FBD部件(I)构成。处理组(c)由彼此连接的6个FBD部件(A、B、C、D、E、F)构成。处理组(d)由彼此连接的2个FBD部件(J、K)构成。处理组(e)由1个FBD部件(G)构成。
[0036] FBD部件的位置信息用XY坐标表示。假设程序中的处理的执行顺序是在Y轴方向上从上至下、在X轴方向上从左至右的顺序。假设在Y轴方向的位序和X轴方向的位序中,使Y轴方向的位序优先。将上述与位置信息相应的位序规则作为第1规则。
[0037] 按照第1规则,针对各处理组,决定代表处理组的FBD部件。假设图中以涂黑四边形表示的代表位置PPa、PPb、PPc、PPd、PPe表示作为各处理组(a)~(e)的代表的FBD部件的左上坐标。在各FBD部件中,所谓左上坐标是指FBD部件中最靠上且最靠左的位置的坐标。
[0038] 代表位置PPa、PPb、PPe分别是FBD部件(H)、(I)、(G)的左上坐标。代表位置PPc是处理组(c)所包含的6个FBD部件中的、在第1规则中处于最上级的FBD部件(D)的左上坐标。代表位置PPd是处理组(d)所包含的2个FBD部件中的、在第1规则中处于上级的FBD部件(J)的左上坐标。各处理组(a)~(e)彼此的执行顺序通过将代表位置PPa、PPb、PPc、PPd、PPe的位置关系按照第1规则进行比较而决定。
[0039] 图4是表示决定了FBD部件的执行顺序的例子的图。通过按照第1规则对代表位置PPa、PPb、PPc、PPd、PPe的位置关系进行比较,从而处理组的执行顺序决定为(a)、(b)、(d)、(c)、(e)。
[0040] 在包含多个FBD部件的处理组中,在存在向某个FBD部件进行输入的FBD部件的情况下,从上述输入的连接路线中的上游的FBD部件起,对执行顺序进行确定。将上述与连接信息相应的位序规则作为第2规则。
[0041] 例如,关于作为处理组(c)的代表的FBD部件(D),在其输入侧连接有FBD部件(C)。在FBD部件(C)的输入侧还连接有FBD部件(A)。在这些FBD部件之间,按照第2规则,执行顺序为FBD部件(A)、(C)、(D)的顺序。
[0042] 在FBD部件(E)的输入侧连接有FBD部件(C)、FBD部件(B)。按照第2规则,FBD部件(C)及FBD部件(B)与FBD部件(E)相比位于上级。在FBD部件(C)和FBD部件(B)之间,按照第1规则,FBD部件(C)是上级。在这些FBD部件之间,执行顺序为FBD部件(C)、(B)、(E)的顺序。
[0043] 在FBD部件(E)和FBD部件(F)之间,在第1规则及第2规则中的任一个中,FBD部件(E)均为上级。由此,处理组(c)内的各FBD部件的执行顺序为FBD部件(A)、(C)、(D)、(B)、(E)、(F)的顺序。
[0044] 在处理组(d)的FBD部件(J)和FBD部件(K)之间,按照第1规则,FBD部件(J)为上级。按照第1规则,从位序高的处理组开始处理,如果处理组内的所有FBD部件的处理完成,则开始位序次高的处理组的处理。由此,如图4所示,决定了各处理组(a)~(e)的FBD部件(A~K)的执行顺序。
[0045] 图5是表示与FBD部件的执行顺序相同的位置范围的提取有关的详细步骤的流程图。部件信息管理部12在对所指定的FBD部件的配置进行了变更的情况下,提取对执行顺序产生影响的FBD部件(步骤S11)。在FBD程序中,按照FBD部件的执行顺序执行处理。FBD程序的处理过程由FBD模块的执行顺序进行控制。关于步骤S11,所谓对执行顺序产生影响的状况,是指会使通过执行FBD程序而实现的处理过程的控制内容变化的状况。
[0046] 例如,假设部件信息管理部12保存有在程序编辑部11的编辑中描绘出的所有对象(object)的数据。部件信息管理部12从在图2所示的步骤S1中选择出的FBD部件中,循着连接信息,检索与该FBD部件连接的FBD部件。由此,部件信息管理部12对选择出的FBD部件所属的处理组内的FBD部件进行确定。并且,部件信息管理部12提取会由于选择出的FBD部件的移动而对执行顺序产生影响的FBD部件。
[0047] 在这里,参照图6,说明步骤S11中的FBD部件的提取。图6是表示FBD程序的图形数据的例子的图。图6所示的图形数据例如在构成编程工具10的计算机所具有的显示器上显示。
[0048] FBD部件401、402、403属于处理组410。FBD部件404、405、406、407属于处理组411。FBD部件408、409属于处理组412。例如,假设FBD部件405是在步骤S1中被指定的FBD部件。
[0049] FBD部件405的输入端子IN与FBD部件404的输出端子OUT1连接。FBD部件406的输入端子IN与FBD部件404的输出端子OUT2连接。根据第2规则,为了确定出FBD部件405及FBD部件406的执行顺序,需要确定出FBD部件404的执行顺序。
[0050] 如果确定了FBD部件404的执行顺序,则部件信息管理部12对FBD部件405的左上坐标、和FBD部件406的左上坐标进行比较,根据第1规则确定出FBD部件405的执行顺序。然后,确定出FBD部件406的执行顺序。
[0051] FBD部件405的输出端子OUT与FBD部件407的输入端子IN1连接。FBD部件406的输出端子OUT与FBD部件407的输入端子IN2连接。根据第2规则,通过确定出FBD部件405及FBD部件406的执行顺序,FBD部件407的执行顺序得以确定。
[0052] 关于处理组411内部的执行顺序的决定,FBD部件404及FBD部件407仅通过连接信息确定出执行顺序,而与位置信息无关。与此相对,FBD部件405及FBD部件406通过位置信息及连接信息双方而确定出执行顺序。
[0053] 部件信息管理部12以上述方式,在步骤S11中提取出位置信息及连接信息两者对执行顺序的确定产生影响的FBD部件。部件信息管理部12在对FBD部件405的配置进行了变更的情况下,提取出FBD部件406,作为对执行顺序产生影响的FBD部件。
[0054] 然后,部件信息管理部12从各处理组中,提取出决定着处理组单位的位置信息的FBD部件(步骤S12)。所谓决定着处理组单位的位置信息的FBD部件,是指处理组所包含的FBD部件中的、代表处理组的FBD部件。决定着处理组单位的位置信息的FBD部件是按照第1规则而决定的。
[0055] 上述FBD部件的提取以除了步骤S1中选择出了FBD部件的处理组以外的处理组为对象。在图6所示的例子中,除了包含FBD部件405的处理组411以外的处理组410、412是步骤S12中的提取对象。部件信息管理部12从处理组410中提取出FBD部件401。部件信息管理部12从处理组412中提取出FBD部件408。
[0056] 然后,部件信息管理部12对在步骤S11及S12中提取出的各FBD部件的位置信息进行提取(步骤S13)。部件信息管理部12提取在步骤S11中提取出的FBD部件406的左上坐标,作为FBD部件406的位置信息。部件信息管理部12提取在步骤S12中提取出的FBD部件401的左上坐标,作为FBD部件401的位置信息。部件信息管理部12提取在步骤S12中提取出的FBD部件408的左上坐标,作为FBD部件408的位置信息。
[0057] 然后,部件信息管理部12对即便使在步骤S1中选择出的FBD部件移动、执行顺序也相同的位置范围进行提取(步骤S14)。部件信息管理部12基于在步骤S13中提取出的位置信息、和在步骤S1中选择出的FBD部件的位置信息,对即便使FBD部件移动、执行顺序也相同的范围进行提取。
[0058] 在图6所示的例子中,在FBD部件405在位置范围420内进行了移动的情况下,各处理组410、411、412的各FBD部件的执行顺序在FBD部件405的移动前及移动后不变。在FBD部件405向位置范围420之外进行了移动的情况下,各处理组410、411、412的各FBD部件的执行顺序相对于FBD部件405的移动前,在移动后会发生变化。
[0059] 在第1规则中,位置范围420与FBD部件401的左上坐标相比位于下级,与FBD部件406的左上坐标相比位于上级。部件信息管理部12基于针对FBD部件401、406、408提取出的各位置信息、和FBD部件405的位置信息,对位置范围420进行提取。在本实施方式中,位置范围420是作为下述范围而设定的,即,在Y轴方向上对即便使FBD部件移动、执行顺序也相同的范围进行限制。根据对各FBD部件进行配置的方式等,位置范围420也可以是在Y轴方向上及X轴方向上均对执行顺序相同的范围进行限制。
[0060] 部件信息管理部12例如使用拓扑排序,根据FBD部件的位置信息,计算执行顺序相同的位置范围。此外,部件信息管理部12可以利用任意算法,求出即便使FBD部件移动、执行顺序也相同的范围。
[0061] 返回图2,用户通过程序编辑部11使在步骤S1中指定的FBD部件移动(步骤S2)。部件信息管理部12从程序编辑部11获取移动后的FBD部件的位置信息。
[0062] 再编译要否判定部14从部件信息管理部12获取在步骤S2中配置已被变更的FBD部件的位置信息、和在步骤S10中提取出的位置范围。再编译要否判定部14对配置已被变更的FBD部件的位置信息、和执行顺序相同的位置范围进行比较(步骤S3)。
[0063] 再编译要否判定部14对配置已被变更的FBD部件的位置信息是否包含在执行顺序相同的位置范围内进行判断(步骤S4)。在图6所示的例子中,再编译要否判定部14对移动后的FBD部件405的左上坐标是否包含在位置范围420内进行判断。
[0064] 在配置已被变更的FBD部件的位置信息包含在执行顺序相同的位置范围内的情况下(步骤S4、Yes),再编译要否判定部14判定为不需要与步骤S2的FBD部件的配置变更相伴的再编译。
[0065] 在图6所示的例子中,再编译要否判定部14在由步骤S1指定的FBD部件405的配置变更后的位置信息包含在由部件信息管理部12提取出的位置范围420内的情况下,判定为不需要实施再编译。程序编辑部11根据不需要再编译的判定,维持FBD程序的已编译的状态(步骤S5)。
[0066] 另一方面,在配置已被变更的FBD部件的位置信息未包含在执行顺序相同的位置范围内的情况下(步骤S4、No),再编译要否判定部14判定为需要与步骤S2的FBD部件的配置变更相伴的再编译。
[0067] 在图6所示的例子中,再编译要否判定部14在由步骤S1指定的FBD部件405的配置变更后的位置信息未包含在由部件信息管理部12提取出的位置范围420内的情况下,判定为需要实施再编译。程序编辑部11根据需要再编译的判定,使FBD程序向未编译状态变化(步骤S6)。由此,编程工具10结束FBD部件的配置变更中的一系列处理。
[0068] 本发明的编程工具10在利用FBD语言而记述的程序中,根据FBD部件的位置信息,对处理的执行顺序是否由于FBD部件的配置变更而改变进行判定。即使在对FBD部件的配置进行变更的情况下,如果配置变更的前后各FBD部件的执行顺序相同,则编程工具10也维持FBD程序的已编译的状态。与每当存在FBD部件的配置变更则总是使FBD程序向未编译状态变化的情况相比,编程工具10能够减轻实施再编译、以及PC写入所导致的工作量。
[0069] 当前,为了对FBD程序进行比较,需要与编译相当的处理,与此相对,在本发明中,在FBD部件的移动时,能够根据FBD部件的位置信息及连接信息而决定执行顺序,通过执行顺序的比较,对FBD程序进行比较。根据本发明,由于不需要FBD程序的比较中的与编译相当的处理,因此能够减轻FBD部件的配置变更中的作业负担。由此,编程工具10具有下述效果,即,能够减轻FBD部件的配置变更所导致的程序编辑的作业负担。
[0070] 编程工具10在是否需要再编译的判定中,通过根据连接信息及位置信息对执行顺序进行提取的处理、和对执行顺序进行比较的处理,实现程序的比较。对于编程工具10,与需要向机械语言的变换等的通过现有技术而实现的比较方法相比,能够减少用于对程序进行比较的工序及处理。由此,编程工具10能够使程序的变更前后的比较处理高速化。用户能够利用编程工具10,容易地实施是否需要再编译的判定。
[0071] 用户在例如通过控制程序的编译及PC写入而对设备的动作进行确认后需要程序的文档时,有时对控制程序的样式进行调整。用户在对控制程序的样式进行调整时,能够大幅度地减轻对FBD部件的配置进行变更时的作业负担。
[0072] 实施方式2
[0073] 图7是说明本发明的实施方式2所涉及的编程工具的处理步骤的流程图。对与实施方式1相同的部分标注相同的标号,适当地省略重复的说明。
[0074] 实施方式2所涉及的编程工具具有与实施方式1所涉及的编程工具10(参照图1)相同的结构。并且,在实施方式2中,部件信息管理部12实施用于将即便使所指定的FBD部件的位置变更、执行顺序也相同的位置范围向用户进行通知的输出处理。
[0075] 针对使用FBD部件而生成的FBD程序,用户从程序编辑部11所配置的FBD部件中,选择对配置进行变更的FBD部件(步骤S21)。用户在程序编辑部11中对使配置变更的FBD部件进行指定。
[0076] 部件信息管理部12接收步骤S21中的选择,对即便使由程序编辑部11指定的FBD部件的位置变更、FBD部件的执行顺序也相同的位置范围进行提取(步骤S22)。步骤S22与实施方式1的步骤S10(参照图2)相同。步骤S22的详细内容与图3所示的步骤S10的详细内容相同。
[0077] 部件信息管理部12实施用于使在步骤S22中提取出的位置范围在显示器上显示的输出处理。编程工具10将FBD部件的执行顺序相同的位置范围在显示器上显示(步骤S23)。
[0078] 图8是表示对FBD部件的执行顺序相同的位置范围进行显示的例子的图。编程工具10在对FBD程序的图形数据进行显示的画面上,对在步骤S22中提取出的位置范围420和除此以外的位置范围进行颜色区分。另外,编程工具10对在步骤S22中提取出的位置范围420、和除此以外的位置范围之间的边界线进行显示。编程工具10通过显示器的显示,将FBD部件的执行顺序相同的位置范围向用户进行通知。
[0079] 用户通过程序编辑部11使在步骤S21中指定的FBD部件移动(步骤S24)。用户能够观察FBD部件的执行顺序相同的位置范围的显示并进行识别,在此基础上使FBD部件移动。
[0080] 此外,编程工具10也可以通过颜色区分及边界线中的某一方,对FBD部件的执行顺序相同的位置范围420进行显示。编程工具10可以通过任意方式示出位置范围420。
[0081] 再编译要否判定部14从部件信息管理部12中,对在步骤S24中配置已被变更的FBD部件的位置信息、和在步骤S22中提取出的位置范围进行获取。再编译要否判定部14对配置已被变更的FBD部件的位置信息、和执行顺序相同的位置范围进行比较(步骤S25)。再编译要否判定部14对配置已被变更的FBD部件的位置信息是否包含在执行顺序相同的位置范围内进行判断(步骤S26)。
[0082] 在配置已被变更的FBD部件的位置信息包含在执行顺序相同的位置范围内的情况下(步骤S26、Yes),再编译要否判定部14判定为不需要与步骤S24的FBD部件的配置变更相伴的再编译。程序编辑部11根据不需要再编译的判定,维持FBD程序的已编译的状态(步骤S27)。
[0083] 另一方面,在配置已被变更的FBD部件的位置信息未包含在执行顺序相同的位置范围内的情况下(步骤S26、No),再编译要否判定部14判定为需要与步骤S24的FBD部件的配置变更相伴的再编译。程序编辑部11根据需要再编译的判定,使FBD程序向未编译状态变化(步骤S28)。
[0084] 根据实施方式2,用户在选择了对配置进行变更的FBD部件时,能够明确地掌握使该FBD部件移动的情况下需要再编译的位置范围、和不需要再编译的位置范围,并在此基础上实施FBD程序的编辑。例如,用户能够通过尽量选择不需要再编译的配置变更,从而进一步减轻对控制程序的样式进行调整时的作业负担。
[0085] 为了向用户通知FBD部件的执行顺序相同的位置范围,编程工具10可以使用任意手段。使得部件信息管理部12能够实施与用于对位置范围进行通知的手段相应的输出处理。在步骤S24中,编程工具10例如也可以利用显示器上的对话框的显示、报警音的输出等手段对配置已被变更的FBD部件的位置信息未包含于执行顺序相同的位置范围内这一情况进行通知。
[0086] 编程工具10也可以设置为能够由用户任意地切换是否对FBD部件的执行顺序相同的位置范围进行通知。用户能够根据是否希望掌握不需要再编译的位置范围,任意地选择有无通知。
[0087] 实施方式3
[0088] 图9是说明本发明的实施方式3所涉及的编程工具的处理步骤的流程图。对与实施方式1相同的部分标注相同的标号,适当省略重复的说明。
[0089] 实施方式3所涉及的编程工具具有与实施方式1所涉及的编程工具10(参照图1)相同的结构。并且,在实施方式3中,程序编辑部11对所指定的FBD部件向即便使该FBD部件的位置变更、执行顺序也相同的位置范围以外的移动进行限制。
[0090] 针对使用FBD部件而生成的FBD程序,用户从程序编辑部11所配置的FBD部件中,选择对配置进行变更的FBD部件(步骤S31)。用户在程序编辑部11中,对使配置变更的FBD部件进行指定。
[0091] 部件信息管理部12接收步骤S31中的选择,对即便使由程序编辑部11指定的FBD部件的位置变更、FBD部件的执行顺序也相同的位置范围进行提取(步骤S32)。步骤S32与实施方式1的步骤S10(参照图2)相同。步骤S32的详细内容与图3所示的步骤S10的详细内容相同。用户通过程序编辑部11使在步骤S31中指定的FBD部件移动(步骤S33)。
[0092] 如果设定了FBD部件的执行顺序相同的位置范围,则程序编辑部11针对该FBD部件,对向所设定的位置范围之外的移动限制进行设定。
[0093] 再编译要否判定部14从部件信息管理部12中,对在步骤S33中配置已被变更的FBD部件的位置信息、和在步骤S32中提取出的位置范围进行获取。再编译要否判定部14对配置已被变更的FBD部件的位置信息、和执行顺序相同的位置范围进行比较(步骤S34)。再编译要否判定部14对配置已被变更的FBD部件的位置信息是否包含在执行顺序相同的位置范围内进行判断(步骤S35)。
[0094] 在配置已被变更的FBD部件的位置信息包含在执行顺序相同的位置范围内的情况下(步骤S35、Yes),程序编辑部11允许步骤S33中的移动。再编译要否判定部14判定为不需要与步骤S33的FBD部件的配置变更相伴的再编译。程序编辑部11根据不需要再编译的判定,维持FBD程序的已编译的状态(步骤S36)。
[0095] 另一方面,在配置已被变更的FBD部件的位置信息未包含在执行顺序相同的位置范围内的情况下(步骤S35、No),程序编辑部11对在步骤S31中选择出的FBD部件的移动进行限制(步骤S37)。
[0096] 图10是说明FBD部件向所设定的位置范围之外的移动的限制的图。在图10中,省略图6及图8所示的处理组410、411、412的图示。例如,程序编辑部11针对FBD部件405,对向通过步骤S32的提取而设定的位置范围420之外的移动进行限制。
[0097] 程序编辑部11在FBD部件405的图形被向位置范围420之外拖拽的期间,使得FBD部件405的放下动作无法完成。以上述方式,程序编辑部11拒绝FBD部件405的向位置范围420之外的移动。
[0098] 例如,在步骤S33中,假设用户针对FBD部件405,尝试向位置范围420之外的位置430拖拽。程序编辑部11将FBD部件405恢复原位,使FBD部件405向位置430的放下动作无法完成。
[0099] 程序编辑部11对FBD部件向执行顺序相同的位置范围之外的移动进行限制,从而使在步骤S33中尝试了移动的FBD部件留在执行顺序相同的位置范围内。由此,程序编辑部11维持FBD程序的已编译的状态(步骤S36)。此外,编程工具10也可以通过除了使得放下动作无法完成以外的任意方法,对FBD部件向执行顺序相同的位置范围之外的移动进行限制。
[0100] 根据实施方式3,编程工具10能够可靠地对需要再编译的FBD部件的配置变更进行限制。由此,用户通过排除需要再编译的配置变更,能够抑制对控制程序的样式进行调整时的作业负担。
[0101] 编程工具10也可以设置为用户能够任意地切换是否采用实施方式3中的FBD部件的移动限制。用户能够根据是否希望对需要再编译的配置变更进行排除,任意地选择有无FBD部件的移动限制。
[0102] 标号的说明
[0103] 10 编程工具,11 程序编辑部,12 部件信息管理部,13 执行顺序决定部,14 再编译要否判定部,401~409 FBD部件,410、411、412 处理组,420 位置范围,430 位置,PPa、PPb、PPc、PPd、PPe代表位置。