Code generation support device and code generation support program

JP2026144073APending Publication Date: 2026-09-09KEYENCE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025031153
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2026-09-09

AI Technical Summary

Benefits of technology

【0015】 本開示に係る技術によれば、複数の形状センサから得られる形状データに対する測定設定作業を容易かつ適切に行うことができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026144073000001_ABST
    Figure 2026144073000001_ABST
Patent Text Reader

Abstract

This invention provides a code generation support device and a code generation support program that enable easy and appropriate measurement setting work for shape data obtained from multiple shape sensors. [Solution] The feature positions in the cross-sections of multiple shape data corrected based on correction values ​​corresponding to the position and orientation of each shape sensor are identified. Based on a series of feature positions along the cross-sectional arrangement direction in the multiple cross-sections, each shape data for each cross-section is corrected so that the feature positions are corrected. For each corrected shape data, measurement elements are identified, and inspection of measurement items using the measurement elements is performed. A text code is generated for the shape data to identify measurement elements and perform inspection of measurement items.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a code generation support apparatus and a code generation support program for supporting generation of a code for processing shape data obtained from a shape sensor that measures the shape of an object to be measured. [Background Art]

[0002] For example, Patent Literature 1 discloses a shape inspection apparatus that generates profile data of a measurement object based on a light reception signal generated by irradiating the measurement object with slit light spreading in the X-axis direction and receiving reflected light from the measurement object.

[0003] In the shape inspection apparatus of Patent Literature 1, profile data of a measurement object relatively moving in the Y-axis direction is sequentially acquired, feature points are extracted for each of the profile data, and each piece of the profile data is corrected based on the positions of the extracted feature points to generate a height image. [Prior Art Documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Unexamined Patent Application Publication No. 2023-15886 [Summary of the Invention] [Problem to be Solved by the Invention]

[0005] Appearance inspection of a measurement object can be performed by using a shape inspection apparatus such as that described in Patent Literature 1. When performing measurement and inspection of a measurement object using a shape inspection apparatus, it is necessary to appropriately process shape data. In order to appropriately process shape data, it is conceivable to use dedicated application software compatible with the shape inspection apparatus.

[0006] However, when combining multiple types of devices, for example, it can be difficult to use dedicated application software. Therefore, users need to create their own programs for each device involved in the combination, but it is not easy to create appropriate processing programs for each measurement content for shape data representing three-dimensional shapes.

[0007] Furthermore, in shape inspection devices such as those described in Patent Document 1, the vibration components of the object being measured are removed by correcting each of the profile data.

[0008] Since many objects to be measured have a three-dimensional shape, it is conceivable that measuring the object from multiple directions using multiple shape sensors, rather than just one, would make it easier to understand the shape of the object.

[0009] However, when an object is measured from multiple directions using multiple shape sensors, multiple shape data corresponding to the multiple shape sensors are acquired. This raises the question of how to process each shape data when the object is vibrating, and in some cases, it may not be possible to obtain shape data that accurately reflects the shape of the object.

[0010] This disclosure is made in view of the above, and its purpose is to provide a code generation support device and a code generation support program that can easily and appropriately perform measurement setting work on shape data obtained from multiple shape sensors. [Means for solving the problem]

[0011] To achieve the above objective, one aspect of this disclosure may be based on a code generation support device for an inspection device. The code generation support device for the inspection device includes: a receiving unit for receiving shape data; a feature position identification unit for identifying feature positions in cross-sections of multiple shape data corresponding to multiple shape sensors, which have been corrected based on correction values ​​corresponding to the position and orientation of each of the multiple shape sensors; a feature position correction unit for correcting each shape data for each cross-section based on a series of feature positions along the cross-sectional arrangement direction in the multiple cross-sections, so that the feature positions are corrected; a setting unit for setting one or more measurement elements and measurement items using the one or more measurement elements; an execution unit for identifying one or more measurement elements set by the setting unit for each shape data corrected by the feature position correction unit and for performing an inspection of the measurement items using the one or more measurement elements set by the setting unit; a code generation unit for generating text codes for identifying the one or more measurement elements for the shape data and for performing an inspection of the measurement items using the one or more measurement elements; and a screen generation unit for generating a display screen that includes a first display area for displaying the shape data received by the receiving unit in two dimensions and / or three dimensions, and for displaying the one or more measurement elements on the shape data, and includes a result display element that shows the result of the inspection performed by the execution unit.

[0012] In this configuration, when multiple shape sensors acquire shape data, the feature positions in the cross-sections of the multiple shape data are identified by the feature position identification unit. Each shape data is corrected based on the identified feature positions, so, for example, if vibration occurs in the object being measured, shape data with the vibration component removed can be obtained. Measurement elements are identified for this shape data and inspection of the measurement items is performed. A text code for performing this inspection of measurement items is generated by the code generation unit, so the user does not need to create their own program, and the measurement setup process becomes easier.

[0013] Furthermore, the shape data can be displayed in two dimensions and / or three dimensions, and measurement elements can be displayed on the shape data, as well as result display elements that show the inspection results.

[0014] Furthermore, in another aspect of this disclosure, a code generation support program may be assumed. The code generation support program can cause a computer to perform the following: a process of receiving shape data; a process of identifying feature positions in the cross-sections of a plurality of shape data corresponding to a plurality of shape sensors, which have been corrected based on correction values ​​corresponding to the position and orientation of each of the plurality of shape sensors; a correction process of correcting each shape data for each cross-section so that the feature positions are corrected based on a series of feature positions along the cross-sectional arrangement direction in the plurality of cross-sections; a process of setting one or more measurement elements and measurement items using the one or more measurement elements; a process of identifying the set one or more measurement elements for each of the corrected shape data and performing an inspection of the measurement items using the set one or more measurement elements; a process of generating text code for the shape data to identify the one or more measurement elements and perform an inspection of the measurement items using the one or more measurement elements; and a process of generating a display screen having a first display area that displays the received shape data in two dimensions and / or three dimensions and displays the one or more measurement elements on the shape data, and including a result display element that shows the result of the inspection performed. [Effects of the Invention]

[0015] According to the technology disclosed herein, measurement setting work for shape data obtained from multiple shape sensors can be performed easily and appropriately. [Brief explanation of the drawing]

[0016] [Figure 1] Figure 1 is a diagram illustrating the schematic configuration of the main measurement system and sub-measurement system according to this embodiment. [Figure 2] Figure 2 is a diagram illustrating the relationship between text code and libraries. [Figure 3] Fig. 3 is a block diagram showing the configuration of a main measuring apparatus. [Figure 4] Fig. 4 is a flowchart showing the flow of a code generation process starting from acquisition of shape data. [Figure 5] Fig. 5 is a flowchart showing the flow of operations required of a user. [Figure 6] Fig. 6 is a diagram showing an example of a screen displayed on a display unit in a first phase. [Figure 7] Fig. 7 is a diagram showing an example of an installation state of a plurality of measuring heads. [Figure 8] Fig. 8 is a diagram showing an example of an image composition screen. [Figure 9] Fig. 9 is a diagram showing an example of a connection setting screen. [Figure 10] Fig. 10 is a diagram showing an example of an alignment screen displayed when alignment is executed. [Figure 11] Fig. 11 is a diagram showing an example of an image acquisition screen. [Figure 12] Fig. 12 is a diagram showing an example of an image composition setting screen. [Figure 13] Fig. 13 is a diagram showing an example of a main screen. [Figure 14] Fig. 14 is a diagram showing an example of the main screen in a state where measurement elements and measurement items are set. [Figure 15] Fig. 15 is a diagram showing an example of a vibration correction screen. [Figure 16] Fig. 16 is a diagram showing an example of a case where a three-dimensional image is displayed. [Figure 17] Fig. 17 is a diagram for explaining a correction value calculation method. [Figure 18] Fig. 18 is a graph showing the relationship between shape data and vibration components. [Figure 19] Fig. 19 is a diagram showing an example of a display screen for correction parameters applied to vibration correction processing. [Figure 20] Fig. 20 is a diagram showing an example of a text code generation window. [Figure 21]Figure 21 shows an example of an information output window. [Figure 22] Figure 22 shows an example of a text code display window. [Figure 23] Figure 23 is a flowchart showing the flow of the text code generation process. [Figure 24] Figure 24 is a block diagram showing the configuration of the auxiliary measuring device. [Modes for carrying out the invention]

[0017] 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. For example, the relative sizes and positional relationships of the components shown in the figures are for illustrative purposes only and do not limit the present invention.

[0018] The code generation support device according to an embodiment of the present invention is incorporated, for example, into a measurement system that measures the shape of an object W. The code generation support device is also used to assist in the setup of a measuring device in another measurement system so that the shape of the object W is measured in that other measurement system. In this description of the embodiment, the measurement system including the configuration of the code generation support device is referred to as the main measurement system, and the other measurement system including the object of setup support (measuring device) is referred to as the sub-measurement system.

[0019] As shown in Figure 1, the main measurement system 1 according to this embodiment is capable of measuring the shape of multiple objects W that are sequentially transported by a transport device such as a belt conveyor, and inspecting the objects W. The main measurement system 1 includes a measuring head 11, which is an example of a shape sensor, a display unit 13, an operation unit 14, and a main measurement device 20. The shape sensor is not limited to the measuring head 11, but may be, for example, a three-dimensional profiler or a three-dimensional image sensor.

[0020] The measuring head 11 is positioned to face the surface of the object to be measured W. The measuring head 11 has a light-emitting unit and a light-receiving unit (not shown). The light-emitting unit of the measuring head 11 emits a band-shaped measuring light extending in one direction toward the object to be measured W, which is being transported by a transport device. The light-receiving unit of the measuring head 11 receives the measuring light reflected by the object to be measured W and outputs a light-receiving amount distribution. The light-receiving unit of the measuring head 11 is connected to the main measuring device 20. In the main measuring device 20, shape data indicating the three-dimensional shape of the object to be measured W is generated based on the light-receiving amount distribution output from the measuring head 11.

[0021] The shape data representing the three-dimensional shape of the object W to be measured includes planar position information according to a predetermined planar coordinate system for the measuring head 11, and height information corresponding to each planar position in that planar coordinate system. The shape data representing the three-dimensional shape of the object W to be measured can also be composed of the XY coordinates of each point in a grid-like sequence and the Z coordinate corresponding to each point in the sequence, as planar position information according to the planar coordinate system. Since each point in the shape data representing the three-dimensional shape of the object W to be measured is arranged in a grid, it is arranged at equal intervals in both the X and Y directions. In this case, the pitch in the X direction and the pitch in the Y direction may be the same or different. In addition to the planar position information and height information, the shape data representing the three-dimensional shape of the object W to be measured may also include luminance information corresponding to each planar position.

[0022] The main measuring device 20 is an example of a code generation support device according to an embodiment of the present invention. The main measuring device 20 is composed of, for example, a personal computer and includes a receiving unit 21, a storage unit 22, and a control unit 23. The receiving unit 21 has, for example, various communication interfaces and memory, and is the part that receives the shape data of the object to be measured W output from the measuring head 11. Specifically, the receiving unit 21 receives the light reception amount distribution output from the measuring head 11, generates profile data from the received light reception amount distribution, and temporarily stores the generated profile data.

[0023] The storage unit 22 is composed of a recording medium such as a non-volatile memory or a hard disk. The storage unit 22 stores a code generation support program according to an embodiment of the present invention. The code generation support program is a program that generates and outputs setting support information to assist in various setting operations of the sub-measuring devices 20A, 20B, ... which will be described later.

[0024] The memory unit 22 also stores, for example, inspection data. This inspection data includes, for example, text codes, libraries, reference images, and correction data. The memory unit that stores the inspection data and the memory unit that stores the code generation support program may be separate.

[0025] The control unit 23 includes, for example, a CPU (Central Processing Unit) 23a, ROM (Read-Only Memory) 23b, and RAM (Random Access Memory) 23c. The RAM 23c is used as a workspace when the CPU 23a of the control unit 23 is operating. The ROM 23b stores, for example, a system program. By the CPU 23a executing the code generation support program stored in the storage unit 22, multiple processes are executed on the personal computer. In other words, the code generation support program is a program that causes the computer to execute multiple processes. When the CPU 23a executes the code generation support program, various functional units for generating setting support information are realized. Note that the code generation support program does not have to be stored in the storage unit 22; it may be stored in the ROM 23b of the control unit 23. Also, the code generation support program may be provided stored on a recording medium 29, such as a CD-ROM or USB memory. In this case, the code generation support program stored on the recording medium 29 can be installed and used in the storage unit 22 or ROM 23b. Furthermore, the code generation support program may be installed on an external server, in which case the external server can also become an element that constitutes part of the code generation support device.

[0026] The display unit 13 is composed of, for example, an organic EL (electroluminescent) panel or an LCD (liquid crystal display) panel. The display unit 13 is connected to the main measuring device 20. The display unit 13 may or may not be included in the main measuring device 20. The operation unit 14 includes, for example, a keyboard or a pointing device such as a mouse. The operation unit 14 is composed of equipment operated by the user and is connected to the main measuring device 20. The main measuring device 20 detects the operation status by the operation unit 14 and reflects it in each process.

[0027] Figure 1 shows multiple sub-measurement systems 1A, 1B, ... Since the multiple sub-measurement systems 1A, 1B, ... have the same configuration, the configuration of sub-measurement system 1A will be described below.

[0028] The sub-measurement system 1A includes a measuring head 11 and a sub-measurement device 20A. The measuring head 11 of the sub-measurement system 1A has the same configuration as the measuring head 11 of the main measurement system 1. The sub-measurement device 20A can be configured with a personal computer similar to that of the main measurement device 20. Note that the code generation support program is not stored in the memory unit of the sub-measurement device 20A.

[0029] The main measuring device 20 generates and outputs setting support information based on user operations by executing a code generation support program. The sub-measuring device 20A performs various settings related to the measurement of the object to be measured W using the setting support information output from the main measuring device 20 of the main measuring system 1. After the settings are made using the setting support information, the sub-measuring device 20A performs a predetermined measurement or inspection of the shape of the object to be measured W based on the shape data obtained from the measuring head 11.

[0030] The sub-measuring device 20A is connected to the external device 2A. The external device 2A is composed of, for example, a PLC (Programmable Logic Controller). Measurement results or inspection results from the sub-measuring device 20A are transmitted to the external device 2A. The sub-measuring device 20B is also connected to the external device 2B in the same way as the sub-measuring device 20A.

[0031] The setting support information generated by the main measuring device 20 includes text code (source code), a library, reference shape data, and correction data. The text code is data generated by the main measuring device 20 based on the user's operation. The library is data prepared in advance, for example, by the manufacturer of the main measuring device 20. The reference shape data is the shape data of the object to be measured W, which is mainly used when generating the text code in the main measuring device 20.

[0032] Here, we will outline the relationship between text codes and libraries based on Figure 2. Figure 2 is a diagram illustrating the relationship between text codes and libraries. The library contains multiple processing programs that can appropriately perform a predetermined set of processes on the shape data of the object to be measured W. The library may be provided, for example, in the form of a DLL (Dynamic Link Library) file. The multiple processing programs in the library in this example include processing programs classified into three groups (the first group GR1, the second group GR2, and the third group GR3). Since text codes are easy for users to modify, it becomes easy to use multiple measuring devices and image processing devices of different types in combination, for example, to perform inspections.

[0033] The multiple processing programs classified under the first group, GR1, are used to identify various types of geometric shapes from the shape data of the object W being measured, and each program exists for a different type of geometric shape (geometric element). Geometric elements include, for example, points, lines, planes, and circles. Examples shown in Figure 2 include a "point identification processing program," a "line identification processing program," and a "plane identification processing program."

[0034] The multiple processing programs classified in the second group, GR2, are used to perform various types of measurements on the shape of the object W, based on its shape data, and each type of measurement (measurement item) has its own program. Measurement items include, for example, height, flatness, area, distance, and angle. The example shown in Figure 2 includes a "height calculation processing program," a "flatness calculation processing program," and an "area calculation processing program."

[0035] Multiple processing programs classified under the third group GR3 are used to correct the position of the shape data of the object W being measured using various methods, and each group has its own processing program. The processing methods include correction methods based on pattern matching. The example shown in Figure 2 is a "pattern matching processing program." Position correction includes correction of position in a planar coordinate system. Furthermore, position correction may include correction of rotational orientation in the planar coordinate system in addition to position correction in the planar coordinate system. Also, position correction may include correction of position in a height coordinate system corresponding to height information in addition to position correction in the planar coordinate system. Moreover, position correction may include correction of orientation (three-dimensional orientation) in a three-dimensional coordinate system including the planar coordinate system and the height coordinate system. Note that there may be only one processing program classified under the third group GR3.

[0036] The text code contains character information (processing program information described later) that indicates a processing program to be called from the library to identify one or more geometric elements from the shape data, or to perform one or more measurements. This character information can also be described as information indicating a "function" required for the processing to identify one or more geometric elements or to perform one or more measurements.

[0037] Furthermore, the text code includes character information (specification information described later) that indicates the parameters necessary to identify one or more geometric elements or to perform one or more measurements. This character information can also be described as information that indicates the "arguments" associated with the "functions" described above for identifying one or more geometric elements or performing one or more measurements. In the example shown in Figure 2, the character information i11, i12, i13, and i14 included in the text code represent "plane identification," "information required for plane identification," "height calculation," and "information required for height calculation."

[0038] According to the text code, by reading the character information i11, which means "plane identification," it is possible to select and call a "plane identification processing program" from among multiple processing programs in the library. Furthermore, based on the called "plane identification processing program" and the character information i12, which contains the content of "information required for plane identification," it is possible to identify the desired planar portion of the object to be measured W.

[0039] Furthermore, according to the text code, by reading the text information i13 which says "calculate height", it is possible to select and call the "height calculation processing program" from among multiple processing programs in the library. Also, based on the called "height calculation processing program" and the text information i14 which contains the content of "information required for height calculation", it is possible to measure the height of a desired part of the object W from the shape data of the object W.

[0040] Figure 3 is a block diagram of the main measuring device 20 of the main measuring system 1. The main measuring device 20 of the main measuring system 1 includes a screen generation unit 33, an execution unit 34, an output unit 35, a reception unit 36, a code generation unit 37, a measurement setting generation unit 38, a correction data generation unit 39, a feature location identification unit 30A, and a feature location correction unit 30B. The screen generation unit 33, execution unit 34, output unit 35, reception unit 36, code generation unit 37, measurement setting generation unit 38, correction data generation unit 39, feature location identification unit 30A, and feature location correction unit 30B are realized by the CPU 23a (shown in Figure 1) of the control unit 23 executing a code generation support program stored in the storage unit 22. The screen generation unit 33, execution unit 34, output unit 35, reception unit 36, code generation unit 37, measurement setting generation unit 38, correction data generation unit 39, feature location identification unit 30A, and feature location correction unit 30B may each be composed of a single program module or multiple program modules when the code generation support program is composed of multiple program modules. Some or all of the screen generation unit 33, execution unit 34, output unit 35, reception unit 36, code generation unit 37, measurement setting generation unit 38, correction data generation unit 39, feature location identification unit 30A, and feature location correction unit 30B may be composed of hardware or a combination of hardware and software.

[0041] Figure 4 is a flowchart showing the flow from the acquisition of shape data to the execution of code generation processing by the main measurement system 1. In step S1, the main measurement system 1 sequentially measures the shapes of multiple objects W that are transported by a transport device equipped with an encoder, for example. That is, the receiving unit 21 of the main measurement system 1 can determine the distance traveled in the transport direction of each object W transported by the transport device based on the output from the encoder of the transport device. The receiving unit 21 receives profile data (hereinafter also referred to as shape data) output from the measurement head 11 each time each object W moves a predetermined distance (set pitch) based on the output from the encoder of the transport device. This process is the process of receiving shape data and is executed by a computer using a code generation support program. The receiving unit 21 generates a height image from the multiple profile data received. Here, the height image is shape data in which each pixel arranged in two dimensions on a reference plane has a height in the vertical direction of the reference plane as a pixel value. The height direction is preset for the measurement head 11 of the shape sensor. Therefore, shape data such as profile data and height images are represented in the local coordinate system of each shape sensor. The height image generated by the receiving unit 21 is the height image to be synthesized. This height image to be synthesized is transmitted from the receiving unit 21 to the screen generation unit 33, the execution unit 34, and the output unit 35. The receiving unit 21 may also generate point cloud data from the received multiple profile data, in which each point constituting the shape data has an arbitrary three-dimensional spatial coordinate.

[0042] Furthermore, the receiving unit 21 can generate height images by receiving not only profile data output from the measuring head 11, but also, for example, profile data output from a 3D profiler, profile data output from a 3D image sensor, 3D CAD data, etc. Profile data output from a 3D profiler, profile data output from a 3D image sensor, 3D CAD data, etc., are also included in the shape data.

[0043] Figure 5 is a flowchart showing the flow of operations required of the user when the main measurement system 1 performs the process from shape data acquisition to code generation. In step S11, the user specifies the source of shape data acquisition and the shape data acquisition conditions, etc. This is called the first phase.

[0044] In the first phase, the screen generation unit 33 generates a screen 500 for specifying the data source, as shown in Figure 6, and displays it on the display unit 13. The screen 500 for specifying the data source is provided with buttons for specifying the source of shape data acquisition: a first button 501 for acquiring shape data output from the measurement head 11, and a second button 502 for acquiring shape data from a file stored in the storage unit 22 or the like. When the user operates the first button 501, the receiving unit 21 acquires the shape data output from the measurement head 11. On the other hand, when the user operates the second button 502, the receiving unit 21 acquires shape data from a file. This acquisition process is the process executed in step S1 of the flowchart shown in Figure 4.

[0045] In step S2, the main measurement system 1 determines whether or not to perform positional correction of the shape data. That is, for example, as shown in Figure 7, when a columnar object W is transported axially by a transport device, the shape data of the object W may be measured by the first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D of the shape sensor. The first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D are installed at arbitrary intervals, for example, at equal intervals, in the circumferential direction of the object W so as to surround the object W. With this installation configuration, the shape of the entire circumference of the object W can be measured by the first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D.

[0046] When measuring an object W using multiple measuring heads 11A to 11D, it is necessary to correct the coordinate system of the shape data corresponding to each measuring head 11A to 11D. This process corrects the shape data corresponding to each measuring head 11A to 11D so that the coordinate system of each shape data becomes common, based on correction values ​​corresponding to the position and orientation of each measuring head 11A to 11D of the multiple shape sensors, and is executed by a computer using a code generation support program. The correction data generation unit 39 generates correction data such that the height direction and orientation within the reference plane of each shape data correspond to the orientation in the common coordinates of each shape sensor corresponding to each shape data. The correction data generation unit 39 also generates correction data such that the origin position of each shape data corresponds to the position in the common coordinates of each shape sensor corresponding to each shape data. The correction data generation unit 39 can generate correction data not only for the origin position and orientation within the reference plane, but also for handling shape data with different height directions in a common coordinate system. By combining shape data with different height directions, it is possible to obtain the shape of the entire circumference from profile data or height images that have only a single value in the height direction.

[0047] Specifically, in step S12 of the flowchart shown in Figure 5, the user specifies the correction method for the shape data to be acquired. This stage of operation of the main measuring device 20 by the user is referred to as the second phase. Once the first phase is completed, the process proceeds to the second phase.

[0048] In step S2 of the flowchart shown in Figure 4, the main measurement system 1 determines whether or not a correction method for the shape data has been specified in the second phase. If no correction method for the shape data has been specified, step S3 is skipped and the process proceeds to step S4. If a correction method for the shape data has been specified, the process proceeds to step S3.

[0049] In step S3, the correction data generation unit 39 of the main measurement system 1 performs a correction setting process using an alignment tool. The correction data generation unit 39 is the part that corrects the shape data corresponding to each of the multiple measurement heads 11 based on correction values ​​corresponding to the position and orientation of each measurement head 11, and uses an alignment tool during this correction.

[0050] Figure 8 shows the image composite screen 510 displayed on the display unit 13 when correcting the shape data corresponding to each measurement head 11A to 11D using the alignment tool. The image composite screen 510 is generated by the screen generation unit 33 and displayed on the display unit 13.

[0051] The image synthesis screen 510 includes a procedure display area 511 where the processing steps are displayed, an alignment file selection area 512, an image display area 513 where the measurement image is displayed, a profile display area 514, and a head count specification area 515 where the number of measurement heads 11 to be used for image synthesis is specified.

[0052] In the example shown in Figure 8, the process of selecting an alignment file is shown, so "File Selection" is highlighted in the procedure display area 511. In the alignment file selection area 512, the user can operate the operation unit 14 to select a desired alignment file and accept the operation to open the selected alignment file. The correction data generation unit 39 executes the process of opening the alignment file selected in the alignment file selection area 512.

[0053] Alignment files can be generated by running the alignment tool. When running the alignment tool, prepare a regular hexagonal prism alignment workpiece W1 as shown in the image display area 513, and set up the first measuring head 11A, second measuring head 11B, third measuring head 11C, and fourth measuring head 11D of multiple shape sensors so as to surround the alignment workpiece W1. The installation positions of the first measuring head 11A, second measuring head 11B, third measuring head 11C, and fourth measuring head 11D are the installation positions during operation.

[0054] The profile display area 514 displays an image that combines the shape data measured by the first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D. This image is generated by the correction data generation unit 39.

[0055] In the head number specification area 515, the user can input the number of measuring heads 11 to be used when synthesizing shape data by operating the operation unit 14. In this example, since it shows the case of synthesizing shape data measured by four measuring heads 11, namely the first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D, "4" is entered. The input number is acquired by the correction data generation unit 39.

[0056] Figure 9 shows the state after "File Selection" and proceeding to "Connection Settings". When the user operates the Next button 510a in Figure 8, the process proceeds from "File Selection" to "Connection Settings". "Connection Settings" is highlighted in the procedure display area 511. In Connection Settings, the screen generation unit 33 generates the Connection Settings screen 516 and displays it on the display unit 13. On the Connection Settings screen 516, the four measuring heads 11A, 11B, 11C, and 11D are indicated as "A", "B", "C", and "D", respectively. On the Connection Settings screen 516, it is possible to set the IP address, set the port number, and input connection information for each of the four measuring heads 11A, 11B, 11C, and 11D. In addition, it may be possible to input the installation angle for each of the four measuring heads 11A, 11B, 11C, and 11D on the Connection Settings screen 516. The information set on the Connection Settings screen 516 is acquired by the Correction Data Generation Unit 39.

[0057] Here, the process of generating the alignment file will be explained. The process of generating the alignment file is the process in the second phase of step S12 shown in Figure 5. Figure 10 is a diagram showing an example of the alignment screen 600 that is displayed when alignment is performed. The alignment screen 600 is generated by the screen generation unit 33 and displayed on the display unit 13. The alignment screen 600 is provided with an alignment procedure display area 601 that displays the alignment process steps, a profile display area 602, and a correction value display area 603.

[0058] The profile display area 602 displays an image created by combining the shape data measured by the first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D, which are used for synthesis. This image is generated by the correction data generation unit 39.

[0059] The correction value display area 603 displays correction values ​​corresponding to the position and orientation of each of the multiple measuring heads 11A, 11B, 11C, and 11D. An alignment screen 600 having this correction value display area 603 is an example of a correction value display screen.

[0060] The correction values ​​are calculated by the correction data generation unit 39. For example, the lengths of each side of the alignment workpiece W1 are known, and since the alignment workpiece W1 is a regular hexagonal prism, the angles between two adjacent sides are also known. The correction data generation unit 39 acquires this geometric information of the alignment workpiece W1.

[0061] Furthermore, the correction data generation unit 39 acquires the shape data measured by each measuring head 11A, 11B, 11C, and 11D. Based on the geometric information of the alignment workpiece W1, the correction data generation unit 39 calculates correction values ​​for the positional relationship of the measuring heads 11A, 11B, 11C, and 11D so that the shape data measured by each measuring head 11A, 11B, 11C, and 11D matches the shape of the alignment workpiece W1. Specifically, the correction data generation unit 39 calculates the offset value in the X direction, the offset value in the Z direction, and the θ angle for each measuring head 11A, 11B, 11C, and 11D. This calculation process is executed when the user operates the automatic calculation button 600a provided on the alignment screen 600. The correction data generation unit 39 calculates correction values ​​according to the position and orientation of each measuring head 11A, 11B, 11C, and 11D using an alignment tool, and then displays the calculated correction values ​​in the correction value display area 603. Based on the calculated correction values, the correction data generation unit 39 automatically corrects the shape data corresponding to each measuring head 11A, 11B, 11C, and 11D.

[0062] The correction data generation unit 39 accepts adjustments to the correction value displayed in the correction value display area 603. For example, if the alignment accuracy is low after automatic correction, the user can operate the operation unit 14 to adjust the correction value displayed in the correction value display area 603, and the adjusted correction value will be displayed in the correction value display area 603. The correction data generation unit 39 then acquires the adjusted correction value. The correction data generation unit 39 can use the acquired adjusted correction value in each process, so it can confirm whether the alignment accuracy has improved with the correction value adjusted by the user.

[0063] The correction data generation unit 39 is configured to output the calculated correction values ​​as binary data. The data containing the calculated correction values ​​is called the correction data. The alignment screen 600 is provided with a save button 600b. When the save button 600b is pressed, the correction data generation unit 39 writes out the correction data along with the output code as data to be used. The output code written out by the correction data generation unit 39 can be saved, for example, in the storage unit 22 or on an external device. This becomes the alignment file.

[0064] Figure 11 shows the state after proceeding to "Image Acquisition" following "Connection Settings". When the user operates the Next button 510b in Figure 9, the process proceeds from "Connection Settings" to "Image Acquisition". "Image" corresponds to shape data. "Image Acquisition" is highlighted in the procedure display area 511. During image acquisition, the screen generation unit 33 generates the image acquisition screen 517 and displays it on the display unit 13. The image acquisition screen 517 is provided with an image acquisition start button 517a to start acquiring shape data, an image acquisition stop button 517b to stop acquiring shape data, and a shape data display area 517c.

[0065] When the image acquisition start button 517a is operated, the shape data acquired by the first measuring head 11A, second measuring head 11B, third measuring head 11C, and fourth measuring head 11D of the multiple shape sensors are displayed in the shape data display area 517c. Here, shape data such as profile data and height images obtained using the shape sensors have a single height data at each measurement point on a reference line or reference plane, but the shape data display area 517c may be configured to display only the measurement points for which valid height data was obtained. Valid height data refers to, for example, height data from the height range in which the object to be measured exists with the background removed, height data judged to be normal by comparison with height data at surrounding measurement points, and height data when the shape sensor is an optical sensor and the amount of measurement light is sufficient. The shape data display area 517c is divided into four sections, and the shape data acquired by the first measuring head 11A, second measuring head 11B, third measuring head 11C, and fourth measuring head 11D can be displayed separately. This makes it possible to verify the shape data acquired by the first measuring head 11A, the second measuring head 11B, the third measuring head 11C, and the fourth measuring head 11D.

[0066] Figure 12 shows the state after "Image Acquisition" and proceeding to "Image Composition Settings". When the user operates the Next button 510c in Figure 11, the process proceeds from "Image Acquisition" to "Image Composition Settings". In the procedure display area 511 of Figure 12, "Image Composition Settings" is highlighted. In Image Composition Settings, the screen generation unit 33 generates the Image Composition Settings screen 520 and displays it on the display unit 13.

[0067] The image synthesis settings screen 520 is provided with a synthesized image display area 521 and a synthesis settings display area 522. The synthesized image display area 521 displays a synthesized image created by combining multiple shape data displayed in the shape data display area 517c of Figure 11. This synthesized image is based on shape data corrected by the correction data generation unit 39 and is generated by the screen generation unit 33. The synthesis settings display area 522 displays the X-direction offset value, Y-direction offset value, θ angle, and Z-direction offset value of the first measuring head 11A, second measuring head 11B, third measuring head 11C, and fourth measuring head 11D as image synthesis settings. When the reset button 520a provided on the image synthesis settings screen 520 is operated, the image synthesis settings are reset.

[0068] When the image synthesis button 520b on the image synthesis settings screen 520 is operated by the user, the screen generation unit 33 generates the main screen (display screen) 700 shown in Figure 13 and displays it on the display unit 13. The main screen 700 has a first display area 710 and a second display area 720. The first display area 710 is an area for displaying the shape data corrected by the correction data generation unit 39 in two dimensions and / or three dimensions. The first display area 710 and the second display area 720 may be arranged vertically as shown in Figure 13, or they may be arranged horizontally, although this is not shown.

[0069] The first display area 710 according to this embodiment includes a shape data display unit 710a that displays shape data and an individual image display unit 710b that displays shape data measured by each measuring head 11. The shape data display unit 710a and the individual image display unit 710b may be arranged vertically as shown in Figure 13, or they may be arranged horizontally, although this is not shown.

[0070] The shape data display unit 710a displays the shape data corrected by the correction data generation unit 39 in two dimensions and / or three dimensions. The shape data display unit 710a is provided with an adjustment unit 710c for adjusting the viewing direction (view) of the displayed shape data. The viewing direction of the shape data is adjusted and displayed on the shape data display unit 710a so that the view adjusted by the adjustment unit 710c is achieved, so that the user can view the shape data of the object W being measured from the direction they want to see it.

[0071] The shape data displayed on the shape data display unit 710a can be, for example, point cloud data composed of a large number of points. In this case, the image is created by changing the color of each point according to its height. This allows the user to understand the relative height of each part in the shape data.

[0072] The shape data display unit 710a is provided with a toggle button 710e for switching between performing and not performing image synthesis. When the toggle button 710e is operated by the user to perform image synthesis, the synthesized shape data is displayed on the shape data display unit 710a. On the other hand, when the toggle button 710e is operated by the user to not perform image synthesis, only the shape data measured by the measurement head 11 selected from the four measurement heads 11A, 11B, 11C, and 11D is displayed on the shape data display unit 710a in two dimensions and / or three dimensions.

[0073] In other words, the individual image display unit 710b is provided with a selection reception area 710d for selecting any measurement head from among the four measurement heads 11A, 11B, 11C, and 11D. Figure 14 shows the state in which "B" is selected, that is, the second measurement head 11B is selected by the user. In this case, the switch button 710e is black, and an operation to disable image synthesis has been performed, so the screen generation unit 33 displays only the shape data measured by the second measurement head 11B in two dimensions and / or three dimensions on the shape data display unit 710a. Although not shown in the diagram, similarly, if "A" is selected, only the shape data measured by the first measuring head 11A is displayed on the shape data display unit 710a in two dimensions and / or three dimensions; if "C" is selected, only the shape data measured by the third measuring head 11C is displayed on the shape data display unit 710a in two dimensions and / or three dimensions; and if "D" is selected, only the shape data measured by the fourth measuring head 11D is displayed on the shape data display unit 710a in two dimensions and / or three dimensions.

[0074] In this way, the screen generation unit 33 generates a display screen that can switch between a display mode in which the display target of the first display area 710 is simultaneously displayed as multiple shape data corresponding to multiple measuring heads 11A, 11B, 11C, and 11D, and a display mode in which it displays individual shape data from among the multiple shape data. This process is performed by a computer using a code generation support program.

[0075] On the other hand, the individual image display unit 710b displays only the shape data measured by the measurement head 11 selected in the selection reception area 710d. Figure 13 shows the state where "A" is selected, that is, the state where the first measurement head 11A is selected by the user. In this case, only the shape data measured by the first measurement head 11A is displayed on the individual image display unit 710b. Similarly, if "B" is selected, only the shape data measured by the second measurement head 11B is displayed on the individual image display unit 710b, if "C" is selected, only the shape data measured by the third measurement head 11C is displayed on the individual image display unit 710b, and if "D" is selected, only the shape data measured by the fourth measurement head 11D is displayed on the individual image display unit 710b.

[0076] In this manner, the screen generation unit 33 displays a selection reception area 710d in the first display area 710 that accepts the selection of any one measuring head 11 from among the multiple measuring heads 11A, 11B, 11C, and 11D. The screen generation unit 33 then displays the shape data acquired by the measuring head 11 accepted in the selection reception area 710d as individual shape data in the individual image display unit 710b.

[0077] Furthermore, the screen generation unit 33 generates a screen in which the shape data corrected by the correction data generation unit 39 is displayed in three dimensions as thumbnails in a third display area 730, which is separate from the first display area 710 and the second display area 720. The third display area 730 generated by the screen generation unit 33 can be located, for example, below the first display area 710 or below the second display area 720, and is smaller than the first display area 710 and the second display area 720. Because the shape data is displayed in thumbnail format in the third display area 730, the user can easily grasp the approximate shape of the object to be measured W.

[0078] As shown in Figure 14, the second display area 720 displays the cross-sectional shape of the shape data corrected by the correction data generation unit 39. Measurement elements and measurement items can be set in this second display area 720. This setting of measurement elements and measurement items is the third phase shown in Figure 5. The third phase corresponds to the determination in step S4 of the flowchart shown in Figure 4. If measurement conditions are to be set, the process proceeds to step S5 to begin the measurement condition setting process. This setting process involves setting one or more measurement elements and measurement items using those one or more measurement elements, and is executed by the computer using the code generation support program.

[0079] On the other hand, if no measurement conditions are set, the process proceeds to step S6 to determine whether or not to perform positional correction of the shape data. If positional correction of the shape data is performed, the process proceeds to step S3.

[0080] Step S5 can be performed by the measurement setting generation unit (setting unit) 38. That is, with the cross-sectional shape displayed in the second display area 720 shown in Figure 14, the measurement setting generation unit 38 sets one or more measurement elements and measurement items using those one or more measurement elements for the cross-sectional shape of the shape data displayed in the second display area 720.

[0081] In the example shown in Figure 14, since the object to be measured W is a pipe with an arc-shaped wall, a "circle" is set as the measurement element, as shown by the dashed line L1. The measurement item is distance. Specifically, the diameter of the circle, which is the measurement element, is set as the measurement item. In addition to the example shown in Figure 14, it is also possible to set other elements, such as a plane, as the measurement element. It is also possible to set height, flatness, area, angle, etc., as measurement items.

[0082] The individual image display section 710b of the first display area 710 displays one or more measurement elements set by the measurement setting generation section 38 on the shape data. The measurement elements set by the measurement setting generation section 38 are shown by solid lines L2 in the individual image display section 710b. This allows the position and range of the measurement elements to be confirmed in a plan view.

[0083] When the measurement element is a circle and the measurement item is distance, shape data measured by four measuring heads 11A, 11B, 11C, and 11D is required. Therefore, the screen generation unit 33 displays an image in the first display area 710 that is a composite of the shape data measured by the four measuring heads 11A, 11B, 11C, and 11D. Similarly, when the measurement element is a plane and the measurement item is height, and that plane is set to a position where it can be measured only by the first measuring head 11A, the screen generation unit 33 displays only the shape data measured by the first measuring head 11A in the first display area 710. In the same way, when the measurement item is set to a position where it can be measured only by the second measuring head 11B, the screen generation unit 33 displays only the shape data measured by the second measuring head 11B in the first display area 710. Furthermore, when a measurement item is set to a position that can be measured only by the third measurement head 11C, the screen generation unit 33 displays only the shape data measured by the third measurement head 11C in the first display area 710. In addition, when a measurement item is set to a position that can be measured only by the fourth measurement head 11D, the screen generation unit 33 displays only the shape data measured by the fourth measurement head 11D in the first display area 710. In this way, the screen generation unit 33 displays images corresponding to the measurement items set by the measurement setting generation unit 38 in the first display area 710.

[0084] (Vibration correction processing) The image synthesis settings screen 520 shown in Figure 12 is provided with a vibration correction button 525. When the vibration correction button 525 is operated by the user, the control unit 23 executes vibration correction processing. That is, as shown in Figure 7, the object to be measured W being transported by the transport device may vibrate vertically as indicated by arrow 100, or around its long axis as indicated by arrow 101. When the object to be measured W is vibrating, the measuring head 11 measures the shape data of the vibrating object to be measured W, so the shape data will contain vibration components. If an inspection is performed based on shape data containing vibration components, the inspection results may be inaccurate. In this embodiment, by executing a process to correct the vibration of the object to be measured W, it is possible to remove vibration components from the shape data.

[0085] The vibration correction process is performed by the feature position identification unit 30A and the feature position correction unit 30B shown in Figure 3. The feature position identification unit 30A is the part that identifies the feature position in the cross-section of multiple shape data corresponding to each of the multiple measurement heads 11, which has been corrected based on correction values ​​corresponding to the position and orientation of each of the multiple measurement heads 11. The feature position correction unit 30B is the part that performs a correction process to correct each shape data for each cross-section so that the feature position is corrected based on a series of feature positions along the cross-sectional arrangement direction in the multiple cross-sections.

[0086] The following describes in detail the processing performed by the feature position identification unit 30A and the processing performed by the feature position correction unit 30B. When the vibration correction button 525 on the image synthesis setting screen 520 shown in Figure 12 is operated, the screen generation unit 33 generates the vibration correction screen 800 shown in Figure 15 and displays it on the display unit 13. The vibration correction screen 800 is provided with a pre-correction image display area 810, a post-correction image display area 820, a correction processing setting area 830, and a display switching area 840.

[0087] The pre-correction image display area 810 displays the shape data before the correction process is performed by the feature position correction unit 30B. The pre-correction image display area 810 includes a pre-correction two-dimensional image display unit 810a that displays the shape data received by the receiving unit 21 in two dimensions, and a pre-correction switching display unit 810b that displays the shape data received by the receiving unit 21 in three dimensions or in cross-section.

[0088] The corrected image display area 820 displays the shape data after correction processing has been performed by the feature position correction unit 30B. The corrected image display area 820 includes a corrected two-dimensional image display unit 820a that displays the shape data received by the receiving unit 21 in two dimensions, and a corrected switching display unit 820b that displays the shape data received by the receiving unit 21 in three dimensions or in cross-section.

[0089] The correction processing setting area 830 can accept settings for correction processing, such as adding correction processing. The display switching area 840 can switch the image displayed on the pre-correction switching display unit 810b and the image displayed on the post-correction switching display unit 820b from three dimensions to cross-sections, or vice versa. When the user selects "Cross-section" in the display switching area 840, the screen generation unit 33 displays the pre-correction cross-section image on the pre-correction switching display unit 810b and the post-correction cross-section image on the post-correction switching display unit 820b, as shown in Figure 15. On the other hand, when the user selects "3D" in the display switching area 840, the screen generation unit 33 displays the pre-correction three-dimensional image on the pre-correction switching display unit 810b and the post-correction three-dimensional image on the post-correction switching display unit 820b, as shown in Figure 16.

[0090] The feature location identification unit 30A accepts the specification of a cross section for identifying the feature location. As shown in Figure 15, the position of the cross section to be used for correction can be specified, for example, by line 801. Specifically, the user can operate the operation unit 14 to move line 801 to any position, and the cross section at the location where line 801 is placed after the move becomes the cross section for identifying the feature location.

[0091] The feature location identification unit 30A identifies feature locations such as the center of the cross-section of the specified shape data or the maximum and minimum positions of the rectangle. If the cross-section of the shape data is circular, the feature location identification unit 30A identifies the center of the circle as the feature location. If the cross-section of the shape data is polygonal, the feature location identification unit 30A identifies the center of the polygon as the feature location. In the case of a rotated rectangle, the feature location identification unit 30A can also identify the point with the maximum distance and the point with the minimum distance as feature locations. In this way, the feature location identification unit 30A identifies locations that can be features as feature locations. This process identifies feature locations in the cross-sections of multiple shape data and is executed by a computer using a code generation support program.

[0092] The feature position correction unit 30B corrects each cross-sectional shape data so that the vibration components of the object W to be measured are removed. This process is a correction process that corrects each shape data, and is executed by a computer using a code generation support program.

[0093] Figure 17 illustrates the calculation method for correction parameters for vibration components. In Figure 17, the vertical axis is the X-axis or Z-axis, corresponding to the width direction of the conveying device. The horizontal axis in Figure 17 is the Y-axis, corresponding to the conveying direction of the conveying device. The "+" indicates an array of ΔX (cross-sectional coordinate system). This array is converted to (ΔX, ΔZ) in the head coordinate system of each measuring head 11. The feature position correction unit 30B calculates the correction parameters for vibration component removal in this way. The feature position correction unit 30B then applies the correction parameters for vibration component removal to the X and Z corrections of each shape data. Specifically, when an array of shape data is input to the feature position correction unit 30B, the feature position correction unit 30B applies the correction parameters to each shape data and outputs the corrected shape data array. The image based on the shape data input to the feature position correction unit 30B is the image before correction, and the image based on the shape data output from the feature position correction unit 30B is the image after correction.

[0094] Here, for example, the object W to be measured may have a repeating undulating shape in the Y-axis direction. Since such an undulating shape is part of the shape of the object W to be measured, it is not a defect. However, depending on the period of the undulating shape, it may be mistakenly identified as a vibration component, and the undulating shape may be removed by the vibration correction process according to this embodiment.

[0095] In response to this, the feature position correction unit 30B performs low-pass filtering on each shape data for each cross-section. This makes it possible to remove only the vibration component while preserving the undulation shape present in the object W being measured.

[0096] The feature position correction unit 30B can change the intensity of the low-pass filter processing applied to each shape data for each cross-section. For example, by configuring a display screen so that the user can change the frequency threshold to which the low-pass filter processing is applied, the frequency threshold can be raised or lowered via the display screen. Based on the frequency threshold thus changed, the feature position correction unit 30B applies the low-pass filter processing to each shape data for each cross-section.

[0097] Furthermore, in the graph shown in Figure 18, for example, the dashed line represents the shape data including vibration components, and the solid line represents the curve obtained by curve fitting. The screen generation unit 33 can generate such a graph and display it on the display unit 13. By looking at the graph shown in Figure 18, the user can check the degree of fitting, that is, the degree of vibration removal correction. By configuring the display screen to show the adjustment unit 881 (shown in Figure 19) which adjusts the degree of vibration removal correction, the degree of vibration removal correction can be adjusted via the display screen. Based on the degree of vibration removal correction adjusted in this way, the feature position correction unit 30B executes vibration correction processing.

[0098] Figure 19 shows the display screen 880 for correction parameters applied to the vibration correction process. The display screen 880 includes a selection area 882 for the feature position detection method, a display area 883 for the correction parameters calculated by the feature position correction unit 30B, and so on. The correction parameters can be changed by the user on the display screen 880. If changed, the vibration correction process is executed with the changed correction parameters applied.

[0099] The execution unit 34 shown in Figure 3 is the part that performs inspection of the measurement items set by the measurement setting generation unit 38. Specifically, the execution unit 34 acquires each shape data corrected by the feature position correction unit 30B. The execution unit 34 identifies one or more measurement elements set by the measurement setting generation unit 38 for each shape data corrected by the feature position correction unit 30B. The execution unit 34 performs inspection of the measurement items using one or more measurement elements set by the measurement setting generation unit 38. This process is performed by the computer using a code generation support program.

[0100] For example, the execution unit 34 calculates the value of one or more measurement items of the object W based on the shape data corrected by the feature position correction unit 30B and the text code and library stored in the storage unit 22. If the measurement item is an item that measures a physical quantity, the execution unit 34 measures the physical quantity based on the measurement item, for example, height, flatness, distance, roundness, etc.

[0101] As shown in Figure 14, the screen generation unit 33 displays the result display element (measurement result) 720a of the measurement element calculated by the execution unit 34 in the second display area 720. If the measurement item is distance, the result display element 720a is displayed in the second display area 720 in a form that combines a numerical value and a unit. The result display element 720a may be superimposed on the cross-sectional shape of the shape data displayed in the second display area 720, or it may be displayed in a part that is outside the cross-sectional shape of the shape data.

[0102] The execution unit 34 performs a circularity check of the circle if the cross-sections of multiple shape data are circular. When the execution unit 34 performs a circularity check, the screen generation unit 33 generates a result display element 720a for displaying the circularity check result. When performing a circularity check, vibration of the object to be measured W greatly affects the inspection accuracy. By performing vibration removal processing in the stage before the circularity check, as in this embodiment, the accuracy of the circularity check of a vibrating object to be measured W can be improved.

[0103] If the position correction of the shape data is not performed in step S6 of Figure 4, the process proceeds to step S7. In step S7, it is determined whether or not to generate a text code. This determination in step S7 is based on whether or not the user has issued a command to generate a text code by operating the operation unit 14. Specifically, if the user operates the operation unit 14 and issues a code generation instruction, it is determined in step S7 to generate a text code and the process proceeds to step S8. On the other hand, if it is determined in step S7 not to generate a text code, the process proceeds to step S2.

[0104] In step S8, the code generation unit 37 generates a text code. This step S8 is the fourth phase of step S14 in the flowchart shown in Figure 5. The code generation unit 37 identifies one or more measurement elements from the shape data and generates a text code for performing an inspection of measurement items using those one or more measurement elements. This text code generation process is performed by a computer using a code generation support program.

[0105] The text code generation process generates text codes for setting support information based on, for example, the correction information set in the correction setting process in step S3, the measurement conditions set in the measurement condition setting process in step S5, etc. This text code generation process also includes a process to output library and reference shape data along with the text codes, i.e., a process to output setting support information. The text code generation process terminates when the text code generation process is completed.

[0106] When the text code generation process starts, the screen generation unit 33 generates a text code generation window 750 as shown in Figure 20 and displays it on the display unit 13. The text code generation window 750 is provided with a namespace input area 751, a folder input area 752, a file name input area 753, and a code generation button 754. The namespace input area 751 is an area for setting the namespace for the generated text code. The folder input area 752 is an input field for specifying the address of the folder, etc., where the generated text code will be saved (output destination). The file name input area 753 is an area for entering a file name to identify the file of the generated text code.

[0107] The user can input information corresponding to the text code to be created into the namespace input area 751, folder input area 752, and file name input area 753 of the text code generation window 750. The multiple pieces of information entered into the namespace input area 751, folder input area 752, and file name input area 753 of the text code generation window 750 can be referred to as file generation information.

[0108] The code generation button 754 is a button used to instruct the system to generate a text code file. After the user enters file generation information into the namespace input area 751, folder input area 752, and file name input area 753, they operate the code generation button 754 via the operation unit 14. The code generation unit 37 then creates a text code file with the desired file name in the desired folder in the storage unit 22 shown in Figure 3.

[0109] When the code generation button 754 is pressed, the screen generation unit 33 generates the information output window 760 shown in Figure 21 and displays it on the display unit 13. The information output window 760 displays a text code file, the library corresponding to that file, and a string indicating how to use the corresponding reference shape data.

[0110] The information output window 760 displays a string of instructions for use, as well as a text code display button 761 and an output button 762. The user can operate the output button 762 after reviewing the instructions displayed in the information output window 760. When the output button 762 is operated, the information output window 760 closes, and the configuration support information is output to a predetermined destination.

[0111] The text code display button 761 on the information output window 760 is a button for displaying the content of the generated text code on the display unit 13. When the text code display button 761 is operated, the screen generation unit 33 generates the text code display window 770 shown in Figure 22 and displays it on the display unit 13. The text code display window 770 displays the text code created by the code generation unit 37. This allows the user to check the content of the text code created by the code generation unit 37 on the screen of the display unit 13. The text code display window 770 also displays a close button 771 for closing the text code display window 770.

[0112] Figure 23 is a flowchart showing the flow of the text code generation process. When the text code generation process starts, in step S81, the reception unit 36 ​​in Figure 3 receives file generation information. The reception of file generation information is performed based on the operation of the text code generation window 750 shown in Figure 20.

[0113] In step S82, the receiving unit 36 ​​determines whether or not there is a command to generate a text code file. The determination in step S82 is made, for example, based on whether or not the code generation button 754 of the text code generation window 750 shown in Figure 20 has been operated. If there is no command to generate a file, the receiving unit 36 ​​repeats the process in step S82. On the other hand, if there is a command to generate a file, the process proceeds to step S83, where the code generation unit 37 generates a text code file based on the file generation information received in step S81.

[0114] In other words, in step S83, the code generation unit 37 generates character information indicating the processing program to be called from the library, based on the information of the set multiple measurement items (types of measurement items), as processing program information. The code generation unit 37 also generates character information indicating parameters etc. obtained by user specification in relation to each processing program information as specification information. Furthermore, the code generation unit 37 combines the related processing program information and specification information.

[0115] The library according to this embodiment includes processing programs for setting the source of shape data acquisition (source setting) and setting the process for generating shape data (shape data generation process setting). When such processing programs are included, the code generation unit 37 can include information indicating the source of shape data acquisition and the acquisition pitch of profile data as data acquisition conditions in the text code. However, the library does not have to include processing programs for source setting and shape data generation process setting. If the library does not include processing programs for source setting and shape data generation process setting, the code generation unit 37 does not include information indicating the source of shape data acquisition and the acquisition pitch of profile data, which are set by the user, in the text code as data acquisition conditions. Therefore, this information is set by the user through a separate setting operation when setting up the sub-measuring device 20A, etc.

[0116] The library may include a processing program for combining shape data. In this case, if multiple shape data combination conditions are set, the code generation unit 37 will include those combination conditions in the text code. However, the library does not have to include a processing program for combining shape data. In this case, even if multiple shape data combination conditions are set, the code generation unit 37 will not include those combination conditions in the text code.

[0117] The code generation unit 37 may include information indicating the measurement results as measurement result information in the text code. A text code containing measurement result information makes it easy to grasp the measurement results of interest. When measurement result information is included in the text code, the code generation unit 37 treats the measurement result information as a structure in the text code.

[0118] Specifically, the measurement results can include information (values, units, and item names) for each measurement item, such as "peak height," "bottom height," "average height," "maximum peak height," "minimum peak height," "maximum bottom height," "minimum bottom height," "maximum average height," and "maximum average height."

[0119] The value of each measurement item is of floating-point type, while the unit and item name are of string type. The language of the item name may be selected in conjunction with the language used by the code generation support program, or it may be possible to select a language different from the language used by the code generation support program. The code generation unit 37 may identify the measurement result of interest in the text code by using a structure of measurement results that includes the value, unit and item name of each measurement item, and an identifier for identifying the measurement item of interest. For example, an enumerated constant of an enumeration type (enum type) may be used as the identifier to identify the measurement item of interest from the structure of measurement results that includes the value, unit and item name of each measurement item.

[0120] The library may include a processing program that executes a function that takes an enumerator as an argument and returns a measurement result corresponding to the measurement item of interest from a structure of the processing results of the enumerated type. The function that returns the measurement result may also include a function that outputs the measurement result as a floating-point value and a function that outputs the measurement result as a string indicating the value with a unit such as "mm". Furthermore, the function that returns the measurement result may also include a function that takes an enumerator as an argument and returns a string indicating the item name. In this case, the code generation unit 37 can output an identifier such as an enumerator corresponding to the measurement item of interest, and generate text code that obtains the item name of the measurement item of interest and the value of the measurement result with a unit using the identifier.

[0121] The library may include a processing program that performs processing to display the measurement results. This processing program may list the names of the measurement items of interest and the unitized values ​​of the measurement results. The library may also include a processing program that executes a function that takes shape data, tool areas, and measurement results for each area as arguments and returns image data that displays the measurement results for each set tool area on two-dimensional shape data or on top of or on three-dimensional shape data.

[0122] In step S84, the screen generation unit 32 in Figure 3 displays instructions on how to use the setting support information (shown in Figure 21). In step S85, the reception unit 36 ​​determines whether or not there is a command to display a text code. The determination in step S85 is made, for example, based on whether or not the text code display button 761 shown in Figure 21 has been operated. If there is no command to display a text code, the process proceeds to step S87. On the other hand, if there is a command to display a text code, in step S86, the screen generation unit 32 displays the text code on the display unit 13 as shown in Figure 22. The display of the text code ends when the close button 771 is operated.

[0123] In step S87, the reception unit 36 ​​determines whether or not a command has been issued to output setting support information. The determination in step S87 is made, for example, based on whether or not the output button 762 shown in Figure 21 has been operated. If no command has been issued to output setting support information, the process proceeds to step S85. On the other hand, if a command has been issued to output setting support information, in step S88, the output unit 35 associates the library and reference shape data with the text code generated by the code generation unit 37, and outputs setting support information including the text code, library, and reference shape data. This completes the text code generation process.

[0124] (Details of the auxiliary measuring device) Figure 24 is a block diagram showing the configuration of the control systems of the sub-measuring devices 20A and 20B shown in Figure 1. As shown in Figure 24, the control unit 23 of the sub-measuring devices 20A and 20B according to this embodiment includes a screen generation unit 33, an execution unit 34, an acquisition unit 41, and an analysis unit 42 as parts for measuring the shape of the object to be measured W. The screen generation unit 33, execution unit 34, acquisition unit 41, and analysis unit 42 are realized, for example, by the CPU of the control unit 23 of the sub-measuring devices 20A and 20B executing a program for measuring the shape of the object to be measured W that has been pre-stored in the storage unit 22.

[0125] When setting up the sub-measuring devices 20A and 20B for measuring the shape of the object W to be measured, setting support information read from the storage unit 22 of the main measuring device 20 is input to the sub-measuring devices 20A and 20B. The input unit 41 reads the setting support information stored in the storage unit 22 and maintains a library of setting support information.

[0126] The receiving units 21 of the sub-measuring devices 20A and 20B have the same configuration and functions as the receiving unit 21 of the main measuring device 20. The execution unit 34 performs inspection of measurement items using one or more measurement elements in the object to be measured W, based on the shape data received by the receiving unit 21 and the text code and library read into the acquisition unit 41.

[0127] The analysis unit 42 performs various analyses based on the calculation results (measurement results) obtained by the execution unit 34. The screen generation unit 33 displays an image of the object to be measured W on the display unit 13 based on the shape data received by the receiving unit 21. The screen generation unit 33 also displays the calculation results calculated by the execution unit 34 and the analysis results performed by the analysis unit 42 on the display unit 13.

[0128] 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]

[0129] As described above, the code generation support device and code generation support program related to this disclosure can be used when measuring the shape of various objects to be measured. [Explanation of Symbols]

[0130] 11. Measuring head (shape sensor) 13 Display section 20. Main measuring device (code generation support device) 21 Receiving unit 22 Memory section 30A Feature location identification unit 30B Feature Position Correction Unit 33 Image generation unit 37 Code Generation Unit 38 Measurement setting generation unit (setting unit)

Claims

1. A receiving unit that receives shape data, A feature position identification unit identifies the feature position in the cross-section of multiple shape data corresponding to multiple shape sensors, which have been corrected based on correction values ​​corresponding to the position and orientation of each of the multiple shape sensors. A feature position correction unit performs a correction process to correct each shape data for each cross section so that the feature position is corrected based on a series of feature positions along the cross-sectional arrangement direction in multiple cross sections. A setting unit that sets one or more measurement elements and measurement items using those one or more measurement elements, An execution unit that identifies one or more measurement elements set by the setting unit for each shape data corrected by the feature position correction unit, and performs an inspection of measurement items using the one or more measurement elements set by the setting unit, A code generation unit that identifies one or more measurement elements from shape data and generates text code for performing inspection of measurement items using those one or more measurement elements, A screen generation unit generates a display screen that includes a first display area for displaying the shape data received by the receiving unit in two dimensions and / or three dimensions, and for displaying one or more measurement elements on the shape data, and includes a result display element for showing the results of the inspection performed by the execution unit. A code generation support device for an inspection device equipped with the following features.

2. In the code generation support device according to claim 1, The aforementioned feature position correction unit is a code generation support device that corrects each shape data for each cross-section so that the vibration component of the object to be measured is removed.

3. In the code generation support device according to claim 2, The aforementioned feature position correction unit is a code generation support device that performs low-pass filtering on each shape data for each cross-section.

4. In the code generation support device according to claim 3, The feature position correction unit is a code generation support device that allows for changing the intensity of the low-pass filter processing.

5. In the code generation support device according to claim 1, The feature location identification unit is a code generation support device that identifies the center of the cross-section of the shape data as the feature location.

6. In the code generation support device according to claim 5, The feature location identification unit is a code generation support device that, when the cross-section of the shape data is circular, identifies the center of the circle as the feature location.

7. In the code generation support device according to claim 5, The feature location identification unit is a code generation support device that, when the cross-section of the shape data is a polygon, identifies the center of the polygon as the feature location.

8. In the code generation support device according to claim 1, The execution unit is a code generation support device that, when the cross-sections of multiple shape data are circular, performs a check on the roundness of the circle.

9. In the code generation support device according to claim 1, The screen generation unit is a code generation support device that generates a screen displaying the correction parameters applied to the correction process by the feature position correction unit.

10. In the code generation support device according to claim 1, The feature location identification unit is a code generation support device that accepts the specification of a cross-section for identifying a feature location.

11. In the code generation support device according to claim 1, The screen generation unit generates a screen that displays the shape data before the correction process is performed by the feature position correction unit, and the shape data after the correction process is performed by the feature position correction unit, as a code generation support device.

12. The process of receiving shape data, A process to identify feature positions in the cross-section of multiple shape data corresponding to multiple shape sensors, which have been corrected based on correction values ​​corresponding to the position and orientation of each of the multiple shape sensors, A correction process that corrects each shape data for each cross section based on a series of feature positions along the cross-sectional arrangement direction in multiple cross sections, so that the feature positions are corrected. A process for setting one or more measurement elements and measurement items using those one or more measurement elements, For each of the corrected shape data, the process involves identifying one or more of the set measurement elements and performing an inspection of the measurement items using the one or more of the set measurement elements. A process for identifying one or more measurement elements from shape data and generating text code for performing inspection of measurement items using those one or more measurement elements, A code generation support program that causes a computer to perform a process of generating a display screen which has a first display area for displaying the received shape data in two dimensions and / or three dimensions, and for displaying one or more measurement elements on the shape data, and which includes a result display element for showing the results of the inspection that has been performed.

Citation Information

Patent Citations

  • Shape inspection device, processing device, height image processing method, and height image processing program

    JP2023015886A