首页> 中国专利> 图表显示装置、图表显示方法以及图表显示程序

图表显示装置、图表显示方法以及图表显示程序

摘要

本发明提供一种用于在进行了分割编程的情况下,将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联来掌握的技术。本发明的一实施例的图表显示装置生成第一有向图表及第二有向图表,并对应于用户的指示,将所生成的第一有向图表及第二有向图表在显示装置中切换来显示,所述第一有向图表包含分别表达各设备变量的多个第一节点、及表达具有依存关系的边,所述第二有向图表包含多个第一节点、边、及与各子程序分别对应的多个区域,各第一节点配置在多个区域之中,利用各第一节点所表达的设备变量的子程序的区域。

著录项

  • 公开/公告号CN112534368A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 欧姆龙株式会社;

    申请/专利号CN202080004417.9

  • 发明设计人 太田雄也;服部玲子;鹤田浩辅;

    申请日2020-02-18

  • 分类号G05B19/418(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人杨贝贝;臧建明

  • 地址 日本京都府京都市下京区盐小路通堀川东入南不动堂町801番地(邮编:600-8530)

  • 入库时间 2023-06-19 10:18:07

说明书

技术领域

本发明涉及一种图表显示装置、图表显示方法以及图表显示程序。

背景技术

工厂等中的生产线包含输送器、机械臂等多个设备(机构)。若在所述生产线的任一个设备中产生异常,则存在制品的制造停止,造成大的损失的可能性。因此,在工厂等中,维护员定期地巡视生产线,进行异常的产生或其征兆的有无的确认。

当在生产线内探测到异常的产生或其征兆时,有时在比探测到异常的设备更前面的设备中存在异常的真正原因。因此,为了确定异常的真正原因,重要的是掌握生产线内的各设备的依存关系。但是,构成生产线的设备的数量变多、且各设备的动作条件可能每日变化,因此难以准确地掌握所有设备的依存关系。

因此,以往熟练的维护员基于自身的经验及直觉,掌握构成生产线的多个设备间的依存关系,进行在生产线内产生的异常或其征兆的探测。为了非熟练的维护员可进行此种维护工作,期望开发一种使构成生产线的多个设备的依存关系可视化的技术。

因此,在专利文献1中提出有一种信息处理装置,其用于使由控制程序所定义的控制算法及输入/输出机器的关系可视化。具体而言,专利文献1中所提出的信息处理装置确定被记述在控制程序中的各信号输入/输出用变量是用于与哪一个输入/输出机器输入/输出信号的变量,并基于所确定的结果,生成表示各变量间的依存关系的有向图表。根据专利文献1中所公开的发明,可通过所生成的有向图表来掌握构成生产线的输入/输出机器的依存关系。

现有技术文献

专利文献

专利文献1:日本专利特开2013-225251号公报

发明内容

发明所要解决的问题

本案发明人等人发现在从控制程序中导出构成生产线的各设备的依存关系的如专利文献1那样的以往的技术中,存在如下的问题点。即,当制作用于控制如生产线那样的包括多个设备的系统的动作的控制程序时,若在一个文件中进行编码,则文件内的记述(行数)变得庞大,而难以看透整个控制程序。由此,编辑作业及调试的效率恶化。

因此,一般而言,当制作用于控制生产线的动作的控制程序时,以功能等任意的单位将控制程序分割成多个子程序(文件),由此可谋求编码的作业的效率化。所述分割编程也可以在由多人来制作控制程序时进行。在以往的技术中,未考虑进行此种分割编程。因此,在进行了分割编程的情况下,存在如下的问题点:难以将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联来掌握。

本发明的一实施例是鉴于此种实际情况而形成的发明,其目的是提供一种用于在进行了分割编程的情况下,将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联来掌握的技术。

解决问题的技术手段

本发明为了解决所述课题而采用以下的结构。

即,本发明的一实施例的图表显示装置包括:信息获取部,获取表示根据被分割成多个子程序的控制程序所确定的依存关系的依存关系信息,所述控制程序是包含用于控制生产线中所包含的多个设备的动作的多个命令的控制程序,所述多个命令包含多个变量,多个变量包含分别对应于所述各设备的多个设备变量,所述依存关系是所述各设备变量间的依存关系;图表生成部,基于所获取的所述依存关系信息,生成第一有向图表及第二有向图表,所述第一有向图表包含分别表达所述各设备变量的多个第一节点、及表达具有所述依存关系的边,所述第二有向图表包含所述多个第一节点、所述边、及与所述各子程序分别对应的多个区域,所述各第一节点配置在所述多个区域之中,利用所述各第一节点所表达的所述设备变量的子程序的区域;以及显示控制部,对应于用户的指示,将所生成的所述第一有向图表及所述第二有向图表在显示装置中切换来显示。

在所述结构的图表显示装置中,生成第一有向图表及第二有向图表。第一有向图表以包含分别表达各设备变量的多个第一节点、及表达具有依存关系的边的方式生成。根据所述第一有向图表,可表示控制程序中的对应于各设备的设备变量间的依存关系。另一方面,第二有向图表以除多个第一节点及边以外,进而包含与各子程序分别对应的多个区域的方式生成。各第一节点配置在多个区域之中,利用所述各第一节点所表达的设备变量的子程序的区域。因此,根据所述第二有向图表,可表示各设备变量在控制程序中的位置。所述结构的图表显示装置对应于用户的指示,将所述第一有向图表及第二有向图表在显示装置中切换来显示。由此,在进行了分割编程的情况下,可将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联来掌握。

另外,控制程序包含用于控制生产线中所包含的多个设备的动作的一连串的命令群。一连串的命令群包含多个变量。多个变量包含分别对应于各设备变量的多个设备变量。设备变量对应于生产线中所包含的设备(机构),为了决定对于对应的设备的某些命令而在控制程序内得到利用。但是,在控制程序内得到利用的变量的种类也可以不限定于设备变量。在控制程序内也可以利用设备变量以外的其他变量。其他变量例如为了决定对于生产线的某些命令而得到利用。

控制程序被分割成多个子程序。子程序的件数也可以不特别限定,可对应于实施方式来适宜选择。在此情况下,作为变量的类别(属性),可赋予内部变量及外部变量这两种类别。内部变量是在一个子程序内得到利用的变量。外部变量是在多个子程序间共同利用的变量。设备变量是这些变量中的外部变量的一种。而且,多个子程序中的至少任一个子程序可被分割成一个以上的节(section)。节的数量也可以不特别限定,可对应于实施方式来适宜选择。

一连串的命令群也可以进而包含一个以上的函数的实例。函数包含用于执行经定义的信息处理的命令群。例如,函数包含基于被赋予的输入参数,执行经规定的运算处理,并将其运算结果输出至输出参数的命令群。“函数”也可以被称为“函数块”。输入参数(输入变量)是用于对函数赋予输入值(引数)的参数。输出参数(输出变量)是用于接收函数的运算结果(返回值)的参数。函数能够以包含一个以上的输入参数及一个以上的输出参数的方式来定义。而且,输入参数及输出参数也能够以共同的参数来赋予。所述共同的参数可被称为“输入/输出参数”。函数能够以包含一个以上的输入/输出参数的方式来定义。另外,包含一个输入/输出参数可作为与包含一个输入参数及一个输出参数相同的情况来处理。也可以在输入/输出参数中使用排列。另外,以下将输入参数及输出参数也仅记载为“参数”。

作为函数的种类,存在用户定义函数及标准函数这两种函数。用户定义函数是在控制程序内由用户来定义的函数。用户定义函数的内容被记述在控制程序内。因此,通过对于控制程序的依存性分析,可确定用户定义函数中的输入/输出间的依存关系。另一方面,标准函数是在系统中按标准来准备的函数。标准函数的内容通过定义文件(程序库(library))等而有别于控制程序来赋予。因此,在对于控制程序的依存性分析中,无法确定标准函数中的输入/输出间的依存关系。控制程序可包含至少一个以上的所述标准函数的实例。

生产线只要可生产某些物品即可,其种类也可以不特别限定。设备的种类也可以不特别限定,可对应于实施方式来适宜选择。设备例如可以是输送器、机械臂、伺服马达、气缸、吸附垫、切割装置、密封装置等。而且,设备例如也可以是成形机、印刷机、安装机、回焊炉、基板检查装置等复合装置。进而,设备例如除如上所述的伴随某些物理动作的装置以外,例如也可以包含利用各种传感器来探测某些信息的装置、从各种传感器获取数据的装置、从所获取的数据中探测某些信息的装置、对所获取的数据进行信息处理的装置等进行内部处理的装置。一个设备可以包含一个或多个装置,也可以包含装置的一部。也可以通过多个设备来构成一个装置。而且,当同一种装置执行多个处理时,也可以将各装置视作不同的设备。例如,当同一种装置执行第一处理与第二处理时,也可以将执行第一处理的所述装置视作第一设备,将执行第二处理的所述装置视作第二设备。

节点(node)表达变量。边(枝)将两个节点连结。通过边来连结表示对应于各节点的设备彼此具有依存关系。此时,边的箭头的始点表示依存源,箭头的终点表示依存方。所谓“具有依存关系”,是指依存源的设备的动作的结果关系到依存方的设备的动作。

在所述一实施例的图表显示装置中,所述多个子程序中的至少任一个子程序也可以被分割成节。并且,所述第二有向图表也能够以如下方式生成:在被分割成所述节的子程序的区域中包含对应于所述节的子区域、且表达在所述节中得到利用的设备变量的第一节点配置在对应于所述节的子区域。根据所述结构,可将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联、且更明确地表示。

在所述一实施例的图表显示装置中,所述多个命令也可以进而包含函数。所获取的所述依存关系信息也可以进而表示所述各设备变量对于所述函数的输入参数或输出参数的依存关系。所述第一有向图表及所述第二有向图表分别也能够以进而包含表达所述函数的块的方式生成,所述块经由所述边而与表达对于被表达的所述函数的输入参数或输出参数具有依存关系的设备变量的第一节点连结。在所述第二有向图表中,所述块配置在所述多个区域之中,利用所述块所表达的所述函数的子程序的区域。所述第二有向图表中,所述块也可以配置在所述多个区域之中,利用所述块所表达的所述函数的子程序的区域。根据所述结构,可将控制程序中的对应于各设备的设备变量间的依存关系、与各设备变量对于函数的各参数的依存关系建立关联来表示。因此,可将各设备变量对于函数的参数的依存关系与各设备间的依存关系建立关联来掌握。另外,块可与所述节点同样地处理。

在所述一实施例的图表显示装置中,所述多个变量也可以包含与所述各设备变量不同的其他变量,所述其他变量在所述多个设备变量中的任一者与所述函数的输入参数或输出参数之间得到利用。所述第一有向图表及所述第二有向图表分别也能够以进而包含表达所述其他变量的第二节点的方式生成,所述第二节点配置在表达所述多个设备变量中的任一者的第一节点与表达所述函数的块之间,经由所述边而与所述第一节点及块连结。在所述第二有向图表中,所述第二节点也可以配置在所述多个区域之中,利用所述第二节点所表达的所述其他变量的子程序的区域。根据所述结构,当其他变量介于各设备变量间时,可将关于其他变量的依存关系与各设备间的依存关系建立关联来表示。

在所述一实施例的图表显示装置中,所述第二有向图表也能够以如下方式生成:在所述各第一节点、所述第二节点、及所述块的附近,表示所述各第一节点、所述第二节点、及所述块所表达的所述各设备变量、所述其他变量、及所述函数在所述控制程序中的位置。根据所述结构,可将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联、且更明确地表示。

作为所述各实施例的图表显示装置的其他形态,本发明的一实施例也可以是实现以上的各结构的信息处理方法,也可以是程序,也可以是存储有此种程序的计算机等可读取的存储介质。此处,所谓计算机等可读取的存储介质,是指通过电作用、磁作用、光学作用、机械作用或化学作用来积存程序等信息的介质。

例如,本发明的一实施例的图表显示方法是如下的信息处理方法,其使计算机执行以下的步骤:获取表示根据被分割成多个子程序的控制程序所确定的依存关系的依存关系信息的步骤,所述控制程序是包含用于控制生产线中所包含的多个设备的动作的多个命令的控制程序,所述多个命令包含多个变量,多个变量包含分别对应于所述各设备的多个设备变量,所述依存关系是所述各设备变量间的依存关系;基于所获取的所述依存关系信息,生成第一有向图表及第二有向图表的步骤,所述第一有向图表包含分别表达所述各设备变量的多个第一节点、及表达具有所述依存关系的边,所述第二有向图表包含所述多个第一节点、所述边、及与所述各子程序分别对应的多个区域,所述各第一节点配置在所述多个区域之中,利用所述各第一节点所表达的所述设备变量的子程序的区域;以及对应于用户的指示,将所生成的所述第一有向图表及所述第二有向图表在显示装置中切换来显示的步骤。

而且,例如本发明的一实施例的图表显示程序是如下的程序,其用于使计算机执行以下的步骤:获取表示根据被分割成多个子程序的控制程序所确定的依存关系的依存关系信息的步骤,所述控制程序是包含用于控制生产线中所包含的多个设备的动作的多个命令的控制程序,所述多个命令包含多个变量,多个变量包含分别对应于所述各设备的多个设备变量,所述依存关系是所述各设备变量间的依存关系;基于所获取的所述依存关系信息,生成第一有向图表及第二有向图表的步骤,所述第一有向图表包含分别表达所述各设备变量的多个第一节点、及表达具有所述依存关系的边,所述第二有向图表包含所述多个第一节点、所述边、及与所述各子程序分别对应的多个区域,所述各第一节点配置在所述多个区域之中,利用所述各第一节点所表达的所述设备变量的子程序的区域;以及对应于用户的指示,将所生成的所述第一有向图表及所述第二有向图表在显示装置中切换来显示的步骤。

发明的效果

根据本发明,在进行了分割编程的情况下,可将对应于各设备的设备变量在控制程序中的位置与各设备变量间的依存关系建立关联来掌握。

附图说明

[图1]图1示意性地例示应用本发明的场景的一例。

[图2]图2示意性地例示实施方式的分析装置的硬件结构的一例。

[图3]图3示意性地例示实施方式的控制装置(可编程逻辑控制器(ProgrammableLogic Controller,PLC))的硬件结构的一例。

[图4]图4示意性地例示实施方式的分析装置的软件结构的一例。

[图5A]图5A例示实施方式的分析装置的处理程序的一例。

[图5B]图5B例示实施方式的分析装置的处理程序的一例。

[图6]图6例示利用实施方式的分析装置的依存性分析的处理程序的一例。

[图7]图7表示实施方式的控制程序的一例。

[图8]图8表示从图7的控制程序获得的抽象语法树的一例。

[图9]图9表示从图8的抽象语法树获得的控制流程图表的一例。

[图10A]图10A例示利用实施方式的分析装置的用于提取依存模式的处理程序的一例。

[图10B]图10B例示利用实施方式的分析装置的用于提取依存模式的处理程序的一例。

[图11A]图11A例示利用实施方式的分析装置的用于提取与用户定义函数相关的依存模式的处理程序(子程序)的一例。

[图11B]图11B例示利用实施方式的分析装置的用于提取与用户定义函数相关的依存模式的处理程序(子程序)的一例。

[图12]图12例示表示通过对于图7的控制程序的依存性分析所获得的依存关系的模式的数据的一例。

[图13A]图13A例示利用实施方式的分析装置的用于确定设备变量间的依存关系的处理程序的一例。

[图13B]图13B例示利用实施方式的分析装置的用于确定设备变量间的依存关系的处理程序的一例。

[图14A]图14A示意性地例示实施方式的函数结构信息的一例。

[图14B]图14B例示在实施方式的分析装置中,在确定设备变量间的依存关系的过程中所获得的中间数据的一例。

[图15]图15例示表示由实施方式的分析装置所确定的设备变量间的依存关系的确定结果数据的一例。

[图16]图16例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图17A]图17A例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图17B]图17B例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图17C]图17C例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图17D]图17D例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图18A]图18A例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图18B]图18B例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图18C]图18C例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图18D]图18D例示基于确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图19]图19表示另一个控制程序的一例。

[图20A]图20A例示基于对图19的控制程序确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图20B]图20B例示基于对图19的控制程序确定依存关系的结果,由实施方式的分析装置生成的有向图表的一例。

[图21]图21例示变形例的图表显示装置的硬件结构的一例。

[图22]图22例示变形例的图表显示装置的软件结构的一例。

[图23]图23例示变形例的图表显示装置的处理程序的一例。

[图24]图24示意性地例示应用本发明的另一个场景的一例。

具体实施方式

以下,基于附图对本发明的一实施例的实施方式(以下,也表述成“本实施方式”)进行说明。但是,以下所说明的本实施方式在所有方面只不过是本发明的例示。当然可不脱离本发明的范围而进行各种改良或变形。即,在实施本发明时,也可以适宜采用对应于实施方式的具体的结构。另外,通过自然语言来对本实施方式中出现的数据进行说明,更具体而言,由计算机可识别的拟语言(quasi-language)、指令、参数、机器语言(machinelanguage)等来指定。

§1应用例

首先,使用图1对应用本发明的场景的一例进行说明。图1示意性地例示本实施方式的分析装置1的应用场景的一例。本实施方式的分析装置1是本发明的“图表显示装置”的一例。在图1的例子中,设想存在作为与分析装置1不同的计算机的PLC(可编程逻辑控制器)2,PLC2基于控制程序221,控制构成生产线27的多个设备28的动作的场景。

本实施方式的分析装置1是计算机,其以根据控制程序221来确定生产线27中所包含的多个设备28间的依存关系,生成表示经确定的依存关系的有向图表,并显示所生成的有向图表的方式构成。具体而言,分析装置1获取包含用于控制生产线27中所包含的多个设备28的动作的多个命令(一连串的命令群)的控制程序221。控制程序221包含多个变量。

多个变量包含分别对应于各设备28的多个设备变量31。设备变量31对应于生产线27中所包含的设备28,为了决定对于对应的设备28的某些命令而在控制程序221内得到利用。但是,在控制程序221内得到利用的变量的种类也可以不限定于设备变量31。在控制程序221内也可以利用设备变量31以外的其他变量。其他变量例如为了决定对于生产线27的某些命令而得到利用。

控制程序221被分割成多个子程序。在此情况下,作为变量的类别(属性),可赋予内部变量及外部变量这两种类别。内部变量是在一个子程序内得到利用的变量。外部变量是在多个子程序间共同利用的变量。设备变量31是这些变量中的外部变量的一种。

控制程序221内所定义的多个命令也可以进而包含一个以上的函数的实例。函数包含用于执行经定义的信息处理的命令群。例如,函数包含基于被赋予的输入参数,执行经规定的运算处理,并将其运算结果输出至输出参数的命令群。“函数”也可以被称为“函数块”。输入参数(输入变量)是用于对函数赋予输入值(引数)的参数。输出参数(输出变量)是用于接收函数的运算结果(返回值)的参数。

函数能够以包含一个以上的输入参数及一个以上的输出参数的方式来定义。而且,输入参数及输出参数也能够以共同的参数来赋予。所述共同的参数可被称为“输入/输出参数”。函数能够以包含一个以上的输入/输出参数的方式来定义。也可以在输入/输出参数中使用排列。另外,包含一个输入/输出参数可作为与包含一个输入参数及一个输出参数相同的情况来处理。

作为函数的种类,存在用户定义函数及标准函数这两种函数。用户定义函数是在控制程序内由用户来定义的函数。用户定义函数的内容被记述在控制程序内。另一方面,标准函数是在系统中按标准来准备的函数。标准函数的内容通过定义文件(程序库)等而有别于控制程序来赋予。控制程序221的一个以上的函数的实例可包含一个以上的标准函数41的实例。

生产线27只要可生产某些物品即可,其种类也可以不特别限定。设备28的种类也可以不特别限定,可对应于实施方式来适宜选择。设备28例如可以是输送器、机械臂、伺服马达、气缸、吸附垫、切割装置、密封装置等。而且,设备28例如也可以是成形机、印刷机、安装机、回焊炉、基板检查装置等复合装置。进而,设备28例如除如上所述的伴随某些物理动作的装置以外,例如也可以包含利用各种传感器来探测某些信息的装置、从各种传感器获取数据的装置、从所获取的数据中探测某些信息的装置、对所获取的数据进行信息处理的装置等进行内部处理的装置。一个设备28可以包含一个或多个装置,也可以包含装置的一部。也可以通过多个设备28来构成一个装置。而且,当同一种装置执行多个处理时,也可以将各装置视作不同的设备28。例如,当同一种装置执行第一处理与第二处理时,也可以将执行第一处理的所述装置视作第一设备,将执行第二处理的所述装置视作第二设备。

本实施方式的分析装置1对所获取的控制程序221执行依存性分析,由此提取各设备变量31对于函数的实例的输入参数或输出参数的依存关系的模式。在被提取的模式中,有时包含各设备变量31对于标准函数41的实例的输入参数43或输出参数44的依存关系的模式。但是,标准函数41的内容(内部结构)未被记述在控制程序221内,因此在对于控制程序221的依存性分析中,无法导出标准函数41的实例中的输入参数43与输出参数44之间的依存关系。

因此,本实施方式的分析装置1通过外部信息来赋予在对于控制程序221的依存性分析中无法导出的标准函数41的输入参数43与输出参数44之间的依存关系的定义。即,分析装置1获取对标准函数中的输入参数与输出参数之间的依存关系进行定义的函数结构信息121。并且,分析装置1基于函数结构信息121,确定控制程序221中所包含的标准函数41的实例中的输入参数43与输出参数44之间的依存关系。

设想在所提取的依存关系的模式中,多个设备变量31中的一个设备变量对于控制程序221中所包含的一个以上的函数中的某个函数的实例的输入参数具有依存关系。而且,设想另一个设备变量对于与所述输入参数之间具有依存关系的同一个函数的输出参数具有依存关系。在此情况下,本实施方式的分析装置1认定所述一个设备变量与所述另一个设备变量之间具有依存关系。

即,设想多个设备变量31中的第一设备变量(一个设备变量)对于控制程序221中所包含的一个以上的函数中的任一个函数的输入参数具有依存关系,第二设备变量(另一个设备变量)对于任一个函数的输出参数具有依存关系。在此情况下,输入参数及输出参数是同一个函数的参数(换言之,第一设备变量及第二设备变量对于共同的函数具有依存关系),且当在输入参数与输出参数之间存在依存关系时,分析装置1认定在第一设备变量与第二设备变量之间存在依存关系。

当在控制程序221中包含用户定义函数的实例时,用户定义函数的实例中的输入参数与输出参数之间的依存关系通过对于控制程序221的依存性分析来确定。另一方面,标准函数41的实例中的输入参数43与输出参数44之间的依存关系通过函数结构信息121来赋予。因此,分析装置1可通过所述认定处理来确定各设备变量31间的依存关系。

确定各设备变量31间的依存关系的结果是表示根据被分割成多个子程序的控制程序221所确定的各设备变量31间的依存关系的依存关系信息的一例。本实施方式的分析装置1通过所述一连串的处理来获取所述依存关系信息。

继而,分析装置1基于所获取的依存关系信息来生成第一有向图表(后述的有向图表51等),所述第一有向图表包含分别表达各设备变量31的多个第一节点、及表达具有依存关系的边。而且,分析装置1生成第二有向图表(后述的有向图表591等),所述第二有向图表包含多个第一节点、边、及与各子程序分别对应的多个区域。在第二有向图表中,各第一节点配置在多个区域之中,利用所述各第一节点所表达的设备变量的子程序的区域。分析装置1对应于用户的指示,将所生成的第一有向图表及第二有向图表在显示装置中切换来显示。

在图1的例子中,设备变量“D1”对于标准函数41的实例的输入参数“I1”具有依存关系。设备变量“D2”对于标准函数41的实例的输入参数“I2”具有依存关系。设备变量“D3”对于标准函数41的实例的输出参数“O1”具有依存关系。设备变量“D4”对于标准函数41的实例的输出参数“O2”具有依存关系。这些依存关系的模式通过依存性分析来提取。而且,通过函数结构信息121来赋予输入参数“I1”与输出参数“O1”之间存在依存关系,输入参数“I2”与输出参数“O1”及输出参数“O2”各者之间存在依存关系的定义。

因此,在图1的例子中,分析装置1可如设备变量“D1”与设备变量“D3”之间具有依存关系,设备变量“D2”与设备变量“D3”及设备变量“D4”各者之间具有依存关系那样,确定各设备变量31间的依存关系。另外,图1只不过表示各设备变量31间的依存关系的一例。设备变量31的数量、其他变量的数量、函数的实例的数量、函数中的各参数的数量、及依存关系的有无分别可适宜设定。

如上所述,在本实施方式中,通过函数结构信息121,标准函数41的输入参数43与输出参数44之间的依存关系变得明确,因此可确定隔着标准函数41的多个设备变量31间的依存关系。因此,根据本实施方式,如图1中例示那样,即便在控制程序221包含标准函数41的情况下,也可以从所述控制程序221中适当地导出构成生产线27的多个设备28间的依存关系。

此外,在本实施方式中,根据被显示的有向图表中的第一有向图表,可表示控制程序221中的对应于各设备28的设备变量31间的依存关系。另一方面,根据第二有向图表,可表示各设备变量31在控制程序221中的位置。因此,在进行了分割编程的情况下,通过被切换显示的第一有向图表及第二有向图表,可将对应于各设备的设备变量31在控制程序221中的位置与各设备变量31间的依存关系建立关联来掌握。

§2结构例

[硬件结构]

<分析装置>

接下来,使用图2对本实施方式的分析装置1的硬件结构的一例进行说明。图2示意性地例示本实施方式的分析装置1的硬件结构的一例。

如图2所示,本实施方式的分析装置1是控制部11、存储部12、通信接口13、输入装置14、显示装置15、及驱动器16经电性连接的计算机。另外,在图2中,将通信接口记载为“通信I/F(Interface)”。

控制部11包含作为硬件处理器的中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,以基于程序及各种数据来执行信息处理的方式构成。存储部12是存储器的一例,例如包含硬盘驱动器、固态硬盘等辅助存储装置。在本实施方式中,存储部12存储分析程序81、函数结构信息121等各种信息。

分析程序81是用于使分析装置1执行一连串的信息处理(后述的图5A~图6、图10A~图11B、图13A、及图13B)的程序,所述一连串的信息处理用于根据控制程序221来确定多个设备28间的依存关系,生成表示经确定的依存关系的有向图表,并显示所生成的有向图表。分析程序81包含所述信息处理的一连串的命令群。分析程序81是本发明的“图表显示程序”的一例。函数结构信息121表示标准函数中的输入参数与输出参数之间的依存关系的定义。详细情况将后述。

通信接口13例如为有线局域网(Local Area Network,LAN)模块、无线LAN模块等,且为用于进行经由网络的有线通信或无线通信的接口。分析装置1可通过所述通信接口13而与PLC2之间进行经由网络的数据通信,获取控制程序221。另外,网络的种类例如可从国际互联网、无线通信网、移动通信网、电话网、专用网等中适宜选择。

输入装置14例如为鼠标、键盘等用于进行输入的装置。而且,显示装置15是输出装置的一例,例如为显示器。操作员可经由输入装置14及显示装置15来操作分析装置1。另外,显示装置15也可以是触摸屏显示器。在此情况下,也可以省略输入装置14。

驱动器16例如为光盘(Compact Disk,CD)驱动器、数字通用光盘(DigitalVersatile Disk,DVD)驱动器等,且为用于读入被存储在存储介质91中的程序的驱动装置。驱动器16的种类可对应于存储介质91的种类来适宜选择。也可以将所述分析程序81、函数结构信息121及控制程序221的至少任一者存储在所述存储介质91。

存储介质91是以计算机等装置、机器等可读取被记录的程序等信息的方式,通过电作用、磁作用、光学作用、机械作用或化学作用来积存所述程序等信息的介质。分析装置1也可以从所述存储介质91获取所述分析程序81、函数结构信息121及控制程序221的至少任一者。

此处,在图2中,作为存储介质91的一例,例示CD、DVD等盘型的存储介质。但是,存储介质91的种类并不限定于盘型,也可以是盘型以外的存储介质。作为盘型以外的存储介质,例如可列举快闪存储器等半导体存储器。

另外,关于分析装置1的具体的硬件结构,可对应于实施方式来适宜进行构成元件的省略、替换及追加。例如,控制部11也可以包含多个硬件处理器。硬件处理器可包含微处理器、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等。存储部12也可以包含控制部11中所包含的RAM及ROM。也可以省略通信接口13、输入装置14、显示装置15及驱动器16的至少任一者。分析装置1例如也可以进而包括扬声器等显示装置15以外的输出装置。分析装置1也可以包含多台计算机。在此情况下,各计算机的硬件结构可以一致,也可以不一致。而且,分析装置1除所提供的设计成服务专用的信息处理装置以外,也可以是台式个人计算机(PersonalComputer,PC)、平板PC等通用的信息处理装置、通用的服务器装置等。

<PLC>

接下来,使用图3对控制生产线27的动作的PLC2的硬件结构的一例进行说明。图3示意性地例示本实施方式的PLC2的硬件结构的一例。

如图3所示,PLC2是控制部21、存储部22、输入/输出接口23、及通信接口24经电性连接的计算机。由此,PLC2以控制生产线27的各设备28的动作的方式构成。另外,在图3中,将输入/输出接口及通信接口分别记载为“输入/输出I/F”及“通信I/F”。

控制部21包含CPU、RAM、ROM等,以基于程序及各种数据来执行信息处理的方式构成。存储部22例如包含RAM、ROM等,存储控制程序221等各种信息。控制程序221是用于控制生产线27的动作的程序。控制程序221包含用于控制生产线27中所包含的多个设备28的动作的多个命令(一连串的命令群)。

输入/输出接口23是用于与外部装置连接的接口,对应于所连接的外部装置来适宜构成。在本实施方式中,PLC2经由输入/输出接口23而与生产线27连接。输入/输出接口23的数量也可以不特别限定,可对应于实施方式来适宜设定。

通信接口24例如为有线LAN模块、无线LAN模块等,且为用于进行有线通信或无线通信的接口。PLC2可通过通信接口24而与分析装置1之间进行数据通信。

另外,关于PLC2的具体的硬件结构,可对应于实施方式来适宜进行构成元件的省略、替换及追加。例如,控制部21也可以包含多个处理器。存储部22也可以包含控制部21中所包含的RAM及ROM。存储部22也可以包含硬盘驱动器、固态硬盘等辅助存储装置。而且,PLC2除所提供的设计成服务专用的信息处理装置以外,也可以对应于控制对象,替换成台式PC、平板PC等通用的信息处理装置。

[软件结构]

接下来,使用图4对本实施方式的分析装置1的软件结构的一例进行说明。图4示意性地例示本实施方式的分析装置1的软件结构的一例。

分析装置1的控制部11将被存储在存储部12中的分析程序81在RAM中展开。并且,控制部11通过CPU来解释及执行在RAM中展开的分析程序81,控制各构成元件。由此,如图4所示,本实施方式的分析装置1作为计算机来运行,所述计算机包括程序获取部111、程序分析部112、定义判定部113、定义受理部114、定义赋予部115、关系确定部116、图表生成部117、及输出部118作为软件模块。即,在本实施方式中,分析装置1的各软件模块通过控制部11(CPU)来实现。

程序获取部111获取包含用于控制生产线27中所包含的多个设备28的动作的多个命令的控制程序221。多个命令包含多个变量。多个变量包含分别对应于各设备28的多个设备变量31。而且,多个命令也可以进而包含一个以上的函数的实例。一个以上的函数的实例也可以包含按标准来准备的一个以上的标准函数41的实例。控制程序221被分割成多个子程序。

程序分析部112对控制程序221执行依存性分析,由此提取各设备变量31对于函数的实例的输入参数或输出参数的依存关系的模式。定义判定部113参照对标准函数中的输入参数与输出参数之间的依存关系进行定义的函数结构信息121,判定在函数结构信息121中未进行依存关系的定义的一个以上的未定义的标准函数的实例是否包含在控制程序221中。在判定一个以上的未定义的标准函数的实例包含在控制程序221中的情况下,定义受理部114受理对所述未定义的标准函数中的输入参数与输出参数之间的依存关系进行定义的追加的函数结构信息123的输入。

定义赋予部115基于函数结构信息121,确定一个以上的函数中所包含的一个以上的标准函数41的实例中的输入参数43与输出参数44之间的依存关系。而且,定义赋予部115在判定一个以上的未定义的标准函数的实例包含在控制程序221中的情况下,定义赋予部115基于经输入的追加的函数结构信息123,确定控制程序221中所包含的标准函数41中的一个以上的未定义的标准函数的实例中的输入参数与输出参数之间的依存关系。

关系确定部116在经提取的依存关系的模式中,认定对于一个以上的函数中的同一个函数的输入参数具有依存关系的一个设备变量与另一个设备变量之间具有依存关系,所述另一个设备变量对于与所述输入参数之间具有依存关系的输出参数具有依存关系,由此确定各设备变量31间的依存关系。确定各设备变量31间的依存关系的结果是依存关系信息的一例。程序获取部111~关系确定部116是本发明的“信息获取部”的一例。即,通过程序获取部111~关系确定部116,获取表示根据被分割成多个子程序的控制程序221所确定的各设备变量31间的依存关系的依存关系信息。

图表生成部117基于确定依存关系的结果,生成表示经确定的各设备变量31间的依存关系的有向图表。输出部118输出与确定各设备变量31间的依存关系的结果相关的信息。在本实施方式中,图表生成部117可基于所获取的依存关系信息来生成第一有向图表,所述第一有向图表包含分别表达各设备变量31的多个第一节点、及表达具有依存关系的边。而且,图表生成部117可生成第二有向图表,所述第二有向图表包含多个第一节点、边、及与各子程序分别对应的多个区域,各第一节点配置在多个区域之中,利用所述各第一节点所表达的设备变量的子程序的区域。并且,输出部118可将所生成的第一有向图表及第二有向图表作为与确定各设备变量31间的依存关系的结果相关的信息而输出。作为所述输出处理的一例,输出部118可对应于用户的指示,将所生成的第一有向图表及第二有向图表在显示装置15中切换来显示。输出部118是本发明的“显示控制部”的一例。

关于分析装置1的各软件模块,在后述的动作例中进行详细说明。另外,在本实施方式中,对分析装置1的各软件模块均通过通用的CPU来实现的例子进行说明。但是,以上的软件模块的一部分或全部也可以通过一个或多个专用的硬件处理器来实现。而且,关于分析装置1的软件结构,也可以对应于实施方式来适宜进行软件模块的省略、替换及追加。

§3动作例

接下来,使用图5A及图5B对分析装置1的动作例进行说明。图5A及图5B例示本实施方式的分析装置1的处理程序的一例。以下所说明的分析装置1的处理程序是本发明的“图表显示方法”的一例。但是,以下所说明的处理程序只不过是一例,各处理也可以尽可能地变更。另外,关于以下所说明的处理程序,可对应于实施方式来适宜进行步骤的省略、替换、及追加。

[步骤S101]

在步骤S101中,控制部11作为程序获取部111来运行,获取控制程序221。

在本实施方式中,控制部11利用通信接口13,经由网络而从PLC2获取控制程序221。但是,控制程序221的位置及获取方法也可以不限定于此种例子。当在存储部12或存储介质91中存在控制程序221时,控制部11也可以从存储部12或存储介质91获取控制程序221。而且,当在其他信息处理装置中存在控制程序221时,控制部11也可以从其他信息处理装置获取控制程序221。若获取控制程序221,则控制部11使处理进入接下来的步骤S102。

另外,控制程序221例如也可以利用梯形图语言、功能块图语言、结构化文本语言、指令表语言、顺序功能图语言、及C语言的至少任一者来记述,以可通过PLC2来执行。除此以外,控制程序221例如也可以利用Java(注册商标)、Python、C++、Ruby、Lua等程序语言来记述。控制程序221的种类也可以不特别限定,可对应于实施方式来适宜选择。

[步骤S102]

在步骤S102中,控制部11作为程序分析部112来运行,对所获取的控制程序221执行依存性分析,由此提取各设备变量31对于函数的实例的输入参数或输出参数的依存关系的模式。

<依存性分析>

此处,使用图6对步骤S102的处理的一例进行详细说明。图6例示利用本实施方式的分析装置1的依存性分析的处理程序的一例。本实施方式的步骤S102的处理包含以下的步骤S201~步骤S205的处理。但是,以下所说明的处理程序只不过是一例,各处理可尽可能地变更。另外,关于以下所说明的处理程序,可对应于实施方式来适宜进行步骤的省略、替换、及追加。

(步骤S201)

在步骤S201中,控制部11执行对于控制程序221的语法分析,由此从控制程序221生成抽象语法树。抽象语法树的生成可使用利用自顶向下语法分析或自底向上语法分析的现有的语法分析方法。而且,抽象语法树的生成可使用处理按照特定的形式文法的字符串的语法分析器。语法分析的方法也可以不特别限定,可对应于实施方式来适宜选择。

使用图7及图8,对所生成的抽象语法树的一例进行说明。图7表示所获取的控制程序221的一例。图8表示从图7的控制程序221生成的抽象语法树222的一例。在图7的例子中,设想所获取利用结构化文本(Structured Text,ST)语言来记述的控制程序221的场景。图7中所例示的控制程序221包含四个设备变量(D1、D2、D3、D4)、一个用户定义函数(My_FB)的实例(Inst_MyFB)、及两个标准函数(Std_FB1、Std_FB2)的实例(Inst_StdFB1、Inst_StdFB2)。用户定义函数(My_FB)包含三个输入参数(Enable、Arg1、Arg2)及两个输出参数(Out1、Out2)。标准函数(Std_FB1)包含三个输入参数(Execute、Input1、Input2)及一个输出参数(Out)。标准函数(Std_FB2)包含两个输入参数(Execute、Input)及两个输出参数(Out1、Out2)(也参照后述的图14)。

图7中所例示的控制程序221被分割成两个子程序(2211、2212)。子程序2211(程序0/节0)最先被调用来执行。在子程序2212中记述有用户定义函数(My_FB)的内容。对所述控制程序221执行语法分析,由此可获得图8中所示的抽象语法树222。在图8的例子中,针对各子程序(2211、2212)获得了抽象语法树。抽象语法树222表示在控制程序221内得到利用的变量(包含参数)、运算符、及节点间的关系(运算与被运算的关系等)。

另外,在图8中,通过利用括弧的嵌套结构来表达抽象语法树。例如,对“a=b+1”执行语法分析,由此可获得抽象语法树“(=a(+b1))”。在通过所述嵌套结构来表达的抽象语法树中,“=”是根节点。“a”是与根节点“=”连结的叶节点,“+”是与根节点“=”连结的内部节点。“b”及“1”是与内部节点“+”连结的叶节点。若完成抽象语法树的生成,则控制部11使处理进入接下来的步骤S202。

(步骤S202)

回到图6,在步骤S202中,控制部11利用所生成的抽象语法树,执行流程分析。流程分析的方法也可以不特别限定,可对应于实施方式来适宜选择。流程分析可采用现有的方法。由此,控制部11从抽象语法树生成表示控制程序221中所包含的各命令的依存路径的控制流程图表。

图9表示从图8的抽象语法树222获得的控制流程图表223的一例。控制流程图表223表示控制程序221的处理的流程(实线的箭头)、数据的依存性(点划线的箭头)、及控制的依存性(虚线的箭头)。处理的流程表示执行控制程序221内的处理的顺序。例如,在控制程序221中,在“A1:=D1”的处理后执行“CAL Inst_MyFB”的处理。因此,在控制流程图表223中,“A1:=D1”及“CAL Inst_MyFB”由表示处理的流程的箭头来连结。

数据的依存性表示给予影响的处理的关系。例如,在控制程序221中,“A1:=D1”的处理的结果对“Arg1:=A1”的处理给予影响。因此,在控制流程图表223中,“A1:=D1”及“Arg1:=A1”由表示数据的依存性的箭头来连结。而且,控制的依存性表示通过条件分歧等来决定能否执行的处理的关系。例如,在控制程序221中,对应于“CAL Inst_MyFB”的执行,执行“Enable:=D3”、“Arg1:=A1”及“Arg2:=Var1”。因此,“CAL Inst_MyFB”与“Enable:=D3”、“Arg1:=A1”及“Arg2:=Var1”由表示控制的依存性的箭头来连结。

根据所生成的控制流程图表,可确定控制程序221中的包含变量的运算的处理彼此的依存关系。若完成控制流程图表的生成,则控制部11使处理进入接下来的步骤S203。

(步骤S203及步骤S204)

回到图6,在步骤S203中,控制部11从抽象语法树或控制流程图表中提取在控制程序221内得到利用的各设备变量31。提取在控制程序221内得到利用的各设备变量31的方法可对应于实施方式来适宜选择。

作为一例,控制部11也可以参照设备变量的列表,由此从抽象语法树或控制流程图表中提取得到利用的各设备变量31。具体而言,控制部11根据抽象语法树或控制流程图表来确定在控制程序221内得到利用的各变量。接下来,控制部11将经确定的各变量与设备变量的列表进行对照,由此判定经确定的各变量是否为设备变量。由此,控制部11可提取在控制程序221内得到利用的各设备变量31。另外,设备变量的列表的形式也可以不特别限定,可对应于实施方式来适宜设定。而且,设备变量的列表也可以通过用户的指定来赋予,也可以事先保持在系统中。所述设备变量的列表也可以保存在存储部12中。

在接下来的步骤S204中,控制部11从抽象语法树或控制流程图表中提取用于调用在控制程序221内得到利用的函数(用户定义函数及标准函数)的实例的函数调用式。提取得到利用的函数的调用式的方法可对应于实施方式来适宜选择。

作为一例,与设备变量31的提取方法同样地,控制部11也可以参照函数的列表,由此从抽象语法树或控制流程图表中提取得到利用的函数的调用式。另外,函数的列表的形式也可以不特别限定,可对应于实施方式来适宜设定。而且,函数的列表也可以通过用户的指定来赋予,也可以事先保持在系统中。所述函数的列表也可以保存在存储部12中。函数中的标准函数的列表也可以从函数结构信息121获得。而且,用户定义函数的列表也可以从控制程序221内的子程序等的名称获得。作为提取函数的调用式的其他例,控制部11也可以基于控制程序221的语言规格,提取与函数的调用式对应的模式。

在所述一例中,在步骤S203中,可从抽象语法树222(图8)或控制流程图表223(图9)中提取四个设备变量(D1、D2、D3、D4)。而且,在步骤S204中,可从抽象语法树222或控制流程图表223中提取一个用户定义函数(My_FB)的实例(Inst_MyFB)、及两个标准函数(Std_FB1、Std_FB2)的实例(Inst_StdFB1、Inst_StdFB2)的调用式。另外,步骤S203及步骤S204的处理顺序也可以调换。若完成在控制程序221内得到利用的各设备变量31及函数的调用式的提取,则控制部11使处理进入接下来的步骤S205。

(步骤S205)

在步骤S205中,控制部11参照控制流程图表,探索各命令的依存路径,由此提取经提取的各设备变量31对于经提取的函数的实例的输入参数或输出参数的依存关系的模式。基于控制流程图表来提取依存关系的模式的方法也可以不特别限定,可对应于实施方式来适宜设定。

设想标准函数的实例未介于相互具有依存关系的两个设备变量之间。在此情况下,当两个设备变量直接具有依存关系时,在控制流程图表中,可探索从一个设备变量至另一个设备变量为止的路径。在控制程序221中所包含的多个设备变量31中,也可以如所述那样存在与另一个设备变量直接具有依存关系的设备变量。而且,即便至少一个用户定义函数的实例介于两个设备变量之间,由于用户定义函数的内容被记述在控制程序221内,因此在控制流程图表中,也可以探索从一个设备变量至另一个设备变量为止的路径。另外,此时,在探索所述路径的过程中确定用户定义函数的内部结构。

相对于此,设想标准函数的实例介于相互具有依存关系的两个设备变量之间。在此情况下,由于标准函数的内容未被记述在控制程序221内,因此在控制流程图表中,无法探索从一个设备变量至另一个设备变量为止的路径。即,以设备变量为起点而开始的路径的探索在到达标准函数的参数的时间点结束。

因此,在本实施方式中,控制部11在控制流程图表中,以经提取的各设备变量31为起点,探索数据或控制的依存性的路径直至到达终端的实例的输入参数或输出参数或者另一个设备变量为止。因所述理由,终端的实例是标准函数的实例。由此,控制部11提取各设备变量31的依存关系的模式。

<提取处理>

此处,进而使用图10A及图10B对步骤S205的处理的一例进行详细说明。图10A及图10B例示利用本实施方式的分析装置1的用于提取依存关系的模式的处理程序的一例。本实施方式的步骤S205的处理包含以下的步骤S301~步骤S315的处理。但是,以下所说明的处理程序只不过是一例,各处理可尽可能地变更。另外,关于以下所说明的处理程序,可对应于实施方式来适宜进行步骤的省略、替换、及追加。

(步骤S301)

在步骤S301中,控制部11将通过步骤S203所提取的各设备变量31列成表。在所述图8及图9的例子中,将四个设备变量(D1、D2、D3、D4)列成表。若将经提取的各设备变量31列成表,则控制部11使处理进入接下来的步骤S302。

(步骤S302~步骤S304)

在步骤S302中,控制部11从经提取的设备变量31的列表中挑选关注的设备变量(以下,也记载为“关注设备变量”)。在步骤S303中,控制部11在控制流程图表中,以经挑选的关注设备变量为起点,在一方向上探索各命令的依存路径(表示数据或控制的依存性的路径)。另外,数据或控制的依存性的路径可在沿着箭头的方向的顺向及逆着箭头的方向的逆向的两个方向上探索。因此,在步骤S303中,控制部11将所述两个方向中的任一个方向选择为所述一方向,在经选择的方向上探索路径。在步骤S304中,控制部11探索路径的结果,将与关注设备变量具有依存关系的变量(包含函数的实例的参数)列成表。所谓具有依存关系的变量,是指在路径上出现的变量。

在所述图8及图9的例子中,设想通过步骤S302来将设备变量“D1”挑选为关注设备变量的场景。在此情况下,在步骤S303中,可从“A1:=D1”朝“Arg1:=A1”探索依存性的路径。在接下来的步骤S304中,将变量“A1”及“Arg1”列成表。变量“A1”是设备变量31以外的其他变量的一例,变量“Arg1”是用户定义函数(My_FB)的实例的输入参数的一例。若将具有依存关系的变量列成表,则控制部11使处理进入接下来的步骤S305。

(步骤S305及步骤S306)

在步骤S305中,控制部11从具有依存关系的变量的列表中挑选作为分析对象的变量。所述分析对象的变量是函数(标准函数或用户定义函数)的实例的参数(输入参数或输出参数)、设备变量、及设备变量以外的其他变量的任一者。

因此,在接下来的步骤S306中,控制部11判定经挑选的分析对象的变量是否为函数的实例的参数或设备变量。在判定分析对象的变量为函数的实例的参数或设备变量的情况下,控制部11使处理进入接下来的步骤S308。另一方面,在判定分析对象的变量并非函数的实例的参数及设备变量的任一者的情况下,即在分析对象的变量为设备变量以外的其他变量的情况下,控制部11使处理进入接下来的步骤S307。

例如,在所述例子中,当通过步骤S305来将变量“Arg1”挑选为分析对象的变量时,控制部11判定分析对象的变量为函数的实例的参数,使处理进入接下来的步骤S308。另一方面,在所述例子中,当通过步骤S305来将变量“A1”挑选为分析对象的变量时,控制部11判定分析对象的变量并非函数的实例的参数及设备变量的任一者,使处理进入接下来的步骤S307。

(步骤S307)

步骤S307在通过步骤S305所挑选的分析对象的变量为设备变量以外的其他变量的情况下执行。在此情况下,从关注设备变量至分析对象的变量为止的依存性的路径只不过表示关注设备变量与其他变量之间的依存关系。因此,在步骤S307中,控制部11废弃所述分析对象的变量之前的依存性的路径。废弃依存性的路径后,控制部11使处理进入接下来的步骤S313。

(步骤S308)

在步骤S308中,控制部11判定经挑选的分析对象的变量是否为用户定义函数的实例的参数。在判定分析对象的变量为用户定义函数的实例的参数的情况下,控制部11使处理进入接下来的步骤S310。另一方面,在判定分析对象的变量并非用户定义函数的实例的参数的情况下,即在分析对象的变量为标准函数的实例的参数或设备变量的情况下,控制部11使处理进入接下来的步骤S309。

(步骤S309)

步骤S309在通过步骤S305所挑选的分析对象的变量为标准函数的实例的参数或设备变量的情况下执行。就确定各设备变量31间的依存关系的观点而言,设备变量(特别是关注设备变量以外的其他设备变量)是将关注设备变量作为起点的路径的探索的终端。而且,由于在控制程序221内未记述标准函数的内容,因此标准函数的实例的参数也是将关注设备变量作为起点的路径的探索的终端。即,将所述关注设备变量作为起点的路径的探索在到达标准函数的实例的参数或设备变量的时间点结束。

因此,在步骤S309中,控制部11基于从关注设备变量至分析对象的变量为止所经过的依存性的路径,确定关于关注设备变量的依存关系的模式。在分析对象的变量为设备变量的情况下,确定设备变量与关注设备变量之间的依存关系的模式。另一方面,在分析对象的变量为标准函数的实例的参数的情况下,控制部11确定标准函数的实例的参数与关注设备变量之间的依存关系的模式。控制部11将所确定的依存关系的模式作为分析结果来保存。另外,当在从关注设备变量至分析对象的变量为止的依存性的路径中包含设备变量以外的其他变量时,控制部11也将所述路径中所包含的其他变量的信息作为分析结果来保存。保存分析结果后,控制部11使处理进入接下来的步骤S313。

(步骤S310~步骤S312)

步骤S310~步骤S312在通过步骤S305所挑选的分析对象的变量为用户定义函数的实例的参数的情况下执行。在分析对象的变量为用户定义函数的实例的参数的情况下,由于用户定义函数的内容被记述在控制程序221内,因此可将分析对象的变量作为起点,朝所述用户定义函数的内部进一步探索依存性的路径。因此,控制部11保存用户定义函数的实例之前的分析结果后,将分析对象的变量设定为新的起点,继续探索依存性的路径的处理。

具体而言,在步骤S310中,控制部11基于从关注设备变量至分析对象的变量为止所经过的依存性的路径,确定关于关注设备变量的依存关系的模式。在此场景中,确定用户定义函数的实例的参数与关注设备变量之间的依存关系的模式。控制部11将所确定的依存关系的模式作为分析结果来保存。与步骤S309同样地,当在从关注设备变量至分析对象的变量为止的依存性的路径中包含设备变量以外的其他变量时,控制部11也将所述路径中所包含的其他变量的信息作为分析结果来保存。

在接下来的步骤S311中,控制部11将分析对象的变量指定为新的关注变量。并且,在接下来的步骤S312中,控制部11参照控制流程图表,以关注变量为起点探索各命令的依存路径,由此提取关注变量对于函数的参数或设备变量的依存关系的模式。步骤S312的子程序的详细情况将后述。若完成步骤S312的依存关系的模式的提取,则控制部11使处理进入接下来的步骤S313。

(步骤S313)

在步骤S313中,控制部11判定是否对通过步骤S304而列成表的所有变量结束了步骤S305以下的处理。当在列表中残存未执行步骤S305以下的处理的变量时,控制部11判定尚未对列成表的所有变量结束步骤S305以下的处理。在此情况下,控制部11使处理回到步骤S305,将残存在列表中的其他变量挑选为分析对象的变量,重复步骤S306以下的处理。另一方面,在并非如此的情况下,控制部11判定对列成表的所有变量结束了处理,使处理进入接下来的步骤S314。

(步骤S314)

在步骤S314中,控制部11判定是否针对顺向及逆向的两个方向,结束了与将关注设备变量作为起点的路径的探索相关的步骤S303~步骤S313的一连串的处理。在仅执行一次步骤S303~步骤S313的一连串的处理的阶段,针对两个方向尚未结束与路径探索相关的处理。在此阶段,控制部11判定针对两个方向尚未结束与路径探索相关的处理,使处理回到步骤S303,将路径探索的方向变更成另一个方向,重复步骤S303以下的处理。例如,当第一次在顺向上探索了依存性的路径时,控制部11在与下一次的路径探索相关的处理中,在逆向上探索依存性的路径。另一方面,若通过所述处理的重复来将所述一连串的处理执行两次,则与针对两个方向的路径探索相关的处理结束。在此阶段,控制部11判定针对两个方向结束了与路径探索相关的处理,使处理进入接下来的步骤S315。

(步骤S315)

在步骤S315中,控制部11判定是否对通过步骤S301而列成表的所有设备变量结束了步骤S302以下的处理。当在列表中残存未执行步骤S302以下的处理的设备变量时,控制部11判定尚未对列成表的所有设备变量结束步骤S302以下的处理。在此情况下,控制部11使处理回到步骤S302,将残存在列表中的其他设备变量挑选为关注设备变量,重复步骤S303以下的处理。另一方面,在并非如此的情况下,控制部11判定对列成表的所有设备变量结束了处理,而结束用于提取依存关系的模式的处理。由此,步骤S205的一连串的处理结束,因此步骤S102的依存性分析的处理完成。若步骤S102的依存性分析的处理完成,则控制部11使处理进入接下来的步骤S103。

<提取处理的子程序>

接下来,进而使用图11A及图11B,对步骤S312的处理的一例进行详细说明。图11A及图11B例示利用本实施方式的分析装置1的用于提取与用户定义函数相关的依存模式的处理程序(子程序)的一例。本实施方式的步骤S312的处理包含以下的步骤S401~步骤S411的处理。但是,以下所说明的处理程序只不过是一例,各处理可尽可能地变更。另外,关于以下所说明的处理程序,可对应于实施方式来适宜进行步骤的省略、替换、及追加。

在步骤S401~步骤S411的一连串的处理中,以用户定义函数的实例的参数为起点来执行依存性的路径的探索。因此,步骤S401~步骤S411的一连串的处理与将通过步骤S302所挑选的关注设备变量替换成通过步骤S311所指定的关注变量的步骤S303~步骤S313的一连串的处理相同。

(步骤S401及步骤S402)

即,在步骤S401中,控制部11在控制流程图表中,以经指定的关注变量为起点,在一方向上探索各命令的依存路径。在步骤S401中,控制部11在通过步骤S303所选择的方向上探索依存性的路径。在步骤S402中,控制部11探索路径的结果,将与关注变量具有依存关系的变量(包含函数的实例的参数)列成表。

(步骤S403及步骤S404)

在步骤S403中,控制部11从具有依存关系的变量的列表中挑选作为分析对象的变量。在步骤S404中,控制部11判定经挑选的分析对象的变量是否为函数的实例的参数或设备变量。在判定分析对象的变量为函数的实例的参数或设备变量的情况下,控制部11使处理进入接下来的步骤S406。另一方面,在判定分析对象的变量并非函数的实例的参数及设备变量的任一者的情况下,即在分析对象的变量为设备变量以外的其他变量的情况下,控制部11使处理进入接下来的步骤S405。

(步骤S405)

在步骤S405中,控制部11废弃所述分析对象的变量之前的依存性的路径。废弃依存性的路径后,控制部11使处理进入接下来的步骤S411。

(步骤S406)

在步骤S406中,控制部11判定通过步骤S403所挑选的分析对象的变量是否为用户定义函数的实例的参数。在判定分析对象的变量为用户定义函数的实例的参数的情况下,控制部11使处理进入接下来的步骤S408。另一方面,在判定分析对象的变量并非用户定义函数的实例的参数的情况下,即在分析对象的变量为标准函数的实例的参数或设备变量的情况下,控制部11使处理进入接下来的步骤S407。

(步骤S407)

在步骤S407中,控制部11基于从关注变量至分析对象的变量为止所经过的依存性的路径,确定关于关注变量的依存关系的模式。而且,控制部11将所确定的依存关系的模式作为分析结果来保存。另外,当在从关注变量至分析对象的变量为止的依存性的路径中包含设备变量以外的其他变量时,控制部11也将所述路径中所包含的其他变量的信息作为分析结果来保存。保存分析结果后,控制部11使处理进入接下来的步骤S411。

(步骤S408~步骤S410)

在步骤S408中,控制部11基于从关注变量至分析对象的变量为止所经过的依存性的路径,确定关于关注变量的依存关系的模式,并将所确定的依存关系的模式作为分析结果来保存。与步骤S407同样地,当在从关注变量至分析对象的变量为止的依存性的路径中包含设备变量以外的其他变量时,控制部11也将所述路径中所包含的其他变量的信息作为分析结果来保存。

在步骤S409中,控制部11将分析对象的变量指定为新的关注变量。并且,在步骤S410中,控制部11参照控制流程图表,以关注变量为起点探索各命令的依存路径,由此提取关注变量对于函数的参数或设备变量的依存关系的模式。所述步骤S410的处理与步骤S312相同。即,控制部11对新指定的关注变量执行步骤S401~步骤S411的处理。若完成步骤S410的依存关系的模式的提取,则控制部11使处理进入接下来的步骤S411。

另外,设想新的关注变量的用户定义函数的实例与原来的关注变量的用户定义函数的实例不同。在此情况下,在步骤S410的处理中,控制部11将新的关注变量作为起点,朝所述用户定义函数的内部探索依存性的路径。另一方面,设想新的关注变量的用户定义函数的实例与原来的关注变量的用户定义函数的实例相同。在此情况下,从原来的关注变量至新的关注变量为止探索依存性的路径,由此完成所述用户定义函数的内部的探索。即,通过从原来的关注变量至新的关注变量为止的路径来确定所述用户定义函数的内部结构。因此,在步骤S410的处理中,控制部11将新指定的关注变量作为起点,朝所述用户定义函数的外部探索依存性的路径。

(步骤S411)

在步骤S411中,控制部11判定是否对通过步骤S402而列成表的所有变量结束了步骤S403以下的处理。当在列表中残存未执行步骤S403以下的处理的变量时,控制部11判定尚未对列成表的所有变量结束步骤S403以下的处理。在此情况下,控制部11使处理回到步骤S403,将残存在列表中的其他变量挑选为分析对象的变量,重复步骤S404以下的处理。另一方面,在并非如此的情况下,控制部11判定对列成表的所有变量结束了处理,而完成本子程序的处理。若完成本子程序的处理,则控制部11使处理进入接下来的步骤S313(在通过步骤S410来重复子程序的处理的情况下,为前一个子程序的步骤S411)。

另外,步骤S312及步骤S410是以新的关注变量为起点,使在这些步骤之前执行的对同一个关注设备变量探索依存性的路径的处理继续的处理。因此,控制部11将所述继续后获得的分析结果与继续前获得的分析结果建立关联来保存。具体而言,控制部11使步骤S407或步骤S408中的分析结果从属于步骤S310(在通过步骤S410来重复子程序的处理的情况下,为前一个子程序的步骤S408)中的分析结果来保存。

使用图12对通过所述提取处理来提取依存关系的模式的结果的一例进行说明。图12例示表示从图9的控制流程图表223中提取依存关系的模式的结果的提取结果数据224的一例。在图12的例子中,提取结果数据224具有表结构,各记录(行数据)具有“NO”、“根源”、“设备”、“关注”、“方向”、“变量”、“程序”、“实例”、“函数”、“参数”及“IO”的字段。一个记录对应于一个分析结果。但是,提取结果的数据结构也可以不限定于此种例子,可对应于实施方式来适宜决定。

在“NO”字段中,保存各记录的编号。各记录的编号用于识别分析结果。在“根源”字段中,为了表示各分析结果的从属关系,而保存表示由对象的记录表示的分析结果所从属的分析结果的记录的编号。例如,所述步骤S309及步骤S310中的分析结果不从属于其他任一个分析结果。因此,表示所述分析结果的记录的“根源”字段为空栏(例如,图12的第一个记录、第三个记录、第五个记录、第七个记录、第八个记录)。另一方面,例如所述步骤S407或步骤S408中的分析结果从属于步骤S310(在通过步骤S410来重复子程序的处理的情况下,为前一个子程序的步骤S408)中的分析结果。因此,在表示所述分析结果的记录的“根源”字段中,保存表示从属对象的分析结果的记录的编号(例如,图12的第二个记录、第四个记录、第六个记录)。

在“设备”字段中,保存为了提取依存关系的模式而关注的设备变量(关注设备变量)的名称。在“关注”字段中,保存探索依存性的路径时设为起点的变量的名称。例如,在表示所述步骤S309及步骤S310中的分析结果的记录的“关注”字段中,保存关注设备变量的名称。另一方面,例如在表示所述步骤S407或步骤S408中的分析结果的记录的“关注”字段中,保存关注变量的名称。

在“变量”字段中,保存与由“关注”字段表示的变量具有依存关系的变量的名称。通过步骤S309、步骤S310、步骤S407、及步骤S408所提取的依存性的路径中所包含的其他变量的信息被保存在所述“变量”字段中。在“方向”字段中,保存表示由“关注”字段表示的变量与由“变量”字段表示的变量之间的依存关系的方向的信息。依存关系的方向对应于探索依存性的路径的方向来确定。在“程序”字段中,保存表示赋予由对象的记录表示的分析结果的程序部分在控制程序221内的位置的信息。

在“实例”字段中,保存与由“关注”字段表示的变量具有依存关系的函数的实例的名称。在通过步骤S305及步骤S403所挑选的分析对象的变量为标准函数或用户定义函数的实例的参数的情况下,所述标准函数或用户定义函数的实例的名称被保存在“实例”字段中。在“函数”字段中,保存由“实例”字段表示的实例的函数的名称。在“参数”字段中,保存与由“关注”字段表示的变量具有依存关系的函数的参数的名称。在“IO”字段中,保存表示由“参数”字段表示的参数的类别(是输入参数还是输出参数)的信息。另外,在分析对象的变量为设备变量的情况下,提取对于所述设备变量的依存关系的模式,而非对于函数的实例的参数的依存关系。因此,所获得的记录的“实例”、“函数”、“参数”及“IO”字段为空栏。

在所述图9的例子中,设想将设备变量“D1”作为关注设备变量来执行步骤S303的处理。在此情况下,图12中所例示的第一个记录(“NO”为“1”的记录)表示通过从“A1:=D1”朝“Arg1:=A1”探索依存性的路径的结果所提取的依存关系的模式。即,所述第一个记录表示将变量“Arg1”挑选为分析对象的变量后,通过执行步骤S310的处理所获得的分析结果。

所述变量“Arg1”是用户定义函数(My_FB)的实例的输入参数的一例。因此,将变量“Arg1”指定为新的关注变量,执行步骤S312的处理。第二个记录(“NO”为“2”的记录)表示在获得第一个记录后,通过执行步骤S312的处理所获得的分析结果,即,参照“Input1:=Arg1”的结果,通过步骤S407所提取的依存关系的模式。因此,在第二个记录的“根源”字段中,保存有第一个记录的编号。另外,详细而言,所述第二个记录表示关注变量“Arg1”对于标准函数(Std_FB1)的实例的输入参数“Input1”具有依存关系。

[步骤S103及步骤S104]

回到图5A及图5B,在步骤S103中,控制部11作为定义判定部113来运行,参照对标准函数中的输入参数与输出参数之间的依存关系进行定义的函数结构信息121。并且,控制部11判定在函数结构信息121中未进行依存关系的定义的一个以上的未定义的标准函数的实例是否包含在控制程序221中。另外,在执行步骤S103之前,控制部11获取函数结构信息121。在本实施方式中,函数结构信息121被保持在存储部12中。因此,控制部11从存储部12获取函数结构信息121。但是,函数结构信息121的获取对象也可以不限定于此种例子,可对应于实施方式来适宜选择。

判定未定义的标准函数的实例是否包含在控制程序221中的方法可对应于实施方式来适宜决定。例如,控制部11核对通过步骤S204所提取的函数中的标准函数41是否由函数结构信息121进行了定义。当在函数结构信息121中无定义的标准函数包含在通过步骤S204所提取的标准函数41中时,控制部11判定一个以上的未定义的标准函数的实例包含在控制程序221中。另一方面,当在函数结构信息121中存在通过步骤S204所提取的所有标准函数41的定义时,控制部11判定未定义的标准函数的实例未包含在控制程序221中。

在步骤S104中,控制部11基于步骤S103的判定结果,决定处理的分支对象。在步骤S103中,当判定一个以上的未定义的标准函数的实例包含在控制程序221中时,控制部11使处理进入接下来的步骤S105。另一方面,在步骤S103中,当判定未定义的标准函数的实例未包含在控制程序221中时,控制部11省略步骤S105的处理,使处理进入接下来的步骤S106。

[步骤S105]

在步骤S105中,控制部11作为定义受理部114来运行,受理对未定义的标准函数中的输入参数与输出参数之间的依存关系进行定义的追加的函数结构信息123的输入。受理追加的函数结构信息123的输入的方法可对应于实施方式来适宜决定。例如,控制部11也可以经由输入装置14而受理关于未定义的标准函数的定义的输入。而且,例如控制部11也可以接收记述有关于未定义的标准函数的定义的数据。由此,若追加的函数结构信息123被输入,则控制部11使处理进入接下来的步骤S106。

[步骤S106及步骤S107]

在步骤S106中,控制部11作为定义赋予部115来运行,基于函数结构信息121,确定控制程序221中所包含的一个以上的标准函数41的实例中的输入参数43与输出参数44之间的依存关系。在已执行所述步骤S105的情况下,控制部11基于函数结构信息121及追加的函数结构信息123,确定控制程序221中所包含的一个以上的标准函数41的实例中的输入参数43与输出参数44之间的依存关系。即,控制部11基于所输入的追加的函数结构信息123,确定一个以上的标准函数41中的一个以上的未定义的标准函数的实例中的输入参数与输出参数之间的依存关系。

在步骤S107中,控制部11作为关系确定部116来运行,在经提取的依存关系的模式中,认定对于某个函数的实例的输入参数具有依存关系的一个设备变量与另一个设备变量之间具有依存关系,所述另一个设备变量对于与所述输入参数之间具有依存关系的同一个函数的实例的输出参数具有依存关系。由此,控制部11确定各设备变量31间的依存关系。

<确定处理>

此处,使用图13A及图13B对步骤S106及步骤S107的处理的一例进行详细说明。图13A及图13B例示利用本实施方式的分析装置1的用于确定各设备变量31间的依存关系的处理程序的一例。本实施方式的步骤S106及步骤S107的处理包含以下的步骤S501~步骤S512的处理。但是,以下所说明的处理程序只不过是一例,各处理可尽可能地变更。另外,关于以下所说明的处理程序,可对应于实施方式来适宜进行步骤的省略、替换、及追加。

(步骤S501~步骤S503)

在步骤S501中,控制部11将在控制程序221内得到利用的设备变量31列成表。步骤S501可与所述步骤S301同样地进行处理。在步骤S502中,控制部11从设备变量的列表中挑选成为分析依存关系的对象的设备变量(以下,也记载为“分析对象的设备变量”)。在步骤S503中,控制部11参照提取结果(提取结果数据224),将与分析对象的设备变量相关的始端的记录列成表。

始端的记录表示探索依存性的路径的结果,最先被提取的依存关系的模式。即,始端的记录不从属于其他记录,所述始端的记录的“根源”字段为空栏。控制部11可参照“根源”字段及“设备”字段,由此将与分析对象的设备变量相关的始端的记录列成表。

在所述图12的例子中,例如当将设备变量“D1”挑选为分析对象的设备变量时,控制部11将第一个记录挑选为与设备变量“D1”相关的始端的记录。另一方面,例如当将设备变量“D3”挑选为分析对象的设备变量时,控制部11将第五个记录及第七个记录挑选为与设备变量“D3”相关的始端的记录。

若完成与分析对象的设备变量相关的始端的记录的列成表,则控制部11使处理进入接下来的步骤S504。

(步骤S504及步骤S505)

在步骤S504中,控制部11从始端的记录的列表(已列成表的始端的记录)中挑选作为分析处理的对象的始端的记录。在步骤S505中,控制部11从始端的记录中探索提取结果的各记录,并提取终端的记录。

终端的记录表示探索依存性的路径的结果,最终被提取的依存关系的模式。即,在终端的记录中不存在从属于其的其他记录。控制部11可参照“根源”字段及“设备”字段,从始端的记录中探索提取结果的各记录,由此提取终端的记录。当针对一个始端的记录存在多个终端的记录时,控制部11提取所有终端的记录。

在所述图12的例子中,例如当将第五个记录挑选为处理对象的始端的记录时,控制部11将第六个记录作为与第五个记录对应的终端的记录来提取。而且,例如当将第七个记录挑选为处理对象的始端的记录时,由于不存在从属于所述第七个记录的记录,因此控制部11直接将第七个记录作为终端的记录来提取。

若完成与经挑选的始端的记录对应的终端的记录的提取,则控制部11使处理进入接下来的步骤S506。

(步骤S506)

在所述提取处理中,当分析对象的变量为用户定义函数的实例的参数时,继续探索依存性的路径的处理。另一方面,当分析对象的变量为标准函数的实例的参数或另一个设备变量时,结束探索依存性的路径的处理。因此,终端的记录表示对于标准函数的实例的参数或另一个设备变量的依存关系。

因此,在步骤S506中,控制部11判定经提取的终端的记录是与标准函数的实例的参数相关,还是与另一个设备变量相关。所述判定方法可对应于实施方式来适宜决定。在本实施方式中,当经提取的终端的记录与标准函数的实例的参数相关时,在所述终端的记录的“参数”字段中保存有所述参数的名称。另一方面,当经提取的终端的记录与另一个设备变量相关时,所述终端的记录的“参数”字段为空栏。因此,控制部11也可以通过参照“参数”字段的值来判定经提取的终端的记录是与标准函数的实例的参数相关,还是与另一个设备变量相关。

在判定经提取的终端的记录与标准函数的实例的参数相关的情况下,控制部11使处理进入步骤S508。另一方面,在判定经提取的终端的记录与另一个设备变量相关的情况下,控制部11使处理进入接下来的步骤S507。

(步骤S507)

在步骤S507中,控制部11认定由终端的记录表示的另一个设备变量与分析对象的设备变量之间具有依存关系,并保存认定结果及参照记录的信息(不图示)。控制部11可从终端的记录的“变量”字段获取另一个设备变量的名称。认定结果及参照记录的信息的数据形式可对应于实施方式来适宜决定。若完成认定结果及参照记录的信息的保存,则控制部11使处理进入接下来的步骤S510。

(步骤S508及步骤S509)

在步骤S508中,控制部11参照函数结构信息121,提取关于由终端的记录表示的标准函数的参数的依存关系的定义。在通过步骤S105而受理了追加的函数结构信息123的输入的情况下,控制部11参照函数结构信息121及追加的函数结构信息123,提取关于由终端的记录表示的标准函数的参数的依存关系的定义。在步骤S509中,控制部11参照经提取的定义,由此确定关于对象的参数的依存关系,并保存确定依存关系的结果及记录的探索结果的信息。

此处,进而使用图14A及图14B对确定关于由终端的记录表示的标准函数的参数的依存关系的过程的一例进行说明。图14A示意性地例示本实施方式的函数结构信息121(及追加的函数结构信息123)的一例。图14B例示通过步骤S509的处理的结果所获得的中间数据226的一例。

在图14A的例子中,函数结构信息121具有表结构,各记录(行数据)具有“ID”、“FB”、“RAR_X”、及“RAR_Y”的字段。在“ID”字段中,保存用于识别依存关系的识别符。在“FB”字段中,保存依存关系被定义的标准函数的名称。在“RAR_X”字段中,保存依存关系被定义的输入参数的名称。在“RAR_Y”字段中,保存与由“RAR_X”字段表示的输入参数之间具有依存关系的输出参数的名称。一个记录对应于标准函数中的输入参数与输出参数之间的一个依存关系。但是,函数结构信息121的数据结构也可以不限定于此种例子,可对应于实施方式来适宜决定。追加的函数结构信息123也与函数结构信息121同样地构成。

在本实施方式中,在步骤S508中,控制部11将终端的记录的“函数”字段的值与函数结构信息121的各记录的“FB”字段的值进行对照。而且,控制部11将终端的记录的“参数”字段的值与函数结构信息121的各记录的“PAR_X”字段或“PAR_Y”字段的值进行对照。在终端的记录的“IO”字段的值表示输入参数的情况下,控制部11将终端的记录的“参数”字段的值与函数结构信息121的各记录的“PAR_X”进行对照。另一方面,在终端的记录的“IO”字段的值表示输出参数的情况下,控制部11将终端的记录的“参数”字段的值与函数结构信息121的各记录的“PAR_Y”进行对照。由此,控制部11检索函数结构信息121的各记录,提取对关于由终端的记录表示的标准函数的参数的依存关系进行定义的记录。在通过步骤S105而受理了追加的函数结构信息123的输入的情况下,控制部11也进一步执行追加的函数结构信息123的检索。另外,关于对于追加的函数结构信息123的处理,与函数结构信息121相同,因此以下省略说明。

在步骤S509中,控制部11参照从函数结构信息121中提取的记录,由此确定与对象的参数具有依存关系的另一个参数,并将确定依存关系的结果及记录的探索路径的信息保存在中间数据226的各记录中。

在图14B的例子中,中间数据226具有表结构,各记录(行数据)具有“设备”、“实例”、“DEP”、“ID”及“踪迹”的字段。一个记录对应于确定依存关系的一个结果,即通过函数结构信息121来赋予了定义的一个结果。但是,中间数据226的结构也可以不限定于此种例子,可对应于实施方式来适宜决定。

在“设备”字段中,保存分析对象的设备变量的名称。在“实例”字段中,保存通过从函数结构信息121中提取的记录来确定依存关系的标准函数的实例的名称。所述标准函数的实例的名称从通过步骤S505所提取的终端的记录的“实例”字段获得。

在“DEP”字段中,保存通过函数结构信息121来赋予了定义的参数的类别,所述参数是与分析对象的设备变量具有依存关系的标准函数的实例中的参数。在所述检索中,当将终端的记录的“参数”字段的值与函数结构信息121的各记录的“PAR_X”进行了对照时,在“DEP”字段中保存表示输入参数的信息(图中,“PAR_X”)。另一方面,当将终端的记录的“参数”字段的值与函数结构信息121的各记录的“PAR_Y”进行了对照时,在“DEP”字段中保存表示输出参数的信息(图中,“PAR_Y”)。

在“ID”字段中,保存通过步骤S508所提取的记录的识别符(“ID”字段的值)。在“踪迹”字段中,保存表示通过步骤S505而从始端的记录探索至终端的记录为止的路径的信息。

在所述图12的例子中,当分析对象的设备变量为“D1”时,在步骤S503中,将第一个记录作为始端的记录来提取。在步骤S505中,将第二个记录作为终端的记录来提取。对应于此,在步骤S508中,提取由图14A所例示的函数结构信息121的第二个记录(“ID”为“2”的记录)。其结果,在步骤S509中,作为确定依存关系的结果及记录的探索路径的信息,可获得图14B的第一个记录(“设备”为“D1”的记录)。

而且,例如当分析对象的设备变量为“D2”时,在步骤S503中,将第三个记录作为始端的记录来提取。在步骤S505中,将第四个记录作为终端的记录来提取。对应于此,在步骤S508中,提取由图14A所例示的函数结构信息121的第一个~第三个的各记录(“ID”为“1”~“3”的各记录)。其结果,在步骤S509中,作为确定依存关系的结果及记录的探索路径的信息,可获得图14B的第二个记录~第四个记录(“设备”为“D2”的各记录)。

若确定与对象的参数相关的依存关系,并完成确定依存关系的结果及记录的探索结果的信息的保存,则控制部11使处理进入接下来的步骤S510。

(步骤S510)

在步骤S510中,控制部11判定是否对通过步骤S503而列成表的所有始端的记录结束了步骤S504以下的处理。当在列表中残存未执行步骤S504以下的处理的始端的记录时,控制部11判定尚未对列成表的所有始端的记录结束步骤S504以下的处理。在此情况下,控制部11使处理回到步骤S504,将残存在列表中的其他始端的记录挑选为处理对象的始端的记录,重复步骤S505以下的处理。另一方面,在并非如此的情况下,控制部11判定对列成表的所有始端的记录结束了处理,使处理进入接下来的步骤S511。

(步骤S511)

在步骤S511中,控制部11判定是否对通过步骤S501而列成表的所有设备变量结束了步骤S502以下的处理。当在列表中残存未执行步骤S502以下的处理的设备变量时,控制部11判定尚未对列成表的所有设备变量结束步骤S502以下的处理。在此情况下,控制部11使处理回到步骤S502,将残存在列表中的其他设备变量挑选为分析对象的设备变量,重复步骤S503以下的处理。另一方面,在并非如此的情况下,控制部11判定对列成表的所有设备变量结束了处理,使处理进入接下来的步骤S512。

(步骤S512)

在步骤S512中,控制部11基于步骤S507的依存关系的认定结果、及步骤S509的与参数相关的依存关系的确定结果,确定所有设备变量间的依存关系。

图15例示表示通过本实施方式的分析装置1来确定设备变量间的依存关系的结果的确定结果数据227的一例。在图15的例子中,确定结果数据227通过邻接行列来表达,与相互具有依存关系的设备变量的组对应的符合要素(成分)为“1”,不符合的要素(成分)为“0”。列表示依存源,行表示依存方。但是,确定结果数据227的结构也可以不限定于此种例子,可对应于实施方式来适宜决定。

步骤S507的认定结果表示对应于始端的记录的设备变量与对应于终端的记录的另一个设备变量具有依存关系。因此,控制部11直接利用步骤S507的认定结果,确定各设备变量间的依存关系。具体而言,控制部11将与通过步骤S507而认定相互具有依存关系的设备变量的组对应的符合要素设为“1”。

另一方面,步骤S509的确定结果表示各设备变量对于标准函数的实例的参数的依存关系、及标准函数中的输入/输出间的依存关系。因此,控制部11参照中间数据226,认定对于在控制程序221内得到利用的标准函数中的任一个标准函数的输入参数具有依存关系的一个设备变量与另一个设备变量之间具有依存关系,所述另一个设备变量对于与所述输入参数之间具有依存关系的所述任一个标准函数的输出参数具有依存关系。

具体而言,控制部11从中间数据226中提取“实例”及“ID”字段的值一致的记录的组合。设想经提取的组合中的一个记录的“DEP”字段的值为“PAR_X”,另一个记录的“DEP”字段的值为“PAR_Y”。在此情况下,控制部11认定从由一个记录的“设备”字段表示的设备变量至由另一个记录的“设备”字段表示的设备变量存在依存关系。并且,控制部11将与被认定相互具有依存关系的设备变量的组对应的符合要素设为“1”。

在图14B的例子中,通过第一个记录及第三个记录而可认定从设备变量“D1”至设备变量“D2”存在依存关系。同样地,通过第二个记录及第五个记录而可认定从设备变量“D3”至设备变量“D2”存在依存关系。通过第六个记录及第八个记录而可认定从设备变量“D3”至设备变量“D4”存在依存关系。因此,在由图15所例示的确定结果数据227中,符合各组的第一行第二列的元素、第三行第二列的元素、及第三行第四列的元素为“1”,其他元素为“0”。

若如所述那样确定所有设备变量间的依存关系,并完成确定结果数据227的生成,则控制部11结束用于确定各设备变量31间的依存关系的处理。由此,若完成步骤S106及步骤S107的一连串的处理,则控制部11使处理进入接下来的步骤S108。另外,步骤S101~步骤S107是获取依存关系信息的步骤的一例。

[步骤S108及步骤S109]

在步骤S108中,控制部11作为图表生成部117来运行,基于包含确定依存关系的结果的依存关系信息,生成表示经确定的各设备变量31间的依存关系的有向图表。在步骤S109中,控制部11作为输出部118来运行,将所生成的有向图表作为与确定各设备变量31间的依存关系的结果相关的信息而输出至显示装置15。在本实施方式中,控制部11生成以下的第一模式~第十模式任一者的有向图表,并将所生成的有向图表输出至显示装置15。用于各模式的有向图表的生成的信息是依存关系信息的一例。

(1)第一模式

使用图16对第一模式的有向图表的一例进行说明。图16示意性地例示通过本实施方式的分析装置1所生成的第一模式的有向图表51的一例。第一模式是表示各设备变量间的依存关系的最简单的模式。第一模式的有向图表51包含分别表达各设备变量31的多个节点61、及表达具有依存关系的一个以上的边62。有向图表51是第一有向图表的一例。节点61是第一节点的一例。

控制部11在步骤S108中,基于确定依存关系的结果,生成所述有向图表51。具体而言,控制部11参照确定结果数据227,生成第一模式的有向图表51。在所述图15的例子中,确定结果数据227针对四个设备变量D1~D4,表示从D1至D2、从D3至D2、及从D3至D4具有依存关系。因此,在图16的例子中,有向图表51包含与四个设备变量D1~D4分别对应的四个节点61。边62从“D1”的节点61延长至“D2”的节点61。边62从“D3”的节点61延长至“D2”的节点61。边62从“D3”的节点61延长至“D4”的节点61。

控制部11在步骤S109中,将如所述那样生成的有向图表51输出至显示装置15。根据所述有向图表51,可经由各设备变量31的表达,简单地表示构成生产线27的各设备28间的依存关系。因此,可一边抑制显示装置15的显示区域的消耗量,一边对用户准确地表示各设备28间的依存关系。

(2)第二模式

接下来,使用图17A对第二模式的有向图表的一例进行说明。图17A示意性地例示通过本实施方式的分析装置1所生成的第二模式的有向图表52的一例。第二模式是进而表示函数的模式。

在所述第二模式中,有向图表52以除所述多个节点61、所述一个以上的边62以外,进而包含表达函数的实例的一个以上的块(63、64)的方式生成。各块(63、64)经由边62而与表达对于被表达的函数的实例中的输入参数或输出参数具有依存关系的设备变量的节点61连结。与所述第一模式的有向图表51同样地,所述第二模式的有向图表52也是第一有向图表的一例。

控制部11在步骤S108中,基于确定依存关系的结果,生成所述有向图表52。具体而言,控制部11从确定结果数据227回溯来参照中间数据226及提取结果数据224。例如,从中间数据226的第一个记录及第三个记录导出设备变量“D1”与设备变量“D2”的依存关系。而且,从提取结果数据224的第一个记录~第四个记录导出中间数据226的第一个记录及第三个记录。表示中间数据226与提取结果数据224的对应关系的信息被保存在中间数据226的“踪迹”字段中。控制部11从确定结果数据227回溯来参照中间数据226,并基于符合记录的“踪迹”字段的值,从中间数据226回溯来参照提取结果数据224。

控制部11可从提取结果数据224的符合记录,确定用户定义函数的实例“Inst_MyFB”介于设备变量“D1”与设备变量“D2”之间。同样地,控制部11可从提取结果数据224的符合记录,确定用户定义函数的实例“Inst_MyFB”介于设备变量“D3”与设备变量“D2”之间,标准函数的实例“Inst_StdFB2”介于设备变量“D3”与设备变量“D4”之间。控制部11基于这些参照结果,生成第二模式的有向图表52。

控制部11在步骤S109中,将如所述那样生成的有向图表52输出至显示装置15。根据所述有向图表52,可将控制程序221中的各设备变量31间的依存关系、与各设备变量31对于函数的各参数的依存关系建立关联来表示。因此,可将各设备变量31对于函数的各参数的依存关系与各设备变量31间的依存关系建立关联来掌握。

另外,在所述例子中,在用户定义函数“My_FB”的内部利用标准函数“Std_FB1”。控制部11可从提取结果数据224的符合记录,确定所述各函数的关系。例如,提取结果数据224的第二个记录如“根源”字段的值所示,从属于第一个记录。第一个记录表示设备变量“D1”对于用户定义函数“My_FB”的实例“Inst_MyFB”的输入参数“Arg1”具有依存关系。第二个记录表示“Arg1”对于标准函数“Std_FB1”的实例“Inst_StdFB1”的输入参数“Input1”具有依存关系。控制部11可从提取结果数据224的符合记录,确定所述各函数的嵌套关系。在所述第二模式中,控制部11以表示在最外部得到利用的函数的方式生成有向图表52。因此,在图17A的例子中,控制部11选择用户定义函数的实例“Inst_MyFB”,生成包含与经选择的实例“Inst_MyFB”对应的块64的有向图表52。

此处,在所述例子中,控制程序221除标准函数的实例“Inst_StdFB2”以外,包含用户定义函数的实例“Inst_MyFB”。如此,控制程序221中的多个命令也可以包含多个函数的实例,多个函数的实例除一个以上的标准函数的实例以外,也可以包含与标准函数不同的一个以上的用户定义函数的实例。用户定义函数在控制程序221内由用户来定义。在此情况下,有向图表也能够以如下方式生成:利用第一形态来表示分别表达各函数的多个块之中,表达多个函数的实例中的标准函数的实例的第一块,利用与第一形态不同的第二形态来表示表达用户定义函数的实例的第二块。

在图17A的例子中,表达标准函数的实例“Inst_StdFB2”的块63是第一块的一例,表达用户定义函数的实例“Inst_MyFB”的块64是第二块的一例。而且,在图17A的例子中,表达块63的实线是第一形态的一例,表达块64的虚线是第二形态的一例。另外,利用不同的形态来表达各块(63、64)的方法也可以不限定于此种依据线的种类的方法,可对应于实施方式来适宜选择。例如,除图17A中所例示的线的种类以外,可通过颜色、形状、文字的字体等属性来规定各块(63、64)的形态。而且,也可以对与各块(63、64)对应的符号进行定义,将经定义的各符号用于各块(63、64)的表示。

如此,有向图表52也能够以利用不同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64的方式生成。但是,表达函数的各块(63、64)的方法也可以不限定于此种例子。也可以利用相同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64。

(3)第三模式

接下来,使用图17B对第三模式的有向图表的一例进行说明。图17B示意性地例示通过本实施方式的分析装置1所生成的第三模式的有向图表53的一例。第三模式是将函数的各参数加以区分来表示的模式。

在所述第二模式中,有向图表52具有如下的显示形态:不表示被表达的函数的实例中的输入参数及输出参数各自的名称,将表达具有依存关系的设备变量31的节点61经由边62而与块(63、64)连结。相对于此,在第三模式中,有向图表53以具有如下的显示形态的方式生成,所述显示形态将被表达的函数的实例中的输入参数及输出参数各者加以区分,块(63、64)经由边62而与表达具有依存关系的设备变量31的节点61连结,且在边62附近表示对应的输入参数或输出参数的名称。与所述第一模式的有向图表51同样地,所述第三模式的有向图表53也是第一有向图表的一例。

控制部11在步骤S108中,基于确定依存关系的结果,生成所述有向图表53。具体而言,与所述第二模式同样地,控制部11从确定结果数据227回溯来参照中间数据226及提取结果数据224。控制部11基于提取结果数据224的符合记录,确定对于函数的各参数具有依存关系的各设备变量31。控制部11可从提取结果数据224的各记录的“参数”字段获得各参数的名称。在所述第三模式中,控制部11将从“参数”字段确定的各参数的名称的表述配置在各块的对应的部位。

在所述例子中,设备变量“D1”对于用户定义函数的实例“Inst_MyFB”中的输入参数“Arg1”具有依存关系,设备变量“D3”对于输入参数“Enable”具有依存关系。控制部11将从表达设备变量“D1”的节点61延长的边62、及从表达设备变量“D3”的节点61延长的边62加以区分,而与用户定义函数的实例“Inst_MyFB”的块64连接。并且,控制部11将各输入参数的名称的表述641配置在各边62附近。

控制部11利用相同的处理,在将设备变量“D2”与块64连结的边62附近,配置与设备变量“D2”具有依存关系的输出参数的名称的表述642。控制部11在将设备变量“D3”与块63连结的边62附近,配置与设备变量“D3”具有依存关系的输入参数的名称的表述631。控制部11在将设备变量“D4”与块63连结的边62附近,配置与设备变量“D4”具有依存关系的输出参数的名称的表述632。由此,控制部11可生成第三模式的有向图表53。

控制部11在步骤S109中,将如所述那样生成的有向图表53输出至显示装置15。根据所述有向图表53,可识别各设备变量31具有依存关系函数的参数。因此,可将各设备变量31对于函数的各参数的依存关系与各设备变量31间的依存关系建立关联、且更明确地表示。

另外,在所述第三模式中,也与所述第二模式同样地,有向图表53也能够以利用不同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64的方式生成。在图17B的例子中,利用与所述图17A相同的形态来表示各块(63、64)。但是,第三模式中的表达函数的各块(63、64)的方法也可以不限定于此种例子。在所述第三模式中,也与所述第二模式同样地,也可以利用相同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64。

(4)第四模式

接下来,使用图17C对第四模式的有向图表的一例进行说明。图17C示意性地例示通过本实施方式的分析装置1所生成的第四模式的有向图表54的一例。第四模式是表示与设备变量不同的其他变量的模式,所述其他变量在函数的外部得到利用。

在所述例子中,控制程序221包含与各设备变量31不同的其他变量“A1”,所述其他变量“A1”在设备变量“D1”与函数的实例中的输入参数“Arg1”之间得到利用。如此,控制程序221中的多个变量也可以包含与各设备变量31不同的一个以上的其他变量,所述一个以上的其他变量在多个设备变量31中的任一者与任一个函数的输入参数或输出参数之间得到利用。在此情况下,第四模式的有向图表54以包含表达一个以上的其他变量的一个以上的节点65的方式生成,所述一个以上的节点65配置在表达多个设备变量31中的任一者的节点61及表达函数的块(63、64)之间,经由边62而与所述节点61及块(63、64)连结。与所述第一模式的有向图表51同样地,所述第四模式的有向图表54也是第一有向图表的一例。节点65是本发明的“第二节点”的一例。

控制部11在步骤S108中,基于确定依存关系的结果,生成所述有向图表53。具体而言,与所述第二模式及第三模式同样地,控制部11从确定结果数据227回溯来参照中间数据226及提取结果数据224。控制部11可从提取结果数据224的各记录的“变量”字段,确定在设备变量与函数的各参数之间得到利用的其他变量。在所述第四模式中,控制部11将表达从“变量”字段确定的其他变量的节点65配置在对应的部位。

在所述例子中,控制部11可从提取结果数据224的第一个记录,确定其他变量“A1”介于设备变量“D1”与用户定义函数的实例“Inst_MyFB”的输入参数“Arg1”之间。控制部11基于所述参照结果,将表达其他变量“A1”的节点65配置在表达设备变量“D1”的节点61与表达用户定义函数的实例“Inst_MyFB”的块64之间。并且,控制部11利用边62来将节点65与节点61及块64连结。另外,控制部11基于提取结果数据224的各记录的“方向”字段的值,决定与节点65连结的各边62的方向。由此,控制部11可生成第四模式的有向图表54。

控制部11在步骤S109中,将如所述那样生成的有向图表54输出至显示装置15。根据所述有向图表54,不仅可表达各设备变量31,也可以表达在控制程序221中得到利用的其他变量。因此,当其他变量介于各设备变量31间时,可将关于所述其他变量的依存关系与各设备变量31间的依存关系建立关联来表示。

此处,使用图17D对第四模式的有向图表的不同的显示形态的一例进行说明。图17D示意性地例示通过本实施方式的分析装置1,以与图17C不同的显示形态所生成的第四模式的有向图表541的一例。在图17C的例子中,有向图表54与所述第三模式同样地,以通过各表述(631、632、641、642)来表示函数的实例中的输入参数及输出参数各自的名称的显示形态来生成。相对于此,图17D中所例示的有向图表541与所述第二模式同样地,以不表示函数的实例中的输入参数及输出参数各自的名称的表达形态来生成。除此点以外,有向图表541与所述有向图表54同样地生成。如此,第四模式的有向图表的显示形态也可以不限定于所述第三模式的显示形态,可对应于实施方式来适宜选择。

而且,在所述第四模式中,也与所述第二模式及第三模式同样地,各有向图表(54、541)也能够以利用不同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64的方式生成。在图17C及图17D的例子中,利用与所述图17A相同的形态来表示各块(63、64)。但是,第四模式中的表达函数的各块(63、64)的方法也可以不限定于此种例子。在所述第四模式中,也与所述第二模式及第三模式同样地,也可以利用相同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64。

(5)第五模式

接下来,使用图18A对第五模式的有向图表的一例进行说明。图18A示意性地例示通过本实施方式的分析装置1所生成的第五模式的有向图表55的一例。第五模式是表示函数的内部结构的模式。

在所述第五模式中,有向图表55以如下方式生成:除所述多个节点61、所述一个以上的边62、及块(63、64)以外,进而包含配置在块(63、64)内,分别表达被表达的函数的实例中的输入参数及输出参数各者的多个节点(634、635、644、645)。各节点(634、635、644、645)经由边62而与表达对于被表达的输入参数及输出参数各者具有依存关系的设备变量31的节点61连结。而且,在被表达的函数中表达相互具有依存关系的输入参数及输出参数各者的节点(634、635)(644、645)彼此经由边62而连结。与所述第一模式的有向图表51同样地,所述第五模式的有向图表55也是第一有向图表的一例。各节点(634、635、644、645)是表达函数的各参数的节点的一例。

控制部11在步骤S108中,基于确定依存关系的结果,生成所述有向图表55。具体而言,与所述第二模式~第四模式同样地,控制部11从确定结果数据227回溯来参照中间数据226及提取结果数据224。控制部11与所述第三模式同样地,基于提取结果数据224的符合记录,确定对于函数的各参数具有依存关系的各设备变量31。控制部11基于所述确定结果,决定通过边62来连结的各节点61与各节点(634、635、644、645)的组合。

而且,控制部11在表达标准函数的实例的块63内,配置表达输入参数的节点634及表达输出参数的节点635。并且,控制部11参照函数结构信息121(及追加的函数结构信息123),由此确定标准函数的实例中的输入参数与输出参数之间的依存关系。在所述例子中,例如控制部11参照函数结构信息121的第四个记录~第六个记录,由此可确定标准函数的实例“Inst_StdFB2”中的输入参数与输出参数的依存关系。控制部11基于所述确定结果,决定通过边62来连结的节点634及节点635的组合。

进而,控制部11在表达用户定义函数的实例的块64内,配置表达输入参数的节点644及表达输出参数的节点645。用户定义函数的实例中的输入参数与输出参数之间的依存关系可适宜确定。例如,控制部11也可以基于提取结果数据224的符合记录,确定用户定义函数的实例中的输入参数与输出参数之间的依存关系。而且,例如控制部11也可以将用户定义函数的实例中的各参数与所述设备变量31同样地处理,执行所述步骤S102~步骤S107的处理,由此确定用户定义函数的实例中的输入参数与输出参数之间的依存关系。控制部11基于所述确定结果,决定通过边62来连结的节点644及节点645的组合。由此,控制部11可生成第五模式的有向图表55。

控制部11在步骤S109中,将如所述那样生成的有向图表55输出至显示装置15。根据所述有向图表55,通过包含表达各参数的各节点(634、635、644、645)的图表表达,可表示控制程序221中的各设备变量31间的经由函数的依存关系。因此,可适当地掌握各设备变量31间的经由函数的依存关系。

另外,在所述第五模式中,也与所述第二模式~第四模式同样地,有向图表55也能够以利用不同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64的方式生成。在图18A的例子中,利用与所述图17A相同的形态来表示各块(63、64)。但是,第五模式中的表达函数的各块(63、64)的方法也可以不限定于此种例子。在所述第五模式中,也与所述第二模式~第四模式同样地,也可以利用相同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64。

(6)第六模式

接下来,使用图18B对第六模式的有向图表的一例进行说明。图18B示意性地例示通过本实施方式的分析装置1所生成的第六模式的有向图表56的一例。第六模式是表示在用户定义函数的内部得到利用的变量的模式。

在所述例子中,控制程序221包含与各设备变量31不同的局部变量“Exe”。所述局部变量“Exe”在用户定义函数“My_FB”的内部,在相互具有依存关系的输入参数“Enable”及输出参数“Out1”之间得到利用。如此,控制程序221中的多个变量也可以包含与各设备变量31不同的一个以上的局部变量,所述一个以上的局部变量在用户定义函数的内部,在相互具有依存关系的输入参数及输出参数之间得到利用。在此情况下,第六模式的有向图表56以除所述第五模式以外,进而包含表达一个以上的局部变量的一个以上的节点67的方式生成,所述一个以上的节点67在表达用户定义函数的实例的块64内,配置在表达相互具有依存关系的输入参数及输出参数各者的节点(644、645)间,且经由边62而与各节点(644、645)连结。与所述第一模式的有向图表51同样地,所述第六模式的有向图表56也是第一有向图表的一例。节点67是表达局部变量的节点的一例。

可在确定各设备变量31对于函数的各参数的依存关系的过程中,确定在各设备变量31与函数的各参数之间得到利用的其他变量的存在。在提取结果数据224的各记录的“变量”字段中保存有表示其结果的信息,在所述第四模式中,控制部11利用所述信息,决定表达其他变量的节点65的配置及边62的连结。与其同样地,可在确定用户定义函数的实例中的输入参数与输出参数之间的依存关系的过程中,确定在输入参数与输出参数之间得到利用的局部变量的存在。

例如,控制部11在步骤S108中,也可以利用与所述第五模式相同的方法,确定用户定义函数的实例中的输入参数与输出参数之间的依存关系。在此过程中,控制部11确定局部变量得到利用的地方。控制部11利用其确定结果,将表达局部变量的节点67配置在块64内,通过边62来将表达与所述局部变量具有依存关系的各参数的各节点(644、645)与节点67连结。由此,控制部11可生成第六模式的有向图表56。

控制部11在步骤S109中,将如所述那样生成的有向图表56输出至显示装置15。根据所述有向图表56,可表达在用户定义函数内得到利用的局部变量。因此,可将控制程序221中的设备变量31间的经由用户定义函数的依存关系与所述用户定义函数的内部结构建立关联来表示。

另外,在所述第六模式中,也与所述第二模式~第五模式同样地,有向图表56也能够以利用不同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64的方式生成。在图18B的例子中,利用与所述图17A相同的形态来表示各块(63、64)。但是,第六模式中的表达函数的各块(63、64)的方法也可以不限定于此种例子。在所述第六模式中,也与所述第二模式~第五模式同样地,也可以利用相同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块64。

(7)第七模式

接下来,使用图18C对第七模式的有向图表的一例进行说明。图18C示意性地例示通过本实施方式的分析装置1所生成的第七模式的有向图表57的一例。第七模式是表示在用户定义函数的内部得到利用的标准函数的模式。

在所述例子中,控制程序221包含在用户定义函数“My_FB”的内部,在相互具有依存关系的输入参数“Arg1”“Exe”及输出参数“Out1”之间得到利用的标准函数“STD_FB1”。如此,控制程序221中的多个函数的实例也可以包含在用户定义函数的内部,在相互具有依存关系的输入参数及输出参数之间得到利用的一个以上的标准函数的实例。在此情况下,第七模式的有向图表57以如下方式生成:表达在用户定义函数的实例的内部得到利用的标准函数的实例的块66在表达用户定义函数的实例的块64内,配置在表达相互具有依存关系的输入参数及输出参数各者的节点(644、645)间,且经由边62而与各节点(644、645)连结。与所述第一模式的有向图表51同样地,所述第七模式的有向图表57也是第一有向图表的一例。块66是所述第一块的一例。

控制部11在步骤S108中,可与所述第六模式中的局部变量同样地,确定表达在用户定义函数的实例的内部得到利用的标准函数的实例的块66的配置、及经由边62而与块66连结的各节点(644、645)。而且,控制部11也可以从提取结果数据224的符合记录,确定块66的配置及经由边62而与块66连结的各节点(644、645)。控制部11利用这些确定结果,将表达标准函数的实例的块66配置在块64内,通过边62来将表达与所述标准函数的实例的各参数具有依存关系的各参数的各节点(644、645)与块66连结。由此,控制部11可生成第七模式的有向图表57。

控制部11在步骤S109中,将如所述那样生成的有向图表57输出至显示装置15。根据所述有向图表57,可表达在用户定义函数内得到利用的标准函数。因此,可将控制程序221中的设备变量31间的经由用户定义函数的依存关系与所述用户定义函数的内部结构建立关联来表示。

另外,在图18C的例子中,有向图表57与所述第六模式同样地,以包含表达局部变量的节点67的方式生成。如此,在第七模式的显示形态中,也可以采用第六模式的显示形态。但是,第七模式的显示形态也可以不限定于此种例子。在第七模式的显示形态中,也可以省略第六模式的显示形态。也可以从由图18C所例示的有向图表57中省略节点67的显示。在此情况下,边62从表达输入参数“Enable”的节点644连结至块66。

而且,在所述第七模式中,与所述第二模式~第六模式同样地,有向图表57也能够以利用不同的形态来表示表达标准函数的实例的块(63、66)、及表达用户定义函数的实例的块64的方式生成。在图18C的例子中,利用与所述图17A相同的形态来表示各块(63、64、66)。但是,第七模式中的表达函数的各块(63、64、66)的方法也可以不限定于此种例子。在所述第七模式中,也与所述第二模式~第六模式同样地,也可以利用相同的形态来表示表达标准函数的实例的块(63、66)、及表达用户定义函数的实例的块64。

而且,在图18C的例子中,利用与所述第五模式相同的形态来表示块63,利用与所述第二模式等中的块63相同的形态来表示块66。但是,第七模式中的表达块66的方法也可以不限定于此种例子。也可以利用与所述第五模式中的块63相同的形态来表示块66。

(8)第八模式

接下来,使用图18D对第八模式的有向图表的一例进行说明。图18D示意性地例示通过本实施方式的分析装置1所生成的第八模式的有向图表58的一例。第八模式是表示在用户定义函数的内部得到利用的另一个用户定义函数的模式。

在所述例子中,控制程序221包含在用户定义函数“My_FB”的内部得到利用的标准函数“STD_FB1”。也可以在用户定义函数“My_FB”的内部,利用用户定义函数来代替所述标准函数“STD_FB1”、或将用户定义函数与所述标准函数“STD_FB1”一同利用。即,控制程序221中的多个函数也可以包含在用户定义函数的内部,在相互具有依存关系的输入参数及输出参数之间得到利用的另一个用户定义函数。在此情况下,第八模式的有向图表58以如下方式生成:表达在用户定义函数的实例的内部得到利用的另一个用户定义函数的实例的块661在表达用户定义函数的实例的块64内,配置在表达相互具有依存关系的输入参数及输出参数各者的节点(644、645)之间,且经由边62而与各节点(644、645)连结。与所述第一模式的有向图表51同样地,所述第八模式的有向图表58也是第一有向图表的一例。块661是表达在用户定义函数的内部得到利用的另一个用户定义函数的实例的另一个第二块的一例。

除在用户定义函数内显示的函数的类别不同这一点以外,第八模式与所述第七模式相同。因此,控制部11在步骤S108中,可利用与所述第七模式相同的方法,确定表达在用户定义函数的实例的内部得到利用的另一个用户定义函数的实例的块661的配置、及经由边62而与块661连结的各节点(644、645)。控制部11利用这些确定结果,将表达另一个用户定义函数的实例的块661配置在块64内,通过边62来将表达与所述另一个用户定义函数的实例的各参数具有依存关系的各参数的各节点(644、645)与块661连结。由此,控制部11可生成第八模式的有向图表58。

控制部11在步骤S109中,将如所述那样生成的有向图表58输出至显示装置15。根据所述有向图表58,可表达在用户定义函数内得到利用的另一个用户定义函数。因此,可将控制程序221中的设备变量31间的经由用户定义函数的依存关系与所述用户定义函数的内部结构建立关联来表示。

另外,在图18D的例子中,有向图表58与所述第六模式同样地,以包含表达局部变量的节点67的方式生成。如此,在第八模式中,也可以采用第六模式的显示形态。但是,第八模式的显示形态也可以不限定于此种例子。在第八模式的显示形态中,也可以省略第六模式的显示形态。也可以从由图18D所例示的有向图表58中省略节点67的显示。在此情况下,边62从表达输入参数“Enable”的节点644连结至块661。

而且,在与所述第七模式同样地,控制程序221包含在用户定义函数内得到利用的标准函数的情况下,在第八模式的显示形态中,也可以进而采用第七模式的显示形态。进而,如由图18D所例示那样,在第八模式中,与所述第二模式~第七模式同样地,有向图表57也能够以利用不同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块(64、661)的方式生成。但是,第八模式中的表达函数的各块(63、64、661)的方法也可以不限定于此种例子。在第八模式中,也与所述第二模式~第七模式同样地,也可以利用相同的形态来表示表达标准函数的实例的块63、及表达用户定义函数的实例的块(64、661)。

而且,在图18D的例子中,利用与所述第五模式~第八模式中的块64不同,与所述第二模式~第四模式中的块64相同的形态来表示块661。但是,第八模式中的表达块661的方法也可以不限定于此种例子。也可以利用与所述第五模式~第八模式中的块64相同的形态来表示块661,即,以表达另一个用户定义函数的内部结构的状态来表示块661。

(9)第九模式

接下来,使用图19及图20A对第九模式的有向图表的一例进行说明。图19表示作为控制程序221的变形例的控制程序221A的一例。图20A示意性地例示基于对图19的控制程序221A确定依存关系的结果,由本实施方式的分析装置1所生成的第九模式的有向图表591的一例。第九模式是表示各设备变量与控制程序内的子程序的对应关系的模式。

图19中例示的控制程序221A除将子程序2211分割成两个子程序(2291、2292)这一点以外,与所述图7中例示的控制程序221相同。在以下的第九模式及第十模式的说明中,设想对图19中例示的控制程序221A执行步骤S101~S109的处理。另外,在将图19中例示的控制程序加以区分来称呼的情况下与“221A”相符,在不加以区分来称呼的情况下与“221”相符。

图19中例示的控制程序221A被分割成三个子程序2291~2293。如此,控制程序221可被分割成多个子程序。在此情况下,第九模式的有向图表591以如下方式生成:包含与各子程序分别对应的多个区域681,各节点61配置在多个区域681之中,利用各节点61所表达的设备变量31的子程序的区域681。第九模式的有向图表591是第二有向图表的一例。

控制部11在步骤S108中,确定构成控制程序221A的各子程序2291~2293。确定构成控制程序221A的各子程序2291~2293的方法也可以不特别限定。例如,控制部11也可以从控制程序221A中直接确定各子程序2291~2293。而且,在作为依存性分析的结果所获得的提取结果数据224的各记录的“程序”字段中,保存有表示对应的程序部分的位置的信息。因此,控制部11也可以参照提取结果数据224的各记录的“程序”字段的值,由此确定各子程序2291~2293。

接下来,控制部11设定与经确定的各子程序2291~2293对应的区域681。继而,控制部11从经确定的各子程序2291~2293中确定利用各设备变量31的子程序。在图19的控制程序221A中,例如在子程序2291中利用设备变量“D1”。而且,例如在两个子程序(2291、2292)中利用设备变量“D3”。所述利用关系可适宜确定。例如,控制部11可参照提取结果数据224的各记录的“程序”字段的值,由此确定利用各设备变量31的子程序。并且,控制部11将表达各设备变量31的各节点61配置在符合的区域681。关于有向图表591的生成处理,其他方面可与所述第一模式~第八模式相同。由此,控制部11可生成第九模式的有向图表591。

另外,如图20A中例示那样,有向图表591可与所述第二模式~第八模式同样地,以包含表达函数的实例的各块(63、64)的方式生成。在此情况下,控制部11与各设备变量31同样地确定利用函数的子程序。并且,控制部11将表达函数的实例的各块(63、64)配置在符合的区域681。

同样地,有向图表591可与所述第四模式同样地,以包含表达其他变量的节点65的方式生成。在此情况下,控制部11与各设备变量31同样地确定利用其他变量的子程序。并且,控制部11将表达其他变量的节点65配置在符合的区域681。

而且,当存在如设备变量“D3”那样,在多个子程序中得到利用的设备变量时,控制部11也可以将表达所述设备变量的节点61配置在各个区域681。在图20A的例子中,将表达设备变量“D3”的节点61分别配置在对应于子程序“程序0”及子程序“程序1”的区域681。在此情况下,如图20A中例示那样,控制部11也可以利用边684将对应于相同的设备变量的节点61彼此连结。由此,可表示与边684连结的节点61对应于相同的设备变量。关于其他变量及函数分别在多个子程序中得到利用的情况,也同样如此。

进而,如图20A所示,有向图表591也能够以如下方式生成:在各节点61的附近,表示各节点61所表达的各设备变量31在控制程序221A中的位置。表示所述位置的信息可适宜获取。例如,表示所述位置的信息也可以被保存在提取结果数据224的各记录的“程序”字段中。在此情况下,控制部11可参照提取结果数据224的各记录的“程序”字段,由此获取表示各设备变量31的位置的信息。而且,控制部11也可以从控制程序221A中直接获取表示各设备变量31的位置的信息。并且,控制部11将所获取的表示位置的信息显示在表达各设备变量31的节点61附近。控制部11也可以对其他变量及函数同样地处理。在图20A的例子中,有向图表591以如下方式生成:在各节点61、节点65、及各块(63、64)附近,配置表示各节点61、节点65、及各块(63、64)所表达的各设备变量31、其他变量、及函数在控制程序221A中的位置的各位置表述683。

控制部11在步骤S109中,将如所述那样生成的有向图表591输出至显示装置15。根据所述有向图表591,可表示各设备变量31与各子程序2291~2293之间的对应关系。因此,在进行了分割编程的情况下,可将对应于各设备28的设备变量31在控制程序221A中的位置与各设备变量31间的依存关系建立关联来表示。

另外,图20A中例示的有向图表591以包含表达函数的实例的各块(63、64)的方式生成。但是,第九模式的有向图表591也可以不限定于此种例子。在第九模式的有向图表591中,与所述第一模式同样地,可省略各块(63、64)的显示。

而且,图20A中例示的有向图表591与所述第四模式同样地,以包含表达其他变量的节点65的方式生成。但是,第九模式的有向图表591也可以不限定于此种例子。在第九模式的有向图表591中,与所述第一模式等同样地,可省略节点65的显示。

进而,图20A中例示的有向图表591以表示各位置表述683的方式生成。但是,第九模式的有向图表591也可以不限定于此种例子。在第九模式的有向图表591中,也可以省略各位置表述683。

(10)第十模式

接下来,使用图20B对第十模式的有向图表的一例进行说明。图20B示意性地例示基于对图19的控制程序221A确定依存关系的结果,由本实施方式的分析装置1所生成的第十模式的有向图表592的一例。第十模式是表示各设备变量与子程序内的节的对应关系的模式。

在所述图19的例子中,控制程序221A的子程序2291被分割成节2295,子程序2292被分割成节2296。如此,在控制程序221A被分割成多个子程序的情况下,多个子程序中的至少任一个子程序也可以被分割成一个以上的节。在此情况下,第十模式的有向图表592以如下方式生成:被分割成一个以上的节的子程序的区域681包含与一个以上的节对应的一个以上的子区域682,且表达在节中得到利用的设备变量31的节点61配置在对应于所述节的子区域682。与所述第九模式的有向图表591同样地,所述第十模式的有向图表52也是第二有向图表的一例。

控制部11在步骤S108中,与所述第九模式中的子程序2291~子程序2293同样地,确定在各子程序2291~2293中得到利用的节(2295、2296),并将对应于各节(2295、2296)的子区域682设定在符合的区域681内。接下来,控制部11与在所述第九模式中,确定各子程序2291~2293与各设备变量31之间的利用关系的方法同样地,确定各节(2295、2296)与各设备变量31之间的利用关系。并且,控制部11将表达各设备变量31的各节点61配置在符合的子区域682。关于有向图表592的生成处理,其他方面可与所述第九模式相同。由此,控制部11可生成第十模式的有向图表592。

控制部11在步骤S109中,将如所述那样生成的有向图表592输出至显示装置15。根据所述有向图表592,可表示各设备变量31与各子程序2291~2293的各节(2295、2296)之间的对应关系。因此,在进行了分割编程的情况下,可将对应于各设备28的设备变量31在控制程序221A中的位置与各设备变量31间的依存关系建立关联、且更明确地表示。

另外,图20B中例示的有向图表592以包含表达函数的实例的各块(63、64)的方式生成。但是,第十模式的有向图表592也可以不限定于此种例子。在第十模式的有向图表592中,与所述第一模式同样地,可省略各块(63、64)的显示。

而且,图20B中例示的有向图表592与所述第四模式同样地,以包含表达其他变量的节点65的方式生成。但是,第十模式的有向图表592也可以不限定于此种例子。在第十模式的有向图表592中,与所述第一模式等同样地,可省略节点65的显示。

进而,图20B中例示的有向图表592与所述第九模式同样地,以表示各位置表述683的方式生成。但是,第十模式的有向图表592也可以不限定于此种例子。在第十模式的有向图表592中,也可以省略各位置表述683。

(显示控制)

通过步骤S109,控制部11将所述第一模式~第十模式的有向图表(51~54、541、55~58、591、592)的任一者输出至显示装置15。此时,控制部11也可以经由输入装置14而从用户受理所输出的有向图表的形态的指定。并且,控制部11也可以对应于用户的指定,将有向图表的形态从任意的模式切换成其他模式来显示在显示装置15。

例如,控制部11也可以对应于用户的指定,将第一模式的有向图表51及第二模式的有向图表52在显示装置15中切换来显示。而且,控制部11也可以对应于用户的指定,将第二模式的有向图表52及第三模式的有向图表53在显示装置15中切换来显示。在此情况下,控制部11以可切换第二模式的显示形态与第三模式的显示形态的方式生成有向图表(52、53)。进而,控制部11也可以对应于用户的指定,将第一模式的有向图表51、第二模式的有向图表52、及第四模式的有向图表(54、541)在显示装置15中切换来显示。另外,在第四模式的有向图表54中采用第三模式的显示形态。在第四模式的有向图表541中采用第二模式的显示形态。当在第四模式中采用第二模式及第三模式两者的显示形态时,控制部11也能够以可将各显示形态在显示装置15中切换来显示的方式生成第四模式的有向图表(54、541)。

而且,例如控制部11也可以对应于用户的指示,将第二模式的有向图表52及第五模式的有向图表55在显示装置15中切换来显示。在此例中,控制部11也可以将第三模式的有向图表53或第四模式的有向图表(54、541)代替第二模式的有向图表52来显示在显示装置15中。此外,控制部11也可以对应于用户的指示,将第五模式~第八模式的有向图表55~有向图表58在显示装置15中切换来显示。在此情况下,控制部11以可切换第五模式~第八模式的显示形态的方式生成有向图表55~有向图表58。另外,在此例中,可省略第六模式~第八模式的任一者。

而且,例如控制部11也可以对应于用户的指示,将第一模式的有向图表51及第九模式的有向图表591在显示装置15中切换来显示。在此例中,控制部11也可以将第二模式~第八模式的有向图表(52~54、541、55~58)的任一者代替第一模式的有向图表51来显示在显示装置15中。此外,控制部11也可以对应于用户的指示,将第九模式的有向图表591及第十模式的有向图表592在显示装置15中切换来显示。在此情况下,控制部11以可切换第九模式的显示形态与第十模式的显示形态的方式生成有向图表(591、592)。

在从任意的模式变更成其他模式的情况下,控制部11也可以切换有向图表整体的显示。或者,控制部11也可以切换有向图表的一部分的显示。在此情况下,控制部11也可以受理在有向图表中变更模式的部分的指定,并切换经指定的部分的显示。作为一例,在将第一模式的有向图表51显示在显示装置15的期间内,控制部11也可以受理作为变更模式的部分的指定的边62的选择。并且,控制部11也能够以利用第二模式来表示由经选择的边62所连结的两个设备变量间的依存关系的方式,切换有向图表的显示。

另外,在所述第二模式~第十模式中,“经由边而连结”可包含利用边来将分别表达直接地具有依存关系的变量及函数的节点及块相互直接地连结。此外,在所述第二模式~第十模式中,“经由边而连结”可包含如下的例子:使表达其他变量或/及函数的节点或/及块介于分别表达隔着其他变量或/及函数,而间接地具有依存关系的变量及函数的节点及块间,利用边来将各者连结。

而且,在如所述第四模式~第六模式那样,例如显示各节点(61、65、67、634、635、644、645)等表达类别不同的变量的多个节点的情况下,控制部11也可以与所述各函数的块同样地,利用不同的形态来表示各节点。例如,控制部11也可以对应于设备变量/其他变量、外部变量/内部变量、及局部变量/全局变量的任一种类别的差异,利用不同的形态来表示各节点。各节点的形态例如可由线的种类、颜色、形状、文字的字体等属性来规定。而且,也可以对与各节点对应的符号进行定义,将经定义的各符号用于各节点的显示。

如此,若将所述第一模式~第十模式的有向图表(51~54、541、55~58、591、592)的任一者输出至显示装置15,则控制部11结束与本动作例相关的处理。

[特征]

如上所述,本实施方式的分析装置1在所述步骤S106(步骤S508)中,参照函数结构信息121,确定标准函数41的输入参数43与输出参数44之间的依存关系。由此,本实施方式的分析装置1可在所述步骤S107(步骤S509)中,确定隔着标准函数41的多个设备变量31间的依存关系。因此,根据本实施方式,即便在控制程序221包含标准函数41的情况下,也可以从所述控制程序221中适当地导出构成生产线27的多个设备28间的依存关系。

此外,本实施方式的分析装置1可在步骤S109中,对应于用户的指示,将各模式的有向图表(51~54、541、55~58、591、592)在显示装置15中切换来显示。例如,分析装置1可将第一模式~第八模式的有向图表(51~54、541、55~58)的任一者及第九模式~第十模式的有向图表(591、592)的任一者在显示装置15中切换来显示。由此,可将对应于各设备的设备变量31在控制程序221A中的位置与各设备变量31间的依存关系建立关联来掌握。

§4变形例

以上,对本发明的实施方式进行了详细说明,但以上所述的说明在所有方面只不过是本发明的例示。当然可不脱离本发明的范围而进行各种改良或变形。例如,可进行如下的变更。另外,以下对与所述实施方式相同的构成元件使用相同的符号,关于与所述实施方式相同的点,适宜省略说明。以下的变形例可适宜组合。

<4.1>

在所述实施方式中,在步骤S108中,控制部11生成所述第一模式~第十模式的有向图表(51~54、541、55~58、591、592)。但是,可通过控制部11来生成的有向图表也可以不限定于此种例子。例如,也可以省略所述第一模式~第十模式中的至少任一者。而且,例如控制部11也可以生成与所述第一模式~第十模式不同的形态的有向图表。

而且,在所述实施方式中,在步骤S109中,控制部11将有向图表(51~54、541、55~58、591、592)作为与确定各设备变量31间的依存关系的结果相关的信息而输出。但是,与确定各设备变量31间的依存关系的结果相关的信息的形态也可以不限定于此种有向图表,可对应于实施方式来适宜选择。例如,控制部11也可以利用无向图表来表示确定各设备变量31间的依存关系的结果、或者也可以利用图表以外的表达(例如,文字表达)来表示确定各设备变量31间的依存关系的结果。

而且,在所述实施方式中,控制部11将与确定各设备变量31间的依存关系的结果相关的信息输出至显示装置15。但是,信息的输出对象也可以不限定于此种例子,可对应于实施方式来适宜选择。例如,控制部11也可以将与确定各设备变量31间的依存关系的结果相关的信息输出至与显示装置15不同的显示装置,也可以将与确定各设备变量31间的依存关系的结果相关的信息输出至显示装置以外的输出对象(例如存储器、显示装置以外的输出装置)。

<4.2>

在所述实施方式中,分析装置1在步骤S103中,判定未定义的标准函数的实例是否包含在控制程序221中。并且,在判定未定义的标准函数的实例包含在控制程序221中的情况下,分析装置1在步骤S105中,受理追加的函数结构信息123的输入。也可以省略所述步骤S103~步骤S105的处理。在此情况下,在分析装置1的软件结构中,可省略定义判定部113及定义受理部114。

<4.3>

在所述实施方式中,分析装置1通过步骤S101~步骤S107的处理,根据控制程序221来确定各设备变量31间的依存关系。并且,分析装置1通过步骤S108及步骤S109的处理,生成表示确定结果的有向图表,并将所生成的有向图表输出至显示装置15。即,分析装置1以执行所述确定依存关系的处理及输出确定结果的处理两者的方式构成。但是,所述处理也可以不必由同一台计算机来执行。即,所述确定依存关系的处理及输出确定结果的处理可由不同的计算机来执行。在此情况下,也可以将执行输出确定结果的处理的计算机称为“图表显示装置”。

(硬件结构)

图21示意性地例示本变形例的图表显示装置7的硬件结构的一例。如图21所示,本变形例的图表显示装置7是控制部71、存储部72、通信接口73、输入装置74、显示装置75、及驱动器76经电性连接的计算机。另外,在图21中,将通信接口记载为“通信I/F”。

图表显示装置7的控制部71~驱动器76可分别与所述分析装置1的控制部11~驱动器16相同。在本变形例中,存储部72存储图表显示程序82等各种信息。图表显示程序82是用于使图表显示装置7执行信息处理(后述的图23)的程序,所述信息处理生成表示确定各设备变量31间的因果关系的结果的有向图表,并将所生成的有向图表输出至显示装置(例如,显示装置75)。图表显示程序82包含所述信息处理的一连串的命令。图表显示程序82也可以存储在存储介质92中。而且,图表显示装置7也可以经由驱动器76而从存储介质92获取图表显示程序82。

另外,与所述分析装置1同样地,关于图表显示装置7的具体的硬件结构,可对应于实施方式来适宜进行构成元件的省略、替换及追加。图表显示装置7也可以包含多台计算机。在此情况下,各计算机的硬件结构可以一致,也可以不一致。而且,图表显示装置7除所提供的设计成服务专用的信息处理装置以外,也可以是台式PC、平板PC等通用的信息处理装置、通用的服务器装置等。

(软件结构)

图22示意性地例示本变形例的图表显示装置7的软件结构的一例。图表显示装置7的控制部71将被存储在存储部72中的图表显示程序82在RAM中展开。并且,控制部71通过CPU来解释及执行在RAM中展开的图表显示程序82,控制各构成元件。由此,如图22所示,本实施方式的图表显示装置7作为计算机来运行,所述计算机包括信息获取部711、图表生成部712、及显示控制部713作为软件模块。即,在本变形例中,图表显示装置7的各软件模块通过控制部71(CPU)来实现。

信息获取部711获取表示根据控制程序221所确定的各设备变量31间的依存关系的依存关系信息721。信息获取部711也可以进而获取表示函数中的输入参数与输出参数之间的依存关系的函数信息723。依存关系信息721及函数信息723包含所述函数结构信息121、追加的函数结构信息123、提取结果数据224、中间数据226、确定结果数据227等。图表生成部712基于依存关系信息721(及函数信息723),生成所述各模式的有向图表。图表生成部712可与所述图表生成部117相同。显示控制部713将所生成的各模式的有向图表在显示装置(例如,显示装置75)中切换来显示。显示控制部713可与所述输出部118相同。

关于图表显示装置7的各软件模块,在后述的动作例中进行详细说明。另外,在本实施方式中,对图表显示装置7的各软件模块均通过通用的CPU来实现的例子进行说明。但是,以上的软件模块的一部分或全部也可以通过一个或多个专用的硬件处理器来实现。而且,关于图表显示装置7的软件结构,也可以对应于实施方式来适宜进行软件模块的省略、替换及追加。

(动作例)

图23例示本变形例的图表显示装置7的处理程序的一例。以下所说明的图表显示装置7的处理程序是本发明的“图表显示方法”的一例。但是,以下所说明的处理程序只不过是一例,各处理也可以尽可能地变更。另外,关于以下所说明的处理程序,可对应于实施方式来适宜进行步骤的省略、替换、及追加。

在步骤S701中,控制部71作为信息获取部711来运行,获取依存关系信息721。依存关系信息721表示根据控制程序221所确定的各设备变量31间的依存关系。依存关系信息721例如能够以包含所述确定结果数据227的方式构成。而且,在生成所述第二模式等的包含表达函数的块的有向图表的情况下,依存关系信息721也可以进而表示各设备变量31对于函数的各参数的依存关系。在此情况下,依存关系信息721能够以进而包含所述提取结果数据224及中间数据226的方式构成。而且,在如所述第九模式及第十模式那样,生成表示子程序、节等控制程序221内的各设备变量31的位置的有向图表的情况下,依存关系信息721能够以包含如提取结果数据224的各记录的“程序”字段等那样表示位置的信息的方式构成。但是,依存关系信息721的结构也可以不限定于此种例子。而且,依存关系信息721的数据形式也可以不特别限定,可对应于实施方式来适宜设定。

此外,在如所述第五模式~第八模式那样,生成表示函数的内部结构的有向图表的情况下,控制部71也可以进而获取函数信息723。所述函数信息723可包含函数结构信息121、追加的函数结构信息123、提取结果数据224的与用户定义函数相关的记录、表示对用户定义函数的各参数确定依存关系的结果的数据等。但是,函数信息723的结构也可以不限定于此种例子。而且,函数信息723的数据形式也可以不特别限定,可对应于实施方式来适宜设定。

依存关系信息721及函数信息723可由所述分析装置1等以确定各设备变量31间的依存关系的方式构成的其他信息处理装置来生成。控制部71例如也可以经由网络、存储介质92等,从所述其他信息处理装置获取依存关系信息721及函数信息723。而且,依存关系信息721及函数信息723也可以存储在网络附加存储(Network Attached Storage,NAS)等外部存储装置中。在此情况下,控制部71也可以从外部存储装置获取依存关系信息721及函数信息723。而且,依存关系信息721及函数信息723也可以事先存储在存储部72中。在此情况下,控制部71也可以从存储部72获取依存关系信息721及函数信息723。获取依存关系信息721及函数信息723的方法也可以不特别限定,可对应于实施方式来适宜选择。若获取依存关系信息721(及函数信息723),则控制部71使处理进入接下来的步骤S702。

在步骤S702中,控制部71基于依存关系信息721(及函数信息723),生成所述各模式的有向图表(51~54、541、55~58、591、592)。步骤S702的处理可与所述步骤S108的处理相同。在步骤S703中,控制部71将所生成的各模式的有向图表(51~54、541、55~58、591、592)在显示装置中切换来显示。输出对象可以是显示装置75,也可以是其他显示装置(例如,其他信息处理装置的显示装置)。步骤S703的处理可与所述步骤S109的处理相同。若完成所述输出处理,则控制部71结束本变形例的处理。根据本变形例,可分别构成执行确定各设备变量31间的依存关系的处理的计算机、及执行输出确定结果的处理的计算机。

<4.4>

在所述实施方式中,分析装置1及PLC2包含不同的计算机。但是,可应用本发明的系统的结构也可以不限定于此种例子。分析装置1及PLC2也可以包含一体的计算机。

图24示意性地例示本变形例的控制装置1A的应用场景。本变形例的控制装置1A是以发挥所述实施方式的分析装置1及PLC2两者的作用的方式构成的计算机。所述控制装置1A的硬件结构可通过在所述分析装置1的硬件结构中追加PLC2的输入/输出接口23来获得。而且,关于确定各设备28间的依存关系的处理,控制装置1A的软件结构可与所述分析装置1的软件结构相同。如此,可将本发明应用于控制生产线27的动作的装置(PLC等)。

符号的说明

1:分析装置

11:控制部

12:存储部

13:通信接口

14:输入装置

15:显示装置

16:驱动器

111:程序获取部

112:程序分析部

113:定义判定部

114:定义受理部

115:定义赋予部

116:关系确定部

117:图表生成部

118:输出部

121:函数结构信息

123:追加的函数结构信息

81:分析程序

91:存储介质

2:PLC

21:控制部

22:存储部

23:通信接口

24:输入/输出接口

27:生产线

28:设备

31:设备变量

41:标准函数

43:输入参数

44:输出参数

221:控制程序

2211、2212:子程序

222:抽象语法树

223:控制流程图表

224:提取结果数据

226:中间数据

227:确定结果数据

51~58、541、591、592:有向图表

61:节点

62:边

63、64:块

631:(输入参数的名称的)表述

632:(输出参数的名称的)表述

634、635:节点

641:(输入参数的名称的)表述

642:(输出参数的名称的)表述

644、645:节点

65:节点

66:块

67:节点

681:区域

682:子区域

683:位置表述

684:边

7:图表显示装置

71:控制部

72:存储部

73:通信接口

74:输入装置

75:显示装置

76:驱动器

711:信息获取部

712:图表生成部

713:显示控制部

721:依存关系信息

723:函数信息

82:图表显示程序

92:存储介质

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号