Patent ID: 12229157

DETAILED DESCRIPTION

In the following description, with reference to the drawings, the same reference numbers are assigned to the same components or to similar components having the same function, and overlapping description is omitted.

Production System

A production system1system illustrated inFIG.1is a system for producing workpiece. Hereinafter, in the process of producing workpiece, all objects to be worked are referred to as “workpiece”. For example, the “workpiece” includes a final product in the production system1, parts of the final product, and a unit in which a plurality of parts are combined.

The production system1includes one or more local devices2and a control system3. For example, the production system1includes a plurality of local device2and performs workpiece production by cooperative operation of a plurality of the local device2. The cooperative operation means that a plurality of local devices operate to share a plurality of processes for obtaining at least one final product. The plurality of local devices may operate to share a plurality of processes for obtaining one final product in a process unit, or may operate to share a plurality of processes for obtaining a plurality of final products in a final product unit.

Each of the plurality of the local device2is a device that performs work directly on a workpiece9at the workpiece9production site. The direct operation is an operation of applying some energy such as heat energy, kinetic energy, or potential energy to the workpiece9.

Each of the plurality of the local device2is, for example, industrial equipment. The plurality of the local device2include at least a robot (at least one local device2is a robot). Also, the plurality of the local device2include industrial equipment that cooperates with the robot. Examples of the industrial equipment that cooperates with the robot include an NC machine tool in addition to other robots.

The plurality of the local device2illustrated inFIG.1includes, but is not limited to, a transport device2A, robots2B,2C, and a mobile robot2D. The number and type of the local device2can be modified as long as at least one robot is included.

The transport device2A conveys the workpiece9using, for example, an electric motor or the like as a power source. Examples of the transport device2A include a belt conveyor and a roller conveyor. The robots2B,2C and the mobile robot2D perform work on the workpiece9carried by the transport device2A. Examples of the work performed on the workpiece9include assembly of another workpiece9(for example, a sub-part) to the workpiece9(for example, a base part) conveyed by the transport device2A, fastening (for example, bolt fastening) and joining (for example, welding) of parts in the workpiece9conveyed by the transport device2A, loading of the workpiece9into an NC machining tool installed around the transport device2A, and unloading of the workpiece9from the NC machining tool.

The robots2B,2C are six-axis vertical articulated robots, for example, and include a base11, a pivoting portion12, a first arm13, a second arm14, a third arm17, a tip portion18, and actuators41,42,43,44,45,46, as illustrated inFIG.2. The base11is placed around the transport device2A. The pivoting portion12is mounted on the base11to pivot about a vertical an axis21.

The first arm13is connected to the pivoting portion12to swing about an axis22that intersects (e.g., is orthogonal to) the axis21. The intersection includes a case where there is a twisted relationship such as so-called three-dimensional crossing. The second arm14is connected to the tip portion of the first arm13to swing about an axis23substantially parallel to the axis22. The second arm14includes an arm base15and an arm end16. The arm base15is connected to the tip portion of the first arm13and extends along an axis24that intersects (e.g., is orthogonal to) the axis23. The arm end16is connected to the tip portion of the arm base15to pivot about the axis24. The third arm17is connected to the tip portion of the arm end16to swing about an axis25that intersects (e.g., is orthogonal to) the axis24. The tip portion18is connected to the tip portion of the third arm17to pivot about an axis26that intersects (e.g., is orthogonal to) the axis25. A Work tool such as a hand, a suction nozzle, a welding torch, etc. is attached to the tip portion18.

As described above, the robots2B,2C include a joint31connecting the base11and the pivoting portion12, a joint32connecting the pivoting portion12and the first arm13, a joint33connecting the first arm13and the second arm14, a joint34connecting the arm base15and the arm end16in the second arm14, a joint35connecting the arm end16and the third arm17, and a joint36connecting the third arm17and the tip portion18.

The actuators41,42,43,44,45,46, for example, include an electric motor and a speed reducer to drive the joints31,32,33,34,35,36respectively.

For example, the actuator41turns the pivoting portion12about the axis21, the actuator42swings the first arm13about the axis22, the actuator43swings the second arm14about the axis23, the actuator44turns the arm end16about the axis24, the actuator45swings the third arm17about the axis25, and the actuator46turns the tip portion18about the axis26.

The configuration of the robots2B,2C can be modified. For example, the robots2B,2C may be a seven-axis redundant robot in which one joint is added to the above-described six-axis vertical articulated robot, or may be a so-called SCARA type multi joint robot.

Returning toFIG.1, the mobile robot2D is a robot capable of autonomous travel. The mobile robot2D includes a robot10that is configured similar to the robots2B,2C and an automated guided vehicle50. The automated guided vehicle50runs autonomously to convey the robot10. Examples of the automated guided vehicle50include so-called electric automated guided vehicles (AGVs).

The production system1may further include an environmental sensor5. The environmental sensor5detects a state of a work environment of the plurality of local devices2(hereinafter referred to as “environmental conditions”). Examples of the environmental sensor5include cameras that capture the work environment of the plurality of local devices2, for example. The environmental sensor5may be a sensor that detects the presence or absence of the workpiece9at a predetermined position using laser light or the like, or may be a sensor that detects the size of the workpiece9or the like. The production system1may include a plurality of environmental sensors5.

The control system3controls a plurality of the local device2. Hereinafter, the configuration of the control system3will be described in detail.

Control System

The control system3operates the plurality of local devices2based on an operation program. The control system3includes a plurality of local controllers100, a host controller200, and a data collection device300. The plurality of local controllers100control the plurality of the local device2, respectively. For example, each of the local controllers100controls a corresponding local device2based on a predetermined operation program. For example, the plurality of local controllers100include a local controller100A that controls the transport device2A, a local controller100B that controls a robot2B, a local controller100C that controls a robot2C, and a local controller100D that controls the mobile robot2D.

The local controller100A controls the transport device2A to convey the workpiece9based on an operation program for conveyance control prepared in advance. The local controller100B controls the actuators41,42,43,44,45,46of the robot2B to operate the robot2B based on an operation program for robot control prepared in advance. The local controller100C controls the actuators41,42,43,44,45,46of the robot2C to operate the robot2C based on an operation program for robot control prepared in advance. The local controller100D controls the automated guided vehicle50and the actuators41,42,43,44,45,46of the robot10so as to operate the mobile robot2D based on an operation program for robot control prepared in advance.

The host controller200acquires information indicating an operation state of a corresponding the local device2(hereinafter referred to as “operational information”) from each of the plurality of the local controller100, acquires a detection result of an environmental state (hereinafter referred to as “environmental information”) from the environmental sensor5, and outputs an instruction to execute an operation program to each of the plurality of the local controller100based on the acquired operational information and environmental information.

The host controller200is in synchronous communication with a plurality of the local controller100. The synchronous communication means that communication with a plurality of the local controller100is repeatedly performed in a synchronous communication cycle synchronized with a synchronous frame of a constant cycle. The host controller200acquires operational information from each of the plurality of the local controller100, acquires environmental information from the environmental sensor5, and repeatedly outputs an execution command to any of the plurality of the local controller100based on the operational information and the environmental information in synchronization with a cycle of synchronous communication.

The data collection device300collects various data acquired and generated during the control of the plurality of local devices2by the plurality of local controllers100and the host controller200and accumulates it in a database in a database format that can be analyzed later. The data accumulated by the data collection device300can be utilized for improvement of productivity in the production system1or preventive maintenance. The data content to be stored in the database may change in response to a configuration change of the production system1, a change of the operational sequence of the production system1, or the like.

In contrast, the data collection device300comprises: one or more data collectors configured to collect RAW data in which one or more RAW records related to operation of the industrial equipment are arranged for each of one or more categories; a data analyzer configured to acquire analysis data in which one or more analysis records are arranged for each of one or more categories, extract analysis records of a predetermined category from the analysis data based on a data arrangement of the analysis data, perform predetermined analysis processing on the extracted analysis records to generate one or more result records, and generate result data in which one or more result records are arranged for each of one or more categories; a database accessor configured to acquire registration data in which one or more registration records are arranged for each of one or more categories, convert the registration data into a predetermined database format based on the data arrangement of the registration data, and register the registration data in the database; and an application manager configured to control the flow of data among the data collector, the data analyzer, and the database accessor.

According to such a configuration, by adding at least one of the data collector and the data analyzer and changing the flow of data by the application manager, the content to be registered in the database can flexibly be expanded while maintaining the database format. Therefore, both the ease of expansion of the database and the ease of use of the database can be achieved.

As illustrated inFIG.3, for example, the data collection device300includes a collector storage unit310, an analyzer storage unit320, a database accessor331, a database332, an application storage unit333, and an application manager334.

The collector storage unit310stores one or more data collectors311. For example, the collector storage unit310stores a plurality of data collectors311. The one or more data collectors311may be one or more collector programs. For example, each of the plurality of data collectors311is a program library that collects RAW data in which one or more RAW records related to operations of one or more local devices2are arranged for each of one or more categories. For example, each of the plurality of data collectors311is a dynamic link library that can be dynamically linked to an executable program. The RAW record is an unprocessed record that has not been subjected to information processing by the data collection device300.

Data in which one or more records are arranged for each one or more categories as in the above-described RAW data is hereinafter referred to as “array structure data”. According to array structure data, the category of a record can be specified by the arrangement of the record in data.

Examples of array structure data include comma-delimited text data (CSV data) and tab-delimited text data. In the CSV data, one dataset including a plurality of records respectively corresponding to a plurality of categories is divided by line feed and accumulated. In each dataset, a plurality of records are arranged in a predetermined category order, and records are separated by commas. The category of each record can be specified by the position from the head in the corresponding dataset.

Array structure data may include attribute definition data that defines an attribute for each of one or more categories of one or more records. The attribute represents a property common to records belonging to the same category. Examples of the common property include what kind of a physical quantity is represented in what kind of unit and the like.

FIG.4is a table illustrating the array structure data. As illustrated inFIG.4, array structure data410includes a header411and a recording data412. The recording data412is data in which a plurality of records in association with time for each of a plurality of categories. As illustrated inFIG.4, the array structure may include one or more dimensions identifying the position of each record. The array structure may further include attribute definition data of each value of the dimensions.

For example, the recording data412includes multiple rows of a dataset413. Each the dataset413includes a time415and a plurality of a record414respectively corresponding to a plurality of categories. Examples of the time415include acquisition times of a plurality of the record414. In each the dataset413, the plurality of the record414are arranged in the order of category from the left.

The header411corresponds to the above-described attribute definition data, and defines an attribute for each of a plurality of sequences. When the array structure data illustrated inFIG.4is the above-described RAW data, the header411defines an attribute of RAW record for each of a plurality of categories. The attribute of RAW record may be a control command for operating the local device2, or may be a detection value of an operation result of the local device2. Examples of attributes of the RAW record are described below.Example 1-1) An operation amount (for example, an operation angle) of an actuator (for example, the actuators41,42,43,44,45,46) is represented by an angle [rad].Example 1-2) An operational speed of an actuator is represented by an angular velocity [rad/s].Example 1-3) The driving force generated by the actuator is represented by a torque [N·m].Example 1-4) Drive current [A] of actuator is represented.Example 1-5) A control command for the local device2is represented by target coordinates (X [m], Y [m], Z [m]) and the target posture (θx [rad], θy [rad], θz [rad]).Example 1-6) A control mode (position control mode/torque control mode) of an actuator is represented.

The attribute of the RAW record may be environmental information based on a detection result of the environmental sensor5.

Returning toFIG.3, a plurality of the data collector311may correspond to the plurality of local devices2, respectively, or at least one of a plurality of the data collectors311may correspond to two or more the local device2. Each of the plurality of data collectors311may collect RAW data from the host controller200, for example, or may collect RAW data from the local controller100that corresponds to the local device2. When each of a plurality of the data collector311collects RAW data from the host controller200, RAW data to which time based on a unified timer is added can be collected.

Each of the plurality of the data collector311may acquire RAW data generated by the host controller200or the local controller100, and may accumulate RAW records collected from the host controller200or the local controller100to generate RAW data.

The analyzer storage unit320stores one or more primary data analyzers321. For example, the analyzer storage unit320stores a plurality of primary data analyzers321.

The one or more primary data analyzers321may be one or more analyzer programs. For example, each of the plurality of the primary data analyzer321is a program library configured to acquire analysis data in which one or more analysis records are arranged for each of one or more categories, extract analysis records of a predetermined category from the analysis data based on a data arrangement of the analysis data, generate one or more result records by performing predetermined primary analysis processing on the extracted analysis records, and generate result data in which one or more result records are arranged for each of one or more categories. For example, each of the plurality of the primary data analyzer321is a dynamic link library that can be dynamically linked to an executable program. The result record is a processed record subjected to the information processing by the data collection device300.

The analysis data is also array structure data in which one or more records are arranged for each one or more categories. Each of the plurality of primary data analyzers321acquires RAW data collected by any one of the plurality of the data collector311as analysis data, and extracts RAW records of a predetermined category from the RAW data as analysis record. When the RAW data includes the above-described attribute definition data, each of the plurality of primary data analyzers321may extract a predetermined category of RAW records based on the attribute definition data of the RAW data.

When the RAW data arranges a plurality of RAW records in association with time for each of one or more categories, the primary data analyzer321may extract, from the plurality of RAW records, a RAW record whose value has changed with respect to a RAW record immediately preceding in the order of time, as one or more result records.

FIG.5Ais a graph illustrating a temporal change of RAW record represented by binary values as in the above-described control mode of the actuator, and includes a plurality of RAW records R10. A transition TR10of the control mode is represented by the plurality of RAW records R10.

When the primary data analyzer321extracts, as one or more result records from a plurality of RAW records, a RAW record whose value has changed with respect to the immediately preceding RAW record in the time order, two RAW records R11, R12are extracted from the plurality of RAW records R10as illustrated inFIG.5B. Based on the RAW records R11, R12and the attribute of “representing the changing point of the control mode”, the transition TR10of the control mode can be represented in the same manner as that represented by the plurality of RAW record R10. As described above, according to the processing in which records other than the changing point are thinned out, the amount of data to represent the transition TR10can significantly be reduced.

Another example of primary analysis processing performed by the primary data analyzer321is described below.Example 2-1) RAW record indicating the operational speed of the actuator (hereinafter referred to as “speed record”) and RAW record indicating the driving force of the actuator (hereinafter referred to as “force record”) are extracted based on the attribute definition data of RAW data. A degradation level (an example of a result record) of the speed reducer of the actuator is generated based on the relationship between the speed record and the force record. Result data is generated by attaching a header that defines an attribute of one category as “degradation level of speed reducer” to recording data in which one or more result records are arranged in association with one category.Example 2-2) RAW record indicating the control mode of the actuator (hereinafter referred to as “mode record”) is extracted based on attribute definition data of RAW data. One or more mode records in which the value has changed with respect to the previous mode record in the time order are extracted as result records from the plurality of mode records. Result data is generated by attaching a header that defines an attribute of one category as “indicating a change point of a control mode” to recording data in which one or more result records are arranged in association with one category.

The primary data analyzer321may generate result data in which one or more result records are arranged in association with time for each of one or more categories. The time in the result data may be the generation time of the result record, or may be the acquisition time of the RAW record used to generate the result record.

The database accessor331may be a database accessor program. For example, the database accessor331is a program library configured to acquire registration data in which one or more registration records are arranged for each of one or more categories, convert the registration data into a predetermined database format based on the data arrangement of the registration data, and register the converted registration data in the database332. For example, the database accessor331is a dynamic link library that can be dynamically linked to an executable program. The registration data is also array structure data in which one or more records are arranged for each one or more categories.

The database format is, for example, a tag structure format in which a structured tag is attached to each record. Examples of the tag structure format include a JavaScript Object Notation (JSON) format.

FIG.6is a schematic diagram illustrating tag structure data obtained by converting array structure data into a tag structure format. The tag structure data includes a plurality of structured records420. Each of the plurality of structured records420includes a record value422and a structured tag421attached to the record value422.

The database accessor331may add a structured tag to each of one or more registration records based on the data arrangement of the registration data and register the registration records in the database332. When the registration data includes the above-described attribute definition data, the database accessor331may add a structured tag indicating an attribute to each of the one or more registration records based on the category of each of the one or more registration records and the attribute definition data of the registration data.

The database accessor331may add a structured tag to each of the one or more registration records, the structured tag further indicating an arrangement in the category. For example, in a case where the registration data arranges a plurality of registration records in association with time for each of one or more categories, the database accessor331may add a structured tag further indicating time (an example of arrangement in category) to each of the plurality of registration records.

For example, the database accessor331acquires result data generated by any of a plurality of the primary data analyzer321as registration data, converts the result data into a database format based on a data arrangement of the result data, and registers the result data in the database332.

As an example, the database accessor331adds a structured tag to each of the one or more result records based on the category of each of the one or more result records of the result data and the attribute definition data of the result data. For example, when the result data arranges a plurality of result records in association with time with respect to the degradation level of the speed reducer, the database accessor331adds a structured tag indicating the attribute “degradation level of speed reducer” and the time to each of the plurality of result records.

The database accessor331may further acquire RAW data collected by any of the plurality of the data collector311as registration data, convert the RAW data into a database format based on a data arrangement of the RAW data, and register the converted RAW data in the database332.

As an example, the database accessor331may add a structured tag to each of the one or more RAW records based on a category of each of the one or more RAW records of the RAW data and attribute definition data of the RAW data. For example, when the RAW data arranges a plurality of RAW records in association with time for each of “operation amount of actuator”, “operational speed of actuator”, “driving force generated by actuator”, and “driving current of actuator”, the database accessor331adds a structured tag indicating the attribute “operation amount of actuator” and time to each of the plurality of RAW records belonging to “operation amount of actuator”.

In addition, the database accessor331adds a structured tag indicating the attribute “operational speed of actuator” and time to each of the plurality of RAW records belonging to “operational speed of actuator”.

The database accessor331adds a structured tag indicating the attribute “driving force generated by actuator” and time to each of the plurality of RAW records belonging to the “driving force generated by actuator”. The database accessor331adds a structured tag indicating “drive current of actuator”, which is an attribute, and time to each of the plurality of RAW records belonging to “drive current of actuator”.

The application manager334controls the flow of data among the data collector311, the primary data analyzer321, and the application storage unit333.

For example, the application manager334controls the transfer of array structure data among the data collector311, the primary data analyzer321, and the application storage unit333based on an application program stored in the application storage unit333. The transfer of array structure data includes storing array structure data in a predetermined storage area and transferring a reference to the storage area. The application program is, for example, a program in an execution format.

As an example, the application program may include the following processing.Processing 1-1) activating one of a plurality of data collectors311at a predetermined time, and storing RAW data collected by the activated the data collector311in a first storage areaProcessing 1-2) activating any one of a plurality of primary data analyzers321while passing a reference to a first storage area as a storage area of analysis data, and storing a result record generated by the activated primary data analyzer321in a second storage areaProcessing 1-3) activating the database accessor331while passing a reference to a second storage area as a storage area of registration data, and converting result data into database format by the started the database accessor331and registering in the database332

The application manager334may cause the primary data analyzer321to acquire RAW data collected by the data collector311as analysis data and causes the database accessor331to acquire result data generated by the primary data analyzer321as registration data.

The application program may further include the following processing.Processing 2-1) activating the database accessor331while passing reference to a first storage area as a storage area of registration data, and converting RAW record into database format by the started database accessor331and registering in the database332

The application manager334may cause the database accessor331to further acquire RAW data collected by the data collector311as registration data.

Whether the application manager334causes the database accessor331to acquire RAW data depends on whether the application program includes the processing 2-1. Thus, the application storage unit333is an example of a setting storage unit that stores a necessity setting for determining whether registration of RAW data is necessary. In addition, the application manager334switches whether to cause the database accessor331to acquire RAW data as registration data based on the necessity setting in the setting storage unit.

The application program may be configured to switch between execution and non-execution of the processing 2-1 based on one or more result records generated by the primary data analyzer321. The application manager334may switch whether to cause the database accessor331to acquire RAW data as registration data based on one or more result records generated by the primary data analyzer321.

As an example, the application program may be configured such that the processing 2-1 is executed when abnormality is recognized in one or more result records generated by the primary data analyzer321, and the processing 2-1 is not executed when abnormality is not recognized in one or more result records generated by the primary data analyzer321.

The data collection device300may further include a database accessor335, and the analyzer storage unit320may further store one or more secondary data analyzers322. The analyzer storage unit320may store a plurality of secondary data analyzers322.

The database accessor335(second database accessor) generates secondary data in which one or more secondary records are arranged for each of one or more categories based on data read from the database332. The secondary data is also array structure data in which one or more records are arranged for each one or more categories.

The database accessor335may arrange the secondary records based on a structured tag added to each of the secondary records. For example, the database accessor335reads data including a plurality of structured records from the database332, generates attribute definition data of array structure data based on the structured tag included in each structured record, and arranges the record value included in each structured record for each of one or more categories based on the attribute definition data.

The one or more secondary data analyzers322may be one or more analyzer programs. For example, each of the plurality of second data analyzers322(the secondary data analyzer) is a program library that acquires secondary analysis data in which one or more secondary analysis records are arranged for each of one or more categories, extracts secondary analysis records of a predetermined category from the secondary analysis data based on the data arrangement of the secondary analysis data, performs predetermined secondary analysis processing (second analysis processing) on the extracted secondary analysis records to generate one or more secondary result records, and generates secondary result data in which one or more secondary result records are arranged for each of one or more categories.

For example, each the secondary data analyzer322acquires the secondary data generated by the database accessor335as secondary analysis data, extracts secondary analysis records of a predetermined category from the secondary data based on the data arrangement of the secondary data, performs secondary analysis processing on the extracted secondary analysis records to generate one or more secondary result records, and generates secondary result data in which one or more secondary result records are arranged for each of one or more categories.

Examples of the secondary analysis processing performed by the database accessor335and the secondary data analyzer322are described below.Example 3-1) The database accessor335reads, from the database332, data including a plurality of structured tags to which structured tags indicating time within a predetermined period and the “degradation level of speed reducer” described above are assigned. The database accessor335generates a secondary record including recording data in which records of a plurality of read structured tags are arranged in association with time and attribute definition data in which the attribute of category is set to “degradation level of speed reducer”. The secondary data analyzer322extracts secondary analysis records indicating the degradation level of the speed reducer from the secondary record. Based on the secondary analysis record, the secondary data analyzer322derives a maintenance recommendation time at which the degradation level of the speed reducer reaches a predetermined level as a secondary result record. The secondary data analyzer322generates secondary result data in which a header that defines an attribute of one category as “maintenance recommendation time of speed reducer” is added to recording data in which one or more result records are arranged in association with one category.

FIG.7is a graph schematically illustrating derivation of the recommended maintenance time. InFIG.7, the horizontal axis represents elapsed time and the vertical axis represents degradation level of the speed reducer. The secondary data analyzer322derives a degradation tendency line TL1based on a plurality of result records R20, and derives an elapsed time t1at which a threshold TV1for recommending maintenance and the degradation tendency line TL1intersect as a maintenance recommendation time.

If the data collection device300further includes the database accessor335and the analyzer storage unit320further stores the secondary data analyzer322, the application program may further include the following processing.Processing 3-1) activating the database accessor335at a predetermined time, and storing secondary data generated by the activated database accessor335in a third storage areaProcessing 3-2) activating any one of a plurality of secondary data analyzers322while passing a reference to the third storage area as a storage area of the secondary analysis data, and storing a secondary result record generated by the activated secondary data analyzer322in a fourth storage areaProcessing 3-3) activating the database accessor331while passing a reference to a fourth storage area as a storage area of registration data, and converting secondary result data into database format by the started the database accessor331and registering in the database332

The application manager334may cause the secondary data analyzer322to acquire secondary data generated by the database accessor335as secondary analysis data, and causes the database accessor331to acquire secondary result data generated by the secondary data analyzer322as registration data. The database accessor331further acquires the secondary result data, converts the secondary result data into the database format based on the data arrangement of the secondary result data, and further registers the database.

The analyzer storage unit320may store identification information of the secondary data analyzer322and record category for secondary analysis processing in association with each other. The application manager334may cause the database accessor335to generate secondary data by specifying a read target from the database332based on the record category associated with the secondary data analyzer322in the analyzer storage unit320. For example, the application manager334may designate the attribute definition data of the secondary data based on the attribute definition data of the analysis data of secondary data analyzer322. The database accessor335may generate the secondary data according to the designated attribute definition data. For example, the database accessor335may arrange the secondary records based on the designated attribute definition data and a structured tag added to each of the secondary records.

The data collection device300may further include a program registration unit336. The program registration unit336acquires a new application program created by the user and stores it in the application storage unit333.

The data collector311, the primary data analyzer321, the secondary data analyzer322, the database accessor331, the database accessor335and the like used by the application program are held by the data collection device300. For this reason, an application program can readily be created by a simple operation of defining a combination of the data collector311, the primary data analyzer321, the secondary data analyzer322, the database accessor331, and the database accessor335, a flow of array structure data, a time to execute, and the like.

As described above, the application program includes a necessity setting for determining whether registration of RAW data is necessary. For this reason, the program registration unit336is an example of a setting acquisition unit that acquires a necessity setting that determines whether registration of RAW data is necessary and stores it in a setting storage unit.

The program registration unit336may be configured to further perform acquiring and storing the data collector311created by the user on the collector storage unit310. the RAW data to be collected can flexibly expanded by adding the data collector311in accordance with addition of the local device2or the like.

The program registration unit336may be configured to further perform acquiring and storing the primary data analyzer321or the secondary data analyzer322created by the user in the analyzer storage unit320. The contents of primary analysis processing and secondary analysis processing can be flexibly modified.

FIG.8is a block diagram illustrating the hardware configuration of the control system3. As illustrated inFIG.8, the local controller100includes circuitry190. The circuitry190includes one or more processor(s)191, a memory192, storage193, a communication port194, and a driver circuit195. The storage193includes a computer-readable storage medium, such as a nonvolatile semiconductor memory. The storage193stores a control program for causing the local controller100to perform control of the local device2based on the operation program.

The memory192temporarily stores the program loaded from the storage medium of the storage193and the calculation result by the processor(s)191. The processor(s)191configures each functional block of the local controller100by executing the program in cooperation with the memory192. The communication port194communicates with the host controller200via a first network line NW1in accordance with instructions from the processor(s)191. The driver circuit195outputs drive power to the local device2in accordance with instructions from the processor(s)191.

The host controller200includes circuitry290. The circuitry290includes one or more processor(s)291, a memory292, storage293, communication ports294,295, and an input/output port296. The storage293includes a computer-readable storage medium, such as a nonvolatile semiconductor memory. The storage293stores a program for causing the host controller200to acquire operational information and environmental information and to output an instruction to execute an operation program based on the operational information and the environmental information.

The memory292temporarily stores the program loaded from the storage medium of the storage293and the calculation result by the processor(s)291. The processor(s)291configures each functional block of the host controller200by executing the program in cooperation with the memory292. The communication port294communicates with the local controller100via the first network line NW1in accordance with instructions from the processor(s)291. A communication port295communicates with the data collection device300via a second network line NW2in accordance with instructions from the processor(s)291. The input/output port296inputs and outputs information to and from the environmental sensor5in accordance with instructions from the processor(s)291.

The data collection device300includes circuitry390. The circuitry390includes one or more processor(s)391, a memory392, storage393, a communication port394, a display device395, and an input device396. The storage393includes a computer-readable storage medium, such as a nonvolatile semiconductor memory. The storage393further includes, as storage units of programs, the collector storage unit310, the analyzer storage unit320, the application storage unit333, storage units of the database accessor331and the database accessor335, and a storage unit of a base program (e.g., an operating system) for configuring the application manager334and the program registration unit336into the data collection device300. Further, the storage393includes a storage unit of the database332.

The memory392temporarily stores the program loaded from the storage medium of the storage393and the calculation result by the processor(s)391. The processor(s)391configures each functional block of the data collection device300by executing the program in cooperation with the memory392. The communication port394communicates with the host controller200via the second network line NW2in accordance with instructions from the processor(s)391. The display device395and the input device396serve as a user interface for the data collection device300. The display device395includes, for example, a liquid crystal monitor, and is used to display information to the user. The input device396is, for example, a keypad or the like, and acquires input information by the user. The display device395and the input device396may be integrated like a so-called touch panel. The display device395and the input device396may be provided in an external device connected to the data collection device300or may be incorporated in the data collection device300.

Note that circuitry190,290,390may not be limited to one in which each function is configured by a program. For example, at least a part of the functions of the circuitry190,290,390may be configured by a dedicated logic circuit or an application specific integrated circuit (ASIC) in which the dedicated logic circuit is integrated.

Data Collection Procedure

Next, an example data collection procedure executed by the data collection device300will be described in detail as an example of the data collection method. The procedure includes: collecting, from the industrial equipment, RAW data in which one or more RAW records are arranged for one or more categories; acquiring RAW data, extracting analysis records of a predetermined category from the RAW data based on a data arrangement of the RAW data, performing predetermined analysis processing on the extracted analysis records to generate one or more result records, and generating result data in which one or more result records are arranged for each of one or more categories; and acquiring the result data, converting the result data into a predetermined database format based on the data arrangement of the result data, and registering in the database.

For example, the data collection procedure includes a program registration procedure, a primary analysis procedure, a RAW data registration procedure, and a secondary analysis procedure. Hereinafter, each procedure will be described in detail.

Program Registration Procedure

As illustrated inFIG.9, the data collection device300first executes operations S01and S02. In operation S01, the program registration unit336causes the display device395to display a programming window. The programming window includes, for example, an application definition area that defines a combination of the data collector311, the primary data analyzer321, the secondary data analyzer322, the database accessor331, and the database accessor335, a flow of array structure data, a time to execute, an application registration section (e.g., a button) that requests registration of an application program, a collector registration section (e.g., a button) that requests registration of the data collector311, and an analyzer registration section (e.g., a button) that requests registration of a primary data analyzer or a secondary data analyzer. In operation S02, the program registration unit336checks whether registration of the application program has been requested by the application registration section.

If it is determined in operation S02that registration of the application program has been requested, the data collection device300executes operations S03and S04. In operation S03, the program registration unit336generates an application program based on the content input to the application definition region. In operation S04, the program registration unit336stores the application program in the application storage unit333.

If it is determined in operation S02that registration of the application program is not requested, the data collection device executes operation S05. In operation S05, the program registration unit336confirms whether registration of the data collector311is requested by the collector registration section.

If it is determined in operation S05that registration of the data collector311is requested, the data collection device executes operations S06, S07, and S08. In operation S06, the program registration unit336displays a collector selection window for selecting one or more new data collectors311generated in advance in the display device395. In operation S07, the program registration unit336waits for a selection input on the collector selection window. In operation S08, the program registration unit336stores the one or more new data collectors311selected in the collector selection window in the collector storage unit310.

If it is determined in operation S05that registration of the data collector311is not requested, the data collection device300executes operation S11. In operation S11, the program registration unit336checks whether registration of the primary data analyzer321or the secondary data analyzer322is requested by the analyzer registration section.

If it is determined in operation S11that registration of the primary data analyzer321or the secondary data analyzer322is requested, the data collection device300performs operations S12, S13, and S14. In operation S12, the program registration unit336causes the display device395to display an analyzer selection window for selecting one or more new primary data analyzers321or the secondary data analyzers322generated in advance. In operation S13, the program registration unit336waits for a selection input on the analyzer selection window.

In operation S14, the program registration unit336stores one or more new primary data analyzers321or the secondary data analyzers322selected in the analyzer selection window in the analyzer storage unit320. When the secondary data analyzer322is stored in the analyzer storage unit320, the program registration unit336may store identification information of the secondary data analyzer322and a record category for secondary analysis processing in the analyzer storage unit320in association with each other.

After operations S04, S08, or S14, the data collection device300executes operation S15. If it is determined in operation S11that registration of the primary data analyzer321and the secondary data analyzer322is not requested, the data collection device300also executes operation S15. In operation S15, the program registration unit336checks whether an input to complete programming has been made in the programming window.

If it is determined in operation S15that no input is made to complete programming, the data collection device300returns processing to operation S02. If it is determined in operation S15that an input to complete programming is made, the program registration procedure is completed.

Primary Analysis Procedure

As is apparent from the foregoing description, the data collection device300may perform multiple categories of primary analysis procedures.FIG.10is a flowchart illustrating a procedure for performing one of the primary analysis procedures. Hereinafter, among a plurality of categories of primary analysis processes, one primary analysis process targeted by the flowchart ofFIG.10is simply referred to as “primary analysis process”.

As illustrated inFIG.10, the data collection device300first executes operations S21, S22, S23, S24, S25, S26, S27, and S28. In operation S21, the application manager334waits for the run time of primary analysis processing.

In operation S22, the application manager334activates one or more data collectors311for collecting RAW data for primary analysis processing among a plurality of the data collector311. Each of the one or more activated data collector311collects RAW data. In operation S23, the application manager334activates the primary data analyzer321for primary analysis processing using the RAW data collected in operation S22as analysis data. The activated primary data analyzer321acquires the specified RAW data and extracts the primary analysis records from the RAW data.

In operation S24, the primary data analyzer321performs primary analysis processing on the analysis records extracted in operation S23to generate one or more result records, and generates result data in which one or more result records are arranged for each of one or more categories. In operation S25, the application manager334activates the database accessor331using the result data generated in operation S24as registration data. The database accessor331acquires the specified result data and reads the first result record from the result data.

In operation S26, the database accessor331generates a structured record by adding a structured tag to the result record based on the data arrangement of the result data. In operation S27, the database accessor331stores the structured record in the database332. In operation S28, the database accessor331checks whether registration of all result records in result data is completed.

If it is determined in operation S28that an unregistered result record remains in the result data, the data collection device300executes operation S29. In operation S29, the database accessor331reads the next result record from the result data. Thereafter, the data collection device300returns processing to operation S26. Thereafter, reading, structuring, and registration of the result record are repeated until registration of all result records in the result data is completed.

If it is determined in operation S28that the registration of all result records in the result data is completed, the primary analysis procedure is completed. The data collection device300repeatedly executes the above processing.

Raw Data Registration Procedure

As is apparent from the above description, the data collection device300may acquire multiple categories of RAW data.FIG.11is a flowchart illustrating a procedure for registering any one of RAW data. Hereinafter, one RAW data targeted by the flowchart ofFIG.11among a plurality of categories of RAW data is simply referred to as “RAW data”.

As illustrated inFIG.11, the data collection device300first executes operations S31, S32, S33, S34, S35, and S36. In operation S31, the application manager334waits for the collection time of RAW data. In operation S32, the application manager334activates the data collector311for collecting RAW data. Each activated the data collector311collects RAW data.

In operation S33, the application manager334activates the database accessor331using the RAW data collected in operation S32as registration data. The database accessor331acquires the designated RAW data and reads out the first RAW record from the RAW data.

In operation S34, the database accessor331generates a structured record by adding a structured tag to the RAW record based on the data arrangement of the RAW data. In operation S35, the database accessor331stores the structured record in the database332. In operation S36, the database accessor331checks whether registration of all RAW records in RAW data has been completed.

If it is determined in operation S36that an unregistered RAW record remains in the RAW data, the data collection device300executes operation S37. In operation S37, the database accessor331reads the next RAW record from the RAW data. Thereafter, the data collection device300returns processing to operation S34. Thereafter, reading, structuring, and registration of the RAW record are repeated until registration of all the RAW records in the RAW data is completed.

If it is determined in operation S36that the registration of all the RAW records in the RAW data is completed, the registration procedure of the RAW data is completed. The data collection device300repeatedly executes the above processing.

Secondary Analysis Procedure

As is apparent from the foregoing description, the data collection device300may perform multiple categories of secondary analysis processing.FIG.12is a flowchart illustrating a procedure for performing any one secondary analysis processing. Hereinafter, among the plurality of categories of secondary analysis processing, one secondary analysis processing targeted by the flowchart ofFIG.12is simply referred to as “secondary analysis processing”.

As illustrated inFIG.12, the data collection device300first executes operations S41, S42, S43, S44, S45, S46, S47, and S48. In operation S41, the application manager334waits for the time to execute secondary analysis processing.

In operation S42, the application manager334specifies read target from the database332based on record category for secondary analysis processing and causes the database accessor335to generate secondary data. For example, the application manager334specifies read target from the database332based on record category associated with the secondary data analyzer322for secondary analysis processing in the analyzer storage unit320.

In operation S43, the application manager334activates the secondary data analyzer322for secondary analysis processing using the secondary data generated in operation S42as secondary analysis data. The activated secondary data analyzer322acquires the specified secondary data and extracts the secondary analysis records from the secondary data.

In operation S44, the secondary data analyzer322performs secondary analysis processing on the secondary analysis records extracted in operation S43to generate one or more secondary result records, and generates secondary result data in which one or more secondary result records are arranged for each of one or more categories.

In operation S45, the application manager334activates the database accessor331using the secondary result data generated in operation S44as registration data. The database accessor331acquires the specified secondary result data, and reads the first secondary result record from the secondary result data.

In operation S46, the database accessor331generates a structured record by adding a structured tag to the secondary result record based on the data arrangement of the secondary result data. In operation S47, the database accessor331stores the structured record in the database332. In operation S48, the database accessor331checks whether registration of all secondary result records in the secondary result data is completed.

If it is determined in operation S48that an unregistered secondary result record remains in the secondary result data, the data collection device300executes operation S49. In operation S49, the database accessor331reads the next secondary result record from the secondary result data. Thereafter, the data collection device300returns processing to operation S46. Thereafter, reading, structuring, and registration of the secondary result record are repeated until registration of all the secondary result records in the secondary result data is completed.

If it is determined in operation S48that the registration of all secondary result records in the secondary result data is completed, the secondary analysis procedure is completed. The data collection device300repeatedly executes the above processing.

Modified Example of Raw Data Registration Procedure

As described above, the application manager334may switch whether to cause the database accessor331to acquire RAW data as registration data based on one or more result records generated by the primary data analyzer321. The registration procedure of RAW data will be described.

As illustrated inFIG.13, the data collection device300first executes operations S51to S59which are the same primary analysis procedure as operations S21to S29. Thereafter, the data collection device300executes operation S61. In operation S61, the application manager334checks whether registration of RAW data is necessary based on one or more result records generated by the primary data analyzer321in the primary analysis processing.

If it is determined in operation S61that registration of RAW data is necessary, the data collection device300executes operations S63to S67which are the same RAW data registration procedures as in operations S33to S37. If it is determined in operation S61that registration of RAW data is unnecessary, the data collection device300omits registration of RAW data. The registration procedure of RAW data is thus completed.

As described above, the data collection device300includes: one or more data collector311configured to collect RAW data in which one or more RAW records related to the operation of industrial equipment are arranged for each of one or more categories; the primary data analyzer321configured to acquire analysis data in which one or more analysis records are arranged for each of one or more categories, extract analysis records of a predetermined category from the analysis data based on a data arrangement of the analysis data, perform predetermined analysis processing on the extracted analysis records to generate one or more result records, and generate result data in which one or more result records are arranged for each of one or more categories; the database accessor331configured to acquire registration data in which one or more registration records are arranged for each of one or more categories, convert the registration data into a predetermined database format based on a data arrangement of the registration data, and register the converted registration data in the database332; and the application manager334configured to control the flow of data among the data collector311, the primary data analyzer321, and the database accessor331.

According to this the data collection device300, by adding at least one of the data collector311and the primary data analyzer321and changing the flow of data by the application manager334, it is possible to flexibly expand the content registered in the database332while maintaining the database format. Therefore, both the ease of expansion of the database332and the ease of utilization of the database332can be achieved.

The database format may be a tag structure format in which a structured tag is added to each record and the database accessor331may be configured to add a structured tag to each of one or more registration records based on the data arrangement of the registration data and register the registration records in the database332. Data registration in the tag structure format further improves ease of use of the database332.

The registration data may include attribute definition data defining an attribute for each of one or more categories of one or more registration records and the database accessor331may be configured to add a structured tag indicating an attribute to each of the one or more registration records based on the category of each of the one or more registration records and the attribute definition data of the registration data. A structured tag can readily be attached to each record.

The database accessor331may be configured to add a structured tag further indicating the arrangement in the category to each of the one or more registration records. A more precise structured tag can readily be attached to each record.

The application manager334may be configured to cause the primary data analyzer321to acquire, as the analysis data, the RAW data collected by the data collector311and cause the database accessor331to acquire, as the registration data, the result data generated by the primary data analyzer321. The processing load on the database332is reduced compared to performing analysis processing by reading data registered once in the database332.

The RAW data may include attribute definition data defining an attribute for each of one or more categories of the one or more RAW records, and the primary data analyzer321may be configured to extract the analysis records of the predetermined category based on the attribute definition data of the RAW data. The analysis records can readily be extracted.

The application manager334may be configured to cause the database accessor331to further acquire the RAW data collected by the data collector311as the registration data. By registering the RAW data in the database332in addition to the result data, the database332that is flexibly adaptable to various future applications can be constructed.

The data collection device300may further include a setting acquisition unit (the program registration unit336) configured to acquire a necessity setting for determining whether registration of the RAW data is necessary and store the necessity setting in a setting storage unit (the application storage unit333), and the application manager334may be configured to switch whether or not to cause the database accessor331to acquire the RAW data collected by the data collector311as registration data based on the necessity setting of the setting storage unit. By omitting the database registration of the RAW data which is not necessary for the user, the processing load on the database332can be reduced.

The application manager334may be configured to switch whether to cause the database accessor331to acquire the RAW data collected by the data collector311as the registration data based on the one or more result records generated by the primary data analyzer321. Selection of the RAW data can be supported.

The data collection device300may further include: the database accessor335configured to generate secondary data in which one or more secondary records are arranged for each of one or more categories based on the data read from the database332; and the secondary data analyzer322configured to acquire secondary analysis data in which one or more secondary analysis records are arranged for each of one or more categories, extract secondary analysis records of a predetermined category from the secondary analysis data based on a data arrangement of the secondary analysis data, perform predetermined second analysis processing on the extracted secondary analysis records to generate one or more secondary result records, and generate secondary result data in which one or more secondary result records are arranged for each of one or more categories. The application manager334may be configured to cause the secondary data analyzer322to acquire secondary data generated by the database accessor335as secondary analysis data, and cause the database accessor331to acquire the secondary result data generated by the secondary data analyzer322as registration data. Multi-stage data analysis in accordance with the accumulation state of data in the database332, and to promote further effective utilization of the database332, can be performed.

The data collection device300may further include the analyzer storage unit320configured to store identification information of the secondary data analyzer322and a record category for second analysis processing in association with each other, and the application manager334may be configured to designate a read target from the database332based on a record category associated with the secondary data analyzer322in the analyzer storage unit320to cause the database accessor335to generate secondary data. By narrowing down records to be read out from the database332in accordance with the content of the secondary analysis, the processing load on the database332can be further reduced.

The data collector311may be configured to collect the RAW data in which a plurality of RAW records are arranged in association with time for each of one or more categories, and the primary data analyzer321may be configured to extract, from the plurality of RAW records, a RAW record whose value has changed with respect to the RAW record immediately preceding in the time order, as one or more result records. The processing load on the database332can readily be reduced while preventing a decrease in the amount of information included in the plurality of RAW records.

It is to be understood that not all aspects, advantages and features described herein may necessarily be achieved by, or included in, any one particular example. Indeed, having described and illustrated various examples herein, it should be apparent that other examples may be modified in arrangement and detail.