Information processing device, information processing method, program, recording medium, method for manufacturing articles

The integration of a time chart, flowchart, and sequence program in an information processing system addresses inefficiencies in generating and modifying sequence programs, enhancing software quality and reducing manual data entry errors through automated document generation and coordination.

JP7853054B2Active Publication Date: 2026-04-28CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CANON KK
Filing Date
2024-12-16
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Conventional methods for generating sequence programs in large-scale production apparatuses are inefficient, prone to bugs, require extensive manual data entry, and lack flexibility in control methods, leading to quality degradation and increased software design man-hours.

Method used

An information processing system that integrates a time chart, flowchart, and sequence program to automatically generate and update design documents and sequence programs, allowing for efficient and accurate modifications, including branching conditions and error handling, by sharing data structures between mechanical and software design documents.

Benefits of technology

Improves the efficiency and accuracy of generating and modifying design documents and sequence programs, reducing manual data entry errors and enhancing software quality by automating the generation and coordination of design documents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007853054000001
    Figure 0007853054000001
  • Figure 0007853054000002
    Figure 0007853054000002
  • Figure 0007853054000003
    Figure 0007853054000003
Patent Text Reader

Abstract

To solve the problem that a method is required which improves efficiency and accuracy of generation work or correction work of a design document and a sequence program.SOLUTION: An information processing device comprises a data structure, in which design information associated with one another are shared by a time chart, a flow chart and a sequence program, and a processing section. The processing section processes the time chart, the flow chart and the sequence program in an association with one another on the basis of the data structure.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, an information processing method, and the like.

Background Art

[0002] In various apparatuses including production apparatuses, it is known to provide a sequence control unit incorporating a computer and sequence-control the sequential operations performed by various operating devices provided in the apparatus by the sequence control unit.

[0003] In generating a sequence program for performing such sequence control, as the production apparatus or the like becomes large-scale and the number of operating devices used increases, the sequence program becomes complicated and the software design man-hours become enormous. Furthermore, as the scale of the sequence program increases, the possibility of problems such as bugs increases, and there is a problem that the software quality deteriorates. Therefore, a method has been developed for automatically generating a sequence program by inputting necessary information into a design document in which sequence control is visualized.

[0004] For example, in the method disclosed in Patent Document 1, an actuator device map in which a plurality of operating devices provided in a production apparatus are described together with names that can be meaningfully recognized by an operator, and a flow map in which the operation order of the operating devices is described together with the above names are created. Then, by linking these two maps using the above names as keys, a sequence program for the production apparatus is automatically generated.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] After generating a sequence program, debugging is typically performed to verify that the program operates as designed. If any defects are found during debugging, the sequence program is corrected, and after confirming that it works correctly, feedback is usually provided to the software design documentation.

[0007] By the way, conventional methods such as those described in Patent Document 1 involve a one-way process of automatically generating a sequence program from a software design document. Therefore, if a problem occurs in the sequence program during debugging, the procedure involves correcting the software design document, regenerating the sequence program, and then re-verifying its operation. If the correction is unsuccessful, the same process must be repeated once more, which is not desirable from the standpoint of work efficiency. In other words, conventional methods are unsuitable for bug fixing work.

[0008] Furthermore, software design documents generally come in multiple types depending on their purpose, and these are often related to each other. Therefore, modifying one software design document necessitates modifications to other related software design documents, which can be time-consuming.

[0009] Furthermore, conventional methods failed to achieve coordination between software design documents and mechanical design documents. In the development of production equipment, mechanical designers create mechanical design documents, and then software designers create software design documents based on those documents. However, because coordination with mechanical design documents was not achieved in the past, generating software design documents based on the information in mechanical design documents required a huge amount of manual data entry, and there were concerns about quality degradation due to input errors.

[0010] Furthermore, conventional methods limit the control methods used in the automatic generation of sequence programs, resulting in problems such as the inability to automatically generate branching conditions, waiting conditions, and error handling, thus preventing flexible control.

[0011] Therefore, there was a need for methods to improve the efficiency and accuracy of generating and modifying design documents and sequence programs. [Means for solving the problem]

[0012] A first aspect of the present invention is: For controlling the device Time chart and For controlling the aforementioned device Flowchart and For controlling the aforementioned device Sequence program and Processing section An information processing method that processes information in conjunction with other methods. , The aforementioned time chart shows the operating time of the operation performed by the device. The aforementioned Handling Unit However, When the flowchart is changed, the system will respond to the changes in the flowchart. Before The time chart and the sequence program update Information processing characterized by doing so method That is the case.

[0013] Furthermore, a second aspect of the present invention is: An information processing apparatus that processes a time chart for controlling a device, a flowchart for controlling the device, and a sequence program for controlling the device in conjunction with a processing unit, wherein the time chart indicates the operation time of the operation performed by the device, and the processing unit updates the time chart and the sequence program to correspond to the change in the flowchart when the flowchart is changed. That is the case. [Effects of the Invention]

[0014] According to the present invention, the efficiency and accuracy of the generation and modification of design documents and sequence programs can be improved. [Brief explanation of the drawing]

[0015] [Figure 1] A diagram showing the control system configuration of a production apparatus according to an embodiment of the present invention. [Figure 2] A diagram showing the system configuration of the sequence control unit in an embodiment of the present invention. [Figure 3] A diagram showing the configuration of a production equipment software design system in an embodiment of the present invention. [Figure 4]A diagram showing information elements that make up a time chart in an embodiment of the present invention. [Figure 5] A diagram showing information elements that make up a stepper configuration table in an embodiment of the present invention. [Figure 6] A diagram showing information elements that make up an IO table in an embodiment of the present invention. [Figure 7] A diagram showing information elements that make up a SW allocation table in an embodiment of the present invention. [Figure 8] A diagram showing information elements that make up controller control module management information in an embodiment of the present invention. [Figure 9] A diagram showing information elements that make up abnormal information in an embodiment of the present invention. [Figure 10] A diagram showing information elements that make up a flowchart in an embodiment of the present invention. [Figure 11] A diagram showing the processing configuration that makes up a basic module and the address configuration of a basic module address map in an embodiment of the present invention. [Figure 12] A diagram showing the processing configuration that makes up a controller control module and the address configuration of a controller control module address map in an embodiment of the present invention. [Figure 13] A diagram showing information elements that make up device design information in an embodiment of the present invention. [Figure 14] A diagram showing the program configuration of a sequence program in an embodiment of the present invention. [Figure 15] A diagram showing the processing of a design document generation processing unit in an embodiment of the present invention. [Figure 16] A diagram showing the processing of a design document design information acquisition processing unit in an embodiment of the present invention. [Figure 17] A diagram showing the processing of a sequence program generation processing unit in an embodiment of the present invention. [Figure 18] A diagram showing the processing of a sequence program information acquisition processing unit in an embodiment of the present invention. [Figure 19] A diagram showing examples of design work and debug work in an embodiment of the present invention. [Figure 20] A diagram showing an example of the shapes that constitute a flowchart in an embodiment of the present invention. [Figure 21] A production apparatus that generates a sequence program by applying the information processing of an embodiment of the present invention. [Figure 22] A diagram showing an example of a time chart according to this embodiment. [Figure 23] A diagram showing an example of a stepper configuration table according to the embodiment. [Figure 24] A diagram showing an example of an IO table according to the embodiment. [Figure 25] A diagram showing an example of a controller control module management table according to the embodiment. [Figure 26] A figure showing an example of an anomaly table according to the embodiment. [Figure 27] A diagram showing an example of a basic module address map according to the embodiment. [Figure 28] A diagram showing an example of a controller control module address map according to the embodiment. [Figure 29] A diagram showing an example of an automatically generated flowchart according to the embodiment. [Figure 30] A diagram showing an example of a flowchart after performing the modification work according to the embodiment. [Figure 31] (a) A diagram showing an example of an automatically generated sequence program according to the embodiment. (b) A diagram showing another example of an automatically generated sequence program according to the embodiment. [Figure 32] A diagram showing an example of an automatically generated ladder-style sequence program according to the embodiment. [Figure 33] A diagram showing another example of an automatically generated ladder-style sequence program according to the embodiment. [Modes for carrying out the invention]

[0016] Embodiments of the present invention will be described with reference to the drawings. In the drawings referenced in the following descriptions of embodiments and examples, elements indicated by the same reference numeral have the same function unless otherwise specified.

[0017] [Embodiment] Figure 1 is a block diagram showing the control system configuration of a production apparatus, which is an example of an embodiment of the present invention. The sequence control unit 101 is connected to the input device 121, the operating device 131, the operating device 141, and the controller 151, which is connected to the operating device 152. The sequence control unit 101 has a built-in computer that controls the connected devices.

[0018] Input device 121 is, for example, a sensor that notifies the status of equipment in a production device. Operation device 131 is, for example, a touch panel or push-button switch that an operator uses to give instructions to the sequence control unit 101. Operating device 141 is, for example, a cylinder that operates solely on the ON / OFF of a control signal from the sequence control unit 101. Operating device 152 is an operating device that can perform complex operations under the control of the controller 151, and is, for example, a multi-axis robot or an image processing device. The controller 151 controls the operating device 152 based on instructions from the sequence control unit 101.

[0019] Figure 2 shows the system configuration of the sequence control unit 101 shown in Figure 1. The sequence control unit 101 includes a CPU 201, an input unit 202, an output unit 203, a program storage unit 204, and a memory 205. The CPU201 is a computer that performs various processes, including arithmetic operations, data creation, and writing and reading from memory, according to the instructions it is given.

[0020] The input unit 202 is an interface that receives signals sent to the sequence control unit from input devices 121, operating devices 131, controllers 151, etc., via terminal blocks and connection connectors. The output unit 203 is an interface that transmits signals from the sequence control unit to the operating device 131, the operating device 141, the controller 151, etc., via terminal blocks and connection connectors.

[0021] The program storage unit 204 stores the sequence program 381, which will be described later, for execution by the CPU, and program comments. For the program storage unit 204, a storage medium such as RAM, ROM, or a memory card can be used. Memory 205 is a storage medium that stores information such as calculation results during arithmetic processing by the CPU 201. Memory 205 can be a storage medium such as RAM or an HDD.

[0022] Figure 3 is a block diagram showing the configuration of a production equipment software design system in an embodiment of the present invention. This production equipment software design system includes a CPU 310, memory 320, input processing unit 331, display processing unit 332, data storage unit 340, and program storage unit 390. Note that the functional elements shown in Figure 3 are conceptual and do not necessarily have to be physically configured as shown. For example, the specific forms of distribution and integration of each functional block are not limited to the illustrated examples, and all or part of them can be functionally or physically distributed and integrated in any unit depending on the usage situation. Each functional block can be configured using hardware or software.

[0023] The CPU 310 is a computer that performs various processes, including arithmetic processing, data creation, and writing and reading from memory, according to the given instructions. The memory 320 is a storage medium that stores the results of calculations performed by the CPU 310. The input processing unit 331 receives information from input devices such as a keyboard and mouse. The display processing unit 332 performs processing to display information on display devices such as an LCD display.

[0024] The data storage unit 340 is a memory unit and is equipped with memory areas for storing mechanical design documents 350, software design documents 360, software libraries 370, device design information 380, and sequence programs 381. The device design information 380 establishes a data structure in which the time chart, flowchart, and sequence program share mutually related design information.

[0025] The program storage unit 390 contains a design document generation processing unit 391, a design document design information acquisition processing unit 392, a sequence program generation processing unit 393, and a sequence program information acquisition processing unit 394, all of which store programs to be executed by the CPU 310. The data storage unit 340 and the program storage unit 390 are equipped with a storage medium such as a hard disk.

[0026] Next, we will provide a detailed explanation of the mechanical design documents 350, software design documents 360, software library 370, device design information 380, and sequence program 381 stored in the data storage unit 340. Mechanical design document 350 contains mechanical design information necessary for software design, and includes a timing chart 351.

[0027] Time Chart 351 is a document for mechanical designers to consider when a production machine performs a series of operations under normal conditions. It shows the sequence of operations for all operating states of operating devices 141 and 152, as well as the transition time for each operating state.

[0028] Figure 22 shows an example of a time chart. This time chart shows the state of each operating device when the production apparatus shown in Figure 21 performs a series of operations. Specifically, the loading robot RB1 picks up a workpiece from the input pallet and places it on the transport table CV, the transport table CV carries the workpiece to the working position of the coating robot RB2, and the coating robot RB2 performs the coating operation on the workpiece at the working position. Once the coating operation by the coating robot RB2 is complete, the transport table CV moves the workpiece to the receiving position of the discharge robot RB3. The discharge robot RB3 picks up the workpiece at the receiving position and carries it to the discharge pallet and places it on it. Regarding the operations of the production apparatus, the time chart in Figure 22 shows the operating state of each operating device, the sequence of operations, and the transition time for each operating state.

[0029] Figure 4 schematically shows the components of the time chart. The time chart is composed of information elements including the operating device name 401, operating state name 402, operating sequence 403, operating time 404, and operating sequence dependency relationship 405. The operating device name 401 is a name assigned to identify each of the operating devices 141 and 152. The operating state name 402 is a name assigned to identify the operating state of the operating devices 141 and 152. Here, the operating state refers to the operating position of the operating device, and at least two operating states are defined for each operating device. For example, a two-position cylinder has two operating states, and names such as "Row" and "Return" or "Out" and "Return" are assigned to them.

[0030] The operation sequence 403 shows the sequence of changes in operation state, i.e., the order of operation, for all operating states of operating devices 141 and 152. The operation time 404 shows the transition time between operating states, which is the time required from the start to the end of the operation. The operation sequence dependency relationship 405 is an information element that shows the causal relationship between the completion and start of operation between different operating devices.

[0031] Returning to Figure 3, the software design document 360 contains information necessary for software design and includes the stepper configuration table 361, the I / O table 362, the SW allocation table 363, the controller control module management table 364, the error table 365, and the flowchart 366.

[0032] Figure 5 shows the configuration of the stepper configuration table 361. As shown in Figure 5, the stepper configuration table is a list that includes information elements such as stepper number 501, stepper name 502, and operating device name 503. Here, a stepper refers to a grouping of input devices 121, operating devices 141, and operating devices 152 into a unit that is easy to control and manage.

[0033] A stepper is structured according to the following three principles: First, a stepper consists of input devices and operating devices with the same control role. Second, only operating devices that operate synchronously within the same stepper belong to that stepper. In other words, operating devices that operate asynchronously are managed by a different stepper. Third, input devices and operating devices can belong to only one stepper and cannot belong to multiple steppers simultaneously. Steppers can operate asynchronously with each other, and can operate while interfering with each other, such as checking the operating status of the other and waiting or resuming operation. This interference relationship is represented by the operation sequence dependency relationship 405 on the time chart 351. Stepper number 501 is a number used to identify the stepper in the program. Stepper name 502 is a name used by the user of the production equipment to identify the stepper. The name of the operating device 503 is the name of the operating devices 141 and 152, which belong to the stepper.

[0034] Figure 23 shows an example of a stepper configuration table. This stepper configuration table corresponds to the series of operations performed by the production equipment shown in Figure 21, i.e., the time chart in Figure 22.

[0035] Returning to Figure 3, IO Table 362 is a list of input devices 121, operating devices 131, operating devices 141, and controllers 151 that are connected to the sequence control unit 101 via the input unit 202 and output unit 203.

[0036] Figure 6 schematically shows the components of the IO table 362. As shown in Figure 6, the IO table is composed of information elements including the device name 601, state name 602, device type 603, and IO number 604. Here, the device name 601 is the name assigned to identify each of the input device 121, operating device 131, operating device 141, and operating device 152. The state name 602 is the name assigned to identify each of the states of the input device 121, operating device 131, operating device 141, and operating device 152. The device type 603 is an identifier used to identify the equipment used by the input device 121, operating device 131, operating device 141, and operating device 152. For example, for operating device 141, it indicates whether the equipment used is a cylinder, and if so, whether it is a single solenoid or a double solenoid. The IO number 604 is the terminal number connected to the input unit 202 and the output unit 203.

[0037] Figure 24 shows an example of an I / O table. This I / O table corresponds to the series of operations performed by the production equipment shown in Figure 21, i.e., the time chart in Figure 22.

[0038] Returning to Figure 3, SW assignment table 363 is a list of address assignments related to the interface for operation, display, etc. of the switches placed on the operating device 131.

[0039] Figure 7 schematically shows the components of the SW assignment table 363. As shown in Figure 7, the SW assignment table is composed of information elements including the operating device name 701, the operating state name 702, the SW input address 703, and the SW output address 704. A switch is provided for each operating device and operating state, and has an indicator function of being on or off. When an off button is pressed, the device performs an action to enter its own operating state, and if the operating state of the production equipment matches, it lights up.

[0040] Here, the operating device name 701 is a name assigned to identify each of the operating devices 141 and 152. The operating state name 702 is a name assigned to identify each of the operating states of operating devices 141 and 152. The SW input address 703 specifies the address that is the condition for the switch to light up. The SW output address 704 specifies the address that is the operating condition to be executed after the switch is pressed.

[0041] Returning to Figure 3, the controller control module management table 364 is a table that manages the type, number, and address allocation of memory 205 for deploying the controller control module 373 (described later) to the sequence program 381.

[0042] Figure 8 schematically shows the components of the controller control module management table 364. As shown in Figure 8, the controller control module management table is composed of information elements including the operating device name 801, the controller control module name 802, and the controller control module assignment address 803.

[0043] Here, the operating device name 801 is a name assigned to identify each of the operating devices 152. The controller control module name 802 is a name used to identify the type of controller control module 373. When creating the controller control module management table 364, the names of the controller control modules 373 in the software library 370 are extracted, and the extracted names are selected from the name list. The controller control module allocation address 803 allocates the memory and I / O numbers used by the controller control module to memory 205.

[0044] Figure 25 shows an example of a controller control module management table. This controller control module management table corresponds to the series of operations performed by the production equipment shown in Figure 21, i.e., the time chart in Figure 22.

[0045] Returning to Figure 3, Anomaly Table 365 is a list used to manage anomalies that occur in the production equipment. Figure 9 schematically shows the components of the error table 365. As shown in Figure 9, the error table consists of information elements including error number 901, error name 902, and error output address 903. Error number 901 is a number assigned to identify the error. Error name 902 is a name assigned to identify the error. Error output address 903 is the allocation of a flag to memory 205 for notifying the occurrence of an error on the sequence program 381.

[0046] Figure 26 shows an example of an error table. This error table shows the errors that may occur when the production equipment shown in Figure 21 performs a series of operations, i.e., the operations shown in the time chart in Figure 22.

[0047] Returning to Figure 3, flowchart 366 shows the processing flow of sequence program 381. It is created in stepper units and is a diagram created by combining shapes consisting of terminal 2001, process 2002, decision 2003, and defined process 2004 shown in Figure 20.

[0048] Figure 10 schematically shows the components of flowchart 366. As shown in Figure 10, the flowchart is composed of information related to names 1010, information related to addresses 1020, and information related to sequence control 1030.

[0049] The name-related information 1010 consists of the stepper number 1011, stepper name 1012, operating device name 1013, operating state name 1014, and abnormality name 1015. The address-related information 1020 consists of the IO number 1021, step assignment address 1022, controller control module assignment address 1023, abnormal output address 1024, device mode assignment address 1025, and device state assignment address 1026. The sequence control-related information 1030 consists of the information elements of processing content 1031, branching condition 1032, waiting condition 1033, and processing order 1034.

[0050] Stepper number 1011 is a number used to identify the stepper, and is the same information as stepper number 501 in stepper configuration table 361. Stepper name 1012 is a name used by the user of the production equipment to identify the stepper, and is the same information as stepper name 502 in stepper configuration table 361. Operating device name 1013 is a name assigned to identify the operating states of operating devices 141 and 152, and is the same information as operating device name 503 in stepper configuration table 361. Operating state name 1014 is a name assigned to identify the operating states of operating devices 141 and 152. Thus, the flowchart and the stepper configuration table can be said to be shared data structures that share the same data. Anomaly name 1015 is a name assigned to identify an anomaly, and it is the same information as anomaly name 902 in anomaly table 365. Thus, the flowchart and the anomaly table can be said to be shared data structures that share the same data.

[0051] IO number 1021 is the terminal number connected to the input unit 202 and the output unit 203, and is the same information as IO number 604 in IO table 362. Thus, the flowchart and the IO table can be said to be shared data structures that share the same data. Step assignment address 1022 is the address assigned to the figures in Figure 20 above arranged on the flowchart, and is an address used to identify the processing content on the sequence program 381. Controller control module assignment address 1023 assigns memory and IO numbers used by the controller control module to memory 205, and is the same information as controller control module assignment address 803 in controller control module management table 364. Thus, the flowchart and the controller control module management table can be said to be shared data structures that share the same data. Error output address 1024 is the assignment of a flag to memory 205 for notifying the occurrence of an error on the sequence program 381, and is the same information as error output address 903 in error table 365. The device mode assignment address 1025 is assigned to a flag related to the device mode, such as automatic or manual, and contains the same information as the device mode assignment address 1111 in the basic module address map 372. The device status assignment address 1026 is assigned to a flag related to the device status, such as start, stop, or abnormal, and contains the same information as the device status assignment address 1112 in the basic module address map 372. Thus, the flowchart and the basic module address map can be said to be shared data structures that share the same data.

[0052] The processing content 1031 is information such as changes in the operating state of all operating devices 141 and 152, changes in the state of flags in memory 205, and calculation contents. The changes in the operating state of all operating devices 141 and 152 are the same information as the operation sequence 403 in the time chart 351. Thus, the flowchart and the time chart can be said to be shared data structures that share the same data. The branching condition 1032 is information for branching the processing based on the IO number 604, the controller control module assignment address 803, the flag information in memory 205, etc. The waiting condition 1033 is information for waiting for a pause by the timer or permission to operate from other steppers expressed by the operation sequence dependency relationship 405. The processing sequence 1034 is information regarding the processing order of the processing content 1031, branching condition 1032, and waiting condition 1033.

[0053] The terminal 2001 shown in Figure 20 is a graphic selected when indicating the start and end of a stepper, and when the processing content 1031 indicates a device malfunction. Name-related information 1010 is displayed within the graphic frame, and address-related information 1020 is displayed outside the graphic frame.

[0054] Furthermore, process 2002 is a graphic selected when the process content 1031 indicates something other than a device malfunction. Name-related information 1010 is displayed within the graphic frame, and address-related information 1020 is displayed outside the graphic frame. Furthermore, judgment 2003 is a graphic selected when indicating branch conditions 1032 and waiting conditions 1033. Name-related information 1010 is displayed within the graphic frame, and address-related information 1020 is displayed outside the graphic frame. Furthermore, defined process 2004 is a graphic selected when indicating the start of processing to other steppers listed in stepper configuration table 361, as expressed by the operation sequence dependency relationship 405. Name-related information 1010 is displayed within the graphic frame, and address-related information 1020 is displayed outside the graphic frame.

[0055] The flowchart 366 is completed when each shape is connected by lines according to the information in the processing order 1034, with terminals 2001, process 2002, decision 2003, and defined process 2004. Therefore, the flowchart 366 contains information from the time chart 351, stepper configuration table 361, IO table 362, controller control module management table 364, error table 365, basic module address map 372, and controller control module address map 374. (See Figure 29 relating to Embodiment 1, which will be described later).

[0056] Furthermore, information not included above in the creation of the flowchart 366 includes branching conditions 1032 and waiting conditions 1033 related to sequence control information 1030, as well as processing content 1031 and predefined processing 2040 after branching by branching condition 1032. These are parts that need to be created at the discretion of the software designer, and the software designer completes the flowchart 366 through repeated consideration. In other words, flexible software design including branching conditions 1032 and waiting conditions 1033, as well as processing content 1031 and predefined processing 2040 after branching by branching condition 1032, can only be expressed in the flowchart 366, except for the sequence program 381. (See Figure 30 relating to Example 1, which will be explained later).

[0057] Returning to Figure 3, the software library 370 is a set of programs that are highly reusable and can be used with different production equipment, and includes one or more basic modules 371 and basic module address maps 372. The software library 370 can also include any number of controller control modules 373 and controller control module address maps 374.

[0058] The programs in the software library 370 are template programs that are referenced when generating the sequence program 381, and are copied and incorporated into the sequence program 381 as needed.

[0059] Figure 11 schematically shows the components of the basic module 371 and the basic module address map 372 shown in Figure 3. The basic module 371 is a program for managing the mode and state of the production equipment, and consists of a mode management processing unit 1101 and a state management processing unit 1102. The mode management processing unit 1101 is a processing unit that manages device modes such as automatic mode and manual mode. The status management processing unit 1102 is a processing unit that manages device status such as startup, shutdown, and abnormality.

[0060] The basic module address map 372 is a list containing the memory allocation addresses used by the basic module 371, and one exists for each type of basic module 371. It consists of information elements including the device mode allocation address 1111, the device state allocation address 1112, and the basic module processing unit allocation address 1113.

[0061] Figure 27 shows an example of a basic module address map. The device mode assignment address 1111 is the address assigned to the device mode flag, such as automatic mode or manual mode. The device status assignment address 1112 is the address assigned to the device status flag, such as startup, shutdown, or abnormality. The basic module processing unit assignment address 1113 is the address assignment for memory used in the processing of the basic module, other than the device mode assignment address 1111 and the device status assignment address 1112. The address assigned to the basic module 371 is fixed and not changed in memory 205.

[0062] Returning to Figure 3, the controller control module 373 is a program that controls the controller 151. For each type of controller 151, a corresponding controller control module 373 is created and managed with a name corresponding to the controller control module name 802.

[0063] Figure 12 schematically shows the components of the controller control module 373 and the controller control module address map 374 shown in Figure 3.

[0064] The controller control module 373 consists of an IF processing unit 1201 and a controller control processing unit 1202. The IF processing unit 1201 is an interface processing unit for communication between the two. The controller control processing unit 1202 is a processing unit other than the IF processing unit 1201 for controlling the controller 151.

[0065] The controller control module address map 374 is a list containing the memory allocation addresses used by the controller control module 373, and one exists for each type of controller control module 373. It consists of information elements including the IF processing unit allocation address 1211 and the controller control processing unit allocation address 1212.

[0066] The IF processing unit allocation address 1211 is an address allocation related to the connection between the controller 151, which is controlled by the controller control module 373, and the input unit 202 and output unit 203. The controller control processing unit allocation address 1212 is an address allocation other than the IF processing unit allocation address 1211 of the memory used in the processing of the controller control module address map 374. Figure 28 shows an example of a controller control module address map. This controller control module address map pertains to the single-axis loading robot RB1 shown in Figure 21.

[0067] The device design information 380 shown in Figure 3, as schematically shown in Figure 13, is composed of I / O information, timing chart information, stepper configuration information, flowchart information, error information, basic module address map information, controller control module management information, and controller control module address map information, and is a storage unit that centrally manages this information. This storage unit can contain any electronic information that can be managed, and the format can be a text file or a database. After various documents are created, they are registered in the device design information 380. The device design information 380 has the same data structure as the mechanical design document 350 and the software design document 360, so they can be automatically generated from each other. In addition, the device design information 380 has the same data structure as the sequence program 381, so they can be automatically converted from each other.

[0068] The sequence program 381 shown in Figure 3 is stored in the program storage unit 204 and is a program for executing sequence control of the production equipment. As schematically shown in Figure 14, the sequence program consists of a basic module unit 1401, a stepper operation sequence processing unit 1421, a stepper abnormality processing unit 1431, an output processing unit 1441, a controller control unit 1451, and a display processing unit 1452.

[0069] The basic module section 1401 is a processing section for managing the mode and state of the production equipment. It selects one of the basic modules 371 stored in the software library 370, duplicates it, and incorporates it into the basic module section 1401. The stepper operation sequence processing section 1421 is a processing section for performing sequence control. It is created based on address-related information 1020 and sequence control-related information 1030. The stepper abnormality processing section 1431 is a processing section for abnormality notification. It is created based on address-related information 1020 and sequence control-related information 1030.

[0070] The output processing unit 1441 is the part that issues commands from the operating device 131 and the stepper operation sequence processing unit 1421 to the operating device 141 and the controller 151, and is created based on address-related information 1020, sequence control-related information 1030, and the SW assignment table 363.

[0071] The controller control unit 1451 is the processing unit that controls the controller 151. Based on the information in the controller control module management table 364, the controller control module 373 described in controller control module name 802 is duplicated, the address assignment described in the controller control module address map 374 is changed according to the controller control module assigned address 803, and then it is incorporated into the controller control unit 1451. The display processing unit 1452 is the processing unit for displaying information on display devices such as the operating device 131. It is created based on address-related information 1020, sequence control-related information 1030, and the SW assignment table 363.

[0072] Returning to Figure 3, the program storage unit 390 stores programs for the automatic mutual generation of mechanical design documents 350, software design documents 360, device design information 380, and sequence programs 381. Specifically, the program storage unit 390 stores a design document generation processing unit 391, a design document design information acquisition processing unit 392, a sequence program generation processing unit 393, and a sequence program information acquisition processing unit 394. The design document generation processing unit 391 is a program that automatically generates mechanical design documents 350 and software design documents 360 from the device design information 380.

[0073] Figure 15 shows a flowchart of the processing of the design document generation processing unit 391. In step S1501, necessary information is obtained from the device design information, and in the following step S1502, design document generation is performed, automatically generating the mechanical design document 350 and the software design document 360. At this time, the documents to be automatically generated can be arbitrarily specified from among the mechanical design document 350 and the software design document 360.

[0074] Returning to Figure 3, the design document design information acquisition processing unit 392 is a program that inputs information from the mechanical design document 350 and the software design document 360 into the device design information 380.

[0075] Figure 16 shows a flowchart of the processing of the design document design information acquisition processing unit 392. In step S1601, information is acquired from the design document, and in the following step S1602, the information is entered into the equipment design information.

[0076] Returning to Figure 3, the sequence program generation processing unit 393 is a program that automatically generates a sequence program 381 from the device design information 380.

[0077] Figure 17 shows a flowchart of the processing of the sequence program generation processing unit 393. In step S1701, necessary information is obtained from the device design information, and in the following step S1702, the sequence program is generated. At this time, the program comment to be stored in the program storage unit 204 is created based on the information 1010 related to the name.

[0078] Returning to Figure 3, the sequence program information acquisition processing unit 394 is a program that automatically generates device design information 380 from the sequence program 381.

[0079] Figure 18 shows a flowchart of the processing of the sequence program information acquisition processing unit 394. In step S1801, information is acquired from the sequence program, and in the following step S1802, the information is input into the device design information. At this time, the information is created by combining the program comments stored in the program storage unit 204 with the name-related information 1010.

[0080] According to the embodiments of the present invention described above, an information processing system is configured that comprises: a data structure for mutually sharing related design information between mechanical design documents and software design documents; an automatic design document generation unit for automatically generating mechanical design documents and software design documents using the data structure; and an automatic sequence program generation unit for automatically generating sequence programs using mechanical design documents, software design documents, and software libraries. When a sequence program is changed, the system may also be further equipped with an automatic software design document generation unit that automatically generates new software design documents using the changed sequence program. This improves the efficiency and accuracy of generating and modifying mechanical design documents, software design documents, and sequence programs. The embodiments of the present invention will be described in more detail below with reference to examples. [Examples]

[0081] In Example 1, the procedure for automatically generating a sequence program 381 from the mechanical design document 350 and the software design document 360 will be described as part of the software design work procedure.

[0082] Figure 19 shows an example of software design work. In the figure, processes such as editing and modification performed by a worker are indicated by dotted arrows, while processes such as generation performed automatically by an information processing device are indicated by solid arrows. First, the mechanical designer creates a time chart 1901 through the time chart creation task 1911 and stores it in the mechanical design document 350 of the information processing device. The software designer then starts the software design by referring to the completed time chart 1901. The software designer then creates design documents 1902, consisting of a stepper configuration table, I / O table, SW assignment table, error table, and controller control module management table, through the design document creation task 1912, and stores them in the software design document 360 of the information processing device.

[0083] Next, the time chart 1901 is input into the 380 device design information by the design document design information acquisition processing unit 392, and then the design document generation processing unit 391 automatically generates the flowchart 1903 1913. Figure 29 shows an example of a flowchart. This flowchart is related to the loading of stepper number 3 in the stepper configuration table in Figure 23. This flowchart is temporarily stored in the data storage unit 340 as flowchart 366 in Figure 3.

[0084] Next, the design documents 1902, consisting of a stepper configuration table, I / O table, SW assignment table, error table, and controller control module management table, are input into the device design information 380 by the design document design information acquisition processing unit 392. After that, the design document generation processing unit 391 automatically generates a flowchart 1903 1914. Note that since flowchart 1903 has already been automatically generated in the automatic generation process 1913, in reality, information is added to the flowchart 1903 after automatic generation 1913.

[0085] Next, the software designer reviews the flowchart 1903 created by automatic generation 1913 and automatic generation 1914, considers the device specifications, and then performs editing work 1915 to add branching conditions 1032, waiting conditions 1033, processing content 1031 after branching by branching condition 1032, and predefined processing 2040. Figure 30 shows an example of a flowchart after performing editing operation 1915. This flowchart is stored in the data storage unit 340 as flowchart 366 in Figure 3.

[0086] Next, the flowchart 1903 is input into the device design information 380 by the design document design information acquisition processing unit 392, and then the sequence program generation processing unit 393 automatically generates the sequence program 1904 1916. As an example of an automatically generated sequence program, Figure 23 shows the automatically generated sequence program for the closing of stepper number 3 in the stepper configuration table. Figure 31(a) shows an example of the stepper operation sequence processing unit 1421 (see Figure 14) in the automatically generated sequence program 1904. Figure 31(b) shows an example of the stepper error processing unit 1431 in the automatically generated sequence program 1904. This sequence program is stored in the data storage unit 340 as the sequence program 381 in Figure 3. Figure 32 shows an example of the stepper operation sequence processing unit 1421 (see Figure 14) in the automatically generated sequence program 1904 in ladder format. Figure 33 shows an example of the stepper abnormality processing unit 1431 in the automatically generated sequence program 1904 in ladder format. This sequence program is stored in the data storage unit 340 as the sequence program 381 in Figure 3. Finally, the software design is completed by verifying the automatically generated sequence program (1904) (1916). [Examples]

[0087] In Example 2, the procedure for soft debugging is described, which involves debugging the sequence program 381, making corrections, and then automatically generating the software design document 360 and the mechanical design document 350 as feedback.

[0088] Figure 19 shows an example of a soft debugging process. The debugner debugs the sequence program 1904 1918, finds a problem, and performs the correction work 1921.

[0089] Next, the sequence program 1904 is input into the device design information 380 by the sequence program information acquisition processing unit 394, and then the design document generation processing unit 391 automatically generates the flowchart 1903 1922.

[0090] After confirming that the sequence program modifications are reflected in flowchart 1903, flowchart 1903 is input into the device design information 380 by the design document design information acquisition processing unit 392. Subsequently, the design document generation processing unit 391 automatically generates design documents consisting of a stepper configuration table, I / O table, SW assignment table, error table, and controller control module management table 1923, and simultaneously generates a time chart 1924. [Examples]

[0091] In Example 3, the procedure for creating the sequence program 381 is described using only the software design document 360, without the mechanical design document 350, as part of the software design work procedure. Figure 19 shows an example of software design work. The software designer creates design documents 1902, consisting of a stepper configuration table, I / O table, SW assignment table, error table, and controller control module management table, through the design document creation work 1912.

[0092] Next, the design documents 1902, consisting of a stepper configuration table, I / O table, SW assignment table, error table, and controller control module management table, are input into the device design information 380 by the design document design information acquisition processing unit 392. After that, the design document generation processing unit 391 automatically generates a flowchart 1903 1914. Next, the software designer reviews the device specifications and then performs editing work 1915, which is a flowchart design task, to place terminals 2001, processes 2002, decisions 2003, and defined processes 2004 on flowchart 1903 and indicate the necessary information for each. Next, the flowchart 1903 is input into the device design information 380 by the design document design information acquisition processing unit 392, and then the sequence program generation processing unit 393 automatically generates the sequence program 1904 1916. Finally, the software design is completed by verifying the automatically generated sequence program (1904) (1916).

[0093] [Other embodiments] Furthermore, the present invention is not limited to the embodiments and examples described above, and many modifications are possible within the technical concept of the present invention. The information processing method and information processing device of the present invention can be applied to the software design and program creation of various machines and equipment, such as industrial robots, service robots, and processing machines operated by computer numerical control, in addition to production equipment. For example, the machine and equipment can automatically perform movements such as extension and retraction, bending and straightening, vertical movement, horizontal movement, or rotation, or combinations thereof, based on information stored in a memory device provided in the control device.

[0094] The information processing device according to the present invention may be integrated with machinery to form, for example, a production system. A sequence program automatically generated from a design document using the information processing method of the present invention, or a design document automatically generated from a sequence program, is also included in embodiments of the present invention. Alternatively, a manufacturing method that uses a sequence program automatically generated from a design document using the information processing method or information processing device of the present invention to control machinery such as an industrial robot to manufacture an article is also included in embodiments of the present invention.

[0095] Embodiments of the present invention also include the control method related to the information processing operation described above, a control program capable of executing the control method, and a recording medium readable by a computer that stores the control program. As a recording medium for supplying the control program, for example, ROM, disks, external storage devices, etc., may be used. To give a specific example, as a computer-readable non-temporary recording medium, flexible disks, optical disks, magneto-optical disks, magnetic tapes, non-volatile memory such as USB memory, SSDs, etc., can be used.

[0096] The present invention can also be realized by supplying a program that implements one or more of the functions of the embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. [Explanation of symbols]

[0097]

Claims

1. An information processing method that processes a time chart for controlling a device, a flowchart for controlling the device, and a sequence program for controlling the device in conjunction with a processing unit, The aforementioned time chart shows the operating time of the operation performed by the device. The aforementioned processing unit, When the flowchart is changed, the time chart and the sequence program are updated to correspond to the change in the flowchart. An information processing method characterized by the following:

2. The time chart shows the sequence of operations performed by the device, The information processing method according to feature 1.

3. The time chart shows the transition time when the device transitions from the first operation to the second operation, The information processing method according to claim 1 or 2, characterized by the features described above.

4. The time chart shows the operating time in chronological order. The information processing method according to any one of claims 1 to 3.

5. Data that represents the same information is associated with the data shown in the time chart, the data shown in the flowchart, and the data shown in the sequence program. The information processing method according to claim 1 or 2, characterized by the features described above.

6. The data shown in the time chart, the data shown in the flowchart, and the data shown in the sequence program indicate the design information of the apparatus. The information processing method according to any one of claims 1 to 5.

7. The design information includes stepper configuration information and / or I / O information and / or controller control module management information and / or controller control module address map information and / or error table and / or basic module address map information, The information processing method according to feature 6.

8. The aforementioned processing unit, When the sequence program is changed, the time chart and the flowchart are updated to correspond to the change in the sequence program. The information processing method according to any one of claims 1 to 7.

9. The aforementioned processing unit, When the time chart is changed, the flowchart and the sequence program are updated to correspond to the change in the time chart. The information processing method according to any one of claims 1 to 8.

10. The processing unit, The time chart and the sequence program are automatically updated according to the content entered by an input unit configured to receive changes to the flowchart from the user. The information processing method according to any one of claims 1 to 9.

11. The processing unit, The flowchart and the time chart are automatically updated according to the content entered by an input unit configured to receive instructions from the user to change the sequence program. The information processing method according to any one of claims 1 to 9.

12. The processing unit, The flowchart and the sequence program are automatically updated according to the content entered by an input unit configured to receive instructions from the user to change the aforementioned time chart. The information processing method according to any one of claims 1 to 9.

13. The flowchart allows the user to modify at least one of the following: branching conditions, waiting conditions, processing content, and predefined processing content. The information processing method according to any one of claims 1 to 12.

14. The aforementioned time chart allows the user to change at least one of the following: operating device name, operating state name, operating sequence, operating time, operating sequence dependency relationship, and transition time. The information processing method according to any one of claims 1 to 13.

15. The sequence program is a ladder program. The information processing method according to any one of claims 1 to 14.

16. The processing unit, Referencing a software library containing a template program for obtaining the aforementioned sequence program. The information processing method according to any one of claims 1 to 13.

17. The aforementioned apparatus is at least one of production equipment, a robot, or a processing machine. The information processing method according to any one of claims 1 to 14.

18. A method for manufacturing an article, characterized in that the apparatus is controlled using the sequence program processed by the information processing method described in any one of Claims 1 to 17 to manufacture the article.

19. An information processing apparatus that processes a time chart for controlling a device, a flowchart for controlling the device, and a sequence program for controlling the device in conjunction with a processing unit, The aforementioned time chart shows the operating time of the operation performed by the device. The aforementioned processing unit, When the flowchart is changed, the time chart and the sequence program are updated to correspond to the change in the flowchart. An information processing device characterized by the following:

20. A program for causing a computer to execute the information processing method described in any one of claims 1 to 17.

21. A computer-readable recording medium storing the program described in claim 20.

Citation Information

Patent Citations

  • Automatic generating method for sequence program

    JP1992303205A

  • Sequence ladder circuit design support system

    JP1993333907A

  • Automatic preparing device for control program

    JP1995191717A

  • Visual programming system, visual programming method, program for visual programming, and storage medium containing the program

    JP2004070810A