专利名称:程序制作支援装置的制作方法
技术领域:
本发明涉及程序制作支援装置,特别涉及由产业用控制器、微型机执行的测量监视控制程序的制作支援装置。
背景技术:
以往,以各种设备的测量监视控制的目的,使用了可编程控制器(ProgrammableController ;PC)、运动控制器(Motion Controller ;MC)、数值控制装置控制器(NumericalController :NC)、检查装置控制器、显不器(Graphic Operation Terminal (图形操作终端);G0T)等产业用控制器。作为由产业用控制器执行的测量监视控制程序中使用的语言,可以举出以梯形(ladder)为代表例的依照IEC61131 — 3规格的语言、控制器专用的语言。另外,作为代替产业用控制器而使用微型机的情况的测量监视控制程序的语言,可以举出C 语目、汇编语目。以下,代表性地以可编程控制器(以下“PC”)为例子而进行说明。PC执行测量监视控制程序(以下“程序”)来掌握测量监视控制对象的状态或者指示动作。使用规定的程序制作支援装置(例如,梯形制作支援装置)来制作程序,主要使用变量、设备、数值来记述。此处所称的设备是指,对PC的存储器地址分配了 PC与其连接的测量监视控制对象之间的输入输出的设备、以及PC内部性地使用的存储器地址。例如,在与下述非专利文献I的程序制作支援装置(梯形制作支援装置)对应的PC中,如将分配了输入的部分设为X设备、将分配了输出的部分设为Y设备、将内部性地使用的比特数据(内部中继)设为M设备、将内部性地使用的字数据(寄存器)设为D设备、R设备那样,按照数据类别,预先决定了设备文字。各设备的地址关于X设备、Y设备成为16进制表现,关于M设备、D设备、R设备成为10进制表现。变量用于指示设备。在与非专利文献I的程序制作支援装置对应的PC中,将该变量称为“标签”,在编译时分配给特定的设备。对于向设备分配标签,既有程序制作者直接指定的情况,也有在编译时自动地分配的情况。能够用作标签的文字是设备文字等预定的文字以外的文字。在使用标签来记述了程序的情况下,不改变程序自身的记述,而能够变更对程序内的标签分配的设备。在梯形程序中记述数值的情况下,在各数值的开头附加10进制表现的记号K或者16进制表现的记号H。例如,“K25”表示10进制表现的数值“25”。一般,作为在个人计算机(以下“个人电脑”)上动作的软件工具而提供程序制作支援装置,除了支援用于PC进行设备的测量/监视/控制的程序编辑以外,还具有将PC与个人电脑连接而将用个人电脑编辑了的程序(或者对其进行编译而得到的执行代码)传送到PC、或者监视设备的状态、通过执行程序而变化的变量的值以及设备的值的功能。另外,还有搭载程序制作支援装置提供的程序编辑功能、监视功能的显示器(GOT)0由此,能够在与PC常时处于连接状态的GOT上,进行程序的编辑、状态的监视。对于作为测量监视控制对象的设备的标准以及程序,虽然通过使用在个人电脑上动作的软件工具记述而电子地进行数据化,但由于在标准与程序之间没有电子数据上的相互关系,所以根据标准,使用程序制作支援装置,人工地制作测量监视控制程序。因此,为了制作使标准中记述的功能不会超过当不足且不会不合理地动作的程序,需要大量的工作量。近年来,还有如下的程序制作支援装置能够将广泛利用的程序部件化为程序模块(Program Organization Unit (程序组织单元);P0U),再利用与设备的标准匹配的POU,同时根据多个POU构成程序。如果程序语言是梯形,则POU相当于子例程、功能块(FunctionBlock ;FB),如果是结构化文本(Structured Text ;ST)、C语言,贝UPOU相当于子例程、函数。进而,还有如下的程序制作支援装置具有预先对由多个程序部件构成的任意的程序图案附加名称(宏名)而登记,并在制作程序时能够将其调出而再利用(宏流用)的宏功能。通过这样使用能够再利用程序部件的程序制作支援装置,程序的制作的工作量被减轻。非专利文献I :“GX Developer Version 8 才 > 一亍 <、y " 二工 7 >,,三菱電機株式会社、η,>编号SH - 08035
发明内容
如上所述,在制作者即人理解了测量监视控制对象的标准记述的基础上,通过人工作业制作程序。在近年来的程序制作支援装置中,通过再利用程序部件,程序的制作工作量被减轻了某种程度,但难以实现为了以匹配于标准的方式制作程序,选定哪个程序部件并将它们如何组合这样的判断,期望进一步减轻其工作量。本发明的目的在于,在测量监视控制程序的制作中,减轻选定以及组合用于制作匹配于测量监视控制对象的使用的程序的程序部件的工作量,提高程序制作效率。本发明提供一种程序制作支援装置,其特征在于,具备程序部件,包括至少I个程序要素,通过用户设定与各程序要素对应的再利用参数的内容,生成与该设定内容对应的程序;程序部件保持部,保持所述程序部件;以及程序编辑部,再利用所述程序部件而编辑程序,所述程序部件包括程序要素,该程序要素通过在再利用参数中通过列举而设定多个参数,生成结合了与各参数对应的多个要素的程序。根据本发明,能够以更直接地匹配于与设备的测量监视控制相关的标准的方式,定义程序部件,能够减轻用于以匹配于标准的方式制作程序的与程序部件的选定和这些程序部件的组合相关的设计工作量,大幅减轻使标准中记述的功能不会超过当不足且不会不合理地动作的程序的制作工作量。本发明的目的、特征、局面、以及优点根据以下的详细说明和附图将更加明确。
图I是示出实施方式I的程序制作支援装置的硬件结构的图。图2是示出实施方式I的程序制作支援装置的软件结构的图。图3是示出实施方式I的程序制作支援装置的程序部件定义画面的一个例子的图。图4是用于说明实施方式I的程序部件中包含的赋予了记号的要素的图。图5是用于说明实施方式I的程序部件中包含的赋予了记号“ + ”的要素的图。、
图6是示出实施方式I的程序部件的定义步骤的流程图。
图7是示出再利用实施方式I的自己保持处理程序部件而生成的主轴正转处理程序(梯形图形式)的图。图8是示出再利用实施方式I的自己保持处理程序部件而生成的主轴正转处理程序(指令表形式)的图。图9是示出实施方式I的程序部件的定义步骤的变更例的流程图。图10是示出实施方式I的程序部件再利用画面的一个例子的图。图11是示出再利用实施方式I的程序部件的程序的生成方法的流程图。图12是示出实施方式I的程序部件再利用画面的一个例子的图。图13是示出再利用实施方式I的自己保持处理程序部件而生成的主轴定向处理程序的图。图14是示出实施方式I的程序制作支援装置生成的程序的附属信息文件的一个例子的图。图15是示出实施方式I的附属信息文件的生成方法的流程图。图16是示出实施方式2的程序制作支援装置的软件结构的图。图17是示出实施方式2的程序要素部件定义画面的一个例子的图。图18是示出实施方式2的程序部件定义画面的一个例子的图。图19是示出实施方式2的程序部件再利用画面的一个例子的图。图20是示出实施方式2的程序部件再利用画面上附随的程序要素部件再利用画面的一个例子的图。图21是示出实施方式2的程序部件再利用画面上附随的程序要素部件再利用画面的一个例子的图。图22是示出再利用实施方式2的M代码完成处理程序部件而生成的程序的图。图23是示出实施方式3的程序制作支援装置的软件结构的图。图24是示出实施方式3的程序层级部件的定义步骤的流程图。图25是示出实施方式3的程序层级部件定义画面的一个例子的图。图26是示出实施方式3的程序层级部件定义画面的一个例子的图。图27是示出实施方式3的程序部件定义画面的一个例子的图。图28是示出实施方式3的层级部件再利用画面的一个例子的图。图29是示出再利用实施方式3的排他的选择数值设定程序层级部件而生成的切削倍率(override)设定开关程序的图。图30是不出切削倍率设定开关的一个例子的图。图31是示出再利用实施方式3的程序层级部件的程序的生成方法的流程图。图32是示出实施方式I的程序部件再利用画面的一个例子的图。图33是示出实施方式4的工作机械的结构的框图。图34是示出实施方式4的程序制作支援装置的软件结构的图。图35是示出设备的标准中的设定的图。图36是示出操作盘的标准中的设定的图。图37是示出操作盘的标准中的设定的图。
图38是示出操作盘的标准中的设定的图。图39是示出M代码的标准中的设定的图。图40是示出实施方式4的模式反转处理程序部件的图。图41是示出实施方式4的M代码解码处理程序部件的图。图42是示出实施方式4的AND条件处理程序部件的图。图43是示出由模式反转功能生成部制作的操作盘处理程序的图。图44是示出模式反转功能生成部的属性的图。图45是示出模式反转功能生成部的动作的流程图。图46是示出模式反转功能生成部取得的设备注释的图。图47是示出由运转模式选择功能生成部制作的操作盘处理程序的图。图48是示出运转模式选择功能生成部的属性的图。图49是示出运转模式选择功能生成部的动作的流程图。图50是示出切削倍率功能生成部的属性的图。图51是示出切削倍率功能生成部的动作的流程图。图52是示出由M代码功能生成部制作的M代码处理程序的图。图53是示出M代码功能生成部的属性的图。图54是示出M代码功能生成部的动作的流程图。图55是示出M代码功能生成部生成M代码解码处理程序的动作的流程图。图56是示出M代码功能生成部生成功能处理程序的动作的流程图。图57是示出M代码功能生成部生成功能处理程序的动作的流程图。图58是示出M代码功能生成部生成功能处理程序的动作的流程图。图59是示出M代码功能生成部生成完成处理程序的动作的流程图。图60是示出程序编辑部生成的梯形程序的一个例子的图。图61是示出程序编辑部生成的梯形程序的一个例子的图。(符号说明)I :程序制作支援装置;2 :微处理器;3 :显示部;4 :输入部;5 :保存部;6 :程序编辑部;8 :编辑后的程序;9 :附属信息文件;10 :程序部件;11 :程序部件保持部;12 :程序部件定义部;14 :再利用参数;15 :程序要素部件定义部;17 :程序要素部件;18 :再利用参数;19 :程序层级部件定义部;21 :程序层级部件;22 :再利用参数;30 :标准记述文件;31 :标准设定部;31A :操作盘标准设定部;31B :M代码标准设定部;32 :设备标准保持部;34 :程序生成部;341 :操作盘处理程序生成部;342 :M代码处理程序生成部
具体实施例方式〈实施方式1>在实施方式I中,作为定义程序部件而再利用的测量监视控制程序的制作方法的一个例子,说明梯形程序的制作方法。图I是示出实施方式I的程序制作支援装置的硬件结构的图。程序制作支援装置I包括微处理器2、显示部3、输入部4、保存部5。将作为测量监视控制对象的设备的标准记述以及测量监视控制程序(以下“程序”)作为文件而保持于保存部5。显示部3能够显示程序制作支援装置I的各种信息。例如,在用户使用输入部4将设备的标准输入到程序制作支援装置I时,其输入项目显示于显示部3。另外,后述的各种操作画面显示于该显示部3。微处理器2根据用户输入而保存于保存部5中的设备的标准,执行程序的生成处理。
图2是示出程序制作支援装置I的功能块结构(软件块结构)的图。通过利用微处理器2执行的软件,控制图I所示的各硬件控制,而实现图2所示的各功能块。程序制作支援装置I具备程序编辑部6,根据用户的操作(程序编辑)进行程序的编辑;程序部件定义部12,根据用户的操作(程序部件定义输入)定义可再利用的程序部件10 ;以及程序部件保持部11,储存由程序部件定义部12定义的程序部件10。在本发明中,程序部件10包括在再利用时设定的再利用参数14,程序部件10能够根据其设定内容采取各种形式(详细将后述)。本实施方式的程序编辑部6除了输出编辑后的程序8以外,还能够根据需要输出与其关联的附属信息文件9 (例如,说明设备的内容的注释等)。另外,在图2中,示出了程序部件定义部12内置于程序制作支援装置I的结构,但程序部件定义部12也可以被规定为与程序制作支援装置I独立的装置。以下,说明本实施方式的程序制作支援装置I的动作、以及使用了程序制作支援装置I的程序制作方法。此处,示出程序制作支援装置I生成梯形程序的例子。图3是用户使用程序部件定义部12来定义程序部件10时的操作画面显示(程序部件定义画面)的例子。此处,示出定义在梯形程序中经常使用的自己保持处理的程序部件时的例子。图3所示的程序部件定义画面(梯形部件定义画面)成为从上依次配设了显示了用于制作梯形图的图标的图标显示区域、用于操作这些图标来编辑程序部件的梯形图的程序编辑区域、用于定义程序部件的再利用参数的参数定义区域、以及用于输入所制作的程序部件的名称的程序部件名输入区域的结构。在图标显示区域中,除了接点(a接点“一I I — ”以及b接点“一|/|-”)、命令(“一[]_”)、线圈(coil) (“一()_”)这样的一般的程序要素的图标以外,还设置了对它们附加了”的记号的图标。附加了”的记号的图标对应于由I个以上的程序要素构成的集合体(集合),附加了“ * ”的图标对应于如图4那样对程序要素进行了 AND结合的中继列,附加了 “ + ”的图标对应于如图5那样对程序要素进行了 OR结合的中继列。另外,在梯形图中,线圈未进行AND结合,所以没有赋予了 “ ”的线圈的图标。程序编辑区域是能够操作上述各种图标来编辑梯形图的区域,是与以往的梯形程序制作支援装置具备的程序编辑画面(梯形编辑画面)同样的结构即可。参数定义区域是用于定义在再利用程序部件时应设定的再利用参数的区域,在制作(定义)程序部件时,由用户输入规定的事项。图6是示出本实施方式的程序部件的制作步骤的流程图。根据该图,说明程序部件的制作步骤。此处,例示如图3那样,制作自己保持处理的程序部件的情况。首先,将对程序部件的各要素赋予的再利用参数定义为用于记述该程序部件的部件变量(S11)。其通过用户在程序部件定义画面的参数定义区域中设定再利用参数来进行。在图3的例子中,作为No. I的再利用参数,定义了部件变量No. 2的再利用参数,定义了部件变量VB2,作为No. 3的再利用参数,定义了部件变量VB3。
另外,作为程序部件的再利用参数,也可以准备程序注释和跳跃用标签(程序指针)。它们也可以被规定为各程序部件必须具有的再利用参数。在作为再利用参数的程序注释中,在再利用程序部件来生成程序时,设定与所生成的程序相关的注释的字符串。作为其用途,例如,可以举出在所生成的程序的首部,记述在开头附加了“开始”的字符串的程序注释,在该程序的末尾,记述在开头附加了“结束”的字符串的程序注释等,而表示其之间的程序的内容等。在梯形程序中,将程序注释处理为语句,在作为程序注释设定了“主轴正转”的情况下,在所生成的程序中,如图7、图8那样记载注释。图7是梯形图形式的程序,图8是指令表形式的程序。另外,即使在程序部件中,定义了程序注释的再利用参数,如果没有需要,则也可以不设定字符串。在该情况下,生成不具有程序注释的程序。在作为再利用参数的跳跃用标签(程序指针)中,在针对通过再利用该程序部件而生成的程序进行来自其他程序的跳跃(调用)处理时,设定表示该程序的位置的标签。在梯形程序的情况下,程序指针被处理为设备的一种。在作为程序指针设置了 “P3”的情况下,在所生成的程序中,如图7 (梯形图形式)、图8 (指令表形式)那样记述程序指针。另外,也可以在具有程序指针的程序的最后,附加用于返回跳跃源的返回(RET)命令。另外,即使在程序部件中设定了跳跃用标签的再利用参数,如果没有需要,也可以什么也不设定。在该情况下,生成不具有跳跃用标签的程序(在梯形程序中,生成无程序指针和RET命令的程序)。接下来,在程序编辑区域中记述程序部件的结构(S12)。此处,记述梯形图。其通过用户操作程序部件定义画面的图标来进行。在通常的程序制作中,作为接点等各要素的参数赋予设备或者变量(标签),但针对程序部件的各要素,作为参数,赋予设备或者变量(标签)、或者定义为再利用参数的部件变量。在赋予了部件变量的要素中,在再利用程序部件时,用户需要指定适用于其的设备或者变量(标签)。对于赋予了设备或者变量(标签)的要素,在再利用程序部件时,原样地应用该设备或者变量(标签)。赋予了 “ * ”或者“ + ”的要素(集合)能够通过在再利用程序部件时设定的参数的数量,来指定其中包含的接点的数量。在程序部件的制作阶段中,针对集合不赋予设备或者变量(标签)而赋予I个部件变量。自己保持处理的梯形程序具有的自己保持用中继是I个,所以在自己保持用中继中使用通常的a接点和线圈。另一方面,对于保持指令条件(0N条件)中继、保持取消条件(OFF条件)中继,考虑各种构造。在图3的例子中,假设定义排他的选择处理、M代码功能处理的程序的制作中能够再利用的自己保持处理的程序部件,作为ON条件中继以及OFF条件中继,使用对I个以上的接点进行了 AND结合的中继列(附加了“ * ”的要素)。即,作为ON条件中继列,使用附加了 “ ”的a接点,作为OFF条件中继列,使用附加了 “ ”的b接点。另外,在ON条件中继列中赋予了定义为No. I的再利用参数的部件变量VB1,在OFF条件中继列中赋予了定义为No. 2的再利用参数的部件变量VB2,在自己保持用中继中赋予了定义为No. 3的再利用参数的部件变量VB3。由此,能够根据程序部件定义画面的程序编辑区域的显示与参数定义区域的显示的对应判断,用户能够以一眼得知其对应关系的方式,在参数定义区域的“说明文”的栏中,如图3那样,输入说明分配了再利用参数的要素、的注释(字符串)。如图3那样,在参数定义区域中,在对附加了的中继列赋予的No. I以及No. 2的再利用参数的“列举”的栏中显示的记号。另外,虽然在图3中没有示出,但在对附加了 “ + ”的中继列赋予 的再利用参数的“列举”的栏中显示“ + ”的记号。由此,明示了对集合赋予了该再利用参数。另外,自己保持用中继是I个,所以No. 3的再利用参数的“列举”的栏成为空白。在记述了程序部件的梯形图之后,对该程序部件提供名称(S13)。其通过用户在程序部件定义画面的程序部件名输入区域中输入字符串来进行。在图3的例子中,对所制作出的程序部件提供“自己保持处理”这样的名称。以上,程序部件的制作完成。另外,在上面的说明中,是首先定义再利用参数(S11),之后使用其来记述程序部件的程序(梯形图)(S12)这样的步骤,但其顺序也可以相反。S卩,也可以是如图9的流程图那样,首先使用未定义的变量来记述程序部件的程序(梯形图)(S21),之后从所记述的程序抽出未定义的变量(S22),将所抽出的未定义的变量定义为再利用参数(部件变量)(S23),赋予程序部件的名称(S24)这样的步骤。对于未定义的变量的抽出以及作为再利用参数(部件变量)的定义,既可以通过用户在参数定义区域中输入规定的事项来进行,也可以通过程序部件定义部12检索未定义的变量来进行。如果再利用参数与所记述的程序中使用的部件变量的对应不矛盾,则对其方法没有限定。接下来,说明使程序制作支援装置I自动生成程序的步骤。图10示出使程序制作支援装置I再利用程序部件来自动生成程序时的操作画面显示(程序部件再利用画面)的一个例子。在该图中,示出了再利用如图3那样定义的自己保持处理程序部件的情形。该程序部件再利用画面具备程序部件名显示区域,显示再利用的程序部件的名称;以及参数应用区域,用于在再利用参数中输入所应用的设备、变量(标签)等参数。另外,也可以在程序部件再利用画面中,如图32那样,设置显示所选择出的程序部件的构造以及对其各要素赋予的再利用参数的编号(No.)的程序显示区域。在该情况下,用户能够容易地掌握希望再利用的程序部件的构造、以及各要素与再利用参数的对应关系。程序部件名显示区域不仅显示再利用的程序部件的名称,而且还具有作为从已经定义的多个程序部件选择再利用的部件的选择菜单的功能。在程序部件再利用画面中,在参数应用区域中显示的再利用参数的“No. ”、“列举”、“说明文”的栏中,显示在图3的程序部件定义画面的参数定义区域中定义的内容。用户在参数应用区域中,在再利用参数中输入所应用的参数。此时,能够在“列举”的栏中显示了 “ * ”或者“ + ”的再利用参数中,列举输入2个以上的参数。另外,能够在作为再利用参数的程序注释中,输入关于所生成的程序的注释(字符串)。在图10的例子中,示出了在程序注释中应用“主轴正转”、在跳跃用标签中应用“P3”、在No. I的再利用参数(VBl)中应用“M3”、在No. 2的再利用参数(VB2)中应用“M4、M19”、在No. 3的再利用参数(VB3)中应用“Y1898”的例子。在该情况下,程序制作支援装置I生成在图3所示的梯形图中将ON条件中继列VBl置换为I个a接点M3,将OFF条件中继列VB2置换为进行了 AND结合的2个b接点M4、M19,将自己保持用中继VB3置换为中继VB3,对其附加程序指针P3、返回命令(RET)、程序注释“开始主轴正转”以及“结束主轴正转”而得到的梯形程序、即图7所示的梯形图。或者,也可以生成将其按照指令表形式记述了的图8所示的程序(图7的梯形图和图8的指令表是等价的)。说明程序制作支援装置I进行的、再利用了程序部件的程序的生成方法。图11是该生成方法的流程图。此处,以生成图7所示的梯形程序的情况为例子。如果如图10那样,由用户在程序部件再利用画面中输入必要的信息而命令了生成程序,则程序制作支援装置I首先调查是否在再利用参数的程序注释中设定了字符串(S31)。如果在程序注释中设定了字 符串,则输出在其开头赋予了“开始”的程序注释(S32)。在图10的情况下,在程序注释中设定了“主轴正转”的字符串,所以输出对其赋予了“开始”的“开始主轴正转”而作为程序注释。接下来,调查是否作为跳跃用标签(程序指针)的再利用参数设定了某个标签(S33),如果设定了,则输出与其对应的跳跃用标签。在图10的情况下,设定了标签P3,所以输出“P3”而作为跳跃用标签。接下来,按照程序部件的程序构造的顺序,抽出构成程序的要素(S35),对所抽出的要素,分别进行以下的处理。首先,确认是否在所抽出的要素中定义了再利用参数(S36)。如果设定了再利用参数,则调查该要素是否为被附加了 “ * ”的要素(AND列)(S37),如果是AND列,则对应用了图10的参数应用区域中列举出的参数的要素进行AND结合而输出。另一方面,如果设定了再利用参数的该要素是被附加了“ + ”的要素(0R列)(S39),则对应用了再利用参数中列举出的参数的要素进行OR结合而输出(S40)。如果对设定了再利用参数的该要素没有附加“ * ”也没有附加“ + ”,则输出应用了在再利用参数中设定的参数的要素(S41)。另外,在该要素是没有设定再利用参数的要素、即并非赋予部件变量而赋予了设备、变量(标签)的情况下,原样地输出该设备、变量(标签)(S42)。针对再利用的程序部件的所有要素进行以上的工序(S43)。例如,在图3中定义的程序部件中的第I个要素是a接点的AND列“一 Μ — 在其中定义了 No. I的再利用参数VB1。在图10的例子中,在No. I的再利用参数中仅设定了 M3,在该情况下,输出I个a接点 M3 (S38)。第2个要素是对第I个要素(VBl)进行OR结合而定义了 No. 3的再利用参数VB3的、没有附加也没有附加“ + ”的a接点。由于在No. 3的再利用参数中设定了 Y1898,所以在对之前输出的a接点M3进行OR结合的位置输出a接点Y1898 (S41)。第3个要素是对第I个要素(VBl)以及第2个要素(VB3)进行AND结合而定义了No. 2的再利用参数VB2的b接点的AND列(一|/| — *)。在No. 2的再利用参数中列举了M4、M19,所以在与之前输出的a接点M3、Y1898进行AND结合的位置,输出使b接点M4、M19进行了 AND结合的要素(S38)。最后(第4个)要素是对第3个要素(VB3)进行AND结而定义了 No. 3的再利用参数VB3的线圈(一()一)。在No. 3的再利用参数中设定了 Y1898,所以在对之前输出的b接点M4、M19进行AND结合的位置输出线圈Y1898 (S41)。如果针对程序部件的所有要素,以上的工序完成(S43),则再次确认是否在作为再利用参数的跳跃用标签(程序指针)中设定了特定的标签(S44),如果设定了,则输出返回跳跃的调出源的返回命令(S45)。在图10的例子中,在对以上的第f第4个要素进行OR结合的位置,输出返回命令(一 [RET]―)。然后,再次确认是否在再利用参数的程序注释中设定了字符串(S46),如果设定了字符串,则输出在其开头赋予了“结束”的程序注释(S47)。在图10的情况下,输出对“主轴正转”赋予了 “结束”的“结束主轴正转”而作为程序注释。通过以上的工序,自动地制作针对在程序部件定义画面(图3)中定义的程序部件的再利用参数,应用在程序部件再利用画面(图10)中设定的参数而得到的程序(图7的梯形图或者图8的指令表)。此处,说明图7的梯形程序的动作。在初始状态下,设备M3、M4、M19、Y1898都是 OFF状态。如果作为自己保持的保持指令条件(0N条件)中继的a接点M3成为0N,则a接点Y1898成为0N。之后,即使a接点M3成为OFF,a接点Y1898的ON也被保持。a接点Y1898的ON状态继续,直至作为保持取消条件(OFF条件)中继的b接点M4、M19中的某一个成为ON为止。如果b接点M4、M19中的某一个成为0N,则a接点Y1898返回OFF(即自己保持被取消)。本实施方式的程序制作支援装置I通过变更在程序部件再利用画面中设定的再利用参数的内容,能够根据I个程序部件生成各种形式的程序。例如,如果与上述同样地,在再利用如图3那样定义的自己保持处理的程序部件时,在程序部件再利用画面中如图12那样设定再利用参数的内容,则能够生成图13所示的梯形程序。说明图13的梯形程序的动作。在初始状态下,设备M19、XC18、M3、M4、Y189E都是OFF状态。如果作为ON条件中继的a接点M19、XC18这两方成为0N,则a接点Y189E成为0N。之后,即使a接点M19、XC18成为OFF, a接点Y189E的ON仍被保持。a接点Y189E的ON状态继续,直至作为OFF条件中继的b接点M3、M4中的某一个成为ON为止。如果b接点M3、M4中的某一个成为0N,则a接点Y189E返回OFF (即自己保持被取消)。如上所述,程序制作支援装置I能够与所制作出的程序8 一起输出与其关联的附属信息文件9。在附属信息文件9中,例如,针对在所生成的程序中再利用的设备或者变量(标签)(在程序部件中定义了再利用参数的设备或者变量(标签)),记述说明这些内容的注释。对于附属信息文件,既可以由用户操作程序制作支援装置I来制作,也可以自动生成。图14是示出记述了说明在所生成的程序中再利用的设备或者变量(标签)的内容的注释的附属信息文件的自动制作方法的流程图。根据图14,说明附属信息文件的自动制作方法。程序制作支援装置I如果再利用程序部件而生成了程序,则从其中依次抽出在再利用参数中应用的参数(在图10的例子中为“主轴正转”、P3、M3、M4、M19、Y1898) (S51),确认该参数是否为设备或者变量(标签)(S52)。如果该参数是设备^314119,¥1898)或者变量(标签),则使该程序部件名和与该参数对应的“说明文”的字符串结合,将其作为该设备、变量(标签)的注释而输出(S53)。这些工序反复,直至抽出应用于再利用参数的所有参数为止(S54)。通过以上的工序自动生成附属信息文件。例如,在如图10那样设定了再利用参数的情况下,程序制作支援装置I能够与图7或者图8的程序一起,生成图15那样的附属信息文件。
本实施方式的程序部件的特征在于,包括的程序要素(中继列),其中,在再利用时,通过列举多个参数(设备、变量(标签)、数值等)而应用到再利用参数中,由此以规定的形式(AND结合、OR结合)生成多个要素。该程序部件能够根据应用于再利用参数的参数的列举数,取各种形式。即,能够根据I个程序要素生成多个形式的程序。另外,本实施方式的程序制作支援装置I的特征在于,具备能够定义这样的程序部件的程序部件定义部12。在以往的程序制作支援装置中,无法使用同一程序部件来生成不同的形式的程序、例如图7的程序和图13的程序,但在本发明中能够生成。由此,能够应用程序部件的范围变宽,能够以更直接地匹配于作为测量监视控制对象的设备的标准记述的方式,定义程序部件因此,能够减轻用于制作匹配于标准记述的程序的、与程序部件的选定以及它们的组合相关的设计工作量,大幅削减不会超过当不足地具备标准中记述的功能的程序的制作工作量。另外,再利用程序部件而生成的程序的附属信息文件也能够自动生成,由于存在该附属信息,所生成的程序的理解变得容易,与所生成的程序的理解相关的工作量被减轻。〈实施方式2>在实施方式I中,说明了单独作为程序(程序部件P0U)而成立的构造的程序部件。此处,示出使用虽然无法单独作为程序(程序部件P0U)成立,但能够成为程序部件的要素的程序部件(以下“程序要素部件”)的实施方式。例如,接点、命令、线圈能够成为无法分解为其以上的最基本的程序要素部件。接点、命令、线圈能够成为程序以及程序部件的构成要素,并且还是程序要素部件的构成要素。同样地,程序要素部件既能够成为程序以及程序部件的构成要素,也能够成为其他程序要素部件的构成要素。以下,说明程序要素部件的定义方法和再利用方法。图16是示出实施方式2的程序制作支援装置I的功能块结构(软件块结构)的图。该程序制作支援装置I相对实施方式I (图2)的结构,还具备用于定义程序要素部件17的程序要素部件定义部15。将所定义的程序要素部件17保存到程序部件保持部11。程序要素部件17具有在对其进行再利用时设定的再利用参数18。另外,在图16中,示出了程序部件定义部12以及程序要素部件定义部15内置于程序制作支援装置I的结构,但它们也可以是外部装置。图17是示出用户使用程序要素部件定义部15来定义程序要素部件17时的、操作画面显示(程序要素部件定义画面)的一个例子的图。此处,示出了定义按照梯形图形式记述的程序要素部件(AND条件处理程序要素部件)的情况的例子。程序要素部件定义画面(梯形要素部件定义画面)具有类似于图3所示的程序部件定义画面(梯形部件定义画面)的结构。即,如图17那样,程序要素部件定义画面成为从上依次配设了显示了用于制作梯形图的图标的图标显示区域、用于操作这些图标而编辑程序要素部件的梯形图的程序编辑区域、用于定义程序要素部件的再利用参数的参数定义区域、以及用于输入所制作出的程序要素部件的名称的程序要素部件名输入区域的结构。在图标显示区域中,除了图3所示的程序部件定义画面具备的图标以外,还配置了程序要素部件(一□一)以及对其附加了或者“ + ”的图标。的记号表示进行了AND结合的程序要素部件的列,“ + ”的记号表示进行了 OR结合的程序要素部件的列。
程序编辑区域是能够操作上述各种图标来编辑梯形图的区域,且是与以往的梯形程序制作支援装置具备的程序编辑画面(梯形编辑画面)同样的结构即可。但是,程序要素部件仅据此无法成立为程序,所以与图3所示的程序编辑区域不同,成为没有左母线和右母线,且对构成梯形图的I个要素的内部构造进行编辑那样的形式。参数定义区域是用于定义在再利用程序要素部件时应设定的再利用参数的区域,由用户输入规定的事项。程序要素部件的定义的步骤与图6或者图9所示的程序部件的定义步骤相同,所以此处的说明省略。图17示出了程序要素部件由赋予了“ * ”的I个a接点(对a接点进行 了 AND结合的中继列)构成的结构的例子。另外,对该a接点的中继列附加了定义为No. I的再利用参数的部件变量VB1,对该部件变量VBl附加了“AND条件中继列”这样的说明文。另外,对该程序要素部件,赋予了 “AND条件处理”这样的名称。另外,如果在程序要素部件定义画面中,使用程序要素部件的图标(“一□-”、“一□ 一+”以及“一□一 *”)来构成包括其他程序要素部件的梯形图,则还能够定义再利用其他程序要素部件的程序要素部件。图18是本实施方式的程序制作支援装置I的程序部件定义画面的例子。与图3所示的结构同样地,成为从上依次配设了图标显示区域、程序编辑区域、参数定义区域、程序部件名输入区域的结构。在图标显示区域中,除了图3所示的程序部件定义画面具备的图标以外,还配置了程序要素部件(一□一)以及对其附加了或者“ + ”的图标。用户能够通过操作该图标,来制作再利用了程序要素部件的程序部件。参数定义区域是在制作程序部件时用户输入规定的事项的区域。除了图3所示的栏以外,还设置了在定义包括程序要素部件的程序部件的情况下,用于确定该程序要素部件的种类的“要素部件类别”的栏。用户在使用程序要素部件来定义程序部件时,操作“要素部件类别”的栏,从已经定义的程序要素部件中选择并指定要使用的部件。在图18中,在程序编辑区域中,定义了对OR结合了的程序要素部件的列(一 □一+ )、和线圈(一()一)进行AND结合而成的程序部件。然后,对上述程序要素部件的列,赋予定义为No. I的再利用参数的部件变量VEl,并且,在参数定义区域中,作为部件变量VEl的程序要素部件的类别,指定了 “AND条件处理”(即在图17中定义的程序要素部件)。另外,此处,由用户对其设定了 “0R条件(AND条件处理程序要素部件列)”这样的说明文。在上述线圈中,并非赋予定义为再利用参数的部件变量,而赋予了作为表示M代码完成的输出设备的YC1E。在该情况下,在再利用该程序部件时,始终记述设备YC1E。另夕卜,对程序部件中使用的程序要素部件,不允许赋予设备、变量(标签),而需要必须赋予再利用参数的部件变量。在图18中,使用程序部件名输入区域,对该程序部件赋予了 “M代码完成处理”这样的名称。还能够针对用于定义程序部件的程序要素部件,列举并指定程序要素部件的类另O。在该情况下,在所列举的类别中,定义能够再利用任意的程序要素部件的程序部件。另外,还能够针对用于定义程序部件的程序要素部件(对其赋予的部件变量),不指定程序要素部件的类别。在该情况下,在程序要素部件的类别中没有制约,定义能够再利用任意的程序要素部件的程序部件。对于没有指定程序要素部件的类别的部件变量、且对程序要素部件赋予的部件变量,在再利用程序部件时,需要应用程序要素部件。另外,针对没有指定程序要素部件的类别的部件变量、且对接点、命令、线圈的图标赋予的部件变量,在再利用程序部件时,需要如实施方式I那样应用设备、变量(标签)。接下来,说明使程序制作支援装置I使用包括程序要素部件的程序部件而自动生成程序的步骤。图19示出使程序制作支援装置I再利用程序部件而自动生成程序时的操作画面显示(程序部件再利用画面)的一个例子。在该图中,示出了再利用如图18那样定义的M代码完成处理程序部件的情形。实施方式2的程序部件再利用画面(图19)相对实施方式I的程序部件再利用画面(图10),追加了显示程序部件中包含的程序要素部件的类别的“要素部件类别”的栏、和“行追加”以及“行删除”的按钮。在图18所示的M代码完成处理程序部件中,包括类别是“AND条件处理”的程序 要素部件,所以在图19的例子中,在No. I的再利用参数的“类别”的栏中显示“AND条件处理”,与其对应的说明文“0R条件(AND条件处理程序要素部件列)”显示于“说明文”的栏。另外,在程序部件包括类别未指定的程序要素部件的情况、包括指定了多个类别的程序要素部件的情况下,由用户在程序部件再利用画面(图19)中对该类别进行指定/选择。有时在程序要素部件中包括多个再利用的要素,所以难以仅通过图19那样的画面来设定再利用参数。因此,在再利用的程序部件包括程序要素部件的情况下,在程序部件再利用画面中,在程序要素部件的“再利用参数”的栏中,显示用于展开用于设定该程序要素部件的再利用参数的其他画面的按钮(以下“展开按钮”)。用户能够通过按压该展开按钮,打开进行关于程序要素部件的再利用参数设定的画面(程序要素部件再利用画面)。另外,在程序部件包括程序要素部件的集合,并希望在该再利用参数中应用多个参数的情况下,难以在I个程序要素部件再利用画面中进行其设定。因此,在包括程序要素部件的集合的情况下,如图19那样,在程序部件再利用画面中显示“行追加”、“行删除”的按钮。行追加按钮用于增加构成集合的程序要素部件的数量,通过将其按压,在参数应用区域中,用于设定程序要素部件的再利用参数的栏增加I行(展开按钮增加I个)。如果按压行删除按钮,则能够将其删除I行。如果参照图19的程序部件再利用画面,则M代码完成处理程序部件(图18)包括AND条件处理程序要素部件进行OR结合的集合(在“列举”的栏中显示“ + ”),该集合与No. I的再利用参数对应起来。用户在所制作的程序中希望对多个AND条件处理程序要素部件进行OR结合的情况下,按压行追加按钮而对参数应用区域追加行。在图19中,示出了对2个AND条件处理程序要素部件进行OR结合的情况的例子。用户之后设定各要素的再利用参数,如下那样对程序要素部件设定再利用参数。例如,如果按压OR结合的2个AND条件处理程序要素部件中的第I个(在“列举”的栏中显示“I”)展开按钮,则图20那样的程序要素部件再利用画面打开。程序要素部件再利用画面的结构与程序部件再利用画面(图19)相同。用户输入在该画面的参数应用区域中设定的参数。在图20是在第I个AND条件处理程序要素部件的再利用参数中应用了设备M3的例子。
另外,在再利用的程序要素部件具有其他程序要素部件的情况下,在“要素部件类另IJ”的栏中显示该类别(在没有设定类别、或者设定了多个类别的情况下,使用该栏来选择期望的类别)。进而,在“再利用参数”的栏中也显示展开按钮,由此能够设定其他程序要素部件的再利用参数。在图20中,AND条件处理程序要素部件不包括程序要素部件,所以“要素部件类别”的栏是空栏,展开按钮也不显示。 另外,在程序部件再利用画面中,如果按压第2个AND条件处理程序要素部件(在“列举”的栏中显示“2”)的展开按钮,则与图20同样的图21那样的程序要素部件再利用画面打开。在图21是在第I个AND条件处理程序要素部件的再利用参数中应用了设备M3的例子。在图21中,示出了在第2个AND条件处理程序要素部件的再利用参数中列举设备M19、X188E而应用的例子。图22示出如图19、图20以及图21那样设定各个再利用参数,使程序制作支援装置I生成了程序的结果。在该情况下,在M代码完成处理程序部件(图18)中,由程序制作支援装置1,生成程序要素部件VEl的部分被置换为在图20中设定的AND条件处理程序要素部件M3、与在图21中设定的AND条件处理程序要素部件M19、X188E的OR结合的程序。本实施方式的程序部件的特征在于,包括在再利用时通过在再利用参数中通过列举而应用多个参数(设备、变量(标签)、数值等),按照规定的形式(AND结合、OR结合)生成多个程序要素部件的程序要素部件的列。在该程序部件中,根据应用于程序要素部件的再利用参数的数量,再利用的程序要素部件的个数变化,并且程序要素部件自身根据其中应用的参数而也能够取各种形式。因此,在实施方式2中,能够根据I个程序要素,生成比实施方式I更多的形式的程序。另外,本实施方式的程序制作支援装置I的特征在于,具备能够定义这样的程序部件的程序部件定义部12。因此,能够减轻用于制作匹配于标准记述的程序的、与程序部件的选定以及它们的组合相关的设计工作量,大幅削减不会超过当不足地具备标准中记述的功能的程序的制作工作量。另外,再利用程序部件而生成的程序的附属信息文件也能够自动生成,由于存在该附属信息,所生成的程序的理解变得容易,与所生成的程序的理解相关的工作量被减轻。〈实施方式3>在实施方式3中,示出使用多个特定的程序部件结合而成的更大的程序部件(以下“程序层级部件”)的实施方式。图23是示出实施方式3的程序制作支援装置I的功能块结构(软件块结构)的图。该程序制作支援装置I相对实施方式2 (图16)的结构,还具备用于定义程序层级部件21的程序层级部件定义部19。将所定义的程序层级部件21保存到程序部件保持部11。程序层级部件21具备在对其进行再利用时设定的再利用参数22。另外,在图23中,示出了程序部件定义部12、程序要素部件定义部15以及程序层级部件定义部19内置于程序制作支援装置I的结构,但它们也可以是外部装置。图24是示出程序层级部件19的定义的步骤的流程图。另外,图25以及图26是使用程序层级部件定义部19来定义程序层级部件时的操作画面显示(程序层级部件定义画面)的例子。此处,示出了按照梯形图形式,定义进行排他的选择数值设定的处理的程序层级部件的画面的例子。该程序层级部件定义画面(梯形层级部件定义画面)成为从上依次配设了用于设定所制作的程序层级部件中包含的程序部件的程序部件设定区域、用于定义程序层级部件的再利用参数的参数定义区域、以及输入程序层级部件的名称的程序层级部件名输入区域的结构。程序部件设定区域进而还包括用于设定程序层级部件中的程序部件的排列的程序部件次序设定区域、和用于在构成程序层级部件的各程序部件的再利用参数中应用规定的参数的参数应用区域。
以下,以包括图3所示的自己保持处理程序部件、和如图27那样定义的数值设定处理程序部件的排他的选择数值设定程序层级部件为例子,而说明程序层级部件的定义的步骤。首先,将在再利用程序层级部件时设定的再利用参数定义为用于记述程序层级部件的部件变量(S61)。在图25以及图26的例子中,作为No. I的再利用参数,定义了对排他的选择数值设定程序的指令中继(在图27中赋予了作为再利用参数的部件变量VBl的a接点)赋予的部件变量VB。另外,作为No. 2的再利用参数,定义对在数值设定处理命令(MOV)中设定的数值(图27的变量VK2)赋予的部件变量VK,作为No. 3的再利用参数,作为内部局部变量(内部中继)设定部件变量VM,作为No. 4的再利用参数,定义对数值的设定目的地寄存器(图27的变量VD3)赋予的部件变量VD。此处,参数定义区域的“列举”的复选框用于设定是否能够针对该再利用参数通过列举而设定参数。在图25以及图26的例子中,选择了(“ > ”)的No. Γ3的再利用参数被定义为能够通过列举而设定参数。程序层级部件再利用所列举的参数的数量的规定的程序部件来进行程序生成。另外,也可以如图25以及图26的参数定义区域所示,作为程序层级部件的再利用参数,准备程序注释和程序指针。接下来,使用程序部件次序设定区域,来选择在程序层级部件中再利用的程序部件及其顺序(S62)。在使用程序层级部件来生成程序时,按照所选择出的顺序再利用在该工序中选择出的程序部件。在图25以及图26的例子中,在程序部件次序设定区域的右侧的框中显示了已定义的程序部件的一览,如果从该一览选择I个并按下选择按钮(“〈〈”),则其被追加到左侧的框内的梯形图。另外,如果选择左侧的框(梯形图)中显示的I个程序部件并按下删除按钮,则能够从梯形图删除该程序部件。进而,如果选择左侧的框中显示的I个程序部件并按下上下移动按钮(箭头按钮“丨”以及“丨”),则能够变更该程序部件的顺序。在图25以及图26中,示出了从程序部件的一览中,首先选择自己保持处理程序部件并追加到梯形图,进而选择数值设定处理程序部件并追加到梯形图的上述自己保持处理程序部件的下一个的例子。其结果,定义能够生成将自己保持处理程序部件以及数值设定处理程序部件按照该顺序再利用了的程序的程序层级部件。另外,该程序层级部件如果在再利用参数通过列举而设定了参数,则能够生成将自己保持处理程序部件以及数值设定处理程序部件反复再利用了该列举出的参数的数量的程序。接下来,将在程序层级部件中定义为再利用参数的部件变量应用于该程序层级部件中包含的程序部件的再利用参数(S63)。在图25以及图26的例子中,如果选择程序部件次序设定区域的左侧框(梯形图)内的程序部件,则在其下面的参数应用区域,显示所选择出的程序部件的再利用参数的一览。
在图25中,在程序部件次序设定区域的左侧框内选择自己保持处理程序部件,在参数应用区域中显示了该再利用参数的一览。此处,针对自己保持处理程序部件的No. I的再利用参数(图3的VBl)应用了对该程序层级部件的No. I的再利用参数VB附加了记号“O”的结果(VB@),针对自己保持处理程序部件的No. 2的再利用参数(图3的VB2)应用了对该程序层级部件的No. I的再利用参数VB附加了记号“O!”的结果(VB@!),针对自己保持处理程序部件的No. 3的再利用参数(图3的VB3)应用了对该程序层级部件的No. 3的再利用参数VM附加了记号的结果(VM@)。在图26中,在程序部件次序设定区域的左侧框内选择数值设定处理程序部件,在参数应用区域中显示了该再利用参数的一览。此处,针对数值设定处理程序部件的No. I的再利用参数(图27的VBl)应用对该程序层级部件的No. 3的再利用参数VM附加了记号“O”的结果(VM@),针对数值设定处理程序部件的No. 2的再利用参数(图27的VK2)应用对该程序层级部件的No. 2的再利用参数VK附加了记号“O”的结果(VK@),针对数值设定处理程序部件的No. 3的再利用参数(图27的VD3)应用了该程序层级部件的No. 4的再利用参数VD。另外,记号表示在将程序层级部件内的程序部件被反复再利用了所列举出的参数的数量了时,将所列举出的参数逐个依次应用。另外,记号“@! ”表示在将程序层级部件内的程序部件被反复再利所列举出的参数的数量时,通过列举而应用根据记号“O”应用的参数以外的所有参数。在再利用程序层级部件时,将该程序层级部件中包含的程序部件被反复再利用在再利用参数中通过列举而应用的参数的数量。例如,如果在再利用参数VB中,通过列举而应用了 3个参数XI、X2、X3,则再利用进行3次。在该情况下,在第I次的再利用中在VBO中应用第I个参数XI,在VBO!中应用其以外的参数X2、X3。另外,在第2次的再利用中,在VBO中应用第2个参数X2,在VBO!中应用其以外的参数XI、X3。另外,在第3次的再利用中,在VBO中应用第3个参数X3,在VBO!中应用其以外的参数XI、X2。最后,在程序层级部件名输入区域中对所制作出的程序层级部件输入名称(S64)并保存,从而程序层级部件的定义完成。另外,程序层级部件还能够成为其他程序层级部件的构成要素。在存在已经定义并保存的程序层级部件的情况下,在程序层级部件定义画面的程序部件次序设定区域的右侧框中对其进行显示,而能够与通常的程序部件同样地选择。由此,能够定义再利用其他程序层级部件的程序层级部件。图28示出了使程序制作支援装置I再利用程序层级部件而自动生成程序时的操作画面显示(程序层级部件再利用画面)的一个例子。该程序层级部件再利用画面与图10的结构大致相同,具备显示再利用的程序层级部件的名称的程序层级部件名显示区域、和用于输入应用于再利用参数的设备、变量(标签)等参数的参数应用区域。在图28中,示出了再利用如图24以及图25那样定义的程序层级部件的情形。在参数应用区域中显示的再利用参数的“No. ”、“列举”、“说明文”的栏中,显示在图24以及图25的程序层级部件定义画面的参数定义区域中定义的内容。
用户在参数应用区域中,输入应用于再利用参数的参数。此时,能够在“列举”的栏中显示了选择(“ >”)的再利用参数中,通过列举而输入2个以上的参数。但是,在各再利用参数(仅限于能够通过列举而应用参数的情形)中通过列举而应用的参数的数量需要完全相同。
在图28的例子中,示出了在程序注释中应用“切削倍率设定开关”、在No. I的再利用参数(VB)中应用“X285、X286、X287、X288”、在No. 2的再利用参数(VK)中应用“25、50、75、100”、在 No. 3 的再利用参数(VM)中应用 “M4002、M4003、M4004、M4005”、在 No. 3 的再利用参数(VD)中应用“R2500”的例子。在该情况下,由程序制作支援装置I制作图29那样的梯形程序。图29的程序是处理图30那样的切削倍率开关的设定结果的程序。设备的操作者通过设备的操作盘等中具备的切削倍率开关,从25%、50%、75%、100%选择该设备工作时的切削倍率值。切削倍率开关的输出与为了进行设备的测量监视控制而嵌入的控制器的各X设备(X285、X286、X287、X288)连接。控制器将通过各X设备的ON (接通)/OFF (断开)选择出的切削倍率值储存到控制器内部的R寄存器(R2500)。以下,说明程序制作支援装置I进行的、再利用了程序部件的程序的生成方法。图31是该生成方法的流程图。此处,以生成图7所示的梯形程序的情况为例子。如果如图29那样,由用户在程序层级部件再利用画面中输入必要的信息,而命令生成程序,则首先程序制作支援装置I确认能够通过列举而应用参数的再利用参数(在程序层级部件定义画面的参数定义区域中,在“列举”的栏中输入了选择(“ > ”)的参数)是否有多个,在有多个的情况下,确认在它们中应用的参数的数量是否完全相同(S71)。如果存数量不同的参数,则显示再利用参数的设定错误等,不生成程序而结束(S72)。接下来,进行与作为再利用参数的程序注释以及跳跃用标签(程序指针)的设定内容对应的处理(S73)。该处理是与图11的步骤S3fS34相同的处理。以后,将程序部件的再利用进行在再利用参数中通过列举而应用的参数的数量而生成程序。首先,将用于对再利用的次数进行计数的索引i设定为1(S74)。每当程序部件的再利用完成,索引i递增1,反复程序部件的再利用,直至i的值超过参数的列举数。按照程序层级部件的程序构造的顺序、即在程序层级部件定义画面的程序部件次序设定区域中设定的顺序,进行程序部件的再利用。程序制作支援装置I按照程序层级部件的程序构造的顺序抽出程序部件(S75 )。接下来,依次抽出所抽出的程序部件的再利用参数(S76),确认是否对其应用了该程序层级部件的再利用参数(S77)。如果应用了该程序层级部件的再利用参数,则判断对其附加了记号“O”(S78)、还是附加了记号“@!”(S80)、或者都不是。如果对程序部件的再利用参数附加了记号则针对其应用程序层级部件的第i个再利用参数(S79)。如果对程序部件的再利用参数附加了记号“O! ”,则针对其通过列举而应用程序层级部件的第i个以外的所有再利用参数(S81)。如果哪个记号也没有附加,则在程序部件的再利用参数中,应用程序层级部件的再利用参数(S82)。另外,在所抽出的程序部件的再利用参数中,没有应用该程序层级部件的再利用参数的情况下(在S77中“否”),原样地应用应用于该程序层级部件的再利用参数的设备、变量(标签)、数值(S83)。针对该程序部件的所有再利用参数执行与程序部件的再利用参数相关的处理(S76^S83) (S84)。如果针对所有再利用参数的处理完成(在S84中“否”),则根据其处理结果生成再利用了该程序部件的程序(S85)。在该程序生成工序中,进行与图11所示的程序的生成方法同样的处理。针对程序层级部件内的所有程序部件,按照指定的顺序,执行程序部件的抽出(S75)至再利用程序部件的程序生成(S85)的处理(S86)。如果针对所有程序部件,这些处理完成(在S86中“否”),则索引i递增(S87),反复这些处理,直至递增后的索引i超过程序层级部件的再利用参数中列举出的参数的数量(S88)。最后,进行与作为再利用参数的程序注释以及跳跃用标签(程序指针)的设定内容对应的处理(S89)。该处理是与图11的步骤S44 S47相同的处理。针对如图25以及图26那样定义的程序层级部件,以如图28那样设定了再利用参数的情况为例子,具体说明以上说明的程序生成方法。如果如图28那样,由用户在程序层级部件再利用画面中输入必要的信息,并命令生成程序,则程序制作支援装置I确认在“列举”的栏中输入了选择(“ > ”)的No. Γ4的再利用参数中列举出的参数的数量(S71)。此处,由于都是4个,所以不成为设定错误,而执行程序的制作。首先,在再利用参数的程序注释中设定了“切削倍率设定开关”,所以程序制作支援装置I将对其赋予了“开始”的“开始切削倍率设定开关”作为程序注释而输出(S73)。跳跃用标签没有被设定。在将索引i设定为I之后,按照程序层级部件的构造顺序抽出程序部件(S75)。如图25以及图26的定义,该程序层级部件的第I个程序部件是自己保持处理程序部件,所以其被抽出。然后,针对所抽出的自己保持处理程序部件,依次抽出再利用参数(S76)。首先,在自己保持处理程序部件的No. I的再利用参数VBl中,应用对程序层级部件的No. I的再利用参数VB附加了记号“O”的结果。因此,在其中通过列举而设定的设备X285、X286、X287、X288的第I个(第i个)X285被应用于自己保持处理程序部件的No. I的再利用参数VBl (S79)。在自己保持处理程序部件的No. 2的再利用参数VB2中,应用对程序层级部件的No. I的再利用参数VB附加了记号“@!”的结果。因此,在其中通过列举而设定的设备X285、X286、X287、X288的第I个(第i个)以外的X286、X287、X288被应用于自己保持处理程序部件的No. 2的再利用参数VB2 (S81)。在自己保持处理程序部件的No. 3的再利用参数VB3中,应用了对程序层级部件的No. 3的再利用参数VM附加了记号的结果。因此,在其中通过列举而设定的设备M4002、M4003、M4004、M4005的第I个(第i个)M4002被应用于自己保持处理程序部件的No. 3的再利用参数VB3 (S79)。根据以上的再利用参数的应用结果,输出再利用自己保持处理程序部件而生成的程序(S85)。如果再利用自己保持处理程序部件的程序生成结束,则这次抽出作为程序层级部件的第2个程序部件的数值设定处理程序部件(S75)。然后,针对所抽出的数值设定处理程序部件,依次抽出再利用参数(S76),进行与上述同样的处理。在数值设定处理程序部件的No. I的再利用参数VBl中,应用对程序层级部件的No. 3的再利用参数VM附加了记号的结果。因此,在其中通过列举而设定的设备M4002、M4003、M4004、M4005的第I个(第i个)M4002被应用于数值设定处理程序部件的No. I的、再利用参数VBl (S79)。在数值设定处理程序部件的No. 2的再利用参数VK2中,应用对程序层级部件的No. 3的再利用参数VK附加了记号的结果。因此,在其中通过列举而设定的数值25、50、75,100的第I个(第i个)即25 (在图29中为10进制表现“K25”)被应用于数值设定处理程序部件的No. 2的再利用参数VK2 (S79)。在数值设定处理程序部件的No. 3的再利用参数VD3中,应用程序层级部件的No. 4的再利用参数VD。在其中没有附加记号“O”也没有附加记号“O! ”,所以在其中设定的设备R2500被原样地应用于数值设定处理程序部件的No. 3的再利用参数VD3 (S82)。根据以上的再利用参数的应用结果,输出再利用数值设定处理程序部件而生成的程序(S85)。 如果这样完成再利用自己保持处理程序部件以及数值设定处理程序部件的程序生成,则索引i被递增(S87)。在图28的例子中,参数的列举数是4个,所以针对索引i=2、3、4,通过与上述同样的步骤,反复进行再利用自己保持处理程序部件以及数值设定处理程序部件的程序生成。最后,进行与作为再利用参数的程序注释以及跳跃用标签(程序指针)的设定内容对应的处理(S89)。在图28的例子中,输出对所设定的程序注释“切削倍率设定开关”赋予了“结束”的“结束切削倍率设定开关”而作为程序注释。另外,没有设定跳跃用标签,所以不输出返回命令。通过以上那样的步骤,生成图29所示的程序。本实施方式的程序层级部件通过再利用,能够生成组合多个程序部件而构成的程序。另外,此时,通过在程序层级部件的再利用参数中通过列举而应用多个参数(设备、变量(标签)、数值等),能够生成将这些程序部件再利用了多次的结构的程序。该程序层级部件能够根据应用于再利用参数的参数的列举数而取各种形式。另外,本实施方式的程序制作支援装置I的特征在于,具备能够定义这样的程序部件的程序部件定义部12。通过与实施方式1、2的组合,能够生成比实施方式1、2更多的形式的程序。另外,本实施方式的程序制作支援装置I的特征在于,具备能够定义这样的程序部件的程序部件定义部12。因此,能够减轻用于制作匹配于标准记述的程序的、与程序部件的选定以及它们的组合相关的设计工作量,大幅削减制作不会超过当不足地具备标准中记述的功能的程序的制作工作量。另外,再利用程序部件而生成的程序的附属信息文件也能够自动生成,由于存在该附属信息,所生成的程序的理解变得容易,与所生成的程序的理解相关的工作量被减轻。〈实施方式4>本实施方式4的程序制作支援装置I生成用于控制工作机械的程序。以下,作为其一个例子,说明程序制作支援装置I生成梯形程序的情况。首先,在说明程序制作支援装置I之前,说明使用程序制作支援装置I生成的梯形程序的工作机械。图33是示出工作机械的结构的框图。工作机械46具备计算机数值控制装置控制器(Computerized Numerical Controller :以下记载为 “CNC”)47、使工作机械 46 的工具以及加工物旋转以及移动的主轴马达54以及伺服马达55、用于操作工作机械46的操作盘56、和附带设备57。另外,以下,还有时将图33所示的具备CNC47的工作机械46称为“CNC工作机械46”。CNC47由例如嵌入到CNC工作机械46的计算机构成,具备具有运动控制功能的运动控制部51、和具有时序控制功能的时序控制部52。在该CNC47中,预先存储有记述了 CNC工作机械46中的加工步骤的加工程序48,CNC47解释该加工程序48来控制主轴马达54以及伺服马达55、或者控制附带设备57。具体而言,在加工程序48中,预先记述了指令工具以及加工物的移动量以及移动速度的G代码49,CNC47的运动控制部51根据该G代码49的指令(数值),控制主轴马达54以及伺服马达55的旋转以及移动。由此,具备CNC47的工作机械46能够使工具以及加工物以期望的移动量以及移动速度旋转或者移动。另外,在加工程序48中,预先记述了指令附带设备57的控制的M代码50,CNC47的时序控制部52根据该M代码50的指令,控制附带设备57。该时序控制部52具有与PC 等同的功能,所以既可以通过与PC等同并且独立于PC的硬件来实现,也可以通过PC的硬件来实现。以上那样的与CNC工作机械46的梯形程序制作关联的标准例如公开于非专利文献 2 (非专利文献 2 =PLC 7° 口夕'' 7 务 > 夕''説明書 IB — 1500035,网络〈URL http://wwwf2.mitsubishielectric, co. jp/melfansweb/index_j. htm>)。另外,为了使以上那样的CNC工作机械46正确地动作,CNC工作机械46需要具有用于按照M代码50的指令控制附带设备57的梯形程序53 (以下,“M代码处理程序”),并且需要具有用于使用操作盘56来控制工作机械46的梯形程序53 (以下,“操作盘处理程序,,)。<程序制作支援装置I的结构>本实施方式的程序制作支援装置I根据操作盘56的标准、以及M代码50的标准,生成在CNC工作机械46中使用的操作盘处理程序、以及M代码处理程序。以下,说明本实施方式的程序制作支援装置I。另外,制作操作盘处理程序以及M代码处理程序的程序制作支援装置既可以是与用于制作PC的梯形程序的程序制作支援装置等同并且与其独立的装置,也可以应用用于制作PC的梯形程序的程序制作支援装置。另外,一般,CNC工作机械46在操作盘56中具备多个开关,并且具备几十 几百个M代码50,但以下,以运转模式选择、倍率等典型的开关、M3、M4、M5、M30等代表性的M代码为例子而进行说明。本实施方式的程序制作支援装置I的硬件结构与图2所示的框图相同。如果使用图2来说明其硬件结构,则将与CNC工作机械46相关的标准的数据以及与测量监视控制程序相关的文件保持于保存部5。另外,程序制作支援装置I使应输入的标准显示于显示部3,依照在输入部4中由用户设定的标准,微处理器2执行程序生成处理。图34是示出本实施方式的程序制作支援装置I的功能块结构(软件块结构)的图。该程序制作支援装置I相对此前的实施方式中说明的程序编辑部6以及程序部件保持部11,还具备标准设定部31、和设备标准保持部32。另外,为了简化附图,在图34中,程序部件定义部12等的图示被省略。从外部(标准输入29),对程序制作支援装置1,输入操作盘56以及M代码50等的标准而作为标准输入29。另外,程序制作支援装置I与操作盘56以及记述了 M代码等标准的标准记述文件30连接,能够关于操作盘56以及M代码等的标准,读写标准记述文件30。标准设定部31从标准输入29以及标准记述文件30,接收操作盘56以及M代码50的标准,而设定操作盘56的标准以及M代码50的标准。在本实施方式中,标准设定部31具有接收操作盘56的标准来设定(存储)操作盘56的标准的操作盘标准设定部31A、和接收M代码50的标准来设定(存储)M代码50的标准的M代码标准设定部31B。标准设定部31将所设定的标准(标准数据)输出到程序编辑部6或者以写入到标准记述文件30的方式输出。
程序部件保持部11预先保持有在程序编辑部6生成程序时使用的梯形部件等程序部件10。该程序部件10既可以是在实施方式广3中的任一个中定义的部件,也可以是在这些以外的以往的方式中定义的部件。本实施方式的程序部件保持部11保持有模式反转处理程序部件10A、自己保持处理程序部件10B、数值设定处理程序部件10C、M代码解码处理程序部件10D、AND条件处理程序部件10E、M代码完成处理程序部件10F,而作为程序部件10。图35是示出设备标准保持部32保持的与运动控制输入输出相关的设备地址的标准的图。设备标准保持部32保持图35所示那样的设备的标准,而作为与在CNC工作机械46中使用的梯形程序关联的标准。具体而言,设备标准保持部32保持有将确定是什么样的运动控制输入输出的名称、与分配了该输入输出的设备地址关联起来的表格。以上那样的与CNC工作机械46的梯形程序的制作相关的设备地址的标准例如公开于非专利文献3 (非专利文献 3:PLC 4 > 夕一7 二一 7説明書 IB — 1500000、网络〈URL :http://wwwf2.mitsubishielectric, co. jp/melfansweb/index_j. htm>)。程序编辑部6通过接收来自标准设定部31的标准、或者读取标准记述文件30中保存的标准,来取得操作盘56以及M代码50的标准。在本实施方式中,该程序编辑部6具备程序生成部34。该程序生成部34将标准记述文件30中记述的操作盘56以及M代码50的各个标准、以及由标准设定部31设定的操作盘56以及M代码50的各个标准应用于程序部件保持部11中保持的程序部件10的再利用参数22,并且根据该程序部件10制作程序。另外,本实施方式的程序生成部34在根据程序部件10制作程序时,参照设备标准保持部32中保持的设备的标准。在本实施方式中,该程序生成部34具有操作盘处理程序生成部341、和M代码处理程序生成部342,具有针对每个功能标准生成程序的单元。接下来,说明操作盘处理程序生成部341以及M代码处理程序生成部342。操作盘处理程序生成部341将标准记述文件30中记述的操作盘56的标准、以及由标准设定部31设定的操作盘56的标准应用于程序部件保持部11中保持的程序部件10的再利用参数22,并且根据该程序部件10生成上述操作盘处理程序。在本实施方式中,操作盘处理程序生成部341具备模式反转功能生成部341A、运转模式选择功能生成部341B、以及切削倍率功能生成部341C (以下,还有时将它们总称为“功能生成部341A 341C”),功能生成部341A 341C的各个生成用于在操作盘56中进行相互不同的控制的操作盘处理程序。具体而言,模式反转功能生成部341A生成用于在操作盘56中进行模式反转控制的操作盘处理程序,运转模式选择功能生成部341B生成用于在操作盘56中进行运转模式选择控制的操作盘处理程序,切削倍率功能生成部341C生成用于在操作盘56中进行切削倍率控制的操作盘处理程序。 M代码处理程序生成部342将标准记述文件30中记述的M代码50的标准、以及由标准设定部31设定的M代码50的标准应用于程序部件保持部11中保持的程序部件10的再利用参数22,并且根据该程序部件10生成上述M代码处理程序。在本实施方式中,M代码处理程序生成部342具备M代码功能生成部342A,M代码功能生成部342A生成M代码处
理程序。程序编辑部6将所生成的操作盘处理程序以及M代码处理程序作为编辑后的程序8输出,并且根据需要输出与其关联的附属信息文件9。例如,在编辑后的程序8是梯形程序的情况下,如实施方式I中的说明,将说明在该梯形程序中使用的各设备的内容的注释作为附属信息文件9而输出。
<操作盘标准设定部31A中的标准的设定>接下来,说明通过标准设定部31的操作盘标准设定部31A设定操作盘56的标准的例子。图36是示出用于在具有并非拨动型的开关、例如按压按钮开关排列的操作盘56的CNC工作机械46中设定该操作盘56中的各开关的标准的画面(以下“操作盘标准设定画面”)的一个例子的图。在该图36所示的操作盘标准设定画面上,矩阵状地排列多个开关而显示,如果由使用者使用鼠标双击(选择)了某一个开关,则显示与该开关对应的开关标准设定画面。图37是示出在图36中选择了记载为“运转存储器”的开关的情况下显示的开关标准设定画面的图。在该开关标准设定画面中,针对在图36中选择的I个开关,设定开关类别、开关动作、开关输入。此处,标定图36所示的开关的框内显示的字符串是图37所示的、在开关类别中设定的字符串的开头部分、和在开关动作中设定的字符串的组合。例如,如图37所示,在开关类别中设定了“运转模式选择”,在开关动作中设定了“存储器”的情况下,组合“运转模式选择”这样的字符串的开头部分“运转”和“存储器”而得到的“运转存储器”如图36所示显示于开关的框内。另外,在图36中没有赋予字符串的开关(在图36中右上的开关)表示在图37中没有设定开关类别以及开关动作。对于图37所示的开关标准设定画面中的设定,首先,进行开关类别的设定,之后进行开关动作的设定。在开关类别这样的字符串的旁边,设置了下拉列表或者组合框(以下,记载为“下拉列表等”),通过由用户从在其中显示的一览选择I个期望的开关类别,设定开关类别。在下拉列表等中显示的一览中,显示CNC工作机械46的操作盘56所需的开关的类别。在本实施方式中,操作盘标准设定部31A在上述一览中显示操作盘处理程序生成部341能够生成的操作盘处理程序的类别、即操作盘处理程序生成部341具备的功能生成部341A141C的功能的名称(“模式反转”、“运转模式选择”、“切削倍率”)。另外,由用户将它们中的一个设定为开关类别。在开关动作这样的字符串的旁边,设置下拉列表等,从在其中显示的一览选择期望的开关动作,设定开关动作。具体而言,与之前选择出的开关类别对应的开关动作被一览显示,设定其中的一个。由此,针对操作盘处理程序生成部341能够生成的操作盘处理程序,设定与开关类别对应的开关动作。
在本实施方式 中,如果在开关类别中设定了 “模式反转”,则在开关动作的下拉列表等中,作为模式反转的开关动作,显示“单块”、“试行”,设定它们中的一个。如果在开关类别中设定了 “运转模式选择”,在开关动作的下拉列表等中,作为运转模式选择的开关动作,显示“轻推(jog)”、“把手(handle)”、“存储器”,设定它们中的一个。如果在开关类别中设定了 “切削倍率”,则在用%值来表示切削倍率的情况下,在开关动作的下拉列表等中,作为切削倍率的开关动作显示“ 25 ”、“ 50 ”、“ 75 ”、“ 100 ”,设定它们中的一个。在开关输入这样的字符串的芳边的框中,设定对该开关分配的PC的输入设备。如果预先决定了对特定的输入设备分配各开关,则也可以显示该设备的地址,而省略地址设定。图38是以与图36以及图37所示的显示形式不同的显示形式显示了用于设定各开关的标准的画面的图。与上述说明同样地,针对“模式反转”在开关动作的栏中设定“单块”、“试行”,针对“运转模式选择”在开关动作的栏中设定“轻推”、“把手”、“存储器”,针对“切削倍率”在开关动作的栏中显示“ 25 ”、“ 50 ”、“ 75 ”、“ 100 ”。〈M代码标准设定部31B中的标准的设定>接下来,说明通过标准设定部31的M代码标准设定部31B设定M代码50的标准的例子。图39是示出用于设定CNC工作机械46具备的M代码50的功能标准的画面的一个例子的图。在M代码的栏中设定M代码编号,在功能名的栏中设定该M代码50的简单的说明。在功能开始的栏中,通过下拉列表等选择性地显示“与块开始同时”、“块轴移动完成后”,设定其中的I个。此处,“与块开始同时”意味着,在与轴移动相同的块中指令了该M代码50的情况下,与在该块中指令的轴移动的开始同时,开始执行该M代码50的功能。“块轴移动完成后”意味着,在与轴移动相同的块中指令了该M代码50的情况下,在该块中指令的轴移动完成之后,开始执行该M代码50的功能。在功能取消的栏中,仅在分配了该M代码50的功能的块内有效的情况下,什么也不设定。但是,即使超过了分配了该M代码50的功能的块,在希望使该M代码50的功能直至被其他M代码50取消或者变更为止有效的情况下,在功能取消的栏中通过列举而设定该其他M代码50。在该功能取消的栏中,设定与在M代码的栏中设定的M代码编号不同的M代码编号。例如,在M代码的栏中设定了 “M3”的情况下,在功能取消的栏中,设定M3以外的M代码编号,在M代码的栏中设定了 “M4”的情况下,在功能取消的栏中,设定M4以外的M代码编号。在功能输出的栏中,设定作为该M代码50的功能输出目的地的、作为输出设备的Y设备、作为内部设备的M设备等设备的地址。在该M代码50中无需功能输出的情况下,在该栏中什么也不设定。在功能完成的栏中,设定成为该M代码50的功能完成的条件的、作为输入设备的X设备、作为内部设备的M设备等设备的地址。在与该M代码50的功能输出同时完成功能的情况下,在该栏中什么也不设定。接下来,分别具体说明针对图39所示的表的每个行设定的各M代码50。M03 (M3)这样的M代码50是进行主轴正转的M代码功能,在与轴移动相同的块中指令了的情况下,与在该块中指令了的轴移动的开始同时开始M代码50的功能(主轴正转)。主轴正转的功能直至指令逆转、停止为止继续,所以将进行主轴逆转的功能的M4的M代码50、以及进行主轴停止的功能的M5的M代码50,作为取消M3的M代码功能的其他M代码50,设定到功能取消的栏。另外,在图39所示的标准中,将作为用于使主轴正转的输出设备的Y1898,作为功能输出目的地设备,设定到功能输出的栏。另外,在如果主轴达到规定的旋转速度则M3的功能完成这样的标准中,在主轴达到了该规定的旋转速度的情况下,将作为表示该达到的输入设备的X188D,作为功能完成条件设备,设定到功能完成的栏。M04 (M4)这样的M代码50是进行主轴逆转的M代码功能,在与轴移动相同的块中指令了的情况下,与在该块中指令了的轴移动的开始同时开始M代码50的功能(主轴逆转)。主轴逆转的功能直至指令正转、停止为止继续,所以将进行主轴正转的功能的M3的M代码50、以及进行主轴停止的功能的M5的M代码50,作为取消M4的M代码功能的其他M代码50,设定到功能取消的栏。另外,在图39所示的标准中,将作为用于使主轴逆转的输出设备的Y1899,作为功能输出目的地设备,设定到功能输出的栏。另外,在如果主轴达到规定的旋转速度则M4的功能完成这样的标准中,在主轴到达了该规定的旋转速度的情况下,将作为表示该达到的输入设备的X188D,作为功能完成条件设备,设定到功能完成的栏。M05 (M5)这样的M代码50是进行主轴停止的M代码功能,在与轴移动相同的块中指令了的情况下,与在该块中指令了的轴移动的开始同时开始M代码50的功能(主轴停止)。主轴停止的功能虽然取消其他M代码功能,但不会被其他M代码50取消,所以在功能取消的栏中什么也不设定。另外,主轴停止的功能使动作停止,所以在功能输出的栏中什么也不设定。另外,在该图中,在主轴的旋转速度成为零的情况下,将作为表示其的输入设备的X188C,作为功能完成条件设备,设定到功能完成的栏。M30是进行数据的末端(end of data)的处理的M代码功能,在与轴移动相同的块中指令了的情况下,与在该块中指令了的轴移动的开始同时开始M代码50的功能(数据的末端的处理)。数据的末端的处理的功能对CNC工作机械46进行复位。因此,数据的末端的处理的功能不会被其他M代码50取消,所以不设定功能取消。另外,在该图中,将作为对CNC工作机械46进行复位的设备的YC1A,作为功能输出目的地设备,设定到功能输出的栏。M30与功能输出同时完成功能。<程序部件>接下来,说明在操作盘处理程序生成部341生成操作盘处理程序等程序时再利用的程序部件10、在M代码处理程序生成部342生成M代码处理程序等程序时再利用的程序部件10。如图34所示,作为该程序部件10,在程序部件保持部11中,保持了模式反转处理程序部件10A、…、M代码完成处理程序部件10F。其中,对于自己保持处理程序部件IOB以及M代码完成处理程序部件10F,在实施方式I以及实施方式2中已经说明,所以省略它们的说明。以下,主要说明模式反转处理程序部件10A、数值设定处理程序部件10C、M代码解码处理程序部件10D、AND条件处理程序部件10E。另外,对于数值设定处理程序部件10C,在实施方式3中已经详细说明,所以此处,简单说明。图40是示出对处理模式反转的功能的程序进行了部件化的模式反转处理程序部件IOA的图。仅通过在图40所示的模式反转处理程序部件IOA的再利用参数中指定设备、或者变量(标签),根据该参数,自动地生成处理模式反转的功能的程序(程序部件POU)。
接下来,假设为在图40所示的模式反转处理程序部件IOA的再利用参数中指定了设备等,而说明模式反转处理梯形程序的动作。在初始状态下,VB1、VB2、VB3都成为OFF状态。如果作为指令模式反转的设备的VBl成为0N,则通过PLS命令,在PC的I扫描量中,VB2成为0N,接收到VB2的ON而VB3反转即成为0N。在PC的接下来的扫描中,通过PLS命令,VB2成为0FF,但VB3的ON被保持。即使空开时间而使VBl成为OFF,VB3的ON仍被保持。进而,如果空开时间而使VBl再次成为0N,则通过PLS命令,在PC的I扫描量中,VB2成为0N,接收到VB2的ON而VB3反转即成为OFF。在PC的接下来的扫描中,通过PLS命令,VB2成为0FF,但VB3的OFF被保持。即使空开时间而使VBl成为OFF,VB3的OFF仍被保持。接下来,假设为在图27所示的数值设定处理程序部件10C的再利用参数中指定了设备等,而说明处理数值设定的功能的数值设定处理梯形程序的动作。在初始状态下,VBl成为OFF状态,不进行在VD3中设定数值的处理,所以VD3的数值成为初始值(即零)。如果使作为指令数值设定的设备的VBl成为0N,则通过MOV命令,将应用于VK2的数值设定到VD3。即使空开时间而使VBl成为0FF,VD3的数值仍被保持,但在梯形程序的其他部位进行向VD3的数值设定的情况下不限于此。即使在其他部位进行了向VD3的数值设定,在期望将VD3保持为VK2的数值的情况下,预先使VBl始终保持为ON状态即可。图41是示出对处理M代码50的解码的功能的程序进行了部件化的M代码解码处理程序部件10D的图。仅通过在图41所示的M代码中在代码处理程序部件10D的再利用参数中指定设备或者变量(标签),根据该参数,自动地生成处理M代码50的解码的功能的程序(程序部件P0U)。接下来,假设为在图41所示的M代码解码处理程序部件10D的再利用参数中指定了设备等,而说明M代码解码处理梯形程序的动作。在初始状态下,VB1、VB4都成OFF状态。如果VBl成为0N、并且VD2的值和VK3的值相同,则VB4成为0N。如果VBl成为OFF、或者VD2的值和VK3的值不同,则VB4成为OFF。图42是示出对处理AND条件的程序进行了部件化的AND条件处理程序部件10E的图。仅通过在图42所示的AND条件处理程序部件10E的再利用参数中指定设备或者变量(标签),根据该参数,自动定期地生成处理AND条件的程序(程序部件P0U)。该AND条件处理在梯形中非常一般、且经常使用,所以省略详细的说明。<操作盘处理程序的生成>接下来,说明图34所示的操作盘处理程序生成部341 (模式反转功能生成部341A等)将图35所示的设备的标准、以及图38所示的操作盘56的标准应用于程序部件10的再利用参数,并且根据该程序部件10生成操作盘处理程序的动作。图43是示出模式反转功能生成部341A生成的操作盘处理程序的一个例子的图。以下,说明模式反转功能生成部341A将设备的标准(图35)、以及与“模式反转”相关的操作盘56的标准(图38)应用于图40所示的模式反转处理程序部件10A的再利用参数,根据该模式反转处理程序部件10A生成用于进行图43所示的模式反转控制的操作盘处理程序的动作。另外,以下,还有时将模式反转功能生成部341A生成的、用于进行模式反转控制的操作盘处理程序称为“模式反转开关处理程序”。图44是示出模式反转功能生成部341A的属性的图。在图44的开关类别以及开关动作中,显示了操作盘56的标准(图38)中的与模式反转相关的内容。此处,在“模式反转”这样的开关类别中,显示了在操作盘56的标准中设定了 “单块”以及“试行”这样的开关动作。另外,在图44的使用部件中,显示了由模式反转功能生成部341A使用的程序部件10是模式反转处理程序部件10A。图45是示出模式反转功能生成部341A生成模式反转开关处理程序时的动作的流程图。以下,根据图45说明该动作。在步骤S91中,模式反转功能生成部341A将在操作盘56的标准(图38)中的开关输入中设定的设备地址应用于图40所示的模式反转处理程序部件IOA的再利用参数No. I(此处,VB1)。例如,模式反转功能生成部341A从操作盘56的标准(图38)从上依次读取被设定为“模式反转”的行(此处,读取第I行的“单块”)。然后,模式反转功能生成部341A将在“单块”的开关输入中设定的设备地址(此处,X280)应用于图40所示的模式反转处理程序部件IOA的再利用参数No. 1(VB1)。由此,生成图43所示的模式反转开关处理程序的第I段的左部分。在步骤S92中,模式反转功能生成部341A将在操作盘56的标准、M代码50的标准中没有设定的内部的局部的I个设备地址(即,未重复使用的任意的设备地址)应用于图40所示的模式反转处理程序部件IOA的再利用参数No. 2(此处,VB2)。例如,模式反转功能生成部341A将M4000作为在操作盘56的标准、M代码50的标准中没有设定的设备地址,应用于图40所示的模式反转处理程序部件IOA的再利用参数No. 2 (VB2)。另外,设为M4000号段的设备地址是在操作盘56的标准、M代码50的标准中没有设定的设备地址。也可以将这样的程序生成部34自动地分配的设备地址预先保持于设备标准保持部32,来参照设备标准保持部32。由此,生成图43所示的模式反转开关处理程序的第I段的右部分、以及第21段的左部分。在步骤S93中,模式反转功能生成部341A从设备的标准(图35),抽出操作盘56的标准(图38)中的与开关动作的栏的内容对应的设备地址,将该设备地址应用于图40所示的模式反转处理程序部件IOA的再利用参数No. 3 (此处,VB3)。例如,在图38所示的操作盘56的标准中,在开关动作的栏中设定了“单块”,所以模式反转功能生成部341A从图35所示的设备的标准,抽出与“单块”对应的设备地址(此处,YC12),将YC12应用于图40所示的模式反转处理程序部件IOA的再利用参数No. 3 (VB3)这样的再利用参数。由此,生成图43所示的模式反转开关处理程序的第2段的中央部分、右部分、以及第3段的右部分。另外,在以上的步骤S9fS93的说明中,说明了模式反转功能生成部341A将设备的标准(图35)以及操作盘56的标准(图38)应用于模式反转处理程序部件IOA的再利用参数VBfVB3的动作。本实施方式的模式反转功能生成部341A与该动作并行地,在该步骤S9rS93中也进行设备注释的输出。具体而言,在步骤S91中,模式反转功能生成部341A将组合了操作盘56的标准(图38)的开关类别的字符串与开关动作的字符串的字符串,作为步骤S91的设备地址的设备注释,而输出到附属信息文件9。同样地,在步骤S92中,模式反转功能生成部341A将组合了操作盘56的标准的开关类别的字符串与开关动作的字符串的字符串,作为与步骤S92 相关的设备地址的设备注释而输出到附属信息文件9。在步骤S93中,模式反转功能生成部341A在设备的标准(图35)中将与步骤S93的设备地址对应的名称的字符串,作为该设备地址的设备注释而输出到附属信息文件9。图46示出由此得到的设备注释的一览。在以上的步骤S91 S93之后,在步骤S94中,模式反转功能生成部341A在需要图40所示的程序注释的情况下,将组合开关类别的字符串和开关动作的字符串而得到的字符串用作该程序注释。例如,模式反转功能生成部341A在开关类别是“模式反转”这样的字符串、开关动作是“单块”这样的字符串的情况下,将“模式反转单块”这样的字符串制作为程序注释,赋予到在步骤S9fS93制作出的程序的前后。其结果,在图43中,在该程序之前赋予了“开始模式反转单块”这样的字符串,在该程序之后赋予了“结束模式反转单块”这样的字符串。在步骤S95中,模式反转功能生成部341A在需要图40所示的跳跃用标签的情况 下,选定在其他程序中未使用的程序指针,将选定的程序指针用作该跳跃用标签。模式反转功能生成部341A对操作盘56的标准(图38)中的与“模式反转”相关的所有开关动作,进行以上的步骤S9f S95的动作。例如,在图38所示的操作盘56的标准中,除了第I行的“单块”以外,将第2行的“试行”设定为模式反转的开关动作,所以对于“试行”也进行步骤S9fS95的动作。由此,生成图43所示的模式反转开关处理程序的“开始模式反转试行”至“结束模式反转试行”的部分。另外,在图43所示的例子中,在“试行”中应用了不与M4000重复的M4001这样的设备地址。在步骤S96中,模式反转功能生成部341A将应用了以上的参数的模式反转处理程序部件IOA作为模式反转开关处理程序。由此,根据图38所示的操作盘56的标准,生成图43所示的模式反转开关处理程序。图47是示出运转模式选择功能生成部341B生成的操作盘处理程序的一个例子的图。接下来,说明运转模式选择功能生成部341B将设备的标准(图35)、以及与“运转模式选择”相关的操作盘56的标准(图38)应用于图3所示的自己保持处理程序部件IOB的再利用参数,根据该自己保持处理程序部件10B,生成用于进行图47所示的运转模式选择控制的操作盘处理程序的动作。另外,以下,还有时将运转模式选择功能生成部341B生成的、用于进行运转模式选择控制的操作盘处理程序称为“运转模式选择开关处理程序”。另外,运转模式选择功能生成部341B在生成运转模式选择开关处理程序时,与模式反转功能生成部341A同样地,设定设备注释、程序注释以及跳跃用标签,但省略对其的说明及其结果。图48是示出运转模式选择功能生成部341B的属性的图。在图48的开关类别以及开关动作中,显示了操作盘56的标准(图38)中的与运转模式选择相关的内容。此处,在“运转模式选择”这样的开关类别中,显示了在操作盘56的标准中设定了“轻推”、“把手”以及“存储器”这样的开关动作。另外,在图48的使用部件中,显示了由运转模式选择功能生成部341B使用的程序部件10是自己保持处理程序部件10B。图49是示出运转模式选择功能生成部341B生成运转模式选择开关处理程序时的动作的流程图。以下,根据图49说明该动作。在步骤SlOl中,运转模式选择功能生成部341B将在操作盘56的标准(图38)中的开关输入中设定的设备地址应用于图3所示的自己保持处理程序部件IOB的再利用参数No. I (此处,VBl )。例如,运转模式选择功能生成部341B从操作盘56的标准(图38),从上依次读取被设定为“运转模式选择”的行(此处,读取第3行的“轻推”)。然后,运转模式选择功能生成部341B将在“轻推”的开关输入中设定的设备地址(此处,X282)应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 1(VB1)。由此,生成图47所示的运转模式选择开关处理程序的第I段的左部分。另外,如果在“运转模式选择”这样的开关中,从操作盘56指令了 I个开关动作,则取消此前指令的运转模式,而进行所指令的I个开关动作的运转模式。例如,如果从操作盘56指令了开关动作“轻推”,则取消此前指令的“把手”以及“存储器”的运转模式,而进行“轻推”的运转模式。如果从操作盘56指令了开关动作“把手”,则取消此前指令的“轻推”以及“存储器”的运转模式,而进行“把手”的运转模式。对于开关动作“存储器”,也与它们同样地进行“存储器”的运转模式。因此,在步骤S102中,运转模式选择功能生成部341B关于运转选择模式的开关动 作中的、与步骤SlOl相关的开关动作以外的开关动作,在图3所示的自己保持处理程序部件IOB的再利用参数No. 2 (此处,VB2)中通过列举而应用在开关输入中设定的设备地址。例如,在与步骤SlOl相关的开关动作是“轻推”的情况下,运转模式选择功能生成部341B在图38中关于“把手”以及“存储器”,在图3所示的自己保持处理程序部件IOB的再利用参数No. 2 (VB2)中通过列举而应用在开关输入中设定的设备地址(此处,X283以及X284)。由此,生成图47所示的运转模式选择开关处理程序的第I段的中央部分。在步骤S103中,运转模式选择功能生成部341B从设备的标准(图35),抽出操作盘56的标准(图38)中的与开关动作的栏的内容对应的设备地址,将该设备地址应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 3 (此处,VB3)。例如,在图38所示的操作盘56的标准中,在开关动作的栏中设定了“轻推”,所以运转模式选择功能生成部341B从图35所示的设备的标准,抽出与“轻推”对应的设备地址(此处,YC00),将YCOO应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 3 (VB3)。由此,生成图47所示的运转模式选择开关处理程序的第I段的右部分、以及第2段。运转模式选择功能生成部341B对操作盘56的标准(图38)中的与“运转模式选择”相关的所有开关动作,进行以上的步骤SlOf S103的动作。例如,在图38所示的操作盘56的标准中,除了第3行的“轻推”以外,将第4行的“把手”以及第5行的“存储器”设定为运转模式选择的开关动作,所以针对“把手”以及“存储器”也分别进行步骤SlOf S103的动作。由此,生成图47所示的运转模式选择开关处理程序的第3段 第6段。在步骤S104中,运转模式选择功能生成部341B将应用了以上的参数的自己保持处理程序部件IOB作为运转模式选择开关处理程序。由此,根据图38所示的操作盘56的标准,生成图47所示的运转模式选择开关处理程序。之前说明的图29是示出切削倍率功能生成部341C生成的操作盘处理程序的一个例子的图。接下来,说明切削倍率功能生成部341C将设备的标准(图35)、以及与“切削倍率”相关的操作盘56的标准(图38)应用于自己保持处理程序部件IOB (图3)以及数值设定处理程序部件IOC (图27)的再利用参数,根据该自己保持处理程序部件IOB以及数值设定处理程序部件10C,生成用于进行图29所示的切削倍率控制的操作盘处理程序的动作。另外,以下,还有时将切削倍率功能生成部341C生成的、用于进行切削倍率控制的操作盘处理程序称为“倍率开关处理程序”。另外,切削倍率功能生成部341C在生成倍率开关处理程序时,与模式反转功能生成部341A同样地,设定设备注释、程序注释以及跳跃用标签,但省略关于其的说明及其结果。
图50是示出切削倍率功能生成部341C的属性的图。在图50的开关类别以及开关动作中,显示了操作盘56的标准(图38)中的与切削倍率相关的内容。此处,在“切削倍率”这样的开关类别中,显示了在操作盘56的标准中设定了 “25”、“50”、“75”以及“100”这样的开关动作。另外,在图50的使用部件中,显示了由切削倍率功能生成部341C使用的程序部件10是自己保持处理程序部件IOB以及数值设定处理程序部件10C。图51是示出切削倍率功能生成部341C生成切削倍率开关处理程序时的动作的流 程图。以下,根据图51说明该动作。切削倍率功能生成部341C在步骤Sllf SI 13中,根据图3所示的自己保持处理程序部件10B,生成切削倍率开关处理程序。在步骤Slll中,切削倍率功能生成部341C将在操作盘56的标准(图38)中的开关输入中设定的设备地址应用于图3所示的自己保持处理程序部件IOB的再利用参数No. I(此处,VB1)。例如,切削倍率功能生成部341C从操作盘56的标准(图38),从上依次读取被设定为“切削倍率”的行(此处,读取第6行的“25”)。然后,切削倍率功能生成部341C将在“25”的开关输入中设定的设备地址(此处,X285)应用于图3所示的自己保持处理程序部件IOB的再利用参数No. I (VB1)。由此,生成图29所示的切削倍率开关处理程序的第I段的左部分。另外,如果在“切削倍率”这样的开关中,从操作盘56指令了 I个开关动作,则取消此前指令了的运转模式,而进行所指令的I个开关动作的运转模式。例如,如果从操作盘56指令了开关动作“25”,则取消此前指令的“50”、“75”以及“100”的运转模式,而进行“25”的运转模式。如果从操作盘56指令了开关动作“50”,则取消此前指令的“25”、“75”以及“100”的运转模式,进行“50”的运转模式。对于开关动作“75”以及“100”,也与它们同样地,分别进行“75”以及“100”的运转模式。因此,在步骤S112中,切削倍率功能生成部341C关于切削倍率的开关动作中的、与步骤Slll相关的开关动作以外的开关动作,在图3所示的自己保持处理程序部件IOB的再利用参数No. 2 (此处,VB2)中通过列举而应用在开关输入中设定的设备地址。例如,在与步骤Slll相关的开关输入是“25”的情况下,切削倍率功能生成部341C在图38中关于“50”、“75”以及“100”,在图3所示的自己保持处理程序部件IOB的再利用参数(VB2)中通过列举而应用在开关输入中设定的设备地址(此处,X2861288)。由此,生成图29所示的切削倍率开关处理程序的第I段的中央部分。在步骤SI 13中,切削倍率功能生成部341C将在操作盘56的标准、M代码50的标准中没有设定的内部的局部的I个设备地址应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 3 (此处,VB3)。例如,切削倍率功能生成部341C将M4002作为在操作盘56的标准、M代码50的标准中没有设定的设备地址,应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 3 (VB3)。由此,生成图29所示的切削倍率开关处理程序的第I段的右部分、以及第2段。接下来,切削倍率功能生成部341C在步骤SI 14^116中,根据图27所示的数值设定处理程序部件10C,生成切削倍率开关处理程序。在步骤SI 14中,切削倍率功能生成部341C将在步骤SI 13中应用于自己保持处理程序部件IOB的再利用参数No. 3 (VB3)的设备地址,应用于图27所示的数值设定处理程序部件IOC的再利用参数No. 1(VB1)。例如,切削倍率功能生成部341C将应用于自己保持处理程序部件IOB的再利用参数No. 3 (VB3)的M4002,应用于图27所示的数值设定处理程序部件IOC的再利用参数No. I (VB1)。由此,生成在数值设定处理程序中接收到自己保持处理程序的处理结果的、图29所示的切削倍率开关处理程序的第3段的左部分。在步骤S115中,切削倍率功能生成部341C将在操作盘56的标准(图38)中的开关动作中设定的数值之前附加了“K”的设备地址,应用于图27所示的数值设定处理程序部件IOC的再利用参数No. 2 (此处,VK2)。
例如,切削倍率功能生成部341C关于操作盘56的标准(图38)中的“25”这样的开关动作,将K25这样的设备地址应用于图27所示的数值设定处理程序部件IOC的再利用参数No. 2(VK2)。由此,生成图29所示的切削倍率开关处理程序的第3段的右部分。在步骤S116中,切削倍率功能生成部341C从设备的标准(图35),抽出操作盘56的标准(图38)中的与开关类别的栏的内容对应的设备地址,将该设备地址应用于图27所示的数值设定处理程序部件IOC的再利用参数No. 3 (此处,VD3)。例如,在图38所示的操作盘56的标准中,在开关类别的栏中设定了“切削倍率”,所以切削倍率功能生成部341C从图35所示的设备的标准,抽出与“切削倍率”对应的设备地址(此处,R2500),将R2500应用于图27所示的数值设定处理程序部件IOC的再利用参数No. 3 (VD3)。由此,生成图29所示的切削倍率开关处理程序的第3段的右部分。切削倍率功能生成部341C对操作盘56的标准(图38)中的与“切削倍率”相关的所有开关动作,进行以上的步骤Sllf S117的动作。例如,在图38所示的操作盘56的标准中,除了第6行的“25”以外,将第7行的“50”、第8行的“75”以及第9行的“100”设定为开关动作,所以针对“50”、“75”以及“100”也分别进行步骤SIIf SI 16的动作。由此,生成图29所示的切削倍率开关处理程序的第4段 第12段。在步骤SI 17中,切削倍率功能生成部341C将应用了以上的参数的自己保持处理程序部件IOB以及数值设定处理程序部件IOC合起来作为切削倍率开关处理程序。由此,根据图38所示的操作盘56的标准,生成图29所示的切削倍率开关处理程序。以上,说明了切削倍率功能生成部341C生成切削倍率开关处理程序的动作,但不限于此,也可以作为切削倍率功能生成部341C,使用在实施方式3中使用图25来说明的进行排他的选择数值设定的处理的程序层级部件。在该情况下,切削倍率功能生成部341C根据设备的标准(图35)、以及被设定为“切削倍率”的操作盘56的标准(图38),生成图28所示的再利用参数的应用关系。具体而言,切削倍率功能生成部341C从操作盘56的标准(图38),在设定了“切削倍率”这样的开关类别的第6行中,将在开关输入中设定的设备地址(X285)如图28所示,应用于程序层级部件的参数No. 1,将在开关动作中设定的数值“25”应用于程序层级部件的参数No. 2。然后,切削倍率功能生成部341C将M4000号段的设备地址(M4002)应用于程序层级部件的参数No. 3,从设备的标准(图35)抽出与开关类别“切削倍率”对应的设备地址(R2500),将R2500应用于程序层级部件的参数No. 4。同样地,切削倍率功能生成部341C从操作盘56的标准(图38),在设定了“切削倍率”这样的开关类别的第7行中,将在开关输入中设定的设备地址(X286)应用于程序层级部件的参数No. 1,将在开关动作中设定的数值“50”应用于程序层级部件的参数No. 2。然后,切削倍率功能生成部341C将M4000号段的设备地址(M4003)应用于程序层级部件的参数No. 3。切削倍率功能生成部341C通过针对操作盘56的标准(图38)的第8行以及第9行也进行同样的处理,生成图28所示的再利用参数的应用关系。由此,切削倍率功能生成部341C也可以通过进行与实施方式3中说明的动作相同的动作,来生成图29所示的切削倍率开关处理程序。〈M代码处理程序的生成〉以上,说明了图34所示的操作盘处理程序生成部341生成操作盘处理程序的动作。接下来,说明图34所示的M代码处理程序生成部342、即M代码功能生成部342A将设备的标准(图35)、以及图39所示的M代码50的标准应用于程序部件10的再利用参数,并且根据该程序部件生成M代码处理程序的动作。 以下,图52是示出M代码功能生成部342A生成的M代码处理程序的一个例子的图。图52所示的M代码处理程序包括M代码50的解码处理程序LPA、M代码50的功能处理程序LPB、LPC、LPD、以及M代码50的完成处理程序LPE。图53是示出M代码功能生成部342A的属性的图。在图53的使用部件中显示了在M代码功能生成部342A中使用的程序部件10是M代码解码处理程序部件10D、自己保持处理程序部件10B、AND条件处理程序部件10E、M代码完成处理程序部件10F。图54是示出M代码功能生成部342A生成解码处理程序的动作的流程图。以下,根据图54说明该动作。在本实施方式中,在步骤S121中,M代码功能生成部342A使用图41所示的M代码解码处理程序部件10D,来生成图52所示的M代码50的解码处理程序LPA。在步骤S122中,M代码功能生成部342A使用图3所示的自己保持处理程序部件10B、以及图42所示的AND条件处理程序部件10E,来生成图52所示的各M代码50的功能处理程序LPB、LPC、LPD。在步骤S123中,M代码功能生成部342A使用图18所示的M代码完成处理程序部件10F,来生成图52所示的M代码50的完成处理程序LPE。在步骤S124中,M代码功能生成部342A将在步骤S12f S123中生成的程序合起来,生成图52所示的M代码处理程序。以下,详细说明M代码功能生成部342A生成M代码50的解码处理程序LPA、功能处理程序LPB、LPC、LPD、以及完成处理程序LPE的动作。首先,说明M代码功能生成部342A生成M代码50的解码处理程序LPA的动作。图55是示出M代码功能生成部342A使用图41所示的M代码解码处理程序部件10D,来生成M代码50的解码处理程序LPA的动作的流程图。在本实施方式中,M代码功能生成部342A对M代码50的标准(图39)的各行的设定,从上依次进行图55所示的各处理。此处,首先,说明通过M代码功能生成部342A对M代码50的标准(图39)的M3的设定进行处理,生成图52所示的解码处理程序LPA的第I段的动作。在步骤S131中,M代码功能生成部342A从设备的标准(图35),抽出与M代码选通对应的设备地址(此处,XC60),将该设备地址应用于图41所示的M代码解码处理程序部件IOD的再利用参数No. I (此处,VBl )。在步骤S132中,M代码功能生成部342A从设备的标准(图35),抽出与M代码数据对应的设备地址(此处,R504),将该设备地址应用于图41所示的M代码解码处理程序部件IOD的再利用参数No. 2 (此处,VD2)。
在步骤S133中,M代码功能生成部342A从M代码50的标准(图39),在M代码的栏中设定的M代码编号(此处,M3)的数值(此处,3)之前附加K而生成字符串(K3),将该字符串应用于图41所示的M代码解码处理程序部件IOD的再利用参数No. 3 (此处,VK3)。在步骤S134中,M代码功能生成部342A从M代码50的标准(图39),将在M代码的栏中设定的M代码编号(此处,M3)原样地作为设备地址,应用于图41所示的M代码解码处理程序部件IOD的再利用参数No. 4 (此处,VB4)。 通过以上的动作,针对M代码50的标准(图39)的M3的设定,生成图52所示的解码处理程序LPA的第I段。M代码功能生成部342A如M代码50的标准(图39)的M4的设定、M5的设定、…那样,依次进行以上的步骤S13fS134的动作,直至没有设定。由此,生成图52所示的解码处理程序LPA的第2 4段。在步骤S135中,M代码功能生成部342A将应用了以上的参数的M代码解码处理程序部件IOD作为解码处理程序。由此,根据图39所示的M代码50的标准,生成图52所示的解码处理程序LPA。接下来,说明M代码功能生成部342A生成M代码50的功能处理程序LPB、LPC、LPD的动作。图56是示出M代码功能生成部342A生成各M代码50的功能处理程序时的动作的流程图。在本实施方式中,M代码功能生成部342A针对M代码50的标准(图39)的各行的设定,从上依次进行图56所示的处理。在步骤S141中,M代码功能生成部342A判定在M代码50的标准(图39)中的作为处理的对象的行中,是否设定了功能输出。M代码功能生成部342A在判定为设定了功能输出的情况下,进入到步骤S142,否则,进入到步骤S145。例如,在图39所示的设定中,在M3、M4、M30的设定中设定了功能输出,所以进入到步骤S142,在M5的设定中没有设定功能输出,所以进入到步骤S145。在步骤S142中,M代码功能生成部342A判定在M代码50的标准(图39)中的作为处理的对象的行中,是否设定了功能取消。M代码功能生成部342A在判定为设定了功能取消的情况下,进入到步骤S143,否则,进入到步骤S144。例如,在图39那样的设定中,在M3、M4的设定中设定了功能取消,所以进入到步骤S143,在M30的设定中没有设定功能取消,所以进入到步骤S144。在步骤S143中,M代码功能生成部342A根据在M代码50的标准(图39)中成为处理的对象的行的设定、和自己保持处理程序部件10B,生成M代码50的功能处理程序。例如,M代码功能生成部342A根据图39所示的M代码50的标准的M3、M4的设定、和图3所示的自己保持处理程序部件10B,分别生成图52所示的功能处理程序LPB、LPC0在后面详细说明该步骤S143中的动作。之后,在M代码50的标准(图39)中,将成为当前处理的对象的行之下的设定作为处理对象,返回步骤S141。在步骤S144中,M代码功能生成部342A根据在M代码50的标准(图39)中成为处理的对象的行的设定、和AND条件处理程序部件10E,生成M代码50的功能处理程序。例如,M代码功能生成部342A根据图39所示的M代码50的标准的M30的设定、和图42所示的AND条件处理程序部件10E,生成图52所示的功能处理程序LPD。在后面详细说明该步骤S144中的动作。之后,在M代码50的标准(图39)中,将成为当前处理的对象的行之下的设定作为处理对象,返回步骤S141。在步骤S145中,M代码功能生成部342A针对在M代码50的标准(图39)中成为处理的对象的行的设定,不生成M代码50的功能处理程序。例如,针对图39所示的M代码50的标准的M5的设定,不生成M代码50的功能处理程序。因此,如图52所示,在与M代码50的标准的M3、M4的设定对应的功能处理程序LPB、LPC之下,生成与M代码50的标准的M30的设定对应的功能处理程序LPD。在步骤S145之后,在M代码50的标准(图39)中,将成为当前处理的对象的行之下的设定作为处理对象,返回步骤S141。
接下来,说明上述步骤S143的动作。图57是示出在上述步骤S143中、即在作为处理的对象的行中设定了功能取消的情况下,M代码功能生成部342A生成功能处理程序时的动作的流程图。以下,以M代码功能生成部342A根据M代码50的标准(图39)的M3的设定,生成图52所示的功能处理程序LPB的动作为例子而进行说明。首先,在步骤S151中,M代码功能生成部342A从M代码50的标准(图39),将在M代码的栏中设定的M代码编号(此处,M3)原样地作为设备地址,应用于图3所示的自己保持处理程序部件IOB的再利用参数No. I (此处,VB1)。在步骤S152中,M代码功能生成部342A判定在M代码50的标准(图39)的功能开始的栏中,是否设定了 “块轴移动完成后”。M代码功能生成部342A在判定为设定了 “块轴移动完成后”的情况下进入到步骤S153,否则不进行步骤S153而进入到步骤S154。另外,在图39所不的M3的设定中,在功能开始的栏中没有设定块轴移动完成后,所以在步骤S152之后,不进行步骤S153,而进行步骤S154。在步骤S153中,M代码功能生成部342A从设备的标准(图35),抽出与移动指令完成对应的设备地址,在图3所示的自己保持处理程序部件IOB的再利用参数No. I (此处,VBl)中通过列举而应用该设备地址。如果在图39所示的M3的设定中进行了步骤S153,则M代码功能生成部342A从设备的标准(图35),抽出与移动指令完成对应的XC18,将该设备地址串行地追加到应用于自己保持处理程序部件IOB的再利用参数No. I (VBl)的M3。在步骤S154中,M代码功能生成部342A从M代码50的标准(图39),将在功能取消的栏中设定的M代码编号(此处,M4、M5)原样地作为设备地址,应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 2 (此处,VB2)。在步骤S155中,M代码功能生成部342A从M代码50的标准(图39),将在功能输出中设定的设备地址(此处,Y1898)应用于图3所示的自己保持处理程序部件IOB的再利用参数No. 3 (此处,VB3)。在步骤S156中,M代码功能生成部342A将应用了以上的参数的自己保持处理程序部件IOB作为有功能取消的功能处理程序。由此,根据图39所示的M代码50的标准的M3的设定,生成图52所示的功能处理程序LPB。M代码功能生成部342A通过对M代码50的标准(图39)的M4的设定也进行同样的动作,生成图52所示的功能处理程序LPC。接下来,说明上述步骤S144的动作。图58是示出在上述步骤S144中、即在作为处理的对象的行中没有设定功能取消的情况下,M代码功能生成部342A生成功能处理程序时的动作的流程图。以下,说明M代码功能生成部342A根据M代码50的标准(图39)的M30的设定,生成图52所示的功能处理程序LPD的动作。首先,在步骤S161中,M代码功能生成部342A从M代码50的标准(图39),将在M代码的栏中设定的M代码编号(此处,M30)原样地作为设备地址,应用于图42所示的AND条件处理程序部件IOE的再利用参数No. I (此处,VB1)。在步骤S162中,M代码功能生成部342A判定在M代码50的标准(图39)的功能开始的栏中,是否设定了 “块轴移动完成后”。M代码功能生成部342A在判定为设定了 “块轴移动完成后”的情况下进入到步骤S163,否则不进行步骤S163而进入到步骤S164。另外,在图39所不的M30的设定中,在功能开始的栏中设定了块轴移动完成后,所以在步骤S162之后进行步骤S163,之后进行步骤S164。在步骤S163中,M代码功能生成部342A从设备的标准(图35),抽出与移动指令完成对应的设备地址,在图42所示的AND条件处理程序部件IOE的再利用参数No. I (此处,VBl中通过列举而应用该设备地址。如果在图39所示的M30的设定中进行了步骤S163,则M代码功能生成部342A从设备的标准(图35),抽出与移动指令完成对应的XC18,将该设备 地址串行地追加到应用于AND条件处理程序部件IOE的再利用参数No. I (此处,VBl)的M30。在步骤S164中,M代码功能生成部342A从M代码50的标准(图39),将在功能输出中设定的设备地址(此处,YC1A)应用于图42所示的AND条件处理程序部件IOE的再利用参数No. 2 (此处,VB2)。在步骤S165中,M代码功能生成部342A将应用了以上的参数的AND条件处理程序部件IOE作为无功能取消的功能处理程序。由此,根据图39所示的M代码50的标准的M30的设定,生成图52所示的功能处理程序LPD。接下来,说明M代码功能生成部342A生成M代码50的完成处理程序LPE的动作。图59是示出M代码功能生成部342A使用图18所示的M代码完成处理程序部件IOF来生成M代码50的完成处理程序时的动作的流程图。在步骤S171中,M代码功能生成部342A从M代码50的标准(图39),将在M代码的栏中设定的所有M代码编号(此处,M3、M4、M5、M30)分别原样地作为设备地址,应用于与图18所示的M代码完成处理程序部件IOF的参数No. I相当的、图17所示的AND条件处理要素部件的参数No. I。以下,将该步骤S171分成步骤S171A和步骤S171B而详细说明。在步骤S17IA中,M代码功能生成部342A从M代码50的标准(图39),将在第I行的M代码的栏中设定的M代码编号原样地作为设备地址,应用于图17所示的AND条件处理要素部件的再利用参数No. I (此处,VB1)。然后,在步骤S171B中,M代码功能生成部342A在第I行的功能完成中设定了设备地址的情况下,在图17所示的AND条件处理要素部件的再利用参数No. I (此处,VBl)通过中列举(串行地追加)而应用该设备地址,返回步骤S171A而针对第2行以后的设定也进行与第I行同样的动作。另一方面,在步骤S171B中,M代码功能生成部342A在第I行的功能完成中没有设定设备地址的情况下,原样地返回步骤S171A而针对第2行以后的设定也进行与第I行同样的动作。例如,在图39所示的第I行的设定中,在M代码的栏中设定的M代码编号是M3,所以将该M3应用于AND条件处理要素部件的VB1。另外,在该第I行的设定中,在功能完成的栏中设定了 X188D这样的设备地址,所以在应用于AND条件处理要素部件的M3中通过列举(串行地追加)而应用该X188D。由此,生成图52所示的完成处理程序LPE的第I段的左部分(M3 和 X188D)。接下来,在图39所示的第2行的设定中,在M代码的栏中设定的M代码编号是M4,所以将该M4应用于AND条件处理要素部件的VBl。另外,在该第2行的设定中,在功能完成的栏中设定了 X188D这样的设备地址,所以在应用于AND条件处理要素部件的M4中通过列举(串行地追加)而应用该X188D。然后,M代码功能生成部342A将这样生成的程序并行地追加到根据第I行的设定得到的程序(M3和X188D)之下。由此,生成图52所示的完成处理程序LPE的第2段(M4和X188D)。同样地,在图39所示的第3行的设定中,在M代码的栏中设定的M代码编号是M5,所以将该M5应用于AND条件处理要素部件的VBl。另外,在该第3行的设定中,在功能完成的栏中设定了 X188C这样的设备地址,所以在应用于AND条件处理要素部件的M5中通过列举(串行地追加)应用该X188C。然后,M代码功能生成部342A将这样生成的程序并行地追加到根据第2行的设定得到的程序(M4和X188D)之下。由此,生成图52所示的完成处理程序LPE的第3段(M5和X188C)。同样地,在图39所示的第4行的设定中,在M代码的栏中设定的M代码编号是M30,所以将该M30应用于AND条件处理要素部件的VB1。另外,在该第4行的设定中,在功能完成的栏中没有设定设备地址,所以M代码功能生成部342A将把该M30应用于AND条件处理要素部件而得到的程序追加到根据第3行的设定得到的程序(M5和X188C)之下。由此,生成图52所示的完成处理程序LPE的第4段(M30)。在步骤S172中,M代码功能生成部342A从设备的标准(图35),抽出与M代码完成对应的设备地址(此处,YC1E),将该设备地址应用于图18所示的M代码完成处理程序部件IOF的再利用参数No. 2 (此处,YC1E)。由此,生成图52所示的完成处理程序LPE的第I段的右侧。在步骤S173中,M代码功能生成部342A将应用了以上的参数的M代码完成处理程序部件IOF作为M代码50的完成处理程序。由此,根据图39所示的M代码50的标准,生成图52所示的完成处理程序LPE。〈总结〉以上,对于操作盘处理程序生成部341生成操作盘处理程序的动作、和M代码处理程序生成部342生成M代码处理程序的动作,以这些程序是梯形程序的情况为例子进行了说明。程序编辑部6将操作盘处理程序生成部341生成的操作盘处理程序、和M代码处理程序生成部342生成的M代码处理程序合起来作为CNC工作机械46的程序。此时,既可以生成为I个程序,也可以按照部件单位分割而生成程序。在按照部件单位分割而生成的情况下,既可以如模式反转开关处理、运转模式选择开关处理、切削倍率开关处理、M代码解码处理、M代码功能处理、M代码完成处理那样,按照构成程序生成的程序部件单位分割(在该情况下生成6个分割程序),也可以如操作盘处理、M代码处理那样集中(在该情况下生成2个分割程序)。另外,既可以用相同的文件生成分割程序,也可以针对每个分割程序分成不同文件而生成。在由程序编辑部6生成的程序是梯形程序的情况下,在将操作盘处理程序和M代码处理程序合起来而成的梯形程序的最后追加END处理命令,而作为CNC工作机械46的梯、形程序。此时,既可以如图60所示,生成为I个梯形程序,也可以如图61所示,按照部件单位分割而生成梯形程序。在按照部件单位分割而生成的情况下,既可以如模式反转开关处理、运转模式选择开关处理、切削倍率开关处理、M代码解码处理、M代码功能处理、M代码完成处理那样,按照构成程序生成的程序部件单位来分割(在该情况下生成6个分割梯形程序),也可以如操作盘处理、M代码处理那样集中(在该情况下生成2个分割梯形程序)。另外,在按照部件单位分割的情况下,需要在梯形程序的开头生成由调用分割程序的CALL (调用)命令构成的梯形程序,并且,需要在分割程序的开头生成作为跳跃用标签的程序指针、在终端生成RET命令,对于生成它们的情况,也能够使用在本实施方式中说明的技术。另外,既可以用相同的文件生成分割梯形程序,也可以针对每个分割梯形程序分成不同的文件而生成。如果对在梯形程序生成中使用的设备地址,预先赋予设备注释,则在确认梯形程序时便利。例如,在操作盘56的情况下,以针对在开关输入中设定的设备地址,将通过开关类别选择的字符串和通过开关动作选择/设定的字符串结合而生成为设备注释的方式,构成操作盘处理程序生成部341即可。另外,在M代码50的情况下,以针对与M代码50相同的设备地址,赋予在功能名中设定的字符串而作为设备注释,在功能输出中设定的设备中,将在功能名中设定的字符串和在功能输出中设定的字符串结合而生成为设备注释的方式,构成M代码处理程序生成部342即可。在具体的例子中,类似于使用图45来说明的、模式反转功能生成部341A在程序生成的过程中将设备注释合起来而生成的步骤,通过该步骤,生成图43所示的设备注释。根据以上那样的本实施方式的程序制作支援装置1,将在标准记述文件30中记述的标准、以及由标准设定部31设定的标准应用于在再利用程序部件10时应应用的参数或者通过应列举而应用的参数,并且根据该程序部件10,生成由控制器、微型机执行的测量监 视控制程序。因此,大致自动地生成程序,所以能够通过该标准中记述的功能制作不会超过当不足以及不会不合理地动作的程序,并且能够减轻程序制作中的工作量。虽然详细说明了本发明,但上述说明仅为整体中的部分的例示而本发明不限于此。没有例示的无数的变形例也包含于本发明的范围内。
权利要求
1.一种程序制作支援装置,其特征在于,具备 程序部件(10),包括至少I个程序要素,通过用户设定与各程序要素对应的再利用参数的内容,生成与该设定内容对应的程序; 程序部件保持部(11),保持所述程序部件(10);以及 程序编辑部(6),再利用所述程序部件(10)而编辑程序, 所述程序部件(10)包括程序要素,该程序要素通过在再利用参数中通过列举而设定多个参数,生成结合了与各参数对应的多个要素的程序。
2.根据权利要求I所述的程序制作支援装置,其特征在于, 还具备使用者能够定义新的程序部件的程序部件定义部(12)。
3.根据权利要求I所述的程序制作支援装置,其特征在于, 所述程序部件保持部(11)还保持程序要素部件(17),该程序要素部件(17)能够用作程序部件(10)的构成要素,并且包括至少I个程序要素,通过用户设定与各程序要素对应的再利用参数的内容,生成与该设定内容对应的程序, 所述程序要素部件(17)包括通过在再利用参数中通过列举而设定多个参数,生成结合了与各参数对应的多个要素的程序的程序要素。
4.根据权利要求3所述的程序制作支援装置,其特征在于, 所述程序要素部件(17)还能够用作其他程序要素部件的构成要素。
5.根据权利要求3或者4所述的程序制作支援装置,其特征在于,还具备 程序要素部件定义部(15),其中,使用者能够定义新的程序要素部件;以及 程序部件定义部(12),其中,使用者能够使用程序要素部件(17)来定义新的程序部件(10)。
6.根据权利要求广4中的任意一项所述的程序制作支援装置,其特征在于, 所述程序部件保持部(11)还保持程序层级部件(21 ),该程序层级部件(21)包括至少I个程序部件(10),通过用户设定与各程序部件的各程序要素关联起来的再利用参数的内容,生成与该设定内容对应的程序, 所述程序编辑部(6)能够再利用所述程序层级部件(21)来编辑程序, 所述程序层级部件(21)通过在再利用参数中通过列举而设定多个参数,生成结合了与各参数对应的多个程序部件的程序。
7.根据权利要求6所述的程序制作支援装置,其特征在于, 所述程序层级部件(21)还能够用作其他程序层级部件(21)的构成要素。
8.根据权利要求6所述的程序制作支援装置,其特征在于, 还具备使用者能够使用程序部件(10)来定义新的程序层级部件(21)的程序层级部件定义部(19)。
9.根据权利要求广4中的任意一项所述的程序制作支援装置,其特征在于, 所述程序编辑部(6)还具备根据在所述再利用参数的各个中设定的参数,生成与编辑后的程序相关的附属信息的单元。
10.根据权利要求广4中的任意一项所述的程序制作支援装置,其特征在于, 所述程序编辑部(6 )还具备程序生成部(34 ),该程序生成部(34 )将标准记述文件(30 )中记述的规定的标准应用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用参数,并且根据该程序部件(10)生成程序。
11.根据权利要求10所述的程序制作支援装置,其特征在于, 还具备设定规定的标准的标准设定部(31),所述程序生成部(34)将由所述标准设定部(31)设定的规定的标准应用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用参数,并且根据该程序部件(10)生成程序。
12.根据权利要求11所述的程序制作支援装置,其特征在于, 所述标准设定部(31)包括设定操作盘的标准的操作盘标准设定部(31A), 所述程序生成部(34)包括操作盘处理程序生成部(341),该操作盘处理程序生成部(341)将所述操作盘的标准应用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用参数,并且根据该程序部件(10)生成操作盘处理程序。
13.根据权利要求11所述的程序制作支援装置,其特征在于, 所述标准设定部(31)包括设定M代码的标准的M代码标准设定部(3IB ),所述程序生成部(34)包括M代码处理程序生成部(342),该M代码处理程序生成部(342)将所述M代码的标准应用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用参数,并且根据该程序部件(10)生成M代码处理程序。
14.根据权利要求10所述的程序制作支援装置,其特征在于, 还具备保持设备的标准的设备标准保持部(32), 所述程序生成部(34)在根据所述程序部件(10)制作所述程序时,参照所述设备的标准。
全文摘要
本发明的目的在于减轻选定以及组合用于制作匹配于规定的标准的程序的程序部件的工作量,提高程序制作效率。另外,本发明的程序制作支援装置(1)具备程序部件(10),通过用户设定与各程序要素对应的再利用参数的内容,生成与该设定内容对应的程序;以及程序部件保持部(11),将其再利用而编辑程序。程序部件(10)包括通过在再利用参数中列举而设定多个参数,生成与各参数对应的多个要素结合了的程序的程序要素。
文档编号G05B19/05GK102640112SQ20108005386
公开日2012年8月15日 申请日期2010年8月24日 优先权日2009年12月28日
发明者中村直树, 仲井勘, 佐藤智典, 大西宏明, 安井照昌, 甲斐启文 申请人:三菱电机株式会社