工序分析装置、工序分析方法以及存储介质与流程

文档序号:16244422发布日期:2018-12-11 23:26阅读:165来源:国知局
工序分析装置、工序分析方法以及存储介质与流程

本发明关于工序分析装置、工序分析方法以及工序分析程序。

背景技术

工厂等的生产线由传送带、机器人臂等的多个机构构成。当该生产线的任一机构发生异常时,产品的制造停止,可能会带来大的损害。因此,在工厂等,维护人员等定期地巡视生产线,进行异常的发生或者其预兆的有无的确认。

当在生产线内检测到异常的发生或者其预兆时,有时会有在被检测到异常的机构之前的机构中存在真正的异常的原因的情况。因此,为了确定真正的异常的原因,把握生产线内的各机构的因果关系是重要的。但是,由于构成生产线的结构的数量变多、并且各机构的动作条件每天都会发生变化,因此,难以正确地把握全部的机构的因果关系。

因此,以往,熟练的维护人员根据自身的经验以及感觉,把握构成生产线的多个机构间的因果关系,进行在生产线内产生的异常或者其预兆的检测。为了使得非熟练的维护人员能够进行上述维护业务,希望进行使得构成生产线的多个机构的因果关系可视化的技术的开发。

因此,在专利文献1中提出了下述方法:通过分析在多个制造装置和控制装置之间交换的信号,使生产线内的制造装置的关系模型化。具体而言,从取得的多个信号算出特征量,并且,提取该多个信号的产生顺序。并且,根据特征量间的相关和信号的产生顺序,形成信号间的因果构造。从而,通过专利文献1提出的方法能够使生产线内的制造装置的关系模型化。

现有技术文献

专利文献

专利文献1:日本特开2009-064407号公报



技术实现要素:

根据上述专利文献1的方法,能够自动地模型化构成生产线的多个机构间的因果关系。但是,由于生产线重复相同的动作,因此,虽然能够根据信号的产生顺序确定各机构的相对的顺序关系,但是,难以确定哪个信号(机构)是动作的起点。例如,生产线包括机构a1、机构a2以及机构a3共三个机构,在以机构a1、机构a2以及机构a3顺序动作的情况下,通过现有的方法则难以确定机构a1为动作的起点。因此,通过专利文献1的方法,可能会弄错成为起点的信号而难以正确地模型化多个机构的因果关系。

本发明在一侧面考虑上述问题点而作出,其目的在于,提供一种正确地模型化构成生产线的多个机构间的因果关系的技术。

本发明为了解决上述课题,采用以下的构成。

也就是说,本发明的一侧面涉及的工序分析装置,包括:第一取得部,取得生产线与构成生产线的多个机构的状态相关的多个状态数据;第二取得部,取得用于控制所述生产线的动作的控制程序;第一分析部,通过分析已取得的所述多个状态数据,确定所述多个机构间的连接状态;第二分析部,通过分析已取得的所述控制程序,确定所述多个机构的顺序关系;关系确定部,根据分别确定的所述连接状态以及所述顺序关系,确定在所述生产线中实施的工序中的所述多个机构间的因果关系。

在上述结构中,根据生产线与构成生产线的多个机构的状态相关的多个状态数据,确定该多个机构间的连接状态。并且,根据用于控制生产线的控制程序,确定多个机构间的顺序关系。并且,通过统合分别确定的连接状态以及顺序关系,确定在生产线中实施的工序中的多个机构间的因果关系。在此,控制程序规定各机构的动作。因此,通过使用控制程序,能够适当地确定各机构的顺序关系。因此,根据上述构成,能够正确地模型化构成生产线的多个机构间的因果关系。

此外,生产线能够制造某种物品即可,既可以由多个装置构成,也可以由包装机等的一个装置构成。并且,各机构能够实施制造工序的某些处理即可。各机构例如可以为输送机、机器人臂、伺服电机、气缸(成型机等)、吸盘、切刀装置、密封装置等。并且,各机构例如也可以为印刷机、安装机、回流炉、基板检查装置等的复合装置。并且,各机构除了伴随上述的某些物理性的动作的装置之外,例如还可以包括下述进行内部处理的装置:通过各种传感器检测某些信息的装置、从各种传感器取得数据的装置、从取得的数据检测某些信息的装置、对于取得的数据进行信息处理的装置等。一个机构既可以通过一个或者多个装置构成,也可以通过装置的一部分构成。在一个机构通过装置的一部分构成的情况下,多个机构可以通过一个装置构成。并且,在同一装置实施多个处理的情况下,可以将其分别视为不同的机构。例如,在同一装置实施第一处理和第二处理的情况下,可以将进行第一处理的该装置视为第一机构,将进行第二处理的该装置视为第二机构。

状态数据可以包含关于构成生产线的各机构的状态的所有种类的数据。状态数据可以由从一个或者多个传感器、照相机等的计测装置获得的数据构成。并且,状态数据可以为从计测装置获得的数据本身,也可以为例如从图像数据取得的位置数据等的、对于从计测装置获得的数据应用了某些处理而获得的数据。

控制程序可以包含构成生产线的各机构的动作的所有种类的程序。控制程序可以由一个程序构成,也可以由多个程序构成。

连接状态的表现方法只要能够示出多个机构间的联系,就没有特别的限定,可以根据实施方式适当确定。连接状态例如通过关系的强度(例如,示出相关关系的相关系数)、关系的有无、关系的变化等表现。此外,关系的变化例如也可以通过以关系的强度或者有无表现的关系性的时序的差值(变化量)示出。

在上述一侧面涉及的工序分析装置中,所述关系确定部可以输出示出确定的所述多个机构间的因果关系的有向图信息。根据该构成,通过输出的有向图信息,即使非熟练的维护人员,也能够容易地把握构成生产线的多个机构间的因果关系。

在上述一侧面涉及的工序分析装置中,所述第一分析部可以构筑示出确定的所述多个机构间的连接状态的无向图信息,所述关系确定部可以通过将所述顺序关系应用于所述无向图信息,从而制作所述有向图信息。根据该构成,能够适当地形成示出多个机构间的因果关系的有向图信息。

在上述一侧面涉及的工序分析装置中,所述第一分析部可以通过(1)从各所述状态数据算出特征量、(2)算出各所述特征量间的相关系数或者偏相关系数,从而确定所述多个机构间的连接状态。根据该构成,能够适当地确定多个机构间的连接状态。

在上述一侧面涉及的工序分析装置中,所述第二分析部可以根据通过使用所述控制程序使所述生产线运转而获得的日志数据,确定所述多个机构的顺序关系。根据该构成,能够适当地确定多个机构间的顺序关系。

在上述一侧面涉及的工序分析装置中,所述第二分析部可以通过(1)从所述控制程序构筑抽象语法树、(2)从构筑的该抽象语法树提取关于各所述机构的变量和条件分支、(3)取得使用所述控制程序使所述生产线正常运转时的日志数据、(4)参照已取得的所述日志数据而进行基于所述条件分支的执行结果的各所述变量的排序,从而确定所述多个机构的顺序关系。根据该构成,能够适当地确定多个机构间的顺序关系。

在上述一侧面涉及的工序分析装置中,所述第二分析部可以根据(1)从所述控制程序构筑抽象语法树、(2)从构筑的该抽象语法树提取关于各所述机构的变量、(3)根据构筑的该抽象语法树而确定所述控制程序的处理中的所述变量的依存关系、(4)确定的依存关系,确定所述多个机构的顺序关系。根据该构成,能够适当地确定多个机构间的顺序关系。

在上述一侧面涉及的工序分析装置中,所述(3)根据构筑的该抽象语法树而确定所述控制程序的处理中的所述变量的依存关系的步骤可以包括:从构筑的该抽象语法树生成控制流程图的步骤;以及根据生成的该控制流程图确定提取的所述变量的依存关系的步骤。根据该构成,能够适当地确定多个机构间的顺序关系。

在上述一侧面涉及的工序分析装置中,各所述状态数据可以为示出扭矩、速度、加速度、温度、电流、电压、压力、流量、位置、尺寸(高度、长度、宽度)和面积的至少之一。并且,所述控制程序可以使用梯形图语言、功能块图语言、结构化文本语言、指令表语言、顺序功能图语言和c语言中至少之一来描述。根据该构成,能够提供一种能够处理各种数据以及程序的工序分析装置。

在上述一侧面涉及的工序分析装置中,所述第一分析部,可以通过统计性地分析已取得的所述多个状态数据,确定所述多个机构间的连接状态。根据该构成,能够适当地确定多个机构间的连接状态。

在上述一侧面涉及的工序分析装置中,所述第一分析部可以确定所述多个机构间的关系的强度作为所述连接状态。根据该构成,能够适当地确定多个机构间的连接状态。

上述一侧面涉及的工序分析装置还可以包括:第三取得部,取得机构数据,所述机构数据与所述多个机构分别包含的装置的相对位置关系和所述装置参与所述工序的顺序中至少一方相关;以及第三分析部,通过分析已取得的所述机构数据,将在所述生产线中实施的所述工序模型化,从而确定示出所述多个机构的顺序关系的工序模型。并且,所述关系确定部可以根据分别确定的所述连接状态、所述顺序关系以及所述工序模型,确定在所述生产线中实施的工序中的所述多个机构间的因果关系。因此,根据上述构成,通过进一步利用确定的工序模型的知识,能够更为正确地模型化构成生产线的多个机构间的因果关系。

此外,作为上述各方式涉及的工序分析装置的其他方式,既可以为实现以上的各构成的信息处理方法,也可以为程序,还可以为记录程序的计算机等其他装置、设备等能够读取的存储介质。在此,计算机等能够读取的记录介质是指,通过电性的、磁性的、光学的、机械的或者化学的作用存储程序等信息的介质。

例如,本发明的一侧面涉及的工序分析方法使计算机执行下述步骤:取得生产线与构成生产线的多个机构的状态相关的多个状态数据;取得用于控制所述生产线的动作的控制程序;通过分析已取得的所述多个状态数据,确定所述多个机构间的连接状态;通过分析已取得的所述控制程序,确定所述多个机构的顺序关系;根据分别确定的所述连接状态以及所述顺序关系,确定在所述生产线中实施的工序中的所述多个机构间的因果关系。

并且,例如,本发明的一侧面涉及的工序分析程序用于使计算机执行下述步骤:取得生产线与构成生产线的多个机构的状态相关的多个状态数据;取得用于控制所述生产线的动作的控制程序;通过分析已取得的所述多个状态数据,确定所述多个机构间的连接状态;通过分析已取得的所述控制程序,确定所述多个机构的顺序关系;根据分别确定的所述连接状态以及所述顺序关系,确定在所述生产线中实施的工序中的所述多个机构间的因果关系。

根据本发明,能够正确地模型化构成生产线的多个机构间的因果关系。

附图说明

图1示意性例示出实施方式涉及的工序分析装置的适用场面的一例。

图2示意性例示出实施方式涉及的工序分析装置的硬件构成的一例。

图3示意性例示出实施方式涉及的控制装置(plc)的硬件构成的一例。

图4示意性例示出实施方式涉及的工序分析装置的软件构成的一例。

图5例示出实施方式涉及的工序分析装置的处理顺序的一例。

图6例示出分析实施方式涉及的工序分析装置的状态数据时的处理顺序的一例。

图7例示出分析状态数据的过程的一例。

图8例示出控制信号和节拍时间的关系。

图9例示出分析实施方式涉及的工序分析装置的控制程序时的处理顺序的一例。

图10例示出从控制程序构筑的抽象语法树的一例。

图11a例示出进行各变量的排序的初始化的场面的一例。

图11b例示出通过控制程序的分析而确定的多个机构间的顺序关系的一例。

图12例示出示出多个机构的相关关系的有向图信息的一例。

图13a示出实施例涉及的生产线的动作例。

图13b示出实施例涉及的生产线的动作例。

图13c示出实施例涉及的生产线的动作例。

图14示出通过实施例获得的各特征量的一部分。

图15示出从图14的各特征量算出的相关系数矩阵。

图16示出从图15的相关系数矩阵获得的无向图信息。

图17示出实施例中使用的控制程序的一部分。

图18a示出从图17的控制程序构筑的抽象语法树。

图18b示出从图17的控制程序构筑的抽象语法树。

图18c示出从图17的控制程序构筑的抽象语法树。

图18d示出从图17的控制程序构筑的抽象语法树。

图19示出通过实施例获得的各变量的顺序关系。

图20示出通过实施例获得的有向图信息。

图21为示出分析控制程序的处理顺序的一例的流程图。

图22示意性例示出控制流程图的一例。

图23为示出根据控制流程图而确定各变量间的依存关系的处理顺序的一例的流程图。

图24a示意性例示出获得的变量组的一例。

图24b示意性例示出成对的变量组内的变量间的依存关系。

图24c示意性例示出根据各变量间的依存关系而确定的多个机构间的顺序关系的一例。

图25示意性例示出变形例涉及的工序分析装置的软件构成的一例。

图26例示出分析机构数据的过程的一例。

附图标记说明

1…工序分析装置、11…控制部、12…存储部、13…通信接口、14…输入装置、15…输出装置、16…驱动器、111…第一取得部、112…第二取得部、113…第一分析部、114…第二分析部、115…关系确定部、2…plc、21…控制部、22…存储部、23…输入输出接口、24…通信接口、221…控制程序、222…状态数据、223…日志数据、3…生产线、31…机构。

具体实施方式

以下基于附图说明本发明的一侧面涉及的实施方式(以下也表记为“本实施方式”)。不过,以下说明的本实施方式在所有方面不过为本发明的例示而已。可以说,能够不脱离本发明的范围而进行各种改良或变形。也就是说,在本发明实施中,可以适当采用对应于实施方式的具体的构成。此外,通过自然语言说明了在本实施方式中出现的数据,更具体而言,通过计算机能够识别的伪语言、命令、参数、机器语言等指定。

§1适用例

首先,使用图1,对于适用本发明的场面的一例进行说明。图1示意性例示出本实施方式涉及的工序分析装置1的使用场面的一例。

如图1所示,本实施方式涉及的工序分析装置1取得与构成生产线3的多个机构31的状态相关的多个状态数据222。生产线3能够制造某种物品即可,既可以由多个装置构成,也可以由包装机等的一个装置构成。并且,各机构31能够实施制作工序的某些处理即可,既可以通过一个或者多个装置构成,也可以通过装置的一部分构成。在一个机构31通过装置的一部分构成的情况下,多个机构31可以通过一个装置构成。并且,在同一装置实施多个处理的情况下,可以将其分别视为不同的机构31。例如,在同一装置实施第一处理和第二处理的情况下,可以将进行第一处理的该装置视为第一机构31,将进行第二处理的该装置视为第二机构31。并且,状态数据222可以包含与构成生产线3的各机构31的状态相关的所有种类的数据。

并且,本实施方式涉及的工序分析装置1取得用于控制生产线3的动作的控制程序221。控制程序221可以包含构成生产线3的各机构31的动作的所有种类的程序。控制程序221可以由一个程序构成,也可以由多个程序构成。此外,在本实施方式中,生产线3的动作由plc(可编程控制器,programmablelogiccontroller)2控制。因此,工序分析装置1从plc2取得多个状态数据222以及控制程序221。

接着,本实施方式涉及的工序分析装置1,通过统计性地分析已取得的多个状态数据222,确定生产线3内的多个机构31间的关系的强度。关系的强度为本发明的“连接状态”的一例。接着,本实施方式涉及的工序分析装置1,通过分析已取得的控制程序221,确定生产线3内的多个机构31的顺序关系。并且,本实施方式涉及的工序分析装置1,根据分别确定的关系的强度以及顺序关系,确定在生产线3内执行的工序中的多个机构31间的因果关系。

如上所述,在本实施方式中,在分析多个机构31间的因果关系的过程中,为了确定多个机构31间的顺序关系,使用控制程序221。由于控制程序221规定各机构31的动作,因此,通过使用控制程序221,能够更为正确地确定各机构31间的顺序关系。因此,根据本实施方式,能够正确地模型化构成生产线3的多个机构31间的因果关系。

§2构成例

[硬件]

<工序分析装置>

接着,使用图2,对于本实施方式涉及的工序分析装置1的硬件构成的一例进行说明。图2示意性例示出本实施方式涉及的工序分析装置1的硬件构成的一例。

如图2所示,本实施方式涉及的工序分析装置1为电连接有控制部11、存储部12、通信接口13、输入装置14、输出装置15以及驱动器16的计算机。此外,在图2中,将通信接口记载为“通信i/f”。

控制部11包括作为硬件处理器的cpu(中央处理器,centralprocessingunit)、ram(随机存储器,randomaccessmemory)、rom(只读存储器,readonlymemory)等,根据信息处理进行各构成要素的控制。存储部12例如为硬盘驱动器、固态硬盘等的辅助存储装置,存储由控制部11执行的工序分析程序121等。

工序分析程序121为使用多个状态数据222以及控制程序221,用于使工序分析装置1执行分析生产线3所实施的制造工序中的多个机构31间的因果关系的后述的处理(图5)的程序。详细将于后述。

通信接口13例如为有线lan(局域网,localareanetwork)模块、无线lan模块等,其为用于通过网络进行有线或者无线通信的接口。工序分析装置1能够通过该通信接口13与plc2之间进行经由网络的数据通信。此外,网络的种类例如可以从互联网、无线通信网、移动通信网、电话网、专用网等中适当选择。

输入装置14例如为用于进行鼠标、键盘等的输入的装置。并且,输出装置15例如为用于进行显示器、扬声器等的输出的装置。操作员经由输入装置14以及输出装置15能够操作工序分析装置1。

驱动器16例如为cd驱动器、dvd驱动器等,其为用于读取存储于存储介质91的程序的驱动装置。驱动器16的种类可以根据存储介质91的种类而适当选择。上述工序分析程序121可以存储于该存储介质91。

存储介质91为以计算机等其他装置、机械等能够读取被记录的程序等的信息的方式,将该程序等的信息通过电性的、磁性的、光学的、机械的或者化学的作用存储的介质。工序分析装置1可以从该存储介质91取得上述工序分析程序121。

在此,在图2中,作为存储介质91的一例,例示了cd、dvd等的磁盘型的存储介质。但是,存储介质91的种类并不限于磁盘型,可以为磁盘型以外的形式。作为磁盘型以外的存储介质,例如可以列举闪存等的半导体存储器。

此外,关于工序分析装置1的具体的硬件构成,根据实施方式,能够适当地进行构成要素的省略、置换以及追加。例如,控制部11可以包含多个处理器。工序分析装置1可以由多台信息处理装置构成。并且,工序分析装置1除了专门为了提供的服务而设计的信息处理装置之外,还可以为通用的服务器装置、pc(个人电脑,personalcomputer)等。

<plc>

接着,使用图3,说明控制生产线3的动作的plc2的硬件构成的一例。图3示意性例示出本实施方式涉及的plc2的硬件构成的一例。

如图3所示,plc2为电连接有控制部21、存储部22、输入输出接口23以及通信接口24的计算机。从而,plc2以控制生产线3的各机构31的动作的方式构成。此外,在图3中,将输入输出接口以及通信接口分别记载为“输入输出i/f”以及“通信i/f”。

控制部21包括cpu、ram、rom等,以根据程序以及数据执行各种信息处理的方式构成。存储部22例如由ram、rom等构成,存储控制程序221、状态数据222、日志数据223等。控制程序221为用于控制生产线3的动作的程序。状态数据222为关于各机构31的状态的数据。日志数据223为示出生产线3的动作的日志的数据。

输入输出接口23为用于与外部装置连接的接口,根据所连接的外部装置而适当构成。在本实施方式中,plc2经由输入输出接口23而连接于生产线3。此外,在能够取得对于单一装置不同的状态数据的情况下,该对象的单一装置既可以视为多个机构31,也可以视为单一机构31。因此,输入输出接口23的数量既可以与构成生产线3的机构31的数量相同,也可以与构成生产线3的机构31的数量不同。

通信接口24例如为有线lan模块、无线lan模块等,其为用于进行有线或者无线通信的接口。plc2能够通过通信接口24在与工序分析装置1之间进行数据通信。

此外,关于plc2的具体的硬件构成,根据实施方式,能够适当地进行构成要素的省略、置换以及追加。例如,控制部21可以包含多个处理器。存储部22可以通过控制部21所包含的ram以及rom构成。存储部22可以由硬盘驱动器、固态硬盘等的辅助存储装置构成。并且,plc2除了专门为提供的服务设计的信息处理装置之外,也可以根据控制的对象,置换为通用的台式pc、平板pc等。

[软件构成]

接着,使用图4,对于本实施方式涉及的工序分析装置1的软件构成的一例进行说明。图4示意性例示出本实施方式涉及的工序分析装置1的软件构成的一例。

工序分析装置1的控制部11在ram中展开存储于存储部12的工序分析程序121。并且,控制部11通过cpu解释以及执行在ram中展开的工序分析程序121,控制各构成要素。从而,如图4所示,本实施方式涉及的工序分析装置1,作为软件模块构成为具备第一取得部111、第二取得部112、第一分析部113、第二分析部114以及关系确定部115的计算机而构成。

第一取得部111取得与构成生产线3的多个机构31的状态相关的多个状态数据222。第二取得部112取得用于控制生产线3的动作的控制程序221。第一分析部113通过统计性地分析已取得的多个状态数据222,确定多个机构31间的关系的强度。第二分析部114通过分析已取得的控制程序221,确定多个机构31的顺序关系。在本实施方式中,第二分析部114使用执行控制程序221而获得的日志数据223,确定多个机构31的顺序关系。并且,关系确定部115,根据分别确定的关系的强度以及顺序关系,确定在生产线3内实施的工序中的多个机构31间的因果关系。

关于工序分析装置1的各软件模块,通过后述的动作例详细地说明。此外,在本实施方式中,对于工序分析装置1的各软件模块均通过通用的cpu实现的示例进行说明。但是,以上的软件模块的一部分或者全部可以通过一个或者多个专用的硬件处理器实现。并且,关于工序分析装置1的软件构成,根据实施方式,可以适当地进行软件模块的省略、置换以及追加。

§3动作例

接着,使用图5,说明工序分析装置1的动作例。图5例示出工序分析装置1的处理顺序的一例。此外,以下说明的工序分析装置1的处理顺序相当于本发明的“工序分析方法”。不过,以下说明的处理顺序不过为一例,各处理可以在可能的范围内进行变更。并且,关于以下说明的处理顺序,能够根据实施方式适当地进行步骤的省略、置换以及追加。

[步骤s101]

首先,在步骤s101中,控制部11作为第一取得部111而动作,从plc2取得与各机构31的状态相关的多个状态数据222。各机构31例如可以由输送机、机器人臂、伺服电机、气缸(成型机等)、吸盘、切刀装置、密封装置等装置或者该装置的一部分构成。并且,各机构31例如也可以为印刷机、安装机、回流炉、基板检查装置等的复合装置。并且,各机构31除了伴随上述的某些物理性的动作的装置之外,例如还可以包括下述进行内部处理的装置:通过各种传感器检测某些信息的装置、从各种传感器取得数据的装置、从取得的数据检测某些信息的装置、对于取得的数据进行信息处理的装置等。作为具体例,在具备检测在传送带上传送的对象物所带有的标记的光学传感器的生产线中,可以将该光学传感器以及使用通过光学传感器检测到的信息的装置作为各机构31对待。并且,各件的状态数据222例如可以为示出扭矩、速度、加速度、温度、电流、电压、气压、压力、流量、位置、尺寸(高度、长度、宽度)以及面积的至少之一的数据。这种状态数据222能够通过公知的传感器、照相机等的计测装置获得。例如,流量能够通过浮子传感器获得。并且,位置、尺寸以及面积能够通过图像传感器获得。

此外,状态数据222可以由从一个或者多个计测装置获得的数据构成。并且,状态数据222可以为从计测装置获得的数据本身,也可以为例如从图像数据取得的位置数据等的、对于从计测装置获得的数据应用了某些处理而能够取得的数据。各件状态数据222对应于各机构31而取得。

各计测装置以能够监视生产线3的各机构31的方式适当配置。plc2使生产线3运转,从各计测装置收集各件状态数据222。控制部11从plc2取得与使生产线3正常运转时的各机构31的状态相关的状态数据222。从而,控制部11能够取得多个状态数据222。当多个状态数据222的取得完成时,控制部11将处理推进至下一步骤s102。

[步骤s102]

在下一步骤s102中,控制部11作为第二取得部112而动作,从plc2取得控制程序221。控制程序221以能够通过plc2执行的方式,例如可以使用下述语言中的至少之一描述:梯形图语言、功能块图语言、结构化文本语言、指令表语言、顺序功能图语言、c语言。当控制程序221的取得完成时,控制部11将处理推进至下一步骤s103。此外,本步骤s102既可以与上述步骤s101并列地执行,也可以在上述步骤s101之前执行。

[步骤s103]

在接下来的步骤s103中,控制部11作为第一分析部113动作,通过统计性地分析在步骤s101中取得的多个状态数据222,确定生产线3内的多个机构31间的关系的强度。当多个状态数据222的分析处理完成时,控制部11将处理推进至下一步骤s104。此外,本步骤s103只要在上述步骤s101之后,可以在任一定时执行。例如,本步骤s103也可以在上述步骤s102之前执行。

<状态数据的分析处理>

在此,进一步使用图6及图7,详细地说明统计性分析多个状态数据222的处理。图6例示出分析状态数据222的处理的顺序的一例。图7示意性例示出通过图6所示的顺序分析状态数据222的过程的一例。在以下的说明中,为了方便说明起见,生产线3作为多个机构31具备四个机构(例如,四个伺服电机)f1~f4,在上述步骤s101中,假定控制部11取得各机构f1~f4的状态数据222。

(步骤s1301)

首先,在步骤s1301中,控制部11从通过步骤s101取得的各件状态数据222算出特征量2221。特征量2221的种类可以没有特别地限定,可以根据实施方式适当选择。并且,算出特征量2221的方法可以根据实施方式适当确定。

作为具体例,在本实施方式中,控制部11通过下述的方法从状态数据222算出特征量2221。首先,控制部11为了规定算出特征量2221的处理范围,将取得的各件的状态数据222按照每帧分割。各帧的长度可以根据实施方式适当地设定。

控制部11例如可以将各件的状态数据222按照一定时长的每帧分割。不过,生产线3不一定仅限于以一定时间间隔动作。因此,当将各件的状态数据222按照一定时长的每帧分割时,反映于各帧的各机构31的动作可能偏差。

因此,控制部11也可以将状态数据222按照每个节拍时间进行帧分割。节拍时间为生产线3生产规定个数的产品所花费的时间。该节拍时间能够根据控制生产线3的信号,例如plc2控制生产线3的各机构31的动作的控制信号确定。

使用图8,说明控制信号和节拍时间的关系。图8示意性例示出控制信号和节拍时间的关系。如图8所示,对于重复产品的生产的生产线3的控制信号对应于规定个数的产品的生产,成为“开启”和“关闭”周期性表示的脉冲信号。

因此,控制部11从plc2取得该控制信号,将从取得的控制信号的上升沿(“开启”)至下一个上升沿(“开启”)为止的时间作为节拍时间。并且,如图8所例示,控制部11能够按照每个节拍时间将状态数据222分割为帧。

接着,控制部11从状态数据222的各帧算出特征量2221的值。在状态数据222为如计测数据等的连续值数据的情况下,控制部11例如将帧内的振幅、最大值、最小值、平均值、分散值、标准偏差、瞬时值(一点采样)等作为特征量2221而算出。并且,在状态数据222为如检测数据等的离散值数据的情况下,控制部11例如可以将各帧内的“开启”时间、“关闭”时间、占空比(duty比)、“开启”次数、“关闭”次数等作为特征量2221而算出。从而,当各特征量2221的算出完成时,控制部11将处理推进至下一步骤s1302。

(步骤s1302)

返回图6及图7,在下一步骤s1302中,控制部11算出各特征量2221间的相关系数或者偏相关系数。相关系数能够通过下式1的计算式算出。并且,偏相关系数能够通过下式2的计算式算出。

[式1]

此外,rij示出矩阵2222的第i行第j列的要素。xi及xj对应于示出从各件的状态数据222算出的特征量2221的数据。xi及xj分别示出xi及xj的标本平均。n示出用于相关计算的各特征量2221的数量。

[式2]

此外,将矩阵r(rij)的逆矩阵表示为r-1(rij),rij示出矩阵2222的逆矩阵第i行第j列的要素。

从而,控制部11能够获得以相关系数或者偏相关系数为各要素的矩阵2222。各特征量2221间的相关系数以及偏相关系数示出对应的机构31间的关系的强度。即,通过矩阵2222的各要素,确定对应的机构31间的关系的强度。当各特征量2221间的相关系数或者偏相关系数的算出完成时,控制部11将处理推进至下一步骤s1303。

(步骤s1303)

在下一步骤s1303中,控制部11根据各特征量2221间的相关系数或者偏相关系数,构筑示出对应的机构31间的关系的强度的无向图信息2223。

例如,控制部11形成对应于各机构31的节点。并且,在对于两个机构31间算出的相关系数或者偏相关系数的值在阈值以上的情况下,控制部11通过边缘连结两节点之间。另一方面,在对于两个机构31间算出的相关系数或者偏相关系数的值不足阈值的情况下,控制部11不通过边缘连结对应的两节点之间。此外,阈值可以为工序分析程序121内规定的固定值,也可以为能够通过操作员等变更的设定值。并且,边缘的粗细可以对应于所对应的相关系数或者偏相关系数的值的大小决定。

从而,能够形成图7所例示的无向图信息2223。在图7的示例中,形成对应于四个机构f1~f4的四个节点。并且,在机构f1及f2的节点间、机构f1及f3的节点间、机构f2及f3的节点间以及机构f3及f4的节点间分别形成边缘。并且,与机构f1及f3之间以及机构f3及f4之间的相关大于其他机构间的相关相对应地,机构f1及f3的节点间以及机构f3及f4的节点间的边缘相比其他的边缘较粗地形成。如上所述,当示出多个机构31间的关系的强度的无向图信息2223的构筑完成时,本实施方式涉及的状态数据222的分析处理完成,控制部11将处理推进至下一步骤s104。

此外,在图7的示例中,无向图信息2223通过图像表现所形成的无向图。但是,无向图信息2223的输出形式不限于图像,也可以通过文本等表现。并且,在上述示例中,通过相关系数或者偏相关系数与阈值的比较,在关系弱的节点(机构31)间不形成边缘。但是,除去关系弱的节点间的边缘的方法不限于上述示例。例如,在形成以边缘连结全部的节点的图之后,控制部11以表示偏差度的拟合度指标(gfi、srmr等)不超过阈值的方式,可以从相关系数或者偏相关系数小的边缘开始,依次删除形成的图的边缘。

[步骤s104]

返回图5,在接下来的步骤s104中,控制部11作为第二分析部114动作,通过分析在步骤s102中取得的控制程序221,确定生产线3内的多个机构31间的顺序关系。在本实施方式中,控制部11根据通过使用控制程序221使生产线3运转而获得的日志数据223,确定多个机构31的顺序关系。当控制程序221的分析处理完成时,控制部11将处理推进至下一步骤s105。此外,本步骤s104,只要在上述步骤s102之后,可以在任一定时执行。例如,在上述步骤s102先于上述步骤s101执行的情况下,本步骤s104可以在上述步骤s101之前执行。

<控制程序的分析处理>

在此,进一步使用图9,详细地说明分析控制程序221的处理。图9例示出分析控制程序221的处理的顺序的一例。在以下的说明中,为了方便说明起见,与上述同样地,生产线3作为多个机构31具备四个机构f1~f4,在上述步骤s102中,假定控制部11取得使用了与四个机构f1~f4相对应的变量v1~v4的控制程序221。

(步骤s1401)

首先,在步骤s104中,控制部11进行取得的控制程序221的语法分析,从该控制程序221构筑抽象语法树。可以将通过自顶向下语法分析或者自底向上语法分析的公知的语法分析方法用于抽象语法树的构筑。例如,可以将按照确定的形式语法处理文字列的语法分析器用于抽象语法树的构筑。当抽象语法树的构筑完成时,控制部11将处理推进至下一步骤s1402。

图10例示出从控制程序221内的“if(a>0){v1=a;}else{v2=-a;}”的结构获得的抽象语法树2211。如图10所例示的抽象语法树为为了解释程序的意思而以树结构表现的该程序的结构的数据结构。

具体而言,控制部11省略程序中所使用的记号(字句)中的、该程序的意思解释所不需要的括号等的记号,提取与该程序的意思解释有关系的记号。并且,控制部11在节点上对应地附加运算符,在叶上对应地附加变量等的运算对象。控制部11通过如上进行控制程序221的语法分析,能够构筑图10所例示的抽象语法树。此外,如上构成的抽象语法树表示变量、运算符以及节点间的关系(运算和被运算的关系等)。关于该抽象语法树的结构,可以在不改变其示出的内容的范围内适当地进行标记的修改、变更、省略等。

(步骤s1402)

在接下来的步骤s1402中,控制部11从通过步骤s1401构筑的抽象语法树提取关于各机构31的变量(v1~v4)和包含条件分支及代入运算的运算符。例如,在获得图10所示的抽象语法树2211的情况下,控制部11从该抽象语法树2211提取(“if”、“v1”、“=”、“a”、“v2”、“=”、以及“-a”)。当该提取完成时,控制部11将处理推进至下一步骤s1403。

(步骤s1403以及步骤s1404)

在接下来的步骤s1403中,控制部11顺序地排列通过步骤s1402提取的变量以及运算符,在与成为确定因果关系的对象的各机构31所对应的变量(v1~v4)相关联的部分限定监视执行顺序的对象。在上述示例中,控制部11进一步从(“if”、“v1”、“=”、“a”、“v2”、“=”、以及“-a”)中提取(“if”、“v1”、以及“v2”)。

并且,在接下来的步骤s1404中,通过随机选择条件分支,试行控制程序221的执行,从而进行限定的各变量的排序的初始化。具体而言,控制部11在该控制程序221执行的试行中,通过监视限定的各变量的被使用的顺序,能够进行该各变量的排序的初始化。

图11a例示该初始化的一例。图11a的图2212作为初始化的结果示出以下的(1)~(5)的顺序关系。

(1)首先使用变量“v1”~“v4”中的变量“v1”。

(2)在变量“v1”之后,以0.5的概率使用变量“v2”,以0.5的概率使用变量“v3”。

(3)在变量“v2”之后,以1的概率使用变量“v3”。

(4)在变量“v3”之后,以1的概率使用变量“v4”。

(5)最后使用变量“v1”~“v4”中的变量“v4”。

当该初始化完成时,控制部11将处理推进至下一步骤s1405。

(步骤s1405)

在接下来的步骤s1405中,控制部11从plc2取得示出使用控制程序221而使生产线3正常运转时的执行结果的日志数据223。plc2例如,在收集上述状态数据222时,可以一并形成示出控制程序221的执行结果的日志数据223。这种情况下,日志数据223中记录有时间戳、使用的变量的值等。并且,例如,可以在控制程序221中设置执行各代码行的频率、被执行的代码行、用于收集代码的各块消耗的计算时间等的信息的调试模式。这种情况下,plc2通过以调试模式执行控制程序221,能够形成记录各信息的日志数据223。控制部11也可以从plc2取得如上形成的日志数据223。当日志数据223的取得完成时,控制部11将处理推进至下一步骤s1406。

(步骤s1406)

在接下来的步骤s1406中,控制部11参照在步骤s1405中取得的日志数据223,通过进行根据条件分支的执行结果的、上述各变量(v1~v4)的排序,确定生产线3内的各机构31的顺序关系。

图11b例示该排序的结果的一例。图11b的图2213示出作为使用日志数据223进行排序的结果示出以下的(a)~(e)的顺序关系。

(a)首先使用变量“v1”~“v4”中的变量“v1”。

(b)在变量“v1”之后,以0.01概率使用变量“v2”,以0.99率使用变量“v3”。

(c)在变量“v2”之后,以1的概率使用变量“v3”。

(d)在变量“v3”之后,以1的概率使用变量“v4”。

(e)最后使用变量“v1”~“v4”中的变量“v4”。

如上所述,当多个机构31的顺序关系的确定完成时,本实施方式涉及的控制程序221的分析处理完成,控制部11将处理推进至下一步骤s105。

[步骤s105]

返回图5,在接下来的步骤s105中,控制部11作为关系确定部115而动作。即,控制部11根据分别通过步骤s103以及s104确定的生产线3内的多个机构31间的关系的强度以及顺序关系,确定在该生产线3内实施的工序中的多个机构31间的因果关系。

在本实施方式中,控制部11通过将通过上述步骤s1406确定的各机构31的顺序关系应用于通过上述步骤s1303构筑的无向图信息2223,形成示出各机构31间的因果关系的有向图信息。此时,控制部11确定在各机构31的顺序关系中发生的概率低于阈值的顺序(切换),从构成无向图信息2223的边缘删除与确定的顺序对应的边缘。此外,阈值可以为工序分析程序121内规定的固定值,也可以为能够通过操作员等变更的设定值。

图12例示出形成的有向图信息的一例。图12的有向图122示出以下的(a)~(d)的因果关系。

(a)首先使用机构“f1”~“f4”中的机构“f1”或者“f2”。

(b)在机构“f1”或者“f2”之后使用机构“f3”。

(c)在机构“f3”之后使用机构“f4”。

(d)最后使用机构“f1”~“f4”中的机构“f4”。

此外,在图12的示例中,与从变量“v1”向“v2”的顺序的发生概率低相对应地,在无向图信息2223中存在的机构“f1”及“f2”间的边缘被删除。并且,有向图122的各边缘的粗细对应于无向图信息2223的各边缘的粗细而设定。如上,当有向图信息的形成完成时,控制部11将处理推进至下一步骤s106。

此外,在图12的示例中,有向图信息通过图像表现有向图(有向图122)。但是,有向图信息的输出形式不限于图像,也可以通过文本等表现。并且,在上述示例中,以边缘的粗细表现节点(机构31)间的关系的强度。但是,表现节点间的关系的强度方法不限于上述示例。可以通过在各边缘的附近赋予数字,表现各节点间的关系的强度。

[步骤s106]

在接下来的步骤s106中,控制部11输出通过步骤s105形成的有向图信息。例如,控制部11以图像形式输出在显示器等的输出装置15中形成的有向图。如上,控制部11结束本动作例涉及的处理。

[特征]

如上,在本实施方式中,通过上述步骤s104,通过分析控制程序221,确定生产线3内的多个机构31间的顺序关系。并且,通过将从控制程序221确定的顺序关系应用于通过上述步骤s103从状态数据222导出的示出关系的强度的无向图信息,形成示出在生产线3内实施的工序中的多个机构31间的因果关系的有向图信息。在此,控制程序221规定各机构31的动作。因此,在分析多个机构31间的因果关系的过程中,通过使用控制程序221,能够适当地确定该多个机构31间的顺序关系。因此,根据本实施方式,能够正确地模型化构成生产线3的多个机构31间的因果关系。

并且,在本实施方式中,通过步骤s106,作为分析构成生产线的多个机构间的因果关系的结果,输出图12(以及后述的图20)所例示的有向图信息。该输出的有向图信息清楚地示出各机构间的因果关系。因此,根据本实施方式,通过输出的有向图信息,即使非熟练的维护人员,也能够容易地把握构成生产线的多个机构间的因果关系。

[实施例]

接着,说明通过上述步骤s101~s106的处理形成示出各机构31间的因果关系的有向图信息的过程的实施例。不过,本发明并不限定于以下的实施例。

作为实施例,形成示出具有以下条件的生产线的各机构间的因果关系的有向图信息。

<各种条件>

·生产线:将两个构件固定于基板上的安装位置的制造装置

·机构(6个):

-调整基板(标记)的x轴的位置的第一机构

-调整基板(标记)的y轴的位置的第二机构

-调整第一构件的a轴的位置的第三机构

-调整第一构件的b轴的位置的第四机构

-调整第二构件的c轴的位置的第五机构

-调整第二构件的d轴的位置的第六机构

·控制程序的编程语言:st语言

·计测装置:照相机

·状态数据:通过各机构调整的各轴的位置

·特征量:瞬时值

·工序分析装置:通用pc

此外,为了方便说明起见,也将第一~第六机构分别记载为“标记位置x轴”、“标记位置y轴”、“第一构件位置a轴”、“第一构件位置b轴”、“第二构件位置c轴”以及“第二构件位置d轴”。“x轴”、“a轴”以及“c轴”对应于通过照相机获得的图像的纵轴,“y轴”、“b轴”以及“d轴”对应于该图像的横轴。

在此,使用图13a~图13c,对于构成实施例涉及的生产线的制造装置进行说明。图13a~图13c示意性例示出该制造装置的构成。如图13a~图13c所示,实施例涉及的制造装置包括:搬运基板52的传送带51、搬运第一构件53的第一机器人臂531、搬运第二构件54的第二机器人臂541、拍摄作业场所的照相机55。通过第一机构及第二机构调节传送带51上的基板52的位置,通过第三机构及第四机构调节第一机器人臂531所把持的第一构件53的位置,通过第五机构及第六机构调节第二机器人臂541所把持的第二构件54的位置。

制造装置通过传送带51将基板52搬运至规定的位置(图13a)。标记521设置于基板52的面,通过该标记521进行定位。接着,制造装置通过第一机器人臂531,将第一构件53固定于基板52的面所设置的第一安装位置522(图13b)。并且,制造装置通过第二机器人臂541,将第二构件54固定于设置于基板52的面的第二安装位置523(图13c)。从而,能够制造将两个构件(53、54)安装于基板52的上表面的产品。

在本实施例中,为了实施状态数据的分析处理,断续地制造1000个产品,通过照相机55拍摄其过程。此外,每一个产品所花费的制造时间为一分钟左右。并且,在获得的图像数据551内,通过确定基板52(标记521)的x轴以及y轴、第一构件53的a轴以及b轴、以及第二构件的c轴以及d轴的位置(坐标),获得对应于各机构的特征量。图14示出通过上述获得的各特征量的一部分。

接着,通过将图14所示的各特征量应用于上述式1所示的代数式,算出示出各特征量间的相关的相关系数矩阵。图15示出算出的相关系数矩阵。通过提取该相关系数矩阵的各要素中的相关系数的值为阈值0.2以上的要素,获得示出各机构间的关系的强度的无向图信息。图16示出如上获得的无向图信息。

并且,由于实施控制程序的分析处理,所以获得上述制造装置所使用的控制程序。图17示出如上获得的控制程序的一部分。接着,通过使用公知的软件(名称:sysmac(注册商标)studio),实施该控制程序的语法分析,进行抽象语法树的构筑。图18a~图18d示出如上构筑的抽象语法树的一部分。图18a~图18d所示的各抽象语法树对应于图17的附图标记561~564的各结构。将上述步骤s1402~s1404的处理应用于该抽象语法树,进行对应于各机构的各变量的排序的初始化。进一步,通过使用由上述制造工序获得的日志数据,确定正常运转时的各机构的顺序关系。图19示出如上确定的各机构的顺序关系。此外,图19的附加至边缘的数字示出节点间的切换发生的概率,箭头的方向示出发生的切换的方向。

并且,将通过控制程序的分析确定的顺序关系(图19)应用于通过状态数据的分析获得的无向图信息(图16),从而获得示出各机构的因果关系的有向图信息。在形成有向图信息时,删除图19所示的顺序关系中产生的概率低于阈值0.1的切换所对应的边缘。图20示出如上获得的有向图信息。图20的有向图信息示出,制造装置在各轴上按照“基板(标记)的移动”、“第一构件的安装”以及“第二构件的安装”的顺序动作的因果关系。该因果关系与制造装置的实际的动作一致。因此可知,根据上述实施方式涉及的方法,能够正确地模型化构成生产线的多个机构间的因果关系。

§4变形例

以上详细地说明了本发明的实施方式,前述的所有说明在所有点上不过为本发明的例示。可以说,能够不脱离本发明的范围而进行各种改良或变形。例如,能够进行以下的变更。此外,以下关于与上述实施方式相同的构成要素使用同样的附图标记,关于与上述实施方式同样的点,适当地省略说明。也可以适当组合以下的变形例。

<4.1>

在上述实施方式中,工序分析装置1从作为控制生产线3的制造装置即plc2取得控制程序221。但是,成为分析对象的控制程序的取得对象,不限于使用该控制程序的控制装置,可以根据实施方式适当选择。例如,在控制程序被保存于nas(网络附加存储,networkattachedstorage)等的外部的存储装置的情况下,工序分析装置1可以从该外部的存储装置取得控制程序。并且,例如在控制程序被保存于cd、半导体存储器等的存储介质的情况下,工序分析装置1可以从该存储介质取得控制程序。特别是,在上述实施方式中,通过构筑抽象语法树,进行控制程序的分析。该抽象语法树能够在编译通过程序语言描述的程序的过程中形成。因此,优选的是,工序分析装置1将编译前的程序作为控制程序221而取得。在控制装置未保持编译前的程序的情况下,工序分析装置1可以从控制装置以外的外部装置、存储介质等取得由控制装置执行的控制程序所对应的编译前的程序。

<4.2>

在上述实施方式中,控制程序221以能够通过plc2执行的方式,例如使用下述语言中的至少之一描述:梯形图语言、功能块图语言、结构化文本语言、指令表语言、顺序功能图语言、c语言。但是,成为分析对象的控制程序的种类,不限于上述示例,可以根据实施方式适当选择。例如,成为分析对象的控制程序可以使用java(注册商标)、python、c++、ruby、lua等描述。

<4.3>

在上述实施方式中,工序分析装置1从控制生产线3的plc2取得状态数据222。但是,成为分析对象的状态数据的取得对象,不限于控制生产线的控制装置,可以根据实施方式适当选择。例如,在状态数据被保存于nas等的外部的存储装置的情况下,工序分析装置1可以从该外部的存储装置取得状态数据。并且,例如在状态数据被保存于cd、半导体存储器等的存储介质的情况下,工序分析装置1可以从该存储介质取得状态数据。进一步,例如,工序分析装置1可以从各计测装置直接取得状态数据。

<4.4>

在上述实施方式中,工序分析装置1将分析多个机构31间的因果关系的结果作为有向图信息输出。但是,分析结果的输出形式不限于上述示例,可以根据实施方式适当选择。因果关系的分析结果例如可以通过切换概率矩阵、文本等表现。

并且,在上述实施方式中,使用通过步骤s1303构筑的无向图信息,形成有向图信息。但是,形成有向图信息的方法不限于上述示例。例如,工序分析装置1可以省略上述步骤s1303,使用相关系数或者偏相关系数,形成有向图信息。

<4.5>

在上述实施方式中,工序分析装置1和plc2分别通过计算机构成。但是,工序分析装置1和plc2也可以通过一台计算机构成。即,一台计算机可以具备工序分析装置以及生产线的控制装置双方的功能。

<4.6>

在上述实施方式中,工序分析装置1在分析状态数据222的过程中,在算出相关系数或者偏相关系数之前,从各件的状态数据222算出特征量。但是,统计性分析状态数据222的方法可以不限于上述示例。例如,工序分析装置1可以直接使用各件的状态数据222而算出相关系数或者偏相关系数。

并且,在上述实施方式中,为了示出各机构31间的关系的强度,使用相关系数或者偏相关系数。但是,示出各机构间的关系的强度的指标不限于相关系数或者偏相关系数,可以根据实施方式适当选择。例如,作为示出各机构间的关系的强度的指标,可以使用mic(最大信息系数,maximuminformationcoefficient)、hsic(希尔伯特-施密特独立性,hilbert-schmidtindependencecriteria)、相互信息量等。

<4.7>

在上述实施方式中,工序分析装置1使用抽象语法树,进行控制程序221的分析。但是,分析控制程序的方法,不限于上述示例,可以根据实施方式适当选择。例如,工序分析装置1可以使用在编译过程中形成的中间语言的代码分析控制程序。

并且,在上述实施方式中,在从抽象语法树提取变量和条件分支之后,参照使用控制程序221使生产线3运转而获得的日志数据223,进行基于条件分支的执行结果的各变量的排序,从而确定多个机构31的顺序关系。但是,基于日志数据223确定多个机构31的顺序关系的方法可以不限于上述示例。上述工序分析装置1可以通过适当地分析日志数据223,确定多个机构31的顺序关系。

<4.8>

在上述实施方式中,工序分析装置1在步骤s103中,作为多个机构31间的连接状态,确定多个机构31间的关系的强度。但是,连接状态的表现方法,可以不限于上述示例,可以根据实施方式适当决定。例如,多个机构31间的连接状态可以通过关系的有无、关系的变化等表现。关系的变化例如也可以通过以关系的强度或者有无表现的关系性的时序的差值(变化量)示出。

<4.9>

在上述实施方式中,工序分析装置1在步骤s103中,通过算出相关系数或者偏相关系数,统计性地分析多个状态数据222。但是,统计性地分析多个状态数据222的方法,可以不限于上述示例,可以根据实施方式适当决定。控制部11在上述步骤s103中,例如可以通过glasso(图形lasso(leastabsoluteshrinkageandselectionoperator))、共分散选择法等,统计性地分析多个状态数据222。从而,控制部11能够获得示出多个机构31间的连接状态的无向图。并且,在步骤s103中,控制部11例如通过sgs(spirtes,glymour,andscheines)、pc(peter&clark)、fci(快速因果推论,fastcausalinference)、lingam(线性非高斯非循环模型,linernon-gaussianacyclicmodel)、贝叶斯网络等,统计性地分析多个状态数据222。从而,控制部11能够获得示出多个机构31间的连接状态的有向图。

<4.10>

在上述实施方式中,工序分析装置1在步骤s103中,统计性地分析多个状态数据222。但是,分析多个状态数据222的方法不限于上述统计性方法,控制部11在步骤s103中可以通过统计性方法以外的方法,分析多个状态数据222。

例如,控制部11可以从通过各机构31获得的各件的状态数据222算出特征量,根据算出的各特征量的变化,确定多个机构31间的连接状态。算出的特征量的种类可以与上述步骤s1301相同。作为根据各特征量的变化来确定连接状态的方法的一例,当在具有关系的机构31间发生故障等异常时,从具有该关系的各机构31获得的特征量将大幅地变化。因此,控制部11可以将算出的各特征量的变化量与规定的阈值相比较,提取发生阈值以上的变化的特征量。然后,控制部11可以假定与所提取的特征量对应的机构31间具有关系,而确定连接状态。

另外,例如,控制部11也可以利用通过决策树、逻辑回归、贝叶斯网络、神经网络等的机器学习获得的学习模型,进行多个状态数据222的分析。作为利用学习模型的方法的一个示例,控制部11可以取得已经进行了机器学习的学习完毕的学习模型,该机器学习用于习得根据状态数据来判定是否发生异常的能力。并且,控制部11也可以将各个状态数据222输入已经取得的学习模型,从学习完毕的学习模型取得示出对应的机构31是否发生异常的输出。从而,控制部11可以通过将被判定为发生了异常的机构31之间视为具有关系,而能够确定多个机构31间的连接状态。

<4.11>

在上述实施方式中,工序分析装置1在上述步骤s104中,使用日志数据223,确定多个机构31间的顺序关系。但是,确定多个机构31间的顺序关系的方法可以不限于使用上述的日志数据223的方法。工序分析装置1也可以不使用日志数据223而确定多个机构31间的顺序关系。

图21为示出本变形例中的分析控制程序221的处理顺序的一例的流程图。例如,控制部11作为第二分析部114而动作,代替上述步骤s104,可以通过图21所示的处理顺序确定多个机构31间的顺序关系。

(步骤s1411)

在步骤s1411中,控制部11通过进行取得的控制程序221的语法分析,从控制程序221构筑抽象语法树。抽象语法树的构筑可以与上述步骤s1401同样地进行。当抽象语法树的构筑完成时,控制部11将处理推进至下一步骤s1412。

(步骤s1412)

在步骤s1412中,控制部11从通过步骤s1411构筑的抽象语法树提取关于各机构31的变量。变量的提取可以与上述步骤s1402同样地进行。当关于各机构31的变量的提取完成时,控制部11将处理推进至下一步骤s1413。

(步骤s1413)

在步骤s1413中,控制部11从通过步骤s1411构筑的抽象语法树生成控制流程图。控制流程图通过图示出执行程序时可能通过的全部路径。

在此,进一步使用图22,说明控制流程图。图22示意性例示出程序的一例(程序501)和从该程序的一例导出的控制流程图的一例(控制流程图502)。在图22的示例中,程序501包含处理l1~l6。通过使用从该程序501构筑的抽象语法树,进行程序501的依存性分析,能够获得图22所示的控制流程图502。

控制流程图502示出程序501的处理流程(实线的箭头)、数据的依存性(虚线的箭头)以及控制的依存性(单点划线的箭头)。处理的流程示出程序内的处理执行的顺序。例如,在程序501中,在处理l1之后,执行处理l2。因此,在控制流程图502中,处理l1和处理l2由示出处理流程的箭头连结。另外,处理l4是分支语法,根据处理l4的执行结果,将决定接下来执行的处理是处理l5或者处理l6中的任一处理。因此,处理l4通过示出处理的流程的箭头与处理l5及处理l6连结。

数据的依存性示出施加影响的处理的关系。例如,在程序501中,处理l2对于处理l4及处理l5的结果施加影响。因此,在控制流程图502中,处理l2通过示出数据的依存性的箭头与处理l4及处理l5连结。并且,控制的依存性示出通过条件分支等决定执行的可否的处理的关系。例如,在程序501中,根据处理l4的执行结果决定处理l5的执行的可否。因此,在控制流程图502中,处理l4通过示出控制的依存性的箭头与处理l5连结。

如上所述,根据控制流程图,能够确定包含控制程序221中的变量的运算的处理之间的依存关系。控制部11通过使用抽象语法树,进行控制程序221的依存性分析,生成控制流程图。并且,当控制流程图的生成完成时,控制部11将处理推进至下一步骤s1414。此外,本步骤s1413既可以在上述步骤s1412之前执行,也可以与上述步骤s1412并列地执行。

(步骤s1414以及步骤s1415)

在步骤s1414中,控制部11根据生成的控制流程图,确定提取的变量的依存关系。在本变形例中,通过上述步骤s1413以及本步骤s1414,控制部11根据在步骤s1411中构筑的抽象语法树,确定控制程序221的处理中的变量的依存关系。并且,在接下来的步骤s1415中,控制部11根据确定的变量的依存关系,确定多个机构31间的顺序关系。当多个机构31的顺序关系的确定完成时,本变形例涉及的控制程序221的分析处理完成。

在此,进一步使用图23,说明步骤s1414以及s1415的处理。图23为示出根据控制流程图而确定各变量间的依存关系,根据确定的各变量间的依存关系而确定多个机构31间的顺序关系的处理顺序的一例的流程图。

(步骤s401)

在步骤s401中,控制部11通过进行在步骤s1412提取的变量的分组来生成对应于各机构31的变量组。

图24a示意性例示出生成变量组的场面的一例。在控制程序221被分割为多个程序的情况下,并不限定于向对应于同一机构31的变量赋予相同的名称。因此,控制部11从通过步骤s1412获得的变量中挑出对应于各机构31的关注变量。接着,控制部11从通过步骤s1412获得的变量中提取依存于各关注变量的全局变量。并且,控制部11将各关注变量和依存于各关注变量的全局变量的组,作为对应于各机构31的变量组而生成。从而,控制部11能够进行对应于各机构31的变量的分组。当变量的分组完成时,控制部11将处理推进至下一步骤s1402。

(步骤s402)

在步骤s402中,控制部11从通过步骤s401生成的变量组中通过循环选择两个变量组。从而,控制部11生成变量组对(组合),将生成的变量组对列表。例如,假设生成d(a)、d(b)、及d(c)的三个变量组。这种情况下,控制部11通过本步骤s402的处理,能够将(d(a)、d(b))、(d(a)、d(c))、(d(b)、d(c))这三个变量组对列表。当变量组对的列表完成时,控制部11将处理推进至下一步骤s403。

(步骤s403)

在步骤s403中,控制部11从通过步骤s402列表的变量组对中取出一个变量组对,通过循环从取出对的各变量组逐一地取出变量。从而,控制部11生成各变量组所包含的变量对(组合),将生成的变量对列表。例如,取出d(a)、d(b))对,变量组d(a)中包含aa1、aa2这两个变量,变量组d(b)中包含bb1、bb2这两个变量。这种情况下,控制部11通过本步骤s403的处理,能够将(aa1、bb1)、(aa1、bb2)、(aa2、bb1)、(aa2、bb2)这四个变量对列表。当变量对的列表完成时,控制部11将处理推进至下一步骤s404。

(步骤s404)

在步骤s404中,控制部11从通过步骤s403列表的变量对中取出一个变量对,根据控制流程图导出所取出的对的变量间的依存关系。例如,假设取出(aa1、bb1)对。在通过控制流程图示出在包含aa1的处理之后执行包含bb1的处理这一依存关系的情况下,控制部11通过本步骤s404,能够导出存在aa1在先bb1在后这一顺序的依存关系。同样地,在通过控制流程图示出在包含bb1的处理之后执行包含aa1的处理这一依存关系的情况下,控制部11通过本步骤s404,能够导出存在aa1在后bb1在先这一顺序的依存关系。另一方面,在控制流程图中,在包含aa1的处理和包含bb1的处理未被直接地也未被间接地连结的情况下,控制部11通过本步骤s404能够确定在aa1和bb1之间不存在依存关系。当这种依存关系的导出完成时,控制部11将处理推进至下一步骤s405。

(步骤s405)

在步骤s405中,控制部11对于全部的变量对判定步骤s404的处理是否完成。在判定为未完成对于全部的变量对的步骤s404的处理的情况下,控制部11使处理返回步骤s404,对于其他的变量对执行导出依存关系的处理。从而,控制部11对于通过步骤s403列表的全部的变量对,执行通过步骤s404的依存关系的导出处理。当对于全部的变量对完成依存关系的导出处理时,控制部11当判定为对于全部的变量对完成步骤s404的处理时,将处理推进至下一步骤s406。

(步骤s406)

在步骤s406中,控制部11将通过重复步骤s404的处理而获得的各变量间的依存关系,汇总为通过步骤s403取出对的变量组间的依存关系。从而,控制部11确定取出对的变量组间的依存关系、即对应于取出对的变量组的两个机构31间的顺序关系。

图24b示意性例示出能够在各变量间获得的依存关系。在配对p1中,能够获得变量组d(axis001)内的变量在先、变量组d(axis002)在后的顺序的依存关系。这种情况下,控制部11通过步骤s406,能够确定存在对应于变量组d(axis001)的机构31在先、对应于变量组d(axis002)的机构31在后这一顺序关系。也就是说,在顺序的依存关系偏于一方向的情况下,控制部11能够确定在两个机构31间存在该方向的顺序关系。

另一方面,在配对p2中,存在具有变量组d(axis001)内的变量在后、变量组d(sensor001)在先的这一顺序的依存关系的变量对、和具有变量组d(axis001)内的变量在先、变量组d(sensor001)在后的这一顺序的依存关系的变量对。这种情况下,控制部11可以确定对应于取出对的变量组的两个机构31间存在双方向的顺序关系。或者,控制部11可以基于规定的方法,通过采用对应于取出对的变量组的两个机构31间的双方向的顺序关系中的某顺序关系,确定两个机构31间的顺序关系。

例如,控制部11可以从用户接收两个机构31间的双方向的顺序关系中所采用的顺序关系的选择。这种情况下,控制部11能够将用户指定的顺序关系作为两个机构31间的顺序关系而采用。

此外,在任一变量对中均不存在依存关系的情况下,控制部11能够确定在对应于取出对的变量组的两个机构31间不存在顺序关系。从而,当两个机构31间的顺序关系的确定完成时,控制部11将处理推进至下一步骤s407。

(步骤s407)

在步骤s407中,控制部11对于全部的变量组对判定步骤s403~s406的一系列的处理是否完成。在判定为未完成对于全部的变量组对的步骤s403~s406的一系列的处理的情况下,控制部11使处理返回步骤s403,对于其他的变量组对执行步骤s403~s406的一系列的处理。从而,控制部11对于通过步骤s402列表的全部的变量组对,执行通过步骤s403~s406的确定机构31间的顺序关系的处理。

图24c示意性例示出根据各变量间的顺序的依存关系而确定的多个机构31的顺序关系的一例。对于全部的变量组对执行步骤s403~s406的一系列的处理的结果是,控制部11能够确定图24c所例示的全部的机构31间的顺序关系。当如上确定全部的机构31间的顺序关系的处理完成时,控制部11判定对于全部的变量组对完成了步骤s403~s406的处理,结束使用控制流程图确定多个机构31的顺序关系的处理。

如上所述,根据本变形例涉及的处理顺序,不使用日志数据223,通过分析控制程序221而能够确定多个机构31的顺序关系。此外,在本变形例中,根据构筑的抽象语法树,确定控制程序221的处理中的变量的依存关系的步骤包括:从构筑的抽象语法树生成控制流程图的步骤(步骤s1413);以及根据生成的控制流程图确定提取的变量的依存关系的步骤(步骤s1414)。但是,根据构筑的抽象语法树确定控制程序221的处理中的变量的依存关系的步骤不限于上述示例。控制部11也可以不使用控制流程图,根据抽象语法树确定控制程序221的处理中的变量的依存关系。

<4.12>

在本实施方式中,为了确定多个机构31间的因果关系,使用从状态数据222确定的多个机构31间的关系的强度(连接状态)以及从控制程序221确定的多个机构31的顺序关系。但是,用于因果关系的确定的信息,可以不仅限于上述的信息。上述工序分析装置1可以进一步使用关系的强度(连接状态)以及顺序关系以外的信息,确定多个机构31间的因果关系。

图25示意性例示出本变形例涉及的工序分析装置1a的软件构成的一例。工序分析装置1a还包括:第三取得部116,取得机构数据250;第三分析部117,通过分析已取得的机构数据250,将在生产线中实施的工序模型化,确定示出多个机构31的顺序关系的工序模型。并且,关系确定部115根据分别确定的关系的强度、顺序关系以及工序模型,确定在生产线3内实施的工序中的多个机构31间的因果关系。除了上述几点之外,工序分析装置1a与上述工序分析装置1同样地构成。并且,工序分析装置1a可以具有与上述的工序分析装置1同样的硬件构成。

图26示意性例示出通过分析机构数据250而确定工序模型252的过程的一例。在执行上述步骤s105之前,工序分析装置1a的控制部11作为第三取得部116而动作,取得机构数据250。机构数据250只要为关于多个机构31分别所包含的装置的相对的位置关系和该装置的与工序相关的顺序的至少一方的数据的话,没有特别的限定,例如,可以为装置的列表、监视装置的动作的传感器的列表、示出工序的顺序的信息、示出传感器的设置位置的信息等。接着,控制部11作为第三分析部117而动作,通过分析机构数据250而确定工序模型252。例如,控制部11参照机构数据250,确定两个机构31间的顺序关系,将确定的结果输入示出两个机构31间的关系的表251的对应的框内。通过完成该表251,控制部11能够确定工序模型252。

并且,在上述步骤s105中,控制部11根据分别确定的关系的强度、顺序关系以及工序模型,确定在生产线3内实施的工序中的多个机构31间的因果关系。例如,控制部11可以通过分别确定的关系的强度、顺序关系以及工序模型的积,确定各机构31间的关系的有无。根据本变形例,通过进一步利用从机构数据250确定的工序模型的知识,能够更为正确地模型化构成生产线3的多个机构31间的因果关系。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1