WO2018220921A1 - プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム - Google Patents

プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム Download PDF

Info

Publication number
WO2018220921A1
WO2018220921A1 PCT/JP2018/007411 JP2018007411W WO2018220921A1 WO 2018220921 A1 WO2018220921 A1 WO 2018220921A1 JP 2018007411 W JP2018007411 W JP 2018007411W WO 2018220921 A1 WO2018220921 A1 WO 2018220921A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
variable
user interface
controller
editing
Prior art date
Application number
PCT/JP2018/007411
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 CN201880024915.2A priority Critical patent/CN110546605B/zh
Priority to EP18808920.5A priority patent/EP3640794A4/en
Priority to US16/605,214 priority patent/US11320976B2/en
Publication of WO2018220921A1 publication Critical patent/WO2018220921A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23274Link graphical data for display automatically into program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Definitions

  • the present invention relates to a program development support technique for executing editing of a program for a controller and editing of a user interface screen (UI screen).
  • UI screen user interface screen
  • a display device having a user interface is connected to such a sequence control device.
  • the operator performs setting to the sequence control device by an operation input to the display.
  • the sequence control device operates based on a sequence program that is a controller program, and the display device operates based on a user interface program (UI program).
  • UI program user interface program
  • the sequence program and the UI program are associated with each other by a global variable. Accordingly, by operating the user interface screen of the display device, setting, changing, etc. of the variables of the sequence control device can be realized.
  • sequence programs and UI programs are created using separate editors. Therefore, the programmer has to record the variables set by the sequence program separately and create a UI program based on the recorded variables. For this reason, it is not easy to create these programs by accurately matching the variables of the sequence program and the variables of the UI program.
  • the editor device described in Patent Document 1 drags an element (ladder element) of a ladder program, which is a kind of sequence program, and drops it on a UI editing screen, whereby a UI program corresponding to the ladder element is obtained.
  • the element of is set.
  • Patent Document 1 can only deal with ladder programs. Also, UI program elements cannot be set in accordance with detailed information on sequence program elements such as variable data types. For this reason, there has been a limit to improving the ease of program creation.
  • an object of the present invention is to provide a program development support technology that facilitates creation of a controller program and a UI program whose variables match each other.
  • the program development support apparatus of the present invention includes a controller program editing unit, a UI editing unit, a display unit, an operation input unit, and a copying function unit.
  • the controller program editing unit edits the controller program or sets variables used in the controller program.
  • the UI editing unit edits the user interface program.
  • the display unit displays a controller program editing screen or variable setting screen and a user interface program editing screen.
  • the operation input unit accepts selection of elements of the controller program displayed on the display unit, selection of movement or variable, and operation input of movement.
  • the copying function unit reflects the element of the user interface program corresponding to the element or variable of the controller program moved into the editing screen of the user interface program on the editing screen of the user interface program.
  • the copy function unit determines the type of element of the user interface program in accordance with the type of controller program being edited.
  • the user interface program elements are automatically set according to the type and elements of the controller program, or variables.
  • elements of the user interface program are automatically set according to the elements of the ladder program.
  • the elements of the user interface program are automatically set according to the elements of the ST program.
  • variable setting the elements of the user interface program are automatically set according to the elements of the variable setting program.
  • the copy function unit when there is no user interface program element at the controller program element or variable destination, displays the user interface program element on the user interface program editing screen. Is newly displayed.
  • elements of the user interface program are automatically added according to the type and elements or variables of the controller program.
  • the copying function unit updates the variable mapping of the element.
  • FIG. 1 is a schematic configuration diagram of an information processing apparatus including a program development support apparatus according to an embodiment of the present invention. It is a flowchart which shows the process of the program development assistance technique of this invention.
  • (A) is a screen figure which shows the drag
  • (B) is a screen figure which shows the drop state of the contact of a ladder program.
  • (A) is a screen figure which shows the drag state of the coil of a ladder program
  • (B) is a screen figure which shows the drop state of the coil of a ladder program.
  • A) is a screen figure which shows the drag
  • (B) is a screen figure which shows the drop state of the contact of a ladder program.
  • (A) is a screen figure which shows the drag state of the 1st element of ST program
  • (B) is a screen figure which shows the drop state of the 1st element of ST program.
  • (A) is a screen figure which shows the drag state of the 2nd element of ST program
  • (B) is a screen figure which shows the drop state of the 2nd element of ST program.
  • (A) is a screen figure which shows the drag state of the variable of a variable setting program
  • (B) is a screen figure which shows the drop state of the variable of a variable setting edit area. It is a table
  • (A) is a screen diagram showing a drag state of a button of the UI program
  • (B) is a screen diagram showing a drop state of the button of the UI program.
  • FIG. 1 is a schematic configuration diagram of an information processing apparatus including a program development support apparatus according to an embodiment of the present invention.
  • the information processing apparatus 10 includes a program development support unit 11, an operation input unit 12, a communication control unit 13, and a display unit 14.
  • the information processing apparatus 10 is realized by a personal computer or the like.
  • the operation input unit 12 is, for example, a mouse or a keyboard.
  • the communication control unit 13 performs communication control with the sequence control device.
  • the display unit 14 is, for example, a liquid crystal display or the like, and displays at least one of a sequence program editing area 141 and a UI (user interface) program editing area 142 by processing described later.
  • the sequence program editing area 141 and the UI program editing area 142 form a so-called window on the display screen, and the position and size of these areas on the display screen can be set by the operation input unit 12 to be changeable.
  • the sequence program editing area 141 corresponds to the “controller program editing screen” of the present invention
  • the UI program editing area 142 corresponds to the “user interface program editing screen” of the present invention.
  • the program development support unit 11 includes a calculation unit 111 and a storage unit 112.
  • the storage unit 112 stores a program development support program 210.
  • the program development support program 210 includes a sequence program editing program 211, a UI editing program 212, and a copy function program 213.
  • the calculation unit 111 reads the sequence program editing program 211 from the storage unit 112 and executes it.
  • the “controller editing unit” of the present application is realized.
  • the editing of the sequence program is a program for setting the operation of the sequence control device, that is, a sequence program that is a program for the controller, and editing of variables used in this program.
  • Variables include global variables and local variables.
  • the sequence program includes a ladder program and an ST program, and preferably includes these two types of programs.
  • the calculation unit 111 displays the edited contents of the sequence program in the sequence program editing area 141 of the display unit 14.
  • the calculation unit 111 reads the UI editing program 212 from the storage unit 112 and executes it.
  • the “UI editing unit” of the present application is realized.
  • UI editing refers to the arrangement of operation objects and display objects on a display device that can communicate with the sequence control device (for example, a display device provided in the sequence control device), and setting variables (global variables and local variables) for each object. Etc.
  • the calculation unit 111 displays the edited contents of the UI in the UI program editing area 142 of the display unit 14.
  • the calculation unit 111 reads the copy function program 213 from the storage unit 112 and executes it.
  • the copy function refers to an object (UI program element) corresponding to a sequence program element by placing the sequence program element in the UI program editing area 142 by so-called drag and drop using the operation input unit 12. Adding and updating variables.
  • the copying function also includes updating the UI program editing area 142 by this processing. At this time, the copying function program 213 automatically sets the elements of the UI program using the elements of the sequence program according to the type of the sequence program.
  • FIG. 2 is a flowchart showing the processing of the program development support technology of the present invention.
  • the program development support unit 11 detects the drag position based on the input from the operation input unit 12 (S11). Specifically, the program development support unit 11 is activated (currently selected) among the sequence program editing area 141 and the UI program editing area 142 displayed on the display unit 14 by the operation input unit 12. ) Detect the area.
  • the program development support unit 11 detects the element of the selected sequence program in the area.
  • the program development support unit 11 detects the element of the selected UI program in the area. The processing when the UI program element is detected is not shown in FIG. 2, but is shown in FIG. 10, and will not be described here.
  • the program development support unit 11 executes the following processing.
  • the program development support unit 11 detects the type of sequence program. That is, the program development support unit 11 detects whether the sequence program edited in the active area is a ladder program, an ST program, or a variable setting program (S12).
  • the program development support unit 11 detects an element of the ladder program and a variable of this element (S13).
  • the ladder program element selected here may be a contact or a coil, and the variable name displayed together with the contact or coil may be included in the selected ladder program element.
  • the program development support unit 11 detects an element of the ST program, the position of the element, and a variable of the element (S14). If it is a variable setting program, the program development support unit 11 detects the selected variable (S15). The program development support unit 11 also detects the data type of the variable when detecting the variable.
  • the program development support unit 11 stores a UI program element (UI program element) corresponding to each element of the sequence program and a display format corresponding to the data type of the variable in the storage unit 112.
  • UI program element UI program element
  • the program development support unit 11 extracts the UI program element corresponding to the selected element and the display format corresponding to the variable data type (S16).
  • the program development support unit 11 detects the drop position based on the input from the operation input unit 12 (S17). Specifically, the program development support unit 11 detects the position of the UI program editing area 142 specified by the operation input unit 12.
  • the program development support unit 11 If the UI program element is not arranged (S18: NO), the program development support unit 11 generates a variable for the UI program (S19). The program development support unit 11 places the extracted UI program element at the drop position (S20). The program development support unit 11 sets the display format of the elements of the arranged UI program (S21). The program development support unit 11 updates the variable mapping of the UI program according to the added UI program element (S22).
  • the program development support unit 11 executes the arrangement of the UI elements and updates the variable mapping.
  • the program development support unit 11 does not execute UI element placement by drop processing.
  • the program development support unit 11 performs variable mapping of the UI program so as to change the variable of the UI program element already arranged at the drop position. Update (S22).
  • the program development support unit 11 updates the variable mapping if the variable is a global variable, that is, if the variable is common to the sequence program and the UI program. On the other hand, the program development support unit 11 does not update the variable mapping if the variable is not a global variable, that is, a variable unique to the sequence program.
  • the UI program element corresponding to the element of the sequence program can be automatically set at a designated position on the UI screen regardless of the type of the sequence program. At this time, if there is no UI program element at the designated position, the UI program element can be automatically added and the variable mapping can be automatically updated. On the other hand, if there is a UI program element at the designated position, the variable mapping can be automatically updated to change the variable of the UI program element.
  • the programmer can create and edit these programs while matching the variables of the sequence program and the UI program without performing complicated processing.
  • FIG. 3A is a screen diagram showing a drag state of a ladder program contact
  • FIG. 3B is a drop of a ladder program contact. It is a screen figure which shows a state.
  • FIG. 4A is a screen diagram showing a drag state of the coil of the ladder program
  • FIG. 4B is a screen diagram showing a drop state of the coil of the ladder program.
  • the display screen 140 of the display unit 14 is displayed. At least a ladder program editing area (window) 1410 and a UI program editing area (window) 142 are displayed.
  • the display screen 140 also displays a multi-view explorer 412, an editing tool box 413, and the like.
  • a ladder diagram is displayed, and in the UI program editing area 142, a UI screen is displayed.
  • the pointer moves in the display screen 140 in accordance with the movement of the mouse.
  • the display mode of the display area of the ladder program element changes as shown in FIGS. 3A and 4A. In this state, when the programmer performs a drag operation, an element of the ladder program is selected.
  • the UI program editing area 142 is displayed in the UI program editing area 142 as shown in FIGS. 3 (B) and 4 (B).
  • the elements of the UI program corresponding to the elements of the ladder program are displayed.
  • the program development support unit 11 stores in advance the relationship between the elements of the ladder program and the elements of the UI program. If the ladder program element is a contact, the program development support unit 11 stores the corresponding UI program element as a button, and if the ladder program element is a coil, it corresponds to this.
  • the UI program element stores a bit ramp.
  • the UI program editing is performed as shown in FIG.
  • a button is arranged and displayed at a designated position in the area 142.
  • the button may be displayed with a unique index attached.
  • the unique index is a variable name of a contact corresponding to the button.
  • the corresponding contact variable is set to this button.
  • the button and its variable are added to the variable mapping of the UI program.
  • the UI program editing is performed as shown in FIG.
  • a bit lamp is arranged and displayed at a designated position in the area 142.
  • the bit lamp may be displayed with a unique index attached.
  • the unique index is a variable name or the like of a coil corresponding to the bit lamp.
  • variable of the corresponding coil is set in this bit lamp.
  • bit lamp and its variable are added to the variable mapping of the UI program.
  • FIG. 5A is a screen diagram showing a drag state of a ladder program contact
  • FIG. 5B is a ladder program contact. It is a screen figure which shows the drop state of. 5A is the same as FIG. 3A, and FIG. 5B is different from FIG. 3B only in that the UI program element already exists at the drop position. . Therefore, in the process described with reference to FIGS. 5A and 5B, the description of the part of the process described with reference to FIGS. 3A and 3B is omitted.
  • buttons are already arranged and displayed at the drop position.
  • the program development support unit 11 displays the button as it is, and executes an update that changes only the variable of the button. Along with this, the unique index attached to the button is also changed.
  • the variable mapping of the UI program indicating the change of the variable of the bit lamp is updated.
  • FIG. 6A is a screen diagram showing a drag state of the first element of an ST program
  • FIG. It is a screen figure which shows the drop state of 1 element
  • FIG. 7A is a screen diagram showing a drag state of the second element of the ST program
  • FIG. 7B is a screen diagram showing a drop state of the second element of the ST program.
  • the display screen 140 of the display unit 14 is displayed. At least an ST program editing area (window) 144 and a UI program editing area (window) 142 are displayed.
  • the ST program editing area 144 displays the ST program formula
  • the UI program editing area 142 displays the UI screen.
  • the pointer moves in the display screen 140 in accordance with the movement of the mouse.
  • the display mode of the display area of the ST program element changes as shown in FIGS. 6A and 7A. In this state, when the programmer performs a drag operation, an element of the ST program is selected.
  • the UI program editing area 142 is displayed in the UI program editing area 142 as shown in FIGS. 6B and 7B.
  • the UI program elements corresponding to the ST program elements are displayed.
  • buttons are arranged and displayed at designated positions in the UI program editing area 142.
  • the button may be displayed with a unique index attached.
  • the unique index is a variable name or the like of an element of the ST program corresponding to the button.
  • variable of the element of the corresponding ST program is set to this button.
  • the button and its variable are added to the variable mapping of the UI program.
  • a bit lamp is arranged and displayed at a designated position in the UI program editing area 142.
  • the bit lamp may be displayed with a unique index attached.
  • the unique index is a variable name or the like of an element of the ST program corresponding to the bit lamp.
  • variable of the element of the corresponding ST program is set in this bit lamp.
  • bit lamp and its variable are added to the variable mapping of the UI program.
  • FIG. 8A is a screen diagram showing a drag state of a variable in the variable setting editing area
  • FIG. 8B is a variable setting. It is a screen figure which shows the drop state of the variable of an edit area.
  • the display screen 140 of the display unit 14 has a variable setting edit area (window) 145,
  • the UI program editing area (window) 142 is displayed at least.
  • This variable setting edit area 145 corresponds to the “variable setting screen” of the present invention.
  • the display screen 140 also displays a multi-view explorer 412, an editing tool box 413, and the like. Furthermore, a ladder program editing area and an ST program editing area can be displayed as necessary.
  • variable setting edit area 145 a list of variables is displayed. Each variable has a variable type.
  • UI program editing area 142 a UI screen is displayed.
  • the pointer moves in the display screen 140 in accordance with the movement of the mouse.
  • the display area of the variable setting program element the variable to be selected among the variables displayed in a list
  • the pointer overlap as shown in FIG. 8 (A)
  • the variable display area of the variable setting program is displayed.
  • the display mode changes. In this state, when the programmer performs a drag operation, the variable is selected.
  • the UI program editing area 142 has a UI corresponding to the variable as shown in FIG.
  • the program elements are displayed. At this time, elements of the UI program are set using variable types.
  • FIG. 9 is a table showing the relationship between variables and UI program elements.
  • the variable type is a BOOT type
  • the element of the UI program is a bit ramp.
  • the variable type is an integer type or a real type
  • the element of the UI program is a right-justified data display.
  • the variable type is the STRING type
  • the element of the UI program is a left-justified data display.
  • the variable type is a structure type
  • the elements of the UI program are display frames having a shape and a mode corresponding to the members of the structure.
  • FIG. 8A when an INT (integer) type variable is dragged in the variable setting edit area 145 and dropped in the UI program edit area 142, the result is shown in FIG. 8B.
  • a data display (right-justified type) is arranged and displayed at a designated position in the UI program editing area 142. At this time, the variable is added to the variable mapping of the UI program.
  • the program development support unit 11 sets the elements of the UI program from the elements of the sequence program, but can perform the reverse process. That is, the program development support unit 11 can set the elements of the sequence program from the elements of the UI program.
  • FIG. 10 is a flowchart showing the processing of the program development support technology of the present invention.
  • FIG. 10 shows a mode in which the sequence program is a ladder program, the same processing can be performed for the ST program and the variable setting program.
  • the program development support unit 11 detects the drag position based on the input from the operation input unit 12 (S11). This process is the same as the process of S11 in FIG.
  • the program development support unit 11 extracts the element type and variable of the dragged UI program (S32).
  • the program development support unit 11 detects the drop position based on the input from the operation input unit 12 (S33). Specifically, the program development support unit 11 detects the position in the ladder program editing area 1410 designated by the operation input unit 12.
  • the program development support unit 11 generates a variable for the ladder program according to the extracted UI program element (S34).
  • the program development support unit 11 places a ladder program element (ladder element) corresponding to the extracted UI program element at the drop position (S35).
  • the program development support unit 11 sets a variable for the element of the ladder program that has been arranged (S36). At this time, the program development support unit 11 updates the variable mapping of the ladder program according to the added element of the ladder program.
  • FIG. 11A is a screen diagram showing a drag state of a button of the UI program
  • FIG. 11B is a screen diagram showing a drop state of the button of the UI program.
  • the pointer moves in the display screen 140 in accordance with the movement of the mouse.
  • the display mode of the display area of the UI program element changes. In this state, when the programmer performs a drag operation, an element of the UI program is selected.
  • the ladder program editing area 1410 contains the elements of the UI program as shown in FIG. The corresponding ladder program elements are displayed.
  • the ladder program editing is performed as shown in FIG. 11B.
  • a contact is arranged and displayed at a designated position in the area 1410.
  • the contact point may be displayed with a unique index attached.
  • the unique index is a variable name of a contact corresponding to the button. The newly added contact is automatically connected to the elements of the ladder program on both sides adjacent to each other.
  • variable of the corresponding button is set for this contact. Further, the contact point and the variable are added to the variable mapping of the ladder program.
  • the overwrite update process can be applied as in the first embodiment.
  • the controller name to which the sequence program is applied is also used as information at the time of drag and drop.
  • a state where a plurality of controllers are edited in parallel for example, as shown in each of the above drawings
  • CRL1 and CRL2 are edited in parallel
  • the variable mapping is updated to include the active controller name (controller 1 (CTRL1) in each figure).
  • variable is an array
  • the elements of the UI program are changed according to the number of elements of the sequence program based on the above-described process.
  • An array can be displayed. Therefore, the sequence program and the UI program can be easily created by aligning them with the arranged variables.
  • the drag and drop from the sequence program or the variable setting to the UI program is shown.
  • the drag and drop from the UI program to the sequence program can be performed using the same principle. It is.
  • the mode in which the sequence program editing area 141, the UI program editing area 142, and the variable setting editing area 145 are simultaneously displayed on the display screen 140 has been shown.
  • the sequence program editing area 141, the UI program editing area 142, and the variable setting editing area 145 are each set as a full screen display on the display screen 140, and are switched and displayed by a tab operation or the like for each area.
  • the above-described processing can be applied.
  • the current (edit target) editing area may be switched by hovering the mouse over the tab, and dragging and dropping with the mouse may be executed.
  • the display mode of the sequence program editing area 141, the UI program editing area 142, and the variable setting editing area 145 is not limited to this, and can be set as appropriate using various methods for displaying a plurality of areas on the display screen. it can.

Landscapes

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

Abstract

互いに変数が整合するコントローラ用プログラムと(UI)プログラムとの作成を容易にする。プログラム開発支援部(11)は、シーケンスプログラム編集部、UI編集部、および、複写機能部を実現する演算部(111)とプログラム開発支援プログラム(112)と、表示部(14)と、操作入力部(12)と、を備える。複写機能部は、操作入力部(12)によってシーケンスプログラムの要素を選択してユーザインターフェースプログラムの編集画面内に移動させたことを検出して、シーケンスプログラムの要素に応じたユーザインターフェースプログラムの要素を、ユーザインターフェースプログラムの編集画面に反映させる。複写機能部は、編集中のシーケンスプログラムの種類を検出し、シーケンスプログラムの種類に応じて、ユーザインターフェースプログラムの要素の種類を決定する。

Description

プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム
 この発明は、コントローラ用プログラムの編集とユーザインターフェース画面(UI画面)の編集とを実行するプログラム開発支援技術に関する。
 現在、シーケンス制御装置が多く実用化されている。このようなシーケンス制御装置には、ユーザインターフェースを備える表示器が接続されている。オペレータは、当該表示器への操作入力によって、シーケンス制御装置への設定を行う。
 シーケンス制御装置は、コントローラ用プログラムであるシーケンスプログラムに基づいて動作し、表示器は、ユーザインターフェースプログラム(UIプログラム)に基づいて動作する。シーケンスプログラムとUIプログラムとは、グローバル変数によって関連付けられている。したがって、表示器のユーザインターフェース画面を操作することによって、シーケンス制御装置の変数の設定、変更等が実現できる。
 従来、シーケンスプログラムとUIプログラムとは、個別のエディタを用いて作成される。したがって、プログラマは、シーケンスプログラムで設定した変数を別途記録しておき、この記録した変数に基づいてUIプログラムを作成しなければならなかった。このため、シーケンスプログラムの変数とUIプログラムの変数とを正確に整合させて、これらのプログラムを作成することは容易ではなかった。
 これに対し、特許文献1に記載のエディタ装置は、シーケンスプログラムの一種であるラダープログラムの要素(ラダー要素)をドラッグして、UIの編集画面にドロップすることで、ラダー要素に応じたUIプログラムの要素を設定している。
特開2002-140107号公報
 しかしながら、特許文献1に記載のエディタ装置では、ラダープログラムにしか対応できない。また、変数のデータ型等、シーケンスプログラムの要素に対する詳細な情報に応じて、UIプログラムの要素等を設定できない。このため、プログラムの作成の容易性の向上には限界があった。
 したがって、本発明の目的は、互いに変数が整合するコントローラ用プログラムとUIプログラムとの作成を容易にするプログラム開発支援技術を提供することにある。
 この発明のプログラム開発支援装置は、コントローラ用プログラム編集部、UI編集部、表示部、操作入力部、および、複写機能部を備える。コントローラ用プログラム編集部は、コントローラ用プログラムの編集またはコントローラ用プログラムで用いられる変数の設定を行う。UI編集部は、ユーザインターフェースプログラムの編集を行う。表示部は、コントローラ用プログラムの編集画面または変数の設定画面と、ユーザインターフェースプログラムの編集画面と、を表示する。操作入力部は、表示部に表示されたコントローラ用プログラムの要素の選択、移動または記変数の選択、移動の操作入力を受け付ける。複写機能部は、ユーザインターフェースプログラムの編集画面内に移動させたコントローラ用プログラムの要素または変数に応じたユーザインターフェースプログラムの要素を、ユーザインターフェースプログラムの編集画面に反映させる。複写機能部は、編集中のコントローラ用プログラムの種類に応じて、ユーザインターフェースプログラムの要素の種類を決定する。
 この構成では、コントローラ用プログラムの種類と要素、または変数に応じて、ユーザインターフェースプログラムの要素が自動的に設定される。例えば、ラダープログラムであれば、ラダープログラムの要素に応じて、ユーザインターフェースプログラムの要素が自動的に設定される。STプログラムであれば、STプログラムの要素に応じて、ユーザインターフェースプログラムの要素が自動的に設定される。変数設定であれば、変数設定プログラムの要素に応じて、ユーザインターフェースプログラムの要素が自動的に設定される。
 また、このプログラム開発支援装置では、複写機能部は、コントローラ用プログラムの要素または変数の移動先に、ユーザインターフェースプログラムの要素がないと、ユーザインターフェースプログラムの編集画面に対して、ユーザインターフェースプログラムの要素を新たに表示させる。
 この構成では、コントローラ用プログラムの種類と要素または変数に応じて、ユーザインターフェースプログラムの要素が自動的で追加される。
 また、このプログラム開発支援装置では、複写機能部は、コントローラ用プログラムの要素または変数の移動先に、ユーザインターフェースプログラムの要素があると、当該要素の変数マッピングを更新する。
 この構成では、ユーザインターフェースプログラムの要素の変数が自動的で更新される。
 この発明によれば、互いに変数が整合するコントローラ用プログラムとUIプログラムとを、容易に作成できる。
本発明の実施形態に係るプログラム開発支援装置を含む情報処理装置の概略構成図である。 本発明のプログラム開発支援技術の処理を示すフローチャートである。 (A)は、ラダープログラムの接点のドラッグ状態を示す画面図であり、(B)は、ラダープログラムの接点のドロップ状態を示す画面図である。 (A)は、ラダープログラムのコイルのドラッグ状態を示す画面図であり、(B)は、ラダープログラムのコイルのドロップ状態を示す画面図である。 (A)は、ラダープログラムの接点のドラッグ状態を示す画面図であり、(B)は、ラダープログラムの接点のドロップ状態を示す画面図である。 (A)は、STプログラムの第1要素のドラッグ状態を示す画面図であり、(B)は、STプログラムの第1要素のドロップ状態を示す画面図である。 (A)は、STプログラムの第2要素のドラッグ状態を示す画面図であり、(B)は、STプログラムの第2要素のドロップ状態を示す画面図である。 (A)は、変数設定プログラムの変数のドラッグ状態を示す画面図であり、(B)は、変数設定編集領域の変数のドロップ状態を示す画面図である。 変数とUIプログラムの要素との関係を示す表である。 本発明のプログラム開発支援技術の処理を示すフローチャートである。 (A)は、UIプログラムのボタンのドラッグ状態を示す画面図であり、(B)は、UIプログラムのボタンのドロップ状態を示す画面図である。
 本発明の実施形態に係るプログラム開発支援技術について、図を参照して説明する。図1は、本発明の実施形態に係るプログラム開発支援装置を含む情報処理装置の概略構成図である。
 図1に示すように、情報処理装置10は、プログラム開発支援部11、操作入力部12、通信制御部13、および、表示部14を備える。情報処理装置10は、パーソナルコンピュータ等によって実現される。操作入力部12は、例えば、マウスやキーボードである。通信制御部13は、シーケンス制御装置との通信制御を行う。表示部14は、例えば、液晶ディプレイ等であり、後述の処理によって、シーケンスプログラム編集領域141、および、UI(ユーザインターフェース)プログラム編集領域142の少なくとも一方を表示する。シーケンスプログラム編集領域141、および、UIプログラム編集領域142は、表示画面における所謂ウィンドウを形成しており、これらの領域の表示画面における位置および大きさは、操作入力部12によって、変更可能に設定できる。シーケンスプログラム編集領域141が、本発明の「コントローラ用プログラムの編集画面」に対応し、UIプログラム編集領域142が、本発明の「ユーザインターフェースプログラムの編集画面」に対応する。
 プログラム開発支援部11は、演算部111、記憶部112を備える。記憶部112には、プログラム開発支援プログラム210が記憶されている。プログラム開発支援プログラム210は、シーケンスプログラム編集プログラム211、UI編集プログラム212、および、複写機能プログラム213を有する。
 演算部111は、シーケンスプログラム編集プログラム211を記憶部112から読み出して実行する。これによって、本願の「コントローラ編集部」が実現される。シーケンスプログラムの編集とは、シーケンス制御装置の動作を設定するプログラム、すなわち、コントローラ用プログラムであるシーケンスプログラム、および、このプログラムに利用される変数の編集である。変数には、グローバル変数とローカル変数とを含んでいる。
 本願では、シーケンスプログラムとしては、ラダープログラム、および、STプログラムを含むものであり、これら2種類のプログラムを含んでいることが好適である。
 演算部111は、このシーケンスプログラムの編集内容を、表示部14のシーケンスプログラム編集領域141に表示する。
 演算部111は、UI編集プログラム212を記憶部112から読み出して実行する。これによって、本願の「UI編集部」が実現される。UIの編集とは、シーケンス制御装置に通信可能な表示装置(例えば、シーケンス制御装置に備え付けた表示装置)における、操作オブジェクトや表示オブジェクトの配置、それぞれオブジェクトに対する変数(グローバル変数とローカル変数)の設定等である。
 演算部111は、このUIの編集内容を、表示部14のUIプログラム編集領域142に表示する。
 演算部111は、複写機能プログラム213を記憶部112から読み出して実行する。これによって、本願の「複写機能部」が実現される。複写機能とは、シーケンスプログラムの要素を、操作入力部12を用いた所謂ドラッグ&ドロップによって、UIプログラム編集領域142に配置することによって、シーケンスプログラムの要素に応じたオブジェクト(UIプログラムの要素)の追加、変数の更新を行うことである。また、複写機能とは、この処理によって、UIプログラム編集領域142を更新することも含む。この際、複写機能プログラム213は、シーケンスプログラムの種類に応じて、シーケンスプログラムの要素を用いたUIプログラムの要素の自動設定を行う。
 具体的には、プログラム開発支援部11は、図2に示すような処理を実行する。図2は、本発明のプログラム開発支援技術の処理を示すフローチャートである。
 プログラム開発支援部11は、操作入力部12の入力に基づいて、ドラッグ位置を検出する(S11)。具体的には、プログラム開発支援部11は、操作入力部12によって、表示部14に表示されているシーケンスプログラム編集領域141、および、UIプログラム編集領域142の内、アクティブな(現在選択されている)領域を検出する。
 プログラム開発支援部11は、アクティブな領域がシーケンスプログラム編集領域141であれば、当該領域における選択されているシーケンスプログラムの要素を検出する。一方、プログラム開発支援部11は、アクティブな領域がUIプログラム編集領域142であれば、当該領域における選択されているUIプログラムの要素を検出する。なお、UIプログラムの要素を検出した場合の処理は、図2には示しておらず、図10に示しており、ここでの説明は省略して、後述する。
 アクティブな領域がシーケンスプログラム編集領域141の場合、プログラム開発支援部11は、次の処理を実行する。
 プログラム開発支援部11は、シーケンスプログラムの種類を検出する。すなわち、プログラム開発支援部11は、アクティブな領域で編集されているシーケンスプログラムが、ラダープログラム、STプログラム、および、変数設定プログラムのいずれであるかを検出する(S12)。
 プログラム開発支援部11は、ラダープログラムであれば、ラダープログラムの要素、および、この要素の変数を検出する(S13)。なお、ここで選択されるラダープログラムの要素は、接点やコイルであってもよく、接点やコイルとともに表示される変数名も、選択されるラダープログラムの要素に含んでもよい。プログラム開発支援部11は、STプログラムであれば、STプログラムの要素、この要素の位置、および、この要素の変数を検出する(S14)。プログラム開発支援部11は、変数設定プログラムであれば、選択されている変数を検出する(S15)。なお、プログラム開発支援部11は、変数の検出にあたり、変数のデータ型も検出する。
 プログラム開発支援部11は、シーケンスプログラムの要素毎に対応するUIプログラムの要素(UIプログラムの要素)と、変数のデータ型に応じた表示形式とを、記憶部112に記憶している。
 プログラム開発支援部11は、選択された要素に対応するUIプログラムの要素と、変数のデータ型に応じた表示形式を抽出する(S16)。
 プログラム開発支援部11は、操作入力部12の入力に基づいて、ドロップ位置を検出する(S17)。具体的には、プログラム開発支援部11は、操作入力部12によって指定されたUIプログラム編集領域142の位置を検出する。
 プログラム開発支援部11は、UIプログラムの要素が配置されていなかったら(S18:NO)、UIプログラム用の変数を生成する(S19)。プログラム開発支援部11は、抽出したUIプログラムの要素を、ドロップ位置に配置する(S20)。プログラム開発支援部11は、配置したUIプログラムの要素の表示形式を設定する(S21)。プログラム開発支援部11は、追加したUIプログラムの要素に応じて、UIプログラムの変数マッピングを更新する(S22)。
 この際、プログラム開発支援部11は、変数がグローバル変数であれば、すなわち、シーケンスプログラムとUIプログラムとで共通の変数であれば、UI要素の配置を実行し、変数マッピングを更新する。一方、プログラム開発支援部11は、変数がグローバル変数でなければ、すなわち、シーケンスプログラムに固有の変数であれば、ドロップ処理によるUI要素の配置を実行しない。
 一方、プログラム開発支援部11は、UIプログラムの要素が配置されていたら(S18:YES)、ドロップ位置に既に配置されているUIプログラムの要素の変数を変更するように、UIプログラムの変数マッピングを更新する(S22)。
 この際、プログラム開発支援部11は、変数がグローバル変数であれば、すなわち、シーケンスプログラムとUIプログラムとで共通の変数であれば、変数マッピングを更新する。一方、プログラム開発支援部11は、変数がグローバル変数でなければ、すなわち、シーケンスプログラムに固有の変数であれば、変数マッピングを更新しない。
 このような処理を行うことによって、シーケンスプログラムがいずれの種類であっても、シーケンスプログラムの要素に応じたUIプログラムの要素を、UI画面の指定された位置に自動で設定できる。この際、指定された位置にUIプログラムの要素が無ければ、UIプログラムの要素を自動で追加するとともに、変数マッピングを自動で更新できる。一方、指定された位置にUIプログラムの要素が有れば、このUIプログラムの要素の変数を変更するように、変数マッピングを自動で更新できる。これにより、プログラマは、煩雑な処理を行うことなく、シーケンスプログラムとUIプログラムとの互いの変数を整合させながら、これらのプログラムを作成、編集することができる。
 以下、各シーケンスプログラムからUIプログラムへのドラッグ&ドロップを行った場合についてのより詳細な具体例を示す。
 (実施例1)ラダープログラムからUIプログラムの要素を追加する場合
 図3(A)は、ラダープログラムの接点のドラッグ状態を示す画面図であり、図3(B)は、ラダープログラムの接点のドロップ状態を示す画面図である。図4(A)は、ラダープログラムのコイルのドラッグ状態を示す画面図であり、図4(B)は、ラダープログラムのコイルのドロップ状態を示す画面図である。
 図3(A)、図3(B)、図4(A)、図4(B)に示すように、ラダープログラムの編集とUIプログラムの編集を行う場合には、表示部14の表示画面140には、ラダープログラム編集領域(ウィンドウ)1410、UIプログラム編集領域(ウィンドウ)142が少なくとも表示される。また、表示画面140には、マルチビューエクスプローラ412、編集用のツールボックス413等も表示される。
 ラダープログラム編集領域1410には、ラダー図が表示されており、UIプログラム編集領域142には、UI画面が表示されている。
 プログラマがマウス等の操作入力部12を操作すると、当該マウスの動きに合わせて、表示画面140内をポインタが移動する。そして、ラダープログラムの要素の表示領域とポインタとが重なると、図3(A)、図4(A)に示すように、当該ラダープログラムの要素の表示領域の表示態様が変化する。この状態で、プログラマがドラッグ操作を行うと、当該ラダープログラムの要素が選択される。
 次に、プログラマが、このドラッグ操作状態を維持して、マウスをUIプログラム編集領域142に移動させると、UIプログラム編集領域142には、図3(B)、図4(B)に示すように、ラダープログラムの要素に応じたUIプログラムの要素が表示される。
 具体的には、プログラム開発支援部11は、ラダープログラムの要素とUIプログラムの要素との関係を予め記憶している。プログラム開発支援部11は、ラダープログラムの要素が接点であれば、これに対応するUIプログラムの要素は、ボタンであると記憶しており、ラダープログラムの要素がコイルであれば、これに対応するUIプログラムの要素は、ビットランプであると記憶している。
 したがって、図3(A)に示すように、ラダープログラム編集領域1410において接点がドラッグ操作されて、UIプログラム編集領域142にドロップ操作されると、図3(B)に示すように、UIプログラム編集領域142の指定位置に、ボタンが配置され、表示される。この際、ボタンには、固有のインデックスを添付して表示するとよい。固有のインデックスとは、当該ボタンに対応する接点の変数名等である。
 この際、このボタンには、対応する接点の変数が設定される。また、UIプログラムの変数マッピングに、当該ボタンおよびその変数が追加される。
 また、図4(A)に示すように、ラダープログラム編集領域1410においてコイルがドラッグ操作されて、UIプログラム編集領域142にドロップ操作されると、図4(B)に示すように、UIプログラム編集領域142の指定位置に、ビットランプが配置され、表示される。この際、ビットランプには、固有のインデックスを添付して表示するとよい。固有のインデックスとは、当該ビットランプに対応するコイルの変数名等である。
 この際、このビットランプには、対応するコイルの変数が設定される。また、UIプログラムの変数マッピングに、当該ビットランプおよびその変数が追加される。
 (実施例2)ラダープログラムからUIプログラムの要素の変数を更新する場合
 図5(A)は、ラダープログラムの接点のドラッグ状態を示す画面図であり、図5(B)は、ラダープログラムの接点のドロップ状態を示す画面図である。なお、図5(A)は、図3(A)と同じであり、図5(B)は、図3(B)に対して、ドロップ位置に既にUIプログラムの要素が存在する点のみにおいて異なる。したがって、図5(A)、図5(B)を用いて説明する処理において、図3(A)、図3(B)を用いて説明する処理を動揺の箇所の説明は省略する。
 図5(A)に示すように、ラダープログラム編集領域1410において接点がドラッグ操作されて、UIプログラム編集領域142にドロップ操作される。ここで、図5(B)に示すように、ドロップ位置には、ボタンが既に配置され、表示される。この場合、プログラム開発支援部11は、ボタンをそのまま表示し、当該ボタンの変数のみを変更する更新を実行する。これとともに、ボタンに添付された固有のインデックスも変更される。当該ビットランプの変数の変更を示すUIプログラムの変数マッピングの更新が行われる。
 (実施例3)STプログラムからUIプログラムの要素を追加する場合
 図6(A)は、STプログラムの第1要素のドラッグ状態を示す画面図であり、図6(B)は、STプログラムの第1要素のドロップ状態を示す画面図である。図7(A)は、STプログラムの第2要素のドラッグ状態を示す画面図であり、図7(B)は、STプログラムの第2要素のドロップ状態を示す画面図である。
 図6(A)、図6(B)、図7(A)、図7(B)に示すように、STプログラムの編集とUIプログラムの編集を行う場合には、表示部14の表示画面140には、STプログラム編集領域(ウィンドウ)144、UIプログラム編集領域(ウィンドウ)142が少なくとも表示される。
 STプログラム編集領域144には、STプログラムの式が表示されており、UIプログラム編集領域142には、UI画面が表示されている。
 プログラマがマウス等の操作入力部12を操作すると、当該マウスの動きに合わせて、表示画面140内をポインタが移動する。そして、STプログラムの要素の表示領域とポインタとが重なると、図6(A)、図7(A)に示すように、当該STプログラムの要素の表示領域の表示態様が変化する。この状態で、プログラマがドラッグ操作を行うと、当該STプログラムの要素が選択される。
 次に、プログラマが、このドラッグ操作状態を維持して、マウスをUIプログラム編集領域142に移動させると、UIプログラム編集領域142には、図6(B)、図7(B)に示すように、STプログラムの要素に応じたUIプログラムの要素が表示される。
 具体的には、プログラム開発支援部11は、STプログラムの要素とUIプログラムの要素との関係を予め記憶している。プログラム開発支援部11は、STプログラムの要素が”=”の右側にあれば、これに対応するUIプログラムの要素は、ボタンであると記憶しており、STプログラムの要素が”=”の左側にあれば、これに対応するUIプログラムの要素は、ビットランプであると記憶している。
 したがって、図6(A)に示すように、STプログラム編集領域144において”=”の右側の要素がドラッグ操作されて、UIプログラム編集領域142にドロップ操作されると、図6(B)に示すように、UIプログラム編集領域142の指定位置に、ボタンが配置され、表示される。この際、ボタンには、固有のインデックスを添付して表示するとよい。固有のインデックスとは、当該ボタンに対応するSTプログラムの要素の変数名等である。
 この際、このボタンには、対応するSTプログラムの要素の変数が設定される。また、UIプログラムの変数マッピングに、当該ボタンおよびその変数が追加される。
 また、図7(A)に示すように、STプログラム編集領域144において”=”の左側の要素がドラッグ操作されて、UIプログラム編集領域142にドロップ操作されると、図7(B)に示すように、UIプログラム編集領域142の指定位置に、ビットランプが配置され、表示される。この際、ビットランプには、固有のインデックスを添付して表示するとよい。固有のインデックスとは、当該ビットランプに対応するSTプログラムの要素の変数名等である。
 この際、このビットランプには、対応するSTプログラムの要素の変数が設定される。また、UIプログラムの変数マッピングに、当該ビットランプおよびその変数が追加される。
 なお、ここでは詳細に説明していないが、ラダープログラムの要素と同様に、STプログラムの要素に対して、UIプログラムの要素がドロップ先に既に配置されていれば、当該UIプログラムの要素の変数の更新を行う。
 (実施例3)変数設定編集領域からUIプログラムの要素を追加する場合
 図8(A)は、変数設定編集領域の変数のドラッグ状態を示す画面図であり、図8(B)は、変数設定編集領域の変数のドロップ状態を示す画面図である。
 図8(A)、図8(B)に示すように、変数設定の編集とUIプログラムの編集を行う場合には、表示部14の表示画面140には、変数設定編集領域(ウィンドウ)145、UIプログラム編集領域(ウィンドウ)142が少なくとも表示される。この変数設定編集領域145が、本発明の「変数の設定画面」に対応する。また、表示画面140には、マルチビューエクスプローラ412、編集用のツールボックス413等も表示される。さらには、必要に応じて、ラダープログラム編集領域、STプログラム編集領域当も表示可能である。
 変数設定編集領域145には、変数の一覧が表示されている。変数には、それぞれに変数型が設定されている。UIプログラム編集領域142には、UI画面が表示されている。
 プログラマがマウス等の操作入力部12を操作すると、当該マウスの動きに合わせて、表示画面140内をポインタが移動する。そして、変数設定プログラムの要素(一覧表示された変数の内、選択する変数)の表示領域とポインタとが重なると、図8(A)に示すように、当該変数設定プログラムの変数の表示領域の表示態様が変化する。この状態で、プログラマがドラッグ操作を行うと、当該変数が選択される。
 次に、プログラマが、このドラッグ操作状態を維持して、マウスをUIプログラム編集領域142に移動させると、UIプログラム編集領域142には、図8(B)に示すように、変数に応じたUIプログラムの要素が表示される。この際、変数型を用いて、UIプログラムの要素が設定される。
 具体的には、プログラム開発支援部11は、変数型とUIプログラムの要素との関係を予め記憶している。図9は、変数とUIプログラムの要素との関係を示す表である。図9に示すように、変数型がBOOL型であれば、UIプログラムの要素は、ビットランプである。変数型が整数型または実数型であれば、UIプログラムの要素は、右寄せ型のデータディスプレイである。変数型がSTRING型であれば、UIプログラムの要素は、左寄せ型のデータディスプレイである。変数型が構造体型であれば、UIプログラムの要素は、構造体のメンバに応じた形状および態様の表示枠となる。
 したがって、図8(A)に示すように、変数設定編集領域145において、INT(整数)型の変数がドラッグ操作されて、UIプログラム編集領域142にドロップ操作されると、図8(B)に示すように、UIプログラム編集領域142の指定位置に、データディスプレイ(右寄せ型)が配置され、表示される。この際、UIプログラムの変数マッピングに、当該変数が追加される。
 なお、上述の説明では、プログラム開発支援部11は、シーケンスプログラムの要素からUIプログラムの要素を設定したが、逆の処理を行うこともできる。すなわち、プログラム開発支援部11は、UIプログラムの要素からシーケンスプログラムの要素を設定できる。
 具体的には、プログラム開発支援部11は、図10に示すような処理を実行する。図10は、本発明のプログラム開発支援技術の処理を示すフローチャートである。なお、図10では、シーケンスプログラムがラダープログラムである態様を示しているが、STプログラム、変数設定プログラムに対しても同様の処理を行うことができる。
 プログラム開発支援部11は、操作入力部12の入力に基づいて、ドラッグ位置を検出する(S11)。この処理は、図2のS11の処理を同じである。
 プログラム開発支援部11は、ドラッグされたUIプログラムの要素の種類と変数を抽出する(S32)。
 プログラム開発支援部11は、操作入力部12の入力に基づいて、ドロップ位置を検出する(S33)。具体的には、プログラム開発支援部11は、操作入力部12によって指定されたラダープログラム編集領域1410内の位置を検出する。
 プログラム開発支援部11は、抽出したUIプログラムの要素に応じたラダープログラム用の変数を生成する(S34)。
 プログラム開発支援部11は、抽出したUIプログラムの要素に応じたラダープログラムの要素(ラダー要素)を、ドロップ位置に配置する(S35)。
 プログラム開発支援部11は、配置したラダープログラムの要素に対して変数を設定する(S36)。この際、プログラム開発支援部11は、追加したラダープログラムの要素に応じて、ラダープログラムの変数マッピングを更新する。
 図11(A)は、UIプログラムのボタンのドラッグ状態を示す画面図であり、図11(B)は、UIプログラムのボタンのドロップ状態を示す画面図である。
 プログラマがマウス等の操作入力部12を操作すると、当該マウスの動きに合わせて、表示画面140内をポインタが移動する。そして、UIプログラムの要素の表示領域とポインタとが重なると、当該UIプログラムの要素の表示領域の表示態様が変化する。この状態で、プログラマがドラッグ操作を行うと、当該UIプログラムの要素が選択される。
 次に、プログラマが、このドラッグ操作状態を維持して、マウスをラダープログラム編集領域1410に移動させると、ラダープログラム編集領域1410には、図11(B)に示すように、UIプログラムの要素に応じたラダープログラムの要素が表示される。
 したがって、図11(A)に示すように、UIプログラム編集領域142においてボタンがドラッグ操作されて、ラダープログラム編集領域1410にドロップ操作されると、図11(B)に示すように、ラダープログラム編集領域1410の指定位置に、接点が配置され、表示される。この際、接点には、固有のインデックスを添付して表示するとよい。固有のインデックスとは、当該ボタンに対応する接点の変数名等である。また、この新たに追加された接点は、近接する両側のラダープログラムの要素に自動的に接続される。
 この際、この接点には、対応するボタンの変数が設定される。また、ラダープログラムの変数マッピングに、当該接点およびその変数が追加される。
 なお、この処理においても、上述の実施例1と同様に上書き更新の処理を適用することもできる。
 なお、上述の説明では特に詳細に説明していないが、シーケンスプログラムが適用されるコントローラ名も、ドラッグ&ドロップ時の情報として利用される。例えば、複数のコントローラが並行して編集されている状態、例えば、上述の各図に示すように、コントローラ1(CTRL1)とコントローラ(CTRL2)とが並行して編集されている状態では、編集がアクティブなコントローラ名(各図におけるコントローラ1(CTRL1))を含むように、変数マッピングを更新する。これによって、複数のコントローラを並行して編集していても、互いに変数が整合するシーケンスプログラムとUIプログラムとを、容易に作成できる。
 また、上述の説明では、変数が配列の場合について記載していないが、変数が配列の場合には、上述の処理を基本として、シーケンスプログラムの要素の配列数に応じて、UIプログラムの要素を配列表示することができる。したがって、配列された変数に対しても、シーケンスプログラムとUIプログラムとを、互いに整合させて容易に作成できる。
 また、上述の説明では、シーケンスプログラムまたは変数設定からUIプログラムへのドラッグ&ドロップを行う態様を示したが、UIプログラムからシーケンスプログラムへのドラッグ&ドロップを行うことも、同様の原理を用いて可能である。
 また、上述の説明では、シーケンスプログラム編集領域141、UIプログラム編集領域142、および、変数設定編集領域145を、表示画面140に同時に表示する態様を示した。しかしながら、例えば、シーケンスプログラム編集領域141、UIプログラム編集領域142、および、変数設定編集領域145をそれぞれ表示画面140に対する全画面表示で設定し、各領域に対するタブ操作等によって切り替えて表示する態様であっても、上述の処理を適用することが可能である。この場合、例えば、タブにマウスを重ねることでカレント(編集対象)の編集領域を切り替えて、マウスによるドラッグ&ドロップを実行すればよい。また、シーケンスプログラム編集領域141、UIプログラム編集領域142、および、変数設定編集領域145の表示態様はこれに限らず、複数の領域を表示画面に表示させる各種の方法を用いて適宜設定することができる。
10:情報処理装置
11:プログラム開発支援部
12:操作入力部
13:通信制御部
14:表示部
111:演算部
112:記憶部
140:表示画面
141:シーケンスプログラム編集領域
142:UIプログラム編集領域
144:STプログラム編集領域
145:変数設定編集領域
210:プログラム開発支援プログラム
211:シーケンスプログラム編集プログラム
212:UI編集プログラム
213:複写機能プログラム
412:マルチビューエクスプローラ
413:ツールボックス
1410:ラダープログラム編集領域

Claims (11)

  1.  コントローラ用プログラムの編集または前記コントローラ用プログラムで用いられる変数の設定を行うコントローラ編集部と、
     ユーザインターフェースプログラムの編集を行うUI編集部と、
     前記コントローラ用プログラムの編集画面または前記変数の設定画面と、前記ユーザインターフェースプログラムの編集画面と、を表示する表示部と、
     前記表示部に表示された前記コントローラ用プログラムの要素の選択、移動または前記変数の選択、移動の操作入力を受け付ける操作入力部と、
     前記ユーザインターフェースプログラムの編集画面内に移動させた前記コントローラ用プログラムの要素または前記変数に応じた前記ユーザインターフェースプログラムの要素を、前記ユーザインターフェースプログラムの編集画面に反映させる複写機能部と、を備え、
     前記複写機能部は、
     編集中の前記コントローラ用プログラムの種類に応じて、前記ユーザインターフェースプログラムの要素の種類を決定する、
     プログラム開発支援装置。
  2.  前記複写機能部は、
     前記コントローラ用プログラムの要素または前記変数の移動先に、前記ユーザインターフェースプログラムの要素がないと、前記ユーザインターフェースプログラムの編集画面に対して、前記ユーザインターフェースプログラムの要素を新たに表示させる、
     請求項1に記載のプログラム開発支援装置。
  3.  前記複写機能部は、
     前記コントローラ用プログラムの要素の変数または前記変数がグローバル変数であれば、前記ユーザインターフェースプログラムの要素を新たに表示させ、
     前記コントローラ用プログラムの要素の変数または前記変数がグローバル変数でなければ、前記ユーザインターフェースプログラムの要素を追加しない、
     請求項2に記載のプログラム開発支援装置。
  4.  前記複写機能部は、
     前記コントローラ用プログラムの要素または前記変数の移動先に、前記コントローラ用プログラムの要素に対応する前記ユーザインターフェースプログラムの要素があると、当該要素の変数マッピングを更新する、
     請求項1に記載のプログラム開発支援装置。
  5.  前記複写機能部は、
     前記コントローラ用プログラムの要素の変数または前記変数がグローバル変数であれば、前記変数マッピングを更新し、
     前記コントローラ用プログラムの要素の変数または前記変数がグローバル変数でなければ、前記変数マッピングを更新しない、
     請求項4に記載のプログラム開発支援装置。
  6.  前記複写機能部は、
     前記選択したコントローラ用プログラムの要素の変数のデータ型を検出して、該変数のデータ型に応じて、前記ユーザインターフェースプログラムの要素の表示態様を決定する、
     請求項1乃至請求項5のいずれかに記載のプログラム開発支援装置。
  7.  前記複写機能部は、
     複数のコントローラ用プログラムを並行して編集することが可能であり、
     前記選択したコントローラ用プログラムを検出して、この検出されたコントローラ用プログラムに対する変数マッピングを行う、
     請求項1乃至請求項6のいずれかに記載のプログラム開発支援装置。
  8.  前記コントローラ用プログラムは、ラダープログラム、または、STプログラムである、
     請求項1乃至請求項7のいずれかに記載のプログラム開発支援装置。
  9.  前記コントローラ用プログラムが前記STプログラムであると、ST要素の位置によって、前記ユーザインターフェースプログラムの要素の形状を決定する、
     請求項8に記載のプログラム開発支援装置。
  10.  コントローラ用プログラムの編集または変数の設定を行うコントローラ編集処理と、
     ユーザインターフェースプログラムの編集を行うUI編集処理と、
     前記コントローラ用プログラムの編集画面または前記変数の設定画面と、前記ユーザインターフェースプログラムの編集画面と、を表示する表示処理と、
     前記表示部に表示された前記コントローラ用プログラムの要素を選択、移動させる操作入力を受け付ける操作入力処理と、
     前記ユーザインターフェースプログラムの編集画面内に移動させた前記コントローラ用プログラムの要素または前記変数に応じた前記ユーザインターフェースプログラムの要素を、前記ユーザインターフェースプログラムの編集画面に反映させる複写機能処理と、を有し、
     前記複写機能処理では、
     編集中の前記コントローラ用プログラムの種類に応じて、前記ユーザインターフェースプログラムの要素の種類を決定する、
     プログラム開発支援方法。
  11.  コントローラ用プログラムの編集または変数の設定を行うコントローラ編集処理と、
     ユーザインターフェースプログラムの編集を行うUI編集処理と、
     前記コントローラ用プログラムの編集画面または前記変数の設定画面と、前記ユーザインターフェースプログラムの編集画面と、を表示する表示処理と、
     前記表示部に表示された前記コントローラ用プログラムの要素を選択、移動させる操作入力を受け付ける操作入力処理と、
     前記ユーザインターフェースプログラムの編集画面内に移動させた前記コントローラ用プログラムの要素または前記変数に応じた前記ユーザインターフェースプログラムの要素を、前記ユーザインターフェースプログラムの編集画面に反映させる複写機能処理と、情報処理装置に実行させ、
     前記複写機能処理では、
     編集中の前記コントローラ用プログラムの種類に応じて、前記ユーザインターフェースプログラムの要素の種類を情報処理装置に決定させる、
     プログラム開発支援プログラム。
PCT/JP2018/007411 2017-05-31 2018-02-28 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム WO2018220921A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880024915.2A CN110546605B (zh) 2017-05-31 2018-02-28 程序开发支持装置、程序开发支持方法以及存储介质
EP18808920.5A EP3640794A4 (en) 2017-05-31 2018-02-28 PROGRAM DEVELOPMENT SUPPORT DEVICE, PROGRAM DEVELOPMENT SUPPORT METHOD, AND PROGRAM DEVELOPMENT SUPPORT PROGRAM
US16/605,214 US11320976B2 (en) 2017-05-31 2018-02-28 Program development support device, program development support method, and non-transitory computer-readable recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-107429 2017-05-31
JP2017107429A JP6922431B2 (ja) 2017-05-31 2017-05-31 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム

Publications (1)

Publication Number Publication Date
WO2018220921A1 true WO2018220921A1 (ja) 2018-12-06

Family

ID=64455381

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/007411 WO2018220921A1 (ja) 2017-05-31 2018-02-28 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム

Country Status (5)

Country Link
US (1) US11320976B2 (ja)
EP (1) EP3640794A4 (ja)
JP (1) JP6922431B2 (ja)
CN (1) CN110546605B (ja)
WO (1) WO2018220921A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020174627A1 (ja) * 2019-02-27 2020-09-03 三菱電機株式会社 設計支援装置、設計支援方法および設計支援プログラム
JP2022139090A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 開発支援装置、開発支援方法および開発支援プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140107A (ja) 2001-07-23 2002-05-17 Digital Electronics Corp エディタ装置およびエディタプログラムを記録した記録媒体
JP2003044105A (ja) * 2001-07-31 2003-02-14 Digital Electronics Corp エディタ装置、エディタプログラムおよびそれを記録した記録媒体
JP2011192088A (ja) * 2010-03-15 2011-09-29 Omron Corp Plcのプログラム開発支援装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60045196D1 (de) * 1999-08-31 2010-12-16 Digital Electronics Corp Editierungsvorrichtung und Aufnahmemedium mit darauf aufgezeichnetem Editierungsprogramm
TW541447B (en) * 1999-08-31 2003-07-11 Digital Electronics Corp Editor device and recording medium for storing an editor program
JP2001075614A (ja) 1999-08-31 2001-03-23 Digital Electronics Corp エディタ装置およびエディタプログラムを記録した記録媒体
JP2003330126A (ja) * 2002-05-15 2003-11-19 Noritsu Koki Co Ltd 画像処理装置
JP3910196B2 (ja) * 2004-10-21 2007-04-25 ファナック株式会社 シーケンスプログラムの編集装置
KR100938179B1 (ko) * 2006-01-24 2010-01-21 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 플랜트 제어 시스템의 제어 프로그램 작성·표시 장치
US9043716B2 (en) 2008-03-26 2015-05-26 Fisher-Rosemount Systems, Inc. Methods and apparatus to create process control graphics based on process control information
US8694959B2 (en) * 2008-09-30 2014-04-08 Ics Triplex Isagraf Inc. Multi language editor
JP2012038068A (ja) * 2010-08-06 2012-02-23 Mitsubishi Heavy Ind Ltd プログラム作成装置及び画像制御システム
JP5521889B2 (ja) * 2010-08-19 2014-06-18 富士電機株式会社 プログラム自動生成装置
US8881022B2 (en) * 2010-09-30 2014-11-04 Mathworks, Inc. Method and system for binding graphical interfaces to textual code
JP5785501B2 (ja) * 2012-01-12 2015-09-30 横河電機株式会社 ラダープログラム作成装置
US9747529B2 (en) * 2012-03-19 2017-08-29 Mitsubishi Electric Corporation Sequence program creation device
DE112012007259T5 (de) * 2012-12-26 2015-09-24 Mitsubishi Electric Corporation Elektronik-Handbuch-Durchblätterapparatur und -system
JP6483507B2 (ja) * 2015-04-07 2019-03-13 株式会社東芝 制御プログラム作成装置、及び制御プログラムのデバッグ方法
US10719643B2 (en) * 2016-09-14 2020-07-21 Mitsubishi Electric Corporation Ladder program editing support apparatus and ladder program editing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140107A (ja) 2001-07-23 2002-05-17 Digital Electronics Corp エディタ装置およびエディタプログラムを記録した記録媒体
JP2003044105A (ja) * 2001-07-31 2003-02-14 Digital Electronics Corp エディタ装置、エディタプログラムおよびそれを記録した記録媒体
JP2011192088A (ja) * 2010-03-15 2011-09-29 Omron Corp Plcのプログラム開発支援装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3640794A4

Also Published As

Publication number Publication date
US20210141513A1 (en) 2021-05-13
JP6922431B2 (ja) 2021-08-18
US11320976B2 (en) 2022-05-03
EP3640794A4 (en) 2021-02-24
CN110546605A (zh) 2019-12-06
JP2018205857A (ja) 2018-12-27
CN110546605B (zh) 2022-11-11
EP3640794A1 (en) 2020-04-22

Similar Documents

Publication Publication Date Title
US11385786B2 (en) Spin control user interface for selecting options
US8635549B2 (en) Directly assigning desktop backgrounds
Matejka et al. Patina: Dynamic heatmaps for visualizing application usage
US9208138B2 (en) Range adjustment for text editing
RU2623804C2 (ru) Устройство для обработки информации, способ обработки информации, программа и носитель для хранения информации
JPH0876960A (ja) ウィンドウシステム
JP2016224599A (ja) ガイドファイル作成プログラム
JP7384260B2 (ja) 情報処理装置及びプログラム
JP2014032529A (ja) Plcシステム、その作画エディタ装置、プログラマブル表示器
WO2018220921A1 (ja) プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム
JP6036163B2 (ja) 情報処理装置及びプログラム
KR101951586B1 (ko) 오브젝트 조정 툴 및 기록 매체
JPH0388087A (ja) 文書読取装置
JP2007094294A (ja) プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体
JP2013161376A (ja) プログラマブル表示器、そのプログラム、表示/制御システム
JP2018124758A (ja) 情報処理装置、情報処理方法、及びプログラム
US11934807B2 (en) Tool with multi-edit function
KR101769129B1 (ko) 온라인 환경에서 구현되는 대시보드 내 차트간 인터랙션 방법
JP2007193555A (ja) 編集装置および方法、プログラム、並びに記録媒体
WO2023047846A1 (ja) 数式編集方法、数式編集装置及び数式編集プログラム
US11268226B2 (en) Sewing data processing system, terminal, sewing machine, and program
JP2006209516A (ja) 電子ファイリングシステム
JP2020201668A (ja) 情報処理装置、文書データの表示方法およびプログラム
JP3781923B2 (ja) 線描画装置および線描画方法、ならびに線描画プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5807441B2 (ja) 画像処理装置及びプログラム

Legal Events

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

Ref document number: 18808920

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2018808920

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2018808920

Country of ref document: EP

Effective date: 20200102