WO2020079806A1 - プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム - Google Patents

プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム Download PDF

Info

Publication number
WO2020079806A1
WO2020079806A1 PCT/JP2018/038843 JP2018038843W WO2020079806A1 WO 2020079806 A1 WO2020079806 A1 WO 2020079806A1 JP 2018038843 W JP2018038843 W JP 2018038843W WO 2020079806 A1 WO2020079806 A1 WO 2020079806A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
difference
collation
unit
rearranged
Prior art date
Application number
PCT/JP2018/038843
Other languages
English (en)
French (fr)
Inventor
洋平 金津
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2019516263A priority Critical patent/JP6584724B1/ja
Priority to US17/270,048 priority patent/US11927933B2/en
Priority to PCT/JP2018/038843 priority patent/WO2020079806A1/ja
Priority to CN201880098665.7A priority patent/CN113168146B/zh
Publication of WO2020079806A1 publication Critical patent/WO2020079806A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/041Function-oriented details
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13049Display progress of program, state, highlight, colour
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13082Parallel execution of bit operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13098Nc function to control axis, written in C or not
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13107Logic symbols, plan LOP, functional block symbols FBS, functional programming FUP

Definitions

  • the present invention relates to a program collating device, a program collating method, and a program collating program for collating a program described in a function block diagram language.
  • the collation source program that is an existing sequence program and the collation destination program are compared and collated.
  • Patent Document 1 compares two programs converted into a function block diagram (FBD) language, which is a graphic language, and displays a non-matching portion on a display screen.
  • BBD function block diagram
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a program collation device that can easily refer to the collation result of a program written in a function block diagram language.
  • a program collating apparatus of the present invention is a program component in which a first program, which is a first function block diagram program, is connected to each other in the first program.
  • a first program which is a first function block diagram program
  • each set of the first program is rearranged into one column in the Y-axis direction which is the vertical direction in the order of execution order
  • the second program which is the second function block diagram program is The second program includes a set aligning unit that divides the set of program parts connected to each other in the second program and rearranges each set of the second program into one column in the Y-axis direction in the order of execution order.
  • the program collating apparatus of the present invention compares the sorted first set of programs with the sorted second set of programs to determine the first program and the second program. And a difference detection unit that detects the difference between the sets as difference information. Further, the program collating device of the present invention displays the rearranged set of the first program and the set of the second program in the screen of the display device displaying the first program and the second program. The first program and the second program are displayed side by side so that the second program set corresponding to the first program set is displayed at the same height in the Y-axis direction based on the difference information. A first display control unit is provided.
  • the program collating apparatus has an effect that the collation result of the program described in the function block diagram language can be easily referred to.
  • FIG. 3 is a diagram for explaining an execution procedure of an FBD program that is collated by the program collating apparatus according to the embodiment 6 is a flowchart showing a processing procedure of a verification process executed by the program verification device according to the embodiment.
  • 6 is a flowchart showing a processing procedure of a merge process executed by the program matching device according to the embodiment.
  • FIG. 3 is a diagram for explaining a method of creating a merge history created by the program matching device according to the embodiment.
  • a program matching device, a program matching method, and a program matching program according to an embodiment of the present invention will be described below in detail with reference to the drawings.
  • the present invention is not limited to this embodiment.
  • FIG. 1 is a diagram showing a configuration of a program matching device according to an embodiment.
  • the program collation device 1 is a computer that collates an FBD program described in the FBD language.
  • the collation according to the present embodiment is a process of clarifying a changed portion of the FBD program.
  • the program collating apparatus 1 arranges the FBD parts of the FBD programs in the vertical direction of the screen in the order of the execution order and compares them.
  • the program matching device 1 includes a data storage unit 10, a difference processing unit 13, a property information display control unit 17, a difference display control unit 16, a program merge unit 18, a merge history storage unit 19, and an instruction input unit 20. And a program input section 21.
  • the display device 2 is connected to the difference display control unit 16, the property information display control unit 17, and the program merge unit 18.
  • An example of the display device 2 is a liquid crystal monitor.
  • the instruction input unit 20 is connected to the difference processing unit 13, the property information display control unit 17, and the program merge unit 18.
  • the program input unit 21 is connected to the data storage unit 10.
  • the difference processing unit 13 is connected to the data storage unit 10 and the difference display control unit 16.
  • the difference display control unit 16 is connected to the property information display control unit 17 and the program merge unit 18.
  • the merge history storage unit 19 is connected to the program merge unit 18.
  • the data storage unit 10 is a memory for storing data such as an FBD program.
  • the data storage unit 10 stores a collation source program 11 that is a first program and a collation destination program 12 that is a second program.
  • the collation source program 11 is an FBD program that has an existing operation record.
  • the collation target program 12 is an FBD program in which the collation source program 11 is duplicated and edited. When the FBD program is edited, the FBD part is added, deleted, or changed. A difference occurs between the collation source program 11 and the collation destination program 12 by adding, deleting, or changing the FBD part.
  • the first program may include programs other than the collation source program 11, and the second program may include programs other than the collation target program 12.
  • the program input unit 21 inputs the collation source program 11 and the collation destination program 12 sent from an external device such as a program creating device that creates a program into the data storage unit 10.
  • a text language or a graphic language is used as a programming language for the description of the sequence program used for the control device such as the PLC.
  • the FBD language standardized by IEC International Electrotechnical Commission
  • the unit of the FBD part is a function or a function block.
  • the FBD language is a programming language that can be described in a free format, and the execution order of FBD parts is determined by the position of the coordinates where the FBD parts are described.
  • FIG. 2 is a diagram for explaining the execution procedure of the FBD program that is collated by the program collating apparatus according to the embodiment.
  • the FBD program 100 is configured by using a plurality of FBD parts.
  • the FBD parts are shown as “MA”, “MB”, “MC”, “MD”, “ME”, “MF”, “MG”, “MH”.
  • the FBD program 100 sets the upper left part on the two-dimensional coordinates as the origin (0, 0), the Y-axis direction (vertical direction) from top to bottom, and the X-axis direction (horizontal direction) from left to right in order. The part is executed. Regarding the order of the Y-axis direction and the X-axis direction, the Y-axis direction has priority.
  • MA to “MH” may be an FBD component group (a set described later) including a plurality of FBD components. Also in this case, the FBD component group is executed in the same order as described in FIG.
  • the instruction input unit 20 receives an instruction from the user of the program matching device 1, and inputs the received instruction to the difference processing unit 13, the property information display control unit 17, or the program merge unit 18.
  • the instruction input unit 20 sends this instruction to the difference processing unit 13.
  • the instruction input unit 20 sends this instruction to the property information display control unit 17. Further, when the user of the program collation device 1 inputs an instruction to the instruction input unit 20 to execute the merging of the collation source program 11 and the collation target program 12, the instruction input unit 20 sends this instruction to the program merge unit 18.
  • the difference processing unit 13 includes a difference detection unit 14 and a set alignment unit 15.
  • the set sorting unit 15 reads out the collation source program 11 and the collation destination program 12 from the data storage unit 10.
  • the set alignment unit 15 divides the collation source program 11 into set units of FBD parts that are connected to each other in the collation source program 11. In other words, the set alignment unit 15 sets the FBD parts connected in the FBD parts in the collation source program 11 to one FBD part group. Similarly, the set alignment unit 15 divides the FBD parts arranged in the collation target program 12 in units of FBD parts connected to each other. In the present embodiment, a set of FBD parts divided by the set alignment unit 15 is called a set. That is, the set is a set of FBD parts connected to each other. In this way, the set alignment unit 15 divides the collation source program 11 and the collation target program 12 into sets, respectively.
  • the set sorting unit 15 rearranges the sets in the collation source program 11 into one column in the vertical direction (Y-axis direction) according to the execution order of the collation source program 11. Further, the set sorting unit 15 rearranges the sets in the collation target program 12 into one column in the vertical direction according to the execution order of the collation target program 12.
  • the set arrangement unit 15 arranges the sets having a higher execution order on the upper side.
  • the set sorting unit 15 sends the sorting result indicating the result of sorting the set to the difference detection unit 14.
  • the alignment result sent from the set alignment unit 15 to the difference detection unit 14 includes the position of each set in the collation source program 11 (coordinates in the screen) and the position of each set in the collation target program 12 (coordinates in the screen). ) And are included.
  • the difference detection unit 14 detects a difference between the collation source program 11 and the collation target program 12 based on the collation source program 11 and the collation target program 12 whose sets have been rearranged by the set sorting unit 15. That is, the difference detection unit 14 detects the difference between the collation source program 11 and the collation target program 12 based on the arrangement of the sets rearranged by the set arrangement unit 15. The difference detection unit 14 determines, for each set, whether or not there is a difference between the matching source program 11 and the matching destination program 12, and extracts a set having a difference.
  • the difference between the collation source program 11 and the collation target program 12 is one of addition of a set, deletion of a set, and change of a set.
  • the difference processing unit 13 extracts, for example, a set that is in one of the collation source program 11 and the collation target program 12 but not in the other. Further, the difference processing unit 13 extracts sets having different positions when the positions of the sets differ between the collation source program 11 and the collation target program 12, that is, when the processing order is different.
  • the difference processing unit 13 extracts the difference of the FBD components generated by the editing.
  • the difference between the FBD parts includes a difference due to the change of the FBD part itself and a difference due to the change of the property information of the FBD part.
  • the difference detection unit 14 sends difference information, which is the difference detection result, to the difference display control unit 16.
  • the difference information is information indicating a difference between the verification source program 11 and the verification destination program 12, that is, a difference.
  • the difference information indicates the content of the difference of the set extracted by the difference detection unit 14 or the content of the difference of the FBD component extracted by the difference detection unit 14.
  • the property information is information indicating the properties of the FBD part.
  • the collation source program 11 and the collation target program 12 may be collectively referred to as a collation target program.
  • the verification target program includes property information of the FBD part.
  • the difference display control unit 16 which is the first display control unit, causes the display device 2 to display the verification target program in which the set sorting unit 15 rearranges the sets so that the difference information has a specific display mode. Based on the difference information, the difference display control unit 16 causes the display device 2 to display the verification target program so that it is possible to identify whether the set and the FBD component included in the difference information are added, deleted, or changed. The difference display control unit 16 highlights the verification target program so that it is possible to identify whether the set and the FBD part are added, deleted, or changed, for example, by color-coding the set and the FBD part.
  • the property information display control unit 17 When the property information display control unit 17, which is the second display control unit, receives the display instruction of the property information, the property information display control unit 17 extracts the property information from the difference display control unit 16 and displays it on the display device 2. Specifically, the property information display control unit 17 reads the property information of the FBD part included in the set designated by the user from the difference information of the difference display control unit 16. Since the difference information of the difference display control unit 16 also includes the property difference which is the difference of the property information, the property information display control unit 17 reads the difference of the property information, displays it on the display device 2, and collates it. The property information of the FBD component included in the collation destination program 12 is extracted from the destination program 12 and displayed on the display device 2.
  • the property information display control unit 17 causes the property information of the FBD component included in the verification source program 11 and the property information of the FBD component included in the verification target program 12 to be displayed side by side on the screen of the display device 2. .
  • the property information display control unit 17 causes the display device 2 to highlight the difference in the property information based on the difference information.
  • the program merging unit 18 upon receiving the merge instruction of the verification target program, executes the merging of the verification source program 11 and the verification destination program 12. Specifically, the program merging unit 18 extracts the portion edited from the collation source program 11 from the collation target program 12 and reflects it in the collation source program 11.
  • the program merging unit 18 merges a set having a difference between the collation source program 11 and the collation target program 12 as a unit or in a batch.
  • the program merge section 18 creates a merge history and stores it in the merge history storage section 19.
  • the merge history storage unit 19 is a memory or the like that stores a merge history.
  • FIG. 3 is a flowchart showing the processing procedure of the verification processing executed by the program verification device according to the embodiment.
  • the instruction input unit 20 receives an instruction to display the difference between the collation source program 11 and the collation destination program 12, the instruction input unit 20 sends this instruction to the difference processing unit 13.
  • the set sorting unit 15 reads the collation source program 11 from the data storage unit 10 (step S10). Further, the set sorting unit 15 reads the collation destination program 12 from the data storage unit 10 (step S20). It should be noted that either of the processes of steps S10 and S20 may be executed first.
  • the set sorting unit 15 divides the collation target program into sets (step S30). Specifically, the set sorting unit 15 divides the collation source program 11 into sets and the collation target program 12 into sets.
  • the set sorting unit 15 may divide the matching source program 11 into sets before reading the matching destination program 12 from the data storage unit 10. Further, the set sorting unit 15 may divide the collation target program 12 into sets before reading the collation source program 11 from the data storage unit 10.
  • the execution order of each set is the same as the execution order of the FBD part, and is determined depending on the (X, Y) coordinates in the upper left part of the set.
  • the set alignment unit 15 rearranges the sets in the vertical direction according to the execution order (step S40).
  • the set aligning unit 15 arranges the sets included in the collation source program 11 in one column in the vertical direction (Y-axis direction) so that the sets included in the collation source program 11 are in the execution order. Arrange in one row in the direction.
  • the set aligning unit 15 sets the same Y coordinate, That is, the positions of the sets are adjusted so that they have the same height.
  • the difference detection unit 14 detects the difference between the collation source program 11 and the collation target program 12 by comparing the collation source program 11 and the collation target program 12 for each sorted set (step S50). ).
  • the difference detection unit 14 compares sets of the same Y coordinate in the collation source program 11 and the collation target program 12, and detects a difference between the sets.
  • the difference detected by the difference detection unit 14 is a change, deletion, or addition of a set. That is, the difference detection unit 14 detects which set of the collation target program 12 has been changed, deleted, or added to the collation source program 11.
  • the difference detection unit 14 sends the sorted set and the difference information to the difference display control unit 16.
  • the difference display control unit 16 causes the display device 2 to display the collation target program based on the arrangement of the sets rearranged by the set arrangement unit 15. That is, the difference display control unit 16 displays the collation target program on the screen based on the sorted set and the difference information. Specifically, the difference display control unit 16 displays the collation source program 11 in which the sets are rearranged and the collation target program 12 in which the sets are rearranged side by side on the screen of the display device 2. At this time, the difference display control unit 16 causes the display device 2 to display a screen so that the user can visually recognize the difference between the set of the collation source program 11 and the set of the collation target program 12 (step S60). The difference display control unit 16 displays the difference so that it can be visually recognized by the user by performing color coding or the like on a set having a difference.
  • FIG. 4 is a diagram showing an example of a verification target program displayed on the screen by the program verification device according to the embodiment.
  • the set alignment unit 15 rearranges the sets in the collation source program 11 according to the execution order, aligns the left ends of the rearranged sets, and arranges them at equal intervals in the vertical direction. Further, the set sorting unit 15 sorts the sets in the collation target program 12 according to the execution order, aligns the left ends of the sorted sets, and sorts the sets in the vertical direction at equal intervals.
  • the set aligning unit 15 arranges the collation source program 11 and the collation target program 12 side by side so that the set in the collation target program 12 corresponding to the set in the collation source program 11 has the same height in the vertical direction.
  • the difference display control unit 16 arranges all of the compared collation target programs on the left and right sides of the screen 101 in the rearranged order and position.
  • the difference display control unit 16 displays the collation source program 11 in the left area 51A which is the left half of the screen 101 and the collation target program 12 is displayed in the right area 51B which is the right half of the screen 101 explain.
  • the difference display control unit 16 may display a part of the verification target programs on the screen 101.
  • the collation source program 11 has sets 61A, 62A, 63A
  • the collation target program 12 has sets 61B, 63B, 64B.
  • the collation source program 11 executes the processing in the order of the set 61A, the set 62A, and the set 63A
  • the verification target program 12 executes the processing in the order of the set 61B, the set 63B, and the set 64B. To do.
  • the set 61A corresponds to the set 61B
  • the set 63A corresponds to the set 63B. That is, although the set 61A and the set 61B have the same configuration, the property information is different, and the set 63A and the set 63B are the same.
  • the collation source program 11 in the left area 51A is edited and the collation destination program 12 in the right area 51B is created, the configurations of the sets 61A and 63A are not edited.
  • the set 62A is deleted and the set 64B is added after the set 63B.
  • the difference display control unit 16 displays the left area 51A and the right area 51B on the screen 101, which is the same screen. Specifically, the difference display control unit 16 causes the left edges of the sets 61A, 62A, and 63A to be displayed in the left area 51A of the screen 101, and the left edges of the sets 61B, 63B, and 64B to be displayed on the screen 101. Is displayed in the right area 51B. At this time, the left region 51A and the right region 51B are displayed such that the Y coordinate of the set 61A and the Y coordinate of the set 61B are the same, and the Y coordinate of the set 63A and the Y coordinate of the set 63B are the same. In the left area 51A, the area corresponding to the set 64B is blank, and in the right area 51B, the area corresponding to the set 62A is blank.
  • the difference display control unit 16 color-codes each set according to the difference information from the difference detection unit 14 such that the changed set is red, the deleted set is blue, and the added set is green. indicate. That is, the difference display control unit 16 emphasizes a set having a difference between the matching source program 11 and the matching destination program 12 based on the difference information so as to be distinguishable from other sets by color coding or the like. indicate.
  • the highlighted display in this embodiment is a display in a mode different from that of other sets.
  • difference display control unit 16 may color the area where the set is deleted.
  • the difference display control unit 16 attaches a different color such as yellow to the FBD parts before and after the change with respect to the set before and after the change.
  • the display method is not limited to these.
  • the program collating apparatus 1 vertically arranges the sets 61A, 62A, 63A in the collation source program 11 and the sets 61B, 63B, 64B in the collation target program 12 in the screen 101, so that the sets are arranged in the horizontal direction. It can display more sets than side-by-side comparisons. As a result, since many collation results can be displayed on one screen, it becomes easy for the user to refer to the collation result, and the collation work time can be shortened. Further, since the difference, which is the mismatched portion between the collation source program 11 and the collation target program 12, can be displayed in the graphic language itself, not in the mnemonic expression, the user can easily confirm the difference.
  • the user may want to compare the difference in the property information of the input and output terminals of the FBD parts in the set.
  • the instruction input unit 20 receives a display instruction of property information from the user, the instruction input unit 20 sends the display instruction to the property information display control unit 17.
  • the property information display control unit 17 reads the property information of the set designated by the display instruction from the difference display control unit 16 and causes the display device 2 to display the property information.
  • the display instruction of the property information is input to the instruction input unit 20 by the user designating a set in the screen 101 with a mouse or the like.
  • FIG. 5 is a diagram for explaining the property information displayed on the screen by the program matching device according to the embodiment.
  • the screen 102 is a screen in which the verification target program is displayed in the vertical direction like the screen 101.
  • the property information display control unit 17 displays a screen 201 for displaying property information instead of the screen 102. That is, the property information display control unit 17 jumps from the difference display of the FBD program to the difference display of the property information and switches. Specifically, the property information display control unit 17 displays on the screen 201 the property information of the FBD part included in the specified set and the property information of the FBD part included in the set having the same Y coordinate as this set. Let For example, when the set 61A is designated, the property information display control unit 17 displays the property information of the area 41 including the set 61A and the set 61B having the same Y coordinate as that of the set 61A. Display on the screen 201.
  • Each of the sets 61A and 61B has three input terminals and one output terminal.
  • the input terminals in the set 61A are illustrated by “bLabel114”, “bLabel155”, and “bLabel116”, and the output terminals in the set 61A are illustrated by “bLabel117”.
  • the input terminals in the set 61B are illustrated by “bLabel114”, “bLabel115”, and “bLabel116”, and the output terminals in the set 61B are illustrated by “bLabel117”.
  • the property information display control unit 17 extracts the FBD parts 42 to 45 that are the objects of editing based on the difference information used by the difference display control unit 16 and extracts the property information of the FBD parts 42 to 45. , It is displayed in a color different from the property information of other FBD parts. In other words, the property information display control unit 17 can identify the location, which is the difference between the property information of the FBD part included in the set 61A and the property information of the FBD part included in the set 61B, from other parts. Screen 201 is displayed.
  • the difference display control unit 16 can display the difference between the collation source program 11 and the collation target program 12 based on the difference information, and the property information display control unit 17 based on the difference information. The difference of can be displayed.
  • the property information display control unit 17 determines that the first property information that is the property information of the set 61A , The second property information, which is the property information of the set 61B, is displayed on the screen 201.
  • the area 41 is an area including the set 61A and the set 61B. Therefore, the case where the area 41 is designated by the user is the case where the set 61A and the set 61B are designated.
  • the property information is information in which "label name”, "data type”, and “comment” are associated with each other.
  • the "label name” indicates the label name of the FBD part
  • the "data type” indicates the data type of the FBD part
  • the “comment” indicates the function of the FBD part.
  • the program matching device 1 detects the difference information including the difference in the property information in the difference processing unit 13, so that the difference in the matching target program and the difference in the property information between sets can be easily displayed. be able to. Further, since the program matching device 1 switches from the screen 102 displaying the difference of the matching target program to the screen 201 displaying the difference of the property information between the sets based on the difference information, it is easy to switch the screen. Become. As a result, it is easy to display the difference in the property information, so that it is easy to refer to the matching result in detail, and the matching work time can be shortened.
  • the property information display control unit 17 changes the screen 102 to the screen 201 and the click operation is performed. You may move a cursor to the line in the screen 201 in which the property information of an input / output terminal is displayed.
  • the means for switching the screen 102 and the method for displaying the difference are not limited to this.
  • the program matching device 1 may display the screen 102 and the screen 201 at the same time.
  • FIG. 6 is a flowchart showing the processing procedure of the merge processing executed by the program matching device according to the embodiment.
  • the user specifies a set to be merged on the screen 102 and presses the merge button displayed on the screen 102.
  • the merge button is a button for instructing execution of merge.
  • the user's designation of the set and pressing of the merge button are instructions to merge the matching target programs.
  • the instruction input unit 20 When the instruction input unit 20 receives the merge instruction of the verification target program, the instruction input unit 20 sends this instruction to the program merge unit 18.
  • the program merging unit 18 receives the information designating the set to be merged (step S110) and the pressing of the merge button (step S120).
  • the program merging unit 18 corrects the coordinates of the collation source program 11 according to the merge position designated by the user (step S130). At this time, the program merging unit 18 corrects the X-coordinate and the Y-coordinate of the set with respect to the collation source program 11 according to the editing contents of the set. Further, the program merging unit 18 reflects the contents of the set in the collation target program 12 designated by the user in the collation source program 11. The correction of the X coordinate and the Y coordinate of the set for the collation source program 11 will be described later.
  • the program merging unit 18 redisplays the verification target program according to the coordinate correction position (step S140). That is, the program merging unit 18 displays the collation target program on the screen 102 so that the set in the collation source program 11 changed to the set in the collation target program 12 has the changed content.
  • the program merge unit 18 also creates a merge history and stores it in the merge history storage unit 19.
  • FIG. 7 is a diagram showing a first display example of the verification target programs to be merged by the program verification device according to the embodiment.
  • the first display example when the program collation device 1 merges and displays the collation target programs, the Y coordinate of the set in the collation source program 11-1 is corrected and displayed.
  • a set of FBD parts is represented as “A”, “B”, “C”, “D”, “E”, “F”, “G1”, “G2”, “G3”. Shows.
  • the collation target program 103X includes a collation source program 11-1 and a collation destination program 12-1.
  • the collation target program 12-1 is obtained by adding the set “G1” to the collation source program 11-1.
  • the program matching device 1 may or may not display the matching target program 103X on the display device 2.
  • the difference processing unit 13 rearranges the collation source program 11-1 and the collation target program 12-1 of the collation target program 103X in the vertical direction according to the execution order.
  • the difference display control unit 16 displays the collation source program 11-1 rearranged in the vertical direction according to the execution order and the collation target program 12-1 rearranged in the vertical direction according to the execution order as the collation target program 202. Display on the device 2.
  • the difference display control unit 16 highlights the set of differences between the collation source program 11-1 and the collation target program 12-1 based on the difference information from the difference detection unit 14 by color coding or the like. .
  • the difference between the collation source program 11-1 and the collation target program 12-1 is the set “G1”.
  • the program merge unit 18 sets the set “G1” of the verification destination program 12-1 to the verification source program 11-. Merge to 1.
  • the program merging unit 18 sets the set “G1” in the collation target program 12-1 so that the Y coordinate of the set “G1” in the collation source program 11-1 is the same.
  • G1 ” is inserted into the collation target program 12-1.
  • the program merging unit 18 inserts the set “G1” at the first position, which is a position between the set “C” and the set “D”, in the collation target program 12-1.
  • the program merging unit 18 causes the display device 2 to display the verification target program 103Y which is the verification target program after the change (after the merging). At this time, the program merging unit 18 sets the Y coordinate of the set “G1” in the collation target program 12-1 and the Y coordinate of the set “G1” in the collation source program 11-1 to be the same. The set “G1” is displayed in the program 12-1. Here, the program merging unit 18 displays the set “G1” so that the Y coordinate between the set “C” and the set “D” is set in the collation target program 12-1.
  • the program merging unit 18 sets the X coordinate of the set “G1” in the collation target program 12-1 as any position. Good.
  • the program merging unit 18 sets, for example, the set “G1” so that the X coordinate of the set “G1” in the collation target program 12-1 is the same as the X coordinate of the set “G1” in the collation source program 11-1. Is displayed.
  • the program merging unit 18 determines that the Y coordinate of the set “D” and the subsequent Y coordinates. Is corrected downward so that a space is provided between the set “C” and the set “D”, and the set “G1” is inserted into this space.
  • FIG. 8 is a diagram showing a second display example of the verification target programs to be merged by the program verification device according to the embodiment.
  • the program collation device 1 merges and displays the collation target programs
  • the X coordinate of the set in the collation source program 11-2 is corrected and displayed.
  • the collation target program 104X includes a collation source program 11-2 and a collation destination program 12-2.
  • the collation destination program 12-2 is obtained by adding the set “G2” to the collation source program 11-2.
  • the program matching device 1 may or may not display the matching target program 104X on the display device 2.
  • the difference processing unit 13 rearranges the collation source program 11-2 and the collation target program 12-2 of the collation target program 104X in the vertical direction according to the execution order.
  • the difference display control unit 16 displays the collation source program 11-2 rearranged in the vertical direction according to the execution order and the collation target program 12-2 rearranged in the vertical direction according to the execution order as the collation target program 203. Display on the device 2.
  • the difference display control unit 16 highlights the set of differences between the collation source program 11-2 and the collation target program 12-2 based on the difference information from the difference detection unit 14 by color coding or the like. .
  • the difference between the collation source program 11-2 and the collation target program 12-2 is the set “G2” which is the third set.
  • the program merging unit 18 merges the set “G2” of the collation target program 12-2 into the collation source program 11-2. To do.
  • the program merging unit 18 sets the set “G2” in the collation target program 12-2 and the set “G2” in the collation source program 11-2 to have the same Y coordinate.
  • G2 ” is inserted into the collation target program 12-2.
  • the program merging unit 18 inserts the set “G2” between the set “B” and the set “C” in the collation target program 12-2.
  • the program merging unit 18 causes the display device 2 to display the collation target program 104Y which is the collation target program after the change (after the merge). At this time, the program merging unit 18 sets the Y coordinate of the set “G2” in the collation target program 12-2 and the Y coordinate of the set “G2” in the collation source program 11-2 to be the same.
  • the set “G2” is displayed in the program 12-2.
  • the program merging unit 18 sets the Y coordinate between the set “B” and the set “C” in the collation target program 12-2, that is, the same Y as the set “B” and the set “C”.
  • the set “G2” is displayed so that the coordinates are set.
  • the set “G2" is the third set
  • the sets "B” and “C” are the fourth set.
  • the program merging unit 18 corrects the X coordinate between the sets and merges the set. Insert and display the set. That is, when the set “G2” is merged and displayed, if there is a set in the collation source program 11-2 that has the same Y coordinate as the Y coordinate of the set “G2”, in the collation source program 11-2. In some cases, there is not enough space in the X direction for arranging the set “G2”. If there is not enough space in the X coordinate in this way, the program merge section 18 corrects the X coordinate between the sets in the collation source program 11-2 and inserts and displays the set “G2” for merge.
  • the program merging unit 18 shifts the set “B” to the left. Thus, a space is provided between the set “B” and the set “C”, and the set “G2” is inserted in this space.
  • the program merging unit 18 may shift the set “C” to the right to provide a space between the set “B” and the set “C”, and insert the set “G2” into this space.
  • the program collation device 1 sets the collation source such that the execution order of the set “G2” is between the set “B” and the set “C”. After correcting the X and Y coordinates of the set in the program 11-2, the set “G2” is inserted into the collation source program 11 and displayed.
  • FIG. 9 is a diagram showing a third display example of the verification target programs to be merged by the program verification device according to the embodiment.
  • the third display example when the program collation device 1 merges and displays the collation target programs, the X coordinate and the Y coordinate of the set in the collation source program 11-3 are corrected and displayed.
  • the collation target program 105X includes a collation source program 11-3 and a collation destination program 12-3.
  • the set “G3” is added to the collation source program 11-3 and the set “E” is deleted is the collation target program 12-3.
  • the program matching device 1 may or may not display the matching target program 105X on the display device 2.
  • the difference processing unit 13 rearranges the collation source program 11-3 and the collation target program 12-3 of the collation target program 105X in the vertical direction according to the execution order.
  • the difference display control unit 16 displays the collation source program 11-3 rearranged in the vertical direction according to the execution order and the collation target program 12-3 rearranged in the vertical direction according to the execution order as the collation target program 204. Display on the device 2.
  • the difference display control unit 16 highlights the set of differences between the matching source program 11-3 and the matching target program 12-3 by color coding or the like based on the difference information from the difference detecting unit 14. .
  • the difference between the collation source program 11-3 and the collation target program 12-3 is the set “G3” and the set “E” that are the fifth set.
  • the set “G3” is pressed by the user operation
  • the position selection button 82 is pressed by the user operation
  • the second position which is the insertion position of the set “G3” in the collation source program 11-3 is pressed by the user operation.
  • the program merging unit 18 merges the set “G3” of the collation target program 12-3 with the collation source program 11-3.
  • the program merging unit 18 inserts the set “G3” in the collation target program 12-3 at the position of the X coordinate and the Y coordinate designated by the user operation.
  • the program merging unit 18 inserts the set “G3” below the set “F” in the collation target program 12-3.
  • the program merging unit 18 causes the display device 2 to display the collation target program 105Y that is the collation target program after the change (after the merge). At this time, the program merging unit 18 displays the set “G3” in the collation target program 12-3 so that the set “G3” in the collation target program 12-3 is below the set “F”.
  • the user can arbitrarily select the merge position, so that the set in the collation target program 12-3 can be inserted into any position in the collation source program 11-3. Therefore, it is possible to reduce the time and effort required to change the execution order, and to shorten the working time.
  • the merging method is not limited to the method described in FIGS. 7 to 9. Further, on the screen displaying the collation target programs 202 to 204, a button for collectively merging all edited sets into the collation source program 11-3 may be provided.
  • FIG. 10 is a diagram for explaining a method of creating a merge history created by the program matching device according to the embodiment.
  • FIG. 10 shows an image of a merge history example created when the FBD programs are merged.
  • the program merge unit 18 creates a merge history and stores it in the merge history storage unit 19 when executing the merge.
  • the merge history has information about which set was changed, deleted, or added when the merge was executed.
  • the program merging unit 18 extracts a set merged between the collation source program 11-4 and the collation target program 12-4.
  • the program merging unit 18 sets the set “G” to the collation source program 11-4. Add, modify set "D” and delete set "E”.
  • the program merging unit 18 includes the information indicating that the set “G” has been added, the information indicating that the set “D” has been changed, and the information indicating that the set “E” has been deleted. Create history.
  • the merge history shall include the changes made to the set "D".
  • the changed contents of the set “D” include the changed contents of the set “D”.
  • the changed contents of the set “D” may or may not include the contents of the set “D” before the change.
  • the merge history contains the display color when displaying the merged set. For example, the modified set “D” is displayed in red, the deleted set “E” is displayed in blue, and the added set “G” is displayed in green. Stored in history.
  • the display method of the merged set is not limited to this.
  • the program collating apparatus 1 creates and stores the merge history, the user can check the merge history before and after the merge history. It is possible to easily check the changed parts. As a result, the user can reduce the time and effort to check the changed portion of the set before the merge. In addition, the user can easily check whether or not there was a merge operation error. Therefore, the collation work time can be shortened.
  • FIG. 11 is a diagram showing a hardware configuration for realizing the program collating device according to the embodiment.
  • the program matching device 1 is realized by the processor 301, the memory 302, the input device 303, and the interface circuit 304.
  • the processor 301 controls the memory 302, the input device 303, and the interface circuit 304. Examples of the input device 303 are a mouse, a keyboard, and a touch panel.
  • the input device 303 receives an instruction from the user and inputs it to the processor 301.
  • the interface circuit 304 outputs the result of data processing by the processor 301 to the display device 2.
  • processor 301 is a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP) or system LSI (Large Scale Integration).
  • memory 302 is RAM (Random Access Memory) or ROM (Read Only Memory).
  • the program matching device 1 is realized by the processor 301 reading and executing a program for executing the operation of the program matching device 1 stored in the memory 302. It can also be said that this program causes a computer to execute the procedure or method of the program matching device 1.
  • the memory 302 is also used as a temporary memory when the processor 301 executes various processes.
  • the program executed by the processor 301 may be a computer program product having a computer-readable, non-transitory recording medium containing a plurality of instructions for performing data processing. .
  • the program executed by the processor 301 causes a computer to execute data processing by a plurality of instructions.
  • the program matching device 1 may be realized by dedicated hardware. Further, the functions of the program matching device 1 may be partially implemented by dedicated hardware and partially implemented by software or firmware.
  • the program collating apparatus 1 arranges the set of collation source programs 11 vertically in the left region 51A and the set of collation target programs 12 vertically in the right region 51B. Since a number of sets are collated side by side with each other, many sets can be displayed on the screen. This allows the user to easily refer to the collation result of the FBD program described in the FBD language. Therefore, the user can collate the FBD program in a short time.
  • the program matching device 1 extracts and displays the difference of the property information of the set designated by the user based on the difference information, the user can match the difference of the property information in a short time. .
  • the program matching device 1 automatically merges the set designated by the user, the user does not need to perform the manual merge. As a result, the user can reduce the work time of the merge. Moreover, since the program matching device 1 automatically creates the merge history, the user can reduce the time required for the creation work of the merge history.
  • 1 program collation device 2 display device, 10 data storage unit, 11, 11-1 to 11-4 collation source program, 12, 12-1 to 12-4 collation target program, 13 difference processing unit, 14 difference detection unit, 15 set sorting section, 16 difference display control section, 17 property information display control section, 18 program merge section, 19 merge history storage section, 20 instruction input section, 21 program input section, 42-45 FBD parts, 61A, 61B, 62A , 63A, 63B, 64B set, 101, 102, 201 screen, 103X, 103Y, 104X, 104Y, 105X, 105Y, 202-204 verification target programs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラム照合装置(1)は、第1のFBDプログラムである照合元プログラム(11)を、互いに結線されているプログラム部品の集合単位に分割し、各集合を実行順序が早い順に縦方向であるY軸方向に1列に並び替え、かつ第2のFBDプログラムである照合先プログラム(12)を、互いに結線されているプログラム部品の集合単位に分割し、各集合を実行順序が早い順にY軸方向に1列に並び替える集合整列部(15)と、並び替えられた照合元プログラム(11)および照合先プログラム(12)の集合の差分を差分情報として検出する差分検出部(14)と、表示装置の画面内で、並び替えられた、照合元プログラム(11)および照合先プログラム(12)の集合を表示させる差分表示制御部(16)と、を備える。

Description

プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム
 本発明は、ファンクションブロックダイアグラム言語で記述されたプログラムを照合するプログラム照合装置、プログラム照合方法、およびプログラム照合プログラムに関する。
 近年のFA(Factory Automation)分野ではシステムの大規模化が進んでおり、PLC(プログラマブルロジックコントローラ:Programmable Logic Controller)が用いるシーケンスプログラムが大規模化かつ複雑化しているので、シーケンスプログラムの品質確保が重要となっている。
 シーケンスプログラムを作成する際には、シーケンスプログラムを新規に作成するよりも、既存の稼働実績のあるシーケンスプログラムを複製したうえで再利用する場合が多い。シーケンスプログラムを再利用する場合、既存のシーケンスプログラムへの処理の追加、不要な処理の削除、またはロジックの一部変更が実施される。その際に、品質確保の観点からシーケンスプログラムの変更箇所を明らかにすることが望ましい。
 編集先のプログラムである照合先プログラムの変更箇所を明らかにする場合、既存のシーケンスプログラムである照合元プログラムと、照合先プログラムとが比較されることで照合される。
 特許文献1に記載のプログラミング装置は、グラフィック言語であるファンクションブロックダイアグラム(FBD:Function Block Diagram)言語に変換された2つのプログラムを比較して不一致部を表示画面に表示している。
特開平9-230915号公報
 しかしながら、上記特許文献1の技術では、プログラム部品を画面の横方向、すなわちX軸方向に並べて画面表示しているので、横方向に長く作成されたプログラムを照合する場合には、1画面に表示可能なプログラムの部分が少なくなる。このため、ユーザが2つのプログラムを比較する際には、画面を何度も横スクロールする必要があり、照合結果の参照に手間がかかるという問題があった。
 本発明は、上記に鑑みてなされたものであって、ファンクションブロックダイアグラム言語で記述されたプログラムの照合結果を容易に参照することができるプログラム照合装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明のプログラム照合装置は、第1のファンクションブロックダイアグラムプログラムである第1のプログラムを、第1のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、第1のプログラムの各集合を実行順序が早い順に縦方向であるY軸方向に1列に並び替え、かつ第2のファンクションブロックダイアグラムプログラムである第2のプログラムを、第2のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、第2のプログラムの各集合を実行順序が早い順にY軸方向に1列に並び替える集合整列部を備える。また、本発明のプログラム照合装置は、並び替えられた第1のプログラムの集合と、並び替えられた第2のプログラムの集合と、を比較することによって、第1のプログラムと第2のプログラムとの集合の差分を差分情報として検出する差分検出部を備える。また、本発明のプログラム照合装置は、第1のプログラムおよび第2のプログラムを表示する表示装置の画面内で、並び替えられた、第1のプログラムの集合および第2のプログラムの集合を表示させ、且つ差分情報に基づいて第1のプログラムの集合に対応する第2のプログラムの集合がY軸方向で同じ高さで表示されるよう、第1のプログラムおよび第2のプログラムを左右に並べて表示させる第1の表示制御部を備える。
 本発明にかかるプログラム照合装置は、ファンクションブロックダイアグラム言語で記述されたプログラムの照合結果を容易に参照することができるという効果を奏する。
実施の形態にかかるプログラム照合装置の構成を示す図 実施の形態にかかるプログラム照合装置が照合するFBDプログラムの実行手順を説明するための図 実施の形態にかかるプログラム照合装置が実行する照合処理の処理手順を示すフローチャート 実施の形態にかかるプログラム照合装置が画面に表示させる照合対象プログラムの例を示す図 実施の形態にかかるプログラム照合装置が画面に表示させるプロパティ情報を説明するための図 実施の形態にかかるプログラム照合装置が実行するマージ処理の処理手順を示すフローチャート 実施の形態にかかるプログラム照合装置がマージする照合対象プログラムの第1の表示例を示す図 実施の形態にかかるプログラム照合装置がマージする照合対象プログラムの第2の表示例を示す図 実施の形態にかかるプログラム照合装置がマージする照合対象プログラムの第3の表示例を示す図 実施の形態にかかるプログラム照合装置が作成するマージ履歴の作成方法を説明するための図 実施の形態にかかるプログラム照合装置を実現するハードウエア構成を示す図
 以下に、本発明の実施の形態にかかるプログラム照合装置、プログラム照合方法、およびプログラム照合プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
 図1は、実施の形態にかかるプログラム照合装置の構成を示す図である。プログラム照合装置1は、FBD言語で記述されたFBDプログラムを照合するコンピュータである。本実施の形態の照合は、FBDプログラムの変更箇所を明らかにする処理である。プログラム照合装置1は、2つのFBDプログラムを照合する際に、FBDプログラムのFBD部品を実行順序が早い順に画面の縦方向に並べて比較する。
 プログラム照合装置1は、データ保存部10と、差分処理部13と、プロパティ情報表示制御部17と、差分表示制御部16と、プログラムマージ部18と、マージ履歴記憶部19と、指示入力部20と、プログラム入力部21とを備えている。表示装置2は、差分表示制御部16、プロパティ情報表示制御部17、プログラムマージ部18に接続されている。表示装置2の例は、液晶モニタである。
 指示入力部20は、差分処理部13、プロパティ情報表示制御部17、およびプログラムマージ部18に接続されている。プログラム入力部21は、データ保存部10に接続されている。差分処理部13は、データ保存部10および差分表示制御部16に接続されている。差分表示制御部16は、プロパティ情報表示制御部17およびプログラムマージ部18に接続されている。マージ履歴記憶部19は、プログラムマージ部18に接続されている。
 データ保存部10は、FBDプログラムといったデータを保存するメモリなどである。データ保存部10は、第1のプログラムである照合元プログラム11と、第2のプログラムである照合先プログラム12とを保存する。照合元プログラム11は、既存の稼働実績のあるFBDプログラムである。照合先プログラム12は、照合元プログラム11を複製したものに、編集が加えられたFBDプログラムである。FBDプログラムが編集される際には、FBD部品の追加、削除、または変更が行われる。FBD部品の追加、削除、または変更が行われることによって、照合元プログラム11と照合先プログラム12との間に差分が発生する。なお、第1のプログラムには、照合元プログラム11以外のプログラムが含まれていてもよく、第2のプログラムには、照合先プログラム12以外のプログラムが含まれていてもよい。
 プログラム入力部21は、プログラムを作成するプログラム作成装置といった外部装置から送られてくる、照合元プログラム11および照合先プログラム12をデータ保存部10に入力する。
 PLCといった制御装置に用いられるシーケンスプログラムの記述には、プログラミング言語として、テキスト言語またはグラフィック言語が用いられる。グラフィック言語の中で、IEC(国際電気標準会議:International Electrotechnical Commission)で規格化されているFBD言語は、処理に対応するFBD部品が結線されることによって、一連の処理が記述される。FBD部品の単位は、ファンクションあるいはファンクションブロックである。FBD言語はフリーフォーマットで記述可能なプログラミング言語であり、FBD部品の実行順序は、FBD部品が記載される座標の位置によって決まる。
 ここで、FBDプログラムの実行手順について説明する。図2は、実施の形態にかかるプログラム照合装置が照合するFBDプログラムの実行手順を説明するための図である。FBDプログラム100は、複数のFBD部品を用いて構成されている。図2では、FBD部品を「MA」、「MB」、「MC」、「MD」、「ME」、「MF」、「MG」、「MH」のように示している。
 FBDプログラム100は、2次元座標上の左上部を原点(0,0)とし、Y軸方向(縦方向)については上から下、X軸方向(横方向)については左から右の順番でFBD部品が実行される。Y軸方向とX軸方向の順番はY軸方向が優先される。
 図2に示すFBDプログラム100の場合、以下の(1)から(8)の順番でFBD部品が実行される。
(1)「MA」のFBD部品
(2)「ME」のFBD部品
(3)「MD」のFBD部品
(4)「MC」のFBD部品
(5)「MB」のFBD部品
(6)「MF」のFBD部品
(7)「MH」のFBD部品
(8)「MG」のFBD部品
 なお、「MA」から「MH」は、複数のFBD部品からなるFBD部品群(後述する集合)であってもよい。この場合も、図2で説明した順番と同じ順番でFBD部品群が実行される。
 指示入力部20は、プログラム照合装置1のユーザからの指示を受付けて、受付けた指示を差分処理部13、プロパティ情報表示制御部17、またはプログラムマージ部18に入力する。プログラム照合装置1のユーザが、指示入力部20に照合元プログラム11および照合先プログラム12の差分を表示させる指示を入力すると、指示入力部20は、この指示を差分処理部13に送る。
 プログラム照合装置1のユーザが、指示入力部20に照合元プログラム11および照合先プログラム12のプロパティを表示させる指示を入力すると、指示入力部20は、この指示をプロパティ情報表示制御部17に送る。また、プログラム照合装置1のユーザが、指示入力部20に照合元プログラム11および照合先プログラム12のマージを実行させる指示を入力すると、指示入力部20は、この指示をプログラムマージ部18に送る。
 差分処理部13は、差分検出部14と、集合整列部15とを備えている。集合整列部15は、データ保存部10から照合元プログラム11および照合先プログラム12を読み出す。
 集合整列部15は、照合元プログラム11を、照合元プログラム11内で互いに結線されているFBD部品の集合単位に分割する。換言すると、集合整列部15は、照合元プログラム11内のFBD部品に対し、互いに結線されているFBD部品を、1つのFBD部品群に設定する。同様に、集合整列部15は、照合先プログラム12に配置されているFBD部品を、互いに結線されたFBD部品から構成された単位で分割する。本実施の形態では、集合整列部15が分割したFBD部品の集まりを集合と呼ぶ。すなわち、集合は、互いに結線されたFBD部品の集まりである。このように、集合整列部15は、照合元プログラム11および照合先プログラム12を、それぞれ集合単位に分割する。
 集合整列部15は、照合元プログラム11の実行順序に従って、照合元プログラム11内の集合を縦方向(Y軸方向)に1列に並び替える。また、集合整列部15は、照合先プログラム12の実行順序に従って、照合先プログラム12内の集合を縦方向に1列に並び替える。集合整列部15は、実行順序の早い集合ほど、上側に並べる。集合整列部15は、集合を並べ替えた結果を示す整列結果を差分検出部14に送る。集合整列部15から差分検出部14に送られる整列結果には、照合元プログラム11内の各集合の位置(画面内の座標)と、照合先プログラム12内の各集合の位置(画面内の座標)とが含まれている。
 差分検出部14は、集合整列部15によって集合が並び替えられた、照合元プログラム11および照合先プログラム12に基づいて、照合元プログラム11と照合先プログラム12との差分を検出する。すなわち、差分検出部14は、集合整列部15が並べ替えた集合の配置に基づいて、照合元プログラム11と照合先プログラム12との差分を検出する。差分検出部14は、集合単位で、照合元プログラム11と照合先プログラム12との間に差分があるか否かを判定し、差分のある集合を抽出する。照合元プログラム11と照合先プログラム12との間の差分は、集合の追加、集合の削除、集合の変更の何れかである。
 差分処理部13は、例えば、照合元プログラム11および照合先プログラム12の一方にあって、他方に無い集合を抽出する。また、差分処理部13は、照合元プログラム11と照合先プログラム12との間で集合の位置が異なる場合、すなわち処理順序が異なる場合、位置の異なる集合を抽出する。
 また、差分処理部13は、照合元プログラム11の集合内の一部のFBD部品が編集され照合先プログラム12が作成されている場合、編集によって発生したFBD部品の差分を抽出する。FBD部品の差分には、FBD部品自体の変更による差分と、FBD部品のプロパティ情報の変更による差分とがある。差分検出部14は、差分の検出結果である差分情報を差分表示制御部16に送る。差分情報は、照合元プログラム11と照合先プログラム12との差分、すなわち差異点を示す情報である。差分情報では、差分検出部14で抽出された集合の差分の内容、または差分検出部14で抽出されたFBD部品の差分の内容が示されている。プロパティ情報は、FBD部品のプロパティを示す情報である。
 なお、以下の説明では、照合元プログラム11および照合先プログラム12をまとめて照合対象プログラムという場合がある。照合対象プログラムには、FBD部品のプロパティ情報が含まれている。
 第1の表示制御部である差分表示制御部16は、集合整列部15が集合を並べ替えた照合対象プログラムを、差分情報が特定の表示態様となるよう表示装置2に表示させる。差分表示制御部16は、差分情報に基づいて、差分情報に含まれる集合およびFBD部品が、追加、削除、変更の何れであるかを識別可能なよう表示装置2に照合対象プログラムを表示させる。差分表示制御部16は、例えば、集合およびFBD部品を色分けすることによって、集合およびFBD部品が、追加、削除、変更の何れであるかを識別可能なよう照合対象プログラムを強調表示させる。
 第2の表示制御部であるプロパティ情報表示制御部17は、プロパティ情報の表示指示を受付けると、差分表示制御部16からプロパティ情報を抽出して、表示装置2に表示させる。具体的には、プロパティ情報表示制御部17は、ユーザから指定された集合に含まれるFBD部品のプロパティ情報を、差分表示制御部16の差分情報から読み出す。差分表示制御部16の差分情報には、プロパティ情報の差分であるプロパティ差分も含まれているので、プロパティ情報表示制御部17は、プロパティ情報の差分を読み出して、表示装置2に表示させ、照合先プログラム12から照合先プログラム12に含まれるFBD部品のプロパティ情報を抽出して表示装置2に表示させる。このとき、プロパティ情報表示制御部17は、照合元プログラム11に含まれるFBD部品のプロパティ情報と、照合先プログラム12に含まれるFBD部品のプロパティ情報とを左右に並べて表示装置2の画面に表示させる。また、プロパティ情報表示制御部17は、差分情報に基づいて、プロパティ情報の差分を表示装置2に強調表示させる。
 プログラムマージ部18は、照合対象プログラムのマージ指示を受付けると、照合元プログラム11および照合先プログラム12のマージを実行する。具体的には、プログラムマージ部18は、照合元プログラム11から編集が加えられた箇所を、照合先プログラム12から抽出して照合元プログラム11に反映させる。プログラムマージ部18は、照合元プログラム11と照合先プログラム12との間で差分がある集合を、集合単位または一括してマージする。プログラムマージ部18は、マージの履歴を作成し、マージ履歴記憶部19に記憶させる。マージ履歴記憶部19は、マージの履歴を記憶するメモリなどである。
 図3は、実施の形態にかかるプログラム照合装置が実行する照合処理の処理手順を示すフローチャートである。指示入力部20が、照合元プログラム11および照合先プログラム12の差分を表示させる指示を受付けると、この指示を差分処理部13に送る。
 集合整列部15は、照合元プログラム11を、データ保存部10から読み出す(ステップS10)。また、集合整列部15は、照合先プログラム12を、データ保存部10から読み出す(ステップS20)。なお、ステップS10およびステップS20の処理は、何れが先に実行されてもよい。
 集合整列部15は、照合対象プログラムを集合単位に分割する(ステップS30)。具体的には、集合整列部15は、照合元プログラム11を集合単位に分割し、照合先プログラム12を集合単位に分割する。
 なお、集合整列部15は、照合先プログラム12をデータ保存部10から読み出す前に、照合元プログラム11を集合単位に分割してもよい。また、集合整列部15は、照合元プログラム11をデータ保存部10から読み出す前に、照合先プログラム12を集合単位に分割してもよい。
 各集合の実行順序は、FBD部品の実行順序と同様で、集合の左上部の(X,Y)座標に依存して定まる。集合整列部15は、集合を実行順序に従って、縦方向に並び替える(ステップS40)。集合整列部15は、照合元プログラム11に含まれる集合が実行順となるよう、縦方向(Y軸方向)に1列に並べ、照合先プログラム12に含まれる集合が実行順となるよう、縦方向に1列に並べる。このとき、集合整列部15は、照合元プログラム11に含まれる集合と、この集合に対応する照合先プログラム12に含まれる集合と、が同じ集合である場合には、同じY座標となるよう、すなわち同じ高さとなるよう各集合の位置を調整する。
 差分検出部14は、並び替えられた集合ごとに、照合元プログラム11と照合先プログラム12とを比較することによって、照合元プログラム11と照合先プログラム12との間の差分を検出する(ステップS50)。差分検出部14は、照合元プログラム11と照合先プログラム12とで同じY座標の集合同士を比較し、集合間の相違箇所を検出する。差分検出部14が検出する差分は、集合の変更、削除、または追加である。すなわち、差分検出部14は、照合元プログラム11に対し、照合先プログラム12の何れの集合が変更、削除、または追加されたかを検出する。
 差分検出部14は、並び替えられた集合と、差分情報を差分表示制御部16に送る。差分表示制御部16は、集合整列部15が並べ替えた集合の配置に基づいて、照合対象プログラムを表示装置2に表示させる。すなわち、差分表示制御部16は、並び替えられた集合と、差分情報に基づいて、照合対象プログラムを画面に表示させる。具体的には、差分表示制御部16は、集合が並び替えられた照合元プログラム11と、集合が並び替えられた照合先プログラム12とを、表示装置2の画面の左右に並べて表示させる。このとき、差分表示制御部16は、照合元プログラム11の集合と、照合先プログラム12の集合との差分がユーザによって視認可能なよう、表示装置2に画面表示させる(ステップS60)。差分表示制御部16は、差分のある集合に対して色分けなどを行うことによって、差分がユーザによって視認可能なよう表示させる。
 図4は、実施の形態にかかるプログラム照合装置が画面に表示させる照合対象プログラムの例を示す図である。集合整列部15は、照合元プログラム11内の集合を実行順序に従って並べ替え、且つ並び替えた集合の左端を揃えるとともに縦方向に等間隔で並べる。また、集合整列部15は、照合先プログラム12内の集合を実行順序に従って並べ替え、且つ並び替えた集合の左端を揃えるとともに縦方向に等間隔で並べる。集合整列部15は、照合元プログラム11内の集合に対応する照合先プログラム12内の集合が縦方向で同じ高さとなるよう、照合元プログラム11および照合先プログラム12を左右に並べる。
 差分表示制御部16は、比較された照合対象プログラムの集合全てを、並べ替えられた順序および位置となるよう画面101の左右に並べる。ここでは、差分表示制御部16が、画面101の左半分である左領域51Aに照合元プログラム11を表示させ、画面101の右半分である右領域51Bに照合先プログラム12を表示させた場合について説明する。なお、照合対象プログラムの集合が多すぎて画面101に全ての集合を表示できない場合、差分表示制御部16は、照合対象プログラムの一部の集合を画面101に表示させてもよい。
 照合元プログラム11は、集合61A,62A,63Aを有し、照合先プログラム12は、集合61B,63B,64Bを有している。この場合において、照合元プログラム11では、集合61A、集合62A、集合63Aの順番で処理が実行され、照合先プログラム12では、集合61B、集合63B、集合64Bの順番で処理が実行されるものとする。
 また、集合61Aが、集合61Bに対応し、集合63Aが、集合63Bに対応している。すなわち、集合61Aと集合61Bとは同じ構成であるがプロパティ情報が異なり、集合63Aと集合63Bは同じものである。換言すると、左領域51Aの照合元プログラム11が編集されて右領域51Bの照合先プログラム12が作成された際に、集合61A,63Aの構成は、編集されていない。一方、左領域51Aの照合元プログラム11が編集されて右領域51Bの照合先プログラム12が作成された際に、集合62Aが削除され、集合63Bの後に集合64Bが追加されている。
 差分表示制御部16は、左領域51Aおよび右領域51Bを同一画面上である画面101上に表示させる。具体的には、差分表示制御部16は、集合61A,62A,63Aの左端を揃えた状態で画面101の左領域51Aに表示させ、集合61B,63B,64Bの左端を揃えた状態で画面101の右領域51Bに表示させる。このとき、集合61AのY座標と集合61BのY座標とが同じになり、集合63AのY座標と集合63BのY座標とが同じになるよう、左領域51Aおよび右領域51Bが表示される。また、左領域51Aにおいて、集合64Bに対応する領域は空欄となり、右領域51Bにおいて、集合62Aに対応する領域は空欄となる。
 差分表示制御部16は、差分検出部14からの差分情報に従って、変更されている集合は赤色、削除されている集合は青色、追加されている集合は緑色といったように色分けをして各集合を表示する。すなわち、差分表示制御部16は、差分情報に基づいて、照合元プログラム11と照合先プログラム12との間の差分となっている集合を、色分け等によって他の集合に対して識別可能なよう強調表示する。本実施の形態の強調表示は、他の集合とは異なる態様の表示である。
 なお、差分表示制御部16は、集合が削除された領域に色を付してもよい。差分表示制御部16は、変更前の集合および変更後の集合に対して、変更前および変更後のFBD部品に黄色といった、他とは異なる色を付す。なお、表示方法は、これらに限定されるものではない。
 このように、プログラム照合装置1は、照合元プログラム11内の集合61A,62A,63Aおよび照合先プログラム12内の集合61B,63B,64Bを画面101内で縦に並べるので、横方向に集合を並べて比較するよりも、多くの集合を表示できる。これにより、多くの照合結果を一画面に表示することができるので、ユーザによる照合結果の参照が容易になり、照合の作業時間を短縮できる。また、照合元プログラム11と照合先プログラム12との不一致箇所である差分を、ニーモニック表現ではなく、グラフィック言語そのもので表示できるので、ユーザが差分を容易に確認することが可能となる。
 ユーザは、集合内のFBD部品の入力端子および出力端子が持つプロパティ情報の差異を比較したい場合がある。指示入力部20は、ユーザからプロパティ情報の表示指示を受付けると、この表示指示をプロパティ情報表示制御部17に送る。プロパティ情報表示制御部17は、表示指示で指定されている集合のプロパティ情報を、差分表示制御部16から読み出して表示装置2に表示させる。プロパティ情報の表示指示は、ユーザがマウスなどによって画面101内の集合を指定することによって、指示入力部20に入力される。
 図5は、実施の形態にかかるプログラム照合装置が画面に表示させるプロパティ情報を説明するための図である。画面102は、画面101と同様に照合対象プログラムを縦方向に表示した画面である。
 ユーザによって画面102上の何れかの集合が指定された場合、プロパティ情報表示制御部17は、画面102の代わりに、プロパティ情報を表示するための画面201を表示させる。すなわち、プロパティ情報表示制御部17は、FBDプログラムの差分表示からプロパティ情報の差分表示にジャンプして切り替える。具体的には、プロパティ情報表示制御部17は、指定された集合に含まれるFBD部品のプロパティ情報と、この集合と同じY座標の集合に含まれるFBD部品のプロパティ情報とを、画面201に表示させる。例えば、集合61Aが指定された場合、プロパティ情報表示制御部17は、集合61Aと、この集合61AのY座標と同じY座標を有している集合61Bと、を含んだ領域41のプロパティ情報を画面201に表示させる。
 FBD部品のうち、変更されるのは、入力端子または出力端子である。集合61A,61Bは、何れも3つの入力端子と、1つの出力端子を有している。図5では、集合61A内の入力端子を、「bLabel114」、「bLabel155」、「bLabel116」で図示し、集合61A内の出力端子を「bLabel117」で図示している。また、図5では、集合61B内の入力端子を、「bLabel114」、「bLabel115」、「bLabel116」で図示し、集合61B内の出力端子を「bLabel117」で図示している。すなわち、集合61Bでは、集合61AのFBD部品42である「bLabel155」が編集されて、FBD部品44である「bLabel115」となっている。また、集合61Bでは、集合61AのFBD部品43である「bLabel117」が編集されて、FBD部品45である「bLabel117」となっている。この場合において、プロパティ情報表示制御部17は、差分表示制御部16が用いた差分情報に基づいて、編集の対象となったFBD部品42~45を抽出し、FBD部品42~45のプロパティ情報を、他のFBD部品のプロパティ情報と異なる色で表示させる。すなわち、プロパティ情報表示制御部17は、集合61Aに含まれるFBD部品のプロパティ情報と、集合61Bに含まれるFBD部品のプロパティ情報との差分となっている箇所が他の箇所に対して識別可能なよう画面201に表示する。
 このように、本実施の形態では、差分情報によって画面102と画面201とが紐付けがされている。したがって、差分表示制御部16は、差分情報に基づいて、照合元プログラム11と照合先プログラム12との差分を表示でき、プロパティ情報表示制御部17は、差分情報に基づいて、集合間のプロパティ情報の差分を表示できる。
 第1の集合である集合61A、第2の集合である集合61B、または領域41がユーザによって指定された場合、プロパティ情報表示制御部17は、集合61Aのプロパティ情報である第1のプロパティ情報と、集合61Bのプロパティ情報である第2のプロパティ情報とを画面201に表示させる。領域41は、集合61Aおよび集合61Bを含んだ領域である。したがって、領域41がユーザによって指定された場合とは、集合61Aおよび集合61Bが指定された場合である。
 プロパティ情報は、「ラベル名」と、「データ型」と、「コメント」と、が対応付けされた情報である。「ラベル名」は、FBD部品のラベルの名称を示し、「データ型」は、FBD部品のデータの型を示し、「コメント」は、FBD部品の機能を示している。
 図5の例では、集合61Aの「bLabel155」が編集されて、集合61Bでは「bLabel115」となっているので、画面201において、「ラベル名」の「bLabel155」および「bLabel115」が、他の「ラベル名」と異なる色で表示されている。
 また、図5の例では、「bLabel117」の「コメント」が「スイッチ点灯」から「スイッチ消灯」に編集されているので、画面201において、「コメント」の「スイッチ点灯」および「スイッチ消灯」が、他の「コメント」と異なる色で表示されている。
 このように、プログラム照合装置1は、差分処理部13にてプロパティ情報の差分を含んだ差分情報を検出しているので、照合対象プログラムの差分および集合間のプロパティ情報の差分を容易に表示することができる。また、プログラム照合装置1は、差分情報に基づいて、照合対象プログラムの差分を表示する画面102から、集合間のプロパティ情報の差分を表示する画面201に切替えているので、画面の切替えが容易となる。これにより、プロパティ情報の差異箇所の表示が容易になるので、照合結果の詳細な参照が簡単になり、照合の作業時間を短縮することができる。
 プロパティ情報表示制御部17は、変更された領域41内で強調表示された入出力端子の何れかに対してクリック操作が実行されると、画面102を画面201へ変更するともに、クリック操作された入出力端子のプロパティ情報が表示されている画面201内の行にカーソルを移動させてもよい。すなわち、プロパティ情報表示制御部17は、強調表示された入力端子を示すFBD部品42,44、および強調表示された出力端子を示すFBD部品43,45の何れかがクリック操作で指定されると、画面201内の指定された端子のプロパティ情報が表示されている行にカーソルを移動させてもよい。なお、画面102を切り替える手段および差分の表示方法はこれに限定されるものではない。また、プログラム照合装置1は、画面102と画面201とを同時に表示させてもよい。
 つぎに、照合対象プログラムのマージ処理について説明する。図6は、実施の形態にかかるプログラム照合装置が実行するマージ処理の処理手順を示すフローチャートである。ユーザは、マージしたい集合を画面102で指定するとともに、画面102内に表示されているマージボタンを押下する。マージボタンは、マージの実行を指示するためのボタンである。ユーザによる集合の指定およびマージボタンの押下が、照合対象プログラムのマージ指示である。
 指示入力部20は、照合対象プログラムのマージ指示を受付けると、この指示をプログラムマージ部18に送る。プログラムマージ部18は、マージする集合を指定した情報を受付け(ステップS110)、マージボタンの押下を受付ける(ステップS120)。
 プログラムマージ部18は、ユーザによって指定されたマージ位置に応じて、照合元プログラム11に対し、座標を補正する(ステップS130)。このとき、プログラムマージ部18は、集合の編集内容に応じて、照合元プログラム11に対し、集合のX座標およびY座標を補正する。また、プログラムマージ部18は、ユーザによって指定された照合先プログラム12内の集合の内容を、照合元プログラム11内に反映する。照合元プログラム11に対する集合のX座標およびY座標の補正については、後述する。
 プログラムマージ部18は、座標の補正位置に従って照合対象プログラムを再表示する(ステップS140)。すなわち、プログラムマージ部18は、照合先プログラム12内の集合に変更された照合元プログラム11内の集合が、変更後の内容となるよう照合対象プログラムを画面102に表示させる。また、プログラムマージ部18は、マージ履歴を作成してマージ履歴記憶部19に記憶させる。
 図7は、実施の形態にかかるプログラム照合装置がマージする照合対象プログラムの第1の表示例を示す図である。第1の表示例では、プログラム照合装置1が、照合対象プログラムをマージして表示する際に、照合元プログラム11-1内の集合のY座標を補正して表示させる。図7から図10では、FBD部品の集合を「A」、「B」、「C」、「D」、「E」、「F」、「G1」、「G2」、「G3」のように示している。
 変更前(マージ前)の照合対象プログラムが、図7に示す照合対象プログラム103Xであるとする。照合対象プログラム103Xには、照合元プログラム11-1および照合先プログラム12-1が含まれている。ここでは、照合元プログラム11-1に対して集合「G1」が追加されたものが、照合先プログラム12-1である。なお、プログラム照合装置1は、照合対象プログラム103Xを表示装置2に表示させてもよいし、表示させなくてもよい。
 差分処理部13は、照合対象プログラム103Xの照合元プログラム11-1および照合先プログラム12-1を実行順序に従って縦方向に並び替える。差分表示制御部16は、実行順序に従って縦方向に並び替えられた照合元プログラム11-1と、実行順序に従って縦方向に並び替えられた照合先プログラム12-1とを、照合対象プログラム202として表示装置2に表示させる。このとき、差分表示制御部16は、差分検出部14からの差分情報に基づいて、照合元プログラム11-1と照合先プログラム12-1との差分となっている集合を色分けなどによって強調表示する。
 ここでは、照合元プログラム11-1と照合先プログラム12-1との差分は、集合「G1」である。この集合「G1」がユーザ操作によって押下(選択)され、マージボタン81がユーザ操作によって押下されると、プログラムマージ部18は、照合先プログラム12-1の集合「G1」を照合元プログラム11-1にマージする。これにより、プログラムマージ部18は、照合先プログラム12-1内の集合「G1」のY座標と、照合元プログラム11-1内の集合「G1」のY座標とが同じになるよう、集合「G1」を照合先プログラム12-1に挿入する。ここでは、プログラムマージ部18は、照合先プログラム12-1内で、集合「C」と集合「D」との間の位置である第1の位置に集合「G1」を挿入する。
 さらに、プログラムマージ部18は、変更後(マージ後)の照合対象プログラムである照合対象プログラム103Yを表示装置2に表示させる。このとき、プログラムマージ部18は、照合先プログラム12-1内の集合「G1」のY座標と、照合元プログラム11-1内の集合「G1」のY座標とが同じになるよう、照合先プログラム12-1内で集合「G1」を表示させる。ここでは、プログラムマージ部18は、照合先プログラム12-1内で、集合「C」と集合「D」との間のY座標となるよう、集合「G1」を表示させる。プログラムマージ部18は、集合「C」、集合「G1」、集合「D」の実行順序が入れ替わらなければ、照合先プログラム12-1内の集合「G1」のX座標を何れの位置としてもよい。プログラムマージ部18は、例えば、照合先プログラム12-1内の集合「G1」のX座標と、照合元プログラム11-1内の集合「G1」のX座標とが同じになるよう、集合「G1」を表示させる。
 なお、プログラムマージ部18は、集合「G1」をマージして表示する際に、Y座標に十分なスペースが無く、集合「G1」を配置できない場合には、集合「G1」のY座標に基づいて集合間のY座標を補正したうえでマージ用の集合「G1」を挿入し表示させる。例えば、照合元プログラム11-1内の集合「C」と集合「D」との間に、集合「G1」を挿入するスペースが無い場合、プログラムマージ部18は、集合「D」以降のY座標を下側に補正することによって、集合「C」と集合「D」との間にスペースを設け、このスペースに集合「G1」を挿入する。
 図8は、実施の形態にかかるプログラム照合装置がマージする照合対象プログラムの第2の表示例を示す図である。第2の表示例では、プログラム照合装置1が、照合対象プログラムをマージして表示する際に、照合元プログラム11-2内の集合のX座標を補正して表示させる。
 変更前(マージ前)の照合対象プログラムが、図8に示す照合対象プログラム104Xであるとする。照合対象プログラム104Xには、照合元プログラム11-2および照合先プログラム12-2が含まれている。ここでは、照合元プログラム11-2に対して集合「G2」が追加されたものが、照合先プログラム12-2である。なお、プログラム照合装置1は、照合対象プログラム104Xを表示装置2に表示させてもよいし、表示させなくてもよい。
 差分処理部13は、照合対象プログラム104Xの照合元プログラム11-2および照合先プログラム12-2を実行順序に従って縦方向に並び替える。差分表示制御部16は、実行順序に従って縦方向に並び替えられた照合元プログラム11-2と、実行順序に従って縦方向に並び替えられた照合先プログラム12-2とを、照合対象プログラム203として表示装置2に表示させる。このとき、差分表示制御部16は、差分検出部14からの差分情報に基づいて、照合元プログラム11-2と照合先プログラム12-2との差分となっている集合を色分けなどによって強調表示する。
 ここでは、照合元プログラム11-2と照合先プログラム12-2との差分は、第3の集合である集合「G2」である。この集合「G2」がユーザ操作によって押下され、マージボタン81がユーザ操作によって押下されると、プログラムマージ部18は、照合先プログラム12-2の集合「G2」を照合元プログラム11-2にマージする。これにより、プログラムマージ部18は、照合先プログラム12-2内の集合「G2」のY座標と、照合元プログラム11-2内の集合「G2」のY座標とが同じになるよう、集合「G2」を照合先プログラム12-2に挿入する。ここでは、プログラムマージ部18は、照合先プログラム12-2内で、集合「B」と集合「C」との間に集合「G2」を挿入する。
 さらに、プログラムマージ部18は、変更後(マージ後)の照合対象プログラムである照合対象プログラム104Yを表示装置2に表示させる。このとき、プログラムマージ部18は、照合先プログラム12-2内の集合「G2」のY座標と、照合元プログラム11-2内の集合「G2」のY座標とが同じになるよう、照合先プログラム12-2内で集合「G2」を表示させる。ここでは、プログラムマージ部18は、照合先プログラム12-2内で、集合「B」と集合「C」との間のY座標となるよう、すなわち集合「B」および集合「C」と同じY座標となるよう集合「G2」を表示させる。ここでは、集合「G2」が第3の集合であり、集合「B」および集合「C」が第4の集合である。
 プログラムマージ部18は、集合「G2」をマージして表示する際に、X座標に十分なスペースが無く集合「G2」を配置できない場合には、集合間のX座標を補正してマージ用の集合を挿入し表示させる。すなわち、集合「G2」をマージして表示する際に、照合元プログラム11-2内で、集合「G2」のY座標と同じY座標を有した集合がある場合、照合元プログラム11-2内で集合「G2」を配置するX方向のスペースが足りない場合がある。このようにX座標に十分なスペースが無ければ、プログラムマージ部18は、照合元プログラム11-2内の集合間のX座標を補正してマージ用の集合「G2」を挿入し表示させる。
 例えば、照合元プログラム11-2内の集合「B」と集合「C」との間に、集合「G2」を挿入するスペースが無い場合、プログラムマージ部18は、集合「B」を左側にずらすことによって、集合「B」と集合「C」との間にスペースを設け、このスペースに集合「G2」を挿入する。プログラムマージ部18は、集合「C」を右側にずらすことによって、集合「B」と集合「C」との間にスペースを設け、このスペースに集合「G2」を挿入してもよい。このように、プログラム照合装置1は、集合「G2」を照合元プログラム11にマージする場合、集合「G2」の実行順序が集合「B」と集合「C」との間になるよう、照合元プログラム11-2内の集合のX座標およびY座標を補正したうえで集合「G2」を照合元プログラム11に挿入して表示させる。
 これにより、フリーフォーマットで記述可能なFBDプログラムのマージが可能となり、マージを自動で行うことによって手作業でのマージが不要となる。これにより、マージのミスを削減することができるとともにマージの作業時間を短縮することができる。また、集合ごとにマージが実行されるので、ラダープログラムのように左右の母線への接続によって行が区別することができなくても、FBDプログラムのマージが可能となる。
 図9は、実施の形態にかかるプログラム照合装置がマージする照合対象プログラムの第3の表示例を示す図である。第3の表示例では、プログラム照合装置1が、照合対象プログラムをマージして表示する際に、照合元プログラム11-3内の集合のX座標およびY座標を補正して表示させる。
 変更前(マージ前)の照合対象プログラムが、図9に示す照合対象プログラム105Xであるとする。照合対象プログラム105Xには、照合元プログラム11-3および照合先プログラム12-3が含まれている。ここでは、照合元プログラム11-3に対して集合「G3」が追加され、集合「E」が削除されたものが、照合先プログラム12-3である。なお、プログラム照合装置1は、照合対象プログラム105Xを表示装置2に表示させてもよいし、表示させなくてもよい。
 差分処理部13は、照合対象プログラム105Xの照合元プログラム11-3および照合先プログラム12-3を実行順序に従って縦方向に並び替える。差分表示制御部16は、実行順序に従って縦方向に並び替えられた照合元プログラム11-3と、実行順序に従って縦方向に並び替えられた照合先プログラム12-3とを、照合対象プログラム204として表示装置2に表示させる。このとき、差分表示制御部16は、差分検出部14からの差分情報に基づいて、照合元プログラム11-3と照合先プログラム12-3との差分となっている集合を色分けなどによって強調表示する。
 照合元プログラム11-3と照合先プログラム12-3との差分は、第5の集合である集合「G3」と、集合「E」である。集合「G3」がユーザ操作によって押下され、位置選択ボタン82がユーザ操作によって押下され、集合「G3」の照合元プログラム11-3内での挿入位置である第2の位置がユーザ操作によって押下されると、プログラムマージ部18は、照合先プログラム12-3の集合「G3」を照合元プログラム11-3にマージする。これにより、プログラムマージ部18は、照合先プログラム12-3内の集合「G3」を、ユーザ操作によって指定されたX座標およびY座標の位置に挿入する。ここでは、プログラムマージ部18は、照合先プログラム12-3内で、集合「F」の下に集合「G3」を挿入する。
 さらに、プログラムマージ部18は、変更後(マージ後)の照合対象プログラムである照合対象プログラム105Yを表示装置2に表示させる。このとき、プログラムマージ部18は、照合先プログラム12-3内の集合「G3」が集合「F」の下になるよう、照合先プログラム12-3内で集合「G3」を表示させる。
 これにより、ユーザが、マージの位置を任意に選択できるので、照合先プログラム12-3内の集合を照合元プログラム11-3内の任意の位置に挿入できる。したがって、実行順序を変更する手間を削減することができ、作業時間を短縮することができる。
 なお、マージ方法は図7から図9で説明した方法に限られるものではない。また、照合対象プログラム202~204を表示する画面において、編集された全ての集合を一括して照合元プログラム11-3にマージするためのボタンを設けてもよい。
 つぎに、プログラムマージ部18が作成するマージ履歴について説明する。図10は、実施の形態にかかるプログラム照合装置が作成するマージ履歴の作成方法を説明するための図である。図10では、FBDプログラムがマージされる際に作成されたマージ履歴例のイメージを示している。
 プログラムマージ部18は、マージを実行する際に、マージ履歴を作成してマージ履歴記憶部19に記憶させる。マージ履歴は、マージが実行される際に、何れの集合が変更、削除、または追加されたかの情報を有している。
 プログラムマージ部18は、照合元プログラム11-4と照合先プログラム12-4との間でマージされた集合を抽出する。ここでは、照合元プログラム11-4に対し、集合「G」が追加され、集合「D」が変更され、集合「E」が削除されたものが照合先プログラム12-4である場合について説明する。この場合に、プログラムマージ部18が、集合「G」、集合「D」、および集合「E」をマージすると、プログラムマージ部18は、照合元プログラム11-4に対して、集合「G」を追加し、集合「D」を変更し、集合「E」を削除する。さらに、プログラムマージ部18は、集合「G」を追加したことを示す情報と、集合「D」を変更したことを示す情報と、集合「E」を削除したことを示す情報とを含んだマージ履歴を作成する。
 マージ履歴は、集合「D」の変更内容を含むものとする。集合「D」の変更内容には、変更後の集合「D」の内容が含まれている。なお、集合「D」の変更内容には、変更前の集合「D」の内容が含まれていてもよいし含まれていなくてもよい。
 また、マージ履歴には、マージされた集合を表示する際の表示色が含まれている。例えば、変更された集合「D」は赤色で表示されること、削除された集合「E」は青色で表示されること、および追加された集合「G」は緑色で表示されることが、マージ履歴内に格納される。なお、マージされた集合の表示方法はこれに限定されるものではない。
 マージの数が多くなると、マージの操作ミスの要因となる場合があるが、プログラム照合装置1は、マージ履歴を作成して記憶しているので、ユーザは、マージ履歴に基づいて、マージの前後で変更された箇所を容易に調べることが可能となる。これにより、ユーザは、マージ前からの集合の変更箇所を調べる手間を削減することができる。また、ユーザは、マージの操作ミスが無かったかを容易に調べることができる。したがって、照合の作業時間を短縮することができる。
 ここで、プログラム照合装置1のハードウエア構成について説明する。図11は、実施の形態にかかるプログラム照合装置を実現するハードウエア構成を示す図である。プログラム照合装置1は、プロセッサ301、メモリ302、入力装置303、およびインタフェース回路304で実現される。プロセッサ301は、メモリ302、入力装置303、およびインタフェース回路304を制御する。入力装置303の例は、マウス、キーボード、タッチパネルである。入力装置303は、ユーザからの指示を受付けてプロセッサ301に入力する。インタフェース回路304は、プロセッサ301によるデータ処理の結果を表示装置2へ出力する。
 プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSPともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)またはROM(Read Only Memory)である。
 プログラム照合装置1は、プロセッサ301が、メモリ302で記憶されているプログラム照合装置1の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、プログラム照合装置1の手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
 プロセッサ301が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ301が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
 また、プログラム照合装置1を専用のハードウエアで実現してもよい。また、プログラム照合装置1の機能について、一部を専用のハードウエアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
 このように、実施の形態によれば、プログラム照合装置1は、照合元プログラム11の集合を左領域51Aに対して縦方向に並べ、照合先プログラム12の集合を右領域51Bに対して縦方向に並べて照合するので、多くの集合を画面表示することができる。これにより、ユーザは、FBD言語で記述されたFBDプログラムの照合結果を容易に参照することが可能となる。したがって、ユーザは、FBDプログラムを短時間で照合することが可能となる。
 また、プログラム照合装置1が差分情報に基づいて、ユーザに指定された集合のプロパティ情報の差分を抽出して表示するので、ユーザは、プロパティ情報の差分を短時間で照合することが可能となる。
 また、プログラム照合装置1が、ユーザに指定された集合を自動でマージするので、ユーザは、手作業でのマージが不要となる。これにより、ユーザは、マージの作業時間を短縮することができる。また、プログラム照合装置1が自動でマージ履歴を作成するので、ユーザは、マージ履歴の作成作業に要する時間を短縮することができる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 プログラム照合装置、2 表示装置、10 データ保存部、11,11-1~11-4 照合元プログラム、12,12-1~12-4 照合先プログラム、13 差分処理部、14 差分検出部、15 集合整列部、16 差分表示制御部、17 プロパティ情報表示制御部、18 プログラムマージ部、19 マージ履歴記憶部、20 指示入力部、21 プログラム入力部、42~45 FBD部品、61A,61B,62A,63A,63B,64B 集合、101,102,201 画面、103X,103Y,104X,104Y,105X,105Y,202~204 照合対象プログラム。

Claims (11)

  1.  第1のファンクションブロックダイアグラムプログラムである第1のプログラムを、前記第1のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、前記第1のプログラムの各集合を実行順序が早い順に縦方向であるY軸方向に1列に並び替え、かつ第2のファンクションブロックダイアグラムプログラムである第2のプログラムを、前記第2のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、前記第2のプログラムの各集合を実行順序が早い順に前記Y軸方向に1列に並び替える集合整列部と、
     並び替えられた前記第1のプログラムの集合と、並び替えられた前記第2のプログラムの集合と、を比較することによって、前記第1のプログラムと前記第2のプログラムとの集合の差分を差分情報として検出する差分検出部と、
     前記第1のプログラムおよび前記第2のプログラムを表示する表示装置の画面内で、前記並び替えられた、前記第1のプログラムの集合および前記第2のプログラムの集合を表示させ、且つ前記差分情報に基づいて前記第1のプログラムの集合に対応する前記第2のプログラムの集合が前記Y軸方向で同じ高さで表示されるよう、前記第1のプログラムおよび前記第2のプログラムを左右に並べて表示させる第1の表示制御部と、
     を備えることを特徴とするプログラム照合装置。
  2.  前記第1の表示制御部は、前記差分情報に含まれる集合を他の集合と識別可能なよう表示する、
     ことを特徴とする請求項1に記載のプログラム照合装置。
  3.  前記集合整列部は、
     前記第1のプログラムに含まれる集合を、Y座標が小さい順番で前記Y軸方向に並び替え、且つY座標が同じ集合に対しては、X座標が小さい順番で前記Y軸方向に並び替え、且つ並び替えた集合の左端を揃えるとともに前記Y軸方向に等間隔で並べ、
     前記第2のプログラムに含まれる集合を、Y座標が小さい順番で前記Y軸方向に並び替え、且つY座標が同じ集合に対しては、X座標が小さい順番で前記Y軸方向に並び替え、且つ並び替えた集合の左端を揃えるとともに前記Y軸方向に等間隔で並べ、
     前記差分検出部は、前記集合整列部が並べ替えた集合の配置に基づいて、前記差分情報を検出し、
     前記第1の表示制御部は、前記集合整列部が並べ替えた集合の配置に基づいて、前記第1のプログラムおよび前記第2のプログラムを表示させる、
     ことを特徴とする請求項1または2に記載のプログラム照合装置。
  4.  前記第1のプログラムは、前記第1のプログラムに含まれる第1の集合の第1のプロパティ情報を有し、
     前記第2のプログラムは、前記第2のプログラムに含まれる第2の集合の第2のプロパティ情報を有し、
     前記差分情報は、前記第1のプロパティ情報と前記第2のプロパティ情報との差分であるプロパティ差分を含み、
     前記第1の集合と前記第2の集合とが、前記画面において前記Y軸方向で同じ高さで表示されている場合に、ユーザから前記第1のプロパティ情報および前記第2のプロパティ情報の表示指示を受付けると、前記プロパティ差分に基づいて、前記第1のプロパティ情報および前記第2のプロパティ情報を、前記第1のプロパティ情報と前記第2のプロパティ情報との差分となっている箇所が他の箇所に対して識別可能なよう前記画面に表示する第2の表示制御部をさらに備える、
     ことを特徴とする請求項1から3のいずれか1つに記載のプログラム照合装置。
  5.  前記画面内で左右に並べて表示されている前記第1のプログラムおよび前記第2のプログラムに対し、ユーザから前記第2のプログラム内の第3の集合に対して前記第1のプログラムへのマージ指示を受付けると、前記第1のプログラムに対し、前記第3の集合と前記Y軸方向の高さが同じである第1の位置に前記第3の集合をマージするプログラムマージ部をさらに備え、
     前記プログラムマージ部は、前記第1の位置に前記第3の集合を配置できない場合には、前記第3の集合のY座標に基づいて、前記第1のプログラム内の集合のY座標を補正する、
     ことを特徴とする請求項1から4のいずれか1つに記載のプログラム照合装置。
  6.  前記プログラムマージ部は、前記第1のプログラム内に前記第3の集合のY座標と同じY座標の第4の集合が含まれていて、前記第1の位置に前記第3の集合を配置できない場合には、前記第4の集合のX座標を補正する、
     ことを特徴とする請求項5に記載のプログラム照合装置。
  7.  前記プログラムマージ部は、ユーザによって、前記第2のプログラム内の第5の集合が指定され、且つ前記第1のプログラム内の第2の位置が指定されると、前記第5の集合を、前記第2の位置にマージする、
     ことを特徴とする請求項5または6に記載のプログラム照合装置。
  8.  前記プログラムマージ部は、マージされた箇所に基づいてマージ履歴を作成し、前記マージ履歴を前記画面に表示させる、
     ことを特徴とする請求項5から7のいずれか1つに記載のプログラム照合装置。
  9.  前記第1のプログラムは、既存の可動実績のある照合元プログラムであり、
     前記第2のプログラムは、前記照合元プログラムに編集が加えられた照合先プログラムである、
     ことを特徴とする請求項1から8のいずれか1つに記載のプログラム照合装置。
  10.  第1のファンクションブロックダイアグラムプログラムである第1のプログラムを、前記第1のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、前記第1のプログラムの各集合を実行順序が早い順に縦方向であるY軸方向に1列に並び替え、かつ第2のファンクションブロックダイアグラムプログラムである第2のプログラムを、前記第2のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、前記第2のプログラムの各集合を実行順序が早い順に前記Y軸方向に1列に並び替える集合整列ステップと、
     並び替えられた前記第1のプログラムの集合と、並び替えられた前記第2のプログラムの集合と、を比較することによって、前記第1のプログラムと前記第2のプログラムとの集合の差分を差分情報として検出する差分検出ステップと、
     前記第1のプログラムおよび前記第2のプログラムを表示する表示装置の画面内で、前記並び替えられた、前記第1のプログラムの集合および前記第2のプログラムの集合を表示させ、且つ前記差分情報に基づいて前記第1のプログラムの集合に対応する前記第2のプログラムの集合が前記Y軸方向で同じ高さで表示されるよう、前記第1のプログラムおよび前記第2のプログラムを左右に並べて表示させる表示ステップと、
     を含むことを特徴とするプログラム照合方法。
  11.  第1のファンクションブロックダイアグラムプログラムである第1のプログラムを、前記第1のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、前記第1のプログラムの各集合を実行順序が早い順に縦方向であるY軸方向に1列に並び替え、かつ第2のファンクションブロックダイアグラムプログラムである第2のプログラムを、前記第2のプログラム内で互いに結線されているプログラム部品の集合単位に分割し、前記第2のプログラムの各集合を実行順序が早い順に前記Y軸方向に1列に並び替える集合整列ステップと、
     並び替えられた前記第1のプログラムの集合と、並び替えられた前記第2のプログラムの集合と、を比較することによって、前記第1のプログラムと前記第2のプログラムとの集合の差分を差分情報として検出する差分検出ステップと、
     前記第1のプログラムおよび前記第2のプログラムを表示する表示装置の画面内で、前記並び替えられた、前記第1のプログラムの集合および前記第2のプログラムの集合を表示させ、且つ前記差分情報に基づいて前記第1のプログラムの集合に対応する前記第2のプログラムの集合が前記Y軸方向で同じ高さで表示されるよう、前記第1のプログラムおよび前記第2のプログラムを左右に並べて表示させる表示ステップと、
     をコンピュータに実行させることを特徴とするプログラム照合プログラム。
PCT/JP2018/038843 2018-10-18 2018-10-18 プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム WO2020079806A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019516263A JP6584724B1 (ja) 2018-10-18 2018-10-18 プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム
US17/270,048 US11927933B2 (en) 2018-10-18 2018-10-18 Program comparison apparatus, program comparison method, and computer readable medium
PCT/JP2018/038843 WO2020079806A1 (ja) 2018-10-18 2018-10-18 プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム
CN201880098665.7A CN113168146B (zh) 2018-10-18 2018-10-18 程序对照装置、程序对照方法及程序对照程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/038843 WO2020079806A1 (ja) 2018-10-18 2018-10-18 プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム

Publications (1)

Publication Number Publication Date
WO2020079806A1 true WO2020079806A1 (ja) 2020-04-23

Family

ID=68095336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/038843 WO2020079806A1 (ja) 2018-10-18 2018-10-18 プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム

Country Status (4)

Country Link
US (1) US11927933B2 (ja)
JP (1) JP6584724B1 (ja)
CN (1) CN113168146B (ja)
WO (1) WO2020079806A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003725A (ja) * 2006-06-20 2008-01-10 Toshiba Corp 制御プログラム保守方法、制御プログラム保守装置及び制御プログラム保守プログラム。
JP2013109713A (ja) * 2011-11-24 2013-06-06 Jtekt Corp プログラマブルコントローラの周辺装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3326734B2 (ja) 1994-10-13 2002-09-24 マツダ株式会社 プログラム作成装置
JPH09230915A (ja) 1996-02-26 1997-09-05 Matsushita Electric Works Ltd プログラミング装置
US7143366B1 (en) * 2001-06-11 2006-11-28 Rockwell Automation Technologies, Inc. Graphical compare utility
DE602005015052D1 (de) * 2004-03-31 2009-08-06 Omron Tateisi Electronics Co Vorrichtung zur Entwicklungsunterstützung
JP3910196B2 (ja) * 2004-10-21 2007-04-25 ファナック株式会社 シーケンスプログラムの編集装置
JP4556807B2 (ja) 2005-08-23 2010-10-06 横河電機株式会社 プログラムの照合装置
CN104854522B (zh) * 2012-11-26 2018-04-17 三菱电机株式会社 梯形图程序显示装置及梯形图程序显示方法
JP6346450B2 (ja) 2014-02-03 2018-06-20 アズビル株式会社 エンジニアリング装置および制御ロジック検証方法
US9606776B2 (en) * 2014-03-07 2017-03-28 Mitsubishi Electric Corporation Programming device
JP6383240B2 (ja) * 2014-10-17 2018-08-29 株式会社東芝 制御プログラム保守装置、及び制御プログラム保守方法
JP6637599B2 (ja) * 2016-07-14 2020-01-29 株式会社日立製作所 管理システム及び管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003725A (ja) * 2006-06-20 2008-01-10 Toshiba Corp 制御プログラム保守方法、制御プログラム保守装置及び制御プログラム保守プログラム。
JP2013109713A (ja) * 2011-11-24 2013-06-06 Jtekt Corp プログラマブルコントローラの周辺装置

Also Published As

Publication number Publication date
JP6584724B1 (ja) 2019-10-02
CN113168146B (zh) 2022-08-19
US11927933B2 (en) 2024-03-12
JPWO2020079806A1 (ja) 2021-02-15
CN113168146A (zh) 2021-07-23
US20210325841A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US10379523B2 (en) Machining program editing assist apparatus
KR101634063B1 (ko) 프로그래밍 장치
US20200103353A1 (en) Information processing apparatus, information processing method, and storage medium
WO2020079806A1 (ja) プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム
JP6346450B2 (ja) エンジニアリング装置および制御ロジック検証方法
KR100694381B1 (ko) 그래피컬 프로그래밍 장치 및 프로그래머블 표시기
US8612044B2 (en) Control device for die-sinking electrical discharge machine
US5146402A (en) Profile definition method
JP2009169573A (ja) 解析結果出力装置、及び解析結果出力方法
CN113496339A (zh) 信息处理装置、信息处理方法、生产系统和物品制造方法
JP7120937B2 (ja) 図面の差分認識装置及び方法
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP4322130B2 (ja) タイミングチャート編集システム
JP2500632B2 (ja) プログラムパタ―ンカストマイズ方式
JP2002245466A (ja) 画像レイアウト解析システム
CN110737244A (zh) 数值控制装置和数据编辑方法
WO2018123039A1 (ja) プログラム比較装置およびプログラム差分照合方法
JPH10187424A (ja) 図式編集プログラムにおける正誤判定結果表示方式
JPH07129080A (ja) Sfc入力方式
JPH1021330A (ja) 文書画像処理方式
JPS63296131A (ja) 多重表示領域制御方法およびその制御装置
JPH0916794A (ja) 図形指示における視覚的フィードバック方法
JPH0689167A (ja) プロトコル設計装置
JPS6318406A (ja) 修正形状要素の表示方法
JPH05181919A (ja) システム設計支援装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019516263

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 18937403

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18937403

Country of ref document: EP

Kind code of ref document: A1