Program generation device and program generation method
The program generation device addresses the challenges of generating return programs for production devices by determining displacement states and creating a state transition diagram to ensure comprehensive and efficient recovery from abnormal stops.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2026-03-31
AI Technical Summary
Existing methods for generating return programs to restart production devices after abnormal stops are inadequate due to variations in actual operation timing, irreversible operations, and the need for customized recovery programs based on the cause of stoppage, leading to redundancy and memory strain.
A program generation device that determines the displacement state of controlled objects, generates a state transition diagram, and creates a return program based on this diagram to ensure comprehensive and less redundant recovery.
The device generates a recovery program that effectively covers operating patterns, reducing redundancy and memory strain, while accommodating various causes of stoppages and irreversible operations.
Smart Images

Figure 2026055299000001_ABST
Abstract
Description
Technical Field
[0004] ,
[0006] , ,
[0005] , ,
[0001] The present disclosure relates to a program generation device, and more particularly to a program generation device that generates a return program for returning a production device to a state where it can be restarted when the production device stops abnormally.
Background Art
[0002] When an abnormal stop occurs during the operation of a production device, it is necessary to discharge semi-finished products and parts and return the drive unit to its initial position to return the production device to a state where it can be restarted. As a method of creating a return program for operating the production device in a state where it can be restarted, for example, as disclosed in Patent Document 1, based on a timing chart that describes the operation pattern of the normal operation of the production device, a method of generating a return program that operates the drive unit in reverse order from the stopped state is known.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the method of operating the drive unit in reverse order based on a timing chart to return it, it may be difficult to generate an appropriate return program.
[0005] That is, the state of the stopped production device may be different from any state represented on the timing chart. The timing chart describes an example of the operation, and it may be different from the operation timing during operation. For example, the execution timing of the program, the input timing of the sensor, the operation speed of the drive unit, and the operation start timing when actually operating the production device may be different from the settings when describing the timing chart.
[0006] Therefore, even if the overall operation of the production equipment is the same, situations where each process is not synchronized may occur that are not represented on the timing chart. Furthermore, it is difficult to pre-describe timing charts for all possible patterns, anticipating that the actual operation and the timing chart may differ.
[0007] Furthermore, if the cause of the stop differs, it may be desirable to execute different recovery programs even if the state on the timing chart is the same. In other words, there are also abnormal stops that occur due to factors unrelated to the operation of the production equipment, such as error detection due to timeouts in the normal operation program, work supply errors, work gripping errors, and external stop signals, and the causes of production equipment stoppage are diverse. For example, if the machine stops due to a stop command from an operator and if it stops due to a work gripping error such as dropping a workpiece, even if the state on the timing chart is the same, the former will be in a state where the workpiece is being gripped, while the latter will be in a state where the workpiece is not being gripped, and therefore the recovery programs will be different. In this way, the recovery program differs depending on the cause of the stoppage, so it is necessary to judge the stopped state not only from the operation of the production equipment represented on the timing chart, but also from other factors.
[0008] Furthermore, some production equipment involves irreversible operations. For example, operations that use gravity to move parts and sheet-like part feeding may not be reversible. These operations cannot be performed in reverse order.
[0009] Furthermore, even if a recovery program can be generated, there is the challenge of the recovery program becoming bloated. In production equipment that performs multiple processes and production equipment that can handle multiple types of products, the number of timing charts increases. In proportion to this, the recovery program becomes more redundant and bloated. This leads to challenges such as straining the memory capacity of the controller that controls the production equipment and increasing the effort required to test the recovery program. In addition, if the control program is changed during adjustment work and the timing chart is updated, all of the recovery program related to the updated parts must be changed, which also presents the challenge of a large amount of modification work.
[0010] The purpose of this disclosure is to provide a program generation device that can generate a comprehensive and less redundant recovery program for restarting a production device in the event of an abnormal shutdown during its operation. [Means for solving the problem]
[0011] The program generation device according to this disclosure is a program generation device for generating a return program for a production device, and comprises: a displacement state determination unit that determines a displacement state which is the state of the controlled object; a displacement state definition unit that defines the displacement state for each process and sets a return operation corresponding to the displacement state in each process; a state transition diagram generation unit that generates a state transition diagram composed of the displacement states with respect to the return operation; and a return program generation unit that generates the return program based on the state transition diagram. [Effects of the Invention]
[0012] The program generation device described herein can generate a recovery program with minimal redundancy that covers the operating patterns of the production equipment. [Brief explanation of the drawing]
[0013] [Figure 1] This is a functional block diagram showing the configuration of the program generation device according to Embodiment 1. [Figure 2]It is a flowchart representing the normal operation of the production device. [Figure 3] It is a state transition diagram representing the design information of the return program. [Figure 4] It is a state transition diagram representing the design information of the return program. [Figure 5] It is a state transition diagram representing the design information of the return program. [Figure 6] It is a diagram explaining the state transition of hierarchical part movement. [Figure 7] It is a diagram explaining the state transition of hierarchical tool change. [Figure 8] It is a diagram explaining the state transition of hierarchical drive unit movement. [Figure 9] It is a diagram explaining a modification example of Embodiment 1. [Figure 10] It is a diagram explaining a modification example of Embodiment 1. [Figure 11] It is a diagram explaining a modification example of Embodiment 1. [Figure 12] It is a diagram explaining a modification example of Embodiment 1. [Figure 13] It is a diagram explaining the state transition of hierarchical part movement. [Figure 14] It is a functional block diagram showing the configuration of the program generation device of Embodiment 2. [Figure 15] It is a state transition diagram when divided into units. [Figure 16] It is a state transition diagram when divided into units. [Figure 17] It is a state transition diagram when divided into units. [Figure 18] It is a state transition diagram when divided into units. [Figure 19] It is a state transition diagram when divided into units. [Figure 20] It is a state transition diagram when divided into units. [Figure 21] It is a functional block diagram showing the configuration of the program generation device of Embodiment 3. [Figure 22]This is a functional block diagram showing the configuration of the program generation device according to Embodiment 4. [Figure 23] This is the timing chart used in Embodiment 4. [Figure 24] This figure shows the hardware configuration for realizing the program generation device of Embodiments 1 to 4 according to this disclosure. [Figure 25] This figure shows the hardware configuration for realizing the program generation device of Embodiments 1 to 4 according to this disclosure. [Modes for carrying out the invention]
[0014] <Embodiment 1> For the sake of ease of understanding, the following explanation will primarily focus on production equipment for products manufactured by combining multiple components, such as electrical and electronic product manufacturing equipment. In the following, the controlled objects refer to the various devices that make up the production equipment, including controllers that process control programs, dedicated controllers responsible for specific control functions, actuators connected to the controllers to realize various operations, and sensors that sense within the production equipment. Here, these operations include gripping, transporting, and assembling parts. A dedicated controller is a controller that performs advanced computational processing, such as that used for vision sensors.
[0015] Production equipment may malfunction due to various factors. These factors include failures during parts supply due to defective parts, problems with part gripping and transport, assembly failures, and stop signal input from external devices. Detection methods include detection based on sensor input information at specific timings during operation and confirmation of responses to specific controls.
[0016] For example, detection based on sensor input information may involve checking whether a part is present at the supply location using a load sensor before performing a part-grabbing operation, or checking the limit switch of the gripping hand after the part-grabbing operation to confirm the gripping state.
[0017] Furthermore, response confirmation includes checking the response from the drive control controller after the operation command is sent to the drive unit, as well as checking the timer and limit switches.
[0018] An abnormal stop is a state in which the production equipment requires an operator to take action and the system can be restored by the control program. Normal operation is not included in abnormal stops when automated production continues, such as when defective products are automatically removed during the inspection process or when an error recovery operation is performed automatically in the event of a failure. Furthermore, recovery operations requiring repair work by maintenance personnel, such as machine damage, are not included in the definition of abnormal stops as they cannot be restored by the control program.
[0019] <Restoration work> Let me explain the recovery procedure. The recovery procedure is the process of returning a production machine that has stopped abnormally to a state where it can be restarted. First, a worker call is made to request a task from an employee, and the task request is displayed.
[0020] If the workers are required to remove parts and semi-finished products from the production equipment, the workers will carry out the removal work.
[0021] Afterward, the worker activates a recovery program to return the production equipment to a restartable state, moving each drive unit to its home position. Here, the home position refers to the initial position where each drive unit is pre-set to begin normal operation. Then, the worker restarts the normal operation program.
[0022] <Recovery Program> The recovery program for production equipment is more complex than the normal operation program. The normal operation program for automated product production can be designed according to the product assembly sequence, and can therefore be divided into multiple processes according to the product assembly status.
[0023] Each process can begin once it has been confirmed, via internal signals and sensor input information, that it is ready to be executed. Furthermore, the content of each process makes it easy to visualize the specific operations on the product and its components, and the mechanical movements required to achieve those operations can be designed accordingly.
[0024] Thus, a normal operation program is easy to design because its start and movement are easy to visualize. On the other hand, in production equipment with multiple processes, it becomes difficult to grasp the movement of the entire device.
[0025] In production equipment with multiple processes, the mechanical elements of each process are designed to start working when the start conditions for that process are met, in order to accommodate variations in operating timing and shorten the cycle time.
[0026] Therefore, the entire production system does not simply repeat the same operation; the timing between mechanical elements is often asynchronous. As a result, the overall operating state of the system becomes very large, making it difficult to create procedures and recovery programs to return to any given state.
[0027] The challenge in creating a recovery program lies in ensuring comprehensiveness. In a normal operation program, the conditions for starting each process are clearly defined, and testing can be performed and verified from a state where the conditions for starting the operation are met.
[0028] On the other hand, the recovery program needs to restore the production equipment from any stopped state, but the conditions under which the recovery program is invoked vary depending on the cause and timing of the stoppage. As a result, oversights can occur during the design of the recovery program, and also during testing when the production equipment is started up. If a defect in the recovery program occurs after production activities have started, it can lead to production stoppages and significant losses, making it a critical issue.
[0029] This disclosure describes how to generate a recovery program from a flowchart representing the normal operation of a production device, which is control design information describing the sequence of signal processing in the normal system. The recovery program is designed comprehensively based on the flowchart, and validation is simultaneously achieved. The details of this disclosure will be explained below in accordance with the procedure for generating the recovery program.
[0030] <Device configuration> Figure 1 is a functional block diagram showing the configuration of the program generation device 100 according to Embodiment 1 of the present disclosure. The program generation device 100 includes an input unit 1, an operation start state specification unit 2, a displacement state determination unit 3, a displacement state definition unit 4, a displacement state confirmation unit 5, a state transition diagram generation unit 6, and a return program generation unit 7.
[0031] <Input section> Input unit 1 is an input interface for inputting data to the program generation device 100 from an external source. For example, it can input pre-prepared data or input operations from an operator operating the program generation device 100 as data.
[0032] First, production equipment information for the production equipment from which the recovery program is to be generated is input via input unit 1. The production equipment information includes a normal system flowchart describing the normal operation of the production program and configuration information of the production equipment.
[0033] Figure 2 is a flowchart representing the normal operation of the production equipment. As shown in Figure 2, the normal operation flowchart consists of eight steps: assembly input operation start (step S1), operation command 1 ON (step S2), operation start 1 confirmation (step S3), operation completion 1 confirmation (step S4), part 1 input confirmation (step S5), operation command 2 ON (step S6), operation start 2 confirmation (step S7), and operation completion 2 confirmation (step S8).
[0034] Step S1 is the start step of the assembly and input operation, and includes processing to change execution state management variables, etc., as needed.
[0035] Steps S2 and S6 are steps that output operation command 1 and operation command 2, respectively, and output operation commands associated with the command numbers to the drive unit.
[0036] Steps S3 and S7 are steps to confirm whether the drive unit has started operating in response to the outputs of operation command 1 and operation command 2 in steps S2 and S6, respectively. Steps S4 and S8 are steps to confirm whether the drive unit has completed the operation command. Step S5 is a step to confirm that component 1 has been inserted in response to operation command 1 in step S2.
[0037] Command output and confirmation are achieved through internal signals from the controller that controls the production equipment, input and output of command signals to equipment and drive units attached to the production equipment, and input signals from sensors.
[0038] The configuration information of the production equipment includes information necessary for generating a recovery program, such as origin information, movement constraint information, drive unit command signal information, and sensor signal information.
[0039] Origin information represents the origin position of each drive unit in the production equipment, that is, the origin position in which the system can begin normal operation. Movement constraint information is constraint information for when the drive units operate; for example, drive unit 1 cannot move if drive unit 2 is located anywhere other than the origin.
[0040] Drive unit command signal information is information that links the command signals of the control program with the movement commands of the drive unit. It is information that indicates which drive unit the commands and input / output signals described in the control program or flowchart correspond to, and what kind of operation commands, operation confirmation, and operation completion signals they are.
[0041] Sensor signal information is information that links input / output signals described in the control program or flowchart with external devices such as sensors within the production equipment.
[0042] In addition, the input unit 1 is called as needed when each processing unit of the program generation device 100 requests data input from the operator. The data to be input can be data that has been stored in advance in a database or the like, or it can be entered by the operator on the spot.
[0043] <Operation Start Status Designation Section> The operation start state designation unit 2 specifies the position where production activity should begin in the flowchart shown in Figure 2, which represents the normal operation of the system. Production equipment may require initialization operations to begin production activity after power-on. Therefore, the starting position of the control program is not necessarily the position where production activity should begin. The operation start state designation unit 2 obtains data indicating a pre-set operation start state position via the input unit 1, either from a database or through operator input. It then specifies the position on the flowchart where production activity should begin.
[0044] <Displacement State Determination Unit> The displacement state determination unit 3 determines the displacement state at each position on the flowchart in Figure 2. As shown in Figure 1, the displacement state determination unit 3 is composed of multiple processing units. Here, the positions on the flowchart are, for example, each step in Figure 2.
[0045] Before explaining each processing unit of the displacement state determination unit 3, we will explain the displacement state. The displacement state is the state of the controlled object and constitutes a state transition diagram that represents the design information of the recovery program. It includes information on the part that has changed from the state in which the normal operation program can be started, and information on the recovery operation to return the changed part to the origin, and summarizes the information that has moved from the origin. Details will be explained later in the displacement state definition unit 4. Defining the displacement state makes it easier to design the recovery program.
[0046] The displacement state determination unit 3 includes a displacement state undetermined position extraction unit 31, a displacement state aggregation unit 32, and a displacement state changing unit 33.
[0047] The Displacement State Undetermined Position Extraction Unit 31 is a processing unit that extracts positions with an undetermined displacement state on the flowchart in Figure 2. That is, it extracts positions with an undetermined displacement state from among the positions on the flowchart connected to the position where the production activity specified by the Operation Start State Designation Unit 2 starts (for example, step S1).
[0048] One extraction method is to sequentially extract each position on the flowchart connected from the position where production activity begins (step S1). When branches and jumps occur, each branch and jump destination is extracted as a position with an undetermined displacement state.
[0049] To extract positions where the displacement state is undetermined from the position where production activity begins, positions that are transitioned to the production activity start position but are not traversed after production activity begins are not extracted by this processing unit.
[0050] When the Displacement State Undetermined Position Extraction Unit 31 extracts a position with an undetermined displacement state, the Displacement State Aggregation Unit 32 is called. However, even if the position of the branch connection destination and the jump destination already has a defined displacement state, the Displacement State Aggregation Unit 32 is called when evaluating the transition for the first time from the position before the transition.
[0051] The displacement state aggregation unit 32 is a processing unit that aggregates the displacement state of the position before the transition for the position extracted by the position extraction unit 31. If there is only one position to transition to the position extracted by the position extraction unit 31, it simply copies the displacement state of the position before the transition. If the transition occurs from multiple positions, such as through branching and jumping, it aggregates the displacement states of the positions to which the transition occurs.
[0052] As will be described later, each position can have multiple displacement states. The position where production activity begins does not have a displacement state, so the position to which it transitions will also not have a displacement state after aggregation by the displacement state aggregation unit 32, unless there is a transition from another position. After aggregating the displacement states, the displacement state aggregation unit 32 calls the displacement state changing unit 33.
[0053] The displacement state change unit 33 is a processing unit that changes the displacement state based on control commands at the positions extracted by the position extraction unit 31 with an undetermined displacement state, as shown in the flowchart of Figure 2. If the displacement state after the change is not defined, the displacement state definition unit 4 is called and the displacement state at that position is updated with the newly defined displacement state. If a displacement state is defined, the displacement state at that position is updated. After updating the displacement state, the displacement state change unit 33 calls the position extraction unit 31 with an undetermined displacement state again and proceeds to determine the displacement state at another position.
[0054] Let's explain an example of updating the displacement state. For example, if the operation command 1ON is given in step S2 of Figure 2, this would be a change to modify the state of the corresponding drive unit while the drive unit is moving.
[0055] In Figure 2, during the confirmation of the completion of the operation in step S4, the displacement state is one of waiting for the movement to be completed, and when the system transitions to the next step S5, the displacement state becomes one of movement completion.
[0056] Here, if the displacement state aggregation unit 32 already has a displacement state for the drive unit due to a movement command, the previous modified state is deleted along with the update.
[0057] Furthermore, if the operation of the drive unit changes the state of the component, that state is also modified. For example, if the operation command 2ON in step S6 of Figure 2 is an operation command to the chuck, and the operation involves gripping a component or changing the position of a component, the state of the component is changed. In this case as well, if a displacement state of the component already exists, the displacement state aggregation unit 32 deletes the previous modified state as it is updated.
[0058] Furthermore, if the drive unit and components move to the origin position due to a change in the displacement state, that displacement state is also deleted. If the command described in the flowchart in Figure 2 at the position before the transition is a signal confirmation, the change state is updated to the signal confirmation state described in the flowchart in Figure 2, and then updated to the confirmation completed state at the next transition. If it is a component confirmation by a load sensor, the displacement state is changed to indicate that the component has completed its movement. In these cases as well, if the state changes to the origin state, the displacement state is deleted. Also, if internal information such as work completion information and work process number is changed in order to distinguish the displacement state, the displacement state is also changed accordingly.
[0059] <Displacement State Definition Section> The displacement state definition unit 4 is a processing unit that defines new displacement states and consists of multiple processing units as shown in Figure 1. When the displacement state definition unit 4 is called, if it is necessary to define multiple displacement states, they are processed separately. For example, when a part is gripped by driving the part gripping unit, two new displacement states may be defined: the displacement state of the drive unit and the displacement state of the part.
[0060] The displacement state definition unit 4 includes a return target setting unit 41, a displacement classification setting unit 42, a displacement state distinction condition setting unit 43, and a return operation setting unit 44.
[0061] The recovery target setting unit 41 is a processing unit that sets the recovery target for the displacement state, defining the target of the displacement and the state of change from the origin of the target. For example, the drive unit 1 is moving to position 1, the drive unit 1 has finished moving to position 1, part 1 is being held by the conveyor 1, part 1 has finished moving to position 2, etc.
[0062] The displacement classification setting unit 42 is a processing unit that sets the displacement classification of the displaced object. Displacement classification is the grouping of displaced objects, and when generating the state transition diagram of the recovery program, the group is used to represent one large state. By setting the displacement classification, it is possible to generate design information for an efficient recovery program.
[0063] Displacement classifications include, for example, part movement, which groups the movement states of parts; tool change, which groups the state of tool changes; and drive unit movement, which groups the movement states of drive units.
[0064] Displacement classification for part movement groups together displacement states where a part within the production equipment is moving from its origin. This includes displacement states such as the part is moving, the part has finished moving from its origin, the part is being held by a conveying machine, and the part is waiting to be fed. Tool changes include changes to the robot hand by a tool changer and changes to jigs for each product. Drive unit movement refers to the movement state of each drive unit.
[0065] Furthermore, a priority is assigned to each displacement classification, and the recovery program processes the recovery operations starting with the highest priority displacement classification. For example, if there are displacement classifications for part movement, tool change, and drive unit movement, and the order of priority is as follows, then in the recovery operation, the part will be returned to the origin, then the tool will be returned to the origin, and finally each drive unit will be returned to the origin.
[0066] When the displacement classification setting unit 42 is called, it checks the changes made by the caller and sets the displacement classification for the new displacement state. Once the displacement classification is set, the displacement state distinction condition setting unit 43 is called.
[0067] The displacement state distinction condition setting unit 43 is a processing unit that sets priority and distinction conditions for distinguishing a displacement state from other displacement states within a displacement classification. In the recovery program, recovery operations are executed starting with the displacement state with the highest priority within the same displacement classification. Therefore, the distinction conditions can be set to allow the system to distinguish a displacement state from a displacement state with a lower priority than itself.
[0068] For example, in displacement classification for returning a part to its origin position, when a conveyor is gripping a part, priority should be given to returning the gripped part. In this case, the priority of the displacement state in which any part is gripped is set higher than the priority of the displacement states of all parts located at positions other than the origin.
[0069] Furthermore, in the displacement classification of the drive unit, if drive unit 1 may not be able to move due to interference with drive unit 2 unless drive unit 2 is at the origin position, the priority of the displacement state of drive unit 2 is increased compared to the priority of the displacement state of drive unit 1. Then, when the return operation of the displacement state of drive unit 1 is performed due to the priority setting, drive unit 2 is at the origin position, so it is not necessary to describe the conditions for determining the displacement state of drive unit 2 in the conditions for distinguishing the displacement state of drive unit 1.
[0070] Furthermore, since the recovery program needs to be able to distinguish between displacement conditions, it will also be checked whether there is sufficient information to make that distinction.
[0071] For example, whether a conveyor is gripping a part can be determined by the condition that the limit switches at both ends of the gripping section are OFF. However, this alone is not enough to distinguish which part is being gripped, and if the return operation differs depending on the part, it is necessary to add information to the distinction conditions to distinguish between the parts.
[0072] For example, one method involves managing the work process number using an internal variable and identifying the part being gripped based on the gripping state and the work process number. In this case, a reference to the work process number is added to the distinction criteria.
[0073] On the other hand, in designs where all gripping parts are discarded during the return operation, information to distinguish between parts is unnecessary. The distinction conditions can be described using conditional expressions widely used in programming languages, allowing for the evaluation of multiple signal conditions.
[0074] In the displacement state distinction condition setting unit 43, when the priority and distinction conditions for distinguishing a displacement state from other displacement states within the displacement classification are set, the return operation setting unit 44 is called.
[0075] The return operation setting unit 44 is a processing unit that sets the return operation for the displacement state, and sets the return operation to return the object in the displacement state to the origin.
[0076] The recovery operation can be set by the operator via input unit 1, or selected from pre-configured recovery operations. Automatic route design functions via simulators, etc., can also be used.
[0077] The return operation described here refers to the action of returning the object of displacement defined in the displacement state back to the origin. It is not necessary to describe the return operation of the object of displacement in different displacement states.
[0078] Furthermore, recovery actions can be described with the condition that recovery actions for displacement states with a higher priority than the current displacement state have already been completed.
[0079] Since low-priority displacement states may persist, the recovery operation must be written in a way that avoids their influence, or the priority must be set appropriately. If multiple displacement states interfere with each other and each cannot independently recover, the displacement state distinction condition setting unit 43 newly sets a state in which multiple displacement states are simultaneously occurring, and defines a new displacement state.
[0080] In this case, the situation where each object cannot independently perform its return action is one in which the return action of one object changes depending on whether or not the displacement state of the other object is established. The return action can include not only moving the production machine of the object, but also requests for part ejection and operation by workers.
[0081] Furthermore, instead of describing a return operation that returns the object in the displacement state to the origin, it is also possible to describe a return operation that displaces it to a lower priority displacement state. Once the return operation is set in the return operation setting unit 44, the definition of the displacement state is completed, and the process returns to the undetermined displacement state position extraction unit 31.
[0082] The operation of the displacement state determination unit 3 and the displacement state definition unit 4 described above is completed when the extraction by the displacement state undetermined position extraction unit 31 is finished.
[0083] The displacement state undetermined position extraction unit 31 completes the extraction when the displacement state is set at all positions connected to the position where production activity specified by the operation start state specification unit 2 starts (step S1 in Figure 2). Once the displacement state has been set at all positions to be extracted, the displacement state confirmation unit 5 is called.
[0084] <Displacement Status Confirmation Unit> The displacement state confirmation unit 5 is a processing unit that checks the displacement states defined in the displacement state definition unit 4, and is composed of multiple processing units as shown in Figure 1. If the displacement state confirmation unit 5 finds a displacement state that has a problem with the return operation, the displacement state definition unit 4 is called and a change is requested for the corresponding displacement state. Changes include adding a new displacement state, changing the priority and distinction conditions for distinguishing displacement states, and changing the return operation.
[0085] The displacement state confirmation unit 5 includes a unit 51 for confirming each position return operation and a unit 52 for confirming continuous return operation.
[0086] Each position return operation confirmation unit 51 is a processing unit that confirms the return operation at each position on the flowchart in Figure 2, which represents the operation of the normal system, and confirms whether the highest priority return operation at each position can be executed.
[0087] Verification can be done by recreating the situation using a simulator and confirming it through collision detection, or by having workers check the simulator screen and the details of the displacement state.
[0088] If there are problems with the recovery operation, such as failing to achieve the expected change in displacement state, the displacement state definition unit 4 is called to change the content of the corresponding displacement state. After confirmation is complete at all positions, the continuous recovery operation confirmation unit 52 is called.
[0089] The continuous return operation confirmation unit 52 is a processing unit that confirms whether multiple displacement states can be returned to their original state in succession. It performs the return operation in order of priority, starting with the displacement state with the highest priority within the highest priority displacement classification, and checks for any malfunctions.
[0090] Furthermore, after confirming the recovery operation within a displacement classification, the recovery operation is similarly performed for the next priority displacement classification, starting with the highest priority displacement state and proceeding in order of priority to check for any malfunctions.
[0091] If a problem occurs during the recovery process, the displacement state definition unit 4 is called, and the content of the corresponding displacement state is modified. Once all checks are complete, the displacement state confirmation unit 5 completes and calls the state transition diagram generation unit 6. By providing the displacement state confirmation unit 5, it is possible to confirm that there are no omissions in the design of the recovery program.
[0092] <State transition diagram> Before explaining the state transition diagram generation unit 6, we will explain the state transition diagrams that represent the design information of the recovery program using Figures 3 to 5. Figures 3 to 5 are examples of hierarchical state transition diagrams in which some states have internally hierarchical state transitions. Figure 3 is a diagram that explains the state transition when the displacement classification is part movement, Figure 4 is a diagram that explains the state transition when the displacement classification is tool change, and Figure 5 is a diagram that explains the state transition when the displacement classification is drive unit movement. Hierarchical states will be described in detail later.
[0093] In Figure 3, when the recovery program is started, the return to the origin position begins (step S101). Next, it is determined whether there are any unrecovered parts that have not yet been recovered (step S102). In the initial determination, the result is Yes, and the process moves to the hierarchical part movement state transition process (state S103), where the part movement state transition is performed.
[0094] The processing of state transitions for hierarchical component movement will be described in detail later using Figure 6.
[0095] In the state transition process for component movement, if the transition is completed with component return completion, Figure 3 shows component return completion (normal completion), and the process from step S102 onwards is repeated. On the other hand, if the state transition process for component movement is completed with abnormal completion, the return program abnormally completes, indicating that return to the origin is impossible (step S104). Note that the determination of normal completion and abnormal completion is made within each return operation.
[0096] If, after repeating the processes in step S102 and state S103, it is determined in step S102 that there are no unrestored parts (i.e., No), the process proceeds to the tool change shown in Figure 4. Note that the symbol (1) in Figures 3 and 4 indicates that they are connected to each other.
[0097] In the tool change shown in Figure 4, the first step is to determine if there are any unrestored tools that have not yet been restored (step S201). If the initial determination is Yes, the process moves to the hierarchical tool change state transition process (state S202), and the tool change state transition is performed.
[0098] The processing of state transitions for hierarchical tool changes will be described in detail later using Figure 7.
[0099] In the state transition process for tool changes, if the state transition is completed with the completion of the tool change, the tool return is completed (normal completion) in Figure 4, and the process from step S201 onwards is repeated. On the other hand, if the transition is completed with an abnormal completion in the state transition process for tool changes, the return program is abnormally completed as return to the origin is not possible (step S203).
[0100] If, after repeating the processes in step S201 and state S202, it is determined in step S201 that there are no unreturned tools (i.e., No), the process proceeds to the drive unit movement shown in Figure 5. Note that the symbol (2) in Figures 4 and 5 indicates that they are connected to each other.
[0101] In the drive unit movement shown in Figure 5, it is first determined whether there are any drive units that have not yet returned to their original position (step S301). In this initial determination, the result is Yes, and the process proceeds to the hierarchical drive unit movement state transition process (state S302), where the drive unit movement state transition is performed.
[0102] The processing of state transitions for the hierarchical movement of the drive unit will be described in detail later using Figure 8.
[0103] In the state transition process for drive unit movement, if the state transition is completed with the completion of drive unit return, Figure 5 shows "Driver unit return completed (normal completion)," and the process from step S301 onwards is repeated. On the other hand, if the state transition process for drive unit movement is completed with "abnormal completion," the return program is abnormally completed, indicating that return to the origin is impossible (step S303).
[0104] If, after repeating the processes in step S301 and state S302, it is determined in step S301 that there are no unreturned drive units (i.e., No), then the return to the home position is considered complete (step S304).
[0105] Next, the state transition diagrams for each displacement classification in Figures 3 to 5 will be explained. Figure 6 is a detailed diagram of state S103 in Figure 3. As shown in Figure 6, in state S103, after starting to check the distinction conditions in step S130, the determination of whether the distinction conditions in steps S131 to S134 are met is performed.
[0106] Steps S131 to S134 are listed from top to bottom in order of priority. The numbers following "case:" are simply numbers for simplicity, but they describe specific distinguishing conditions.
[0107] If the distinction condition for "case:1" is met in step S131 (Yes), the system transitions to state S1031. State S1031 is the state of displacement state 1-1, and the recovery operation set for displacement state 1-1 is executed. "Call" is a subroutine call instruction that calls a specific recovery program. In state S1031, "Recovery Operation 1-1" is called as a subroutine, and after "Recovery Operation 1-1" is successfully completed, the system transitions to step S135, which is the component recovery completion step, and the state transition is completed as a successful completion.
[0108] Steps S131 to S134 are executed in order from top to bottom, checking whether the distinction condition described in "case:" is met. If the distinction condition is met, the system transitions to states S1031 to S1035. On the other hand, if the distinction condition is not met (No), the system proceeds to check the distinction condition of the next priority.
[0109] For example, if the distinction condition for "case:1" in step S131 is met (Yes), the system transitions to state S1031, but if the distinction condition for "case:1" is not met, the system transitions to step S132.
[0110] State S1035, "default," is the state to which the system transitions when all distinction conditions are not met. In this state, for example, an internal signal indicating that there are no unreturned parts is turned ON, so that the determination in step S102 is "No" and the system transitions to the state of "part return complete" at the higher level.
[0111] Here, a state where the distinction condition is not met means that the combination of component signal states described in the distinction condition is not met. Furthermore, the component signal state is a combination of internal states such as the work sequence number, input states such as the load sensor, and input / output signal states with devices such as actuators. For example, in Case 1, the work sequence number is between 10 and 14, load sensor 4 is ON, and actuator 2 is at position 5 or 7; the signals that make up the case differ depending on the case.
[0112] Figure 7 is a detailed diagram of state S202 in Figure 4. As shown in Figure 7, in state S202, after starting to check the distinction conditions in step S220, the determination of whether the distinction conditions in steps S221 to S223 are met is performed.
[0113] Steps S221 to S223 are listed from top to bottom in order of priority. The numbers following "case:" are simply numbers for simplicity, but they describe specific distinction criteria.
[0114] If the distinction condition for "case:1" is met in step S221 (Yes), the system transitions to state S2021. State S2021 is the state of displacement state 2-1, and the recovery operation set for displacement state 2-1 is executed. "Call" is a subroutine call instruction that calls a specific recovery program. In state S2021, "Recovery Operation 2-1" is called as a subroutine, and after "Recovery Operation 2-1" is successfully completed, the system transitions to the tool recovery completion in step S224, completing the state transition as a successful completion.
[0115] Steps S221 to S223 are executed in order from top to bottom, checking whether the distinction condition described in "case:" is met. If the distinction condition is met, the system transitions to states S2021 to S2024. On the other hand, if the distinction condition is not met (No), the system proceeds to check the distinction condition of the next priority.
[0116] For example, if the distinction condition for "case:1" in step S221 is met (Yes), the system transitions to state S2021, but if the distinction condition for "case:1" is not met, the system transitions to step S222.
[0117] State S2024, "default," is the state to which the system transitions when all distinction conditions are not met. In this state, for example, an internal signal indicating that there are no unreturned tools is turned ON, so that the determination in step S201 is "No" and the system transitions to the state where tool return is complete at the higher level.
[0118] Figure 8 is a diagram showing state S302 in Figure 5 in detail. As shown in Figure 8, in state S302, after starting to check the distinction conditions in step S320, the determination of whether the distinction conditions in steps S321 to S324 are met is performed.
[0119] Steps S321 to S324 are listed from top to bottom in order of priority. The numbers following "case:" are simply numbers for simplicity, but they describe specific distinction criteria.
[0120] If the distinction condition for "case:1" is met in step S321 (Yes), the system transitions to state S3021. State S3021 is the state of displacement state 3-1, and the recovery operation set for displacement state 3-1 is executed. "Call" is a subroutine call instruction that calls a specific recovery program. In state S302, "recovery operation 3-1" is called as a subroutine, and after "recovery operation 3-1" is successfully completed, the system transitions to the drive unit recovery completion in step S325, completing the state transition as a successful completion.
[0121] Steps S321 to S324 are executed in order from top to bottom, checking whether the distinction condition described in "case:" is met. If the distinction condition is met, the system transitions to states S3021 to S3025. On the other hand, if the distinction condition is not met (No), the system proceeds to check the distinction condition of the next priority.
[0122] For example, if the distinction condition for "case:1" in step S321 is met (Yes), the system transitions to state S3021, but if the distinction condition for "case:1" is not met, the system transitions to step S322.
[0123] State S3025, "default," is the state to which the system transitions when all distinction conditions are not met. In this state, for example, an internal signal indicating that there are no unreturned drive units is turned ON, so that the determination in step S301 is "No" and the system transitions to the state where the drive unit has returned to normal in the higher level.
[0124] <State Transition Diagram Generation Unit> Next, the state transition diagram generation unit 6 will be described. The state transition diagram generation unit 6 is a processing unit that generates a state transition diagram, which is the design information for the recovery program, from the defined displacement states.
[0125] The state transition diagram generation unit 6 first describes the starting position for returning to the origin in step S101 of Figure 3, and then selects the displacement classification with the highest priority.
[0126] After selecting the displacement classification with the highest priority, a branch is described to determine whether to perform the processing in step S102 for the displacement classification with the highest priority.
[0127] Next, we will describe the contents of the hierarchical state S103 regarding the part movement shown in Figure 6. Within the state transitions of the displacement classification, the displacement states within that displacement classification are described from top to bottom in order of priority. For each displacement state, the distinction conditions set for the displacement state are described in "case", and the return operation is described in "Call".
[0128] If the recovery operation for each displacement state is completed successfully, the state transition for part movement is completed, and the state transition for part recovery is performed at the next higher level.
[0129] Furthermore, as shown in state S1035 in Figure 6, if all distinction conditions are not met, a process is described to terminate the return operation of the displacement classification.
[0130] In the hierarchical state S103 regarding component movement, transitions are added that result in a normal completion leading to step S102, and an abnormal completion of the recovery program leading to step S104.
[0131] Once the description of one displacement classification is complete, the displacement classification processes are added in order of priority, as shown in Figures 4 and 5. After all displacement classifications have been described, the completion process for the recovery program is described.
[0132] As described above, a state transition diagram is generated from the definition of the displacement state. After the state transition diagram is created, the recovery program generation unit 7 is called.
[0133] <Recovery Program Generation Unit> The recovery program generation unit 7 generates a recovery program that can be executed by the production equipment controller based on the state transition diagram. The description language of the recovery program to be generated is specified via the input unit 1, and a program that satisfies the specifications of the state transition diagram is generated in the specified programming language. Various methods are known for converting from state transition diagrams to various programming languages, for example, "UML / X mapping" which performs "mapping" to convert from UML (Unified Modeling Language) to source code. Here, X is the name of the programming language to be converted.
[0134] Furthermore, we can mention MATLAB Coder and embedded Coder, which utilize the numerical analysis software MATLAB® / Simulink®, as well as the code generation function of the design tool Enterprise Architect®.
[0135] Through the series of processes described above, a recovery program can be generated from a flowchart that represents the normal operation of the production equipment.
[0136] In this disclosure, the comprehensiveness of the recovery program is ensured by defining and verifying the displacement state for each position on the flowchart. Furthermore, the recovery program is generated based on the displacement state, which is independent of the flowchart.
[0137] Therefore, even if the flowchart becomes larger due to an increase in the number of normal operation programs to support multiple products, the recovery program will not be modified and will not become bloated unless the number of displacement states with different recovery actions increases.
[0138] Furthermore, even if the flowchart is changed due to adjustments to the production equipment, only the changed parts and their effects need to be updated, making it easy to modify the recovery program.
[0139] <Variation> Depending on the type of drive unit, it is possible to set the displacement state of the corresponding drive unit to "moved" as soon as a movement command is output. For example, in the case of a pneumatically controlled drive unit, even if a stop command is input to the production equipment, the drive unit cannot stop moving until it reaches the "moved" state.
[0140] The displacement state does not represent the state of the production equipment at that point in the flowchart, but rather the stopped state of the production equipment if a stop command were input at that point. Therefore, in the case of a drive unit that continues to move to its operating end even if a stop command is received, there is no need to distinguish between moving and moved, and it can be treated as moved.
[0141] If a stop condition is described in the normal system flowchart, that stop state can be set to a displacement state. When waiting for parts supply or completion of work in another process in a specific process, a timeout error using a timer may be described in the flowchart to anticipate part jams, etc.
[0142] Furthermore, the system may specify that an error will occur if the communication content or sensor input values are not within the normal range. Such errors, as clearly indicated on the flowchart, can be addressed by setting the displacement target as an internal signal displacement state.
[0143] Displacement classifications can also include work requests for workers. Some abnormal stoppages require workers to remove specific parts and semi-finished products within the production equipment. Work suggestions for workers can also be added to the displacement classification and included in the recovery program. For example, the recovery operation for a displacement state could describe the tasks to be presented to the worker, with the worker's completion of the removal task being the condition for successful completion.
[0144] Alternatively, the work requests to the worker can be excluded from the displacement classification, and the system can check if there are any remaining conditions that require removal by the worker, and if so, it can be marked as abnormally completed. An example of this is shown in Figure 9. Figure 9 corresponds to the diagram in Figure 3 that explains the return operation when the displacement classification is in the case of part movement. Immediately after the start of the return to the home position in step S101, it is checked whether there are any remaining conditions that require removal by the worker, i.e., whether the return to the home position operation is possible (step S106). If there are still conditions (No), the system marks it as abnormally completed as return to the home position impossible. On the other hand, if there are no remaining conditions (Yes), the system proceeds to step S102.
[0145] The combination of displacement conditions checked by the displacement state confirmation unit 5 can also be increased. That is, in the embodiment 1 described above, each position return operation confirmation unit 51 checks only the return operation for the displacement state with the highest priority for each position on the flowchart, and the continuous return operation confirmation unit 52 checks the return operations in order of the priority of the displacement states. This is because each return operation is based on the premise that after performing a return operation specific to the displacement state, such as moving a part, the drive unit is returned to the origin position. This design prevents problems from occurring in the return operation due to combinations of displacement states.
[0146] However, there are cases where such a design is not possible due to constraints of the production equipment, or where it is desirable to reduce movement during the return program. In such cases, the position return operation confirmation unit 51 will check not only the high-priority displacement states, but also the entire series of return programs. In this case, it will not be necessary to call the continuous return operation confirmation unit 52.
[0147] Furthermore, the continuous return operation confirmation unit 52 executes return operations in order of priority, starting with the displacement state with the highest priority. However, a high-priority return operation may resolve the conditions of a low-priority displacement state. For example, this could occur when the same retraction operation is required but different parts are being gripped. In this case, after the return operation of the high-priority part is completed, it may no longer be necessary to perform a retraction operation, and therefore the retraction operation for the low-priority displacement state may not be confirmed.
[0148] In the above-described embodiment 1, the position return operation confirmation unit 51 confirms only the return operation of the displacement state with the highest priority at each position on the flowchart, and the continuous return operation confirmation unit 52 confirms the return operation in order of the priority of the displacement states. However, if it is not possible to confirm the return operation continuously, the confirmation process can be re-executed from the displacement state that could not be confirmed. Re-executing the confirmation process here means reproducing the state of that displacement state and confirming the return operation. In addition, instead of confirming the return operation at all positions, it is also possible to confirm all different combinations of displacement states once for the entire flowchart.
[0149] Furthermore, the recovery operation can be encapsulated in a function, and the displacement state can call the recovery operation. By encapsulating the recovery operation in a function and making it common, management can be made more efficient. In addition, instead of a displacement state calling only one recovery operation, it is possible to call multiple encapsulated recovery operations in sequence by adding conditional statements.
[0150] When the recovery operation for a specific displacement state changes to another displacement state, the state transitions can be made continuous. Figure 10 shows an example of continuous state transitions. Figure 10 corresponds to the detailed diagram of state S103 shown in Figure 6. In the case of displacement state 1-3 of state S1033, after completing the recovery operation 1-3 for displacement state 1-3, the system transitions to displacement state 1-4 of state S1034 and continuously executes the recovery operation 1-4 for displacement state 1-4.
[0151] For example, displacement state 1-3 represents the state where the conveying device has completed its part gripping operation, and displacement state 1-4 represents the state where the conveying device is in the approach starting position for the part gripping operation. The return operation for displacement state 1-3 describes movement to the approach starting position for the gripping operation, and the return operation from that position is shared with displacement state 1-4.
[0152] This eliminates redundancy in the recovery operations for displacement states 1-3 and improves the design clarity. The definition of a continuous displacement state can be set as transition information when defining the recovery operations for the displacement states, or it can be implemented during the optimization process when generating the state transition diagram.
[0153] As shown in Figure 10, in addition to displacement state 1-4 which follows displacement state 1-3, there is also a case where displacement state 1-4 occurs independently after the determination in step S134, so there are two possible state transitions.
[0154] In the above-described embodiment 1, for example, in step S102 of Figure 3, the return operation was stopped if there were no unreturned parts (in the case of No). That is, an internal signal was turned ON to stop the return operation of the displacement classification after the return operation for the displacement state with the lowest priority in the displacement classification was completed. This is to realize control that returns multiple displacement states within the displacement classification.
[0155] In contrast, other internal signals can also be used for determination. For example, in the case of part movement, a sensor input signal or internal signal can be used to determine if a part has not been returned to its original position, and in the case of tool change, an internal signal can be used to determine if a tool is attached.
[0156] Furthermore, in displacement classification where the recovery operation is performed only once, such as a tool change, the recovery operation can be terminated without creating a loop. An example of this is shown in Figure 11. Figure 11 corresponds to the diagram explaining the recovery operation when the displacement classification shown in Figure 4 is a tool change, and it transitions to state S202 without going through step S201 in Figure 4, and if state S202 is completed normally, it transitions to (2), and if it is completed abnormally, it transitions to step S203, where the origin cannot be returned. The normal completion of state S202 includes not only the state transition that performs the tool recovery operation via S2021 to S2023, but also the state transition that goes through step S2024, where tool recovery is not required.
[0157] Step S106, shown in Figure 9, determines whether a return to the origin position is possible. If it is determined that it is not possible, the return program is abnormally completed. For example, if removal of parts by a worker is required, it is determined that it is not possible (No), and the return program is abnormally completed (step S107).
[0158] The signal indicating that return to the origin is impossible is set based on the loading status of parts and semi-finished products, or through abnormality detection processing within the normal operation program. If the return program includes displacement classification for work requests to workers, it is desirable that this signal be added after the displacement classification.
[0159] Furthermore, common return operations can be added for each displacement state in the displacement classification, both before selecting a displacement state and after the return operation for each displacement state. An example of this is shown in Figure 12. Figure 12 corresponds to the diagram illustrating the return operation when the displacement classification shown in Figure 3 is part movement. In the return operation in Figure 12, the state transition of part movement state S1031 is performed instead of state S103 in Figure 3.
[0160] Figure 13 is a detailed diagram of state S1031 in Figure 12, corresponding to state S103 in Figure 6. The same reference numerals are used for common parts with Figure 6, and redundant explanations are omitted. As shown in Figure 13, in state S1031, after starting the confirmation of the distinction condition in step S130, the pre-common work in step S136 is performed, and after the return operation is successfully completed in states S1031 to S1035, the post-common work in step S137 is performed, and then the state transition of part movement is completed as part return completion (step S135). Both include common return operations and anomaly detection to confirm internal signals of the production equipment. This eliminates redundancy in the return operations of each displacement state and improves the design clarity. The pre-common work and post-common work can be set as transition information when defining the return operation of the displacement state, or they can be set in the optimization process when generating the state transition diagram.
[0161] Furthermore, while the above explanation describes common tasks within a hierarchical state, it is also possible to describe common processes before entering a processing state and after exiting a processing state.
[0162] Additionally, common processing can be written immediately after the start of the home position return and immediately before the completion of the home position return operation.
[0163] Error clearing and internal signal initialization processes can also be included in the state transition diagram. That is, during recovery operations, error clearing and internal signal initialization may be performed before and after the recovery operation. These processes can be added to the common processes in the state transition diagram.
[0164] Furthermore, displacement classification and displacement state priorities may not be set. In other words, if the recovery program is small and the displacement states can be classified exclusively, these settings will not be required.
[0165] The above explanation was based on a flowchart describing the operation of a normal system, but any information that shows the sequence of signal processing that realizes the operation of a normal system is acceptable, and other forms of control design information can also be used. For example, control design information described in other graphical languages such as state transition diagrams, programming languages, pseudocodes, quasi-formal methods, and other modeling techniques can be used instead of flowcharts.
[0166] Furthermore, while Embodiment 1 was described based on a production device for assembling electrical and electronic products, it can also be applied to devices in different fields. The method of summarizing displacement classifications may differ depending on the field, but this disclosure is not limited to that. Also, the method of summarizing in a state transition diagram may differ depending on the field and the business operator, but this disclosure is not limited to that either.
[0167] As explained above, by defining displacement states from the origin state based on a flowchart representing the operation of the normal system, verifying the entire flowchart with the defined displacement states, and generating a state transition diagram from the defined displacement states, it is possible to generate a comprehensive recovery program.
[0168] <Embodiment 2> <Device configuration> Figure 14 is a functional block diagram showing the configuration of the program generation device 200 of Embodiment 2 according to this disclosure. In addition to the processing units of the program generation device 100 of Embodiment 1 shown in Figure 1, the program generation device 200 further includes a unit division unit 11 and a state transition diagram synchronization setting unit 12.
[0169] In large-scale production equipment with multiple work processes, it may be more appropriate to create separate recovery programs for each work process. For example, if there is no shared equipment between work processes and each process can operate and recover independently, separating the control program and recovery program allows for smaller and more readable programs.
[0170] The unit division unit 11 is a processing unit that divides the equipment within the production apparatus into units. The displacement state of equipment, parts, and semi-finished products is treated as unit information of the displacement information, indicating which unit they belong to. Unit information is used to classify control objects with little mutual interference into different displacement categories. By dividing into units, it is possible to generate design information for efficient recovery programs.
[0171] Unit information is obtained via input unit 1 or created from a flowchart representing normal operation and equipment information of the production device. Semi-finished products may be transferred between units. For example, when a semi-finished product is transferred from process 1 to process 2, the displacement state of the unit in process 1 transitions to the displacement state of the unit in process 2 upon completion of the transfer operation in process 1.
[0172] Conversely, the receiving operation in process 2 can trigger a transition to the displacement state of the unit in process 2. These distinctions can be set using internal information such as the work process number. In either case, it is desirable that the unit to which the semi-finished product belongs is managed exclusively.
[0173] The displacement classification setting unit 42 and the state transition diagram generation unit 6 described in Embodiment 1 process each unit divided by the unit division unit 11. The displacement classification setting unit 42 includes unit information when setting the displacement classification of the displacement information. Displacement information from different units is grouped together as different displacement classifications. In addition, the state transition diagram generation unit 6 groups different units into separate state transition diagrams.
[0174] The state transition diagram synchronization setting unit 12 is a processing unit that sets synchronization information between state transition diagrams in the state transition diagrams as needed. Examples of state transition diagrams divided into units are shown in Figures 15 to 20. Figures 15 to 17 are state transition diagrams of unit 1, and Figures 18 to 20 are state transition diagrams of unit 2.
[0175] Figures 15-17 and 18-20 both correspond to the state transition diagrams of Embodiment 1 shown in Figures 3-5. The same reference numerals are used for the same states as in Figures 3-5, and redundant explanations are omitted.
[0176] When performing a reset operation on the entire production system, if it is necessary to assign a specific sequence to the reset operations between units, the state transition diagram synchronization setting unit 12 adds a state of waiting for other units to complete their return to their home position, as shown in step S110 of Figure 15. This makes it possible to set the reset order between units.
[0177] In the examples shown in Figures 15 to 17, after starting the return of unit 1 to its home position in step S101 of Figure 15, the process is repeated in step S110 while waiting for the return of unit 2 to its home position to be completed. Subsequently, the processes shown in the state transition diagrams of Figures 16 and 17 are carried out, resulting in the completion of the return to its home position in step S304 of Figure 17.
[0178] In the examples shown in Figures 18 to 20, after starting the return of unit 2 to its home position in step S101 of Figure 18, the process from step S102 onwards is repeated. Subsequently, the processes shown in the state transition diagrams of Figures 19 and 20 are carried out, and when the return to its home position is completed in step S304 of Figure 20, an internal signal is sent to the process on the unit 1 side to indicate that the return to the home position of unit 2 is complete, thereby completing the return operation of the entire production apparatus.
[0179] Furthermore, if there is no need to assign a sequence to the recovery operations between units and parallel execution is possible, the state transition diagram synchronization setting unit 12 does nothing.
[0180] According to this second embodiment, an efficient recovery program can be created that divides the production equipment into units.
[0181] <Embodiment 3> <Device configuration> Figure 21 is a functional block diagram showing the configuration of the program generation device 300 according to Embodiment 3 of the present disclosure. In addition to the processing units of the program generation device 100 of Embodiment 1 shown in Figure 1, the program generation device 300 further includes a start condition setting unit 45 and a completion condition setting unit 46.
[0182] Depending on the recovery operation, it may be necessary to synchronize the timing with the recovery operations of other devices and units, or to wait for their completion. In such cases, it may be effective to set conditions for initiating the recovery operation. Furthermore, it may be useful to check after the recovery operation whether it was completed successfully or abnormally, so it is also possible to set start and completion conditions for the recovery operation based on the displacement state.
[0183] The start condition setting unit 45 is a processing unit that sets the start condition for the return operation to the displacement state. The start condition is, for example, that a certain internal signal or sensor input signal reaches a specific value.
[0184] A state transition diagram with a defined start condition generates a recovery program that will not initiate the recovery operation until the described condition is met. If there is no need to set a start condition, it is also possible to avoid setting a start condition for that displacement state.
[0185] The completion condition setting unit 46 is a processing unit that sets the completion conditions for normal and abnormal completion of the recovery operation. The completion condition is, for example, that a certain internal signal or sensor input signal reaches a specific value.
[0186] From a state transition diagram with completion conditions set, a recovery program is generated that checks the completion conditions after the recovery operation is complete to determine whether it was a normal or abnormal completion. If there is no need to set completion conditions, it is also possible to avoid setting completion conditions in that displacement state.
[0187] According to this embodiment 3, the functionality of the recovery program can be improved by setting start and completion conditions for the recovery operation.
[0188] <Embodiment 4> <Device configuration> Figure 22 is a functional block diagram showing the configuration of the program generation device 400 of Embodiment 4 according to this disclosure. The program generation device 400 further includes a flowchart generation unit 21 in addition to the processing units of the program generation device 100 of Embodiment 1 shown in Figure 1.
[0189] If the only data available to represent the normal operation of the production equipment is a timing chart, it is possible to generate a flowchart showing the sequence of commands from the timing chart and then generate a recovery program.
[0190] The flowchart generation unit 21 generates a flowchart based on the timing chart and production equipment information. It generates a flowchart that sequentially performs command output, signal output, and signal verification along the time flow on the timing chart.
[0191] Figure 23 is an example of a timing chart. Time flows from left to right, and the timing of the operation of the drive unit of the transport unit is indicated. The drive unit has an X axis, Y axis, Z axis and a chuck.
[0192] Signals Axis_1, Axis_2, and Axis_3 are input to the X, Y, and Z axes, respectively, while signals Y0 and Y1 are input to the chuck.
[0193] To distinguish the position and state of each drive unit, point numbers P0, P1, and P2 are set for the X and Y axes, and P0 and P1 are set for the Z axis. The chuck is set to open with signal Y0 and closed with signal Y1.
[0194] The X, Y, and Z axes are defined with point number P0 as the origin, while the chuck is defined with point number Open as the origin.
[0195] As shown in Figure 23, the X, Y, Z axes and the chuck each start moving from the origin at time 0.0 and are driven according to the timing chart. The arrows in the timing chart indicate the timing of synchronization, and represent that the movement at the tip of the arrow begins when the movement at the base of the arrow is completed.
[0196] For example, arrow A indicates that at time 1.5, when the movement to point P1 on the Y-axis is completed, the movement to point P1 on the Z-axis begins.
[0197] Commands set to occur at the same time on the timing chart are generated according to a predetermined order, for example, by writing them in the order of the flowchart from top to bottom on the timing chart display.
[0198] If the timing for outputting commands and signals on the timing chart is specified by synchronized arrows, describe those conditions in the flowchart. If the timing is specified only in terms of time, do not describe the start condition in the flowchart; instead, describe that the command should be executed when it is time for processing.
[0199] If the timing chart contains information such as equipment completion signals, the confirmation of these completion signals can be added to the flowchart.
[0200] After the flowchart is generated by the flowchart generation unit 21, the program generation device 400 generates a recovery program, similar to the first embodiment.
[0201] According to this embodiment 4, a recovery program can be generated from the timing chart.
[0202] <Hardware Configuration> Furthermore, each component of the program generation devices 100 to 400 described above in Embodiments 1 to 4 can be configured using a computer, and the computer executes the program to realize it. That is, the program generation devices 100 to 400 are realized, for example, by the processing circuit 500 shown in Figure 24. The processing circuit 500 is fitted with a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor), and the functions of each part are realized by executing the program stored in the memory device.
[0203] Furthermore, dedicated hardware may be applied to the processing circuit 500. If the processing circuit 500 is dedicated hardware, it may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof.
[0204] In the program generation devices 100 to 400, each component may be implemented in a separate processing circuit, or all of these functions may be implemented together in a single processing circuit.
[0205] Figure 25 also shows the hardware configuration when the processing circuit 500 is configured using a processor. In this case, the functions of each part of the program generation devices 100 to 400 are realized by a combination of software, firmware, or software and firmware. The software is written as a program and stored in memory 520. The processor 510, which functions as the processing circuit 500, realizes the functions of each part by reading and executing the program stored in memory 520 (storage device). In other words, this program can be said to cause the computer to execute the procedures and methods of operation of the components of the program generation devices 100 to 400.
[0206] Here, memory 520 may be, for example, non-volatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, minidisc, DVD (Digital Versatile Disc) and its drive device, or any storage medium that may be used in the future.
[0207] The above describes a configuration in which the functions of each component of the program generation device 100-400 are realized by either hardware or software. However, this is not the only configuration; some components of the program generation device 100-400 may be realized by dedicated hardware, while other components may be realized by software. For example, some components may be realized by a processing circuit 500 as dedicated hardware, while other components may be realized by a processing circuit 500 as a processor 510 reading and executing a program stored in memory 520.
[0208] As described above, the program generation devices 100 to 400 can realize each of the above-mentioned functions by hardware, software, or a combination thereof.
[0209] Within the scope of this disclosure, it is possible to freely combine the embodiments, or modify or omit the embodiments as appropriate.
[0210] The above-described disclosure is summarized below as an appendix.
[0211] (Note 1) A program generation device that generates a recovery program for a production device, A displacement state determination unit that determines the displacement state, which is the state of the controlled object, A displacement state definition unit defines the displacement state for each process and sets a return operation corresponding to the displacement state in each process, Regarding the return operation, a state transition diagram generation unit generates a state transition diagram composed of the displacement states, A program generation device having a recovery program generation unit that generates the recovery program based on the state transition diagram.
[0212] (Note 2) The displacement state definition unit is: A setter for setting the target of displacement and a setter for setting the target of displacement that defines the change state of the target of displacement from the origin where normal operation can be started in the production apparatus, A displacement state distinction condition setting unit sets information to distinguish the aforementioned displacement state from other displacement states, The unit includes a return operation setting unit that sets the return operation for returning the object of the displacement from the displacement state to the origin. The displacement state determination unit, A displacement state undetermined position extraction unit extracts positions where the displacement state has not been set from control design information describing the sequence of signal processing in the normal system, A displacement state aggregation unit aggregates the displacement state at the position before the transition for the position extracted by the displacement state undetermined position extraction unit, The program generation apparatus according to Appendix 1, comprising: a displacement state changing unit that changes the displacement state in accordance with a control command at the position extracted by the displacement state undetermined position extraction unit.
[0213] (Note 3) The displacement state definition unit is: The program generation device according to Appendix 2, which includes a displacement classification setting unit that sets objects that have the same displacement state as the object of the aforementioned displacement as the same displacement classification.
[0214] (Note 4) The program generation device described in Appendix 3, having a displacement state confirmation unit that confirms the return operation at each position in the control design information.
[0215] (Note 5) A unit division unit divides the equipment constituting the production apparatus into units and generates unit information that assigns different displacement classifications to the controlled objects that have less mutual interference with each other, The program generation device according to Appendix 3 or Appendix 4, further comprising: a state transition diagram synchronization setting unit that sets synchronization information for the state transition diagram between the units in the state transition diagram.
[0216] (Note 6) The displacement state definition unit is: A start condition setting unit sets the start conditions for the return operation to the displacement state, The program generation apparatus according to Appendix 2 further includes a completion condition setting unit for setting the completion conditions for the return operation in the displacement state.
[0217] (Note 7) A program generation device according to Appendix 3 or Appendix 4, further comprising a flowchart generation unit that generates the control design information from information representing the normal operation of the production apparatus.
[0218] (Note 8) The aforementioned displacement state is A program generation device according to any one of Appendix 1 to Appendix 7, comprising a state transition diagram representing the design information of the recovery program, and including information on the portion that has changed from the state in which the normal operation program can be started and information on the recovery operation.
[0219] (Note 9) A program generation method for generating a recovery program for a production device, A step of determining the displacement state, which is the state of the controlled object, The steps include defining the displacement state for each process and setting a return operation corresponding to the displacement state in each process, With respect to the return operation, the steps include generating a state transition diagram composed of the displacement states, A program generation method comprising the step of generating the recovery program based on the state transition diagram. [Explanation of Symbols]
[0220] 3 Displacement state determination unit, 4 Displacement state definition unit, 5 Displacement state confirmation unit, 6 State transition diagram generation unit, 7 Recovery program generation unit, 11 Unit division unit, 12 State transition diagram synchronization setting unit, 21 Flowchart generation unit, 31 Displacement state undetermined position extraction unit, 32 Displacement state aggregation unit, 33 Displacement state change unit, 41 Recovery target setting unit, 42 Displacement classification setting unit, 43 Displacement state distinction condition setting unit, 44 Recovery operation setting unit, 45 Start condition setting unit, 46 Completion condition setting unit.
Claims
1. A program generation device that generates a recovery program for a production device, A displacement state determination unit that determines the displacement state, which is the state of the controlled object, A displacement state definition unit defines the displacement state for each process and sets a return operation corresponding to the displacement state in each process, Regarding the return operation, a state transition diagram generation unit generates a state transition diagram composed of the displacement states, A program generation device having a recovery program generation unit that generates the recovery program based on the state transition diagram.
2. The displacement state definition unit is, A setter for setting the target of displacement and the state of change of the target of displacement from the origin where normal operation of the production apparatus can be started, A displacement state distinction condition setting unit sets information to distinguish the aforementioned displacement state from other displacement states, The unit includes a return operation setting unit that sets the return operation for returning the object of the displacement from the displacement state to the origin. The displacement state determination unit is: A displacement state undetermined position extraction unit extracts positions where the displacement state has not been set from control design information describing the sequence of signal processing in the normal system, A displacement state aggregation unit aggregates the displacement state at the position before the transition for the position extracted by the displacement state undetermined position extraction unit, The program generation apparatus according to claim 1, further comprising: a displacement state changing unit that changes the displacement state in accordance with a control command at the position extracted by the displacement state undetermined position extraction unit.
3. The displacement state definition unit is, The program generation apparatus according to claim 2, further comprising a displacement classification setting unit that sets objects having the same displacement state as the object of the displacement as the same displacement classification.
4. The program generation device according to claim 3, further comprising a displacement state confirmation unit that confirms the return operation at each position in the control design information.
5. A unit division unit divides the equipment constituting the production apparatus into units and generates unit information that assigns different displacement classifications to the controlled objects that have less mutual interference with each other, The program generation apparatus according to claim 3 or claim 4, further comprising: a state transition diagram synchronization setting unit that sets synchronization information of the state transition diagram between the units in the state transition diagram.
6. The displacement state definition unit is, A start condition setting unit sets the start conditions for the return operation to the displacement state, The program generation apparatus according to claim 2, further comprising: a completion condition setting unit for setting the completion conditions for the return operation in the displacement state.
7. The program generation apparatus according to claim 3 or claim 4, further comprising a flowchart generation unit that generates the control design information from information representing the normal operation of the production apparatus.
8. The aforementioned displacement state is The program generation apparatus according to claim 1, comprising a state transition diagram that represents the design information of the recovery program, and including information on the portion that has changed from the state in which the normal operation program can be started and information on the recovery operation.
9. A program generation method for generating a recovery program for a production device, A step of determining the displacement state, which is the state of the controlled object, The steps include defining the displacement state for each process and setting a return operation corresponding to the displacement state in each process, With respect to the return operation, the steps include generating a state transition diagram composed of the displacement states, A program generation method comprising the step of generating the recovery program based on the state transition diagram.
Citation Information
Patent Citations
Program creation device and article manufacturing method
JP2020091597A