Inspection setting device and control method

The inspection setting device allows flexible tool arrangement with automated execution order determination, enhancing usability and simplifying complex image inspections by analyzing tool relationships.

JP2026105012APending Publication Date: 2026-06-25KEYENCE CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KEYENCE CORP
Filing Date
2026-04-17
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing image inspection setting devices lack flexibility in tool arrangement and execution order, leading to complexity and reduced interpretability, especially when multiple tools and conditional branching are involved.

Method used

An inspection setting device that allows users to freely arrange multiple tools on a palette area, with a control unit analyzing reference relationships to determine the execution order, supporting both free and step layout screens for enhanced usability.

Benefits of technology

Enables users to arrange tools arbitrarily while maintaining ease of interpretation, simplifying the setup of complex inspections by automatically determining the execution order, thus improving usability and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026105012000001_ABST
    Figure 2026105012000001_ABST
Patent Text Reader

Abstract

The goal is to improve usability by allowing users to freely arrange multiple tools without having to consider their execution order. [Solution] The inspection setting device 1 includes a screen generation unit 11 that generates a display screen having a palette area for arranging multiple tools, including an imaging setting tool, a positioning setting tool, an inspection setting tool, and an output tool; an input unit 12 that receives user input for arranging multiple tools at arbitrary positions on the palette area displayed on the display screen; and a control unit 13 that analyzes the reference relationships of the multiple tools arranged on the palette area and determines the execution order of each tool when performing an inspection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0006] , , ,

[0001] The present disclosure relates to an inspection setting device for setting an image inspection device that inspects a workpiece imaged by a camera.

Background Art

[0002] In an inspection setting device for setting an image inspection device, it is common for a user to perform inspection settings via a setting user interface. The setting user interface has various forms, and typical ones include a step form and a flow form.

[0003] The step form is a form that guides the user along the basic inspection procedures, such as imaging, positioning, inspection, and output, so that the user can perform inspection settings without confusion, and allows the user to input desired parameters.

[0004] The flow form is a form in which icons (tools) for issuing instructions for imaging, positioning, inspection, and output are arranged in the processing order determined by the user, as disclosed in, for example, Patent Document 1.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] By the way, each of the two formats mentioned above has its own advantages and disadvantages. Specifically, the step format is simpler, easier to handle, and more interpretable, but it offers less flexibility in settings (expressiveness). The flow format, on the other hand, offers more flexibility than the step format, but it is difficult to set up and use unless the user can determine the correct processing order. Furthermore, if there are many inspection areas, or if conditional branching and common processing mergers are involved, the flow becomes complex, reducing its interpretability.

[0007] In other words, in the traditional format, users could not freely arrange multiple tools without considering their execution order.

[0008] This disclosure is made in view of the above points, and its purpose is to improve the usability of the inspection setting device by allowing users to freely arrange multiple tools without having to consider their execution order. [Means for solving the problem]

[0009] To achieve the above objective, one aspect of this disclosure may focus on an inspection setting device for setting up an image inspection device that inspects a workpiece captured by a camera. The inspection setting device includes a screen generation unit that generates a display screen having a palette area for arranging a plurality of tools, including an imaging setting tool related to camera imaging settings, a positioning setting tool related to positioning an inspection area relative to an inspection target image captured by the camera, an inspection setting tool related to setting inspection content for the positioned inspection area, and an output tool related to output settings for setting settings related to the output of inspection results; an input unit that receives user input for arranging the plurality of tools at any position on the palette area displayed on the display screen; and a control unit that analyzes the reference relationships of the plurality of tools arranged on the palette area and determines the execution order of each tool when performing inspection.

[0010] This configuration allows users to place any multiple tools from the imaging setting tool, positioning setting tool, inspection setting tool, and output tool at any position in the palette area of ​​the display screen. This increases the degree of freedom in settings, and thus the freedom of expression, compared to step-based or cell-based workflow formats. Furthermore, even when many tools are placed in the palette area, the position of the tools is arbitrary as long as it is within the palette area, allowing users to arrange them in a way that is easy for them to interpret, without compromising the ease of interpretation as in flow-based formats. The reference relationships between the multiple tools placed by the user in the palette area are analyzed by the control unit, and the execution order of each tool during inspection is determined based on the analysis results, eliminating the need for the user to set the execution order during inspection.

[0011] In another embodiment, the control unit may also refer to identification information assigned to a plurality of tools arranged on the palette area. In this case, the control unit may determine the execution order of each tool during inspection by analyzing the dependencies based on the processing content of each identification information and performing a topological sort. That is, each tool may have dependencies, such as performing an inspection after imaging and outputting the acquired inspection results. When such dependencies exist, the execution order can be appropriately determined by performing a topological sort that takes these dependencies into account.

[0012] In another embodiment, the dependency may include a sequence in which the positioning setting tool is executed after the imaging setting tool, the inspection setting tool is executed after the positioning setting tool, and the output tool is executed after the inspection setting tool. In this case, the control unit can refer to the categories of the multiple tools arranged on the palette area and determine the execution order of each tool during inspection execution based on the categories so as to maintain the sequence, thereby appropriately determining the execution order of each tool so as to maintain the sequence from imaging to output during image inspection.

[0013] In another embodiment, the control unit, upon receiving the selection of multiple tools from the input unit, can also create an arbitrary group tool by grouping the multiple tools into one group. In this case, the input unit receives user input to assign a desired group name to the group tool created by the control unit, and the screen generation unit generates a display screen in which the group name received from the input unit is displayed at the corresponding position of each group tool in the palette area. This makes it possible to group multiple tools into one group for each inspection area or category, and display them with a group name assigned to them, thereby making it easier to convey the user's intent and improving ease of interpretation.

[0014] In another embodiment, the input unit may be configured to accept user input for grouping tools related to a specific inspection area from among a plurality of tools arranged on the palette area, on a unit basis of that specific inspection area. In this case, the screen generation unit can display grouped tools, in which the related tools are grouped on a unit basis of the inspection area, based on the user input for grouping, so that it is easy to identify which inspection area each group corresponds to.

[0015] An input unit in another embodiment can accept input for generating a first group tool by grouping a positioning setting tool for positioning a first inspection area and an inspection setting tool for inspecting the positioned first inspection area, and input for generating a second group tool by grouping a positioning setting tool for positioning a second inspection area at a different location from the first inspection area and an inspection setting tool for inspecting the positioned second inspection area. In other words, since tools can be grouped for each of the different first and second inspection areas, the tools for each inspection area can be easily identified.

[0016] An input unit in another embodiment can accept input that groups together a first inspection setting tool, selected via the input unit, from among a plurality of tools arranged on the palette area, for inspecting a first inspection area, and a second inspection setting tool, which inspects a second inspection area that shares inspection processing with the first inspection setting tool. In this configuration, inspection processes such as blob inspection and defect inspection can be grouped together, making it easier to interpret the inspection content of each group.

[0017] In another embodiment, the screen generation unit generates a display screen in the image area that distinguishes the first inspection area from the second inspection area when the first group tool is selected via the input unit, while generating a display screen in the palette area that distinguishes the first group tool from the second group tool when the first inspection area is selected via the input unit, so that the area corresponding to the selected group tool can be easily identified on the screen.

[0018] In another embodiment, the input unit is configured to accept input for combining multiple subgroup tools into a single group tool. In this case, the control unit determines the execution order of each tool during inspection execution so that the multiple subgroup tools and the inspection processing tools located outside the single group tool constitute a series of processes. That is, multiple subgroup tools can be combined to create a single group tool, making it easier for the user to understand. Furthermore, when executing the subgroup tools included in the single group tool, it is also possible to execute a common inspection process located outside the single group tool. Moreover, by editing the inspection setting tool, the inspection processes of each group that refer to the edited inspection setting tool can be changed all at once, further improving usability.

[0019] In another embodiment, the screen generation unit can generate either a free layout screen or a step layout screen based on user operations received by the input unit. In the free layout screen, the multiple tools can be placed at any position on the palette area, and the input unit can accept parameter settings for the tool selected by the user from among the placed multiple tools. On the other hand, in the step layout screen, each category is initially displayed on the palette area in the order of imaging, positioning, inspection, and output, and the tool selected by the user from the group of tools belonging to that category is placed on the palette area, and the input unit can accept parameter settings for that tool.

[0020] In other words, while the free layout screen offers a high degree of freedom because there are no restrictions on the placement of tools within the palette area, it can be difficult for users to get started. In this embodiment, users can switch between the free layout screen and the step layout screen as they wish, further improving usability.

[0021] The step layout screen may initially display at least the imaging setting tool, positioning setting tool, inspection setting tool, and output tool that constitute the basic procedure. Since these tools are essential for image inspection, displaying them in advance on the step layout screen will further improve usability.

[0022] In another embodiment, the screen generation unit can, upon receiving a switching operation from the step layout screen to the free layout screen via the input unit, generate a display screen in which multiple tools placed on the step layout screen are placed on the free layout screen. Furthermore, the screen generation unit can, upon receiving a switching operation from the free layout screen to the step layout screen via the input unit, generate a display screen in which multiple tools placed on the free layout screen are placed in areas on the step layout screen that belong to the corresponding categories based on the category of each tool. In other words, users can freely switch between the free layout screen and the step layout screen, and when switching from the free layout screen to the step layout screen, the placement positions of each tool are displayed in areas corresponding to the appropriate categories, thus further improving usability.

[0023] A screen generation unit according to another embodiment can also generate a display screen that further includes an image area for displaying an image to be inspected, which is different from the palette area. In this case, when the input unit receives an operation to switch from one of the free layout screens or the step layout screens to the other, it generates a display screen that changes the display content of the palette area while maintaining the display content of the image area. In other words, by changing only the palette area while maintaining the display content of the image area when switching between the free layout screen and the step layout screen, the user experience can be improved by minimizing the impression that the user interface has changed to the user.

[0024] In another aspect, the input unit may be capable of receiving setting inputs for tools having program elements as tools that cannot be set on the step layout screen but can be set on the free layout screen. That is, when it is desired to set inspection content including program elements such as conditional branches and loops that are difficult to represent on the step layout screen, the setting can be made on the free layout display screen. In other words, by restricting conditional branches and loops to settings on the free layout screen, the usage scenarios of each layout screen can be clearly distinguished.

Advantages of the Invention

[0025] As described above, when the user performs an operation of arranging a plurality of tools at an arbitrary position on the palette area displayed on the display screen, the control unit analyzes the reference relationships of the plurality of tools arranged on the palette area and determines the execution order of each tool during inspection execution. Therefore, the user can freely arrange the plurality of tools without considering their execution order, improving the usability of the inspection setting device.

Brief Description of the Drawings

[0026] [Figure 1] It is a schematic diagram showing the configuration of an inspection setting device according to an embodiment of the present invention. [Figure 2] It is a block diagram of an inspection setting device. [Figure 3] FIG.3A is a diagram showing an example of the initial state of a step layout screen, and FIG.3B is a diagram showing an example after adding tools to the step layout screen. [Figure 4] It is a diagram showing an example of a free layout screen. [Figure 5] It is a diagram for explaining a programming example of tools having reference relationships. [Figure 6] FIG.6A is a diagram showing an example of the reference relationships of a plurality of tools arranged in the palette area of a free layout screen, and FIG.6B is a diagram showing the execution order of the plurality of tools in FIG.6A. [Figure 7]This flowchart shows an example of the process flow from adding a tool to running the inspection. [Figure 8] This is a conceptual diagram illustrating how to switch between the step layout screen and the free layout screen. [Figure 9] FIG. 9A is a flowchart showing an example of the procedure for switching from the step layout screen to the free layout screen, and FIG. 9B is a flowchart showing an example of the procedure for switching from the free layout screen to the step layout screen. [Figure 10] This figure shows an example of the display screen when multiple tools are grouped together. [Figure 11] This is a diagram equivalent to Figure 10, showing the main body of the group window in a closed state. [Figure 12] This is a free-layout screen showing a configuration with multiple inspection setting tools. [Figure 13] This is a step layout screen showing multiple inspection setting tools within the image area. [Figure 14] This is a diagram equivalent to Figure 13, showing the result of editing multiple inspection setting tools at once. [Figure 15] This is a free-layout screen that includes a worksheet area. [Figure 16] This is a conceptual diagram showing the rearrangement of tools in the palette area and worksheet area. [Figure 17] This figure shows an example of the analysis of the execution order. [Figure 18] This figure shows an example of display using a GUI and a worksheet. [Figure 19] This diagram illustrates how to make calculations viewable in a list within the worksheet area. [Figure 20] This diagram illustrates how the overall assessment is applied. [Figure 21] This diagram illustrates the case where the maximum value is applied to sorting. [Figure 22] This diagram illustrates how this can be applied to parameter selection. [Figure 23]This flowchart shows the process flow when grouping multiple tools. [Figure 24] This flowchart shows an example of the process flow from adding a tool to running the inspection. [Figure 25] FIG. 25A is a flowchart showing the processing flow when referencing sequentially from the palette area to the worksheet area, and FIG. 25B is a flowchart showing the processing flow when referencing reversely from the worksheet area to the palette area. [Figure 26] This is a diagram equivalent to Figure 14, showing the process of pasting a mnemonic. [Figure 27] This is a diagram equivalent to Figure 15, showing how a graph looks when displayed in the worksheet area. [Figure 28] This diagram shows how to attach mnemonics. [Figure 29] This is a diagram showing the filtering display screen. [Figure 30] This figure shows the display screen when a setting mnemonic is pasted. [Figure 31] This is a diagram showing the state after a link has been added. [Figure 32] This diagram shows the case where multiple inspection setting tools are placed in the palette area. [Figure 33] This diagram shows the state after entering a list of thresholds for multiple inspection setting tools. [Figure 34] This is a diagram illustrating the creation of a custom tool. [Figure 35] This diagram shows the custom tool after it has been copied and expanded. [Figure 36] This figure shows the state of a table created using mnemonic pasting. [Figure 37] This diagram shows the state after creating the display settings for enabling / disabling control. [Figure 38] This diagram illustrates how to create a custom tool that includes a group tool. [Figure 39] This diagram shows the state after creating a custom tool. [Figure 40]This diagram shows a modified example of displaying reference relationships in a list. [Figure 41] This diagram shows a modified example in which reference relationships are indicated by arrows. [Figure 42] This is a modified version that allows the flowchart to be switched and displayed. [Figure 43] This flowchart shows the process flow when customizing multiple tools into a single tool. [Modes for carrying out the invention]

[0027] Embodiments of the present invention will be described in detail below with reference to the drawings. The following description of preferred embodiments is essentially illustrative and is not intended to limit the present invention, its applications, or its uses.

[0028] Figure 1 is a schematic diagram showing the configuration of an inspection setting device 1 according to an embodiment of the present invention, and Figure 2 is a block diagram of the inspection setting device 1. The inspection setting device 1 shown in Figures 1 and 2 is a device for setting an image inspection device 100 equipped with, for example, a first camera 101 and a second camera 102. In this example, an example in which the image inspection device 100 is equipped with two cameras 101 and 102 is described, but the image inspection device 100 may be equipped with one camera or three or more cameras.

[0029] (Configuration of the imaging inspection system) Before describing the inspection setting device 1, the image inspection device 100 will be described. As shown in Figure 2, the image inspection device 100 consists of a first camera 101 and a second camera 102, and a part of the controller 10, namely the inspection unit 20, and is a device for inspecting a workpiece (also called an object to be inspected) captured by the first camera 101 or the second camera 102. The inspection unit 20 may be built into the first camera 101. In this case, the first camera 101 can be a smart camera equipped with an image generation function that generates an image to be inspected, as well as an image inspection function that inspects the generated image to be inspected. The second camera 102 is similar.

[0030] The first camera 101 and the second camera 102 are installed, for example, on a line in which multiple workpieces are transported sequentially. The first camera 101 and the second camera 102 may be installed on a single line and image different parts of the same workpiece, or they may be installed on different lines and image different workpieces.

[0031] The first camera 101 comprises an imaging unit 101a and an illumination unit 101b. The imaging unit 101a is composed of an image sensor, such as a CCD (charge-coupled device) or CMOS (complementary metal-oxide-semiconductor), but any image sensor capable of imaging a workpiece is acceptable. The illumination unit 101b is the part that illuminates the workpiece when imaging is performed by the imaging unit 101a, and has a light-emitting element, such as a light-emitting diode. In addition, as shown in Figure 1, the first camera 101 is provided with an optical system 101d composed of a lens into which light reflected from the workpiece is incident.

[0032] The imaging unit 101a and the illumination unit 101b are controlled by the camera-side control unit 101c, which is built into the first camera 101. For example, when a trigger signal is input from an external source, the camera-side control unit 101c controls the imaging unit 101a and the illumination unit 101b according to the preset camera imaging settings, the illumination unit 101b illuminates the workpiece at a predetermined timing, and the imaging unit 101a images the illuminated workpiece for a predetermined exposure time. The light intensity of the illumination unit 101b and the gain of the imaging unit 101a are defined in the imaging settings. The imaging settings are set in the inspection setting device 1. The camera-side control unit 101c may be built into equipment other than the first camera 101, such as the controller 10. Also, the illumination unit 101b may be a separate unit from the first camera 101 and may be configured to illuminate the workpiece from a different location than the imaging unit 101a. In this case, the illumination unit 101b can be controlled by the controller 10.

[0033] The image captured by the first camera 101 is the image to be inspected and is output to the inspection unit 20 of the controller 10. If the inspection unit 20 is built into the first camera 101, the image to be inspected is output to the inspection unit 20 inside the first camera 101.

[0034] The second camera 102 is configured similarly to the first camera 101. That is, the second camera 102 includes an imaging unit 102a, an illumination unit 102b, a camera-side control unit 102c, and an optical system 102d. The illumination unit 102b may be a separate unit from the second camera 102.

[0035] The inspection unit 20 performs positioning processing of the inspection area relative to the image to be inspected, then performs inspection processing on the positioned inspection area according to the pre-set inspection content, and then performs output processing to output the inspection results to the outside. In the positioning processing, the positioning settings set by the inspection setting device 1 are used. For example, when only a part of the workpiece is to be inspected, the positioning settings include information that identifies the relative position and size of the inspection area within the workpiece. The positioning settings also include processing to extract the inspection area, processing to rotate the inspection area so that it is in a desired orientation, and processing to enlarge or reduce the inspection area so that it is in a desired size.

[0036] The inspection process uses the inspection settings configured in the inspection setting device 1. The inspection settings include the inspection content for the positioned inspection area. Specifically, these include inspection content such as the presence or absence of parts assembled to the workpiece, the presence or absence of scratches, whether or not it is within the standard dimensions, and the presence or absence of printing.

[0037] In the output processing, the output settings configured in the inspection setting device 1 are used. The output settings include settings related to the output of the inspection results, such as whether or not to output the data to be output (inspection signal, measured values, and / or the image of the object to be inspected), the destination of the inspection results, and the output timing.

[0038] (Configuration of the inspection setting device) The inspection setting device 1 comprises a controller 10, a display unit 30, and an operation unit 40. The controller 10 comprises a screen generation unit 11 that generates a display screen for settings, an input unit 12 that accepts various user inputs, a control unit 13, and an inspection unit 20. If the inspection unit 20 is built into the first camera 101 or the second camera 102, the controller 10 does not need to have the inspection unit 20. Alternatively, even if the inspection unit 20 is built into the first camera 101 or the second camera 102, the inspection unit 20 may still be provided in the controller 10.

[0039] The screen generation unit 11, input unit 12, control unit 13, and inspection unit 20 may be composed of hardware, or they may be composed of a combination of hardware and software. For example, the controller 10 has a built-in CPU (Central Processing Unit). This CPU is connected to ROM, RAM, etc., processes given signals and data, performs various calculations, and outputs the calculation results. The screen generation unit 11, input unit 12, control unit 13, and inspection unit 20 may be composed of a CPU, ROM, RAM, etc., capable of performing such operations. Alternatively, the screen generation unit 11, input unit 12, control unit 13, and inspection unit 20 may each be composed of an independent processing unit.

[0040] The display unit 30 is composed of, for example, a liquid crystal display device or an organic EL display device, and is connected to and controlled by the controller 10. The display unit 30 displays, for example, a display image generated by the screen generation unit 11 of the controller 10, an inspection target image generated by the first camera 101 and the second camera 102, and inspection results.

[0041] The operation unit 40 consists of operating devices for the user to perform various input operations and is connected to the controller 10. When the operation unit 40 is operated, the content of that operation is detected by the input unit 12 of the controller 10. The operation unit 40 includes, for example, a keyboard 40a, a mouse 40b, a touch panel 40c, etc. The touch panel 40c is configured to detect touch operations by the user. The touch panel 40c and the display unit 30 may be integrated, in which case, for example, the user interface displayed on the display unit 30 may be directly operated with the touch panel 40c.

[0042] The inspection setting device 1 may include a personal computer (hereinafter referred to as PC) 35 as shown in Figure 1. If a PC 35 is included, the display unit 30 and the operation unit 40 may be connected to the main body of the PC 35. In this case, the display unit 30 is controlled via the main body of the PC 35, and the operating status of the operation unit 40 is acquired by the controller 10 via the main body of the PC 35.

[0043] Furthermore, if a PC 35 is included, some or all of the screen generation unit 11, input unit 12, control unit 13, and storage unit 14 of the controller 10 may be made executable on the PC 35. That is, since the screen generation unit 11, input unit 12, and control unit 13 are parts that can be configured by the CPU, ROM, RAM, etc. built into the PC 35, they can perform the same functions as if they were installed on the controller 10, even if they are installed on a device other than the controller 10. Also, since the storage unit 14 is a part that is composed of, for example, a solid-state drive or a hard disk drive, even if this storage unit 14 is installed on the PC 35, it can store various kinds of data in the same way as if it were installed on the controller 10. In addition, the storage unit 14 may be composed of an external storage device connected to the controller 10 or PC 35 via a network.

[0044] The screen generation unit 11 is configured to generate a step layout screen 50, shown in Figure 3, and a free layout screen 60, shown in Figure 4, as display screens to be displayed on the display unit 4. The step layout screen 50 includes a palette area 51, an image area 52 that displays the image to be inspected, which is different from the palette area 51, and a properties area 53. When the image to be inspected, captured by the first camera 101 or the second camera 102, is input to the controller 10, it is laid out so that it is displayed in the image area 52 of the step layout screen 50 generated by the screen generation unit 11.

[0045] The palette area 51 of the step layout screen 50 is an area for arranging multiple tools, and the tools are automatically categorized. The tools that can be placed in the palette area 51 include imaging setting tools related to the imaging settings of cameras 101 and 102, positioning setting tools related to positioning the inspection area relative to the inspection target image captured by cameras 101 and 102, inspection setting tools related to inspection settings that set the inspection content for the positioned inspection area, and output setting tools related to output settings that set the output of inspection results.

[0046] In the palette area 51 of the step layout screen 50, initial categories are defined, and these initial categories are predefined on the inspection setting device 1 before the user defines them. Image inspection requires four tools: an imaging setting tool, a positioning setting tool, an inspection setting tool, and an output tool. Therefore, the initial categories are "Camera" for the imaging setting tool, "Positioning" for the positioning setting tool, "Inspection" for the inspection setting tool, and "Output" for the output tool.

[0047] In image inspection, imaging processing by cameras 101 and 102 is performed first, so the imaging setting tool can be placed at the very top. Therefore, in the palette area 51, the camera area 51a, which is the area for placing the imaging setting tool, is displayed at the very top. After imaging processing, positioning processing of the inspection area is performed, so the positioning setting tool can be placed after the imaging setting tool. Therefore, in the palette area 51, the positioning area 51b, which is the area for placing the positioning setting tool, is displayed downstream of the camera area 51a. After positioning processing, inspection of the inspection area is performed, so the inspection setting tool can be placed after the positioning setting tool. Therefore, in the palette area 51, the inspection setting area 51c, which is the area for placing the inspection setting tool, is displayed downstream of the positioning area 51b. After inspection processing, output processing of the inspection results is performed, so the output tool can be placed at the very bottom. Therefore, in the palette area 51, the output area 51d, which is the area for placing the output tool, is displayed at the very bottom.

[0048] In the example shown in Figure 3, the inspection flow is set up so that the upstream end of the image inspection is at the top and the downstream end is at the bottom, so the camera area 51a is placed at the top and the output area 50d is placed at the bottom. Note that the system may also be configured to allow the setting of optional tools, and in this example, the optional area 51e, where optional tools can be set, is located below the output area 50d.

[0049] In the step layout screen 50, the categories of Camera, Positioning, Inspection, and Output are initially displayed on the palette area 51 in that order. The user can select the desired tool from the group of tools belonging to each category via the tool selection button 510 provided for each category. In the example shown in Figure 3, only the tools belonging to the Camera category are initially added; specifically, only one "T001 Imaging Tool" is placed in the Camera area 51a. In the palette area 51, no tools may be placed initially.

[0050] The tools in the Camera category include imaging setting tools as well as tools related to image correction, for example. The tools in the Positioning category include tools related to pattern search, edge detection, and blob processing, for example. The tools in the Inspection category include tools related to presence / absence inspection, defect inspection, dimensional measurement, and blob analysis (such as blob counting), for example. The tools in the Output category include tools related to result output and image output, for example.

[0051] Thus, in the palette area 51 of the step layout screen 50, the categories are displayed in the order of camera, positioning, inspection, and output in the initial state. Therefore, even if the user has limited programming skills, they can be guided to set up the desired image inspection simply by selecting the necessary tools in each category according to the displayed order.

[0052] The user can place tools in the palette area 51 of the step layout screen 50 by operating the operation unit 40. The user's operation of the operation unit 40 is detected by the input unit 12 of the controller 10. For example, if the user selects and places the "T001 Imaging" tool in the camera area 51a of the palette area 51, the input unit 12 receives this operation as user input for placing the tool. When the input unit 12 receives user input for placing the tool, the control unit 13 recognizes and stores that the "T001 Imaging" tool has been placed in the camera area 51a of the palette area 51. Meanwhile, the screen generation unit 11 updates the step layout screen 50 to a display screen showing the "T001 Imaging" tool placed in the camera area 51a of the palette area 51 and displays it on the display unit 30.

[0053] Similarly, when a user places the "T002 Pattern Search" tool in the positioning area 51b of the pallet area 51, the control unit 13 recognizes and stores that the "T002 Pattern Search" tool has been placed in the positioning area 51b of the pallet area 51, and the screen generation unit 11 updates the display screen to show that the "T002 Pattern Search" tool has been placed in the positioning area 51b of the pallet area 51. Also, when a user places the "T003 Blob" tool in the inspection setting area 51c of the pallet area 51, the control unit 13 recognizes and stores that the "T003 Blob" tool has been placed in the inspection setting area 51c of the pallet area 51, and the screen generation unit 11 updates the display screen to show that the "T003 Blob" tool has been placed in the inspection setting area 51c of the pallet area 51. Furthermore, when a user places the "T004 Result Output" tool in the output area 51d of the palette area 51, the control unit 13 recognizes and stores that the "T004 Result Output" tool has been placed in the output area 51d of the palette area 51, and the screen generation unit 11 updates the display screen to show the "T004 Result Output" tool placed in the output area 51d of the palette area 51.

[0054] When placing tools in the palette area 51 of the step layout screen 50, they are arranged in the order they were added, so it is not possible to leave gaps between tools. While the order of tools can be rearranged, the programmer's intent cannot be represented by the tool's position. In other words, while it is possible to view a list of tools placed in the palette area 51, the freedom of tool layout is limited, making it suitable for low-complexity image inspection and simple image inspection with few control elements.

[0055] In the properties area 53 of the step layout screen 50, parameter settings can be configured as detailed settings for each tool. Parameter settings can be performed via the input section 12.

[0056] Furthermore, after placing a tool in the palette area 51, when the user operates the control unit 40 to set parameters, the parameter settings for that tool are accepted via the input unit 12, and the entered parameters are reflected. Parameter settings can be configured for each tool.

[0057] The step layout screen 50 is configured so that it is not possible to configure tools that have program elements. Specifically, the input unit 12 disables the input of settings for tools that have program elements when the step layout screen 50 is displayed on the display unit 30. Tools for which setting input is disabled on the step layout screen 50 include, for example, conditional branching, loops, routines, routine schedules, and event issuance. This is because while processes without control elements can be easily represented on the step layout screen 50, it becomes difficult to represent when tools from various categories such as positioning, inspection, and output are mixed together in a conditional branching.

[0058] The free layout screen 60 shown in Figure 4 includes a palette area 61, an image area 62 that displays the inspection target image (different from the palette area 61), and a properties area 63. The image area 62 displays the inspection target image, similar to the image area 52 of the step layout screen 50. In addition, the properties area 63 of the free layout screen 60 allows for parameter settings as detailed settings for each tool. Parameter settings can be performed via the input unit 12. As an example of the procedure, the user operates the operation unit 40 and selects a tool from among the multiple tools placed in the palette area 61 for which parameter settings are to be performed. The tool selection operation is accepted by the input unit 12. When setting the parameters of the selected tool, the user operates the operation unit 40. This operation is also accepted by the input unit 12, and the entered parameters are reflected. In the properties area 63, for example, it is possible to input the tool name, set whether to execute or not, and select output data. The properties area 53 may be provided as needed and may be omitted.

[0059] The palette area 61 of the free layout screen 60 is an area for arranging multiple tools, including the imaging setting tool, positioning setting tool, inspection setting tool, and output tool described above. The difference from the palette area 51 of the step layout screen 50 is that there are no restrictions on the degree of freedom of the layout position of the tools within the palette area 61. Therefore, regardless of the program state, it is possible to place multiple tools in any position, making it easy to perform tasks such as categorizing according to the inspection area. Thus, the free layout screen 60 is suitable for users with high programming skills and is also suitable for complex image processing.

[0060] To enable complex image processing, the palette area 61 of the free layout screen 60 is configured to allow the setting of tools with programmatic elements. In other words, the input unit 12 can accept input for tools that cannot be set on the step layout screen 50, such as conditional branching, loops, routines, routine schedules, and event issuance. It is not necessary to have a difference in the tools that can be set on the step layout screen 50 and the free layout screen 60.

[0061] The palette area 61 of the free layout screen 60 is provided with a tool selection area 61a. The tool selection area 61a is categorized and can display imaging setting tools, positioning setting tools, inspection setting tools, and output tools, and the user can select the desired tool from the tool selection area 61a.

[0062] The user can place tools at any position on the palette area 61 of the free layout screen 60 by operating the operation unit 40. That is, for example, if the user selects the "T001 Imaging" tool and then performs an operation to place it in the palette area 61, the input unit 12 receives this as user input for placing the tool. Examples of operations to place tools in the palette area 61 include clicking with the mouse 40b or touching with the touch panel 40c. More specifically, there is a drag-and-drop operation where the tool is selected and then dragged and dropped at any position in the palette area 61. By repeating such operations, multiple tools can be easily placed at any position within the palette area 61. It is also possible to correct the position of tools placed within the palette area 61. Furthermore, it is possible to delete tools placed within the palette area 61.

[0063] When the input unit 12 receives user input for placing a tool, the control unit 13 recognizes and stores that the "T001 Imaging" tool has been placed at the user-specified position (specified position) in the palette area 61. Unlike the step layout screen 50, the "T001 Imaging" tool can be placed anywhere within the palette area 61, allowing for fine adjustment of the tool's position. The screen generation unit 11 updates the free layout screen 60 to a display screen with the "T001 Imaging" tool placed at the specified position in the palette area 61 and displays it on the display unit 30.

[0064] In the example shown in Figure 4, in addition to the "T002 Pattern Search" tool, "T003 Blob" tool, and "T004 Result Output" tool, the "T005 Edge Width" tool, "T006 Area" tool, and others are also placed in the palette area 61.

[0065] As shown in Figure 5, a user might program the blob analysis process and edge extraction process to execute sequentially without considering the execution order during inspection. During inspection, the blob analysis process needs to reference the results of the edge extraction process, so an error will occur. Thus, since both "data reference" and "processing order" must be considered, programming that takes the execution order during inspection into account is difficult.

[0066] In contrast, the control unit 13 shown in Figure 2 analyzes the reference relationships of multiple tools placed on the palette area 61 of the free layout screen 60 and determines the execution order when each tool performs inspection. As shown on the right side of Figure 5, it automatically changes the execution order so that blob analysis is performed after edge extraction. This allows the user to place tools at any position on the palette area 61, considering only "data references" and without considering the "processing order," thus simplifying programming.

[0067] Specifically, the control unit 13 is configured to determine the execution order of each tool during inspection by referring to identification information assigned to multiple tools placed on the palette area 61 of the free layout screen 60, analyzing the dependencies based on the processing content of each identification information, and executing a sorting algorithm. Topological sorting is preferred as the sorting algorithm, but it is not limited to topological sorting. The dependencies may include a specific order in which the positioning setting tool is executed after the imaging setting tool, the inspection setting tool is executed after the positioning setting tool, and the output tool is executed after the inspection setting tool. In this case, the control unit 13 refers to which category of the multiple tools placed on the palette area 61 of the free layout screen 60 belongs, namely the imaging setting tool, positioning setting tool, inspection setting tool, and output tool. Then, based on the category obtained by the reference, the control unit 13 determines the execution order of each tool during inspection so as to maintain the aforementioned order.

[0068] An example will be explained based on Figure 6. FIG. 6A in Figure 6 shows six tools placed on the palette area 61 of the free layout screen 60 in Figure 4: the "T001 Image" tool, the "T002 Pattern Search" tool, the "T003 Blob" tool, the "T004 Result Output" tool, the "T005 Edge Width" tool, and the "T006 Area" tool. For example, the "T001 Image" tool means that the number T001 has been assigned as identification information. T001 is just one example of identification information, and the identification information may consist of symbols or letters, or a combination of symbols and letters, for example.

[0069] The arrows between tools in FIG. 6A indicate the reference relationships between tools. Specifically, the "T002 Pattern Search" tool references the "T001 Imaging" tool. The "T003 Blob" tool references the "T002 Pattern Search" tool and the "T006 Region" tool. The "T004 Result Output" tool references the "T003 Blob" tool and the "T005 Edge Width" tool. The "T005 Edge Width" tool references the "T002 Pattern Search" tool and the "T006 Region" tool. The "T006 Region" tool references the "T002 Pattern Search" tool.

[0070] Figure 6B shows the order of the tools after performing a topological sort on the multiple tools shown in Figure 6A. In other words, by performing a sort on five tools such that each directed edge of a directed graph without cycles is in the forward direction, the execution order of each tool during inspection is determined so that the mutual reference relationships of the six tools are established, and then the tools are rearranged. The order in which this rearrangement is performed corresponds to the execution order of each tool and is represented by the solid arrows. The dashed lines extending from the side of each tool indicate the same reference relationships as in Figure 6.

[0071] In the example shown in Fig. 6B, the tools are executed in the following order: "T001 Imaging", "T002 Pattern Search", "T006 Region", "T003 Blob", "T005 Edge Width", and "T004 Result Output". In cases where the order of execution does not matter, such as with the "T003 Blob" and "T005 Edge Width" tools in this example, it is possible to execute them in order, for example, starting with the tools that have the smallest numbers included in the identification information.

[0072] Figure 7 is a flowchart showing the process flow from adding a tool to executing the inspection, and the process is the same for both the step layout screen 50 and the free layout screen 60. In step SC1 after the start, the input unit 12 receives input from the user to add a tool. In step SC2, the screen generation unit 11 displays the tool received in step SC1 in the palette areas 51 and 61. In step SC3, the input of parameters for the added tool is received. Note that the added tool may have initial parameters, and if there is no need to change these initial parameters, step SC3 may be skipped. In step SC4, if there are other tools that need to be added, the process returns to step SC1 and the same process is performed. In step SC4, when the user has completed the inspection settings and the input unit 12 has received an instruction to execute the inspection, the process proceeds to step SC5. In step SC5, the control unit 13 analyzes the reference relationships of the multiple added tools. In step SC6, the control unit 13 determines the execution order of the inspection based on the reference relationships analyzed in step SC5. In step SC7, the inspection unit 20 performs the inspection based on the execution order determined in step SC6.

[0073] (Screen selection / screen switching) The input unit 12 is configured to accept user selection between the step layout screen 50 shown in Figure 3 and the free layout screen 60 shown in Figure 4. As shown conceptually in Figure 8, the free layout screen 60 is assumed to contain three tools classified as imaging setting tools, three tools classified as positioning setting tools, and one tool classified as an inspection setting tool (output tools are not shown). When switching from the free layout screen 60 to the step layout screen 50, the three imaging setting tools are placed at the top, followed by the three positioning setting tools, and the inspection setting tool is placed at the bottom, corresponding to the execution order. When this rearrangement occurs, categories in the step layout screen 50 may be assigned in advance, or a categorization list containing rules indicating which category in the step layout screen 50 each tool belongs to may be used.

[0074] Figure 9, Fig. 9A, shows the procedure for switching from the step layout screen 50 to the free layout screen 60. In step SA1 after startup, tools are added in a categorized state. In step SA2, the system-side layout information for the free layout is added to each tool. The layout information is simply for alignment. In step SA3, when the user switches from the step layout screen 50 to the free layout screen 60, in step SA4, the free layout screen 60 is displayed according to the layout information added in step SA2.

[0075] FIG.9B in Figure 9 shows the procedure for switching from the free layout screen 60 to the step layout screen 50. In step SB1 after the start, the user specifies the position information of the free layout. For example, the tool type can be specified and added. In step SB2, when the user switches from the free layout screen 60 to the step layout screen 50, step SB3 converts according to the tool category or categorization list. In step SB4, the step layout screen 50 is displayed according to the category. Note that the conversion in step SB3 may be performed in advance.

[0076] As shown in Figure 3, the step layout screen 50 is provided with a screen selection area 50a for switching from the step layout screen 50 to the free layout screen 60. The screen selection area 50a displays, for example, a selection button, a switch button, a drop-down list, etc. When a user operates the screen selection area 50a using the operation unit 40, that operation is received by the input unit 12 as a switching operation from the step layout screen 50 to the free layout screen 60, that is, a selection operation for the free layout screen 60. When the screen generation unit 11 detects that the screen selection area 50a has been operated, it generates the free layout screen 60 and displays it on the display unit 30.

[0077] Furthermore, as shown in Figure 4, the free layout screen 60 is provided with a screen selection area 60a for switching from the free layout screen 60 to the step layout screen 50. The screen selection area 60a is configured similarly to the screen selection area 50a of the step layout screen 50, and when a user operates the screen selection area 60a using the operation unit 40, that operation is received by the input unit 12 as a switching operation from the free layout screen 60 to the step layout screen 50, i.e., a selection operation for the step layout screen 50. When the screen generation unit 11 detects that the screen selection area 60a has been operated, it generates the step layout screen 50 and displays it on the display unit 30.

[0078] Specifically, assuming that multiple tools are placed on the palette area 51 of the step layout screen 50 as shown in Figure 3, when the screen generation unit 11 receives a switching operation from the step layout screen 50 to the free layout screen 60 via the input unit 12, it generates a display screen in which the multiple tools placed on the palette area 51 of the step layout screen 50 are placed on the palette area 61 of the free layout screen 60 as shown in Figure 4.

[0079] On the other hand, assuming that multiple tools are placed on the palette area 61 of the free layout screen 60 as shown in Figure 4, when the screen generation unit 11 receives a switching operation from the free layout screen 60 to the step layout screen 50 via the input unit 12, it generates a display screen in which the multiple tools placed on the free layout screen 60 are placed in the corresponding category area on the palette area 51 of the step layout screen 50, based on the category of each tool, as shown in Figure 3. For example, in Figure 4, the "T001 Imaging" tool belongs to the category of imaging setting tools, so it is placed in the camera area 51a on the palette area 51 of the step layout screen 50. Also in Figure 4, the "T002 Pattern Search" tool belongs to the category of positioning setting tools, so it is placed in the positioning area 51b on the palette area 51 of the step layout screen 50. Also in Figure 4, the "T003 Blob" tool belongs to the category of inspection setting tools, so it is placed in the inspection setting area 51c on the palette area 51 of the step layout screen 50. Furthermore, in Figure 4, the "T004 Result Output" tool belongs to the output tool category, and is therefore placed in the output area 51d on the palette area 51 of the step layout screen 50.

[0080] After the input unit 12 receives a switching operation from the step layout screen 50 to the free layout screen 60, the screen generation unit 11 generates the free layout screen 60 while maintaining the display content displayed in the image area 52 of the step layout screen 50, and also generates the free layout screen 60 having a palette area 61 with display content different from the display content of the palette area 51 of the step layout screen 50.

[0081] Conversely, after the input unit 12 receives a switching operation from the free layout screen 60 to the step layout screen 50, the screen generation unit 11 generates the step layout screen 50 while maintaining the display content displayed in the image area 62 of the free layout screen 60, and also generates the step layout screen 50 having a palette area 51 with display content different from the display content of the palette area 61 of the free layout screen 60.

[0082] As a result, when switching from the free layout screen 60 to the step layout screen 50, the displayed content of the image area 52 of the step layout screen 50 and the image area 62 of the free layout screen 60 does not change, thus preventing the user from getting the impression that the user interface has changed drastically. In addition, the position, size, and shape of the image area 52 of the step layout screen 50 and the image area 62 of the free layout screen 60 remain unchanged before and after the display screen is switched. However, the position, size, and shape of the image area 52 of the step layout screen 50 and the image area 62 of the free layout screen 60 may be changed before and after the display screen is switched.

[0083] If a tool that cannot be set in the step layout screen 50 is set in the free layout screen 60, when switching from the free layout screen 60 to the step layout screen 50, the tool that cannot be set may be automatically placed in an area outside the palette area 51. This allows tools that are not included in the categories of the step layout screen 50 to be reflected in the step layout screen 50.

[0084] (Grouping function) The inspection setting device 1 has a grouping function that combines multiple tools into a single group to create a group tool. For example, if a workpiece contains multiple inspection parts, it may be desirable to group the processing for each inspection part. However, due to the processing order, if a common process common to multiple inspection parts is inserted in between, the processing may be interrupted. In such cases, the grouping function in this example can be used. The grouping function will be explained according to the processing flow shown in the flowchart of Figure 23.

[0085] First, in step SD1 after the start, the input unit 12 accepts the user's selection of multiple tools that the user wishes to group from among the multiple tools placed on the palette area. As shown in Figure 10, the user selects multiple tools from among the multiple tools placed on the palette area 61 of the free layout screen 60 by operating the operation unit 40. This user operation is accepted by the input unit 12 as user input for selecting multiple tools. Figure 10 shows the case where the "T005 Edge Width" tool, the "T003 Blob" tool, and the "T006 Area" tool are selected.

[0086] Next, in step SD2, the control unit 13 groups together the multiple tools selected by the input unit 12 into a single group to create an arbitrary group tool. At this time, the control unit 13 may also accept a grouping operation from the user separately. For example, a group execution button may be provided on the free layout screen 60, and when the input unit 12 receives input from this group execution button, the control unit 13 creates the group.

[0087] In step SD3, the group tools created by the control unit 13 are displayed on the palette area 61 under the name "Group 000" for convenience. The screen generation unit 11 displays the tools belonging to "Group 000" and the tools not belonging to "Group 000" in a distinguishable form on the palette area 61. Distinguishable forms include, for example, displaying multiple tools belonging to "Group 000" in one window, displaying multiple tools belonging to "Group 000" surrounded by a frame, and displaying multiple tools belonging to "Group 000" with different colors from other tools. In Figure 10, three tools belonging to "Group 000" are displayed together in one window 64.

[0088] The main body of window 64 displays multiple grouped tools, while the top of window 64 has a group name display area 64a for displaying the group name. In this example, the group name display area 64a is located at the top of window 64, but the location of the group name display area 64a is not limited to the top. The group name displayed in this group name display area 64a can be changed. If the user wants to change the group name or enter a new group name, they operate the operation unit 40 to select the group name display area and enter the desired string using the keyboard 40a or the like. This operation is user input to assign the desired group name. In step SD4, the input unit 12 receives user input to assign the desired group name to the group created by the control unit 13. In step SD5, when the input unit 12 receives user input to assign the group name, the screen generation unit 11 generates a display screen that displays the group name received by the input unit 12 in the corresponding position of the group tool in the palette area 61, i.e., the group name display area 64a.

[0089] Window 64 is provided with a resize button 64b. When the resize button 64b is operated by the user while the main body of window 64 is displayed, and this user input is received by the input unit 12, the screen generation unit 11 closes the main body of window 64 and hides the grouped tools, as shown in Figure 11. At this time, the group name display area 64a and the resize button 64b remain displayed. When the resize button 64b is operated by the user while the main body of window 64 is closed, and this user input is received by the input unit 12, the screen generation unit 11 displays the main body of window 64, as shown in Figure 10.

[0090] Figure 12 shows a specific example of grouping. In the example shown in Figure 12, the image area 62 of the free layout screen 60 shows a workpiece with five inspection areas, from area A to area E. Areas A to E are all different areas. In this way, the screen generation unit 11 generates a display screen that further includes an image area 62 that displays an inspection target image in which at least area A as the first inspection area and area B as the second inspection area are indicated.

[0091] When inspecting each inspection site, there is a first half process and a second half process, and a common process is executed in between the first half and the second half process. If such a common process is included, the first half process and the second half process will be separated in the step layout screen 50, but by using the grouping function, the first half process and the second half process for each site A to E can be displayed as a single group tool.

[0092] For example, when a user selects tools for the first and second processing stages related to part A, the input unit 12 receives the selection operation, and the control unit 13 groups the multiple tools related to part A together as group tool TA. The same applies to the other parts B through E, which are group tools TB, TC, TD, and TE, respectively.

[0093] Each part can also be called a specific inspection area. In short, the input unit 12 is configured to accept user input to group tools related to a specific inspection area from among multiple tools placed on the palette area 61, on a unit basis of that specific inspection area. The screen generation unit 11 generates a display screen having a palette area 61 that displays group tools TA, TB, TC, TD, TE, which are grouped by the inspection area unit, based on the user input for grouping on a unit basis of that specific inspection area. "Part A," etc., are group names and can be changed as described above.

[0094] For example, the group tool TA associated with part A (first group tool) includes a positioning setting tool for positioning part A as the first inspection area and an inspection setting tool for inspecting the positioned part A. Similarly, the group tool TB associated with part B (second group tool) includes a positioning setting tool for positioning part B as the second inspection area at a different location from the first inspection area and an inspection setting tool for inspecting the positioned part B. The same applies to parts C to E, with each group tool TC, TD, and TE including a positioning setting tool and an inspection setting tool. Thus, the input unit 12 is configured to accept input for generating the first group tool by grouping a positioning setting tool for positioning the first inspection area and an inspection setting tool for inspecting the positioned first inspection area, and input for generating the second group tool by grouping a positioning setting tool for positioning the second inspection area at a different location from the first inspection area and an inspection setting tool for inspecting the positioned second inspection area.

[0095] Furthermore, when grouping tools, inspection setting tools that inspect different inspection areas can also be grouped. For example, if an inspection setting tool for inspecting part A and an inspection setting tool for inspecting part B are common, it is possible to group the inspection setting tool for part A and the inspection setting tool for part B into a single group tool. That is, the input unit 12 is configured to accept input to group a first inspection setting tool that inspects part A selected via the input unit 12 from among multiple tools placed on the palette area 61, and a second inspection setting tool that inspects part B, which has the same inspection processing as the first inspection setting tool. When the input unit 12 receives input to group the first inspection setting tool and the second inspection setting tool, the control unit 13 combines the first inspection setting tool and the second inspection setting tool into a single group tool. Also, since data such as preprocessing filters, model data, and inspection areas can be shared among multiple tools, tools that share such data can be grouped into the same group tool.

[0096] Furthermore, when grouping tools, they can also be grouped by tools that share a common positioning setting tool. That is, the input unit 12 is configured to accept input for generating a first group tool by grouping a first positioning setting tool and a first inspection setting tool that references the first positioning setting tool from among multiple tools placed on the palette area. The input unit 12 is further configured to accept input for generating a second group tool by grouping a second positioning setting tool that is different from the first positioning setting tool and a second inspection setting tool that references the second positioning setting tool from among multiple tools placed on the palette area. If the positioning marks are displayed shifted for each image to be inspected, the parameters of the positioning setting tool will change to follow the shift in the positioning marks, so it is necessary to change the parameters of the inspection setting tool that references that positioning setting tool. In this case, if tools that reference a common positioning setting tool are grouped together, the tools that need to have their parameters changed can be quickly identified, thus improving work efficiency.

[0097] Furthermore, when a first group tool is selected via the input unit 12, the screen generation unit 11 generates a display screen in the image area 62 that distinguishes the first inspection area from the second inspection area. For example, when group tool TA is selected by the user, part A is displayed in the image area 62 in a way that distinguishes it from parts B to E. For example, the color of the frame surrounding part A is changed to match the color of the frames surrounding parts B to E, or part A is colored differently from parts B to E. This makes it easy for the user to determine which group tool for which part is currently selected.

[0098] Furthermore, when a first group tool is selected via the input unit 12, the screen generation unit 11 can generate a display screen in the palette area 61 that distinguishes the first group tool from the second group tool. For example, when group tool TA is selected by the user, group tool TA is displayed in the palette area 61 in a form that distinguishes it from group tools TB, TC, TD, and TE. For example, the color of the frame surrounding group tool TA may be changed to match the color of the frames surrounding group tools TB, TC, TD, and TE, respectively, or group tool TA may be colored differently from group tools TB, TC, TD, and TE. This makes it easy for the user to determine which group tool is currently selected.

[0099] The input unit 12 is configured to accept input for combining multiple subgroup tools into a single group tool. For example, in Figure 12, the first half of the processing is a single group tool, and this group contains multiple tools. Similarly, the second half of the processing is also a single group tool containing multiple tools. The group tool for the first half of the processing and the group tool for the second half of the processing can each be called a subgroup tool. By combining these subgroup tools, a group tool TA, etc., can be constructed.

[0100] Furthermore, the control unit 13 determines the execution order of each tool during inspection so that multiple subgroup tools and inspection processing tools located outside the group tool that combines them constitute a series of processes. In this example, the common processing corresponds to the inspection processing tools located outside the group tool TA on the palette area 61, and the control unit 13 determines the execution order of each tool during inspection so that the common processing is performed between the group tool for the first half of the processing and the group tool for the second half of the processing.

[0101] (Batch editing function for multiple tools) The inspection setting device 1 is equipped with a batch editing function that allows for the simultaneous editing of multiple tools placed in the palette area 61 of the free layout screen 60. Figure 13 shows a case where eight inspection setting tools are placed in the palette area 61, and accordingly, eight tool displays (circular) indicating inspection areas are displayed vertically in the image area 52. By simultaneously editing the eight inspection setting tools, it becomes possible to arrange the inspection areas of the workpiece in a predetermined direction, as shown in Figure 14. In this way, by setting the position, arrangement direction, pitch, etc., of multiple tools in the palette area 61, it becomes possible to align multiple tools.

[0102] (Displaying the worksheet area) As shown in Figure 15, the screen generation unit 11 of the inspection setting device 1 can generate, for example, a free layout screen 60, as an example of a display screen that simultaneously displays a palette area 61, an image area 62, and a worksheet area 65. Note that the palette area 61 and the worksheet area 65 do not have to be displayed simultaneously; for example, only one may be displayed, and the other may be displayed by switching operations.

[0103] The worksheet area 65 is an area for referencing and calculating data related to multiple tools located in the palette area 61, and it has multiple cells. The cells in the worksheet area 65 are arranged vertically and horizontally. The step layout screen 50 can also be a display screen that shows the worksheet area.

[0104] The input unit 12 accepts the selection of a tool placed on the palette area 61 of the free layout screen 60. For example, when a user selects any tool from among several tools placed on the palette area 61 using the operation unit 40, the operation is accepted by the input unit 12, and the control unit 13 identifies the tool accepted by the input unit 12. The input unit 12 also accepts settings related to data input, reference, or calculations concerning the tool selected by the user via the worksheet area 65. This allows users to easily perform everything from image processing settings to data utilization without acquiring programming skills. Furthermore, since image processing can be set using the tools in the palette area 61, and data utilization related to the tools can be set in the worksheet area 65, the settings can be distinguished, making the setting operation easier to understand.

[0105] The data referencing function between the palette area and the worksheet area will be explained following the processing flow shown in the flowcharts FIG.25A and FIG.25B of Figure 25. In step SF1 of FIG.25A, the control unit 13 generates a mnemonic representing data about the tools placed on the palette area 61. In step SF2, the input unit 12 receives a sequential reference instruction from the user to import data about the selected tool on the palette area 61 into the worksheet area 65. A sequential reference instruction involves referencing numerical values ​​such as measurement results of the tool on the palette area 61 in the worksheet area 65 and importing them into the worksheet area, and any method may be used. As an example of a sequential reference instruction method, the input unit 12 is configured to accept a sequential reference instruction by a drag-and-drop operation in which data about the selected tool on the palette area 61 is dragged and dropped onto the worksheet area 65. In other words, a sequential reference instruction can be easily performed by operating the mouse 40b. Note that the order of steps SF1 and SF2 may be reversed. In other words, the control unit 13 may generate a mnemonic for the data of the tool that is the target of the sequential reference instruction after the input unit 12 has received the sequential reference instruction.

[0106] In step SF3, when the input unit 12 receives a sequential reference instruction, the control unit 13 is configured to associate the selected tool with the cell in the worksheet area 65 by assigning a data mnemonic related to the selected tool to the cell in the worksheet area 65.

[0107] The input unit 12 can accept not only forward reference instructions but also reverse reference instructions. A reverse reference instruction involves feeding back the calculation result in the worksheet area 65 to the palette area 61 for use. That is, in step SG1 of FIG. 25B, the input unit 12 accepts data input for cells in the worksheet area 65. In step SG2, the input unit 12 accepts a first reverse reference instruction to import the data of the selected cell in the worksheet area 65 into the parameters of the selected tool on the palette area 61 of the free layout screen 60. In this case, in step SG3, when the input unit 12 accepts the first reverse reference instruction, the control unit 13 assigns a reference link from the parameters of the selected tool on the palette area 61 to the selected cell on the worksheet area 65. In this way, the control unit 13 associates the parameters of the selected tool on the palette area 61 with the selected cell on the worksheet area 65.

[0108] The input unit 12 can also receive a second reverse reference instruction, which is a reverse reference instruction, to import the data from the cell containing the result of the calculation received via the worksheet area 65 into the parameters of the selected tool on the palette area 61. When the input unit 12 receives the second reverse reference instruction, the control unit 13 associates the parameters of the selected tool on the palette area 61 with the cell containing the result of the calculation by adding a reference link to the parameters of the selected tool on the palette area 61.

[0109] The input unit 12 accepts at least one of the following selection operations: the selection of any tool from among the multiple tools placed on the palette area 61, and the selection of a cell in the worksheet area 65 into which data has been entered. When the user selects any tool on the palette area 61 using the operation unit 40, that operation is accepted by the input unit 12 as a selection operation. Similarly, when the user selects a cell in the worksheet area 65 into which data has been entered using the operation unit 40, that operation is accepted by the input unit 12 as a selection operation.

[0110] The control unit 13 analyzes the reference relationships between multiple tools placed on the palette area 61 and the data entered in the worksheet area 65, and determines the execution order when each tool is inspected, as well as the data reference order and calculation order in the worksheet area 65. At this time, if the control unit 13 receives a selection operation for any tool from the input unit 12, it creates reference relationship data showing the reference relationship between the selected tool and the cells in the worksheet area 65. On the other hand, if the input unit 12 receives a selection operation for a cell in which data has been entered, it creates reference relationship data showing the reference relationship between the selected cell and the tool. The screen generation unit 11 displays the reference relationship data created by the control unit 13, as will be described later.

[0111] Furthermore, the control unit 13 can determine the execution order when each tool is inspected, as well as the data referencing order and calculation order in the worksheet area 65, by referring to the identification information assigned to multiple tools placed on the palette area 61 and multiple cells in the worksheet area 65, analyzing the dependencies based on the processing content of each identification information, and performing a topological sort.

[0112] The procedure for determining the order will be explained in detail below. Figure 16 is a conceptual diagram showing the rearrangement of image processing tools arranged in the palette area 61 and arithmetic processing tools arranged in the worksheet area 65. As shown in this figure, when there is a worksheet area 65 and a palette area 61, multiple image processing tools may be arranged in the palette area 61 and multiple arithmetic processing tools may be arranged in the worksheet area 65. The control unit 13 performs a topological sort and rearranges the multiple image processing tools in the palette area 61 and the multiple arithmetic processing tools in the worksheet area 65 in the optimal order. As a result, the user does not need advanced design skills and can simply add tools while focusing on the processing and calculations they want to implement.

[0113] As described above, the control unit 13 analyzes the reference relationships between the multiple image processing tools in the palette area 61 and determines the execution order when each tool is executed. On the other hand, the multiple calculation processing tools in the worksheet area 65 can have their execution order determined by breaking down the reference relationships for each cell, similar to a typical spreadsheet program. By combining these methods, the execution order in the case of sequential references is determined.

[0114] For each tool, information is stored regarding which other tool's settings and results it references, and / or which cell's value it references. For a positioning setting tool, this information would be about which imaging setting tool's image is referenced; for an inspection setting tool, it would be about which positioning setting tool's results are referenced; and for an output tool, it would be about which positioning setting tool or inspection setting tool's results are referenced, and so on. This information can be set in the properties area 63, the input unit 12 receives the information entered in the properties area 63, and the control unit 13 stores the information received by the input unit 12 in association with the corresponding tool.

[0115] Furthermore, each cell should contain information about which tool and what data it represents, whether it's used in calculations, or what calculations are performed using the values ​​of other cells. When identifying a tool, the tool ID set for each tool may be used. Similarly, when identifying a cell, the cell ID set for each cell may be used. The system automatically determines the execution order by comprehensively checking the reference relationships of all tools and cells set in the palette and worksheet areas.

[0116] Figure 17 shows an example of execution order analysis, illustrating the mechanism for determining the execution order from the reference relationships by decomposing the reference order of the palette area 61 and the worksheet area 65. Each cell in the worksheet area 65 is a single numerical calculation tool. The order is resolved including the cell units, the tools in the worksheet area 65 are decomposed, and the automatic execution order resolution mechanism of the palette area 61 is applied. Figure 24 is a flowchart showing the processing flow from adding tools to executing the inspection when inspection settings are performed using not only the palette area but also the worksheet area, and this is the same for both the step layout screen 50 and the free layout screen 60. Steps SE1 to SE3 are the same as steps SC1 to SC3 shown in Figure 7. In step SE4, the input unit 12 accepts the selection of tools placed in the palette area in step SE2. In step SE5, the input unit 12 accepts settings related to data input, reference, and calculations for the tools selected in step SE4 via the worksheet area 65. In step SE6, if there are any other tools that need to be added, the process returns to step SE1 and the same processing is performed. In step SE6, once the user has completed the inspection settings and the input unit 12 has received the instruction to execute the inspection, the process proceeds to step SE7. In step SE7, the control unit 13 analyzes the reference relationships of the data entered in multiple tools and worksheet areas. In step SE7, the control unit 13 determines the execution order of the inspection, as well as the data reference order and calculation order, based on the reference relationships analyzed in step SE6. In step SE9, the inspection unit 20 executes the inspection based on the order determined in step SE8.

[0117] Figure 18A shows an example of adding a graphical user interface (GUI) equivalent to a palette, separate from the worksheet area. In this example, image processing and data utilization are performed in the worksheet area, while image processing tools are displayed in the GUI equivalent to a palette. Alternatively, as shown in Figure 18B, when image processing tools are placed in the GUI, the image processing tools may be processed in an area of ​​the worksheet that is not visible to the user (the rightmost column). This allows the user to define image processing in the GUI equivalent to a palette and define data utilization in the worksheet area, thus enabling them to configure each process separately.

[0118] The input unit 12 receives instructions to import output results from multiple positioning setting tools and / or inspection setting tools placed on the palette area 61 into the worksheet area 65. Furthermore, the input unit 12 receives instructions to import calculation settings based on the output results, placed in cells in the worksheet area 65, and the results of said calculations into the output tools placed on the palette area 61.

[0119] When the control unit 13 receives an instruction from the input unit 12 to import the output result onto the worksheet area 65, it inputs the output result into a cell on the worksheet area 65. Furthermore, when the control unit 13 receives an instruction to import the result of a calculation performed on the worksheet area 65 into an output tool located in the palette area 61, it executes the calculation and provides the output tool with a reference link to the cell containing the calculation result, thereby associating the output tool with the cell containing the calculation result. Additionally, the free layout screen 60 generated by the screen generation unit 11 displays the first inspection area in the image area 62, along with the tools and cells related to the first inspection area, and the second inspection area in the image area 62, along with the tools and cells related to the second inspection area, separately. For example, if the workpiece displayed in the image area 62 has two distinct inspection areas, the first and second inspection areas are displayed in the image area 62 in a way that allows them to be distinguished.

[0120] As shown in Figure 15, the inspection results can also be displayed in the worksheet area 65. In this example, the displayed inspection results are subjected to a coordinate transformation, and the tools in the palette area 61 refer to the coordinates after the transformation. A specific example of this is shown in Figure 19, where the calculations of the "T1000 Calibration" tool in the palette area 61 can be shown in the worksheet area 65, and the calculations of the "T0001 Result Output" tool in the palette area 61 can also be shown in the worksheet area 65.

[0121] Figure 20 illustrates the application of this method to a comprehensive judgment. A comprehensive judgment means determining the final result by integrating multiple judgment results. In a comprehensive judgment, the judgments are stored by classifying the conditions for each judgment result. In worksheet area 65, the judgment results can be represented as a table. This allows for easy calculations, for example, using the OR function. In addition, worksheet area 65 can also be used to represent results using easily understandable control logic such as AND, OR, SUM, and IF, so a comprehensive judgment can be performed by integrating multiple judgment results through various calculations.

[0122] Figure 21 illustrates the application of maximum and sort functions. For example, it can be used to find the number with the highest degree of match, or to sort values ​​in ascending or descending order. In this case, the MAX function, VLOOKUP, and sorting tools are used in worksheet area 65. Displaying the results in worksheet area 65 improves visibility and makes the judgment logic easier to understand.

[0123] Figure 22 shows a case where the "communication reading tool" and the "subsequent tool" are located in the palette area 61. The "communication reading tool" reads input values ​​from the PLC (Programmable Logic Controller). For example, if it reads "2" as the product type being inspected, it refers to "Product Type 2" in the worksheet area 65 and uses the parameters corresponding to "Product Type 2" in the "subsequent tool". The parameters may include lighting conditions from the imaging setting tool. Based on the input values ​​from the PLC, it is also possible to switch the lighting and take images to acquire multiple images of products to be inspected. In this case, an inspection is performed on each image of the product to determine whether it is good or bad.

[0124] Furthermore, one use case for worksheet area 65 is the ability to customize text strings. Specifically, this allows for customization of the data itself, such as switching the text strings used in the data, or customization of the output method, such as switching folder names. For example, the combined text obtained by merging multiple cells containing text strings in worksheet area 65 can be referenced as a parameter in the tool.

[0125] Figure 14 shows the case where multiple inspection areas are set, as described above. In this case, as shown in Figure 26, mnemonics can be pasted into the worksheet area 65. Specifically, before pasting the mnemonics into the worksheet area 65, the desired mnemonics can be extracted using a filter, and then the selected mnemonics can be dragged and dropped into the worksheet area 65 to paste multiple mnemonics into the worksheet area 65 at once.

[0126] Figure 27 shows a case where a graph is displayed in the worksheet area 65. In this example, the worksheet area 65 displays a table with numerical data entered and a graph representing the numerical data entered in the table. The graph can be generated by the control unit 13, and the generated graph is incorporated into the worksheet area 65 by the screen generation unit 11. In this way, graphs can also be displayed in the worksheet area 65.

[0127] Figure 28 illustrates the user interface interaction and explains how to paste mnemonics from the palette area 61 to the worksheet area 65. Mnemonics can be filtered on the palette area 61 using the display screen shown in Figure 29. For example, desired mnemonics can be extracted by filtering them using tool names, types, parameter names, etc. The extracted mnemonics are then pasted from the palette area 61 to the worksheet area 65 by drag and drop, as described above.

[0128] This assigns a key called a mnemonic (a string such as T1000.XXX.JG). This mnemonic then assigns a numerical value to the tool in the palette area 61. This value is updated with each measurement and entered into the worksheet area 65. This process is then used to reflect the numerical values ​​from the palette area 61 to the worksheet area 65.

[0129] Figure 30 shows the display screen when settings are pasted. As shown in this figure, mnemonics on the palette area 61 can also be pasted into the worksheet area 65. Mnemonics are also pasted from the palette area 61 to the worksheet area 65 by drag and drop, as described above. Then, as shown in Figure 31, a link is pasted from the tool side. Specifically, the "T0003 Blob" tool shown in Figure 30 has data where the upper limit of the blob area is set to the value "110" and the lower limit of the blob area is set to the value "100", and this data is displayed in the filter settings of the palette area 61 and the property area 63. When the data related to the upper limit of the "T0003 Blob" tool is dragged and dropped from the palette area 61 to the worksheet area 65, as shown in Figure 31, the control unit 13 assigns a mnemonic meaning that the upper limit of the area is set to the value "110" to the cell in the worksheet area 65, thereby associating the "T0003 Blob" tool with cell "B2". Then, in the filter settings of property area 63, the display of the area limit parameter is replaced with "B2," which indicates the cell link. This allows you to change the area limit setting of the blob in the "T0003 Blob" tool by adjusting the value in cell 65a, "B2," in worksheet area 65.

[0130] Figure 32 shows the case where multiple inspection setting tools are placed in the palette area 51 of the step layout screen 50. After placing multiple inspection setting tools in the palette area 51 in this way, the threshold list is pasted into the worksheet area 55 of the step layout screen 50 by dragging and dropping, as shown in Figure 33. After pasting, the threshold can be easily adjusted by re-entering the values ​​in any cell in the worksheet area 55.

[0131] Figure 34 shows the case when a custom tool is created. A custom tool is a tool that groups multiple tools together and allows the user to select which parameters from those multiple tools can be displayed and / or edited as parameters of the custom tool. For example, it is possible to make only some parameters of some of the multiple tools included in a custom tool displayable and / or editable as parameters of the custom tool. In other words, the display user interface, including whether each parameter can be displayed or edited, such as a lock function, can be customized for each user's account privileges (administrator, worker, etc.). Since mnemonics can also be created for custom tools, it is possible to create a user interface that is easy for users to refer to. When performing image inspection, usability can be improved by hiding information that is unnecessary for the user and displaying and / or editing only the necessary information.

[0132] Figure 43 is a flowchart illustrating an example of the processing flow when creating a custom tool as described above. In step SH1 after the start, the input unit 12 accepts the selection of multiple tools to be made into custom tools from among the multiple tools placed on the palette area. In step SH2, the input unit 12 accepts the selection of parameters that can be displayed and / or edited as parameters of the custom tool. In step SH3, the input unit 12 accepts the input or change of the custom tool name. In step SH4, the screen generation unit 11 displays the custom tool name at the corresponding position of the custom tool.

[0133] Returning to Figure 34, the four inspection setting tools—"On Edge," "Below Edge," "Distance," and "OK / NG Count"—located in the inspection setting area 51c of the palette area 51 of the step layout screen 50 are combined into a custom tool, creating the custom tool 51f. Additionally, "Binarization Filter for Edges" and "Shared Area for Below Edges" are available as optional tools. Custom tool creation can be performed not only on the step layout screen 50 but also on the free layout screen 60.

[0134] Figure 35 shows the case where four custom tools with the same inspection content are created by duplicating the custom tool 51f set up in Figure 34. Duplicating a custom tool eliminates the effort of setting up multiple custom tools with the same inspection content. In this way, it becomes possible to inspect a large number of target areas. As shown in Figure 36, the mnemonics of each custom tool can be pasted into the worksheet area 55. For example, by applying a filter to extract the parameters related to "enable / disabled" from the parameters of each custom tool and pasting them into the worksheet area 55, these parameters can be displayed in a table format in the worksheet area 55.

[0135] Figure 37 shows the screen after the operation shown in Figure 36. In this example, all custom tools are enabled, so in worksheet area 55, checked checkboxes appear at the beginning of the cells "Pair 1," "Pair 2," "Pair 3," and "Pair 4," which represent each of the custom tools 1 through 4, respectively. In other words, you can enable or disable each custom tool via the checkboxes in worksheet area 55.

[0136] Figure 38 illustrates the creation of a custom tool that includes group tools and other tools. The group tools "T016 Group A", "T017 Circle Detection", "T018 Preprocessing Filter", and "T019 Model Registration", located in the palette area 61, can be converted into custom tools. Figure 39 shows the result of creating a single custom tool named "Custom Tool" that includes group tools and other tools, as shown in Figure 38. In this example, the "T016 Group A" tool includes the "Pattern Search" tool, and only the judgment conditions of that tool are displayed in the property area 63 as displayable and editable parameters of the created custom tool. Note that it is also possible to create a custom tool that includes not only group tools but also other custom tools.

[0137] (modified version) Figure 40 shows a case where a separate area for illustrating reference relationships is displayed, and is a link screen 80 that displays the reference status of tools, etc., selected on the palette area 61 or worksheet area 65. The link screen 80 includes a toolbar 80a and a list 80b that displays the reference status. The toolbar 80a is provided with a back button 80c and a forward button 80d. The back button 80c and forward button 80d are buttons that, when operated by the operation unit 40, perform back / forward state transitions via hyperlinks. If no transition has been made via hyperlink, they are inactive and cannot be operated. If a transition has been made even once, the back button 80c becomes inactive when operated in the initial state, and the forward button 80d becomes active when operated. From the beginning to the end, the back button 80c and forward button 80d are active. In the final state, the back button 80c becomes active when operated, and the forward button 80d becomes inactive when operated.

[0138] List 80b displays the tool selected in the palette area 61 and the reference status of the selected cell in the worksheet area 65. If a group tool is selected, all tools included in that group tool are displayed as selected. Also, if multiple tools or cells are selected, all selected tools or cells are displayed.

[0139] Figure 41 is a modified example showing how reference relationships are illustrated with arrows. As shown in this figure, an arrow is displayed from the selected tool in the palette area 61 to the referenced tool. Similarly, when a cell is selected, an arrow is displayed pointing to the referenced object.

[0140] Figure 42 shows a modified example illustrating the switching of flowcharts. When multiple tools are placed in the palette area 61, the user can also display a flowchart showing the reference relationships.

[0141] The embodiments described above are merely illustrative in all respects and should not be interpreted restrictively. Furthermore, any modifications or changes that fall within the equivalent scope of the claims are all within the scope of the present invention. [Industrial applicability]

[0142] As described above, the inspection setting device according to the present invention can be used when setting up an image inspection device that inspects a workpiece captured by a camera. [Explanation of Symbols]

[0143] 1. Inspection setting device 11 Screen generation section 12 Input section 13 Control Unit 50-Step Layout Screen 60 Free Layout Screen 100 Image inspection devices

Claims

1. An inspection setting device for setting up an image inspection device that inspects a workpiece captured by a camera, A screen generation unit generates a display screen having a palette area for arranging multiple tools, including an imaging setting tool related to camera imaging settings, a positioning setting tool related to positioning an inspection area relative to an inspection target image captured by the camera, an inspection setting tool related to inspection settings for setting inspection content for the positioned inspection area, and an output setting tool related to output settings for setting inspection results. An input unit that accepts user input for placing the multiple tools at any position on the palette area displayed on the aforementioned display screen, A control unit analyzes the reference relationships of multiple tools arranged on the aforementioned palette area and determines the execution order when each tool is inspected, An inspection setting device equipped with the following features.

2. In the inspection setting device according to claim 1, The control unit is an inspection setting device that determines the execution order of each tool during inspection by referring to identification information assigned to a plurality of tools arranged on the palette area, analyzing the dependencies based on the processing content of each identification information, and executing a sorting algorithm.

3. In the inspection setting device according to claim 2, The dependency includes an order in which the positioning setting tool is executed after the imaging setting tool, the inspection setting tool is executed after the positioning setting tool, and the output tool is executed after the inspection setting tool. The control unit is an inspection setting device that refers to the categories of a plurality of tools arranged on the palette area and determines the execution order of each tool during inspection so as to maintain the order, based on the categories.

4. In the inspection setting device according to claim 1, The input unit receives user input to select multiple tools from among the multiple tools arranged on the palette area. The control unit combines the multiple tools selected by the input unit into a single group to create an arbitrary group tool. The input unit receives user input to assign a desired group name to the group tool created by the control unit. The screen generation unit generates a display screen in which the group name received by the input unit is displayed at the corresponding position of the group tool in the palette area.

5. In the inspection setting device according to claim 4, The input unit is configured to accept user input for grouping tools related to a specific inspection area from among the multiple tools arranged on the palette area, on a unit basis for that specific inspection area. The screen generation unit generates a display screen that shows group tools, which are grouped by inspection area, based on user input for grouping.

6. In the inspection setting device according to claim 4, An inspection setting device, wherein the input unit is configured to accept input for creating a first group tool by grouping a positioning setting tool for positioning a first inspection area and an inspection setting tool for inspecting the positioned first inspection area, and input for generating a second group tool by grouping a positioning setting tool for positioning a second inspection area at a different location from the first inspection area and an inspection setting tool for inspecting the positioned second inspection area.

7. In the inspection setting device according to claim 4, The inspection setting device is configured to accept input that groups together a first inspection setting tool, selected via the input unit from among a plurality of tools arranged on the palette area, for inspecting a first inspection area, and a second inspection setting tool, for inspecting a second inspection area that shares inspection processing with the first inspection setting tool.

8. In the inspection setting device according to claim 4, The inspection setting device is configured to accept the following inputs: an input for generating a first group tool by grouping a first positioning setting tool and a first inspection setting tool that references the first positioning setting tool, among a plurality of tools arranged on the palette area; and an input for generating a second group tool by grouping a second positioning setting tool and a second inspection setting tool that references the second positioning setting tool.

9. In the inspection setting device according to claim 6, The screen generation unit generates a display screen that further includes an image area for displaying an image of an object to be inspected, in which the first inspection area and the second inspection area are shown. The screen generation unit generates a display screen in the image area that distinguishes the first inspection area from the second inspection area when the first group tool is selected via the input unit, while the palette area that distinguishes the first group tool from the second group tool when the first inspection area is selected via the input unit, is an inspection setting device.

10. In the inspection setting device according to any one of claims 4 to 9, One group tool is configured to include the imaging setting tool, the positioning setting tool, the inspection setting tool, the output tool, and a subgroup tool which is a group of two or more of the other group tools. The input unit is configured to accept input for combining multiple subgroup tools into a single group tool, thereby combining multiple subgroup tools into a single group tool. The control unit determines the execution order of each tool during inspection execution so that the plurality of subgroup tools and inspection processing tools located outside the group constitute a series of processes.

11. In the inspection setting device according to claim 1, The input unit receives user input for selecting multiple tools from among multiple tools arranged on the palette area, and user input for selecting parameters for some of the selected tools. The control unit groups together the multiple tools selected by the input unit into one group, and creates an arbitrary custom tool that makes only the selected parameters displayable and / or editable. The input unit receives user input to assign a desired custom tool name to the custom tool created by the control unit. The screen generation unit generates a display screen that displays the name of the custom tool received by the input unit at the corresponding position of the custom tool in the palette area, and is an inspection setting device.

12. In the inspection setting device according to claim 1, The input unit accepts user selections between a free layout screen and a step layout screen. The screen generation unit generates either a free layout screen or a step layout screen based on the selection operation received by the input unit. In the free layout screen, the multiple tools can be placed at any position on the palette area, and the input unit accepts parameter settings for the tool selected by the user from among the multiple placed tools. In the step layout screen, each category is initially displayed on the palette area in the order of imaging, positioning, inspection, and output. The tool selected by the user from the group of tools belonging to that category is placed on the palette area, and the device accepts the setting of the parameters of the tool via the input unit.

13. In the inspection setting device according to claim 12, The input unit receives a switching operation from the step layout screen to the free layout screen, and a switching operation from the free layout screen to the step layout screen. The inspection setting device includes a screen generation unit that, upon receiving a switching operation from the step layout screen to the free layout screen via the input unit, generates a display screen in which multiple tools placed on the step layout screen are placed on the free layout screen, and a screen generation unit that, upon receiving a switching operation from the free layout screen to the step layout screen via the input unit, generates a display screen in which multiple tools placed on the free layout screen are placed in areas on the step layout screen that belong to the corresponding categories based on the category of each tool.

14. In the inspection setting device according to claim 13, The inspection setting device further includes a display screen that includes an image area for displaying an image to be inspected, which is different from the palette area, and when the input unit receives an operation to switch from one of the free layout screens or the step layout screens to the other display screen, it generates a display screen that changes the display content of the palette area while maintaining the display content of the image area.

15. In the inspection setting device according to claim 12, The input unit is an inspection setting device that, on the free layout screen, can accept setting inputs for tools having program elements, which are tools that cannot be set on the step layout screen.