Program validation device and computer-readable storage medium

JPWO2025115140A1Pending Publication Date: 2025-06-05
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025560447
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2023-11-29
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

In manufacturing sites, the vast amount of data output from factory devices such as machine tools, robots, and sensors is not structured and lacks meaning, making it unsuitable for analysis without proper extraction, transformation, and verification.

Method used

A program verification device that includes a processing condition unit for creating no-code programs to convert primary data into structured secondary data, a program display unit for defining program components and conditions, a program execution unit for executing the program, and a program verification unit that outputs logs for verifying the data selection, conversion, and writing processes.

Benefits of technology

The device enables users to verify the accuracy of data extraction, transformation, and storage, ensuring that only necessary data is processed and stored in a structured format suitable for analysis, thereby improving data utilization in manufacturing sites.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This program validation device comprises templates for creating a program that transforms data from a primary database and writes the result to a structured secondary database, said primary database storing data that was outputted from a factory device. The program validation device displays the templates, receives definitions for the arrangement of constituent elements of the program and respective conditions of the constituent elements, said constituent elements being the selection of data from the primary database, the transformation of the same, and the writing to the secondary database, executes the program created with the definitions for the arrangement and the conditions of the constituent elements, and outputs the input or output of the constituent elements as a log.
Need to check novelty before this filing date? Find Prior Art

Description

Program verification device and computer-readable storage medium

[0001] The present disclosure relates to a program verification device and a computer-readable storage medium.

[0002] Conventionally, there exists a platform called a data platform for utilizing the vast amount of data held by an organization. A factory data platform combines data from the field, consisting of devices such as machine tools, robots, and sensors, with data from higher-level systems such as MES (Manufacturing Execution Systems), and stores, processes, and analyzes the data. For example, see Patent Document 1.

[0003] The use of data is being promoted in manufacturing sites. To utilize data, it needs to be stored. Because the amount of data output from factory equipment such as machine tools, robots, and sensors is enormous, high-speed databases are sometimes used to store the data. The data size of the primary database is enormous and it cannot be used as is. It is necessary to extract only the necessary data from the acquired data, combine it with other necessary data, convert it into usable data, and process it into data that suits the purpose of analysis.

[0004] Users who need data analysis are not programming experts. For this reason, there are programming tools known as no-code tools that do not require the writing of source code. No-code tools provide users with templates for creating programs. Users create programs by selecting and arranging templates and entering the necessary information into the templates. Data extracted from the primary database is processed using a program created with the no-code tool and saved in a secondary database. Data saved in the secondary database is structured and allows for advanced searches.

[0005] JP 2023-69736 A

[0006] As mentioned above, the amount of data output from factory equipment is enormous. This data, such as machine control data and sensor values, is not associated with data that gives it meaning, and is therefore not suitable for analysis as is. The data output from factory equipment is miscellaneous data related to manufacturing, control, maintenance, management, and maintenance. To extract data suitable for analysis from this data, it is necessary to understand the background of the miscellaneous data and convert it. Users must verify that the data selection, conversion, and writing were performed correctly.

[0007] In factory data collection, it is desirable to validate the data extracted from the factory equipment.

[0008] The program verification device comprises a processing condition unit having a template for creating a program that converts data in a primary database that stores data output from factory equipment and writes the converted data to a structured secondary database; a program display unit that displays the template and accepts definitions of the arrangement of program components, such as selecting, converting, and writing data from the primary database to the secondary database, and the conditions for each component; a program execution unit that executes the program created based on the arrangement of the components and the definitions of the conditions; and a program verification unit that outputs the input or output of the components as a log.

[0009] FIG. 1 is a block diagram showing the configuration of a database that stores data output by factory devices. FIG. 2 is a block diagram of a program verification device of a first embodiment. FIG. 3 is a diagram showing an example of a template for creating a program. FIG. 4 is a diagram showing an example of a program. FIG. 5 is a flowchart explaining the operation of the program verification device. FIG. 6 is a diagram showing the configuration of a production number dataset. FIG. 7 is a diagram showing an example of a production number dataset. FIG. 8 is a block diagram of a program verification device of a second embodiment. FIG. 9 is a diagram showing an example of a program that creates an operating status dataset. FIG. 10 is a block diagram of a program verification device of a third embodiment. FIG. 11 is a block diagram of a program verification device of a fourth embodiment. FIG. 12 is a diagram showing the hardware configuration of a program verification device.

[0010] The program verification device 100 generates a log to assist in program verification. The target of verification is a no-code program. A no-code program does not require source code writing; the program is defined by combining graphic templates. A user analyzing data uses the no-code program to convert primary data output by factory equipment into structured secondary data. The components of a program are triggers that start data collection and processes that specify data selection, conversion, and writing. The arrangement of the components represents the order of program processing, and the conditions defined for each component determine the operation of the component. The program verification device assists in verifying the operation of the component by outputting the input and output of the component as a log.

[0011] [About the Factory Database] The configuration of the factory database will be described with reference to Figure 1. The factory database stores data output by the factory equipment. There are two databases that store factory data: a primary database 10 called a common database, and a secondary database 20 called an event database.

[0012] The primary database 10 is a high-speed database. The primary database 10 stores data output from a field network. The field network is made up of factory devices such as sensors, servo motors, remote I / O, inverters, numerical control devices, and PLCs (Programmable Logic Controllers). The primary data output by the factory devices is miscellaneous data related to factory operations, such as product manufacturing, device control, quality maintenance, and device management / maintenance, and is not structured. The program associates the primary data output by the factory devices with other data, assigns meaning to it, and converts it into structured secondary data.

[0013] The primary database 10 is a NoSQL database. The type of NoSQL database is not particularly limited. NoSQL types include key-value type, column-oriented type, document-oriented type, graph-oriented type, etc.

[0014] The secondary database 20 is a structured database. The secondary database 20 can be operated from a control network consisting of an external system built on a higher-level network and control devices such as a numerical control device and a PLC. The program verification device 100 disclosed herein can be implemented in an information processing device on a control network that connects a higher-level network such as a numerical control device or a PLC with a field network. A system that uses IT to manage manufacturing in a factory is called an MES (Manufacturing Execution System). The MES uses data from the secondary database 20 to perform production management, quality control, work scheduling, and the like.

[0015] [First Embodiment] FIG. 2 is a block diagram of a program verification device 100 according to a first embodiment. The program verification device 100 includes a graphical programming unit 1 and a program verification unit 2. The graphical programming unit 1 includes a machining condition unit 3, a program display unit 4, and a program execution unit 5. The machining condition unit 3 includes a no-code programming template. The program display unit 4 displays the template and accepts program definitions. Templates include templates for defining data sets and templates for defining programs. Templates for defining programs include trigger and process icons, which will be described later, and input screens for defining trigger and process conditions. A user arranges the templates, enters the necessary information, and creates a program.

[0016] A dataset is a container for storing target data. Primary data acquired from factory equipment is processed according to a program and saved in a dataset. Data saved in a dataset is structured and associated with data that gives meaning to the data.

[0017] Figure 3 shows an example of a template. A template consists of a trigger and a process. The trigger defines the conditions for starting data collection. The process defines the conditions for selecting, converting, and writing data. The program order is determined by the arrangement of the processes, starting with the trigger.

[0018] There are two types of triggers: "Specify date and time" and "When primary data is added." With "Specify date and time," you define the date and time (or period) to start collecting data. With "When primary data is added," you define specific primary data. When the defined primary data is added, data collection begins. A template is used to define the conditions.

[0019] There are three types of "Data Selection": "Primary Data Acquisition", "Secondary Data Acquisition", and "File Acquisition". "Primary Data Acquisition" defines the conditions for acquiring data from the primary database. "Secondary Data Acquisition" defines the conditions for acquiring data from the secondary database. A template is used to define the conditions.

[0020] "Data Conversion" defines the conversion of the data selected in "Data Selection". Conversion methods include data comparison and arithmetic operations. The conversion method is defined using a template.

[0021] "Data Write" defines the conditions for writing to the secondary database. The data to be written includes data obtained in "Data Selection" and data converted in "Data Conversion". There are two writing methods: "Add" and "Update". "Add" defines the addition of a record, and "Update" defines the update of an existing record. Templates are used to define the addition and update conditions.

[0022] The program verification unit 2 outputs a log. The log is data input and output from the components of a program. The components of a program include triggers and processes. The log is data output from a trigger and data input to or output from a process. The user verifies the trigger or process by referring to the log. In other words, the user checks whether data has been selected, converted, and written as expected by the user, and whether the expected data set has been created.

[0023] A specific description will be given of the log of the program verification unit 2. Fig. 4 shows an example of a program. In the program of Fig. 4, the components are arranged in the following order: a trigger "date and time specification", processes "primary data acquisition", "secondary data acquisition", "data conversion", and "addition".

[0024] The program verification unit 2 outputs the output of "Date and Time Specification" as a log. Since "Date and Time Specification" is a trigger, there is no input. The output of "Date and Time Specification" is data whose timestamp value matches the condition of "Date and Time Specification".

[0025] The program verification unit 2 outputs the input and output of "Primary Data Acquisition" as a log. The input of "Primary Data Acquisition" is the output of "Date and Time Specification". The output of "Primary Data Acquisition" is the primary data defined in "Primary Data Acquisition".

[0026] The program verification unit 2 outputs the input and output of "Secondary Data Acquisition" as a log. The input of "Secondary Data Acquisition" is the output of "Primary Data Acquisition". The output of "Secondary Data Acquisition" is the secondary data defined in "Secondary Data Acquisition".

[0027] The program verification unit 2 outputs the input and output of "data conversion" as a log. The input of "data conversion" is the output of "primary data acquisition" and "secondary data acquisition". The output of "data conversion" is the converted data.

[0028] The program verification unit 2 outputs the input and output of "record addition" as a log. The input of "record addition" is the output of "data conversion". The output of "record addition" is the dataset with the record added.

[0029] FIG. 5 is a flowchart illustrating the operation of the program verification device 100. The program verification unit 2 accepts the selection of a trigger or process to be verified (step S1). Multiple triggers or processes may be selected. The program verification unit 2 accepts the selection of data to be used for verification (step S2). The data to be used for verification may be real-time data or previously saved data. The program execution unit 5 executes the program (step S3). The program verification unit 2 outputs data output from triggers and data input to or output from processes during program execution as a log (step S4). The log is used for program verification. The user modifies the program by referring to the log. The program display unit 4 accepts the program modification (step S5). If the modified program is to be re-verified (step S6; Yes), the process proceeds to step S3. Here, the process may proceed to step S1 to change the trigger or process to be verified, or proceed to step S2 to change the data to be used for verification. If the program verification is to be terminated (step S6; No), the process ends.

[0030] As described above, the program verification device 100 of this embodiment outputs the output of a trigger, which is a component of a program, or the input and output of a process as a log, allowing the user to verify the log and confirm whether the expected data set has been created.

[0031] (Specific Example) A specific example of a program for extracting data will be described. In this example, a "production number dataset" is created. Figure 6 shows a specific example of the "production number dataset." The "production number dataset" stores the following data: "machine tool name," "numerical control device ID," "counting start time," "counting end time," "production number," and "counting method." Of these, "machine tool name," "numerical control device ID," "counting start time," and "counting end time" are information (explanatory variables) that uniquely identify the data. "Production number" is the data that is the target of analysis (objective variable).

[0032] The "production number dataset" records the number of productions per hour of a certain machine tool. The trigger for starting the collection of data to create the "production number dataset" is "date and time specification." The cycle of "date and time specification" is one hour. The "production number" is calculated every hour and written to the "production number dataset."

[0033] Figure 4 shows a program for creating a "production volume data set." This program begins with a trigger, "Specify date and time," and includes processes, "Get primary data," "Get secondary data," "Convert data," and "Add record."

[0034] The data extracted from the primary database to calculate the "production number" per hour is the "cumulative production number." The primary database stores the "cumulative production number" from when the machine started operating to the present. The program converts the "cumulative production number" into the "production number (per hour)."

[0035] The trigger "Specify date and time" starts collecting data every hour. The trigger followed by "Get primary data" acquires the timestamp and "cumulative production number" from the primary database.

[0036] There are three types of "cumulative production numbers" in the primary database. The first is the "number of times a machining program is executed." The "number of times a machining program is executed" does not necessarily correspond to the "cumulative production number" of a product, so verification is required. The second is the number of times machining is completed successfully. In the primary database, the number of times the "operating status" changes from "operating" to "stopped" is tallied. The number of times the "M30" signal is output can also be tallied. The "operating status" and "M30" signal do not necessarily correspond to the "cumulative production number" of a product, so verification is required. The third uses internal information from the numerical control device. The numerical control device has a function to tallie the "cumulative production number." The "cumulative production number" of the numerical control device also needs to be verified.

[0037] As such, data acquired from factory equipment is output for the purpose of factory operations, such as product manufacturing, equipment control, quality maintenance, and facility management / maintenance, and is not necessarily suitable for analysis. Users understand the background of the data and use the data acquired from factory equipment as a substitute for the desired data, but the data acquired may not always be what they expected. Logs provide auxiliary information to verify whether the data acquired was what they expected.

[0038] In "data conversion" following "primary data acquisition," the "cumulative production number" from one hour prior is acquired from the secondary database. In "data conversion," the difference between the "cumulative production number" acquired this time and the "cumulative production number" from one hour prior is calculated. In this way, the "production number" for each hour is calculated.

[0039] Next, "Add" adds a record consisting of "Production number," "Type of cumulative production number," "Machine tool name," "Numerical control device ID," "Start time of aggregation," and "End time of aggregation" to the "Production number dataset."

[0040] Figure 7 shows an example of a completed "production number dataset." The "production number dataset" is a table made up of the following data: "machine tool name," "numerical control device ID," "counting start time," "counting end time," "production number," and "counting method." The program converts the "cumulative production number" stored in the primary database into meaningful data: "production number."

[0041] A program is created by a user. The user must verify that the program does not contain any problems. The program verification device 100 of this embodiment outputs the inputs and outputs of the components as logs. The user checks the logs of triggers and processes. The user verifies that the acquisition and processing of data in triggers and processes is as intended. The logs contribute to the discovery of problems in the program and reduce the time required to create the program.

[0042] Second Embodiment Next, a program verification device 100 according to a second embodiment will be described. Fig. 8 is a block diagram of the program verification device 100 according to the second embodiment. The program verification device 100 according to the second embodiment includes an event storage unit 6. The event storage unit 6 stores data when an event corresponding to a program occurs, or stores the time when the event occurred.

[0043] Events will be explained in detail. An "operational status dataset" includes an "operational status" and the "start time" and "end time" of the "operational status." A program that creates an "operational status dataset" detects changes in the "operational status" as change points. When saving data in the primary database, the program verification device 100 stores the data (or time) at which a change in the "operational status" occurs as an event. Program verification uses the data stored as an event. Primary data is collected periodically over a long period of time, resulting in a huge amount of data. It is inefficient to verify all of this huge amount of data. The program verification device 100 of the second embodiment makes program verification more efficient by storing data related to dataset creation as an event.

[0044] 9 shows an example of a program for creating an "operational status data set." In this program, the trigger "When primary data is added" and the processes "Get primary data," "Get secondary data," "Update," and "Add" are arranged in this order.

[0045] In this program, data collection begins when the primary data "operational status" defined in "When primary data is added" is added. In the next process, "Primary data acquisition," data ("operational status") is acquired from the primary database according to the process conditions. In the next process, "Secondary data acquisition," the latest "operational status" is acquired from the "operational status dataset" in the secondary database according to the process conditions.

[0046] In the next process, "Record Update," the "Operation Status" in the primary database is compared with the "Operation Status" in the secondary database to detect any changes in the "Operation Status." If the "Operation Status" changes, the "End Time" of the "Operation Status" in the "Operation Status Data Set" is updated with the time when the "Operation Status" changed (the time when the "Operation Status" was obtained from the primary database).

[0047] In the next step, "Add Record," a record is added to the "Operating Status Data Set," and a new "Operating Status" (the "Operating Status" obtained from the primary database), "Numerical Control Device ID," and "Start Time" (the time when the "Operating Status" was obtained from the primary database) are recorded in the added record.

[0048] In this way, when creating the "operating status dataset," a determination is made as to whether the "operating status" has changed each time primary data is added. Since the "operating status" does not change frequently, verifying all data is inefficient. The program verification device 100 of the second embodiment stores data (or the time when the event occurred) in which an event (a change in the "operating status") occurred in the event storage unit 6 and outputs a log from the data at the time the event occurred, thereby making program verification more efficient.

[0049] Third Embodiment Next, a program verification device 100 according to a third embodiment will be described. FIG. 10 is a block diagram of the program verification device 100 according to the third embodiment. The program verification device 100 according to the third embodiment includes a condition setting unit 7 and a change point detection unit 8. The condition setting unit 7 provides a template for data detection. The data detection template accepts the selection of a machine, the selection of data related to the selected machine, and the selection of a method for detecting change points (or singular points). The definition of the template may be set manually by a user or may be set automatically based on a production plan, machine characteristics, etc.

[0050] The condition setting unit 7 associates and registers (in a database, etc.) machine characteristics, production plans, and data extraction conditions. The condition setting unit 7 determines the data extraction conditions based on the conditions entered in the template. Data extraction conditions (thresholds, etc.) vary depending on the machine, processing conditions, and workpiece material and shape (these conditions are collectively referred to as machine characteristics). By determining appropriate data extraction conditions, it is possible to extract data that suits the intended purpose from a huge amount of time-series data. The machine characteristics of each machine can be obtained from the parameters of the selected machine, etc. The production plan for each machine can be obtained from an MES, etc.

[0051] The change point detection unit 8 detects change points (or singular points) in the primary data using the data extraction conditions determined by the condition setting unit 7 .

[0052] In many cases, information on processing conditions and workpieces is registered as a production plan (work instructions) in an external system such as an MES. The condition setting unit 7 reads the production plan from the external system and registers it in a secondary database. The condition setting unit 7 takes in the production plan as an external factor and determines data extraction conditions in combination with machine characteristics. Conventionally, a program is used to loop-process time-series data to detect change points and singular points. In the third embodiment, the computational load required to detect change points and singular points is reduced, and data suitable for individual requirements such as machine characteristics and production plans is extracted.

[0053] The program verification unit 2 outputs a log using data in which changes have been detected. By using data in which change points have been detected, the verification work can be made more efficient.

[0054] [Fourth Embodiment] FIG. 11 is a block diagram of a program verification device 100 according to a fourth embodiment. The program verification device 100 according to the fourth embodiment includes a data storage unit 9. The data storage unit 9 temporarily stores execution results and execution logs obtained in past verifications. The data in the data storage unit 9 is used for debugging. Generally, in programming, problems are repeatedly identified and corrected. That is, a user detects a problem in a program, corrects the problem, and then verifies the program again. If the data used in the previous verification differs from the data used in the current verification, it becomes difficult to analyze the log. Therefore, data already used in verification is temporarily stored in the data storage unit 9, and verification is repeated. This improves the efficiency of debugging.

[0055] The hardware configuration of program verification apparatus 100 to which the present disclosure is applied will be described below. Fig. 12 is a hardware configuration diagram of program verification apparatus 100. As shown in Fig. 12, program verification apparatus 100 includes a CPU 111 that controls the entire program verification apparatus 100, a ROM 112 that records programs and data, and a RAM 113 for temporarily expanding data. CPU 111 reads a system program recorded in ROM 112 via a bus and operates in accordance with the system program.

[0056] Nonvolatile memory 114 is backed up by, for example, a battery (not shown), and thus retains its stored state even when the power to program verification device 100 is turned off. Nonvolatile memory 114 stores various data, such as programs loaded from external device 120 via interfaces 115, 118, and 119 and operation inputs entered via input device 20. Nonvolatile memory 114 may also store programs and data for executing program verification device 100 of this embodiment. Furthermore, display device 30 displays the various data loaded into memory, data obtained as a result of executing programs, etc.

[0057] The interface 115 is an interface for connecting the program verification device 100 to an external device 120 such as an adapter. Programs, various parameters, etc. are loaded from the external device 120. The interface 118 is an interface for connecting the program verification device 100 to a display device 30 such as a liquid crystal display. The display device 30 displays various data loaded into memory, data obtained as a result of executing programs, etc. The interface 119 is an interface for connecting the program verification device 100 to an input device 20 such as a keyboard or pointing device. The input device 20 passes commands, data, etc. based on operations by an operator to the CPU 111 via the interface 119.

[0058] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.

[0059] The following supplementary notes are further disclosed regarding the above-described embodiment and modified examples. (Supplementary Note 1) A program verification device (100) includes a processing condition unit (3) having a template for creating a program that converts data in a primary database (10) that stores data output from factory equipment and writes the converted data to a structured secondary database (20), a program display unit (4) that displays the template and accepts definitions of the arrangement of program components, such as selecting and converting data in the primary database (10) and writing the data to the secondary database (20), and the conditions for each component, a program execution unit (5) that executes the program created based on the arrangement of the components and the definitions of the conditions, and a program verification unit (2) that outputs the input or output of the components as a log. (Supplementary Note 2) The components include a trigger that starts data collection and a process that selects, converts, and writes data from the primary database to the secondary database. (Supplementary Note 3) The program verification device (100) includes an event storage unit (6) that stores data or time when an event corresponding to the program occurs, and the program verification unit (2) outputs a log using the data when the event occurs. (Supplementary Note 4) The program verification device (100) includes a condition setting unit (7) that includes a data detection template, accepts settings for data detection conditions including machine selection, data selection related to the machine, and a method for detecting change points or singular points, and determines data extraction conditions based on the data detection conditions, and a change point detection unit (8) that detects changes in data based on the data extraction conditions, and the program verification unit outputs a log of data in which the change is detected. (Supplementary Note 5) The condition setting unit (7) registers machine characteristics and data extraction conditions in a database and determines data extraction conditions suitable for the machine input into the data detection template. (Supplementary Note 6) The condition setting unit (7) registers a production plan and database extraction conditions in a database and determines data extraction conditions suitable for the production plan for the machine input into the data detection template.(Supplementary Note 7) The program verification device (100) includes a data storage unit (9) that stores primary data and secondary data that have already been used in verification, and the program verification unit (2) repeats verification using the same data. (Supplementary Note 8) A computer-readable storage medium (112, 113, 114) includes a template for creating a program for one or more processors (111) that converts data in a primary database (10) that saves data output from factory equipment and writes the converted data to a structured secondary database (20), displays the template, accepts definitions of the arrangement of program components for selecting, converting, and writing data in the primary database (10) to the secondary database (20) and conditions for each component, executes the program created based on the definitions of the arrangement of the components and the conditions, and stores instructions for executing processing that outputs the input or output of the components as a log.

[0060] 100 Program verification device 1 Graphical programming section 2 Program verification section 3 Machining condition section 4 Program display section 5 Program execution section 6 Event storage section 7 Condition setting section 8 Change point detection section 9 Data storage section 111 CPU 112 ROM 113 RAM 114 Non-volatile memory

Claims

1. A program verification device comprising: a processing condition unit having a template for creating a program that converts data in a primary database storing data output from a factory device and writes the data to a structured secondary database; a program display unit that displays the template and accepts definitions of the arrangement of components of the program including selection, conversion, and writing to the secondary database of the data in the primary database, and conditions for each component; a program execution unit that executes the program created based on the arrangement and conditions of the components; and a program verification unit that outputs the input or output of the components as a log.

2. The program verification device according to claim 1, wherein the component includes a trigger for starting data collection and a process for selecting, converting, and writing the data in the primary database to the secondary database.

3. The program verification device according to claim 1, further comprising an event storage unit that stores data or time when an event corresponding to the program occurs, wherein the program verification unit outputs a log using the data when the event occurs.

4. A program verification device comprising: a condition setting unit having a template for data detection, accepting settings of data detection conditions including selection of a machine, selection of data related to the machine, and a method for detecting a change point or a singularity point, and determining data extraction conditions based on the data detection conditions; a change point detection unit that detects a change in data based on the data extraction conditions; and the program verification unit that outputs a log of the data in which the change is detected.

5. The program verification device according to claim 4, wherein the condition setting unit registers machine characteristics and data extraction conditions in a database and determines data extraction conditions suitable for the machine input to the data detection template.

6. The program verification device according to claim 4, wherein the condition setting unit registers a production plan and database extraction conditions in a database and determines data extraction conditions suitable for the production plan of the machine input to the data detection template.

7. The program verification device according to claim 1, further comprising a data storage unit that stores the primary data and secondary data already used for verification, wherein the program verification unit repeats verification with the same data.

8. A computer-readable storage medium storing instructions for causing one or more processors to create a template for creating a program that converts data in a primary database storing data output from a factory device and writes the data to a structured secondary database, displays the template, accepts definitions of the arrangement of components of the program for selecting, converting, and writing data in the primary database to the secondary database, and conditions for each component, executes the program created based on the arrangement of the components and the definition of the conditions, and outputs the input or output of the components as a log.