Information processing device, information processing method, program, recording medium, and manufacturing method of article

JP2025028230AActive Publication Date: 2025-02-28CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024219789
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-03-23
Filing Date
2024-12-16
Publication Date
2025-02-28
Estimated Expiration
2040-10-27

AI Technical Summary

Benefits of technology

【0014】 本発明によれば、設計ドキュメント及びシーケンスプログラムの生成作業や修正作業の効率と正確性を向上することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025028230000001_ABST
    Figure 2025028230000001_ABST
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 device, an information processing method, and the like. [Background technology]

[0002] 2. Description of the Related Art It is known that various types of equipment, including production equipment, are provided with a sequence control unit having a built-in computer, and the sequence control unit controls the sequential operations performed by various operating devices included in the equipment.

[0003] In generating sequence programs for such sequence control, the sequence programs become more complex as the scale of production equipment increases and the number of operating devices used increases, resulting in a huge amount of software design work. Furthermore, as the scale of the sequence program increases, the possibility of bugs and other problems occurring increases, resulting in a problem of software quality degradation. Therefore, a method has been developed for automatically generating a sequence program by inputting necessary information into a design document that visualizes sequence control.

[0004] For example, the method disclosed in Patent Document 1 creates an actuator device map that describes multiple operating devices installed in a production device together with names that an operator can semantically recognize, and a flow map that describes the operating sequence of the operating devices together with the names.Then, these two maps are linked using the names as keys to automatically generate a sequence program for the production device. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 04-303205 Summary of the Invention [Problem to be solved by the invention]

[0006] After generating a sequence program, a debugging process is usually performed to confirm that the sequence program operates as designed. If a problem is discovered during the debugging process, the sequence program is usually modified, and after it is confirmed that the program operates normally, the modification is fed back into the software design documents.

[0007] However, in the conventional method such as that described in Patent Document 1, the sequence program is automatically generated from the software design document, which is a one-way flow. Therefore, when a defect occurs in the sequence program during debugging, the software design document is corrected, the sequence program is regenerated, and then the operation is rechecked. In this case, if the correction is not successful, the same work must be repeated, which is not desirable from the viewpoint of work efficiency. In other words, the conventional method is not suitable for defect correction work.

[0008] Generally, there are multiple types of software design documents depending on the purpose, and they are often related to each other. Therefore, when one software design document is modified, other related software design documents also need to be modified, which creates the problem of time-consuming work.

[0009] In addition, the conventional method did not achieve linkage between software design documents and mechanical design documents. In the development of production equipment, the mechanical designer creates the mechanical design documents, and then the software designer creates the software design documents based on the mechanical design documents. However, because linkage with the mechanical design documents was not achieved in the past, a huge amount of information input work was required when generating software design documents based on the information in the mechanical design documents, and there was also concern about a decrease in quality due to input errors.

[0010] Furthermore, with conventional methods, the control method used for automatically generating sequence programs was limited, and branching conditions, waiting conditions, and error handling were not automatically generated, making it difficult to accommodate flexible control.

[0011] Therefore, there has been a demand for a method for improving the efficiency and accuracy of the work of creating and modifying design documents and sequence programs. [Means for solving the problem]

[0012] A first aspect of the present invention is an information processing device comprising a data structure for sharing design information among a time chart, a flowchart, and a sequence program, and a processing unit, wherein the processing unit processes the time chart, the flowchart, and the sequence program in conjunction with each other based on the data structure, and when the flowchart is changed, changes the time chart and the sequence program based on the change to the flowchart and the data structure to correspond to the change to the flowchart.

[0013] In addition, a second aspect of the present invention is an information processing method based on a data structure in which design information is shared among a time chart, a flowchart, and a sequence program, characterized in that a processing unit processes the time chart, the flowchart, and the sequence program in conjunction with each other based on the data structure, and when the flowchart is changed, changes the time chart and the sequence program based on the change to the flowchart and the data structure to correspond to the change to the flowchart. Effect of the Invention

[0014] According to the present invention, it is possible to improve the efficiency and accuracy of the work of creating and modifying design documents and sequence programs. [Brief description of the drawings]

[0015] [Figure 1] FIG. 2 is a diagram showing a control system configuration of a production device according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram showing a system configuration of a sequence control unit according to an embodiment of the present invention. [Diagram 3] FIG. 1 is a diagram showing a configuration of a production equipment software design system according to an embodiment of the present invention. [Figure 4] FIG. 2 is a diagram showing information elements constituting a time chart according to an embodiment of the present invention. [Diagram 5] FIG. 4 is a diagram showing information elements constituting a stepper configuration table in the embodiment of the present invention. [Figure 6] FIG. 2 is a diagram showing information elements constituting an IO table in an embodiment of the present invention. [Figure 7] FIG. 4 is a diagram showing information elements constituting a SW allocation table in the embodiment of the present invention. [Figure 8] 4 is a diagram showing information elements constituting controller control module management information according to the embodiment of the present invention. [Figure 9] FIG. 4 is a diagram showing information elements constituting anomaly information according to an embodiment of the present invention. [Figure 10] FIG. 4 is a diagram showing information elements constituting a flowchart according to an embodiment of the present invention. [Figure 11] 3A and 3B are diagrams showing a processing configuration constituting a basic module and an address configuration of a basic module address map according to an embodiment of the present invention. [Figure 12] 3 is a diagram showing a processing configuration constituting a controller control module and an address configuration of a controller control module address map in the embodiment of the present invention. FIG. [Figure 13] FIG. 2 is a diagram showing information elements constituting device design information according to an embodiment of the present invention. [Figure 14] FIG. 4 is a diagram showing a program configuration of a sequence program according to the embodiment of the present invention. [Figure 15] FIG. 4 is a diagram showing a process of a design document generation processing unit in the embodiment of the present invention. [Figure 16] 6 is a diagram showing the process of a design document design information acquisition processing unit according to the embodiment of the present invention. [Figure 17] FIG. 4 is a diagram showing a process of a sequence program generation processing unit according to the embodiment of the present invention. [Figure 18] FIG. 4 is a diagram showing a process of a sequence program information acquisition processing unit according to the embodiment of the present invention. [Figure 19] 3A to 3C are diagrams showing examples of design work and debugging work according to an embodiment of the present invention. [Figure 20] 1A to 1C are diagrams showing examples of figures constituting a flowchart according to an embodiment of the present invention. [Figure 21] 1 shows a production device in which a sequence program is generated by applying the information processing according to an embodiment of the present invention. [Figure 22] FIG. 4 is a diagram showing an example of a time chart according to the embodiment; [Figure 23] FIG. 4 is a diagram showing an example of a stepper configuration table according to the embodiment. [Figure 24] FIG. 13 is a diagram showing an example of an IO table according to the embodiment. [Diagram 25] FIG. 4 is a diagram showing an example of a controller control module management table according to the embodiment. [Figure 26] FIG. 4 is a diagram showing an example of an anomaly table according to the embodiment. [Figure 27] FIG. 4 is a diagram showing an example of a basic module address map according to the embodiment. [Figure 28] FIG. 4 is a diagram showing an example of a controller control module address map according to the embodiment. [Figure 29] FIG. 13 is a diagram showing an example of an automatically generated flowchart according to the embodiment. [Diagram 30] FIG. 13 is a diagram showing an example of a flowchart after a correction operation according to the embodiment has been performed. [Diagram 31] 1A is a diagram showing an example of an automatically generated sequence program according to the embodiment, and FIG. 1B is a diagram showing another example of an automatically generated sequence program according to the embodiment. [Diagram 32] FIG. 4 is a diagram showing an example of an automatically generated ladder-format sequence program according to the embodiment. [Diagram 33] FIG. 13 is a diagram showing another example of an automatically generated ladder-format sequence program according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] An embodiment of the present invention will be described with reference to the drawings. In the drawings referred to in the following description of the embodiments and examples, elements denoted by the same reference numbers have the same functions unless otherwise specified.

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

[0018] The input device 121 is, for example, a device such as a sensor that notifies the state of a production device. The operation device 131 is, for example, a device such as a touch panel or a push button switch that allows an operator to give instructions to the sequence control unit 101. The operating device 141 is, for example, a cylinder or the like that operates only by ON / OFF of a control signal from the sequence control unit 101. The operating device 152 is an operating device that can perform complex operations under the control of the controller 151, for example, a multi-axis robot or an image processing device. The controller 151 controls the operating device 152 under instructions from the sequence control unit 101.

[0019] Fig. 2 is a diagram showing a system configuration of the sequence control unit 101 shown in Fig. 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 CPU 201 is a computer that performs various processes such as arithmetic operations, data creation, and memory write and read processes in accordance with given instructions.

[0020] The input unit 202 is an interface that receives signals sent to the sequence control unit from the input device 121, the operation device 131, the controller 151, etc. via a terminal block or a connection connector. The output unit 203 is an interface that transmits signals from the sequence control unit to the operation device 131, the operation device 141, the controller 151, and the like via a terminal block or a connection connector.

[0021] A sequence program 381 to be described later for execution by the CPU and program comments are stored in the program storage unit 204. As a storage unit serving as the program storage unit 204, for example, a storage medium such as a RAM, a ROM, or a memory card is used. The memory 205 is a storage medium that stores information such as the results of calculations performed by the CPU 201. As the memory 205, a storage medium such as a RAM or a HDD is used.

[0022] FIG. 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, a memory 320, an input processing unit 331, a display processing unit 332, a data storage unit 340, and a program storage unit 390. Note that each functional element shown in FIG. 3 is a functional concept, and does not necessarily have to be physically configured as shown in the figure. For example, the specific form of distribution and integration of each functional block is not limited to the illustrated example, and all or part of them can be functionally or physically distributed and integrated in any unit depending on the usage situation, etc. Each functional block can be configured using hardware or software.

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

[0024] The data storage unit 340 is a storage unit, and has storage areas for storing a mechanical design document 350 , a software design document 360 , a software library 370 , device design information 380 , and a sequence program 381 . The device design information 380 constitutes a data structure in which the time chart, the flow chart, and the sequence program share mutually related design information.

[0025] Program storage unit 390 stores programs to be executed by CPU 310 in design document generation processing unit 391, design document design information acquisition processing unit 392, sequence program generation processing unit 393, and sequence program information acquisition processing unit 394. Data storage unit 340 and the memory unit serving as program storage unit 390 each include a storage medium such as a hard disk.

[0026] Next, the mechanical design document 350, the software design document 360, the software library 370, the device design information 380, and the sequence program 381 stored in the data storage unit 340 will be described in detail. The mechanical design document 350 is mechanical design information required for software design, and includes a time chart 351 .

[0027] The time chart 351 is a document for a mechanical designer to consider the operating time when the production equipment performs a series of operations under normal conditions, and shows the operating sequence of all operating states of the operating equipment 141 and the operating equipment 152 and the transition time for each operating state.

[0028] FIG. 22 shows an example of a time chart. This time chart shows the state of each operating device when the production device shown in FIG. 21 performs a series of operations. That is, 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 work position of the coating robot RB2, and the coating robot RB2 applies the workpiece at the work position. Then, when the coating robot RB2 completes the coating operation, the transport table CV moves the workpiece to the receiving position of the unloading robot RB3. The unloading robot RB3 picks up the workpiece at the receiving position and carries it to the discharge pallet to place it on. The time chart in FIG. 22 shows the operating state of each operating device, the operating sequence, the transition time for each operating state, and the like for the relevant operations of the production device.

[0029] 4 shows the components of a time chart in a schematic manner, and the time chart is configured to include information elements of an operating device name 401, an operating state name 402, an operating sequence 403, an operating time 404, and an operating sequence dependency relationship 405. The operating device name 401 is a name given to identify each of the operating devices 141 and 152. The operating state name 402 is a name given to identify the operating state of the operating devices 141 and 152. Here, an operating state refers to the operating position of an operating device, and at least two or more operating states are defined for each operating device. For example, in the case of a two-position cylinder, there are two operating states, and names such as "go" and "return" and "out" and "return" are given.

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

[0031] Returning to FIG. 3, software design document 360 is information required when designing software, and includes a stepper configuration table 361, an IO table 362, a SW allocation table 363, a controller control module management table 364, an error table 365, and a flowchart 366.

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

[0033] Steppers are configured under the following three principles. First, steppers are configured with input devices and operating devices that have the same control role. Second, operating devices that belong to the same stepper are limited to devices that operate synchronously within that stepper. In other words, operating devices that operate asynchronously are managed by another stepper. Third, input devices and operating devices can belong to only one stepper, and they cannot belong to multiple steppers in the same stepper. Note that steppers can operate asynchronously with each other, and can operate while being interfered with by each other, such as checking the operating state of the other, waiting for operation, or resuming operation. Such an interference relationship is expressed as an operation order dependency relationship 405 on the time chart 351. The stepper number 501 is a number for identifying the stepper on the program. The stepper name 502 is a name by which the user of the production equipment identifies the stepper. The operating device name 503 is the name of the operating device 141 and the operating device 152 that belong to the stepper.

[0034] An example of the stepper configuration table is shown in Fig. 23. This stepper configuration table corresponds to a series of operations performed by the production apparatus shown in Fig. 21, that is, the time chart in Fig. 22.

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

[0036] FIG. 6 shows the components of the IO table 362. The IO table includes information elements of a device name 601, a state name 602, a device type 603, and an IO number 604, as shown in FIG. 6. Here, the device name 601 is a name given to identify each device of the input device 121, the operation device 131, the operation device 141, and the operation device 152. The state name 602 is a name given to identify each state of the input device 121, the operation device 131, the operation device 141, and the operation device 152. The device type 603 is an identifier for identifying devices used by the input device 121, the operation device 131, the operation device 141, and the operation device 152. For example, in the case of the operation device 141, it indicates whether the device used is a cylinder, and if it is a cylinder, whether it is a single solenoid or a double solenoid. The IO number 604 is a terminal number connected at the input unit 202 and the output unit 203.

[0037] An example of an IO table is shown in Fig. 24. This IO table corresponds to a series of operations performed by the production device shown in Fig. 21, that is, the time chart in Fig. 22.

[0038] Returning to FIG. 3, SW allocation table 363 is a list of address allocations related to interfaces such as execution and display of switches arranged in operation device 131.

[0039] Fig. 7 shows a schematic diagram of the components of SW allocation table 363. As shown in Fig. 7, the SW allocation table is configured to include information elements of operating device name 701, operating state name 702, SW input address 703, and SW output address 704. A switch is provided for each operating device and operating state, and has a function to indicate whether it is on or off. When an unlit button is pressed, an operation is performed to bring the device into its own operating state, and the button lights up if the operating state of the production equipment matches.

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

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

[0042] Fig. 8 shows a schematic diagram of components of controller control module management table 364. As shown in Fig. 8, the controller control module management table includes information elements of an operating device name 801, a controller control module name 802, and a controller control module assigned address 803.

[0043] Here, the operating device name 801 is a name given to identify each device of the operating device 152. The controller control module name 802 is a name for identifying the type of the controller control module 373. When creating the controller control module management table 364, the name of the controller control module 373 in the software library 370 is extracted, and the extracted name is selected from the name list. The controller control module allocation address 803 is used to allocate the memory and IO number used by the controller control module to the memory 205.

[0044] An example of the controller control module management table is shown in Fig. 25. This controller control module management table corresponds to the series of operations performed by the production device shown in Fig. 21, that is, the time chart in Fig. 22.

[0045] Returning to FIG. 3, the abnormality table 365 is a list for managing abnormalities that occur in the production equipment. Fig. 9 shows a schematic diagram of the components of the abnormality table 365. As shown in Fig. 9, the abnormality table is configured to include the information elements of an abnormality number 901, an abnormality name 902, and an abnormality output address 903. The abnormality number 901 is a number given to identify an abnormality. The abnormality name 902 is a name given to identify an abnormality. The abnormality output address 903 is an allocation to the memory 205 of a flag for notifying the occurrence of an abnormality on the sequence program 381.

[0046] An example of the abnormality table is shown in Fig. 26. This abnormality table shows abnormalities that may occur when the series of operations performed by the production device shown in Fig. 21, that is, the operations in the time chart of Fig. 22, are performed.

[0047] Returning to FIG. 3, the flowchart 366 shows the process flow of the sequence program 381, and is created in units of steppers by combining figures consisting of a terminal 2001, a process 2002, a decision 2003, and a defined process 2004 shown in FIG.

[0048] Fig. 10 shows a schematic diagram of components of the flowchart 366. As shown in Fig. 10, the flowchart includes information 1010 relating to names, information 1020 relating to addresses, and information 1030 relating to sequence control.

[0049] The information 1010 relating to names is made up of a stepper number 1011, a stepper name 1012, an operating device name 1013, an operating state name 1014, and an abnormality name 1015. The information 1020 relating to addresses is made up of an IO number 1021, a step allocation address 1022, a controller control module allocation address 1023, an abnormality output address 1024, an equipment mode allocation address 1025, and an equipment state allocation address 1026. The information 1030 relating to sequence control is made up of information elements of processing contents 1031, branch conditions 1032, wait conditions 1033, and processing order 1034.

[0050] The stepper number 1011 is a number for identifying a stepper, and is the same information as the stepper number 501 in the stepper configuration table 361. The stepper name 1012 is a name for identifying the stepper by the user of the production equipment, and is the same information as the stepper name 502 in the stepper configuration table 361. The operating device name 1013 is a name given to identify each operating state of the operating device 141 and the operating device 152, and is the same information as the operating device name 503 in the stepper configuration table 361. The operating state name 1014 is a name given to identify the operating states of the operating device 141 and the operating device 152. In this way, the flowchart and the stepper configuration table can be said to be a shared data structure that shares the same data. Anomaly name 1015 is a name given to identify an anomaly, and is the same information as anomaly name 902 in anomaly table 365. In this way, the flowchart and the anomaly table can be said to be a shared data structure that shares the same data.

[0051] The IO number 1021 is a terminal number connected by the input unit 202 and the output unit 203, and is the same information as the IO number 604 in the IO table 362. In this way, the flowchart and the IO table can be said to have a shared data structure that shares the same data. The step allocation address 1022 is an address given to the figures in FIG. 20 arranged on the flowchart, and is an address for identifying the processing content on the sequence program 381. The controller control module allocation address 1023 is used to allocate the memory and IO number used by the controller control module to the memory 205, and is the same information as the controller control module allocation address 803 in the controller control module management table 364. In this way, the flowchart and the controller control module management table can be said to have a shared data structure that shares the same data. The abnormal output address 1024 is an allocation of a flag for notifying the occurrence of an abnormality on the sequence program 381 to the memory 205, and is the same information as the abnormal output address 903 in the abnormality table 365. The device mode allocation address 1025 is an allocation for flags relating to device modes such as automatic, manual, etc., and is the same information as the device mode allocation address 1111 of the basic module address map 372. The device status allocation address 1026 is an allocation for flags relating to device statuses such as start, stop, abnormal, etc., and is the same information as the device status allocation address 1112 of the basic module address map 372. In this way, the flowchart and the basic module address map can be said to be a shared data structure that shares the same data.

[0052] The processing contents 1031 are information on the state change of the operation targeting all the operating states of the operating devices 141 and 152, the state change of the flag in the memory 205, the contents of calculation, etc. The state change of the operation targeting all the operating states of the operating devices 141 and 152 is the same information as the operation sequence 403 of the time chart 351. In this way, the flow chart and the time chart can be said to be a shared data structure that shares the same data. The branch condition 1032 is information for branching the process based on the IO number 604, the controller control module allocation address 803, the flag information in the memory 205, etc. The wait condition 1033 is information for waiting for a pause by a timer or permission from another stepper expressed by the operation sequence dependency 405. The processing sequence 1034 is information on the processing sequence of the processing contents 1031, the branch condition 1032, and the wait condition 1033.

[0053] 20 is a figure that is selected when representing the start and end of a stepper, and when the processing content 1031 represents an apparatus abnormality. Information 1010 relating to the name is represented within the figure frame, and information 1020 relating to the address is represented outside the figure frame.

[0054] Moreover, process 2002 is a graphic selected when process content 1031 represents something other than an apparatus abnormality. Name-related information 1010 is represented within a graphic frame, and address-related information 1020 is represented outside the graphic frame. Moreover, decision 2003 is a graphic selected when branching condition 1032 and wait condition 1033 are represented. Name-related information 1010 is represented within a graphic frame, and address-related information 1020 is represented outside the graphic frame. Moreover, defined process 2004 is a graphic selected when representing the start of processing for another stepper represented by operation order dependency 405 for another stepper listed in stepper configuration table 361. Name-related information 1010 is represented within a graphic frame, and address-related information 1020 is represented outside the graphic frame.

[0055] The flowchart 366 is completed by connecting each of the figures of the terminal 2001, the process 2002, the decision 2003, and the defined process 2004 with lines according to the information of the process order 1034. Therefore, the flowchart 366 includes information of the time chart 351, the stepper configuration table 361, the IO table 362, the controller control module management table 364, the error table 365, the basic module address map 372, and the controller control module address map 374 (see FIG. 29 relating to the embodiment 1 described later).

[0056] Furthermore, when creating the flowchart 366, information that is not included in the above includes the branch condition 1032 and the wait condition 1033 related to the information 1030 related to sequence control, the processing content 1031 after branching at the branch condition 1032, and the defined processing 2040. The above is a part that needs to be created at the discretion of the software designer, and the software designer completes the flowchart 366 through repeated consideration. In other words, a flexible software design including the branch condition 1032, the wait condition 1033, the processing content 1031 after branching at the branch condition 1032, and the defined processing 2040 can be expressed only by the flowchart 366, except for the sequence program 381. (See FIG. 30 related to the first embodiment described later.)

[0057] 3, the software library 370 is a group of programs that are highly versatile and can be used in different production devices, and includes one or more types of basic modules 371 and basic module address maps 372. In addition, the software library 370 can 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 to be referenced when generating a sequence program 381, and are copied and incorporated into the sequence program 381 as necessary.

[0059] FIG. 11 is a schematic diagram showing components of the basic module 371 and the basic module address map 372 shown in FIG. The basic module 371 is a program for managing the mode and state of the production device, and includes 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 the device mode such as the automatic mode, the manual mode, etc. The state management processing unit 1102 is a processing unit that manages the device state such as start, stop, abnormality, etc.

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

[0061] FIG. 27 shows an example of a basic module address map. The device mode allocation address 1111 is an address allocated to a device mode flag such as automatic mode, manual mode, etc. The device status allocation address 1112 is an address allocated to a device status flag such as start, stop, abnormality, etc. The basic module processing unit allocation address 1113 is an address allocation other than the device mode allocation address 1111 and the device status allocation address 1112 of the memory used for processing of the basic module. The addresses allocated to the basic module 371 are fixed and not changed in the memory 205.

[0062] 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] FIG. 12 is a schematic diagram showing components of the controller control module 373 and the controller control module address map 374 shown in FIG.

[0064] The controller control module 373 includes an IF processing unit 1201 and a controller control processing unit 1202. The IF processing unit 1201 is an interface processing unit related to communication between. 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 in which the allocated addresses of the memory used by the controller control module 373 are described, and exists for each type of controller control module 373. It is configured by including information elements of an IF processing unit allocated address 1211 and a controller control processing unit allocated address 1212.

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

[0067] The device design information 380 shown in Fig. 3 is configured to include IO information, time chart information, stepper configuration information, flow chart information, abnormality information, basic module address map information, controller control module management information, and controller control module address map information, as shown in Fig. 13, and is a storage unit that manages these pieces of information in a unified manner. This storage unit may be electronic information capable of managing information, and may be in the form of 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 that they can be automatically generated from each other. Furthermore, the device design information 380 also has the same data structure as the sequence program 381, so that they can be automatically converted from each other.

[0068] 3 is a program stored in the program storage unit 204 for executing sequence control of the production device. As shown in the schematic configuration in FIG. 14, the sequence program includes a basic module unit 1401, a stepper operation order 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, and selects one from the basic modules 371 stored in the software library 370, replicates 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, and is created based on the address-related information 1020 and the sequence control-related information 1030. The stepper abnormality processing section 1431 is a processing section related to abnormality notification, and is created based on the address-related information 1020 and the sequence control-related information 1030.

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

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

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

[0073] 15 is a flowchart showing the processing of design document generation processing unit 391, in which necessary information is obtained from device design information in step S1501, and then in the following step S1502, design document generation is executed to automatically generate mechanical design document 350 and software design document 360. At this time, the document to be automatically generated can be arbitrarily specified from mechanical design document 350 or software design document 360.

[0074] Returning to FIG. 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 to the device design information 380 .

[0075] FIG. 16 is a flowchart showing the process 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 input to the device design information.

[0076] Returning to FIG. 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] 17 is a flowchart showing the processing of sequence program generation processing unit 393, in which necessary information is obtained from device design information in step S1701, and a sequence program is generated in the following step S1702. At this time, program comments to be stored in program storage unit 204 are also created based on the information in name-related information 1010.

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

[0079] 18 is a flowchart showing the processing of sequence program information acquisition processing unit 394, where information is acquired from the sequence program in step S1801, and the information is input to the device design information in the following step S1802. At this time, the information is also created based on the information in name-related information 1010 from the program comments stored in program storage unit 204.

[0080] According to the embodiment of the present invention described above, an information processing system is configured that includes a data structure for mutually sharing design information relating to mechanical design documents and software design documents that are related to each other, an automatic design document generation unit that uses the data structure to automatically generate mechanical design documents and software design documents, and an automatic sequence program generation unit that automatically generates a sequence program using the mechanical design documents, software design documents, and a software library.The system can also include an automatic software design document generation unit that automatically generates a new software design document using the changed sequence program when the sequence program is changed. This makes it possible to improve the efficiency and accuracy of the creation and revision of mechanical design documents, software design documents, and sequence programs. The embodiments of the present invention will be described more specifically below with reference to examples. EXAMPLES

[0081] In the first embodiment, a procedure for automatically generating a sequence program 381 from a mechanical design document 350 and a software design document 360 will be described as a software design procedure.

[0082] 19 is a diagram showing an example of software design work. In the diagram, processes such as editing and correction performed by an operator are indicated by dotted arrows, and processes such as generation automatically performed by an information processing device are indicated by solid arrows. First, a mechanical designer creates a time chart 1901 in a time chart creation task 1911 and stores it in a mechanical design document 350 of the information processing device. A software designer starts software design by referring to the completed time chart 1901. The software designer creates design documents 1902 consisting of a stepper configuration table, an IO table, a SW allocation table, an error table, and a controller control module management table in a design document creation task 1912 and stores it in a software design document 360 of the information processing device.

[0083] Next, the time chart 1901 is input to the device design information 380 by the design document design information acquisition processing unit 392 , and then the flow chart 1903 is automatically generated 1913 by the design document generation processing unit 391 . An example of a flowchart is shown in Fig. 29. This flowchart is a flowchart relating to inputting stepper number 3 into the stepper configuration table of Fig. 23. This flowchart is temporarily stored in the data storage unit 340 as the flowchart 366 of Fig. 3.

[0084] Next, design documents 1902 consisting of a stepper configuration table, an IO table, a SW allocation table, an abnormality table, and a controller control module management table are input to the device design information 380 by a design document design information acquisition processing unit 392. After that, a flowchart 1903 is automatically generated 1914 by a design document generation processing unit 391. Note that since the flowchart 1903 has already been automatically generated in the operation of automatic generation 1913, information is actually added differentially to the flowchart 1903 after automatic generation 1913.

[0085] Next, a software designer checks the flowchart 1903 created by automatic generation 1913 and automatic generation 1914, and after examining the device specifications, performs editing work 1915 to add a branch condition 1032, a wait condition 1033, and processing content 1031 after branching at the branch condition 1032 and a defined process 2040. 30 shows an example of a flowchart after performing the editing operation 1915. This flowchart is stored in the data storage unit 340 as the flowchart 366 of FIG.

[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 1916 a sequence program 1904 . As an example of an automatically generated sequence program, a sequence program automatically generated for inputting stepper number 3 in the stepper configuration table of FIG. 23 is shown. Fig. 31(a) is an example of a stepper operation sequence processing unit 1421 (see Fig. 14) in the automatically generated sequence program 1904. Also, Fig. 31(b) is an example of a stepper abnormality 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 Fig. 3. 32 is an example of a stepper operation sequence processing unit 1421 (see FIG. 14) in a sequence program 1904 that is automatically generated in a ladder format. Also, FIG. 33 is an example of a stepper abnormality processing unit 1431 in a sequence program 1904 that is automatically generated in a ladder format. This sequence program is stored in the data storage unit 340 as the sequence program 381 in FIG. 3. Finally, the automatically generated sequence program 1904 is checked 1917 to complete the software design. EXAMPLES

[0087] In the second embodiment, a procedure for debugging software will be described, in which a sequence program 381 is debugged, corrections are made, and then a software design document 360 and a mechanical design document 350 are automatically generated as feedback.

[0088] 19 is a diagram showing an example of software debugging work. A person in charge of debugging debugs 1918 a sequence program 1904, finds a defect, and performs correction work 1921.

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

[0090] It is confirmed that the correction of the sequence program is reflected in the flowchart 1903, and the flowchart 1903 is input to the device design information 380 by the design document design information acquisition processing unit 392. Thereafter, the design document generation processing unit 391 automatically generates 1923 design documents including a stepper configuration table, an IO table, a SW allocation table, an error table, and a controller control module management table, and simultaneously automatically generates 1924 a time chart. EXAMPLES

[0091] In the third embodiment, a procedure for creating a sequence program 381 using only a software design document 360 without a mechanical design document 350 will be described as a software design procedure. 19 is a diagram showing an example of software design work. A software designer creates design documents 1902 consisting of a stepper configuration table, an IO table, a SW allocation table, an error table, and a controller control module management table through a design document creation work 1912.

[0092] Next, design documents 1902 consisting of a stepper configuration table, an IO table, a SW allocation table, an abnormality table, and a controller control module management table are input to the device design information 380 by a design document design information acquisition processing unit 392. Thereafter, a design document generation processing unit 391 automatically generates 1914 a flowchart 1903. Next, a software designer examines the device specifications, and then performs an editing operation 1915 as a flowchart design operation in which terminals 2001, processes 2002, decisions 2003, and defined processes 2004 are arranged on a flowchart 1903, and the necessary information is written 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 1916 a sequence program 1904 . Finally, the automatically generated sequence program 1904 is checked 1917 to complete the software design.

[0093] [Other embodiments] The present invention is not limited to the above-described embodiment and examples, 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 software design and program creation for various machines and equipment, such as industrial robots, service robots, processing machines operated by computer numerical control, etc., in addition to production equipment. For example, the machines and equipment can automatically perform operations such as expansion and contraction, bending and stretching, vertical movement, horizontal movement, or rotation, or a combination of these operations, based on information in a storage device provided in a control device.

[0094] The information processing device according to the present invention may be integrated with machinery and equipment to configure, 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 the embodiments of the present invention. Alternatively, a manufacturing method for manufacturing an article by controlling machinery and equipment such as an industrial robot using a sequence program automatically generated from a design document using the information processing method or information processing device of the present invention is also included in the embodiments of the present invention.

[0095] The control method relating to the above-mentioned information processing operation, a control program capable of executing the control method, and a computer-readable recording medium storing the control program are also included in the embodiments of the present invention. As a recording medium for supplying the control program, for example, a ROM, a disk, an external storage device, etc. may be used. To explain by way of specific examples, as a non-transitory computer-readable recording medium, a flexible disk, an optical disk, a magneto-optical disk, a magnetic tape, a non-volatile memory such as a USB memory, an SSD, etc. may be used.

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

[0097]

Claims

1. A data structure for allowing design information to be shared among a time chart, a flowchart, and a sequence program, and a processing unit; The processing unit includes: processing the time chart, the flow chart, and the sequence program in conjunction with each other based on the data structure; when the flowchart is changed, the time chart and the sequence program are changed based on the change in the flowchart and the data structure so as to correspond to the change in the flowchart.

23. An information processing apparatus comprising:

2. The processing unit includes: when the sequence program is changed, the time chart and the flowchart are changed based on the change in the sequence program and the data structure so as to correspond to the change in the sequence program; 2. The information processing apparatus according to claim 1,

3. The processing unit includes: when the time chart is changed, the flow chart and the sequence program are changed based on the change in the time chart and the data structure so as to correspond to the change in the time chart.

3. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.

4. an input unit configured to receive an instruction from a user to change at least one of the time chart, the flowchart, and the sequence program; The processing unit includes: execute a process of automatically changing the time chart and the sequence program based on the data structure and the instructions in the flowchart; 2. The information processing apparatus according to claim 1,

5. an input unit configured to receive an instruction from a user to change at least one of the time chart, the flowchart, and the sequence program; The processing unit includes: executing a process of automatically changing the flowchart and the time chart based on the data structure and the instruction in the sequence program; 3. The information processing apparatus according to claim 2.

6. an input unit configured to receive an instruction from a user to change at least one of the time chart, the flowchart, and the sequence program; execute a process of automatically changing the flowchart and the sequence program based on the instructions in the data structure and the time chart; 4. The information processing apparatus according to claim 3.

7. The processing unit includes: When the generated sequence program is changed, the processing unit generates the data structure corresponding to the change based on the changed sequence program.

7. The information processing apparatus according to claim 1,

8. The design information includes stepper configuration information, and / or IO information, and / or controller control module management information, and / or controller control module address map information, and / or anomaly table, and / or basic module address map information; 8. The information processing apparatus according to claim 1,

9. A first input processing unit that edits the time chart; A second input processing unit that edits the flowchart; and a third input processing unit that edits the sequence program.

9. The information processing apparatus according to claim 1,

10. The time chart, the flow chart, and the sequence program share the same data.

10. The information processing apparatus according to claim 1,

11. The flowchart allows a user to change at least one of the branching condition, the waiting condition, the processing content, and the predefined processing content.

11. The information processing apparatus according to claim 1,

12. The time chart allows a user to change at least one of the following: the name of an operating device, the name of an operating state, the operating sequence, the operating time, and the operation sequence dependency relationship.

12. The information processing apparatus according to claim 1,

13. The sequence program is a ladder program.

13. The information processing apparatus according to claim 1,

14. A software library storing a template program for acquiring the sequence program is provided.

14. The information processing apparatus according to claim 1,

15. The design information is information regarding at least one device selected from the group consisting of production equipment, robots, and processing machines.

15. The information processing apparatus according to claim 1,

16. An information processing method based on a data structure in which design information is shared among a time chart, a flowchart, and a sequence program, comprising: The processing unit: processing the time chart, the flow chart, and the sequence program in conjunction with each other based on the data structure; when the flowchart is changed, the time chart and the sequence program are changed based on the change in the flowchart and the data structure so as to correspond to the change in the flowchart.

23. An information processing method comprising:

17. A program for causing a computer to execute the information processing method according to claim 16.

18. A computer-readable recording medium storing the program according to claim 17.

19. A method for manufacturing an article by controlling a machine using a sequence program processed by the information processing device according to any one of claims 1 to 15. A method for producing an article.

Citation Information

Patent Citations

  • 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

  • Automatic generating method for sequence program

    JP1992303205A