Information processing devices, information processing methods, production systems, and methods for manufacturing articles

By automatically generating and outputting flowcharts showing the differences before and after the changes, the problem of difficulty in assessing the scope of impact after changes to ladder logic programs is solved, thus improving the efficiency and accuracy of ladder logic program changes.

CN113496339BActive Publication Date: 2025-11-14CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202110280104.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-19
Filing Date
2021-03-16
Publication Date
2025-11-14
Estimated Expiration
2041-03-16

AI Technical Summary

Technical Problem

Existing technologies make it difficult to effectively assess the impact of changes to the ladder logic on the entire program, resulting in a significant amount of manual work and potential risks of erroneous operation.

Method used

A flowchart that automatically generates and outputs the differences between before and after the change through an information processing device helps to assess the content and scope of the changes to the trapezoidal program.

Benefits of technology

It significantly improves the workability of ladder logic program changes, reduces manual work time, and enables the rapid and accurate identification and verification of the scope of the changes' impact.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113496339B_ABST
    Figure CN113496339B_ABST
Patent Text Reader

Abstract

This disclosure relates to an information processing apparatus, an information processing method, a production system, and a method for manufacturing articles. The information processing apparatus includes a control unit configured to acquire information about the differences between the flowchart before and after the change when the flowchart has been modified, and to output a flowchart incorporating the difference information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to an information processing device. Background Technology

[0002] For example, automated assembly equipment implements sequence control, which sequentially advances the operation of units according to a pre-set process. A controller, known as a sequencer or programmable logic controller (PLC), is primarily used to sequentially control the components of the automated assembly equipment. Ladder programming is then widely used as its programming language. When designing a ladder program, even after the program has been implemented in the automated assembly equipment, there are situations where the ladder program needs to be modified to correct malfunctions or add functionality (e.g., due to field operations). Then, due to the modification of the ladder program, there is a possibility of new malfunctions. In such cases, it is often necessary to perform work to compare the ladder program before and after the modification to identify the differences and correct the ladder program.

[0003] As a technique for specifying different parts of a ladder logic program, Japanese Patent Application Publication No. 2012-094087 proposes a technique that makes it easy to perceive different parts by automatically extracting different parts from multiple ladder logic programs and by automatically generating documents describing the different parts.

[0004] The aforementioned Japanese patent application publication No. 2012-094087 aims to enhance the efficiency of specifying different parts and facilitate the preparation and editing of documents describing these parts. However, it is necessary to study the scope of influence of different parts before and after their description, and it is not easy to assess the impact of different parts on the entire ladder logic simply by specifying their individual components. Therefore, there are situations where a significant amount of manual work is required to specify the scope of influence of different parts.

[0005] Incidentally, flowcharts are called representations, which not only visualize the algorithms of ladder logic programs but also the algorithms of programs used in various controllers. There are situations where exposing algorithms by printing or displaying flowcharts on a monitor can be problematic, and flowcharts are often useful for comparing, inspecting, and debugging various aspects of algorithms. Summary of the Invention

[0006] According to a first aspect of the invention, the information processing apparatus includes a control section configured to acquire difference information between the flowchart before and after the change when the flowchart has been changed, and to output a flowchart with the difference information applied.

[0007] According to a second aspect of the present invention, an information processing method performed by a control unit includes: acquiring difference information between the flowchart before and after the change when the flowchart has been changed, and outputting a flowchart with the difference information applied.

[0008] Other features of the invention will become clear from the following description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0009] Figure 1 This is a block diagram illustrating the configuration of a ladder program comparison apparatus according to an exemplary embodiment of the present disclosure.

[0010] Figure 2 This is a flowchart illustrating the entire processing flow during the comparison of the ladder logic procedure, as exemplified in this exemplary embodiment.

[0011] Figure 3 A ladder diagram illustrating an example of a ladder program's representation or output is shown.

[0012] Figure 4 An example of a ladder program in mnemonic form is illustrated in this exemplary embodiment.

[0013] Figure 5 An example of ladder program information before and after the change of the mnemonic form in this exemplary embodiment is illustrated.

[0014] Figure 6 This example illustrates the differences between the ladder program before and after the change in the mnemonic form of this exemplary embodiment.

[0015] Figure 7 This exemplary embodiment illustrates ladder-shaped program information in the form of mnemonics, divided into blocks.

[0016] Figure 8 An example of the configuration of circuit element information in mnemonic form is illustrated in this exemplary embodiment.

[0017] Figure 9 An example of circuit element usage definition information is illustrated in this exemplary embodiment.

[0018] Figure 10 An example of the definition information that associates ladder program commands with the next circuit element setting method in this exemplary embodiment is illustrated.

[0019] Figure 11 An example of device usage definition information is illustrated in this exemplary embodiment.

[0020] Figure 12An example of circuit block pattern definition information of this exemplary embodiment is illustrated.

[0021] Figure 13 An example of flowchart information illustrating this exemplary embodiment is provided.

[0022] Figure 14 This is a flowchart illustrating the processing flow of the flowchart information generation processing unit in this exemplary embodiment.

[0023] Figure 15 This exemplary embodiment illustrates a method for setting the next flowchart element based on circuit element information.

[0024] Figure 16 An example of displaying color definition information in this exemplary embodiment is shown.

[0025] Figure 17 The display area is shown as an example of the flowchart comparison output of this exemplary embodiment.

[0026] Figure 18 This is a flowchart illustrating the process of displaying the process of this exemplary embodiment.

[0027] Figure 19 An example of the conversion from flowchart information to a flowchart is illustrated in this exemplary embodiment.

[0028] Figure 20 An example of a workflow in a ladder logic processing system is shown. Detailed Implementation

[0029] The modes used to perform this disclosure will be described with reference to the accompanying drawings. It should be noted that the configurations described below are always examples, and detailed configurations can be appropriately modified by those skilled in the art without departing from the spirit of this disclosure. Furthermore, the numerical values ​​used in these exemplary embodiments are merely examples for reference only.

[0030] Figure 20 This is a schematic diagram illustrating the workflow of developing and designing a ladder logic program (i.e., a sequence program). The mechanical designer, performing various design tasks related to the hardware of the production equipment, prepares time diagram 1901 through time diagram preparation work 1911. Time diagram 1901 describes the sequence and dependencies of operating each piece of production equipment in the production steps. After receiving the completed time diagram 1901, the software designer begins the design work.

[0031] Here, the software designer performs design document preparation work 1912 to prepare design document 1902, which is a stepper structure table, IO table, SW allocation table, exception table, controller control module management table, and others.

[0032] Furthermore, the software designer prepares or automatically generates flowchart 1903 based on design document 1902, which consists of stepper construction table, IO table, SW allocation table, exception table, controller control module management table, etc., and based on time diagram 1901. It should be noted that when flowchart 1903 is automatically generated from time diagram 1901, there is a possibility that the design information from design document 1902 is automatically described in flowchart 1903 by adding differences.

[0033] Then, the software designer verifies the prepared flowchart 1903, and after checking the equipment specifications, corrects the flowchart 1903 in accordance with the branching conditions, standby conditions, and the processing content after being branched by the branching conditions.

[0034] Next, the software designer describes and edits the ladder program 1904 using a dedicated editor, referring to flowchart 1903 and design document 1902. Alternatively, there are cases where the ladder program 1904 corresponding to flowchart 1903 and design document 1902 is automatically generated. Note that there are also cases where the flowchart 1903 and design document 1902 on which the ladder program 1904 is based are slightly modified in response to debugging, preparation, and editing of the ladder program 1904, such as... Figure 17 As indicated by the left arrow in the diagram. Finally, the software designer performed the verification work of the ladder program 1904 in 1917 and ended the design process.

[0035] After verification work 1917 or various modifications, the modified ladder program is sent to a sequencer or PLC, which serves as the sequence control unit for controlling the production equipment. The production equipment of the production line (i.e., the production system) can then manufacture items such as industrial products.

[0036] The above description Figure 20 This schematically illustrates the workflow of development and design work performed from the mechanical design of production equipment to its installation and operation on the production line. Therefore, it also... Figure 20 The example illustrates the preparation process related to the timeline 1901, flowchart 1903, and design document 1902, which belong to the document group. However, regarding the maintenance of equipment on an operating production line, there are cases where definition information 1904 is directly edited or changed without any documentation-related work. Because such work lacks documentation corresponding to the changed state, there are situations where, for example, it is difficult to specify the scope of impact of changes made to definition information 1904.

[0037] Then, according to this exemplary embodiment, an arrangement is made to generate a flowchart in which information on the differences between before and after the change is applied corresponding to the change in the ladder logic, and the flowchart is output through a user interface. This arrangement, for example, makes it easy to assess the content of the change in the ladder logic and specify its scope of influence.

[0038] An exemplary configuration of the ladder program comparison device will now be described. This ladder program comparison device outputs a flowchart containing information on the differences between the ladder program before and after the change. While the flowchart can be output arbitrarily in any form (such as printing, network transmission of data, and display on a screen), the form of display on a screen is illustrated below. For example, the ladder program comparison processing of this exemplary embodiment can be implemented on a single information processing device. The ladder program comparison processing of this exemplary embodiment can also be implemented according to any unit (e.g., a control unit such as a PLC and a sequencer) included in a system that processes ladder programs.

[0039] Figure 1 This is a block diagram illustrating an example configuration of the ladder logic comparison apparatus 100 of this exemplary embodiment. The ladder logic comparison apparatus 100 includes a CPU 110, a display processing unit 120, an input processing unit 130, a program storage section 140, and a data storage section 150. The CPU 110 is the main body that executes the ladder logic comparison processing of this exemplary embodiment and performs arithmetic operations according to the control program described later. The display processing unit 120 performs processing for displaying information on a display unit such as a monitor. The input processing unit 130 processes information input from input units such as a keyboard and mouse, corresponding to input from operator operations.

[0040] The ladder logic comparison processing unit 141, the flowchart information generation processing unit 142, and the flowchart display processing unit 143 are stored in the program storage section 140. The processing performed by these processing units stored in the program storage section 140 is described as a control program executed, for example, by the CPU 110. The disk medium and storage medium storing the control program of this exemplary embodiment constitute the computer-readable storage medium of this disclosure.

[0041] The ladder logic program information 161, circuit element information 162, and flowchart information 163 before the changes, as well as the ladder logic program information 171 and circuit element information 172 after the changes, are stored in the data storage section 150. The flowchart information 173, ladder logic program difference information 180, circuit element usage definition information 190, and next circuit element setting method definition information 191 are also stored in the data storage section 150. The data storage section 150 also stores device usage definition information 192, circuit block pattern definition information 193, and display color definition information 194.

[0042] Figure 2 This is a flowchart illustrating the entire processing flow when performing a ladder comparison procedure. Figure 2 In step S201, the ladder program comparison processing unit 141 compares the ladder program information 161 with the ladder program information 171 to generate the ladder program difference information 180.

[0043] In step S202, the flowchart information generation processing unit 142, which is used as the flowchart generation part, generates flowchart information 163 and flowchart information 173 from ladder program information 161 and ladder program information 171.

[0044] In step S203, the flowchart display processing unit 143 generates information from the flowchart information 163, the flowchart information 173, and the ladder program difference information 180 to display the flowchart to which the difference information has been applied.

[0045] Figure 3 A ladder diagram 300 is illustrated for controlling automated assembly devices (such as robots and conveyor units) via control units (such as programmable logic controllers (PLCs) and sequencers). Although Figure 3 The ladder diagram 300 in the text is often referred to as a ladder circuit diagram, but this is an example form used when displayed on a screen or printed. For example, control units (such as programmable logic controllers (PLCs) and sequencers) are described by program text in a step control system stored in memory. In this exemplary embodiment, the ladder program before and after the change is compared by setting the ladder program described by such a step control system as the object to be processed.

[0046] There are situations where, after a ladder logic program is implemented on a control unit (such as a programmable logic controller (PLC) and sequencer), a portion of the ladder logic program is modified through field operations. In cases where the ladder logic program needs to be modified through such operations, for example, using a ladder diagram 300 on a workstation's GUI. For instance, in situations where malfunctions occur during the operation of an automated assembly unit deployed on a production line, the ladder logic program is sometimes modified through field operations.

[0047] In such cases, changes are often made directly to the ladder logic program in question, without altering the associated documentation and flowcharts. While it's convenient to maintain documentation and flowcharts after the automated assembly line is restored, it's even better if flowcharts can be automatically generated and output in response to changes in the ladder logic program. Another scenario involves repeatedly modifying the ladder logic program while searching for the source of the problem, even if field operations have altered one or more parts of the program, without immediately restoring the automated assembly line.

[0048] This exemplary embodiment is arranged such that a flowchart is automatically generated and output corresponding to changes in the ladder logic program. This arrangement makes it easy to specify the parts affected by the changes and to easily verify whether the changes to the ladder logic program are appropriate. Furthermore, according to this exemplary embodiment, when outputting a flowchart generated corresponding to changes in the ladder logic program, the output flowchart includes information about the differences related to the changes. This arrangement significantly improves the workability related to changes and editing of the ladder logic program.

[0049] Figure 4 Examples are given. Figure 3 The ladder diagram 300 shown is an example of ladder program information 161 in mnemonic form. In the case where the ladder program information 161 is actually recorded in memory, the recording is, for example, similar to... Figure 4 The binary code corresponding to the mnemonic form shown. Figure 4 In the form of a ladder program, each line describes the line number, command, and device that are the constituent elements of the ladder program.

[0050] Figure 5 This example illustrates the state of a ladder logic program when it is modified. Figure 5 An example is shown showing the ladder program information 161 before the change and the ladder program information 171 after the change. In the modification and editing of the ladder program, the ladder program information 171 after the change is generated by partially removing the ladder program information 161 before the change.

[0051] Note that, as Figure 4 and Figure 5 The display format shown can be used as the display output format for, for example, a dedicated ladder logic editor. This editor can be used to execute programs such as... Figure 5 The diagram illustrates how to modify a ladder logic program. It also shows how to execute a program for tasks such as... Figure 5 The diagram shows the operation of changing the ladder logic.

[0052] According to this exemplary embodiment, by as Figure 5The ladder program information 161 and 171 before and after the change shown are set as input information to extract ladder program difference information (i.e., program difference information), generate flowchart difference information and use it to display the flowchart.

[0053] It can be by Figure 1 The ladder program comparison processing unit 141 generates this ladder program difference information. Figure 6 An example of ladder program difference information 180 generated by the ladder program comparison processing unit 141 is shown. Figure 6 In the example, the ladder program difference information 180 includes the row number before the change, the ladder program before the change, the row number after the change, the ladder program after the change, and the comparison result in each column from left to right.

[0054] The ladder logic comparison processing unit 141 will receive from Figure 5 The ladder program information 161 before the change and the ladder program information 171 after the change are compared with each other. Then, based on the comparison results, the ladder program comparison processing unit 141 records the comparison results of each row in the comparison result column of the ladder program difference information 180 (i.e., in Figure 2 In step S201 of the comparison results, as described in the comparison results, if the modified ladder program information is equal to the original ladder program information, a "matching" flag (i.e., identification information) is generated for each item; if the modified ladder program information is not equal to the original ladder program information, a "mismatching" flag is generated. Furthermore, if the ladder program information only exists after being modified relative to the original ladder program information, an "adding" flag (i.e., identification information) is generated; and if the ladder program information does not exist after being modified relative to the original ladder program information, a "deleting" flag (i.e., identification information) is generated as third information.

[0055] at the same time, Figure 7 Example 161 shows the ladder program information before the change, divided by each circuit block. The ladder program can be divided by each circuit block according to the object on which the ladder program command is applied. For example, Figure 7 The ladder program information 161 is divided into circuit blocks by being defined by the ladder program command "LD".

[0056] Figure 8 An example of circuit element information 162 is shown, which is also related to Figure 1 The circuit element information in 172 corresponds to this. Figure 8The circuit element information 162 describes information about the circuit element in one line, and each column, starting from left to right, includes the circuit element ID, circuit element usage, next circuit element, corresponding ladder program line number, and circuit element extraction information.

[0057] Figure 9 An example of circuit element usage definition information 190 is shown. In circuit element usage definition information 190, the usage of the circuit element and whether it is extracted from the circuit element are defined in the case of extracting the circuit element relative to the ladder program marker indicated in the leftmost column.

[0058] Figure 10 Examples Figure 1 An example of the next circuit element setup method definition information 191. In the next circuit element setup method definition information 191, the next circuit element setup method for each mnemonic of the ladder program command indicated in the leftmost column, which is active or specifically associated with the circuit element, is defined.

[0059] Figure 11 Examples Figure 1 An example of device usage definition information 192. For a specific device, device usage definition information 192 defines the device's usage and the device's identification number.

[0060] Figure 12 Examples Figure 1 An example of circuit block pattern definition information 193. Circuit block pattern definition information 193 defines the information to be extracted from the circuit elements in the circuit block corresponding to the positions and usage of the circuit elements in the leftmost and center columns. As an example, Figure 12 This example illustrates the design pattern information of the step circuit block in step control. The positions of the circuit elements in the leftmost column indicate their locations within the circuit block based on the relationships between them, with the "Start" position specifically corresponding to a circuit element that is not set as the next circuit element. The "End" position also corresponds to a circuit element that is not set as the next circuit element. The "Other" position corresponds to circuit elements that do not correspond to either "Start" or "End".

[0061] Figure 13 An example of the structure of flowchart information 163, which is capable of rendering a flowchart, is shown. Flowchart information 163 includes, in the form of a single line describing the information of the flowchart elements, the flowchart element ID, step number, next flowchart element, and circuit element ID, from left to right.

[0062] Figure 14 This is an example of a detailed description. Figure 2The flowchart of the processing unit for generating process information in step S202 is shown in the flowchart. Figure 14 The control process shown can be derived from... Figure 7 The ladder program information 161 generates flowchart information 163.

[0063] exist Figure 14 In step S1401, each line of the ladder logic program for the circuit block is analyzed to be based on Figure 9 The circuit element usage definition information 190 is used to extract circuit elements and their usage based on ladder program identifiers to generate circuit elements. A unique circuit element ID is applied to this circuit element. A ladder program line number corresponding to the circuit element is set so that the circuit element ID and ladder program line number can be tracked together.

[0064] Here, the description and analysis will be... Figure 7 The case of "LD M1" in line 3 of the ladder logic. Because this "LD M1" is related to... Figure 9 The “LD device A” in the ladder program identifier in the circuit element usage definition information 190 corresponds to and is the circuit element extraction object, so the circuit element usage is extracted as “M1 ON” and its circuit element is generated.

[0065] exist Figure 14 In step S1402, each line of the ladder logic program for the analyzed circuit block is analyzed to be based on Figure 10 The next circuit element setting method definition information 191 sets the ID of the circuit element corresponding to the next circuit element to the next circuit element extracted in step S1401. Here, it will be described... Figure 7 The analysis of ladder program lines 3, 4, and 5 is used as an example. The ladder program commands in lines 3, 4, and 5 continue as "LD", "MPS", and "AND". Therefore, according to... Figure 10 The next circuit element setting method definition information 191 in the code defines the next circuit element setting method for these commands as "-", "set the next circuit element as the next circuit element of the previous circuit element", and "set as the next circuit element of the previous circuit element", respectively. Therefore, in this case, the circuit element ID 5 corresponding to ladder program line number 5 is set as the next circuit element of the circuit element ID 3 corresponding to ladder program line number 3.

[0066] exist Figure 14 In step S1403, for example, analysis Figure 8 The circuit elements in the data are used to extract information from the usage of the circuit elements, and based on... Figure 11 Device usage definition information 192 and Figure 12The circuit block pattern definition information 193 in the code is used to set the circuit element extraction information. Here, for example, analysis... Figure 8 The circuit element ID 6 in the circuit uses the setting "Update D0 to 2". According to... Figure 11 The device usage definition information 192, D0 corresponds to the "Step Operation Control Register". According to... Figure 12 In the circuit block pattern definition information 193, circuit element ID 6 corresponds to "End" and "Update step operation control register value F". Therefore, "Next step device number = 2" can be extracted and set as the circuit element extraction information.

[0067] exist Figure 14 In step S1404, analysis Figure 8 The ladder logic circuit element information 162 is used to extract circuit element extraction information as a "condition" to generate flowchart elements. A unique flowchart element ID is set for each flowchart element and applied to the flowchart elements of specific steps. A circuit element ID corresponding to each flowchart element is also set to enable mutual tracking of flowchart element IDs and circuit element IDs. Furthermore, to indicate that affected circuit blocks belong to the same circuit block, in... Figure 8 The rightmost column of the flowchart information sets the step device number to the same circuit block.

[0068] Here, for example, the analysis Figure 8 Block 0 of circuit element information 162. Circuit element ID 1, whose circuit element extraction information is "condition", is extracted to generate the next flowchart element, such as... Figure 8 As indicated in the rightmost column. Furthermore, because the step device number "0" is set in the circuit element extraction information for circuit element ID 0 of block 0, "0" is also set in the step number of the generated flowchart elements, as shown in... Figure 8 As indicated in the rightmost column.

[0069] exist Figure 14 In step S1405, the circuit element information 162 is analyzed. Here, by using... Figure 12 The flowchart elements are connected by relating the device number of the step in which information is extracted from the circuit element to the device number of the next step. For example, the ID of the flowchart element corresponding to the next flowchart element is set to the next flowchart element of the flowchart element extracted in step S1403. In this case, it is assumed that the circuit element with the same device number as the next step device number in the circuit element extraction information has a connection relationship. Then, the flowchart element ID is set to the next flowchart element of the flowchart element corresponding to the ID of the circuit element that has a connection relationship with the circuit element. For example, in the analysis... Figure 8The circuit element information 162 contains circuit elements ID1, ID2, ID3, and ID5, that is, Figure 8 Lines 2 through 5 in the diagram. In this case, since the circuit element extraction information for circuit elements ID2 and ID3 are "next step device number = 1" and "step device number = 1" respectively, there is a connection relationship from circuit element ID2 to circuit element ID3. Furthermore, since circuit elements ID1 and ID5 are connected through circuit elements ID2 and ID3, the flowchart element ID5 corresponding to circuit element ID5 is set as the next flowchart element of the flowchart element ID1 corresponding to circuit element ID1.

[0070] Figure 15 Visual examples are shown for use in Figure 14 The method in step S1405 for setting the next flowchart element based on the circuit element information. Figure 15 The relationship between the circuit elements on the left side of the diagram 1501 sets the circuit element ID to the node in the circuit element information 162, and indicates the connection relationship between the circuit elements based on the ID of the next circuit element. Figure 15 The relationship between the flowchart elements on the right is shown in Figure 1502. The flowchart element ID is set as a node, indicating the connection relationship between the flowchart elements generated by step S1405.

[0071] Simultaneously, the flowchart information generation and processing unit 142 also performs steps S1401 to S1405 on the ladder program information 171, in order to... Figure 17 The modified flowchart 1702 is generated in the middle. If flowchart information before and after the change can be generated, then it can be accessed through the user interface (i.e., Figure 1 The output of the display processing unit 120 or the input processing unit 130 is used to apply the difference information between before and after the change. Figure 17 The flowcharts 1701 and 1702 are shown in the figure.

[0072] The following is an example of an arrangement for outputting or displaying a flowchart that includes information about the differences between before and after a change.

[0073] Figure 16 This example illustrates the display of color definition information 194 when the output (e.g., display) includes information about the differences between before and after a change in a flowchart. The display of color definition information 194 is relative to... Figure 6 The comparison results of the ladder logic difference information 180 are used to define the symbol display colors in the flowchart. For example... Figure 17As shown, flowcharts 1701 and 1702 before and after the change are displayed side-by-side horizontally. Then, according to the precedent definition of display color definition information 194, flowchart difference information 180 is rendered on display area 1700.

[0074] Note that, Figure 16 The display color definition information 194 defines it as follows: "Match" of the process or program steps before and after the change is displayed in no color (i.e., the default display color); "Mismatch" is displayed in yellow; "Addition" is displayed in red; and "Delete" is displayed in blue. That is, the differences in the flowchart or ladder program are presented by displaying them in different colors. Note that in this embodiment, yellow is used as the first information, indicating that the changed process does not match the original process; red is used as the second information, indicating that a new process was added before and after the change; and blue is used as the third information, indicating that a process has been deleted.

[0075] However, the form in which the difference information of a flowchart or ladder logic is presented is not limited to this, and those skilled in the art can use any form they wish. For example, it is conceivable to use different highlighting modes for elements corresponding to "match" and "mismatch," "addition" and "deletion" before and after the change. By using highlighting formats that use different highlighting modes, the difference information of a flowchart or ladder logic can be represented. In some cases, the different display colors mentioned above can be considered as one of the highlighting formats. Furthermore, as a highlighting format for displaying difference information, various highlighting modes can be used by changing the display brightness, the type of character font, the character font size, and fonts such as italics and bold. By using not only a single highlighting format but also by combining multiple highlighting formats, the difference information from other parts can also be clearly displayed.

[0076] Figure 17 An example of the display format for display area 1700 of the flowchart comparison device is shown. Figure 17 In this case, the ladder logic programs before and after the change are displayed side-by-side at the top of the display area 1700, and the flowcharts 1701 and 1702 before and after the change are displayed side-by-side at the bottom of the display area 1700. Then, these two corresponding ladder logic programs and flowcharts before and after the change contain information based on... Figure 16 The display color definition information 194 in the middle changes the corresponding display color part (i.e., the difference information of the flowchart or ladder program).

[0077] Figure 18 A detailed description is provided. Figure 2 Step S203 Figure 1The flowchart in the diagram shows the processing flow of the processing unit 143. Figure 19 This illustrates the process from flowchart information to... Figure 18 The transformation method of the flowchart for processing execution. For example... Figure 19 As shown, Figure 1 The flowchart display processing unit 143 generates flowcharts before and after the application of the applied difference information based on the ladder program difference information and the flowchart information before and after the change, and displays them on the processing unit 120.

[0078] exist Figure 18 In step S1801, the flowchart elements of the flowchart information are replaced with flowchart symbols, and the flowchart symbols are used to represent the usage of the circuit element ID corresponding to the flowchart element ID.

[0079] In step S1802, flowchart symbols are connected by arrow lines based on the ID of the next flowchart element of the flowchart element.

[0080] In step S1803, based on the step numbers of the flowchart information, flowchart symbols with equal step numbers are grouped and represented by the step numbers.

[0081] In step S1804, the difference information is applied to the flowchart based on the ladder program difference information. According to the correspondence between flowchart element IDs and circuit element IDs in the flowchart information, and according to the correspondence between circuit element IDs and ladder program line numbers in the circuit element information, the ladder program line number is traced from the flowchart element ID. Thus, a comparison result can be obtained from the ladder program difference information. Then, based on the obtained comparison result, according to... Figure 16 The display color definition information 194 in the flowchart defines the colors and displays them. Steps S1801 to S1804 are processed in the same way on the ladder program before and after the change to generate flowcharts 1701 and 1702 before and after the change.

[0082] In step S1805, the ladder program difference information 180 generated up to step S1804, the flowchart 1701 before the change, and the flowchart 1702 after the change are displayed side by side, as shown below. Figure 17 As shown in the diagram, the trapezoidal procedure difference information 180 is also displayed by coloring each row in response to the comparison result based on the display color definition information 194.

[0083] According to this exemplary embodiment, the above processing can be performed as follows: Figure 17 The juxtaposition shown represents a flowchart before and after the change, including information on the differences. For example... Figure 17The flowchart shown makes it easy to grasp the context of different parts. Different parts of the ladder logic program can also be easily specified, and through methods such as... Figure 17 The flowchart shown illustrates how the scope of influence can be understood from the context of different parts. For example, through visual recognition, such as... Figure 17 The flowchart shown illustrates that by applying the flowchart representation of the difference information, it is possible to clearly understand whether the modified part of the ladder program changed during field operations affects other control steps.

[0084] This disclosure can also be implemented by supplying a program implementing one or more of the above embodiments to a system or apparatus via a network or storage medium, and having the program read and executed by one or more processing units in the system or apparatus. This disclosure can also be implemented by circuitry (e.g., an ASIC) that implements one or more functions.

[0085] Furthermore, although the ladder logic program is illustrated above as an example of a target program for outputting flowcharts, the target program is not limited to ladder logic programs, and needless to say, any control program can execute this disclosure in the same manner. Furthermore, as described above, the display output format of the display unit has been primarily explained as a mode for outputting flowcharts. However, it is possible to use a printing device or a sound output device as a user interface for outputting flowcharts. That is, the configuration of the user interface for this purpose is arbitrary, as long as the flowchart is output to the user.

[0086] Furthermore, although in Figure 17 In this case, the flowcharts and ladder logic programs before and after the changes are already displayed in a horizontally juxtaposed state, but this display format is always just an example. It's possible to represent the differences between the ladder logic programs and flowcharts by using color representation and highlighting, without always juxtaposing the two flowcharts and ladder logic programs. For example, while there are forms such as uniform diffs as a way to present differences in program text, this difference presentation method can also be used to present differences in flowcharts. For example, differences can be presented by using specific display colors or by highlighting parts that have been deleted or changed based on the flowchart before the change. As for the addition of processes or branches, differences can be shown by using the empty space in the flowchart to add the added elements. Regarding ladder logic programs, it's not always necessary to output and juxtapose the two ladder logic programs. If you want to... Figure 17 The text shown represents the output of a ladder logic program related to changes, so a single column of text can be output using known output formats such as Unified Diff (udiff) and Contextual Difference (cdff).

[0087] Furthermore, the above exemplary embodiments are applicable to machines capable of automatically performing telescopic, bending and stretching, vertical, horizontal, or rotational movements or complex movements thereof based on information provided in a storage device in a control unit that is the object to be controlled by the ladder circuit.

[0088] Other embodiments

[0089] One or more embodiments of the present invention can also be implemented by a computer that reads and executes computer-executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more fully referred to as a "non-transitory computer-readable storage medium") to perform the functions of one or more embodiments described above and / or includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing the functions of one or more embodiments described above, and by a method performed by a computer of a system or device by, for example, reading and executing computer-executable instructions from a storage medium to perform the functions of one or more embodiments described above and / or controlling one or more circuits to perform the functions of one or more embodiments described above. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessor unit (MPU)) and may include a network of individual computers or individual processors to read and execute computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or a storage medium. The storage medium may include, for example, a hard disk, random access memory (RAM), read-only memory (ROM), a storage device for a distributed computing system, an optical disc (such as a CD, DVD, or Blu-ray disc), or a digital versatile disc (BD). TM One or more of the following: flash memory devices, memory cards, etc.

[0090] The embodiments of the present invention can also be implemented by providing software (programs) that perform the functions of the above embodiments to a system or device via a network or various storage media, and the computer or central processing unit (CPU) or microprocessor unit (MPU) of the system or device reads out and executes the program.

[0091] While the invention has been described with reference to exemplary embodiments, it should be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the appended claims should be given the broadest interpretation to cover all such modifications and equivalent structures and functions.

Claims

1. An information processing apparatus, comprising: The processor is configured to execute a control program to obtain (i) difference information between a first program and a second program modified from the first program, (ii) a first flowchart corresponding to the first program, and (iii) a second flowchart corresponding to the second program. in, The processor is configured to display a first program, a second program, a first flowchart, and a second flowchart on a display portion in a display format based on the difference information. Specifically, the change from the first program to the second program is executed by the user editing the ladder diagram corresponding to the first program, and... The first and second programs are displayed as mnemonics on the display section.

2. The information processing apparatus according to claim 1, wherein the processor is configured to output difference information on the display portion by highlighting and / or displaying different colors.

3. The information processing apparatus according to claim 1 or 2, wherein the processor is configured to output (a) first information indicating that a predetermined process in the first flowchart does not match a predetermined process in the second flowchart, (b) second information indicating that a new process is added to the second flowchart, and (c) third information indicating that a predetermined process has been deleted, by applying it as difference information to the first flowchart and the second flowchart.

4. The information processing apparatus according to claim 3, wherein, The first, second, and third information are output when applied in different colors to the first and second flowcharts, respectively.

5. The information processing apparatus according to claim 1, wherein the first program and the second program are a first trapezoidal program and a second trapezoidal program modified from the first trapezoidal program; as well as The control program includes: The flowchart generation section is configured to generate a first flowchart and a second flowchart from a first ladder routine and a second ladder routine; as well as The ladder logic comparison processing unit is configured to compare a first ladder logic program and a second ladder logic program to generate ladder logic program difference information between the first ladder logic program and the second ladder logic program. The processor is configured to output, on the display section, a first flowchart and a second flowchart with applied difference information based on the first flowchart, the second flowchart, and the ladder program difference information.

6. A production system, comprising: The information processing apparatus according to claim 5, and The sequence control unit is configured to control the production equipment based on a first ladder program and a second ladder program. The production system is configured to manufacture items using production equipment.

7. A method for manufacturing an article, wherein the article is manufactured by using the production system according to claim 6.

8. An information processing method, executed by a processor configured to execute a control program, the information processing method comprising: Obtain (i) the difference information between the first program and the second program modified from the first program, (ii) the first flowchart corresponding to the first program, and (iii) the second flowchart corresponding to the second program; and Based on the difference information, the first program, the second program, the first flowchart, and the second flowchart are displayed on the display section in a display format. Specifically, the change from the first program to the second program is executed by the user editing the ladder diagram corresponding to the first program, and... The first and second programs are displayed as mnemonics on the display section.

9. The information processing method according to claim 8, wherein difference information is output on the display portion by highlighting and / or displaying different colors.

10. The information processing method according to any one of claims 8 or 9, further comprising: By applying the first flowchart and the second flowchart as difference information, the output includes (a) first information indicating that the predetermined process in the first flowchart does not match the predetermined process in the second flowchart, (b) second information indicating that a new process has been added to the second flowchart, and (c) third information indicating that the predetermined process has been deleted.

11. The information processing method according to claim 10, wherein, The first, second, and third information are output when applied in different colors to the first and second flowcharts, respectively.

12. A computer-readable non-transitory storage medium configured to store a control program capable of executing the information processing method according to claim 8 by a computer.

Citation Information

Patent Citations

  • Ladder program comparison method

    JP2012094087A

  • Sequence control system

    JP2000293208A

  • Control program maintenance device, control program maintenance method, and program

    US20170235302A1

  • Program comparator and program difference verification method

    WO2018123039A1