WO2023053641A1 - 作成支援方法、プログラム及び作成支援システム - Google Patents

作成支援方法、プログラム及び作成支援システム Download PDF

Info

Publication number
WO2023053641A1
WO2023053641A1 PCT/JP2022/025786 JP2022025786W WO2023053641A1 WO 2023053641 A1 WO2023053641 A1 WO 2023053641A1 JP 2022025786 W JP2022025786 W JP 2022025786W WO 2023053641 A1 WO2023053641 A1 WO 2023053641A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
product inspection
inspection program
execution
program
Prior art date
Application number
PCT/JP2022/025786
Other languages
English (en)
French (fr)
Inventor
伸行 田嶋
浩司 椎名
翔平 石井
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to KR1020247002459A priority Critical patent/KR20240023169A/ko
Priority to CN202280045336.2A priority patent/CN117561503A/zh
Publication of WO2023053641A1 publication Critical patent/WO2023053641A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Definitions

  • the present disclosure generally relates to creation support methods, programs, and creation support systems, and more particularly to creation support methods, programs, and creation support systems for assisting creation of product inspection programs.
  • the image processing apparatus described in Patent Document 1 selects a plurality of desired processing items from a series of processing flows, and displays a plurality of processed images corresponding to the selected processing items, thereby preventing NG. Then, the processed image can be confirmed following the processing steps. This facilitates clarification of the cause and the like when a problem occurs.
  • An object of the present disclosure is to provide a production support method, a program, and a production support system that can improve the reliability of a product inspection program.
  • a creation support method is a creation support method for assisting creation of a product inspection program.
  • the creation support method includes read processing, execution processing, and output processing.
  • test data is read.
  • execution process the product inspection program is executed with the test data as input.
  • the output process the result of the execution process is output.
  • the execution processing includes stop processing for stopping the product inspection program during execution.
  • the output processing includes outputting the result of the execution processing at the time when the processing of the product inspection program is stopped by the stop processing.
  • a program according to one aspect of the present disclosure is a program for causing one or more processors to execute the creation support method.
  • a creation support system is a creation support system that supports creation of a product inspection program.
  • the creation support system includes a reading unit, an execution unit, and an output unit.
  • the reading unit reads test data.
  • the execution unit receives the test data and executes the product inspection program.
  • the output unit outputs a result of processing by the execution unit.
  • the processing of the execution unit includes a stop processing of stopping the product inspection program during execution.
  • the processing of the output unit includes outputting the result of the processing of the execution unit at the time when the processing of the product inspection program is stopped by the stop processing.
  • FIG. 1 is an explanatory diagram showing a display example of a creation support method according to an embodiment.
  • FIG. 2 is a flow chart showing execution processing in the creation support method of the same.
  • FIG. 3 is an explanatory diagram showing a display example of part of the display in the creation support method of the same.
  • FIG. 4 is a block diagram of a production support system and a sensor device for realizing the above production support method.
  • FIG. 5 is an explanatory diagram showing a display example of part of the display in the creation support method of the same.
  • the production support method of this embodiment is a method of supporting the production of a product inspection program. More specifically, the creation support method is executed to check (debug) the operation of the product inspection program. Before the product inspection program is actually used in the product inspection process, the computer system confirms the operation of the product inspection program by the preparation support method. The user refers to the results of the operation check and corrects defects in the product inspection program.
  • the creation support method of this embodiment has read processing, execution processing, and output processing.
  • test data is read.
  • a product image Im1 as test data is read and displayed on the display (display unit 14: see FIG. 4) of the computer system.
  • the product inspection program is executed with test data as input.
  • the execution processing includes stop processing for stopping the product inspection program during execution.
  • the execution process is, for example, the process shown in the flowchart of FIG. Details will be described later.
  • the output processing includes outputting the result of the execution processing at the time when the processing of the product inspection program is stopped by the stop processing.
  • the values of various variables related to product inspection are displayed on the display (display unit 14: see FIG. 4) of the computer system as information representing the results of the execution process. More specifically, when the processing of the product inspection program reaches the end of the program and the processing stops (ends), and when the processing stops (suspends) due to the stop processing, the current variable value is displayed. be done.
  • Variables are, for example, values relating to the shape, properties, condition, and quality of the product.
  • variable is, for example, a flag related to conditional branching of the product inspection program.
  • the product image Im1 processed in the course of the execution process is displayed on the display (display unit 14: see FIG. 4) of the computer system as information representing the result of the execution process.
  • the creation support method of this embodiment it becomes easier to analyze the adequacy of the product inspection program. That is, by outputting the processing result when the product inspection program is stopped, it becomes easier to identify the presence or absence of a defect in the product inspection program and its cause. Thereby, the reliability of the product inspection program can be improved.
  • the creation support method of this embodiment can be executed by one or more processors of a computer system. That is, a program according to one aspect is a program for causing one or more processors to execute the creation support method.
  • the program according to the above aspect is a program that assists creation of a product inspection program.
  • the creation support method of this embodiment can be executed by the creation support system 1 (see FIG. 4).
  • the creation support system 1 is a system that assists in creating a product inspection program.
  • the creation support system 1 includes a reading unit 111 , an execution unit 112 and an output unit 113 .
  • the reading unit 111 reads test data.
  • the executing unit 112 executes the product inspection program by inputting test data.
  • the output unit 113 outputs the processing result of the execution unit 112 .
  • the processing of the execution unit 112 includes stop processing for stopping the product inspection program during execution.
  • the processing of the output unit 113 includes outputting the result of the processing of the execution unit 112 when the processing of the product inspection program is stopped by the stop processing.
  • the creation support system 1 includes a processing unit 11, a communication unit 12, a storage unit 13, and a display unit 14.
  • the creation support system 1 includes a computer system having one or more processors and memory. At least part of the functions of the creation support system 1 are realized by the processor of the computer system executing a program recorded in the memory of the computer system.
  • the program may be recorded in a memory, provided through an electric communication line such as the Internet, or recorded in a non-temporary recording medium such as a memory card and provided.
  • the creation support system 1 is implemented in a personal computer
  • a program for realizing the creation support system 1 is provided to a personal computer, and the processor of the personal computer executes this program.
  • the creation support system 1 is not limited to a personal computer, and may be implemented in a tablet terminal, a mobile terminal such as a smartphone, or a server computer.
  • the user operates a personal computer to create a product inspection program.
  • the processing unit 11 includes one or more processors described above.
  • the processing unit 11 has a reading unit 111 , an execution unit 112 and an output unit 113 . It should be noted that these merely indicate functions realized by one or more processors constituting the processing unit 11, and do not necessarily indicate a substantial configuration.
  • the creation support method is executed by switching between multiple modes.
  • the operation mode of the processing unit 11 is switched among a plurality of modes.
  • the multiple modes include a debug mode for debugging the product inspection program and an operation mode for executing the product inspection program to inspect the inspection object.
  • the reading unit 111 reads test data, and the execution unit 112 receives the test data and executes the product inspection program.
  • the reading unit 111 reads the data of the product to be inspected, and the execution unit 112 inputs the data of the product to be inspected and executes the product inspection program.
  • the data of the product to be inspected is the electronic data of the image of the inspection object output from the sensor device 2, which will be described later. This electronic data is received by the communication unit 12 and read by the reading unit 111 .
  • test data may be stored in advance in the storage unit 13 of the creation support system 1, or may be provided to the creation support system 1 via a non-temporary communication medium such as a flash memory or a network.
  • a non-temporary communication medium such as a flash memory or a network.
  • the electronic data of the image of the test product output from the sensor device 2 may be used as the test data.
  • the execution unit 112 executes the product inspection program, and the output unit 113 outputs the execution result of the product inspection program.
  • the execution result is the result at the end of the product inspection program.
  • the execution result is the result when the product inspection program is stopped in the middle of execution or the result when the product inspection program ends.
  • the output unit 113 outputs the values of various variables related to the product inspection and the product image Im1 as information representing the execution result. Specifically, the output unit 113 causes the display unit 14 to display the execution result.
  • the communication unit 12 includes a communication interface device.
  • the communication unit 12 can communicate with the sensor device 2 via the communication interface device.
  • “Communicable” as used in the present disclosure means that a signal can be sent and received directly or indirectly via a network, a repeater, or the like, by an appropriate communication method such as wired communication or wireless communication.
  • the communication unit 12 communicates with the sensor device 2 via the router R1.
  • the storage unit 13 stores information used in the creation support system 1.
  • the storage unit 13 stores, for example, a product inspection program created by the creation support system 1 .
  • the storage unit 13 is, for example, ROM (Read Only Memory), RAM (Random Access Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), or the like.
  • the display unit 14 is an output interface that displays related to the creation support method.
  • the display unit 14 is, for example, a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display.
  • FIG. 1 is an example of an image displayed on the display unit 14. As shown in FIG.
  • the display unit 14 displays the execution result of the product inspection program.
  • the display unit 14 displays a user interface for guiding operations performed by the user in order to execute the product inspection program creation support method.
  • the creation support system 1 is used together with the sensor device 2.
  • the sensor device 2 is a device for detecting physical quantities relating to an object to be inspected.
  • the sensor device 2 of this embodiment captures an image of an inspection target and generates electronic data of the image of the inspection target. That is, in this embodiment, the physical quantity corresponds to the light quantity on the surface of the inspection object.
  • the sensor device 2 has an imaging unit 21 , an image processing unit 22 and a communication unit 23 .
  • the imaging unit 21 captures an image of the inspection target and generates electronic data of the image of the inspection target.
  • the imaging unit 21 is, for example, a two-dimensional image sensor such as a CCD (Charge Coupled Devices) image sensor or a CMOS (Complementary Metal-Oxide Semiconductor) image sensor.
  • CCD Charge Coupled Devices
  • CMOS Complementary Metal-Oxide Semiconductor
  • the image processing unit 22 performs image processing on the electronic data of the inspection target image generated by the imaging unit 21 .
  • the image processing unit 22 performs data format conversion, data compression, and the like.
  • the communication unit 23 includes a communication interface device.
  • the communication unit 23 can communicate with the communication unit 12 of the creation support system 1 via the communication interface device.
  • FIGS. 1, 3 and 5 (2) Screen Display
  • a user operates a mouse connected to a personal computer, places the mouse cursor on a predetermined position of the images displayed in FIGS.
  • Execute the creation support method As shown in FIG. 1, the image displayed on the display unit 14 includes windows 3-8.
  • 1, 3 and 5 are examples of user interfaces for executing the creation support method. 3 and FIG. 5 are not limiting.
  • the window 3 includes multiple (five in FIG. 1) tabs 31 .
  • the corresponding ribbon is expanded.
  • an interface (a plurality of button, etc.) is unfolded.
  • the buttons include a start/continue button 32, a stop button 33, a step-in button 34, a step-over button 35, a step-out button 36, a set/clear breakpoint button 37, and a delete all breakpoints button 38.
  • the window 4 includes a display window 41 representing the product inspection setting procedure.
  • the setting procedure is in the following order: image pickup of inspection target, reading of reference image, inspection, comprehensive judgment, result output, and image output.
  • a display window 41 displays a character string representing each procedure.
  • Window 5 is a window for editing the product inspection program and setting breakpoints.
  • Window 5 displays a flow chart 51 (flow chart 51A in FIG. 1 and flow chart 51B in FIG. 5) representing at least part of a product inspection program.
  • the product inspection program is displayed in flowchart form.
  • the window 5 also includes a main tab 52 and a plurality of block tabs (block tabs 53, 54, etc.).
  • the main routine is displayed as a flowchart 51 as shown in FIG.
  • the main routine is composed of a combination of multiple blocks.
  • the main routine is configured by combining one or more chips in addition to a plurality of blocks.
  • steps S3 and S6 are chips
  • steps S1, S2, S4, S5, S7, and S8 are blocks.
  • each block includes a plurality of chips.
  • a product inspection program is created by combining two or more of one or more chips and one or more blocks.
  • the product inspection program may be created by combining a plurality of chips, may be created by combining a plurality of blocks, or may be created by combining one or more chips and one or more blocks. good.
  • a plurality of block tabs 53 and 54 each correspond to one of the blocks (steps S1, S2, S4, S5, S7 or S8). Block tabs other than the block tabs 53 and 54 are omitted in FIG.
  • a flowchart 51B representing the contents of the corresponding block is displayed as shown in FIG.
  • flowchart 51B of FIG. 5 represents the contents of the block of step S1.
  • a block (step S1) includes multiple chips (steps S11-S14).
  • the window 5 also includes edit buttons 55-57.
  • Edit buttons 55 to 57 are buttons for the user to edit the product inspection program.
  • the window 6 includes a display area for the product image Im1.
  • the product image Im1 read by the reading unit 111 (see FIG. 4) is displayed on the window 6.
  • FIG. 1 A diagram illustrating an example display of the product image Im1.
  • the window 7 includes a display area for information regarding the product image Im1 displayed in the window 6.
  • the display area for example, specifications of the image (type of monochrome image or color image, image size, etc.), imaging settings, and the like are displayed.
  • the window 8 includes multiple (three in FIG. 1) tabs 81-83.
  • help information is displayed in the window 8.
  • a specific step for example, step S1
  • the window 8 displays information explaining the details of the processing of the specific step.
  • the window 8 at this time includes a plurality of (five in FIG. 3) buttons 831 and a display area 832 .
  • a display area 832 displays a variable ID, a variable name, a comment about the variable, the initial value of the variable, and the current value of the variable.
  • a plurality of buttons 831 are buttons for switching the content displayed in the display area 832 .
  • the current value of the variable can be changed by the user inputting the current value of the variable. Changes to the current values of variables can also be made while the product inspection program is stopped by the stop process. That is, the creation support method of the present embodiment further includes change processing, and the change processing is processing for changing variables related to the processing of the product inspection program when the product inspection program is stopped by the stop processing. .
  • the current value of the variable is changed, for example, by keystrokes.
  • the user operates a personal computer on which the creation support system 1 is installed to create a product inspection program.
  • the creation support system 1 is configured so that even a user who has no knowledge of how to write a program can create a product inspection program.
  • the user creates a product inspection program by combining a plurality of pre-prepared processes (chips and blocks). That is, the creation support method of the present embodiment further includes processing for creating a product inspection program by combining a plurality of processings prepared in advance. More specifically, the preparation support method of the present embodiment has processing for preparing a product inspection program by combining a plurality of blocks (and chips) prepared in advance.
  • Each of the plurality of blocks includes a plurality of chips, and the chip is a unit of processing in step-in.
  • a chip consists of one or more codes. If the chip is replaced with general program code, the chip corresponds to one or more lines of code.
  • a chip may contain one or more subroutines. For example, operations with relatively short code are defined as chips, and operations with relatively long code are defined as blocks.
  • each of steps S1 to S8 displayed in window 5 is a process (chip or block) that can be combined.
  • a list of a plurality of processes (chips or blocks) prepared in advance can be displayed, and a process (chip or block) can be selected from the list.
  • the process (chip or block) can be incorporated into the product inspection program.
  • the plurality of processes prepared in advance include conditional branching processes.
  • step S3 is processing for branching the flow according to conditions
  • step S6 is processing for joining the plurality of branched flows.
  • step S1 is a process of adjusting the position of the inspection target in the image showing the inspection target.
  • step S1 includes steps S11 to S14.
  • the processing of steps S11 and S12 is processing for measuring the position of the edge of the inspection target in the predetermined axial direction.
  • the process of step S13 is a process of rotating the inspection object and correcting the position.
  • Step S14 is a process of performing a predetermined calculation based on the image to be inspected.
  • pre-prepared processing is listed below.
  • the following example is an example of processing for inspecting an inspection target based on the image of the inspection target by processing or analyzing the image of the inspection target.
  • the above process may be a process of removing noise from the image.
  • the above process may be a process of blurring the image.
  • the above process may be a process of binarizing an image.
  • the above process may be a process of emphasizing a characteristic portion of an image.
  • the above process may be a process of changing the contrast of the image.
  • the above processing may be processing for determining the presence/absence of an inspection target in an image.
  • the above process may be a process of obtaining the number of inspection objects in the image.
  • the above process may be a process of obtaining the position of the inspection object.
  • the above process may be a process of obtaining the dimensions of the object to be inspected.
  • the above process may be a process of determining the color of the object to be inspected.
  • the above process may be a process of extracting features of an object to be inspected.
  • the above process may be a process of obtaining the contour of the inspection object.
  • the above process may be a process of pattern matching the inspection object.
  • the above process may be a process of pattern matching the contour of the object to be inspected.
  • the above process may be a process of determining whether or not there is a feature such as a flaw, burr, or chip in the inspection target.
  • test data is read and displayed in window 6.
  • a product inspection program is displayed as a flow chart 51 on the window 5 .
  • the user causes the execution unit 112 to execute the product inspection program by operating a plurality of buttons, etc. of the tab 31 labeled "DEBUG" in the window 3 .
  • a state in which the tab 31 labeled "debug” is operated and the corresponding ribbon is expanded corresponds to the debug mode described above.
  • a state in which the tab 31 labeled "inspection” is operated and the corresponding ribbon is expanded corresponds to the operation mode described above.
  • step-in When the step-in button 34 is operated (clicked), step-in is executed.
  • processing is performed in units of chips. That is, the execution processing in the production support method includes step-in, and in the step-in, the execution of the product inspection program is stopped when the processing of the product inspection program is executed for one chip.
  • step S8 When the last process of step S8 has been executed, the process reaches the end of the product inspection program (process P4: Yes), and the execution of the product inspection program ends.
  • stepover processing is performed in units of blocks.
  • execution processing in the creation support method includes stepover, and when stepover is executed in a state where the next processing of the product inspection program is processing at the beginning of the block, the processing is continued until the block is exited.
  • a block contains more than one unit (ie, two chips) of processing.
  • step in button 34 is operated if the next process in the product inspection program is not the process at the beginning of the block (process P5: No). Do the same process as when In other words, the processing of the next chip is executed. If the next process in the product inspection program is the process at the beginning of the block (process P5: Yes), the process continues until the block is exited (process P6). For example, before starting the product inspection program, the next process is the process of step S11 at the beginning of step S1 (block), so steps S11 to S14 included in step S1 are continuously executed. Execution of the program stops (process P3).
  • step S2 When the step-over button 35 is operated again, all the processes included in step S2 are executed, and then execution of the product inspection program is stopped. If step S8 has been executed, the process reaches the end of the product inspection program (process P4: Yes), and the execution of the product inspection program ends.
  • step-out button 36 When the step-out button 36 is operated (clicked), step-out is executed. Stepping out continues execution until the block is exited. That is, the execution processing in the creation support method includes a step-out in which the processing is continuously executed until the block is exited during the execution of the block, and the block executes the processing of two units (that is, two chips) or more of the product inspection program. include.
  • Start/Continue button 32 When the Start/Continue button 32 is operated (clicked), processing continues until the product inspection program ends or a breakpoint is reached. For example, if the start/continue button 32 is operated when no breakpoint is set and the product inspection program has not yet started, steps S1 to S3 are executed, and step S4 or S5 is executed. , steps S6 to S8 are executed. Further, when the start/continue button 32 is operated while the processing of the product inspection program is stopped, the processing subsequent to the stopping position is continuously executed. For example, when step S6 is executed and the process is stopped before step S7 is executed, when the start/continue button 32 is operated, steps S7 and S8 are executed.
  • Breakpoints can be set and canceled when the product inspection program is not executed. More specifically, when the breakpoint setting/releasing button 37 is operated (clicked), the breakpoint setting/releasing mode is switched to. At this time, when the left blank of the block or chip (steps S1 to S8, S11 to S14) displayed in the window 5 is operated (clicked), a breakpoint is set in the block or chip. Blocks or chips in which breakpoints are set are circled. For example, in FIG. 1, a circle indicating that a breakpoint has been set at step S5 is displayed in the left blank of step S5. When the same operation (click) is performed again, the breakpoint of the block or chip is canceled. When the delete all breakpoint button 38 is operated (clicked), all set breakpoints are cleared.
  • the process stops at the breakpoint. That is, the production support method further includes setting processing for setting a breakpoint in the product inspection program, and in the execution processing, the processing is stopped when the processing of the product inspection program progresses to the breakpoint.
  • breakpoints can be set not only in steps S1 to S8 of the main routine, but also in chips within blocks (for example, steps S11 to S14).
  • the execution of the product inspection program also stops when the process progresses to the breakpoint while the process is being continuously executed by stepping out.
  • a plurality of buttons for executing processing includes a start/continue button 32, a step-in button 34, a step-over button 35, and a step-out button 36.
  • the stopped point is highlighted. For example, when the process is stopped, a predetermined icon is displayed in the blank to the left of the process to be executed next. Alternatively, when processing stops, a rectangle representing the next processing to be performed (one of steps S1, S11, etc.) is given a particular color.
  • each branch destination program can be debugged.
  • the product inspection program may include processing for processing the product image Im1 as the input image.
  • the window 6 displays the product image Im1 at that time. is displayed.
  • the execution processing in the production support method can include processing processing for processing the image to be inspected (product image Im1).
  • the output processing may include outputting an image of the inspection object at the time when the processing of the product inspection program is stopped by the stop processing.
  • the termination or suspension in this case can be normal termination, abnormal termination, normal termination, or abnormal termination. Not applicable.
  • the ribbon corresponding to the tab 31 labeled "Inspection” has at least a button for starting inspection (a button with the same function as the start/continue button 32). Also, the ribbon preferably has a button for stopping the inspection (a button with the same function as the stop button 33).
  • debug mode enable breakpoints in the product inspection program.
  • operational mode disable breakpoints in the product inspection program. That is, when the product inspection program created in window 5 is used in operational mode, breakpoints are deleted.
  • electronic data (image data) of an image to be inspected generated by the imaging unit 21 of the sensor device 2 (see FIG. 4) is provided from the sensor device 2 to the creation support system 1.
  • a product inspection program is executed using this image data as an input.
  • the product inspection program used in operation mode completely matches the product inspection program used in debug mode.
  • the former may include part or all of the latter.
  • the product inspection program used in the debug mode is a program that performs a single inspection
  • the product inspection program used in the operation mode is a program that repeatedly executes the product inspection program used in the debug mode. good too.
  • the product inspection program used in the operation mode may be a combination of the product inspection program used in the debug mode and another program.
  • the process can be stopped. This makes it easier to identify the presence or absence of defects in the product inspection program and their causes.
  • the product inspection program is created by combining blocks (and chips) by the user.
  • a block contains multiple chips. Each chip and block is a pre-defined process.
  • debugging a product inspection program processing is executed in units of chips or blocks. Therefore, even a user unfamiliar with programming can easily perform debugging compared to executing program code line by line as in general program code debugging.
  • a click operation or the like is given as a specific example of the operation performed by the user to realize the creation support method, but the operation is not limited to the click operation, and may be, for example, a double-click operation, a drag operation, or the like. may be Further, the operation is not limited to an operation using a mouse, and may be a touch operation on a touch panel, for example.
  • the chip is the minimum unit of processing for the product inspection program.
  • the execution process may also include stopping execution of the product inspection program after executing one of the above processes that is smaller than the chip.
  • the output process is not limited to the process of visually displaying the result of the execution process on the display unit 14.
  • the output process may be a process of outputting the result of the execution process as audio.
  • the output process may be a process of transferring the result of the execution process as electronic data to a recording medium or an external device of the creation support system 1 .
  • Disabling breakpoints in the product inspection program in operation mode is not limited to deleting breakpoints. Instead of deleting breakpoints, processing may not stop when processing progresses to breakpoints.
  • the product inspection program is not limited to a program that inspects the inspection target based on the image of the inspection target.
  • the product inspection program may be, for example, a program that inspects the inspection object based on the detection results of a sensor device that detects physical quantities related to the inspection object and that includes a positioning sensor, an ultrasonic sensor, a temperature sensor, or the like.
  • debugging of the product inspection program is completed on the computer system after the test data is entered.
  • the debugging of the product inspection program does not have to be completed on the computer system.
  • debugging a product inspection program may be done using information further obtained from outside the computer system.
  • a product inspection program may be debugged further using detection results of a sensor device that detects environmental conditions.
  • a device outside the computer system may be controlled by executing the product inspection program during debugging.
  • the product inspection program may be debugged using further data regarding the operational status of the device.
  • debugging of the product inspection program may be completed on the computer system.
  • the creation support system 1 in the present disclosure includes a computer system.
  • a computer system is mainly composed of a processor and a memory as hardware. At least part of the functions of the creation support system 1 of the present disclosure are realized by the processor executing a program recorded in the memory of the computer system.
  • the program may be recorded in advance in the memory of the computer system, may be provided through an electric communication line, or may be recorded in a non-temporary recording medium such as a computer system-readable memory card, optical disk, or hard disk drive. may be provided.
  • a processor in a computer system consists of one or more electronic circuits, including semiconductor integrated circuits (ICs) or large scale integrated circuits (LSIs).
  • Integrated circuits such as ICs or LSIs are called differently depending on the degree of integration, and include integrated circuits called system LSI, VLSI (Very Large Scale Integration), or ULSI (Ultra Large Scale Integration).
  • FPGAs Field-Programmable Gate Arrays
  • a plurality of electronic circuits may be integrated into one chip, or may be distributed over a plurality of chips.
  • a plurality of chips may be integrated in one device, or may be distributed in a plurality of devices.
  • a computer system includes a microcontroller having one or more processors and one or more memories. Accordingly, the microcontroller also consists of one or more electronic circuits including semiconductor integrated circuits or large scale integrated circuits.
  • creation support system 1 it is not an essential configuration of the creation support system 1 that a plurality of functions in the creation support system 1 are integrated into one device, and the components of the creation support system 1 are distributed and provided in a plurality of devices. may have been Furthermore, at least part of the functions of the creation support system 1, for example, part of the functions of the execution unit 112, may be realized by the cloud (cloud computing) or the like.
  • multiple functions distributed over multiple devices may be integrated into one device.
  • a plurality of functions distributed between the creation support system 1 and the sensor device 2 may be integrated into one device.
  • the creation support method is a creation support method for assisting creation of a product inspection program.
  • the creation support method has read processing, execution processing, and output processing.
  • read processing test data is read.
  • execution process the product inspection program is executed with test data as input.
  • the output process outputs the result of the execution process.
  • the execution processing includes stop processing for stopping the product inspection program during execution.
  • the output processing includes outputting the result of the execution processing at the time when the processing of the product inspection program is stopped by the stop processing.
  • the execution process includes step-in.
  • step-in execution of the product inspection program is stopped when one chip, which is a unit of processing, is executed for the product inspection program.
  • processing can be executed one chip at a time.
  • the creation support method according to the third aspect further includes processing for creating a product inspection program by combining two or more of the one or more chips and the one or more blocks.
  • a block includes a plurality of chips.
  • a chip is a unit of processing in step-in.
  • step-in processing is executed in units of chips. Therefore, even a user who is not familiar with programming can easily perform debugging.
  • the execution process includes stepover. If stepover is executed while the next process of the product inspection program is the process at the beginning of the block, the process continues until the block is exited.
  • a block includes two or more units of processing.
  • block processing can be executed collectively.
  • the execution processing includes step-out. Step out continues execution until the block is exited while the block is being executed.
  • a block contains two or more units of processing of a product inspection program.
  • block processing can be executed collectively.
  • the creation support method according to the sixth aspect further includes setting processing in any one of the first to fifth aspects.
  • the setting process breakpoints are set in the product inspection program.
  • the execution process when the process of the product inspection program progresses to the breakpoint, the process is stopped.
  • processing can be executed collectively up to the breakpoint.
  • a plurality of modes including the debug mode and the operation mode are switched and executed.
  • Debug mode debugs the product inspection program.
  • operation mode the product inspection program is executed to inspect the inspection object.
  • debug mode enable breakpoints in the product inspector.
  • operational mode disable breakpoints in the product inspection program.
  • the creation support method according to the eighth aspect further includes change processing in any one of the first to seventh aspects.
  • the change processing is processing for changing variables related to the processing of the product inspection program when the product inspection program is stopped by the stop processing.
  • the product inspection program inspects the inspection object based on the image of the inspection object.
  • the execution processing includes processing processing.
  • Processing processing is processing for processing an image to be inspected.
  • the output processing includes outputting the image of the inspection object at the time when the processing of the product inspection program is stopped by the stop processing.
  • the creation support method according to the eleventh aspect in any one of the first to tenth aspects, further includes a process of creating a product inspection program by combining a plurality of processes prepared in advance.
  • Configurations other than the first aspect are not essential configurations for the creation support method, and can be omitted as appropriate.
  • a program according to a twelfth aspect is a program for causing one or more processors to execute the creation support method according to any one of the first to eleventh aspects.
  • the creation support system (1) is a creation support system that assists in creating a product inspection program.
  • a creation support system (1) includes a reading unit (111), an execution unit (112), and an output unit (113).
  • a reading unit (111) reads test data.
  • An execution unit (112) executes a product inspection program with test data as input.
  • the output unit (113) outputs the result of processing by the execution unit (112).
  • the processing of the execution unit (112) includes stop processing for stopping the product inspection program during execution.
  • the processing of the output unit (113) includes outputting the result of the processing of the execution unit (112) when the processing of the product inspection program is stopped by the stop processing.
  • creation support system (1) Various configurations (including modifications) of the creation support system (1) according to the embodiment are not limited to the above aspects, and are embodied in creation support methods, (computer) programs, or non-temporary recording media recording programs. It is possible to

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本開示は、製品検査プログラムの信頼性を高めることを目的とする。作成支援方法は、製品検査プログラムの作成支援を行う、作成支援方法である。作成支援方法は、読込処理と、実行処理と、出力処理と、を有する。読込処理では、テスト用データを読み込む。実行処理では、テスト用データを入力として製品検査プログラムを実行する。出力処理では、実行処理の結果を出力する。実行処理は、製品検査プログラムを実行途中で停止する停止処理を含む。出力処理は、停止処理により製品検査プログラムの処理が停止している時点での実行処理の結果を出力することを含む。

Description

作成支援方法、プログラム及び作成支援システム
 本開示は一般に作成支援方法、プログラム及び作成支援システムに関し、より詳細には、製品検査プログラムの作成を支援するための作成支援方法、プログラム及び作成支援システムに関する。
 特許文献1に記載の画像処理装置は、一連の処理フローの中から所望の処理項目を複数選択して、選択された処理項目に対応する処理画像を複数表示可能とすることにより、NGが発生したときに、処理段階を追って処理画像を確認することができる。これによって不具合発生時の原因等の解明が容易になる。
特開2007-128306号公報
 特許文献1に記載の画像処理装置では、上記のように製品検査が行われる。そして、製品検査にはプログラム(製品検査プログラム)が用いられる。本開示は、製品検査プログラムの信頼性を高めることができる作成支援方法、プログラム及び作成支援システムを提供することを目的とする。
 本開示の一態様に係る作成支援方法は、製品検査プログラムの作成支援を行う、作成支援方法である。前記作成支援方法は、読込処理と、実行処理と、出力処理と、を有する。前記読込処理では、テスト用データを読み込む。前記実行処理では、前記テスト用データを入力として前記製品検査プログラムを実行する。前記出力処理では、前記実行処理の結果を出力する。前記実行処理は、前記製品検査プログラムを実行途中で停止する停止処理を含む。前記出力処理は、前記停止処理により前記製品検査プログラムの処理が停止している時点での前記実行処理の結果を出力することを含む。
 本開示の一態様に係るプログラムは、前記作成支援方法を、1以上のプロセッサに実行させるためのプログラムである。
 本開示の一態様に係る作成支援システムは、製品検査プログラムの作成支援を行う、作成支援システムである。前記作成支援システムは、読込部と、実行部と、出力部と、を備える。前記読込部は、テスト用データを読み込む。前記実行部は、前記テスト用データを入力として前記製品検査プログラムを実行する。前記出力部は、前記実行部の処理の結果を出力する。前記実行部の処理は、前記製品検査プログラムを実行途中で停止する停止処理を含む。前記出力部の処理は、前記停止処理により前記製品検査プログラムの処理が停止している時点での前記実行部の処理の結果を出力することを含む。
図1は、一実施形態に係る作成支援方法におけるディスプレイの表示例を表す説明図である。 図2は、同上の作成支援方法における実行処理を表すフローチャートである。 図3は、同上の作成支援方法におけるディスプレイの一部の表示例を表す説明図である。 図4は、同上の作成支援方法を実現する作成支援システム及びセンサ装置のブロック図である。 図5は、同上の作成支援方法におけるディスプレイの一部の表示例を表す説明図である。
 以下、実施形態に係る作成支援方法、プログラム及び作成支援システムについて、図面を用いて説明する。ただし、下記の実施形態は、本開示の様々な実施形態の1つに過ぎない。下記の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。
 (概要)
 本実施形態の作成支援方法は、製品検査プログラムの作成支援を行う方法である。より詳細には、作成支援方法は、製品検査プログラムの動作確認(デバッグ)を行うために実行される。製品検査プログラムが実際に製品の検査工程で使用される前に、コンピュータシステム上で、作成支援方法により製品検査プログラムの動作確認がされる。ユーザは、動作確認の結果を参照して、製品検査プログラムの欠陥を修正する。
 本実施形態の作成支援方法は、読込処理と、実行処理と、出力処理と、を有する。
 読込処理では、テスト用データを読み込む。例えば、図1に示すように、テスト用データとしての製品画像Im1を読み込み、コンピュータシステムのディスプレイ(表示部14:図4参照)に表示する。
 実行処理では、テスト用データを入力として製品検査プログラムを実行する。実行処理は、製品検査プログラムを実行途中で停止する停止処理を含む。実行処理は、例えば、図2のフローチャートで示される処理である。詳しくは後述する。
 出力処理では、実行処理の結果を出力する。出力処理は、停止処理により製品検査プログラムの処理が停止している時点での実行処理の結果を出力することを含む。例えば、図3に示すように、製品検査に係る各種の変数の値が、実行処理の結果を表す情報として、コンピュータシステムのディスプレイ(表示部14:図4参照)に表示される。より詳細には、製品検査プログラムの処理が当該プログラムの末尾に到達して処理が停止(終了)したとき、及び、停止処理により処理が停止(中断)したときに、現在の変数の値が表示される。変数は、例えば、製品の形状、特性、状態、及び、良否に関する値である。また、変数は、例えば、製品検査プログラムの条件分岐に係るフラグである。また、例えば、実行処理の過程で加工された製品画像Im1が、実行処理の結果を表す情報として、コンピュータシステムのディスプレイ(表示部14:図4参照)に表示される。
 本実施形態の作成支援方法によれば、製品検査プログラムの適否に関する分析を行いやすくなる。すなわち、製品検査プログラムの停止時に、処理の結果を出力することで、製品検査プログラムの不具合の有無及びその原因を特定しやすくなる。これにより、製品検査プログラムの信頼性を高めることができる。
 また、本実施形態の作成支援方法は、コンピュータシステムの1以上のプロセッサにより実行可能である。すなわち、一態様に係るプログラムは、上記作成支援方法を1以上のプロセッサに実行させるためのプログラムである。上記一態様に係るプログラムは、製品検査プログラムの作成支援を行うプログラムである。
 また、本実施形態の作成支援方法は、作成支援システム1(図4参照)により実行可能である。作成支援システム1は、製品検査プログラムの作成支援を行うシステムである。図1に示すように、作成支援システム1は、読込部111と、実行部112と、出力部113と、を備える。読込部111は、テスト用データを読み込む。実行部112は、テスト用データを入力として製品検査プログラムを実行する。出力部113は、実行部112の処理の結果を出力する。実行部112の処理は、製品検査プログラムを実行途中で停止する停止処理を含む。出力部113の処理は、停止処理により製品検査プログラムの処理が停止している時点での実行部112の処理の結果を出力することを含む。
 (詳細)
 (1)構成
 以下、作成支援システム1の構成についてより詳細に説明する。なお、本実施形態では、製品検査プログラムが検査対象の画像に基づいて検査対象を検査する場合を想定して説明する。検査対象は、工場等の設備で製造される製品である。検査対象の製品は特に限定されないが、図1では、製品画像Im1に写った検査対象の製品は、上から見てU字状の部材である。
 図4に示すように、作成支援システム1は、処理部11と、通信部12と、記憶部13と、表示部14と、を備える。
 作成支援システム1は、1以上のプロセッサ及びメモリを有するコンピュータシステムを含んでいる。コンピュータシステムのメモリに記録されたプログラムを、コンピュータシステムのプロセッサが実行することにより、作成支援システム1の少なくとも一部の機能が実現される。プログラムは、メモリに記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
 本実施形態では、作成支援システム1がパーソナルコンピュータに実装される場合を例に説明する。すなわち、作成支援システム1を実現するためのプログラムが、パーソナルコンピュータに提供され、このプログラムをパーソナルコンピュータのプロセッサが実行する。なお、作成支援システム1は、パーソナルコンピュータに限らず、タブレット端末若しくはスマートフォン等の携帯端末、又は、サーバコンピュータに実装されてもよい。
 また、後述するように、ユーザは、パーソナルコンピュータを操作して、製品検査プログラムを作成する。
 処理部11は、上述の1以上のプロセッサを含む。処理部11は、読込部111と、実行部112と、出力部113と、を有する。なお、これらは、処理部11を構成する1以上のプロセッサによって実現される機能を示しているに過ぎず、必ずしも実体のある構成を示しているわけではない。
 作成支援方法は、複数のモードを切り替えて実行する。本実施形態のように作成支援方法が作成支援システム1により実現される場合には、処理部11の動作モードが、複数のモードの中から切り替わる。複数のモードは、製品検査プログラムをデバッグするデバッグモードと、検査対象を検査するために製品検査プログラムを実行するオペレーションモードと、を含む。
 デバッグモードでは、読込部111は、テスト用データを読み込み、実行部112は、テスト用データを入力として製品検査プログラムを実行する。オペレーションモードでは、読込部111は、検査対象の製品のデータを読み込み、実行部112は、検査対象の製品のデータを入力として製品検査プログラムを実行する。検査対象の製品のデータは、具体的には、後述のセンサ装置2から出力された検査対象の画像の電子データである。この電子データは、通信部12で受信され、読込部111で読み込まれる。
 なお、テスト用データは、作成支援システム1の記憶部13に予め記憶されていてもよいし、フラッシュメモリ等の非一時的通信媒体、又はネットワークを介して作成支援システム1に提供されてもよい。また、センサ装置2から出力されたテスト用の製品の画像の電子データを、テスト用データとしてもよい。
 実行部112により製品検査プログラムが実行され、出力部113は、製品検査プログラムの実行結果を出力する。オペレーションモードでは、実行結果は、製品検査プログラムの終了時の結果となる。デバッグモードでは、実行結果は、製品検査プログラムが実行途中で停止した場合の結果、又は、製品検査プログラムの終了時の結果となる。出力部113は、製品検査に係る各種の変数の値、及び、製品画像Im1を、実行結果を表す情報として出力する。具体的には、出力部113は、実行結果を表示部14に表示させる。
 通信部12は、通信インタフェース装置を含んでいる。通信部12は、通信インタフェース装置を介して、センサ装置2と通信可能である。本開示でいう「通信可能」とは、有線通信又は無線通信の適宜の通信方式により、直接的、又はネットワーク若しくは中継器等を介して間接的に、信号を授受できることを意味する。本実施形態では、通信部12は、ルータR1を介してセンサ装置2と通信する。
 記憶部13は、作成支援システム1で用いられる情報を記憶する。記憶部13は、例えば、作成支援システム1で作成された製品検査プログラムを記憶する。記憶部13は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)又はEEPROM(Electrically Erasable Programmable Read Only Memory)等である。
 表示部14は、作成支援方法に係る表示をする出力インタフェースである。表示部14は、例えば、液晶ディスプレイ、又は有機EL(Electro Luminescence)ディスプレイ等の表示装置である。図1は、表示部14に表示される画像の一例である。表示部14は、製品検査プログラムの実行結果を表示する。また、表示部14は、製品検査プログラムの作成支援方法を実行するためにユーザが行う操作を案内するためのユーザインタフェースを表示する。
 作成支援システム1は、センサ装置2と共に用いられる。センサ装置2は、検査対象に関する物理量を検出するための装置である。本実施形態のセンサ装置2は、検査対象を撮像して、検査対象の画像の電子データを生成する。つまり、本実施形態では、上記物理量は、検査対象の表面の光量に相当する。センサ装置2は、撮像部21と、画像処理部22と、通信部23と、を有する。
 撮像部21は、検査対象を撮像し、検査対象の画像の電子データを生成する。撮像部21は、例えば、CCD(Charge Coupled Devices)イメージセンサ、又はCMOS(Complementary Metal-Oxide Semiconductor)イメージセンサ等の二次元イメージセンサである。
 画像処理部22は、撮像部21で生成された、検査対象の画像の電子データに対して、画像処理を行う。一例として、画像処理部22は、データ形式の変換、及び、データ圧縮等を行う。
 通信部23は、通信インタフェース装置を含んでいる。通信部23は、通信インタフェース装置を介して、作成支援システム1の通信部12と通信可能である。
 (2)画面表示
 以下、図1、図3及び図5についてより詳細に説明する。ユーザは、パーソナルコンピュータに接続したマウスを操作して、図1、図3及び図5に表示される画像の所定の位置にマウスカーソルを合わせてクリック操作等を行うことにより、作成支援システム1に作成支援方法を実行させる。図1に示すように、表示部14に表示される画像は、ウィンドウ3~8を含む。なお、図1、図3及び図5は、作成支援方法を実行するためのユーザインタフェースの一例であって、例えば、各種の釦の配置及び表記されている文字等の態様は、図1、図3及び図5の態様に限定されない。
 まず、図1を参照して説明する。ウィンドウ3は、複数(図1では5つ)のタブ31を含む。ユーザが複数のタブ31のうち所望のタブ31を操作(クリック)して選択することで、対応するリボンが展開される。ユーザが複数のタブ31のうち、「デバッグ」と記載されたタブ31を操作して選択すると、作成支援方法(作成支援方法は、製品検査プログラムのデバッグを含む)を実行するためのインタフェース(複数の釦等)を含むリボンが展開される。複数の釦は、開始/続行釦32、停止釦33、ステップイン釦34、ステップオーバー釦35、ステップアウト釦36、ブレークポイントの設定/解除釦37、及び、全てのブレークポイントの削除釦38を含む。
 ウィンドウ4は、製品検査の設定手順を表す表示ウィンドウ41を含む。例えば、本実施形態では、設定手順は、検査対象の撮像、基準画像の読み込み、検査、総合判定、結果出力、画像出力、という順である。表示ウィンドウ41には、各手順を表す文字列が表示される。
 ウィンドウ5は、製品検査プログラムの編集、及び、ブレークポイントの設定等を行うためのウィンドウである。ウィンドウ5には、製品検査プログラムの少なくとも一部を表すフローチャート51(図1ではフローチャート51A、図5ではフローチャート51B)が表示される。言い換えると、製品検査プログラムは、フローチャート形式で表示される。
 また、ウィンドウ5は、メインタブ52と、複数のブロックタブ(ブロックタブ53、54等)と、を含む。ユーザがメインタブ52を操作(クリック)して選択すると、図1に示すように、フローチャート51としてメインルーチンが表示される。メインルーチンは、複数のブロックを組み合わせて構成されている。特に、図1では、メインルーチンは、複数のブロックに加えて、1以上のチップを組み合わせて構成されている。具体的には、ステップS3、S6がそれぞれチップであり、ステップS1、S2、S4、S5、S7、S8がそれぞれブロックである。また、各ブロックは、複数のチップを含む。後述するように、製品検査プログラムのデバッグの際に、ステップインではチップを単位として処理が行われ、ステップオーバーではブロックを単位として処理が行われる。製品検査プログラムは、1以上のチップと、1以上のブロックと、のうち2つ以上を組み合わせて作成される。製品検査プログラムは、複数のチップを組み合わせて作成されてもよいし、複数のブロックを組み合わせて作成されてもよいし、1以上のチップと、1以上のブロックと、を組み合わせて作成されてもよい。
 フローチャート51において、各チップを表す長方形の中に、チップの内容を説明するコメント及びチップの名称が表記されている。また、フローチャート51において、各ブロックを表す長方形の中に、ブロックの内容を説明するコメント及びブロックの名称が表記されている。
 複数のブロックタブ53、54はそれぞれ、いずれかのブロック(ステップS1、S2、S4、S5、S7又はS8)に対応する。図1では、ブロックタブ53、54以外のブロックタブは省略している。
 ユーザがブロックタブ53を操作(クリック)して選択すると、図5に示すように、対応するブロックの内容を表すフローチャート51Bが表示される。特に、図5のフローチャート51Bは、ステップS1のブロックの内容を表している。図5では、ブロック(ステップS1)は、複数のチップ(ステップS11~S14)を含む。
 また、ウィンドウ5は、編集釦55~57を含む。編集釦55~57は、ユーザが製品検査プログラムを編集するための釦である。
 ウィンドウ6は、製品画像Im1の表示領域を含む。読込部111(図4参照)で読み込まれた製品画像Im1が、ウィンドウ6に表示される。
 ウィンドウ7は、ウィンドウ6に表示された製品画像Im1に関する情報の表示領域を含む。表示領域には、例えば、画像の仕様(モノクロ画像か、カラー画像かの種別、及び、画像サイズ等)、及び、撮像設定等が表示される。
 ウィンドウ8は、複数(図1では3つ)のタブ81~83を含む。
 「ガイドライン」と記載されたタブ81が操作(クリック)して選択されると、ウィンドウ8にはヘルプ情報が表示される。例えば、ウィンドウ5内のフローチャート51のうち特定のステップ(例えば、ステップS1)が選択されている際には、ウィンドウ8には、当該特定のステップの処理の内容を説明する情報が表示される。
 「検査履歴」と記載されたタブ82が操作(クリック)して選択されると、図1に示すように、ウィンドウ8には過去に製品検査プログラムにより検査された製品画像が一覧表示される。図1では、各製品画像には、検査時刻がラベルとして紐付けられて表示されている。ユーザが製品画像を選択すると、選択された製品画像に対応する検査結果が表示される。例えば、製品画像は、ダブルクリックにより選択される。
 「変数」と記載されたタブ83が操作(クリック)して選択されると、図3に示すように、ウィンドウ8には製品検査に係る各種の変数の値が表示される。より詳細には、このときウィンドウ8は、複数(図3では5つ)の釦831と、表示領域832と、を含む。表示領域832には、変数IDと、変数名と、変数についてのコメントと、変数の初期値と、変数の現在の値と、が表示される。複数の釦831は、表示領域832に表示される内容を切り替えるための釦である。複数の釦831のうち、編集釦8310が押されると、表示領域832に表示される内容の編集が可能となる。このとき、変数の現在の値をユーザが入力することで、変数の現在の値を変更することができる。変数の現在の値の変更は、停止処理により製品検査プログラムが停止している際にも行える。つまり、本実施形態の作成支援方法は、変更処理を更に有し、変更処理は、停止処理により製品検査プログラムが停止している際に、製品検査プログラムの処理に関わる変数を変更する処理である。変数の現在の値は、例えば、キー入力により変更される。
 (3)デバッグ
 次に、作成支援方法により製品検査プログラムの動作確認(デバッグ)を行う場合の処理の流れの一例について説明する。
 (3.1)製品検査プログラムの作成
 まず、ユーザは、作成支援システム1が実装されたパーソナルコンピュータを操作して、製品検査プログラムを作成する。作成支援システム1は、プログラムの記述方法についての知識を持たないユーザであっても製品検査プログラムを作成できるように構成されている。より詳細には、ユーザは、予め用意された複数の処理(チップ及びブロック)を組み合わせて、製品検査プログラムを作成する。すなわち、本実施形態の作成支援方法は、予め用意された複数の処理を組み合わせて製品検査プログラムを作成する処理を更に有する。より詳細には、本実施形態の作成支援方法は、予め用意された複数のブロック(及びチップ)を組み合わせて製品検査プログラムを作成する処理を有する。複数のブロックの各々は、チップを複数含み、チップは、ステップインにおける処理の単位である。チップは、1以上のコードからなる。チップを一般的なプログラムコードに置き換えるとすると、チップは1行以上のコードに相当する。チップは、1以上のサブルーチンを含んでいてもよい。例えば、コードが比較的短い処理はチップとして定義されており、コードが比較的長い処理はブロックとして定義されている。
 図1を例に説明すると、ウィンドウ5に表示されたステップS1~S8の各々が、組み合わせ可能な処理(チップ又はブロック)である。ユーザが編集釦55~57を操作(クリック)することで、予め用意された複数の処理(チップ又はブロック)の一覧を表示することができ、一覧の中から処理(チップ又はブロック)を選択し、選択した処理(チップ又はブロック)をウィンドウ5に移動させることで、処理(チップ又はブロック)を製品検査プログラムに組み込むことができる。また、予め用意された複数の処理は、条件分岐処理を含む。図1では、ステップS3が条件に応じてフローを分岐させる処理であり、ステップS6が分岐した複数のフローを合流させる処理である。
 また、ステップS1は、検査対象が写った画像において、検査対象の位置調整をする処理である。図5に示すように、ステップS1は、ステップS11~S14を含む。ステップS11、S12の処理は、所定軸方向における検査対象のエッジの位置を計測する処理である。ステップS13の処理は、検査対象を回転させて位置を補正する処理である。ステップS14は、検査対象の画像に基づいて所定の演算をする処理である。
 以下、予め用意された処理(チップ又はブロック)のその他の例を列挙する。以下の例は、検査対象の画像を加工又は分析する等によって、検査対象の画像に基づいて検査対象を検査する処理の一例であり、従来から周知の技術であるから、詳しい説明は省略する。上記処理は、画像のノイズを除去する処理であってもよい。上記処理は、画像にぼかしを入れる処理であってもよい。上記処理は、画像を2値化する処理であってもよい。上記処理は、画像の特徴部分を強調する処理であってもよい。上記処理は、画像のコントラストを変更する処理であってもよい。上記処理は、画像における検査対象の有無を判定する処理であってもよい。上記処理は、画像における検査対象の個数を求める処理であってもよい。上記処理は、検査対象の位置を求める処理であってもよい。上記処理は、検査対象の寸法を求める処理であってもよい。上記処理は、検査対象の色を判定する処理であってもよい。上記処理は、検査対象の特徴を抽出する処理であってもよい。上記処理は、検査対象の輪郭線を求める処理であってもよい。上記処理は、検査対象をパターンマッチングする処理であってもよい。上記処理は、検査対象の輪郭線をパターンマッチングする処理であってもよい。上記処理は、検査対象の傷、バリ又は欠け等の特徴の有無を判定する処理であってもよい。
 (3.2)製品検査プログラムのテスト
 ユーザは、以上のように製品検査プログラムを作成した後、テスト用データを入力として実行部112(図2参照)に製品検査プログラムを実行させ、デバッグする。これについて、図1、図2を参照して説明する。なお、図2に示すフローチャートは、本開示に係る実行部112による処理の一例を示しているに過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
 まず、テスト用データが読み込まれ、ウィンドウ6に表示される。また、ウィンドウ5には、製品検査プログラムがフローチャート51として表示される。ここで、ユーザは、ウィンドウ3の「デバッグ」と記載されたタブ31の複数の釦等を操作することで、実行部112に製品検査プログラムを実行させる。また、「デバッグ」と記載されたタブ31が操作され、対応するリボンが展開された状態が、上述のデバッグモードに相当する。「検査」と記載されたタブ31が操作され、対応するリボンが展開された状態が、上述のオペレーションモードに相当する。
 (3.2.1)ステップイン
 ステップイン釦34が操作(クリック)されると、ステップインが実行される。ステップインでは、チップを単位として処理が行われる。つまり、作成支援方法における実行処理は、ステップインを含み、ステップインでは、製品検査プログラムの処理を1チップ実行すると製品検査プログラムの実行を停止する。
 ステップイン釦34が操作されると(処理P1:入力=Step Into)、製品検査プログラムにおける次の処理が実行され(処理P2)、その後、製品検査プログラムの実行が停止する(処理P3)。例えば、製品検査プログラムをまだ開始していないときにステップイン釦34が操作されると、ステップS1(ブロック)内の処理であるステップS11(チップ)が実行され、その後、製品検査プログラムの実行が停止する。もう1度ステップイン釦34が操作されると、ステップS12が実行され、その後、製品検査プログラムの実行が停止する。ステップS14が実行された後、ステップイン釦34が操作されると、ステップS2(ブロック)内の最初の処理(チップ)が実行される。
 ステップS8の最後の処理が実行された場合は、これにより処理が製品検査プログラムの末尾に到達するので(処理P4:Yes)、製品検査プログラムの実行が終了する。
 (3.2.2)ステップオーバー
 また、ステップオーバー釦35が操作(クリック)されると、ステップオーバーが実行される。ステップオーバーでは、ブロックを単位として処理が行われる。つまり、作成支援方法における実行処理は、ステップオーバーを含み、製品検査プログラムの次の処理がブロックの冒頭の処理である状態でステップオーバーが実行されると、ブロックを抜けるまで処理を続けて実行し、ブロックは、2単位(つまり、2チップ)以上の処理を含む。
 ステップオーバー釦35が操作されると(処理P1:入力=Step Over)、製品検査プログラムにおける次の処理が、ブロックの冒頭の処理でなければ(処理P5:No)、ステップイン釦34が操作されたときと同様の処理をする。つまり、次のチップの処理を実行する。製品検査プログラムにおける次の処理が、ブロックの冒頭の処理であれば(処理P5:Yes)、ブロックを抜けるまで処理を続けて実行する(処理P6)。例えば、製品検査プログラムを開始する前であれば、次の処理はステップS1(ブロック)の冒頭のステップS11の処理なので、ステップS1に含まれるステップS11~S14が続けて実行され、その後、製品検査プログラムの実行が停止する(処理P3)。もう1度ステップオーバー釦35が操作されると、ステップS2に含まれる処理が全て実行され、その後、製品検査プログラムの実行が停止する。ステップS8が実行された場合は、これにより処理が製品検査プログラムの末尾に到達するので(処理P4:Yes)、製品検査プログラムの実行が終了する。
 (3.2.3)ステップアウト
 また、ステップアウト釦36が操作(クリック)されると、ステップアウトが実行される。ステップアウトでは、ブロックを抜けるまで処理が続けて実行される。つまり、作成支援方法における実行処理は、ブロックの実行中に、ブロックを抜けるまで処理を続けて実行するステップアウトを含み、ブロックは、製品検査プログラムの2単位(つまり、2チップ)以上の処理を含む。
 ステップアウト釦36が操作されると(処理P1:入力=Step Out)、製品検査プログラムにおける直前の処理が、ブロック内の処理でなければ(処理P7:No)、ステップイン釦34が操作されたときと同様の処理をする。つまり、次のチップの処理を実行する。製品検査プログラムにおける直前の処理が、ブロック内の処理であれば(処理P7:Yes)、ブロックを抜けるまで処理を続けて実行する(処理P6)。例えば、直前の処理がステップS1(ブロック)内のステップS11であれば、ステップS1のうちステップS11より後のステップS12~S14が続けて実行され、その後、製品検査プログラムの実行が停止する(処理P3)。ステップS8内でステップアウトが実行された場合は、これにより処理が製品検査プログラムの末尾に到達するので(処理P4:Yes)、製品検査プログラムの実行が終了する。
 (3.2.4)開始/続行
 また、開始/続行釦32が操作(クリック)されると、製品検査プログラムが終了するか、ブレークポイントに到達するまで、処理が続けて実行される。例えば、ブレークポイントが設定されておらず、かつ、製品検査プログラムをまだ開始していないときに開始/続行釦32が操作されると、ステップS1~S3が実行され、ステップS4又はS5が実行され、ステップS6~S8が実行される。また、製品検査プログラムの処理が停止しているときに開始/続行釦32が操作されると、停止位置の後続の処理が続けて実行される。例えば、ステップS6を実行し、ステップS7を実行する前に、処理が停止している場合は、開始/続行釦32が操作されると、ステップS7、S8が実行される。
 (3.2.5)ブレークポイント
 また、製品検査プログラムの非実行時には、ブレークポイントの設定及び解除をすることができる。より詳細には、ブレークポイントの設定/解除釦37が操作(クリック)されると、ブレークポイントの設定/解除が可能なモードに切り替わる。このとき、ウィンドウ5に表示されたブロック又はチップ(ステップS1~S8、S11~S14)の左の空白が操作(クリック)されると、当該ブロック又はチップにブレークポイントが設定される。ブレークポイントが設定されたブロック又はチップには、丸印が付される。例えば、図1では、ステップS5にブレークポイントが設定されたことを表す丸印が、ステップS5の左の空白に表示されている。もう1度同じ操作(クリック)が行われると、当該ブロック又はチップのブレークポイントが解除される。また、全てのブレークポイントの削除釦38が操作(クリック)されると、設定された全てのブレークポイントが解除される。
 ブレークポイントが設定された状態で、開始/続行釦32が操作されると、処理がブレークポイントで停止する。つまり、作成支援方法は、製品検査プログラムにブレークポイントを設定する設定処理を更に有し、実行処理では、製品検査プログラムの処理がブレークポイントまで進行すると、処理を停止する。
 より詳細には、開始/続行釦32が操作されると(処理P1:入力=Start)、チップ単位で次の処理が実行される(処理P8)。この処理の直後にブレークポイントが設定されている場合は(処理P9:Yes)、製品検査プログラムの実行が停止する(処理P3)。そうでない場合は、製品検査プログラムの処理が末尾に到達したか否かを判定する(処理P10)。末尾に到達すると(処理P10:Yes)、製品検査プログラムの実行が終了する。末尾に到達していない場合は(処理P10:No)、更に次の処理が実行される(処理P8)。ブレークポイントに到達するか、処理が製品検査プログラムの末尾に到達するまで、処理が続けて実行される。
 また、ブレークポイントは、メインルーチンのステップS1~S8だけではなく、ブロック内のチップ(例えば、ステップS11~S14)にも設定可能である。
 また、図2では記載を省略するが、ステップアウトにより処理が続けて実行されているときに、処理がブレークポイントまで進行した場合も、製品検査プログラムの実行が停止する。
 (3.2.6)停止
 製品検査プログラムの実行時に、停止釦33が操作(クリック)されると、製品検査プログラムの処理が一時的に停止する。その後、処理を実行するための複数の釦のうちいずれかが操作されると、処理が再開される。処理を実行するための複数の釦は、開始/続行釦32、ステップイン釦34、ステップオーバー釦35、及び、ステップアウト釦36を含む。
 処理の停止時には、停止箇所が強調表示される。例えば、処理の停止時には、次に実行される処理の左の空白に、所定のアイコンが表示される。あるいは、処理の停止時には、次に実行される処理(ステップS1、S11等のうち1つ)を表す長方形に、特定の色が付される。
 (3.2.7)停止時の表示
 製品検査プログラムの処理が当該プログラムの末尾に到達して処理が終了したとき、及び、停止処理により処理が中断したときに、図3に示すように、製品検査に係る各種の変数の値が表示される。“停止処理により処理が中断したとき”とは、例えば、処理がブレークポイントまで進行したとき、ステップインにより1チップの処理が実行されたとき、ステップオーバー又はステップアウトにより1ブロックの処理が実行されたとき、及び、停止釦33が操作されたとき、である。
 変数の値を書き換えることで、変数の値によって分岐する処理(ステップS3)における分岐先を変更することができる。よって、各分岐先のプログラムをデバッグすることができる。
 また、製品検査プログラムは、入力画像としての製品画像Im1を加工する加工処理を含み得る。製品検査プログラムの処理が製品検査プログラムの末尾に到達して処理が終了したとき、及び、停止処理により処理が中断したときに、ウィンドウ6(図1参照)には、その時点での製品画像Im1が表示される。つまり、作成支援方法における実行処理は、検査対象の画像(製品画像Im1)を加工する加工処理を含み得る。出力処理は、停止処理により製品検査プログラムの処理が停止している時点での検査対象の画像を出力することを含み得る。
 以上では、製品検査プログラムの処理が末尾に到達することで製品検査プログラムが終了するとして説明したが、もちろん、末尾よりも前の位置に、製品検査プログラムを終了又は停止させる処理が組み込まれていてもよい。この場合の終了又は停止は、正常終了、異常終了、正常停止又は異常停止であり得るが、製品検査プログラム自体により終了又は停止するものであるため、本開示で言う「停止処理」による停止には該当しない。
 (4)製品検査
 図1のウィンドウ3の「検査」と記載されたタブ31が操作され、対応するリボンが展開されることで、作成支援システム1のモードは、検査対象を検査するために製品検査プログラムを実行するオペレーションモードとなる。「検査」と記載されたタブ31に対応するリボンは、少なくとも、検査を開始するための釦(開始/続行釦32と同様の機能の釦)を有する。また、当該リボンは、好ましくは、検査を停止するための釦(停止釦33と同様の機能の釦)を有する。
 デバッグモードとオペレーションモードとの違いは、次の通りである。すなわち、デバッグモードでは、製品検査プログラムのブレークポイントを有効にする。オペレーションモードでは、製品検査プログラムのブレークポイントを無効にする。つまり、ウィンドウ5で作成された製品検査プログラムがオペレーションモードで使用される際には、ブレークポイントが削除される。
 オペレーションモードでは、センサ装置2(図4参照)の撮像部21で生成された検査対象の画像の電子データ(画像データ)が、センサ装置2から作成支援システム1へ提供される。この画像データを入力として、製品検査プログラムが実行される。
 ところで、オペレーションモードで用いられる製品検査プログラムが、デバッグモードで用いられる製品検査プログラムと完全に一致している必要はない。前者が後者の一部又は全部を含んでいてもよい。例えば、デバッグモードで用いられる製品検査プログラムが、1回分の検査を行うプログラムである場合に、オペレーションモードで用いられる製品検査プログラムは、デバッグモードで用いられる製品検査プログラムを繰り返し実行するプログラムであってもよい。また、オペレーションモードで用いられる製品検査プログラムは、デバッグモードで用いられる製品検査プログラムと、他のプログラムと、の組み合わせであってもよい。
 (利点)
 以上説明した作成支援方法、プログラム及び作成支援システム1によれば、製品検査プログラムの停止時に、処理の結果としての変数及び画像等を出力することで、製品検査プログラムの不具合の有無及びその原因を特定しやすくなる。これにより、製品検査プログラムの信頼性を高めることができる。
 また、製品検査プログラムにおいて処理が異常であると判定されたか否かに拘わらず、処理を停止させることができる。これにより、製品検査プログラムの不具合の有無及びその原因を更に特定しやすくなる。
 また、製品検査プログラムは、ユーザによりブロック(及びチップ)を組み合わせて作成される。ブロックは、複数のチップを含む。チップ及びブロックはそれぞれ、予め規定された処理である。製品検査プログラムのデバッグ時には、チップ又はブロックを単位として処理が実行される。そのため、一般的なプログラムコードをデバッグする場合のようにプログラムコードを1行ずつ実行する場合と比較して、プログラミングに詳しくないユーザであっても容易にデバッグを行うことができる。
 (実施形態の変形例)
 以下、実施形態の変形例を列挙する。以下の変形例は、適宜組み合わせて実現されてもよい。
 実施形態では、作成支援方法を実現するためにユーザが行う操作の具体例として、クリック操作等を挙げたが、操作は、クリック操作に限定されず、例えば、ダブルクリック操作、又は、ドラッグ操作等であってもよい。また、操作は、マウスを使った操作に限定されず、例えば、タッチパネルに対するタッチ操作等であってもよい。
 実施形態では、チップは、製品検査プログラムの処理の最小単位である。これに対して、チップよりも小さい処理が存在してもよい。また、実行処理は、チップよりも小さい上記処理を1つ実行すると製品検査プログラムの実行を停止することを含んでいてもよい。
 出力処理は、実行処理の結果を表示部14に視覚的に表示する処理に限定されない。出力処理は、実行処理の結果を音声として出力する処理であってもよい。あるいは、出力処理は、実行処理の結果を電子データとして、記録媒体又は作成支援システム1の外部の装置へ転送する処理であってもよい。
 オペレーションモードにおいて製品検査プログラムのブレークポイントを無効にする、とは、ブレークポイントを削除することに限定されない。ブレークポイントを削除することに代えて、処理がブレークポイントまで進行しても処理を停止しないようにしてもよい。
 製品検査プログラムは、検査対象の画像に基づいて検査対象を検査するプログラムに限定されない。製品検査プログラムは、例えば、検査対象に関する物理量を検出する、測位センサ、超音波センサ又は温度センサ等を備えるセンサ装置の検出結果に基づいて、検査対象を検査するプログラムであってもよい。
 実施形態では、テスト用データが入力された後、製品検査プログラムのデバッグは、コンピュータシステム上で完結する。ただし、製品検査プログラムのデバッグは、コンピュータシステム上で完結していなくてもよい。例えば、製品検査プログラムのデバッグは、コンピュータシステムの外部から更に取得した情報を用いてなされてもよい。例えば、環境状態を検出するセンサ装置の検出結果を更に用いて製品検査プログラムのデバッグがなされてもよい。また、デバッグの過程で製品検査プログラムが実行されることにより、コンピュータシステムの外部の装置が制御されてもよい。さらに、上記装置の動作状態に関するデータを更に用いて製品検査プログラムのデバッグがなされてもよい。これとは反対に、上記装置の動作状態に関するデータ等を既定のデータに置き換えることで、製品検査プログラムのデバッグがコンピュータシステム上で完結するようにしてもよい。
 本開示における作成支援システム1は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示における作成支援システム1としての機能の少なくとも一部が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1ないし複数の電子回路で構成される。ここでいうIC又はLSI等の集積回路は、集積の度合いによって呼び方が異なっており、システムLSI、VLSI(Very Large Scale Integration)、又はULSI(Ultra Large Scale Integration)と呼ばれる集積回路を含む。さらに、LSIの製造後にプログラムされる、FPGA(Field-Programmable Gate Array)、又はLSI内部の接合関係の再構成若しくはLSI内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、1以上のプロセッサ及び1以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む1ないし複数の電子回路で構成される。
 また、作成支援システム1における複数の機能が、1つの装置に集約されていることは作成支援システム1に必須の構成ではなく、作成支援システム1の構成要素は、複数の装置に分散して設けられていてもよい。さらに、作成支援システム1の少なくとも一部の機能、例えば、実行部112の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
 反対に、実施形態において、複数の装置に分散されている複数の機能が、1つの装置に集約されていてもよい。例えば、作成支援システム1とセンサ装置2とに分散されている複数の機能が、1つの装置に集約されていてもよい。
 (まとめ)
 以上説明した実施形態等から、以下の態様が開示されている。
 第1の態様に係る作成支援方法は、製品検査プログラムの作成支援を行う、作成支援方法である。作成支援方法は、読込処理と、実行処理と、出力処理と、を有する。読込処理では、テスト用データを読み込む。実行処理では、テスト用データを入力として製品検査プログラムを実行する。出力処理では、実行処理の結果を出力する。実行処理は、製品検査プログラムを実行途中で停止する停止処理を含む。出力処理は、停止処理により製品検査プログラムの処理が停止している時点での実行処理の結果を出力することを含む。
 上記の構成によれば、製品検査プログラムの適否に関する分析を行いやすくなる。すなわち、製品検査プログラムの停止時に、処理の結果を出力することで、製品検査プログラムの不具合の有無及びその原因を特定しやすくなる。これにより、製品検査プログラムの信頼性を高めることができる。
 また、第2の態様に係る作成支援方法では、第1の態様において、実行処理は、ステップインを含む。ステップインでは、製品検査プログラムの処理を処理の単位である1チップ実行すると製品検査プログラムの実行を停止する。
 上記の構成によれば、処理を1チップずつ実行できる。
 また、第3の態様に係る作成支援方法は、第2の態様において、1以上のチップと、1以上のブロックと、のうち2つ以上を組み合わせて製品検査プログラムを作成する処理を更に有する。ブロックは、チップを複数含む。チップは、ステップインにおける処理の単位である。
 上記の構成によれば、製品検査プログラムを簡単に作成し、かつ、このように作成された製品検査プログラムの信頼性を高めることができる。また、ステップインでは、チップを単位として処理が実行される。そのため、プログラミングに詳しくないユーザであっても容易にデバッグを行うことができる。
 また、第4の態様に係る作成支援方法では、第1~3の態様のいずれか1つにおいて、実行処理は、ステップオーバーを含む。製品検査プログラムの次の処理がブロックの冒頭の処理である状態でステップオーバーが実行されると、ブロックを抜けるまで処理を続けて実行する。ブロックは、2単位以上の処理を含む。
 上記の構成によれば、ブロックの処理を一括して実行できる。
 また、第5の態様に係る作成支援方法では、第1~4の態様のいずれか1つにおいて、実行処理は、ステップアウトを含む。ステップアウトは、ブロックの実行中に、ブロックを抜けるまで処理を続けて実行する。ブロックは、製品検査プログラムの2単位以上の処理を含む。
 上記の構成によれば、ブロックの処理を一括して実行できる。
 また、第6の態様に係る作成支援方法は、第1~5の態様のいずれか1つにおいて、設定処理を更に有する。設定処理では、製品検査プログラムにブレークポイントを設定する。実行処理では、製品検査プログラムの処理がブレークポイントまで進行すると、処理を停止する。
 上記の構成によれば、ブレークポイントまで、処理を一括して実行できる。
 また、第7の態様に係る作成支援方法では、第6の態様において、デバッグモードと、オペレーションモードと、を含む複数のモードを切り替えて実行する。デバッグモードでは、製品検査プログラムをデバッグする。オペレーションモードでは、検査対象を検査するために製品検査プログラムを実行する。デバッグモードでは、製品検査プログラムのブレークポイントを有効にする。オペレーションモードでは、製品検査プログラムのブレークポイントを無効にする。
 上記の構成によれば、製品検査プログラムのデバッグと実際の検査での運用との両方を行うことができる。
 また、第8の態様に係る作成支援方法は、第1~7の態様のいずれか1つにおいて、変更処理を更に有する。変更処理は、停止処理により製品検査プログラムが停止している際に、製品検査プログラムの処理に関わる変数を変更する処理である。
 上記の構成によれば、製品の状態(不具合の有無等)を疑似的に再現して、製品検査プログラムのデバッグを行うことができる。
 また、第9の態様に係る作成支援方法では、第1~8の態様のいずれか1つにおいて、製品検査プログラムは、検査対象の画像に基づいて検査対象を検査する。
 上記の構成によれば、画像に基づいた検査の信頼性を高めることができる。
 また、第10の態様に係る作成支援方法では、第9の態様において、実行処理は、加工処理を含む。加工処理は、検査対象の画像を加工する処理である。出力処理は、停止処理により製品検査プログラムの処理が停止している時点での検査対象の画像を出力することを含む。
 上記の構成によれば、加工処理で加工された画像、又は、加工されている途中の画像を出力することができる。
 また、第11の態様に係る作成支援方法では、第1~10の態様のいずれか1つにおいて、予め用意された複数の処理を組み合わせて製品検査プログラムを作成する処理を更に有する。
 上記の構成によれば、製品検査プログラムを簡単に作成し、かつ、このように作成された製品検査プログラムの信頼性を高めることができる。
 第1の態様以外の構成については、作成支援方法に必須の構成ではなく、適宜省略可能である。
 また、第12の態様に係るプログラムは、第1~11の態様のいずれか1つに係る作成支援方法を、1以上のプロセッサに実行させるためのプログラムである。
 上記の構成によれば、製品検査プログラムの信頼性を高めることができる。
 また、第13の態様に係る作成支援システム(1)は、製品検査プログラムの作成支援を行う、作成支援システムである。作成支援システム(1)は、読込部(111)と、実行部(112)と、出力部(113)と、を備える。読込部(111)は、テスト用データを読み込む。実行部(112)は、テスト用データを入力として製品検査プログラムを実行する。出力部(113)は、実行部(112)の処理の結果を出力する。実行部(112)の処理は、製品検査プログラムを実行途中で停止する停止処理を含む。出力部(113)の処理は、停止処理により製品検査プログラムの処理が停止している時点での実行部(112)の処理の結果を出力することを含む。
 上記の構成によれば、製品検査プログラムの信頼性を高めることができる。
 上記態様に限らず、実施形態に係る作成支援システム(1)の種々の構成(変形例を含む)は、作成支援方法、(コンピュータ)プログラム、又はプログラムを記録した非一時的記録媒体にて具現化可能である。
1 作成支援システム
111 読込部
112 実行部
113 出力部

Claims (13)

  1.  製品検査プログラムの作成支援を行う、作成支援方法であって、
     テスト用データを読み込む読込処理と、
     前記テスト用データを入力として前記製品検査プログラムを実行する実行処理と、
     前記実行処理の結果を出力する出力処理と、を有し、
     前記実行処理は、前記製品検査プログラムを実行途中で停止する停止処理を含み、
     前記出力処理は、前記停止処理により前記製品検査プログラムの処理が停止している時点での前記実行処理の結果を出力することを含む、
     作成支援方法。
  2.  前記実行処理は、前記製品検査プログラムの処理を処理の単位である1チップ実行すると前記製品検査プログラムの実行を停止するステップインを含む、
     請求項1に記載の作成支援方法。
  3.  1以上のチップと、1以上のブロックと、のうち2つ以上を組み合わせて前記製品検査プログラムを作成する処理を更に有し、
     前記ブロックは、前記チップを複数含み、
     前記チップは、前記ステップインにおける処理の単位である、
     請求項2に記載の作成支援方法。
  4.  前記実行処理は、ステップオーバーを含み、前記製品検査プログラムの次の処理が2単位以上の処理を含むブロックの冒頭の処理である状態で前記ステップオーバーが実行されると、前記ブロックを抜けるまで処理を続けて実行する、
     請求項1~3のいずれか一項に記載の作成支援方法。
  5.  前記実行処理は、前記製品検査プログラムの2単位以上の処理を含むブロックの実行中に、前記ブロックを抜けるまで処理を続けて実行するステップアウトを含む、
     請求項1~4のいずれか一項に記載の作成支援方法。
  6.  前記製品検査プログラムにブレークポイントを設定する設定処理を更に有し、
     前記実行処理では、前記製品検査プログラムの処理が前記ブレークポイントまで進行すると、処理を停止する、
     請求項1~5のいずれか一項に記載の作成支援方法。
  7.  前記製品検査プログラムをデバッグするデバッグモードと、検査対象を検査するために前記製品検査プログラムを実行するオペレーションモードと、を含む複数のモードを切り替えて実行し、
     前記デバッグモードでは、前記製品検査プログラムの前記ブレークポイントを有効にし、
     前記オペレーションモードでは、前記製品検査プログラムの前記ブレークポイントを無効にする、
     請求項6に記載の作成支援方法。
  8.  前記停止処理により前記製品検査プログラムが停止している際に、前記製品検査プログラムの処理に関わる変数を変更する変更処理を更に有する、
     請求項1~7のいずれか一項に記載の作成支援方法。
  9.  前記製品検査プログラムは、検査対象の画像に基づいて前記検査対象を検査する、
     請求項1~8のいずれか一項に記載の作成支援方法。
  10.  前記実行処理は、前記検査対象の前記画像を加工する加工処理を含み、
     前記出力処理は、前記停止処理により前記製品検査プログラムの処理が停止している時点での前記検査対象の前記画像を出力することを含む、
     請求項9に記載の作成支援方法。
  11.  予め用意された複数の処理を組み合わせて前記製品検査プログラムを作成する処理を更に有する、
     請求項1~10のいずれか一項に記載の作成支援方法。
  12.  請求項1~11のいずれか一項に記載の作成支援方法を、1以上のプロセッサに実行させるための、
     プログラム。
  13.  製品検査プログラムの作成支援を行う、作成支援システムであって、
     テスト用データを読み込む読込部と、
     前記テスト用データを入力として前記製品検査プログラムを実行する実行部と、
     前記実行部の処理の結果を出力する出力部と、を備え、
     前記実行部の処理は、前記製品検査プログラムを実行途中で停止する停止処理を含み、
     前記出力部の処理は、前記停止処理により前記製品検査プログラムの処理が停止している時点での前記実行部の処理の結果を出力することを含む、
     作成支援システム。
PCT/JP2022/025786 2021-09-28 2022-06-28 作成支援方法、プログラム及び作成支援システム WO2023053641A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020247002459A KR20240023169A (ko) 2021-09-28 2022-06-28 작성 지원 방법, 프로그램 및 작성 지원 시스템
CN202280045336.2A CN117561503A (zh) 2021-09-28 2022-06-28 创建辅助方法、程序以及创建辅助系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-158183 2021-09-28
JP2021158183A JP2023048715A (ja) 2021-09-28 2021-09-28 作成支援方法、プログラム及び作成支援システム

Publications (1)

Publication Number Publication Date
WO2023053641A1 true WO2023053641A1 (ja) 2023-04-06

Family

ID=85780101

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/025786 WO2023053641A1 (ja) 2021-09-28 2022-06-28 作成支援方法、プログラム及び作成支援システム

Country Status (4)

Country Link
JP (1) JP2023048715A (ja)
KR (1) KR20240023169A (ja)
CN (1) CN117561503A (ja)
WO (1) WO2023053641A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011342A (ja) * 2003-06-20 2005-01-13 Microsoft Corp プラグ可能構成要素におけるブレークポイントのデバッグ
JP2017138901A (ja) * 2016-02-05 2017-08-10 パナソニック デバイスSunx株式会社 検査支援装置、検査支援方法及び検査支援プログラム
US20200250073A1 (en) * 2016-11-02 2020-08-06 Servicenow, Inc. Debug session management

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4784269B2 (ja) 2005-11-04 2011-10-05 オムロン株式会社 画像処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011342A (ja) * 2003-06-20 2005-01-13 Microsoft Corp プラグ可能構成要素におけるブレークポイントのデバッグ
JP2017138901A (ja) * 2016-02-05 2017-08-10 パナソニック デバイスSunx株式会社 検査支援装置、検査支援方法及び検査支援プログラム
US20200250073A1 (en) * 2016-11-02 2020-08-06 Servicenow, Inc. Debug session management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"AIX 5L Version 5.2 General Programming Concepts: Writing and debugging programs, 1st edition", 2002, pages: 71 - 72 *

Also Published As

Publication number Publication date
CN117561503A (zh) 2024-02-13
KR20240023169A (ko) 2024-02-20
JP2023048715A (ja) 2023-04-07

Similar Documents

Publication Publication Date Title
US6920612B2 (en) Systems and methods for providing dedicated help services in a graphical user interface-based computer application
US20060085132A1 (en) Method and system to reduce false positives within an automated software-testing environment
US8797338B2 (en) Platform agnostic screen capture tool
JP5415182B2 (ja) 画像処理装置及びプログラム作成支援装置並びに画像処理方法
US8291388B2 (en) System, method and program for executing a debugger
US8131059B2 (en) Defect inspection device and defect inspection method for inspecting whether a product has defects
JP5074896B2 (ja) 検査支援システム及び画像処理コントローラ
JP2023515520A (ja) ユーザ入力に基づいて生成された人工知能モデルを使用し、仮想欠陥画像を生成するためのコンピュータプログラム、方法、及び装置
CN111881054B (zh) 用户界面自动化测试方法、系统、设备及存储介质
JP4731335B2 (ja) 組立性評価方法、そのシステム及びプログラム
JP4668059B2 (ja) 目視検査支援装置、目視検査支援プログラムおよびそのプログラムを記録した記録媒体
CN105224465B (zh) 网页调试方法及装置
CN110673842A (zh) 一种可视化编程方法及系统、存储介质、设备
JP2007178129A5 (ja)
WO2023053641A1 (ja) 作成支援方法、プログラム及び作成支援システム
JP2017138901A (ja) 検査支援装置、検査支援方法及び検査支援プログラム
JP4929133B2 (ja) 検査支援システム
JP4767309B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP5811859B2 (ja) ソースコードの静的解析装置、システム、方法、及びそのためのプログラム
JP2010039901A (ja) 動作検証装置および動作検証プログラム
JP2005069859A (ja) 検査装置及び波形表示装置
JP2000338052A (ja) 欠陥表示装置および検査装置
US11995146B1 (en) System and method for displaying real-time code of embedded code in a browser-window of a software application
WO2024062798A1 (ja) ウェブサイトを検査するためのシステム、方法、及びプログラム
JP7479188B2 (ja) デバッグ支援装置、デバッグ支援方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22875520

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280045336.2

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 20247002459

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020247002459

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE