WO2018185915A1 - プログラム作成装置およびプログラム作成方法 - Google Patents

プログラム作成装置およびプログラム作成方法 Download PDF

Info

Publication number
WO2018185915A1
WO2018185915A1 PCT/JP2017/014392 JP2017014392W WO2018185915A1 WO 2018185915 A1 WO2018185915 A1 WO 2018185915A1 JP 2017014392 W JP2017014392 W JP 2017014392W WO 2018185915 A1 WO2018185915 A1 WO 2018185915A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
screen
marker
control unit
display control
Prior art date
Application number
PCT/JP2017/014392
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 PCT/JP2017/014392 priority Critical patent/WO2018185915A1/ja
Priority to JP2018504806A priority patent/JPWO2018185915A1/ja
Publication of WO2018185915A1 publication Critical patent/WO2018185915A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Definitions

  • the present invention relates to a program creation device and a program creation method for displaying a program.
  • the sequence program is a low-level language close to machine language, and has a feature that the effective range of variable names and function names is wide.
  • a variable may be used multiple times at different locations within a single document.
  • a similar or related sequence program may be referred to.
  • the development support system of Patent Document 1 scrolls other parts while leaving a fixed display area to be displayed regardless of screen scrolling.
  • the development support system of Patent Document 1 simultaneously displays the distant portions of the sequence program, for example, simultaneously displays the sequence program being created and the sequence program that has been created that is referred to when creating the sequence program. Yes.
  • Patent Document 1 which is the above-described conventional technique, in order to display a reference sequence program, the user has to set a fixed display area in advance.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a program creation device that can reduce the amount of user operations when a sequence program is created.
  • the present invention provides a first screen on which a program creation device controls a display device and displays a first program location included in the program;
  • a display control unit is provided for causing the display device to display a second screen for displaying related information related to the first program location displayed on the first screen.
  • the program creation device of the present invention includes a setting unit that sets related requirements for specifying related information to be displayed on the second screen, and sends related information corresponding to the set related requirements to the display control unit. ing.
  • the display control unit displays the related information received from the setting unit on the second screen.
  • the program creation device has the effect of reducing the amount of user operation when a program is created.
  • FIG. 1 is a block diagram showing the configuration of a program creation device according to a first embodiment of the present invention.
  • the figure which shows the 1st example of the screen which the program creation apparatus which concerns on Embodiment 1 displays The figure for demonstrating the screen division
  • FIG. The figure for demonstrating the division number setting process which concerns on Embodiment 1.
  • FIG. The figure for demonstrating the example of a marker setting concerning Embodiment 1
  • FIG. 1 is a diagram illustrating a hardware configuration example of a computer according to a first embodiment; The flowchart which shows the process sequence of the screen display process which concerns on Embodiment 2.
  • FIG. 1 is a diagram illustrating a hardware configuration
  • FIG. 1 is a block diagram showing a configuration of a program creation device according to the first exemplary embodiment of the present invention.
  • the program creation device 1 is a computer that displays a sequence program.
  • An example of the sequence program is a ladder program.
  • the sequence program is referred to as a program.
  • the program creation device 1 facilitates program creation by displaying related information related to a program location to be edited when displaying the program to be edited.
  • the program location is the program location that is all or part of the program, or information other than the program.
  • the program location may be (1) extracted from a duplicate program having the same contents as the program to be edited, or (2) extracted from another program similar to the program to be edited. Also good.
  • Information other than the program is (3) notes on editing or (4) comments.
  • a screen that displays a program location to be edited is referred to as an editing screen, and a screen that displays related information related to the program location to be edited is referred to as a reference screen.
  • the program creation device 1 displays the first program location that is a part of the first program on the edit screen, and A second program portion that is a part of the program is displayed on the reference screen.
  • the program creation device 1 displays the first program location that is a part of the first program on the edit screen, A third program part which is a part of the second program is displayed on the reference screen.
  • the program creation device 1 includes a computer 10 that calculates information to be displayed on the screen, an input device 40 that receives an instruction input from the user and sends it to the computer 10, and a program location or information on the screen according to the instruction from the computer 10. And a display device 50 for displaying.
  • the computer 10 is connected to the input device 40 and the display device 50.
  • the input device 40 includes a mouse or a keyboard.
  • the display device 50 includes a liquid crystal monitor, and displays a program on the screen of the liquid crystal monitor.
  • the display device 50 according to the first embodiment displays an editing screen that is a screen for editing a program and a reference screen that is a screen that is referred to when the program is edited.
  • the reference screen is a screen that displays related requirements for display items set by the user or related requirements for display items set by default.
  • the display items in the first embodiment are extracted from the same program as the above-described (1) program to be edited.
  • the display device 50 displays data to be edited in the program on the editing screen, and displays referenced data in the program on the reference screen.
  • the edit target data is a program part to be edited, and the referenced data is a program part to be referred to when the edit target data is edited.
  • the display device 50 displays the editing target data on the first screen that is the editing screen, and displays the referenced data related to the editing target data on the second screen that is the reference screen.
  • Data to be edited in the program and referenced data in the program have a relationship set by the user or a relationship set by default.
  • the display item related requirement is (1) a search requirement for extracting a user-desired program from the same program as the program to be edited.
  • the user can refer to the program to be edited, which will be described later. Corresponds to the marked program.
  • the device included in the input device 40 is not limited to a mouse or a keyboard. Further, the device included in the display device 50 is not limited to the liquid crystal monitor. The display device 50 may display information other than the referenced data on the reference screen.
  • the computer 10 includes a display control unit 20 that controls the display device 50 and a display item setting unit 30 that is a setting unit that sets items to be displayed on the display device 50.
  • the display control unit 20 includes an input unit 21 that receives an instruction sent from the input device 40 and sends the instruction to the display item setting unit 30.
  • the display control unit 20 includes an edit screen display control unit 22 that displays edit target data in the program on the edit screen, and a reference screen display control unit 23 that displays the referenced data in the program on the reference screen. Yes.
  • the editing screen display control unit 22 controls the display device 50 based on an instruction sent from the display item setting unit 30, and displays various program locations on the editing screen of the display device 50.
  • the editing screen display control unit 22 displays the editing target data before editing on the editing screen when an instruction to display the editing target data is sent from the display item setting unit 30.
  • an editing instruction is sent from an editing unit (not shown) in the computer 10
  • the editing screen display control unit 22 displays the edited data to be edited on the editing screen.
  • the editing unit has a function of editing a program based on a user instruction.
  • the reference screen display control unit 23 controls the display device 50 based on the instruction sent from the display item setting unit 30 to display the referenced data on the reference screen of the display device 50.
  • the display item setting unit 30 includes a storage unit 31 that stores marker position information set by the user in the program and attribute values that are marker attributes.
  • the marker in the first embodiment is identification information associated with a program location in order to identify the program location.
  • the marker is associated with the program location in units of program lines, and is displayed with a mark when displayed on the editing screen or the reference screen.
  • Each marker is identified by a marker ID, which will be described later, and a position in the corresponding program, an attribute value, and a graphic for display are set for each marker ID.
  • the same attribute values are assigned when program locations are related to each other, and different attribute values are assigned when they are not related.
  • the display item setting unit 30 manages a search unit 32 that searches the storage unit 31 for a marker having the same attribute value as the marker displayed on the editing screen, and information to be displayed on the editing screen and the reference screen. And a management unit 33.
  • the management unit 33 sends data based on a user instruction sent from the input device 40 to the edit screen display control unit 22 or the reference screen display control unit 23.
  • the management unit 33 receives an instruction specifying the editing position in the program from the input device 40, the management unit 33 reads the program location at the editing position from the storage unit 31 and sends it to the editing screen display control unit 22.
  • the management unit 33 When the management unit 33 receives an instruction specifying the editing position in the program from the input device 40, the management unit 33 acquires the referenced data corresponding to the program location at the editing position from the storage unit 31 and displays the reference screen. This is sent to the display control unit 23. Specifically, the management unit 33 determines which marker is displayed on the editing screen.
  • the attribute value that is the related requirement of the marker determined by the management unit 33 is a marker that becomes a key when searching for information to be displayed on the reference screen.
  • a marker used as a key at the time of search may be referred to as a key marker.
  • the management unit 33 determines the attribute value of the key marker based on the information sent to the editing screen display control unit 22 to display the editing screen. Further, the management unit 33 may determine the attribute value of the key marker based on information that the display device 50 actually displays on the editing screen. The management unit 33 sends the attribute value of the key marker, which is the determination result, to the search unit 32.
  • the search unit 32 searches the storage unit 31 for the referenced data corresponding to the edit target data to which the key marker is attached. Specifically, the search unit 32 searches the storage unit 31 for a marker having the same attribute value as the attribute value of the key marker. Then, the search unit 32 sends the search result to the management unit 33.
  • the management unit 33 reads the referenced data corresponding to the searched marker from the referenced data candidates in the storage unit 31.
  • a marker having the same attribute value as that of the key marker and a marker other than the key marker may be referred to as a reference marker. Therefore, the search unit 32 searches for the reference marker based on the key marker, and the management unit 33 reads the referenced data corresponding to the reference marker.
  • the key marker according to the first embodiment is a marker attached to the data to be edited displayed on the editing screen
  • the reference marker is a marker attached to the referenced data displayed on the reference screen.
  • the input unit 21 may be disposed outside the display control unit 20.
  • the storage unit 31 may be disposed outside the display item setting unit 30.
  • the program creation device 1 searches for the reference marker corresponding to the key marker, and displays the referenced data having the reference marker on the reference screen. Let Accordingly, the display device 50 can display the referenced data related to the editing target data on the reference screen while displaying the editing target data on the editing screen. As a result, the program creation device 1 can display the logical structure of the entire program in an easy-to-see manner.
  • FIG. 2 is a diagram illustrating a first example of a screen displayed by the program creation device according to the first embodiment.
  • FIG. 2 shows an example of a screen generated by the program creation software.
  • the program creation device 1 according to the first embodiment displays the editing screen 61X and the reference screen 62X simultaneously when displaying a program. Then, the program creation device 1 displays the editing target data in the program on the editing screen 61X, and displays the referenced data in the program on the reference screen 62X. As described above, the program creation device 1 displays the editing screen 61X that displays the editing target data and the reference screen 62X that displays the referenced data separately from the editing screen 61X.
  • the input device 40 receives a user instruction corresponding to the user's mouse operation. Specifically, the input device 40 receives a screen division instruction from the user.
  • the screen division instruction is an instruction to divide the screen into an edit screen 61X and a reference screen 62X.
  • the screen division instruction may include a screen division condition.
  • the screen division condition may be the screen division direction or the number of screen divisions.
  • FIG. 3 is a diagram for explaining the screen division operation according to the first embodiment.
  • FIG. 3 shows an example of an operation screen when the input device 40 receives a screen division operation by the user.
  • the display device 50 displays the program.
  • the input device 40 sends a screen split instruction corresponding to the screen split operation to the input unit 21. send.
  • An example of the screen division operation by the user is an operation for selecting an item corresponding to the screen division operation on the main menu.
  • the input unit 21 sends a screen division instruction to the management unit 33, and the management unit 33 sends a screen division instruction to the editing screen display control unit 22.
  • the edit screen display control unit 22 displays a division direction setting screen 71 for setting the division direction of the screen on the screen.
  • the division direction is a direction in which the screen is divided.
  • the display device 50 has an item “divide vertically” selected when dividing the screen in the vertical direction on the division direction setting screen 71 and “divide horizontally” selected when the screen is divided horizontally. And items.
  • the input device 40 When the display device 50 displays the division direction setting screen 71 and the input device 40 receives a division direction designation operation from the user, the input device 40 inputs a direction designation instruction corresponding to the division direction designation operation. Send to part 21.
  • An example of the division direction designation operation by the user is an operation of selecting an item corresponding to the division direction on the division direction setting screen 71.
  • the input device 40 accepts a vertical designation operation and sends a vertical split instruction to the input unit 21.
  • the input device 40 receives a designation operation in the horizontal direction and sends a division instruction in the horizontal direction to the input unit 21.
  • the input unit 21 sends a direction designation instruction to the management unit 33
  • the management unit 33 sends the direction designation instruction to the editing screen display control unit 22 and the reference screen display control unit 23.
  • the direction designation instruction sent by the management unit 33 includes instruction information indicating which of the divided screens is to be the editing screen 61X or the reference screen 62X.
  • the edit screen display control part 22 and the reference screen display control part 23 divide
  • the edit screen display control unit 22 displays the edit screen 61X on one of the divided screens
  • the reference screen display control unit 23 displays the reference screen 62X on the other of the divided screens.
  • the edit screen display control unit 22 and the reference screen display control unit 23 divide the screen into an upper screen region and a lower screen region.
  • the edit screen display control unit 22 displays the edit screen 61X in the upper screen region
  • the reference screen display control unit 23 displays the reference screen 62X in the lower screen region.
  • the edit screen display control unit 22 and the reference screen display control unit 23 divide the screen into a left screen region and a right screen region.
  • the edit screen display control unit 22 displays the edit screen 61X in the left screen region
  • the reference screen display control unit 23 displays the reference screen 62X in the right screen region.
  • the edit screen display control unit 22 and the reference screen display control unit 23 may divide the screen at a position based on a user operation, or may divide the screen at a default position.
  • the input device 40 receives the screen division position specified by the user and sends it to the input unit 21. .
  • the input unit 21 sends the screen division position to the management unit 33
  • the management unit 33 sends the screen division position to the editing screen display control unit 22 and the reference screen display control unit 23.
  • the edit screen display control unit 22 and the reference screen display control unit 23 divide the screen at the screen division position.
  • the program creation device 1 may display one edit screen 61X and a plurality of reference screens 62X simultaneously. In this case, the program creation device 1 sets the number of divisions of the reference screen 62X to a number corresponding to the user operation or a default number.
  • FIG. 4 is a diagram for explaining the division number setting process according to the first embodiment.
  • FIG. 4 shows an example of the operation screen when the input device 40 accepts the setting of the division number by the user.
  • the display device 50 displays a division number setting screen 72 for setting the division number of the reference screen 62X on the screen.
  • the display device 50 sets “1” set when the maximum number of reference screens 62X is set to 1 on the division number setting screen 72 and the maximum number of reference screens 62X. “2” set when 2 is set and “3” set when the maximum number of reference screens 62X is set to 3.
  • the input device 40 When the display device 50 displays the division number setting screen 72 and the input device 40 receives a division number designation operation from the user, the input device 40 issues a division number designation instruction corresponding to the division number designation operation. The data is sent to the input unit 21.
  • An example of the division number designation operation by the user is an operation of selecting an item corresponding to the division number on the division number setting screen 72.
  • the input device 40 receives the number of divisions selected by the user and inputs the number of divisions to the input unit. Send to 21.
  • the input unit 21 sends the number of divisions to the management unit 33, and the management unit 33 sends the number of divisions to the reference screen display control unit 23.
  • the reference screen display control unit 23 divides the reference screen 62X by the number of divisions from the management unit 33. Then, the reference screen display control unit 23 displays the divided reference screen 62X.
  • the number of divisions is “3”
  • the reference screen display control unit 23 divides the reference screen 62X into three, and causes the display device 50 to display the three divided reference screens 62X.
  • FIG. 5 is a diagram for explaining an example of marker setting according to the first embodiment.
  • the program part here becomes an editing target when displayed on the editing screen 61X, and becomes a reference target when displayed on the reference screen 62X.
  • FIG. 5 shows the result of setting a marker for a candidate portion that is a candidate for the referenced data in the program.
  • the program creation device 1 sets a marker in the program based on a user operation.
  • the program portion where the marker is set becomes reference data by being displayed on the reference screen 62X.
  • the program portion where the marker is set becomes the data to be edited by being displayed on the edit screen 61X.
  • the display device 50 displays the program on the screen.
  • a program that is too long to fit on one screen is specified.
  • FIG. 5 portions of the program that are not relevant to the description are omitted using wavy lines.
  • the display device 50 displays a part of the program on the screen.
  • the program includes a plurality of program locations, and a marker is set for each program location by the user.
  • a marker of group G1 In each program location, a marker of group G1, a marker of group G2, or a marker of group G3 is set by the user.
  • N When N is a natural number of 4 or more, the marker of the group GN may be set by the user.
  • Markers 110, 120, 121, and 122 are markers of group G1.
  • the markers 130 and 140 are markers indicating program locations belonging to a group G2 different from the group G1.
  • the program creation device 1 When receiving the marker setting operation from the user, the program creation device 1 sets a marker corresponding to the marker setting operation in the program location.
  • the operation when the program creation device 1 sets a marker will be described.
  • the computer 10 When the user sets a marker at a program location in the program, the computer 10 accepts the marker setting by the user.
  • the input device 40 is a mouse
  • the program creation device 1 accepts a marker setting corresponding to an operation on the mouse.
  • the computer 10 receives the position information of the program location to which the program line designated with the mouse belongs. This position information is the number of lines in the program.
  • the display device 50 displays a marker setting screen 73 for setting a marker at the position of the designated program line.
  • the marker setting screen 73 displays an item “set a marker for group G1”, an item “set a marker for group G2”, and an item “set a marker for group G3”.
  • the computer 10 registers the attribute value of the marker corresponding to the selected item.
  • the attribute values of the markers are assigned the same attribute value when the program locations are related to each other. Therefore, the computer 10 registers the same attribute value when the program locations are related.
  • the computer 10 registers an attribute value indicating the marker of group G1.
  • the management unit 33 of the display item setting unit 30 registers the position information and the attribute value in the marker table 80 described later.
  • the marker table 80 is information stored in the storage unit 31, and is information for managing the program location in the program for each attribute value of the marker.
  • the program creation device 1 registers the position information and the attribute value in the marker table 80 when the marker is set by the user.
  • FIG. 5 illustrates the case where the program creation device 1 sets the group to which the marker belongs to the attribute value
  • the program creation device 1 may set any information as the attribute value. Further, the program creation device 1 may register other information indicating the marker attribute in the marker table 80 instead of the attribute value.
  • FIG. 6 is a diagram illustrating a configuration example of the marker table according to the first embodiment.
  • the marker table 80 is an information table indicating a data structure in a program which is software (SW: software).
  • a marker ID which is marker identification information, position information of a marker setting location, and an attribute value indicating a marker attribute are associated with each other.
  • the position information includes the program name of the referenced data and the program line number in the referenced data.
  • markers whose marker ID is “0” corresponds to the marker 110 shown in FIG. 5, and the marker whose marker ID is “1” corresponds to the marker 130 shown in FIG. Similarly, markers whose marker IDs are “2” to “4” correspond to the markers 120 to 122 shown in FIG. 5, and markers whose marker ID is “5” correspond to the marker 140 shown in FIG. ing.
  • the attribute values of the markers whose marker IDs are “0”, “2”, “3” and “4” are “0”, and the attribute values of the markers whose marker IDs are “1” and “5” are “1”. Is.
  • the management unit 33 when the management unit 33 acquires the position information and attribute value corresponding to the user operation, the position information and attribute value are registered in the marker table 80 in the storage unit 31. At this time, the management unit 33 assigns a marker ID to the position information and the attribute value, and registers the marker ID, the position information, and the attribute value in the marker table 80 in association with each other.
  • the management unit 33 of the program creation device 1 acquires the program name and the program line number related to the program location to be edited using the marker table 80 when displaying the program location to be edited on the edit screen 61X.
  • the display device 50 displays the referenced data corresponding to the acquired program name and program line number on the reference screen 62X.
  • the management unit 33 displays a reference marker corresponding to the attribute value registered in the marker table 80 on the reference screen 62X.
  • FIG. 7 is a diagram illustrating a second example of a screen displayed by the program creation device according to the first embodiment.
  • the program creation device 1 displays reference screens 62A to 62C, which are examples of the reference screen 62X, in the screen 91.
  • the program creation device 1 displays the edit screen 61A and the reference screens 62A to 62C on the screen 91 based on the marker attribute values shown in FIG. Specifically, the program creation device 1 displays on the reference screens 62A to 62C program locations to which markers having the same attribute values as the marker attribute values displayed on the editing screen 61A are assigned.
  • the referenced data displayed on the reference screens 62A to 62C is related to the data to be edited displayed on the editing screen 61A. Since the same attribute value is assigned when the program locations are related, the same marker is displayed when the program locations are related. Therefore, the program creation device 1 displays the key marker of the data to be edited in the editing screen 61A and the reference marker of the referenced data in the reference screens 62A to 62C with the same marker.
  • the program portion that is the data to be edited displayed on the edit screen 61A can be scrolled by the user using the input device 40.
  • the program creation device 1 displays the program location corresponding to the user operation on the edit screen 61A.
  • the program creation device 1 displays the edit target data corresponding to the display movement operation on the editing screen 61A.
  • the program creation device 1 selects and refers to the referenced data having the same attribute value as the attribute value of the marker 110 when displaying the editing target data to which the marker 110 is assigned on the editing screen 61A based on the user operation. Display on screens 62A to 62C. In FIG. 7, the program creation device 1 displays the referenced data to which the marker 120 is assigned on the reference screen 62A, displays the referenced data to which the marker 121 is assigned on the reference screen 62B, and is assigned the marker 122. A case where the referenced data is displayed on the reference screen 62C is shown.
  • the program creation device 1 displays the same attribute value as the attribute value of the marker 130.
  • the data to be referred to is selected and displayed on the reference screens 62A to 62C.
  • the program creation device 1 extracts a marker 140 having the same attribute value as the marker 130, and displays the referenced data to which the marker 140 is assigned on the reference screen 62A.
  • the program creation device 1 sets a marker at a default position as a key marker of data to be edited.
  • the program creation device 1 sets the marker displayed in the uppermost program line among the plurality of markers as the key marker of the editing target data.
  • the program creation device 1 may set the marker closest to the program line selected by the user as the key marker of the editing target data.
  • the management unit 33 of the program creation device 1 may reflect the user operation on the editing screen 61X on the reference screen 62X, or may reflect the user operation on the reference screen 62X on the editing screen 61X. In this case, the management unit 33 sets the reflected content for each marker based on an instruction from the user. When the reflected content is a reflected reflection, the management unit 33 instructs to scroll the reference portion of the reference screen 62X in the same direction as the editing target data when the editing target data is scrolled up and down and left and right on the editing screen 61X. This is sent to the display control unit 20. Accordingly, the reference screen display control unit 23 scrolls the reference portion of the reference screen 62X in the same direction as the editing target data.
  • the edit screen display control unit 22 may scroll the edit target data on the edit screen 61X in the same direction as the reference portion.
  • the program creation apparatus 1 may distinguish the marker display by color, or may distinguish by other display methods such as a shape or a pattern.
  • FIG. 8 is a flowchart showing a processing procedure of screen display processing according to the first embodiment.
  • the program creation device 1 displays a program on the editing screen 61X based on a user operation. Thereafter, when the user performs a process of scrolling the editing target data in the editing screen 61X, in step S10, the input unit 21 receives a moving operation that is a scrolling operation.
  • the input unit 21 sends a scroll instruction corresponding to the scroll operation to the management unit 33. Then, the management unit 33 sends a scroll instruction to the search unit 32.
  • the scroll instruction sent from the management unit 33 to the search unit 32 includes related requirements of the program being displayed, the display position before scrolling, and the scroll amount.
  • step S20 the search unit 32 searches which program line is displayed on the edit screen 61X based on the scroll instruction. Specifically, the search unit 32 determines a program to be searched based on the related requirements of the program being displayed. Then, the search unit 32 searches the program for a program line corresponding to the scroll instruction based on the display position before scrolling and the scroll amount, and sends the search result to the management unit 33.
  • step S30 the management unit 33 acquires a program location corresponding to the searched program line from the program in the storage unit 31.
  • the management unit 33 may determine which marker is displayed on the editing screen 61X from the state of the display device 50. In this case, the management unit 33 causes the search unit 32 to search for a program line corresponding to the displayed marker.
  • step S40 the management unit 33 creates edit target data, which is display data to be displayed on the edit screen 61X, using the program portion from the search unit 32.
  • the management unit 33 sends an instruction to display the editing target data to the editing screen display control unit 22.
  • step S50 the management unit 33 determines whether or not a marker is included in the data to be edited. If a marker is included in the data to be edited, that is, if Yes in step S50, the management unit 33 sends a search instruction to the search unit 32. Specifically, the management unit 33 sends an instruction to search for a marker having the same attribute value as the marker included in the editing target data to the search unit 32. Thereby, in step S60, the search unit 32 searches the marker table 80 for a marker having the same attribute value as the marker included in the editing target data. Then, the search unit 32 acquires the position information of the searched marker from the marker table 80 and sends it to the management unit 33.
  • the management unit 33 acquires the program location corresponding to the searched marker from the storage unit 31 based on the position information. Specifically, the management unit 33 reads the program location corresponding to the searched marker from the storage unit 31 based on the program name and the program line number in the position information. That is, the management unit 33 reads the program location specified by the program line number among the program locations having the program name specified by the position information.
  • the program parts that the management unit 33 acquires from the storage unit 31 are a program line with a marker and a program line arranged around the program line.
  • An example of the periphery of a program line is a certain number of program lines before this program line and a certain number of program lines after this program line.
  • step S80 the management unit 33 creates the referenced data, which is display data to be displayed on the reference screen 62X, using the program location from the search unit 32.
  • the management unit 33 sends an instruction to display the referenced data to the reference screen display control unit 23.
  • step S90 the edit screen display control unit 22 updates the display of the edit screen 61X
  • the reference screen display control unit 23 updates the display of the reference screen 62X.
  • the display device 50 displays the edit target data on the edit screen 61X and displays the referenced data on the reference screen 62X.
  • the editing screen display control unit 22 displays the editing target data created in the process of step S40 on the editing screen 61X
  • the reference screen display control unit 23 uses the referenced data created in the process of step S80 as a reference screen. 62X is displayed.
  • the edit screen display control unit 22 updates the display of the edit screen 61X in step S90 and refers to it.
  • the screen display control unit 23 updates the display of the reference screen 62X.
  • the display device 50 displays the editing target data on the editing screen 61X.
  • the editing screen display control unit 22 displays the editing target data created in the process of step S40 on the editing screen 61X.
  • the reference screen display control unit 23 may leave the displayed referenced data displayed on the reference screen 62X, or may delete the displayed referenced data from the reference screen 62X.
  • the edit screen display control unit 22 may display the edit screen 61X after the process of step S40 and before the process of step S90.
  • the program creation apparatus 1 divides the screen into a plurality of parts, displays the editing target data on the editing screen 61X, and displays the referenced data on the reference screen 62X. It becomes possible to display it easily. Further, the program creation device 1 displays the program location of a similar program similar to the data to be edited or the program location of a related program related to the reference screen 62X, thereby reducing the amount of user operation when creating the program. Can do. Therefore, the program creation device 1 can shorten the program creation time.
  • FIG. 9 is a diagram of a hardware configuration example of the computer according to the first embodiment.
  • the computer 10 can be realized by the control circuit 300 shown in FIG. 9, that is, the processor 301 and the memory 302.
  • the processor 301 is a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP), system LSI (Large Scale Integration), or the like.
  • the memory 302 is a nonvolatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), etc. , Magnetic disk, flexible disk, optical disk, compact disk, mini disk or DVD (Digital Versatile Disc).
  • the computer 10 is realized by the processor 301 reading and executing a program stored in the memory 302 for operating as the computer 10. Further, it can be said that this program causes the computer to execute the procedure or method of the display control unit 20 and the display item setting unit 30.
  • the memory 302 is also used as a temporary memory when the processor 301 executes various processes.
  • the program executed by the processor 301 is a computer program product having a computer-readable and non-transitory recording medium including a plurality of instructions for performing data processing, which can be executed by a computer. is there.
  • the program executed by the processor 301 causes the computer to execute data processing by a plurality of instructions.
  • the computer 10 may be realized by dedicated hardware. Further, some of the functions of the computer 10 may be realized by dedicated hardware, and a part may be realized by software or firmware.
  • the program creation device 1 is not limited to setting a marker on a program line, and may set a marker on a line in which information other than a program such as a comment line is described.
  • the program creation device 1 can display a description of the function on the reference screen 62X by setting a marker in the description of the function, and can reduce an operation amount of the user for examining the description of the function.
  • the program creation device 1 sets a marker based on a user instruction
  • the master-slave relationship between the markers may be set as an attribute.
  • the program creation device 1 sets the function call to the marker having the main attribute, and sets the function definition to the marker having the secondary attribute.
  • the program creation device 1 sets the selected marker as a key marker, searches the marker table 80, and selects the program line in which the searched reference marker is set. It is displayed on another reference screen 62X.
  • the program creation device 1 can display all the nested functions on the reference screen 62X, and a user for creating a screen listing the entire program. The amount of operation can be reduced.
  • the program creation device 1 may group related programs related to the program to be edited based on designation from the user, and store the layout of the reference screen 62X for each group.
  • the program creation device 1 stores the layout of the reference screen 62X when the reference screen 62X is displayed, and uses the stored layout when the related program is displayed next time on the reference screen 62X. Display related programs. Thereby, the program creation apparatus 1 can reduce the operation amount of the user for creating the target screen layout.
  • the program creation device 1 may display a program other than the editing target on the editing screen 61X.
  • the program creation device 1 may display a confirmation or reference program on the editing screen 61X.
  • the program creation device 1 may display information other than the program on the editing screen 61X.
  • the program creation device 1 displays the editing target part on the editing screen 61X and the referenced part on the reference screen 62X, so that the program can be displayed easily. Therefore, it is possible to reduce the amount of user operation when the program is created.
  • the program creation device 1 since the program creation device 1 stores the program name together with the program line number when setting the marker based on the user instruction, the marker can be set in a program different from the program of the data to be edited. It becomes.
  • the program creation device 1 can display a part of the first program on the editing screen 61X, and can display a part of the second program on the reference screen 62X.
  • the program creation device 1 displays a plurality of program locations in the same program on the reference screen 62X, thereby making the program easy to see. Can do.
  • the program creation device 1 displays the referenced data corresponding to the editing target data even when the editing target data to be displayed is switched by scrolling, the operation amount by the user when displaying the referenced data Can be suppressed.
  • Embodiment 2 will be described with reference to FIGS.
  • the program creation device 1 automatically determines a program to be displayed on the reference screen 62X.
  • the program creation device 1 determines a program to be displayed on the reference screen 62X without using the marker setting by the user.
  • the program creation apparatus 1 of Embodiment 2 has the same configuration as the program creation apparatus 1 of Embodiment 1, the description thereof is omitted.
  • the search unit 32 of the program creation device 1 searches for a program location related to the edit target data displayed on the editing screen 61X instead of searching for a program location using a key marker. It is displayed on the reference screen 62X. Therefore, the search unit 32 determines whether or not the edit target data is related to the program part included in the storage unit 31, and searches for a program part related to the edit target data based on the determination result. To do.
  • the data to be edited may be one program line or a plurality of program lines. Since the data to be edited is selected by the user, the search unit 32 includes one to a plurality of program lines selected by the user, the one to a plurality of program lines, and a program line in the storage unit 31. Determine the relevance of. Furthermore, the search unit 32 searches for a program location related to the program line selected by the user based on the relevance determination result. Then, the display device 50 displays the editing target data selected by the user on the editing screen 61X, and displays the searched program location on the reference screen 62X.
  • the search unit 32 may determine the relevance of the program using any method.
  • the search unit 32 sets a variable name of an output variable included in a program as a key, and searches for a program location related to data to be edited.
  • the search unit 32 searches the program using the output variable “M1” as a key, and “M1” exists.
  • Program lines 51, 68, and 85, which are program lines, are extracted. Then, the display device 50 displays the 51st, 68th and 85th program lines on different reference screens 62X.
  • the search unit 32 may search for a program location related to data to be edited after setting a function included in the program as a key. Below, the case where the search part 32 searches the program location where the variable or function contained in edit object data contains the same variable or the same function is demonstrated.
  • FIG. 10 is a flowchart showing a processing procedure of screen display processing according to the second embodiment. Of the processes in FIG. 10, the same description as the screen display process in the first embodiment described in FIG. 8 is omitted.
  • the program creation device 1 displays a program on the edit screen 61X based on a user operation. Thereafter, when the process of scrolling the edit target data in the edit screen 61X is executed by the user, the program creation device 1 executes the processes of steps S110 to S140.
  • the process from step S110 to S140 is the same as the process from step S10 to S40.
  • the management unit 33 extracts variables or functions included in the displayed edit target data in step S150.
  • the management unit 33 may extract all or a part of the variables or functions included in the plurality of program lines. Also good.
  • the management unit 33 extracts a variable or a function included in the selected program line. In this case, when a plurality of program lines are selected by the user, the management unit 33 extracts all variables or functions included in the selected plurality of program lines.
  • no program line is selected by the user, the management unit 33 extracts all variables or functions included in the displayed data to be edited.
  • the management unit 33 sends a search instruction to the search unit 32 after extracting variables or functions. Specifically, the management unit 33 sends an instruction to search for a program location including the same variable or function as the extracted variable or function to the search unit 32. Thereby, in step S160, the search unit 32 searches for a program location including the same variable or function as the extracted variable or function.
  • the search unit 32 sends the location information of the program location as a search result to the management unit 33.
  • the management unit 33 acquires from the storage unit 31 a program location that includes the same variable or function as the extracted variable or function, based on the location information of the program location.
  • the management unit 33 creates the referenced data using the program location from the search unit 32.
  • the management unit 33 sends an instruction to display the referenced data to the reference screen display control unit 23.
  • step S190 the edit screen display control unit 22 updates the display of the edit screen 61X
  • the reference screen display control unit 23 updates the display of the reference screen 62X.
  • the display device 50 displays the edit target data on the edit screen 61X and displays the referenced data on the reference screen 62X.
  • the editing screen display control unit 22 displays the editing target data created in the process of step S140 on the editing screen 61X
  • the reference screen display control unit 23 uses the referenced data created in the process of step S180 as a reference screen.
  • 62X is displayed.
  • the program creation device 1 may display a program other than the sequence program on the editing screen 61X and the reference screen 62X by the above-described processing.
  • the search unit 32 searches for the program location relevant to the edit target data and displays it on the reference screen 62X. Therefore, the program is more effective than the screen display processing of the first embodiment. It is possible to reduce the operation amount of the user when the is created.
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
  • 1 program creation device 10 computer, 20 display control unit, 21 input unit, 22 edit screen display control unit, 23 reference screen display control unit, 30 display item setting unit, 31 storage unit, 32 search unit, 33 management unit, 40 Input device, 50 display device, 61A, 61X edit screen, 62A-62C, 62X reference screen, 80 marker table, 110, 120-122, 130, 140 marker.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

プログラム作成装置(1)が、表示装置(50)を制御するとともにプログラムに含まれている第1のプログラム箇所を表示する第1の画面と、第1の画面に表示する第1のプログラム箇所に関連する関連情報を表示する第2の画面とを表示装置(50)に表示させる表示制御部(20)と、第2の画面に表示させる関連情報の関連要件を設定するとともに、設定した関連要件に対応した前記関連情報を表示制御部(20)に送る表示項目設定部(30)とを備え、表示制御部(20)は、表示項目設定部(30)から受け取った関連情報を第2の画面に表示させる。

Description

プログラム作成装置およびプログラム作成方法
 本発明は、プログラムを表示するプログラム作成装置およびプログラム作成方法に関する。
 製造業における工場自動化であるFA(Factory Automation:ファクトリーオートメーション)の分野では、従来からPLC(Programmable Logic Controller:プログラマブルロジックコントローラ)を用いた自動制御機器が利用されている。このPLCは、制御内容が記述されたシーケンスプログラムを用いて動作する。
 シーケンスプログラムは、機械語に近い低級言語であり、変数名および関数名の有効範囲が広いという特徴がある。このようなシーケンスプログラムでは、変数が単一ドキュメント内の離れた箇所で複数回使用される場合がある。また、シーケンスプログラムが作成される際には、類似または関連するシーケンスプログラムが参照される場合がある。
 このため、シーケンスプログラムは、シーケンスプログラム全体の論理構造の見通しが悪くなる傾向にあるので、大規模なシーケンスプログラムの作成が困難である。これに対し、特許文献1の開発支援システムは、画面スクロールに関係なく、表示しておきたい固定表示領域を残しつつ、他の部分のスクロールを行っている。これにより、特許文献1の開発支援システムは、シーケンスプログラムの離れた箇所を同時に表示し、例えば、作成中のシーケンスプログラムと、シーケンスプログラムの作成で参照する作成済のシーケンスプログラムとを同時に表示している。
特開平9-128223号公報
 しかしながら、上記従来の技術である特許文献1では、参照用のシーケンスプログラムを表示するには、固定表示領域をユーザが予め設定する必要があった。
 本発明は、上記に鑑みてなされたものであって、シーケンスプログラムが作成される際のユーザ操作量を減らすことができるプログラム作成装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、プログラム作成装置が、表示装置を制御するとともに、プログラムに含まれている第1のプログラム箇所を表示する第1の画面と、第1の画面に表示する第1のプログラム箇所に関連する関連情報を表示する第2の画面とを表示装置に表示させる表示制御部を備えている。また、本発明のプログラム作成装置は、第2の画面に表示させる関連情報を特定する為の関連要件を設定するとともに、設定した関連要件に対応した関連情報を表示制御部に送る設定部を備えている。表示制御部は、設定部から受け取った関連情報を第2の画面に表示させる。
 本発明にかかるプログラム作成装置は、プログラムが作成される際のユーザ操作量を減らすことができるという効果を奏する。
本発明の実施の形態1にかかるプログラム作成装置の構成を示すブロック図 実施の形態1に係るプログラム作成装置が表示する画面の第1例を示す図 実施の形態1に係る画面分割操作を説明するための図 実施の形態1に係る分割数設定処理を説明するための図 実施の形態1に係るマーカ設定例を説明するための図 実施の形態1に係るマーカテーブルの構成例を示す図 実施の形態1に係るプログラム作成装置が表示する画面の第2例を示す図 実施の形態1に係る画面表示処理の処理手順を示すフローチャート 実施の形態1にかかる計算機のハードウェア構成例を示す図 実施の形態2に係る画面表示処理の処理手順を示すフローチャート
 以下に、本発明の実施の形態にかかるプログラム作成装置およびプログラム作成方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、本発明の実施の形態1にかかるプログラム作成装置の構成を示すブロック図である。プログラム作成装置1は、シーケンスプログラムを表示するコンピュータである。シーケンスプログラムの一例は、ラダープログラムである。なお、以下の説明では、シーケンスプログラムをプログラムという。
 実施の形態1のプログラム作成装置1は、編集対象のプログラムを表示させる際に、編集対象のプログラム箇所に関連する関連情報を表示することによって、プログラムの作成を容易にする。
 編集対象のプログラムに関連する関連情報は、プログラムの全部または一部であるプログラム箇所、またはプログラム以外の情報である。プログラム箇所は、(1)編集対象のプログラムと同じ内容の複製プログラムから抽出されたものであってもよいし、(2)編集対象のプログラムに類似する他のプログラムから抽出されたものであってもよい。
 プログラム以外の情報は、(3)編集時の注意事項または(4)コメントである。なお、以下では、編集対象のプログラム箇所を表示する画面を編集画面といい、編集対象のプログラム箇所に関連する関連情報を表示する画面を参照画面と呼ぶ。
 編集対象のプログラム箇所に関連する関連情報が上記(1)の情報である場合、プログラム作成装置1は、第1のプログラムの一部である第1のプログラム箇所を編集画面に表示し、第1のプログラムの一部を複製した第2のプログラム箇所を参照画面に表示する。また、編集対象のプログラム箇所に関連する関連情報が上記(2)の情報である場合、プログラム作成装置1は、第1のプログラムの一部である第1のプログラム箇所を編集画面に表示し、第2のプログラムの一部である第3のプログラム箇所を参照画面に表示する。以下では、編集対象のプログラム箇所に関連する関連情報が上記(1)の情報である場合について説明する。
 プログラム作成装置1は、画面に表示させる情報を計算する計算機10と、ユーザから入力される指示を受付けて計算機10に送る入力装置40と、計算機10からの指示に従って画面上にプログラム箇所または情報を表示する表示装置50とを備えている。計算機10は、入力装置40および表示装置50に接続されている。
 入力装置40は、マウスまたはキーボードを備えている。表示装置50は、液晶モニタを備えており、液晶モニタの画面上にプログラムを表示する。実施の形態1の表示装置50は、プログラムを編集するための画面である編集画面と、プログラムを編集する際に参照される画面である参照画面とを表示する。
 参照画面は、ユーザにより設定された表示項目の関連要件またはデフォルトで設定されている表示項目の関連要件を表示する画面である。実施の形態1での表示項目は、上述した(1)編集対象のプログラムと同一のプログラムから抽出されたものである。表示装置50は、編集画面に、プログラムのうちの編集対象データを表示し、参照画面に、プログラムのうちの被参照データを表示する。編集対象データは、編集の対象となるプログラム箇所であり、被参照データは、編集対象データが編集される際に参照の対象となるプログラム箇所である。このように、表示装置50は、編集対象データを編集画面である第1の画面に表示し、編集対象データに関連する被参照データを参照画面である第2の画面に表示する。プログラムのうちの編集対象データと、プログラムのうちの被参照データとは、ユーザにより設定された関係またはデフォルトで設定された関係を有している。また、表示項目の関連要件は、(1)編集対象のプログラムと同一のプログラムからユーザ所望のプログラムを抽出する為の検索要件であり、後述の、ユーザが編集対象のプログラムに対して参照用にマーカを施したプログラムに該当する。
 なお、入力装置40に含まれる装置は、マウスまたはキーボードに限定されない。また、表示装置50に含まれる装置は、液晶モニタに限定されない。また、表示装置50は、参照画面に、被参照データ以外の情報を表示してもよい。
 計算機10は、表示装置50を制御する表示制御部20と、表示装置50に表示させる項目を設定する設定部である表示項目設定部30とを備えている。表示制御部20は、入力装置40から送られてくる指示を受付けて表示項目設定部30に送る入力部21を備えている。また、表示制御部20は、編集画面にプログラム内の編集対象データを表示させる編集画面表示制御部22と、参照画面にプログラム内の被参照データを表示させる参照画面表示制御部23とを備えている。
 編集画面表示制御部22は、表示項目設定部30から送られてくる指示に基づいて、表示装置50を制御し、表示装置50の編集画面に種々のプログラム箇所を表示させる。編集画面表示制御部22は、表示項目設定部30から編集対象データの表示指示が送られてきた場合には、編集前の編集対象データを編集画面に表示させる。また、編集画面表示制御部22は、計算機10内の図示しない編集部から編集指示が送られてきた場合には、編集後の編集対象データを編集画面に表示させる。編集部は、ユーザ指示に基づいて、プログラムを編集する機能を有している。参照画面表示制御部23は、表示項目設定部30から送られてくる指示に基づいて、表示装置50を制御し、表示装置50の参照画面に被参照データを表示させる。
 表示項目設定部30は、ユーザがプログラム内に設定したマーカの位置情報およびマーカの属性である属性値を記憶する記憶部31を備えている。実施の形態1のマーカは、プログラム箇所を識別するためにプログラム箇所に対応付けされる識別情報である。マーカは、プログラム行単位でプログラム箇所に対応付けされるものであり、編集画面または参照画面に表示される際には印で表される。各マーカは、後述するマーカIDによって識別され、マーカIDごとに、対応するプログラム内の位置、属性値、表示するときの図形が設定されている。なお、実施の形態1における属性値は、プログラム箇所同士が関連している場合には、同じものが割り当てられ、関連していない場合には異なるものが割り当てられるものとする。
 また、表示項目設定部30は、編集画面に表示されているマーカと同一の属性値を有したマーカを記憶部31から検索する検索部32と、編集画面および参照画面に表示させる情報を管理する管理部33とを備えている。
 管理部33は、入力装置40から送られてくるユーザ指示に基づいたデータを、編集画面表示制御部22または参照画面表示制御部23に送る。管理部33は、入力装置40からプログラム内の編集位置が指定された指示を受信した場合には、編集位置のプログラム箇所を記憶部31から読み出して編集画面表示制御部22に送る。
 また、管理部33は、入力装置40からプログラム内の編集位置が指定された指示を受信した場合には、この編集位置のプログラム箇所に対応する被参照データを記憶部31から取得して参照画面表示制御部23に送る。具体的には、管理部33は、何れのマーカが編集画面に表示されているかを判定する。管理部33が判定したマーカの関連要件である属性値は、参照画面に表示させる情報を検索する際のキーとなるマーカである。なお、以下の説明では、検索時にキーとするマーカをキーマーカという場合がある。
 管理部33は、編集画面を表示させるために編集画面表示制御部22に送る情報に基づいて、キーマーカの属性値を判定する。また、管理部33は、表示装置50が実際に編集画面に表示している情報に基づいて、キーマーカの属性値を判定してもよい。管理部33は、判定結果であるキーマーカの属性値を検索部32に送る。
 検索部32は、キーマーカが付された編集対象データに対応する被参照データを記憶部31から検索する。具体的には、検索部32は、キーマーカが有する属性値と同一の属性値を有したマーカを記憶部31から検索する。そして、検索部32は、検索結果を管理部33に送る。
 これにより、管理部33は、記憶部31内の被参照データの候補の中から、検索されたマーカに対応する被参照データを読み出す。なお、以下の説明では、キーマーカが有する属性値と同一の属性値を有したマーカであって、キーマーカ以外のマーカを参照マーカという場合がある。したがって、検索部32は、キーマーカに基づいて参照マーカを検索し、管理部33は、参照マーカに対応する被参照データを読み出す。このように、実施の形態1のキーマーカは、編集画面に表示されている編集対象データに付されたマーカであり、参照マーカは、参照画面に表示される被参照データに付されたマーカである。なお、入力部21は、表示制御部20の外部に配置されてもよい。また、記憶部31は、表示項目設定部30の外部に配置されてもよい。
 このように、実施の形態1のプログラム作成装置1は、編集画面にキーマーカが表示されていれば、キーマーカに対応する参照マーカを検索し、この参照マーカを有した被参照データを参照画面に表示させる。これにより、表示装置50は、編集画面に編集対象データを表示しつつ、編集対象データに関連する被参照データを参照画面に表示することができる。この結果、プログラム作成装置1は、プログラム全体の論理構造を見やすく表示できる。
 図2は、実施の形態1に係るプログラム作成装置が表示する画面の第1例を示す図である。図2では、プログラム作成ソフトウェアにより生成される画面例を示している。実施の形態1のプログラム作成装置1は、プログラムを表示させる際に、編集画面61Xと参照画面62Xとを同時に表示させる。そして、プログラム作成装置1は、編集画面61Xに、プログラムのうちの編集対象データを表示し、参照画面62Xに、プログラムのうちの被参照データを表示する。このように、プログラム作成装置1は、編集対象データを表示する編集画面61Xと、この編集画面61Xとは別に被参照データを表示する参照画面62Xとを表示する。
 プログラム作成装置1が参照画面62Xを表示する際には、入力装置40がユーザのマウス操作に対応するユーザ指示を受付ける。具体的には、入力装置40は、ユーザから画面の分割指示を受付ける。画面の分割指示は、画面を編集画面61Xと参照画面62Xとに分割させる指示である。また、画面の分割指示には、画面の分割条件が含まれていてもよい。画面の分割条件は、画面の分割方向であってもよいし、画面の分割数であってもよい。
 図3は、実施の形態1に係る画面分割操作を説明するための図である。図3では、入力装置40が、ユーザによる画面分割操作を受付ける際の操作画面の例を示している。ユーザによって入力装置40にナビゲーション機能を指定する指示が入力された後、ユーザによって「プログラム本体」を指定する指示が入力されると、表示装置50はプログラムを表示する。そして、表示装置50がメインメニューを画面表示している際に、入力装置40がユーザからの画面分割操作を受付けると、入力装置40は、画面分割操作に対応する画面分割指示を入力部21に送る。ユーザによる画面分割操作の一例は、メインメニューで画面分割操作に対応する項目が選択される操作である。
 入力部21は、画面分割指示を管理部33に送り、管理部33は、画面分割指示を編集画面表示制御部22に送る。これにより、編集画面表示制御部22は、画面の分割方向を設定するための分割方向設定画面71を画面上に表示する。分割方向は、画面が分割される方向である。表示装置50は、分割方向設定画面71に、画面を上下方向に分割する際に選択される「上下に分割」の項目と、画面を左右方向に分割する際に選択される「左右に分割」の項目と、を表示する。
 表示装置50が分割方向設定画面71を表示している際に、入力装置40がユーザから分割方向の指定操作を受付けると、入力装置40は、分割方向の指定操作に対応する方向指定指示を入力部21に送る。ユーザによる分割方向の指定操作の一例は、分割方向設定画面71で分割方向に対応する項目が選択される操作である。分割方向設定画面71上で「上下に分割」がユーザ選択された場合には、入力装置40が上下方向の指定操作を受付けて、上下方向の分割指示を入力部21に送る。一方、分割方向設定画面71上で「左右に分割」がユーザ選択された場合には、入力装置40が左右方向の指定操作を受付けて、左右方向の分割指示を入力部21に送る。
 そして、入力部21は、方向指定指示を管理部33に送り、管理部33は、方向指定指示を編集画面表示制御部22および参照画面表示制御部23に送る。管理部33が送る方向指定指示は、分割された画面の何れを編集画面61Xまたは参照画面62Xとするかの指示情報が含まれている。これにより、編集画面表示制御部22および参照画面表示制御部23は、画面を編集画面61Xと参照画面62Xとに分割する。そして、編集画面表示制御部22は、分割された画面の一方に編集画面61Xを表示させ、参照画面表示制御部23は、分割された画面の他方に参照画面62Xを表示させる。
 分割方向が上下方向の場合、編集画面表示制御部22および参照画面表示制御部23は、画面を上側の画面領域と下側の画面領域とに分割する。この場合において、編集画面表示制御部22は、上側の画面領域に編集画面61Xを表示させ、参照画面表示制御部23は、下側の画面領域に参照画面62Xを表示させる。
 また、分割方向が左右方向の場合、編集画面表示制御部22および参照画面表示制御部23は、画面を左側の画面領域と右側の画面領域とに分割する。この場合において、編集画面表示制御部22は、左側の画面領域に編集画面61Xを表示させ、参照画面表示制御部23は、右側の画面領域に参照画面62Xを表示させる。
 なお、編集画面表示制御部22および参照画面表示制御部23は、ユーザ操作に基づいた位置で画面を分割させてもよいし、デフォルト設定されている位置で画面を分割させてもよい。編集画面表示制御部22および参照画面表示制御部23が、ユーザ操作に基づいた位置で画面を分割させる場合、入力装置40は、ユーザによって指定される画面分割位置を受付けて、入力部21に送る。そして、入力部21は、画面分割位置を管理部33に送り、管理部33は、画面分割位置を編集画面表示制御部22および参照画面表示制御部23に送る。これにより、編集画面表示制御部22および参照画面表示制御部23は、画面分割位置で画面を分割する。
 大規模なプログラムは、このプログラムに関連する関連プログラムの数が増大するので、プログラム作成装置1は、1つの編集画面61Xと、複数の参照画面62Xとを同時に表示してもよい。この場合、プログラム作成装置1は、参照画面62Xの分割数を、ユーザ操作に対応する数またはデフォルト設定されている数に設定する。
 図4は、実施の形態1に係る分割数設定処理を説明するための図である。図4では、入力装置40が、ユーザによる分割数の設定を受付ける際の操作画面の例を示している。分割方向設定画面71上で分割方向が選択された後、表示装置50は、参照画面62Xの分割数を設定するための分割数設定画面72を画面上に表示する。表示装置50は、参照画面表示制御部23からの指示に従って、分割数設定画面72に、参照画面62Xの最大数を1とする場合に設定される「1」と、参照画面62Xの最大数を2とする場合に設定される「2」と、参照画面62Xの最大数を3とする場合に設定される「3」とを表示する。
 表示装置50が分割数設定画面72を表示している際に、入力装置40がユーザから分割数の指定操作を受付けると、入力装置40は、分割数の指定操作に対応する分割数指定指示を入力部21に送る。ユーザによる分割数の指定操作の一例は、分割数設定画面72で分割数に対応する項目が選択される操作である。分割数設定画面72上で分割数である「1」から「3」の何れかがユーザにより選択された場合には、入力装置40がユーザ選択された分割数を受付けて、分割数を入力部21に送る。
 そして、入力部21は、分割数を管理部33に送り、管理部33は、分割数を参照画面表示制御部23に送る。これにより、参照画面表示制御部23は、参照画面62Xを管理部33からの分割数で分割する。そして、参照画面表示制御部23は、分割後の参照画面62Xを表示させる。分割数が「3」である場合、参照画面表示制御部23は、参照画面62Xを3つに分割し、分割した3つの参照画面62Xを表示装置50に表示させる。
 つぎに、プログラムへのマーカ設定について説明する。図5は、実施の形態1に係るマーカ設定例を説明するための図である。ここでのプログラム箇所は、編集画面61Xに表示される際には編集対象となり、参照画面62Xに表示される際には参照対象となる。
 図5では、プログラムに被参照データの候補である候補箇所をマーカ設定した結果を図示している。プログラム作成装置1は、ユーザ操作に基づいて、プログラム内にマーカを設定する。このマーカ設定されたプログラム箇所は、参照画面62Xに表示されることによって被参照データとなる。一方、マーカ設定されたプログラム箇所は、編集画面61Xに表示されることによって編集対象データとなる。
 表示装置50は、ユーザによってプログラムが指定されると、プログラムを画面に表示する。ここでは、1つの画面に収まらないほど長いプログラムが指定された場合について説明する。なお、図5では、プログラムのうち、説明に関係のない部分は波線を用いて省略している。表示装置50は、1つの画面に収まらないプログラムが指定された場合、プログラムのうちの一部を画面表示する。
 プログラムは、複数のプログラム箇所を含んでおり、各プログラム箇所にマーカがユーザ設定される。各プログラム箇所には、グループG1のマーカ、グループG2のマーカまたはグループG3のマーカがユーザ設定される。なお、Nを4以上の自然数とした場合に、グループGNのマーカがユーザ設定されてもよい。また、マーカが設定されないプログラム箇所があってもよい。
 マーカ110,120,121,122は、グループG1のマーカである。マーカ130,140は、グループG1とは異なるグループG2に属するプログラム箇所であることを示すマーカである。
 プログラム作成装置1は、ユーザからマーカ設定操作を受付けると、マーカ設定操作に対応するマーカをプログラム箇所に設定する。ここで、プログラム作成装置1がマーカ設定する際の動作について説明する。
 ユーザによってプログラム内のプログラム箇所にマーカが設定されると、計算機10は、ユーザによるマーカ設定を受付ける。入力装置40がマウスである場合、プログラム作成装置1は、マウスへの操作に対応するマーカ設定を受付ける。この場合、ユーザによってマーカ設定対象のプログラム行がマウスで指定されたうえでマウスが右クリックされると、計算機10は、マウスで指定されたプログラム行が属するプログラム箇所の位置情報を受付ける。この位置情報は、プログラム内での行数である。計算機10が位置情報を受付けると、表示装置50は、指定されたプログラム行の位置にマーカを設定するためのマーカ設定画面73を表示する。
 マーカ設定画面73には、「グループG1のマーカを設定する」の項目と、「グループG2のマーカを設定する」の項目と、「グループG3のマーカを設定する」の項目とが表示される。
 マーカ設定画面73上でユーザによって何れかの項目が選択されると、計算機10は、選択された項目に対応するマーカの属性値を登録する。各マーカの属性値は、プログラム箇所同士で関連がある場合には、同一の属性値が割り当てられるので、計算機10は、プログラム箇所同士で関連がある場合には、同一の属性値を登録する。マーカ設定画面73上でユーザによって「グループG1のマーカを設定する」ための項目が選択されると、計算機10は、グループG1のマーカを示す属性値を登録する。
 これにより、表示項目設定部30の管理部33は、位置情報および属性値を、後述するマーカテーブル80に登録する。マーカテーブル80は、記憶部31内に格納される情報であり、プログラム内のプログラム箇所をマーカの属性値毎に管理するための情報である。このように、プログラム作成装置1は、ユーザによってマーカ設定が行われることにより、位置情報および属性値をマーカテーブル80に登録する。
 なお、図5では、プログラム作成装置1が、マーカの所属するグループを属性値に設定する場合について説明したが、プログラム作成装置1は、何れの情報を属性値に設定してもよい。また、プログラム作成装置1は、属性値の代わりにマーカの属性を示す他の情報をマーカテーブル80に登録してもよい。
 図6は、実施の形態1に係るマーカテーブルの構成例を示す図である。マーカテーブル80は、ソフトウェア(SW:software)であるプログラム内でのデータ構造を示す情報テーブルである。
 マーカテーブル80は、マーカの識別情報であるマーカIDと、マーカ設定箇所の位置情報と、マーカの属性を示す属性値とが対応付けされている。位置情報は、被参照データのプログラム名と、被参照データ内でのプログラム行番号とを含んでいる。
 マーカIDが「0」のマーカは、図5に示したマーカ110に対応し、マーカIDが「1」のマーカは、図5に示したマーカ130に対応している。同様に、マーカIDが「2」から「4」のマーカは、図5に示したマーカ120から122に対応し、マーカIDが「5」のマーカは、図5に示したマーカ140に対応している。
 そして、マーカIDが「0」、「2」、「3」および「4」のマーカの属性値は「0」であり、マーカIDが「1」および「5」のマーカの属性値は「1」である。
 プログラム作成装置1では、管理部33が、ユーザ操作に対応する位置情報および属性値を取得すると、記憶部31内のマーカテーブル80に位置情報および属性値を登録する。このとき、管理部33は、位置情報および属性値にマーカIDを付与し、マーカIDと、位置情報と、属性値とを対応付けしてマーカテーブル80に登録する。
 プログラム作成装置1の管理部33は、編集画面61Xに編集対象のプログラム箇所を表示する際に、マーカテーブル80を用いて、編集対象のプログラム箇所に関連するプログラム名およびプログラム行番号を取得する。そして、表示装置50は、取得したプログラム名およびプログラム行番号に対応する被参照データを参照画面62Xに表示する。この場合において、管理部33は、マーカテーブル80に登録されている属性値に対応する参照マーカを参照画面62Xに表示させる。
 図7は、実施の形態1に係るプログラム作成装置が表示する画面の第2例を示す図である。プログラム作成装置1は、画面91内に編集画面61Xの一例である編集画面61Aを表示する際に、画面91内に参照画面62Xの一例である参照画面62A~62Cを表示する。
 プログラム作成装置1は、図5で示したマーカの属性値に基づいて、編集画面61Aおよび参照画面62Aから62Cを画面91に表示する。具体的には、プログラム作成装置1は、編集画面61Aに表示するマーカの属性値と同じ属性値を有したマーカが割り当てられたプログラム箇所を参照画面62Aから62Cに表示する。
 属性値は、プログラム箇所同士が関連する場合に同じものが割り当てられるので、参照画面62Aから62Cに表示される被参照データは、編集画面61Aに表示される編集対象データに関連している。そして、プログラム箇所同士が関連する場合には、同一の属性値が割り当てられているので、プログラム箇所同士が関連する場合には、同一のマーカが表示される。したがって、プログラム作成装置1は、編集画面61A内の編集対象データのキーマーカと、参照画面62Aから62C内の被参照データの参照マーカとを同一のマーカで表示する。
 編集画面61Aに表示された編集対象データであるプログラム箇所は、ユーザが入力装置40を用いてスクロール可能となっている。編集画面61Aに表示されたプログラム箇所が、ユーザによってスクロールされると、プログラム作成装置1は、ユーザ操作に対応するプログラム箇所を編集画面61Aに表示する。換言すると、ユーザによってプログラム箇所の表示移動操作が行われると、プログラム作成装置1は、表示移動操作に対応する編集対象データを編集画面61Aに表示する。
 プログラム作成装置1は、ユーザ操作に基づいて、マーカ110を割り当てられた編集対象データを編集画面61Aに表示する場合、マーカ110の属性値と同じ属性値を有した被参照データを選択して参照画面62Aから62Cに表示する。図7では、プログラム作成装置1が、マーカ120を割り当てられた被参照データを参照画面62Aに表示し、マーカ121を割り当てられた被参照データを参照画面62Bに表示し、マーカ122を割り当てられた被参照データを参照画面62Cに表示した場合を示している。
 プログラム作成装置1は、編集画面61Aに表示された編集対象データがユーザによってスクロールされてマーカ130を割り当てられた編集対象データを編集画面61Aに表示する場合、マーカ130の属性値と同じ属性値を有した被参照データを選択して参照画面62Aから62Cに表示する。具体的には、プログラム作成装置1は、マーカ130と同一の属性値を有したマーカ140を抽出し、このマーカ140を割り当てられた被参照データを参照画面62Aに表示する。
 なお、プログラム作成装置1は、編集画面61Aに複数のマーカを表示する場合、デフォルト設定されている位置のマーカを編集対象データのキーマーカに設定する。デフォルト設定の位置が上段側領域である場合、プログラム作成装置1は、複数のマーカのうち最も上段側のプログラム行に表示されるマーカを、編集対象データのキーマーカに設定する。また、プログラム作成装置1は、編集画面61Aに複数のマーカを表示する場合、ユーザによって選択されたプログラム行に最も近いマーカを編集対象データのキーマーカに設定してもよい。
 また、プログラム作成装置1の管理部33は、編集画面61Xでのユーザ操作を参照画面62Xに反映してもよいし、参照画面62Xでのユーザ操作を編集画面61Xに反映してもよい。この場合、管理部33は、ユーザからの指示に基づいてマーカ毎に反映内容を設定する。反映内容がスクロールの反映である場合、管理部33は、編集画面61Xで編集対象データが上下左右にスクロールされる際に、参照画面62Xの参照部分を編集対象データと同じ方向にスクロールさせる指示を表示制御部20に送る。これにより、参照画面表示制御部23は、参照画面62Xの参照部分を編集対象データと同じ方向にスクロールさせる。同様に、編集画面表示制御部22は、編集画面61Xの編集対象データを参照部分と同じ方向にスクロールさせてもよい。なお、プログラム作成装置1は、マーカ表示の区別を色分けで行ってもよいし、形状または図柄といった他の表示方法で区別してもよい。
 図8は、実施の形態1に係る画面表示処理の処理手順を示すフローチャートである。プログラム作成装置1は、ユーザ操作に基づいて編集画面61Xにプログラムを表示する。この後、ユーザによって編集画面61X内の編集対象データをスクロールする処理が実行されると、ステップS10において、入力部21が、スクロール操作である移動操作を受け付ける。
 入力部21は、スクロール操作に対応するスクロール指示を管理部33に送る。そして、管理部33は、スクロール指示を検索部32に送る。管理部33が検索部32に送るスクロール指示には、表示中のプログラムの関連要件と、スクロール前の表示位置と、スクロール量とが含まれている。
 ステップS20において、検索部32は、スクロール指示に基づいて、編集画面61X上に何れのプログラム行を表示させるかを検索する。具体的には、検索部32は、表示中のプログラムの関連要件に基づいて、検索対象となるプログラムを決定する。そして、検索部32は、スクロール前の表示位置と、スクロール量とに基づいて、スクロール指示に対応するプログラム行を、プログラムから検索し、検索結果を管理部33に送る。
 この後、ステップS30において、管理部33は、検索されたプログラム行に対応するプログラム箇所を、記憶部31内のプログラムから取得する。なお、管理部33が、表示装置50の状態から、何れのマーカが編集画面61Xに表示されているかを判定してもよい。この場合、管理部33は、表示されているマーカに対応するプログラム行を検索部32に検索させる。
 ステップS40において、管理部33は、編集画面61Xに表示させる表示データである編集対象データを、検索部32からのプログラム箇所を用いて作成する。管理部33は、編集対象データを表示させる指示を編集画面表示制御部22に送る。
 ステップS50において、管理部33は、編集対象データの中にマーカが含まれているか否かを判定する。編集対象データの中にマーカが含まれている場合、すなわちステップS50においてYesの場合、管理部33は、検索部32に検索指示を送る。具体的には、管理部33が、編集対象データに含まれるマーカと同一属性値のマーカを検索する指示を、検索部32に送る。これにより、ステップS60において、検索部32は、編集対象データに含まれるマーカと同一属性値のマーカをマーカテーブル80から検索する。そして、検索部32は、検索したマーカの位置情報をマーカテーブル80から取得して管理部33に送る。
 この後、ステップS70において、管理部33は、検索されたマーカに対応するプログラム箇所を、位置情報に基づいて記憶部31から取得する。具体的には、管理部33は、検索されたマーカに対応するプログラム箇所を、位置情報内のプログラム名およびプログラム行番号に基づいて記憶部31から読み出す。すなわち、管理部33は、位置情報で指定されているプログラム名を有したプログラム箇所のうち、プログラム行番号で指定されているプログラム箇所を読出す。管理部33が記憶部31から取得するプログラム箇所は、マーカの付されているプログラム行と、このプログラム行の周辺に配置されているプログラム行である。プログラム行の周辺の一例は、このプログラム行の前の一定数のプログラム行と、このプログラム行の後の一定数のプログラム行とである。
 そして、ステップS80において、管理部33は、参照画面62Xに表示させる表示データである被参照データを、検索部32からのプログラム箇所を用いて作成する。管理部33は、被参照データを表示させる指示を参照画面表示制御部23に送る。
 この後、ステップS90において、編集画面表示制御部22は、編集画面61Xの表示を更新し、参照画面表示制御部23は、参照画面62Xの表示を更新する。これにより、表示装置50は、編集画面61Xに編集対象データを表示させ、参照画面62Xに被参照データを表示させる。ここでの編集画面表示制御部22は、ステップS40の処理で作成した編集対象データを編集画面61Xに表示させ、参照画面表示制御部23は、ステップS80の処理で作成した被参照データを参照画面62Xに表示させる。
 また、ステップS50において、編集対象データの中にマーカが含まれていない場合、すなわちステップS50においてNoの場合、ステップS90において、編集画面表示制御部22は、編集画面61Xの表示を更新し、参照画面表示制御部23は、参照画面62Xの表示を更新する。これにより、表示装置50は、編集画面61Xに編集対象データを表示させる。ここでの編集画面表示制御部22は、ステップS40の処理で作成した編集対象データを編集画面61Xに表示させる。この場合において、参照画面表示制御部23は、表示済みの被参照データを参照画面62Xに表示させたままにしてもよいし、表示済みの被参照データを参照画面62Xから消去させてもよい。なお、編集画面表示制御部22は、ステップS40の処理の後、ステップS90の処理よりも前に編集画面61Xを表示させてもよい。
 このように、プログラム作成装置1は、画面を複数に分割したうえで、編集画面61Xには編集対象データを表示し、参照画面62Xには被参照データを表示するので、プログラム全体の論理構造を見やすく表示することが可能となる。また、プログラム作成装置1は、参照画面62Xに編集対象データに類似する類似プログラムのプログラム箇所または関連する関連プログラムのプログラム箇所を表示することで、プログラムを作成する際のユーザの操作量を減らすことができる。したがって、プログラム作成装置1は、プログラム作成の時間を短縮させることが可能となる。
 ここで、計算機10のハードウェア構成について説明する。図9は、実施の形態1にかかる計算機のハードウェア構成例を示す図である。計算機10は、図9に示した制御回路300、すなわちプロセッサ301およびメモリ302により実現することができる。プロセッサ301は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSPともいう)、システムLSI(Large Scale Integration)などである。メモリ302は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)等である。
 計算機10は、プロセッサ301が、メモリ302で記憶されている、計算機10として動作するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、表示制御部20および表示項目設定部30の手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリとしても使用される。
 このように、プロセッサ301が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトである。プロセッサ301が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
 また、計算機10を専用のハードウェアで実現してもよい。また、計算機10の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
 また、プログラム作成装置1は、マーカをプログラム行に設定する場合に限らず、コメント行といったプログラム以外の情報が記載されている行にマーカを設定してもよい。プログラム作成装置1は、関数の説明にマーカを設定することで、関数の説明を参照画面62Xに表示することが可能となり、関数の説明を調べるためのユーザの操作量を減らすことができる。
 また、プログラム作成装置1は、ユーザ指示に基づいてマーカを設定する際に、マーカ間の主従関係を属性に設定してもよい。この場合、プログラム作成装置1は、関数の呼び出しを主の属性を持つマーカに設定し、関数の定義を従の属性を持つマーカに設定する。そして、プログラム作成装置1は、参照画面62Xで従のマーカが選択された場合に、選択されたマーカをキーマーカに設定してマーカテーブル80を検索し、検索した参照マーカが設定されたプログラム行を別の参照画面62Xに表示する。これにより、関数の呼び出しがネストしている場合に、プログラム作成装置1は、ネストしている関数の全てを参照画面62Xに表示することができ、プログラム全体を一覧する画面を作成するためのユーザの操作量を減らすことができる。
 また、プログラム作成装置1は、編集対象のプログラムに関連する関連プログラムをユーザからの指定に基づいてグループ分けしておき、グループ毎に参照画面62Xのレイアウトを記憶しておいてもよい。この場合、プログラム作成装置1は、参照画面62Xを表示させた際に参照画面62Xのレイアウトを記憶しておき、次回関連プログラムを参照画面62Xに表示させる際に、記憶しておいたレイアウトを用いて関連プログラムを表示させる。これにより、プログラム作成装置1は、目的の画面レイアウトを作成するためのユーザの操作量を減少させることができる。
 なお、プログラム作成装置1は、編集画面61Xに編集対象以外のプログラムを表示させてもよい。例えば、プログラム作成装置1は、編集画面61Xに確認用または参照用のプログラムを表示させてもよい。また、プログラム作成装置1は、編集画面61Xにプログラム以外の情報を表示させてもよい。
 このように実施の形態1によれば、プログラム作成装置1は、編集画面61Xに編集対象部分を表示し、参照画面62Xに被参照部分を表示するので、プログラムを見やすく表示することができる。したがって、プログラムが作成される際のユーザの操作量を減らすことが可能となる。
 また、プログラム作成装置1は、ユーザ指示に基づいてマーカを設定する際に、プログラム行番号とともにプログラム名を保存しているので、編集対象データのプログラムとは異なるプログラムにマーカを設定することが可能となる。この場合、プログラム作成装置1は、第1のプログラムの一部を編集画面61Xに表示でき、第2のプログラムの一部を参照画面62Xに表示できる。
 また、プログラムがラダープログラムである場合、1つのプログラムが長くなることが多いので、プログラム作成装置1は、同一プログラム内の複数のプログラム箇所を参照画面62Xに表示することで、プログラムを見やすくすることができる。
 また、プログラム作成装置1は、表示する編集対象データをスクロールで切り替えた場合であっても、編集対象データに対応する被参照データを表示するので、被参照データを表示する際のユーザによる操作量を抑制することができる。
実施の形態2.
 つぎに、図5および図10を用いて実施の形態2について説明する。実施の形態2では、プログラム作成装置1が、参照画面62Xに表示するプログラムを自動で決定する。換言すると、実施の形態2では、プログラム作成装置1が、ユーザによるマーカ設定を用いることなく、参照画面62Xに表示するプログラムを決定する。なお、実施の形態2のプログラム作成装置1は、実施の形態1のプログラム作成装置1と同様の構成を有しているので、その説明は省略する。
 実施の形態2では、プログラム作成装置1の検索部32が、キーマーカを用いてプログラム箇所を検索する代わりに、編集画面61Xに表示している編集対象データに関連性のあるプログラム箇所を検索して参照画面62Xに表示する。このため、検索部32は、編集対象データと、記憶部31内に含まれるプログラム箇所との関連性の有無を判定し、判定結果に基づいて、編集対象データに関連性のあるプログラム箇所を検索する。
 なお、編集対象データは、1行分のプログラム行であってもよいし、複数行分のプログラム行であってもよい。編集対象データは、ユーザによって選択されるものであるので、検索部32は、ユーザによって選択された1から複数のプログラム行と、この1から複数のプログラム行と、記憶部31内のプログラム行との関連性を判定する。さらに、検索部32は、関連性の判定結果に基づいて、ユーザ選択されたプログラム行に関連するプログラム箇所を検索する。そして、表示装置50が、ユーザ選択された編集対象データを編集画面61Xに表示し、検索されたプログラム箇所を参照画面62Xに表示する。
 なお、検索部32は、何れの方法を用いてプログラムの関連性を判定してもよい。実施の形態2では、検索部32は、プログラムに含まれる出力変数の変数名をキーに設定したうえで、編集対象データに関連するプログラム箇所を検索する。図5に示したプログラムの場合、ユーザによって2行目のプログラム行が選択されると、検索部32は、出力変数である「M1」をキーにプログラム内を検索し、「M1」が存在するプログラム行である51行目、68行目および85行目のプログラム行を抽出する。そして、表示装置50が、51行目、68行目および85行目のプログラム行を、異なる参照画面62Xに表示する。
 また、検索部32は、プログラムに含まれる関数をキーに設定したうえで、編集対象データに関連するプログラム箇所を検索してもよい。以下では、検索部32が、編集対象データに含まれる変数または関数と同一変数または同一関数が含まれるプログラム箇所を検索する場合について説明する。
 図10は、実施の形態2に係る画面表示処理の処理手順を示すフローチャートである。図10の各処理のうち図8で説明した実施の形態1の画面表示処理と同様の処理については重複する説明を省略する。
 プログラム作成装置1は、ユーザ操作に基づいて編集画面61Xにプログラムを表示する。この後、ユーザによって編集画面61X内の編集対象データをスクロールする処理が実行されると、プログラム作成装置1は、ステップS110からS140の処理を実行する。ステップS110からS140の処理は、ステップS10からS40の処理と同様の処理である。
 管理部33は、ステップS140の処理を実行した後、ステップS150において、表示される編集対象データに含まれる変数または関数を抽出する。ユーザによって選択された編集対象データに複数のプログラム行が含まれる場合は、管理部33は、この複数のプログラム行に含まれる変数または関数を全て抽出してもよいし、一部を抽出してもよい。ユーザによって複数のプログラム行のうちの何れかのプログラム行が選択された場合には、管理部33は、選択されたプログラム行に含まれる変数または関数を抽出する。この場合において、ユーザによって複数のプログラム行が選択された場合には、管理部33は、選択された複数のプログラム行に含まれる変数または関数を全て抽出する。また、ユーザによって何れのプログラム行も選択されなかった場合には、管理部33は、表示される編集対象データに含まれる変数または関数を全て抽出する。
 管理部33は、変数または関数を抽出した後、検索部32に検索指示を送る。具体的には、抽出した変数または関数と同一変数または同一関数が含まれるプログラム箇所を検索する指示を、管理部33が検索部32に送る。これにより、ステップS160において、検索部32は、抽出された変数または関数と同一変数または同一関数が含まれるプログラム箇所を検索する。
 そして、検索部32は、検索結果であるプログラム箇所の位置情報を、管理部33に送る。この後、ステップS170において、管理部33は、プログラム箇所の位置情報に基づいて、抽出した変数または関数と同一変数または同一関数が含まれるプログラム箇所を記憶部31から取得する。そして、ステップS180において、管理部33は、被参照データを、検索部32からのプログラム箇所を用いて作成する。管理部33は、被参照データを表示させる指示を参照画面表示制御部23に送る。
 この後、ステップS190において、編集画面表示制御部22は、編集画面61Xの表示を更新し、参照画面表示制御部23は、参照画面62Xの表示を更新する。これにより、表示装置50は、編集画面61Xに編集対象データを表示させ、参照画面62Xに被参照データを表示させる。ここでの編集画面表示制御部22は、ステップS140の処理で作成した編集対象データを編集画面61Xに表示させ、参照画面表示制御部23は、ステップS180の処理で作成した被参照データを参照画面62Xに表示させる。なお、プログラム作成装置1は、シーケンスプログラム以外のプログラムを、上述した処理によって編集画面61Xおよび参照画面62Xに表示してもよい。
 このように実施の形態2によれば、検索部32が、編集対象データに関連性のあるプログラム箇所を検索して参照画面62Xに表示するので、実施の形態1の画面表示処理よりも、プログラムが作成される際のユーザの操作量を減らすことができる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 プログラム作成装置、10 計算機、20 表示制御部、21 入力部、22 編集画面表示制御部、23 参照画面表示制御部、30 表示項目設定部、31 記憶部、32 検索部、33 管理部、40 入力装置、50 表示装置、61A,61X 編集画面、62A~62C,62X 参照画面、80 マーカテーブル、110,120~122,130,140 マーカ。

Claims (9)

  1.  表示装置を制御するとともに、プログラムに含まれている第1のプログラム箇所を表示する第1の画面と、前記第1の画面に表示する前記第1のプログラム箇所に関連する関連情報を表示する第2の画面とを前記表示装置に表示させる表示制御部と、
     前記第2の画面に表示させる前記関連情報を特定する為の関連要件を設定するとともに、設定した関連要件に対応した前記関連情報を前記表示制御部に送る設定部と、
     を備え、
     前記表示制御部は、前記設定部から受け取った前記関連情報を前記第2の画面に表示させることを特徴とするプログラム作成装置。
  2.  前記表示制御部は、複数の前記第2の画面を前記表示装置に表示させることを特徴とする請求項1に記載のプログラム作成装置。
  3.  前記表示制御部は、前記第2の画面に、前記プログラムに含まれている第2のプログラム箇所、前記プログラムが作成される際の注意事項、またはコメントを表示させることを特徴とする請求項1または2に記載のプログラム作成装置。
  4.  前記表示制御部は、前記第2の画面に、前記プログラムとは異なる別のプログラムに含まれている第3のプログラム箇所を表示させることを特徴とする請求項1または2に記載のプログラム作成装置。
  5.  前記設定部は、ユーザ指示に基づいて前記プログラムのうち前記関連情報の候補である候補箇所にマーカを設定しておき、前記第1の画面が、前記第1のプログラム箇所を表示する際には、前記候補箇所の中から前記第1のプログラム箇所に含まれるマーカと同一のマーカが設定された関連情報を抽出して前記表示制御部に送り、
     前記表示制御部は、前記第2の画面に前記関連情報を表示させることを特徴とする請求項1に記載のプログラム作成装置。
  6.  前記設定部は、
     前記候補箇所に前記マーカが設定された前記プログラムを記憶する記憶部と、
     前記候補箇所を前記記憶部から検索する検索部と、
     前記表示制御部を管理するとともに、前記検索の結果に基づいて前記記憶部内の前記候補箇所の中から前記マーカが設定された関連情報を抽出して前記表示制御部に送る管理部と、
     を有し、
     前記表示制御部は、
     前記管理部から送られてきた前記関連情報を前記第2の画面に表示させることを特徴とする請求項5に記載のプログラム作成装置。
  7.  前記関連情報の関連要件は、前記プログラムに含まれる変数または関数であり、
     前記表示制御部は、前記第2の画面に前記変数または前記関数を表示させることを特徴とする請求項1から6のいずれか1つに記載のプログラム作成装置。
  8.  前記表示制御部は、第1の画面に表示するプログラム箇所と、第2の画面に表示する関連情報とを、同一のプログラムに基づいて前記表示装置に表示させることを特徴とする請求項1から7のいずれか1つに記載のプログラム作成装置。
  9.  第1の画面を表示する際に第2の画面に表示させる関連情報の関連要件を設定する設定ステップと、
     プログラムに含まれている第1のプログラム箇所を前記第1の画面に表示する第1の表示ステップと、
     前記第1のプログラム箇所に関連する関連情報を前記第2の画面に表示する第2の表示ステップと、
     を含む、
     ことを特徴とするプログラム作成方法。
PCT/JP2017/014392 2017-04-06 2017-04-06 プログラム作成装置およびプログラム作成方法 WO2018185915A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2017/014392 WO2018185915A1 (ja) 2017-04-06 2017-04-06 プログラム作成装置およびプログラム作成方法
JP2018504806A JPWO2018185915A1 (ja) 2017-04-06 2017-04-06 プログラム作成装置およびプログラム作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/014392 WO2018185915A1 (ja) 2017-04-06 2017-04-06 プログラム作成装置およびプログラム作成方法

Publications (1)

Publication Number Publication Date
WO2018185915A1 true WO2018185915A1 (ja) 2018-10-11

Family

ID=63712168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/014392 WO2018185915A1 (ja) 2017-04-06 2017-04-06 プログラム作成装置およびプログラム作成方法

Country Status (2)

Country Link
JP (1) JPWO2018185915A1 (ja)
WO (1) WO2018185915A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60186904A (ja) * 1984-03-05 1985-09-24 Hitachi Ltd プログラム入力方式
JPH02236721A (ja) * 1989-03-10 1990-09-19 Fujitsu Ltd プログラミング支援装置
JPH0422995A (ja) * 1990-05-18 1992-01-27 Hitachi Ltd 複数データの連動スクロール表示方式
JPH0670001U (ja) * 1993-02-26 1994-09-30 豊田工機株式会社 プログラマブルコントローラの周辺装置
JP2007086831A (ja) * 2005-09-16 2007-04-05 Omron Corp 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP2008077613A (ja) * 2006-09-25 2008-04-03 Fujitsu Ltd ソースコード表示プログラム,ソースコード表示装置及びソースコード表示方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01193936A (ja) * 1988-01-29 1989-08-03 Hitachi Ltd プログラム開発支援方式
JPH033040A (ja) * 1989-05-31 1991-01-09 Mitsubishi Electric Corp 誤り表示方式
JPH04324528A (ja) * 1991-04-25 1992-11-13 Matsushita Electric Ind Co Ltd プログラム編集装置およびコンパイル装置
JPH04370806A (ja) * 1991-06-20 1992-12-24 Hitachi Ltd プログラマブルコントローラ
JPH05257668A (ja) * 1992-03-16 1993-10-08 Fujitsu Ltd 文字列情報表示エディタ
JPH0695712A (ja) * 1992-09-10 1994-04-08 Fanuc Ltd シーケンス・プログラムの編集方式
JP3910196B2 (ja) * 2004-10-21 2007-04-25 ファナック株式会社 シーケンスプログラムの編集装置
JP5228537B2 (ja) * 2008-02-29 2013-07-03 日本電気株式会社 テキスト表示装置、開発システム、テキスト表示方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60186904A (ja) * 1984-03-05 1985-09-24 Hitachi Ltd プログラム入力方式
JPH02236721A (ja) * 1989-03-10 1990-09-19 Fujitsu Ltd プログラミング支援装置
JPH0422995A (ja) * 1990-05-18 1992-01-27 Hitachi Ltd 複数データの連動スクロール表示方式
JPH0670001U (ja) * 1993-02-26 1994-09-30 豊田工機株式会社 プログラマブルコントローラの周辺装置
JP2007086831A (ja) * 2005-09-16 2007-04-05 Omron Corp 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP2008077613A (ja) * 2006-09-25 2008-04-03 Fujitsu Ltd ソースコード表示プログラム,ソースコード表示装置及びソースコード表示方法

Also Published As

Publication number Publication date
JPWO2018185915A1 (ja) 2019-04-11

Similar Documents

Publication Publication Date Title
US11270066B2 (en) Temporary formatting and charting of selected data
US20160283062A1 (en) Storage medium, facility inspection support method, and facility inspection support apparatus
JP5619328B1 (ja) シーケンスプログラム作成支援装置
TW201535078A (zh) 程式編寫裝置
JP2008282260A (ja) ラダー図編集装置
JP2004072093A (ja) 半導体試験データ解析システム
JP5185988B2 (ja) 設計支援装置、設計支援方法、および、設計支援プログラム
KR20190007503A (ko) 프로그램 작성 장치
WO2018185915A1 (ja) プログラム作成装置およびプログラム作成方法
US20180365341A1 (en) Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad
US10733340B2 (en) System configuration creation supporting device
JP2000172739A (ja) 設計支援装置
JP4888179B2 (ja) 回路ブロック検出装置、その方法及びプログラム
JPH01205273A (ja) 図面管理方法及び装置
JP2013142971A (ja) プログラム処理装置およびプログラム処理方法
JP6218162B1 (ja) 半導体の加工検査装置関連付けシステムおよびプログラム
JP2699321B2 (ja) ファイル処理装置
WO2024014354A1 (ja) 制御プログラム編集装置、編集方法、およびプログラム
JP2007065923A (ja) 自動調整プログラム及びそのシステム
JP2009064347A (ja) 作業支援情報表示装置および作業支援情報表示方法
JP6194050B1 (ja) データ階層表示装置、データ階層表示プログラムおよびデータ階層表示方法
JP4576872B2 (ja) 情報処理装置およびプログラム
JPH09231254A (ja) 機器設計支援システム
WO2014181422A1 (ja) プログラマブル表示器用画面データ編集装置
JP2598153B2 (ja) 図面管理方法及びその装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018504806

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: 17904389

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: 17904389

Country of ref document: EP

Kind code of ref document: A1