US11320976B2 - Program development support device, program development support method, and non-transitory computer-readable recording medium - Google Patents

Program development support device, program development support method, and non-transitory computer-readable recording medium Download PDF

Info

Publication number
US11320976B2
US11320976B2 US16/605,214 US201816605214A US11320976B2 US 11320976 B2 US11320976 B2 US 11320976B2 US 201816605214 A US201816605214 A US 201816605214A US 11320976 B2 US11320976 B2 US 11320976B2
Authority
US
United States
Prior art keywords
program
user interface
controller
elements
editing
Prior art date
Legal status (The legal status 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 status listed.)
Active, expires
Application number
US16/605,214
Other versions
US20210141513A1 (en
Inventor
Shintaro Iwamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Assigned to OMRON CORPORATION reassignment OMRON CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IWAMURA, Shintaro
Publication of US20210141513A1 publication Critical patent/US20210141513A1/en
Application granted granted Critical
Publication of US11320976B2 publication Critical patent/US11320976B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

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
    • 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
    • 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
    • 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 technology for executing editing of a controller program and editing of a user interface screen (UI screen).
  • UI screen user interface screen
  • the sequence control device operates based on a sequence program which is a controller program, and the indicator operates based on a user interface program (UI program).
  • UI program user interface program
  • the sequence program and the UI program are associated by global variables. Accordingly, settings, changes and the like in variables of the sequence control device can be implemented by operating the user interface screen of the indicator.
  • sequence program and the UI program are created using individual editors. Accordingly, a programmer should separately record variables set by the sequence program and create the UI program based on the recorded variables. Therefore, it is not easy to make variables of the sequence program and variables of the UI program match correctly to create these programs.
  • the element can only correspond to the ladder program.
  • the element and the like of the UI program cannot be set corresponding to detailed information for elements of the sequence program such as the data type of the variables and the like. Therefore, there is a limit on the improvement in ease of program creation.
  • an objective of the present invention is to provide a program development support technology for facilitating creation of a controller program and a UI program in which variables are mutually matched.
  • the program development support device of the present invention includes a controller program editing unit, a UI editing unit, a display unit, an operation input unit, and a copy function unit.
  • the controller program editing unit performs an editing of the controller program or a setting of variables used in the controller program.
  • the UI editing unit performs an editing of a user interface program.
  • the display unit displays an editing screen of the controller program or a setting screen of the variables and an editing screen of the user interface program.
  • the operation input unit receives an operation input of selection and movement of elements of the controller program displayed on the display unit or selection and movement of the variables.
  • the copy function unit reflects, on the editing screen of the user interface program, elements of the user interface program that correspond to elements of the controller program or the variables moved to the editing screen of the user interface program.
  • the copy function unit determines types of elements of the user interface program according to types of the controller program being edited. If the elements of the controller program or the variables are global variables and there is no element of the user interface program at a movement destination of the elements of the controller program or the variables, the copy function unit causes the elements of the user interface program to be newly displayed on the editing screen of the user interface program.
  • the elements of the user interface program are automatically set corresponding to the type and elements of the controller program or the variables.
  • the elements of the user interface program are automatically set corresponding to elements of the ladder program.
  • the elements of the user interface program are automatically set corresponding to elements of the ST program.
  • the elements of the user interface program are automatically set corresponding to elements of the variable setting program.
  • the copy function unit causes the elements of the user interface program to be newly displayed on the editing screen of the user interface program when there is no element of the user interface program at a movement destination of the elements of the controller program or the variables.
  • an element of the user interface program is automatically added corresponding to the types and elements of the controller program or the variables.
  • the program development support device of the present invention includes a controller program editing unit, a UI editing unit, a display unit, an operation input unit, and a copy function unit.
  • the controller program editing unit performs an editing of the controller program or a setting of variables used in the controller program.
  • the UI editing unit performs an editing of a user interface program.
  • the display unit displays an editing screen of the controller program or a setting screen of the variables and an editing screen of the user interface program.
  • the operation input unit receives an operation input of selection and movement of elements of the controller program displayed on the display unit or selection and movement of the variables.
  • the copy function unit reflects, on the editing screen of the user interface program, elements of the user interface program that correspond to elements of the controller program or the variables moved to the editing screen of the user interface program.
  • the copy function unit determines types of elements of the user interface program according to types of the controller program being edited. If the elements of the controller program or the variables are global variables and there is element of the user interface program and there is element of the user interface program at a movement destination of the elements of the controller program or the variables, the copy function unit updates the variable mapping.
  • variables of the elements of the user interface program are automatically updated.
  • a controller program and a UI program in which variables are mutually matched can be easily created.
  • FIG. 1 is a schematic configuration diagram of an information processing device including a program development support device of an embodiment of the present invention.
  • FIG. 2 is a flowchart showing a process of a program development support technology of the present invention.
  • FIG. 3(A) is a screen diagram showing a drag state of a contact point of a ladder program
  • FIG. 3 (B) is a screen diagram showing a drop state of the contact point of the ladder program.
  • FIG. 4(A) is a screen diagram showing a drag state of a coil of the ladder program
  • FIG. 4(B) is a screen diagram showing a drop state of the coil of the ladder program.
  • FIG. 5(A) is a screen diagram showing a drag state of a contact point of the ladder program
  • FIG. 5 (B) is a screen diagram showing a drop state of the contact point of the ladder program.
  • FIG. 6(A) is a screen diagram showing a drag state of a first element of a ST program
  • FIG. 6(B) is a screen diagram showing a drop state of the first element of the ST program.
  • FIG. 7(A) is a screen diagram showing a drag state of a second element of the ST program
  • FIG. 7 (B) is a screen diagram showing a drop state of the second element of the ST program.
  • FIG. 8(A) is a screen diagram showing a drag state of a variable of a variable setting program
  • FIG. 8(B) is a screen diagram showing a drop state of a variable of a variable setting editing area.
  • FIG. 9 is a table showing a relationship between variables and elements of a UI program.
  • FIG. 10 is a flowchart showing the process of the program development support technology of the present invention.
  • FIG. 11(A) is a screen diagram showing a drag state of a button of the UI program
  • FIG. 11(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 device including a program development support device of the embodiment of the present invention.
  • an information processing device 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 device 10 is implemented by a personal computer and the like.
  • the operation input unit 12 is, for example, a mouse or a keyboard.
  • the communication control unit 13 controls communication with a 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 a display screen, and positions and sizes of these areas on the display screen can be set by the operation input unit 12 to be capable of changing.
  • the sequence program editing area 141 corresponds to “editing screen of controller program” of the present invention
  • the UI program editing area 142 corresponds to “editing screen of user interface program” of the present invention.
  • the program development support unit 11 includes a calculation unit 111 and a storage unit 112 .
  • a program development support program 210 is stored in the storage unit 112 .
  • the program development support program 210 has a sequence program editing program 211 , a UI editing program 212 , and a copy function program 213 .
  • the calculation unit 111 reads out the sequence program editing program 211 from the storage unit 112 and executes the sequence program editing program 211 .
  • the “controller editing unit” of the present application is implemented.
  • the editing of the sequence program refers to editing of a program for setting operations of the sequence control device, that is, the sequence program which is a controller program, and editing of variables utilized in this program.
  • the variables include global variables and local variables.
  • the sequence program may include a ladder program and a ST (Structure Text) program; preferably, the two types of programs are included.
  • the calculation unit 111 displays editing contents of the sequence program on the sequence program editing area 141 of the display unit 14 .
  • the calculation unit 111 reads out the UI editing program 212 from the storage unit 112 and executes the UI editing program 212 .
  • the “UI editing unit” of the present application is implemented.
  • the editing of UI refers to arrangement of an operation object or a display object, setting of the variables (global variables and local variables) for each object and the like in a display device (for example, a display device mounted on the sequence control device) capable of communicating with the sequence control device.
  • the calculation unit 111 displays editing contents of the UI on the UI program editing area 142 of the display unit 14 .
  • the calculation unit 111 reads out the copy function program 213 from the storage unit 112 and executes the copy function program 213 .
  • the copy function refers to addition of an object (element of the UI program) corresponding to the element of the sequence program and variable update that are performed by disposing the elements of the sequence program in the UI program editing area 142 by so-called drag and drop using the operation input unit 12 .
  • the copy function also includes update of the UI program editing area 142 performed by this process.
  • the copy function program 213 performs automatic setting of the elements of the UI program using the elements of the sequence program corresponding to the type of the sequence program.
  • FIG. 2 is a flowchart showing the process of a program development support technology of the present invention.
  • the program development support unit 11 detects a drag position based on an input of the operation input unit 12 (S 11 ). Specifically, the program development support unit 11 detects, by the operation input unit 12 , an active (currently selected) area within the sequence program editing area 141 and the UI program editing area 142 displayed on the display unit 14 .
  • the program development support unit 11 detects an element of the sequence program selected in this area.
  • the program development support unit 11 detects an element of the UI program selected in this area. Besides, the process when the element of the UI program is detected is not shown in FIG. 2 but shown in FIG. 10 , and the description is omitted here and mentioned later.
  • the program development support unit 11 executes the following process.
  • the program development support unit 11 detects the type of the sequence program. That is, the program development support unit 11 detects which one of the ladder program, the ST program, and the variable setting program is the sequence program being edited in the active area (S 12 ).
  • the program development support unit 11 detects an element of the ladder program and a variable of the element (S 13 ).
  • the element of the ladder program selected here may be a contact point or coil, and the variable name displayed together with the contact point or coil may also be included in the element of the ladder program selected.
  • the program development support unit 11 detects an element of the ST program, a position of the element, and a variable of the element (S 14 ).
  • the program development support unit 11 detects a variable being selected (S 15 ).
  • 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 an element of the UI program corresponding to each element of the sequence program (element of the UI program) and a display form corresponding to the data type of variable in the storage unit 112 .
  • the program development support unit 11 extracts an element of the UI program corresponding to the selected element and a display form corresponding to the data type of variable (S 16 ).
  • the program development support unit 11 detects a drop position based on input of the operation input unit 12 (S 17 ). Specifically, the program development support unit 11 detects a position of the UI program editing area 142 that is specified by the operation input unit 12 .
  • the program development support unit 11 When the elements of the UI program are not disposed (S 18 : NO), the program development support unit 11 generates variables for the UI program (S 19 ). The program development support unit 11 disposes the extracted element of the UI program in the drop position (S 20 ). The program development support unit 11 sets the display form of the disposed element of the UI program (S 21 ). The program development support unit 11 updates a variable mapping of the UI program corresponding to the added element of the UI program (S 22 ).
  • the program development support unit 11 executes arrangement of the UI element and updates the variable mapping if the variables are global variables, that is, the variables are variables common in the sequence program and the UI program.
  • the program development support unit 11 does not execute the arrangement of the UI element performed by a drop process if the variables are not global variables, that is, the variables are inherent variables of the sequence program.
  • the program development support unit 11 updates the variable mapping of the UI program so as to change the variable of the element of the UI program that is already disposed in the drop position (S 23 ).
  • the program development support unit 11 updates the variable mapping if the variables are global variables, that is, the variables are variables common in 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 variables are not global variables, that is, the variables are inherent variables of the sequence program.
  • the element of the UI program that corresponds to the element of the sequence program can be automatically set in a specified position of the UI screen no matter what type the sequence program is. At this time, if there is no element of the UI program in the specified position, an element of the UI program can be automatically added and the variable mapping can be automatically updated. On the other hand, if there is an element of the UI program in the specified position, the variable mapping can be automatically updated so as to change the variable of the element of the UI program. Accordingly, the programmer can create and edit the sequence program and the UI program while matching variables in these programs without performing complicate process.
  • FIG. 3(A) is a screen diagram showing a drag state of a contact point of the ladder program
  • FIG. 3(B) is a screen diagram showing a drop state of the contact point of the ladder program
  • FIG. 4(A) is a screen diagram showing a drag state of a coil of the ladder program
  • FIG. 4(B) is a screen diagram showing a drop state of the coil of the ladder program.
  • a ladder program editing area (window) 411 and the UI program editing area (window) 142 are displayed on a display screen 140 of the display unit 14 .
  • a multiview explorer 412 , an editing tool box 413 and the like are also displayed on the display screen 140 .
  • a ladder diagram is displayed on the ladder program editing area 1410 , and a UI screen is displayed on the UI program editing area 142 .
  • a pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when a display area of the element of the ladder program overlaps the pointer, a display mode of the display area of the element of the ladder program changes as shown in FIG. 3(A) and FIG. 4(A) .
  • the programmer performs a drag operation in this state, the element of the ladder program is selected.
  • the program development support unit 11 stores a relationship between the elements of the ladder program and the elements of the UI program in advance. As stored by the program development support unit 11 , if the element of the ladder program is a contact point, the corresponding element of the UI program is a button; if the element of the ladder program is a coil, the corresponding element of the UI program is a bit lamp.
  • the button is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 3(B) .
  • an inherent index may be attached to and displayed on the button.
  • the inherent index refers to a variable name or the like of the contact point corresponding to the button.
  • variable of the corresponding contact point is set on the button.
  • the button and the variable thereof are added to the variable mapping of the UI program.
  • the bit lamp is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 4(B) .
  • an inherent index may be attached to and displayed on the bit lamp.
  • the inherent index refers to a variable name or the like of the coil corresponding to the bit lamp.
  • variable of the corresponding coil is set on the bit lamp.
  • bit lamp and the variable thereof are added to the variable mapping of the UI program.
  • FIG. 5(A) is a screen diagram showing a drag state of a contact point of the ladder program
  • FIG. 5 (B) is a screen diagram showing a drop state of the contact point of the ladder program.
  • FIG. 5(A) is the same as FIG. 3(A)
  • FIG. 5(B) is different from FIG. 3(B) only in that an element of the UI program already exists in the drop position. Accordingly, in the process described using FIG. 5(A) and FIG. 5(B) , the description of a place in which the process described using FIG. 3(A) and FIG. 3(B) is upset is omitted.
  • the contact point is dragged in the ladder program editing area 411 and is dropped in the UI program editing area 142 .
  • the button is already disposed and displayed in the drop position.
  • the program development support unit 11 directly displays the button, and executes update for only changing the variable of the button.
  • the inherent index attached to the button is also changed. Update of the variable mapping of the UI program that shows changes of variables of the button is performed.
  • FIG. 6(A) is a screen diagram showing a drag state of a first element of a ST program
  • FIG. 6(B) is a screen diagram showing a drop state of the first element of the ST program
  • FIG. 7(A) is a screen diagram showing a drag state of a second element of the ST program
  • FIG. 7 (B) is a screen diagram showing a drop state of the second element of the ST program.
  • FIG. 6(A) , FIG. 6(B) , FIG. 7(A) , and FIG. 7(B) when editing of the ST program and editing of the UI program are performed, at least a ST program editing area (window) 414 and the UI program editing area (window) 142 are displayed on the display screen 140 of the display unit 14 .
  • a formula of the ST program is displayed on the ST program editing area 414 , and the UI screen is displayed on the UI program editing area 142 .
  • the pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when a display area of the element of the ST program overlaps the pointer, a display mode of the display area of the element of the ST program changes as shown in FIG. 6(A) and FIG. 7(A) .
  • the element of the ST program is selected.
  • the button is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 6(B) .
  • an inherent index may be attached to and displayed on the button.
  • the inherent index refers to a variable name or the like of the element of the ST program corresponding to the button.
  • variable of the corresponding element of the ST program is set on the button.
  • the button and the variable thereof are added to the variable mapping of the UI program.
  • the bit lamp is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 7(B) .
  • an inherent index is attached to and displayed on the bit lamp.
  • the inherent index refers to a variable name or the like of the element of the ST program corresponding to the button.
  • variable of the corresponding element of the ST program is set on the bit lamp.
  • bit lamp and the variable thereof are added to the variable mapping of the UI program.
  • FIG. 8(A) is a screen diagram showing a drag state of a variable of a variable setting area
  • FIG. 8(B) is a screen diagram showing a drop state of the variable of the variable setting editing area.
  • variable setting editing area (window) 4111 and the UI program editing area (window) 142 are displayed on the display screen 140 of the display unit 14 .
  • the variable setting editing area 145 corresponds to “setting screen of variable” of the present invention.
  • the multiview explorer 412 , the editing tool box 413 and the like are also displayed on the display screen 140 .
  • the ladder program editing area 4112 and the ST program editing area can also be displayed as necessary.
  • the area 411 A shown in FIG. 8(A) , FIG. 8(B) includes the ladder program editing area 4112 and variable setting editing area 4111 represented by the display screen 140 .
  • variable setting editing area 4111 A list of variables is displayed on the variable setting editing area 4111 .
  • the variable type is set for each variable.
  • the UI screen is displayed on the UI program editing area 142 .
  • the pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when a display area of the element (the variable selected within the variables displayed by a list) of the variable setting program overlaps the pointer, a display mode of the display area of the variable of the variable setting program changes as shown in FIG. 8(A) .
  • the programmer performs a drag operation in this state, the variable is selected.
  • the element of the UI program corresponding to the variable is displayed on the UI program editing area 142 as shown in FIG. 8(B) .
  • the variable type is used to set the element of the UI program.
  • the program development support unit 11 stores a relationship between the variable types and the elements of the UI program in advance.
  • FIG. 9 is a table showing the relationship between the variables and the elements of the UI program.
  • the variable type is a BOOL type
  • the element of the UI program is a bit lamp.
  • the variable type is an integer type or a real type
  • the element of the UI program is a right-aligned data display.
  • the variable type is a STRING type
  • the element of the UI program is a left-aligned data display.
  • the variable type is a structure type
  • the element of the UI program is a display frame of shape and form corresponding to the structure member.
  • the program development support unit 11 sets the elements of the UI program from the elements of the sequence program, but reverse process can also be performed. 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 process of the program development support technology of the present invention. Besides, in FIG. 10 , an aspect in which the sequence program is the ladder program is shown, but the same process can also be performed on the ST program and the variable setting program.
  • the program development support unit 11 detects a drag position based on input of the operation input unit 12 (S 31 ), and extracts the type and variable of the dragged element of the UI program (S 31 -S 33 ). This process is the same as the process of S 11 in FIG. 2 .
  • the program development support unit 11 extracts the type and variable of the dragged element of the UI program (S 32 ).
  • the program development support unit 11 detects a drop position based on input of the operation input unit 12 (S 34 ). Specifically, the program development support unit 11 detects a position within the ladder program editing area 411 that is specified by the operation input unit 12 .
  • the program development support unit 11 generates a variable for the ladder program corresponding to the extracted element of the UI program (S 35 ).
  • the program development support unit 11 disposes an element (ladder element) of the ladder program corresponding to the extracted element of the UI program in the drop position (S 36 ).
  • the program development support unit 11 sets a variable for the disposed element of the ladder program (S 37 ). At this time, the program development support unit 11 updates the variable mapping of the ladder program corresponding to the added element of the ladder program.
  • FIG. 11(A) is a screen diagram showing a drag state of a button of the UI program
  • FIG. 11(B) is a screen diagram showing a drop state of the button of the UI program.
  • the pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when the display area of the element of the UI program overlaps the pointer, the display mode of the display area of the element of the UI program changes. When the programmer performs a drag operation in this state, the element of the ladder program is selected.
  • the contact point is disposed and displayed in a specified position of the ladder program editing area 411 as shown in FIG. 11(B) .
  • an inherent index may be attached to and displayed on the contact point.
  • the inherent index refers to a variable name or the like of the contact point corresponding to the button.
  • the newly-added contact point is automatically connected to the elements of two adjacent sides of the ladder program.
  • variable of the corresponding button is set on the contact point.
  • the contact point and the variable thereof are added to the variable mapping of the ladder program.
  • overwrite update process can also be applied similarly to the above-described Embodiment 1 in these processes.
  • the program development support 11 executes the processes from S 41 to S 44 when the elements of the UI program are set from the elements of the sequence program.
  • the name of a controller in which the sequence program is applied is also utilized as information during drag and drop.
  • the variable mapping is updated so that the editing includes an active controller name (controller 1 (CTRL1) in each drawing). Accordingly, a sequence program and a UI program in which variables are mutually matched can also be easily created even if a plurality of controllers is edited in parallel.
  • variable is an array
  • the elements of the UI program can be displayed by array corresponding to the array number of the elements of the sequence program based on the above process. Accordingly, the sequence program and the UI program can be mutually matched and easily created even for the arrayed variables.
  • drag and drop from the sequence program or variable setting to the UI program are performed is shown in the above description, but drag and drop from the UI program to the sequence program can also be performed using the same principle.
  • sequence program editing area 141 the sequence program editing area 141 , the UI program editing area 142 , and the variable setting editing area 4111 are displayed on the display screen 140 at the same time.
  • the above-described process can also be applied to an aspect in which the sequence program editing area 141 , the UI program editing area 142 , and the variable setting editing area 145 are respectively set in full screen display on the display screen 140 and are switched to be displayed by a tab operation and the like for each area.
  • 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 hereto, and can be appropriately set using various methods in which a plurality of areas is displayed on the display screen.

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

In order to facilitate creation of a controller program and a UI program in which variables match each other, this program development support unit is provided with: a calculation unit and a program development support program which implement a sequence program editing unit, a UI editing unit, and a copy function unit; a display unit; and an operation input unit. The copy function unit detects selection, through the input operation unit, of an element of the sequence program and movement to an editing screen in a user interface program, and causes elements in the user interface program that correspond to elements in the sequence program to be reflected on the editing screen of the user interface program. The copy function unit detects the type of the sequence program being edited, and, depending on the type of sequence program, determines the type of elements of the user interface program.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This application is a 371 application of the International PCT application serial no. PCT/JP2018/007411, filed on Feb. 28, 2018, which claims the priority benefit of Japan Patent Application No. 2017-107429, filed on May 31, 2017. The entirety of each of the abovementioned patent applications is hereby incorporated by reference herein and made a part of this specification.
BACKGROUND OF THE INVENTION Technical Field
The present invention relates to a program development support technology for executing editing of a controller program and editing of a user interface screen (UI screen).
Related Art
Currently, many sequence control devices are put into practical use. An indicator equipped with a user interface is connected to this sequence control device. An operator performs setting on the sequence control device by an operation input to the indicator.
The sequence control device operates based on a sequence program which is a controller program, and the indicator operates based on a user interface program (UI program). The sequence program and the UI program are associated by global variables. Accordingly, settings, changes and the like in variables of the sequence control device can be implemented by operating the user interface screen of the indicator.
Conventionally, the sequence program and the UI program are created using individual editors. Accordingly, a programmer should separately record variables set by the sequence program and create the UI program based on the recorded variables. Therefore, it is not easy to make variables of the sequence program and variables of the UI program match correctly to create these programs.
In contrast, an editor device described in patent literature 1 (Japanese Patent Application Laid-Open No. 2002-140107) drags an element (ladder element) of a ladder program which is a type of sequence program and drops the element on a UI editing screen, and thereby sets an element of the UI program that corresponds to the ladder element.
SUMMARY Problems to be Solved
However, in the editor device described in patent literature 1, the element can only correspond to the ladder program. In addition, the element and the like of the UI program cannot be set corresponding to detailed information for elements of the sequence program such as the data type of the variables and the like. Therefore, there is a limit on the improvement in ease of program creation.
Accordingly, an objective of the present invention is to provide a program development support technology for facilitating creation of a controller program and a UI program in which variables are mutually matched.
Means to Solve Problems
The program development support device of the present invention includes a controller program editing unit, a UI editing unit, a display unit, an operation input unit, and a copy function unit. The controller program editing unit performs an editing of the controller program or a setting of variables used in the controller program. The UI editing unit performs an editing of a user interface program. The display unit displays an editing screen of the controller program or a setting screen of the variables and an editing screen of the user interface program. The operation input unit receives an operation input of selection and movement of elements of the controller program displayed on the display unit or selection and movement of the variables. The copy function unit reflects, on the editing screen of the user interface program, elements of the user interface program that correspond to elements of the controller program or the variables moved to the editing screen of the user interface program. The copy function unit determines types of elements of the user interface program according to types of the controller program being edited. If the elements of the controller program or the variables are global variables and there is no element of the user interface program at a movement destination of the elements of the controller program or the variables, the copy function unit causes the elements of the user interface program to be newly displayed on the editing screen of the user interface program.
In this configuration, the elements of the user interface program are automatically set corresponding to the type and elements of the controller program or the variables. For example, in a case of a ladder program, the elements of the user interface program are automatically set corresponding to elements of the ladder program. In a case of an ST program, the elements of the user interface program are automatically set corresponding to elements of the ST program. In a case of a variable setting, the elements of the user interface program are automatically set corresponding to elements of the variable setting program.
In addition, in the program development support device, the copy function unit causes the elements of the user interface program to be newly displayed on the editing screen of the user interface program when there is no element of the user interface program at a movement destination of the elements of the controller program or the variables.
In this configuration, an element of the user interface program is automatically added corresponding to the types and elements of the controller program or the variables.
The program development support device of the present invention includes a controller program editing unit, a UI editing unit, a display unit, an operation input unit, and a copy function unit. The controller program editing unit performs an editing of the controller program or a setting of variables used in the controller program. The UI editing unit performs an editing of a user interface program. The display unit displays an editing screen of the controller program or a setting screen of the variables and an editing screen of the user interface program. The operation input unit receives an operation input of selection and movement of elements of the controller program displayed on the display unit or selection and movement of the variables. The copy function unit reflects, on the editing screen of the user interface program, elements of the user interface program that correspond to elements of the controller program or the variables moved to the editing screen of the user interface program. The copy function unit determines types of elements of the user interface program according to types of the controller program being edited. If the elements of the controller program or the variables are global variables and there is element of the user interface program and there is element of the user interface program at a movement destination of the elements of the controller program or the variables, the copy function unit updates the variable mapping.
In this configuration, variables of the elements of the user interface program are automatically updated.
Effect
According to the present invention, a controller program and a UI program in which variables are mutually matched can be easily created.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic configuration diagram of an information processing device including a program development support device of an embodiment of the present invention.
FIG. 2 is a flowchart showing a process of a program development support technology of the present invention.
FIG. 3(A) is a screen diagram showing a drag state of a contact point of a ladder program, and FIG. 3 (B) is a screen diagram showing a drop state of the contact point of the ladder program.
FIG. 4(A) is a screen diagram showing a drag state of a coil of the ladder program, and FIG. 4(B) is a screen diagram showing a drop state of the coil of the ladder program.
FIG. 5(A) is a screen diagram showing a drag state of a contact point of the ladder program, and FIG. 5 (B) is a screen diagram showing a drop state of the contact point of the ladder program.
FIG. 6(A) is a screen diagram showing a drag state of a first element of a ST program, and FIG. 6(B) is a screen diagram showing a drop state of the first element of the ST program.
FIG. 7(A) is a screen diagram showing a drag state of a second element of the ST program, and FIG. 7 (B) is a screen diagram showing a drop state of the second element of the ST program.
FIG. 8(A) is a screen diagram showing a drag state of a variable of a variable setting program, and FIG. 8(B) is a screen diagram showing a drop state of a variable of a variable setting editing area.
FIG. 9 is a table showing a relationship between variables and elements of a UI program.
FIG. 10 is a flowchart showing the process of the program development support technology of the present invention.
FIG. 11(A) is a screen diagram showing a drag state of a button of the UI program, and FIG. 11(B) is a screen diagram showing a drop state of the button of the UI program.
DESCRIPTION OF THE EMBODIMENTS
A program development support technology of an embodiment of the present invention is described with reference to the drawings. FIG. 1 is a schematic configuration diagram of an information processing device including a program development support device of the embodiment of the present invention.
As shown in FIG. 1, an information processing device 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 device 10 is implemented by a personal computer and the like. The operation input unit 12 is, for example, a mouse or a keyboard. The communication control unit 13 controls communication with a 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 a display screen, and positions and sizes of these areas on the display screen can be set by the operation input unit 12 to be capable of changing. The sequence program editing area 141 corresponds to “editing screen of controller program” of the present invention, and the UI program editing area 142 corresponds to “editing screen of user interface program” of the present invention.
The program development support unit 11 includes a calculation unit 111 and a storage unit 112. A program development support program 210 is stored in the storage unit 112. The program development support program 210 has a sequence program editing program 211, a UI editing program 212, and a copy function program 213.
The calculation unit 111 reads out the sequence program editing program 211 from the storage unit 112 and executes the sequence program editing program 211. In this way, the “controller editing unit” of the present application is implemented. The editing of the sequence program refers to editing of a program for setting operations of the sequence control device, that is, the sequence program which is a controller program, and editing of variables utilized in this program. The variables include global variables and local variables.
In the application, the sequence program may include a ladder program and a ST (Structure Text) program; preferably, the two types of programs are included.
The calculation unit 111 displays editing contents of the sequence program on the sequence program editing area 141 of the display unit 14.
The calculation unit 111 reads out the UI editing program 212 from the storage unit 112 and executes the UI editing program 212. In this way, the “UI editing unit” of the present application is implemented. The editing of UI refers to arrangement of an operation object or a display object, setting of the variables (global variables and local variables) for each object and the like in a display device (for example, a display device mounted on the sequence control device) capable of communicating with the sequence control device.
The calculation unit 111 displays editing contents of the UI on the UI program editing area 142 of the display unit 14.
The calculation unit 111 reads out the copy function program 213 from the storage unit 112 and executes the copy function program 213. In this way, the “copy function unit” of the present application is implemented. The copy function refers to addition of an object (element of the UI program) corresponding to the element of the sequence program and variable update that are performed by disposing the elements of the sequence program in the UI program editing area 142 by so-called drag and drop using the operation input unit 12. In addition, the copy function also includes update of the UI program editing area 142 performed by this process. At this time, the copy function program 213 performs automatic setting of the elements of the UI program using the elements of the sequence program corresponding to the type of the sequence program.
Specifically, the program development support unit 11 executes the process shown in FIG. 2. FIG. 2 is a flowchart showing the process of a program development support technology of the present invention.
The program development support unit 11 detects a drag position based on an input of the operation input unit 12 (S11). Specifically, the program development support unit 11 detects, by the operation input unit 12, an active (currently selected) area within the sequence program editing area 141 and the UI program editing area 142 displayed on the display unit 14.
If the active area is the sequence program editing area 141, the program development support unit 11 detects an element of the sequence program selected in this area. On the other hand, if the active area is the UI program editing area 142, the program development support unit 11 detects an element of the UI program selected in this area. Besides, the process when the element of the UI program is detected is not shown in FIG. 2 but shown in FIG. 10, and the description is omitted here and mentioned later.
When the active area is the sequence program editing area 141, the program development support unit 11 executes the following process.
The program development support unit 11 detects the type of the sequence program. That is, the program development support unit 11 detects which one of the ladder program, the ST program, and the variable setting program is the sequence program being edited in the active area (S12).
In a case of the ladder program, the program development support unit 11 detects an element of the ladder program and a variable of the element (S13). Besides, the element of the ladder program selected here may be a contact point or coil, and the variable name displayed together with the contact point or coil may also be included in the element of the ladder program selected. In a case of the ST program, the program development support unit 11 detects an element of the ST program, a position of the element, and a variable of the element (S14). In a case of the variable setting program, the program development support unit 11 detects a variable being selected (S15). Besides, 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 an element of the UI program corresponding to each element of the sequence program (element of the UI program) and a display form corresponding to the data type of variable in the storage unit 112.
The program development support unit 11 extracts an element of the UI program corresponding to the selected element and a display form corresponding to the data type of variable (S16).
The program development support unit 11 detects a drop position based on input of the operation input unit 12 (S17). Specifically, the program development support unit 11 detects a position of the UI program editing area 142 that is specified by the operation input unit 12.
When the elements of the UI program are not disposed (S18: NO), the program development support unit 11 generates variables for the UI program (S19). The program development support unit 11 disposes the extracted element of the UI program in the drop position (S20). The program development support unit 11 sets the display form of the disposed element of the UI program (S21). The program development support unit 11 updates a variable mapping of the UI program corresponding to the added element of the UI program (S22).
At this time, the program development support unit 11 executes arrangement of the UI element and updates the variable mapping if the variables are global variables, that is, the variables are variables common in the sequence program and the UI program. On the other hand, the program development support unit 11 does not execute the arrangement of the UI element performed by a drop process if the variables are not global variables, that is, the variables are inherent variables of the sequence program.
On the other hand, when the element of the UI program is disposed (S18: YES), the program development support unit 11 updates the variable mapping of the UI program so as to change the variable of the element of the UI program that is already disposed in the drop position (S23).
At this time, the program development support unit 11 updates the variable mapping if the variables are global variables, that is, the variables are variables common in 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 variables are not global variables, that is, the variables are inherent variables of the sequence program.
By performing this process, the element of the UI program that corresponds to the element of the sequence program can be automatically set in a specified position of the UI screen no matter what type the sequence program is. At this time, if there is no element of the UI program in the specified position, an element of the UI program can be automatically added and the variable mapping can be automatically updated. On the other hand, if there is an element of the UI program in the specified position, the variable mapping can be automatically updated so as to change the variable of the element of the UI program. Accordingly, the programmer can create and edit the sequence program and the UI program while matching variables in these programs without performing complicate process.
More detailed specific examples for a case in which drag and drop from each sequence program to the UI program is performed are shown below.
(Embodiment 1) Case of Adding an Element of the UI Program from the Ladder Program
FIG. 3(A) is a screen diagram showing a drag state of a contact point of the ladder program, and FIG. 3(B) is a screen diagram showing a drop state of the contact point of the ladder program. FIG. 4(A) is a screen diagram showing a drag state of a coil of the ladder program, and FIG. 4(B) is a screen diagram showing a drop state of the coil of the ladder program.
As shown in FIG. 3(A), FIG. 3(B), FIG. 4(A), and FIG. 4(B), when editing of the ladder program and editing of the UI program are performed, at least a ladder program editing area (window) 411 and the UI program editing area (window) 142 are displayed on a display screen 140 of the display unit 14. In addition, a multiview explorer 412, an editing tool box 413 and the like are also displayed on the display screen 140.
A ladder diagram is displayed on the ladder program editing area 1410, and a UI screen is displayed on the UI program editing area 142.
When the programmer operates the operation input unit 12 such as a mouse or the like, a pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when a display area of the element of the ladder program overlaps the pointer, a display mode of the display area of the element of the ladder program changes as shown in FIG. 3(A) and FIG. 4(A). When the programmer performs a drag operation in this state, the element of the ladder program is selected.
Next, when the programmer maintains the drag operation state and moves the mouse to the UI program editing area 142, the element of the UI program corresponding to the element of the ladder program is displayed on the UI program editing area 142 as shown in FIG. 3(B) and FIG. 4(B).
Specifically, the program development support unit 11 stores a relationship between the elements of the ladder program and the elements of the UI program in advance. As stored by the program development support unit 11, if the element of the ladder program is a contact point, the corresponding element of the UI program is a button; if the element of the ladder program is a coil, the corresponding element of the UI program is a bit lamp.
Accordingly, when the contact point is dragged in the ladder program editing area 411 and is dropped in the UI program editing area 142 as shown in FIG. 3(A), the button is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 3(B). At this time, an inherent index may be attached to and displayed on the button. The inherent index refers to a variable name or the like of the contact point corresponding to the button.
At this time, the variable of the corresponding contact point is set on the button. In addition, the button and the variable thereof are added to the variable mapping of the UI program.
In addition, when the coil is dragged in the ladder program editing area 411 and is dropped in the UI program editing area 142 as shown in FIG. 4(A), the bit lamp is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 4(B). At this time, an inherent index may be attached to and displayed on the bit lamp. The inherent index refers to a variable name or the like of the coil corresponding to the bit lamp.
At this time, the variable of the corresponding coil is set on the bit lamp. In addition, the bit lamp and the variable thereof are added to the variable mapping of the UI program.
(Embodiment 2) Case of Updating the Variable of the Element of the UI Program from the Ladder Program
FIG. 5(A) is a screen diagram showing a drag state of a contact point of the ladder program, and FIG. 5 (B) is a screen diagram showing a drop state of the contact point of the ladder program. Besides, FIG. 5(A) is the same as FIG. 3(A), and FIG. 5(B) is different from FIG. 3(B) only in that an element of the UI program already exists in the drop position. Accordingly, in the process described using FIG. 5(A) and FIG. 5(B), the description of a place in which the process described using FIG. 3(A) and FIG. 3(B) is upset is omitted.
As shown in FIG. 5(A), the contact point is dragged in the ladder program editing area 411 and is dropped in the UI program editing area 142. Here, as shown in FIG. 5(B), the button is already disposed and displayed in the drop position. In this case, the program development support unit 11 directly displays the button, and executes update for only changing the variable of the button. At the same time, the inherent index attached to the button is also changed. Update of the variable mapping of the UI program that shows changes of variables of the button is performed.
(Embodiment 3) Case of Adding an Element of the UI Program from the ST Program
FIG. 6(A) is a screen diagram showing a drag state of a first element of a ST program, and FIG. 6(B) is a screen diagram showing a drop state of the first element of the ST program. FIG. 7(A) is a screen diagram showing a drag state of a second element of the ST program, and FIG. 7 (B) is a screen diagram showing a drop state of the second element of the ST program.
As shown in FIG. 6(A), FIG. 6(B), FIG. 7(A), and FIG. 7(B), when editing of the ST program and editing of the UI program are performed, at least a ST program editing area (window) 414 and the UI program editing area (window) 142 are displayed on the display screen 140 of the display unit 14.
A formula of the ST program is displayed on the ST program editing area 414, and the UI screen is displayed on the UI program editing area 142.
When the programmer operates the operation input unit 12 such as a mouse or the like, the pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when a display area of the element of the ST program overlaps the pointer, a display mode of the display area of the element of the ST program changes as shown in FIG. 6(A) and FIG. 7(A). When the programmer performs a drag operation in this state, the element of the ST program is selected.
Next, when the programmer maintains the drag operation state and moves the mouse to the UI program editing area 142, the element of the UI program corresponding to the element of the ST program is displayed on the UI program editing area 142 as shown in FIG. 6(B) and FIG. 7(B).
Specifically, the program development support unit 11 stores a relationship between the elements of the ST program and the elements of the UI program in advance. As stored by the program development support unit 11, if the element of the ST program is on the right side of “=”, the corresponding element of the UI program is a button; if the element of the ST program is on the left side of “=”, the corresponding element of the UI program is a bit lamp.
Accordingly, when the element on the right side of “=” is dragged in the ST program editing area 414 and is dropped in the UI program editing area 142 as shown in FIG. 6(A), the button is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 6(B). At this time, an inherent index may be attached to and displayed on the button. The inherent index refers to a variable name or the like of the element of the ST program corresponding to the button.
At this time, the variable of the corresponding element of the ST program is set on the button. In addition, the button and the variable thereof are added to the variable mapping of the UI program.
In addition, when the element on the left side of “=” is dragged in the ST program editing area 414 and is dropped in the UI program editing area 142 as shown in FIG. 7(A), the bit lamp is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 7(B). At this time, an inherent index is attached to and displayed on the bit lamp. The inherent index refers to a variable name or the like of the element of the ST program corresponding to the button.
At this time, the variable of the corresponding element of the ST program is set on the bit lamp. In addition, the bit lamp and the variable thereof are added to the variable mapping of the UI program.
Besides, although not described in detail here, similar to the element of the ladder program, if an element of the UI program is already disposed in the drop destination with respect to the element of the ST program, update of variables of the element of the UI program is performed.
(Embodiment 4) Case of Adding an Element of the UI Program from the Variable Setting Editing Area
FIG. 8(A) is a screen diagram showing a drag state of a variable of a variable setting area, and FIG. 8(B) is a screen diagram showing a drop state of the variable of the variable setting editing area.
As shown in FIG. 8(A), FIG. 8(B), when editing of the variable setting and editing of the UI program are performed, at least a variable setting editing area (window) 4111 and the UI program editing area (window) 142 are displayed on the display screen 140 of the display unit 14. The variable setting editing area 145 corresponds to “setting screen of variable” of the present invention. In addition, the multiview explorer 412, the editing tool box 413 and the like are also displayed on the display screen 140. Furthermore, the ladder program editing area 4112 and the ST program editing area can also be displayed as necessary. The area 411A shown in FIG. 8(A), FIG. 8(B) includes the ladder program editing area 4112 and variable setting editing area 4111 represented by the display screen 140.
A list of variables is displayed on the variable setting editing area 4111. The variable type is set for each variable. The UI screen is displayed on the UI program editing area 142.
When the programmer operates the operation input unit 12 such as a mouse or the like, the pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when a display area of the element (the variable selected within the variables displayed by a list) of the variable setting program overlaps the pointer, a display mode of the display area of the variable of the variable setting program changes as shown in FIG. 8(A). When the programmer performs a drag operation in this state, the variable is selected.
Next, when the programmer maintains the drag operation state and moves the mouse to the UI program editing area 142, the element of the UI program corresponding to the variable is displayed on the UI program editing area 142 as shown in FIG. 8(B). At this time, the variable type is used to set the element of the UI program.
Specifically, the program development support unit 11 stores a relationship between the variable types and the elements of the UI program in advance. FIG. 9 is a table showing the relationship between the variables and the elements of the UI program. As shown in FIG. 9, if the variable type is a BOOL type, the element of the UI program is a bit lamp. If the variable type is an integer type or a real type, the element of the UI program is a right-aligned data display. If the variable type is a STRING type, the element of the UI program is a left-aligned data display. If the variable type is a structure type, the element of the UI program is a display frame of shape and form corresponding to the structure member.
Accordingly, when an INT (integer) type variable is dragged in the variable setting editing area 4111 and is dropped in the UI program editing area 142 as shown in FIG. 8(A), a data display (right-aligned type) is disposed and displayed in a specified position of the UI program editing area 142 as shown in FIG. 8(B). At this time, the variable is added to the variable mapping of the UI program.
Besides, in the above description, the program development support unit 11 sets the elements of the UI program from the elements of the sequence program, but reverse process can also be performed. That is, the program development support unit 11 can set the elements of the sequence program from the elements of the UI program.
Specifically, the program development support unit 11 executes process shown in FIG. 10. FIG. 10 is a flowchart showing the process of the program development support technology of the present invention. Besides, in FIG. 10, an aspect in which the sequence program is the ladder program is shown, but the same process can also be performed on the ST program and the variable setting program.
The program development support unit 11 detects a drag position based on input of the operation input unit 12 (S31), and extracts the type and variable of the dragged element of the UI program (S31-S33). This process is the same as the process of S11 in FIG. 2.
The program development support unit 11 extracts the type and variable of the dragged element of the UI program (S32).
The program development support unit 11 detects a drop position based on input of the operation input unit 12 (S34). Specifically, the program development support unit 11 detects a position within the ladder program editing area 411 that is specified by the operation input unit 12.
The program development support unit 11 generates a variable for the ladder program corresponding to the extracted element of the UI program (S35).
The program development support unit 11 disposes an element (ladder element) of the ladder program corresponding to the extracted element of the UI program in the drop position (S36).
The program development support unit 11 sets a variable for the disposed element of the ladder program (S37). At this time, the program development support unit 11 updates the variable mapping of the ladder program corresponding to the added element of the ladder program.
FIG. 11(A) is a screen diagram showing a drag state of a button of the UI program, and FIG. 11(B) is a screen diagram showing a drop state of the button of the UI program.
When the programmer operates the operation input unit 12 such as a mouse or the like, the pointer moves on the display screen 140 in accordance with movement of the mouse. Then, when the display area of the element of the UI program overlaps the pointer, the display mode of the display area of the element of the UI program changes. When the programmer performs a drag operation in this state, the element of the ladder program is selected.
Next, when the programmer maintains the drag operation state and moves the mouse to the ladder program editing area 411, the element of the ladder program corresponding to the element of the UI program is displayed on the ladder program editing area 411 as shown in FIG. 11(B).
Accordingly, when the button is dragged in the UI program editing area 142 and is dropped in the ladder program editing area 411 as shown in FIG. 11(A), the contact point is disposed and displayed in a specified position of the ladder program editing area 411 as shown in FIG. 11(B). At this time, an inherent index may be attached to and displayed on the contact point. The inherent index refers to a variable name or the like of the contact point corresponding to the button. In addition, the newly-added contact point is automatically connected to the elements of two adjacent sides of the ladder program.
At this time, the variable of the corresponding button is set on the contact point. In addition, the contact point and the variable thereof are added to the variable mapping of the ladder program.
Besides, overwrite update process can also be applied similarly to the above-described Embodiment 1 in these processes. The program development support 11 executes the processes from S41 to S44 when the elements of the UI program are set from the elements of the sequence program.
Besides, although not described in detail in the above description, the name of a controller in which the sequence program is applied is also utilized as information during drag and drop. For example, in a state that a plurality of controllers is edited in parallel, for example, a state that a controller 1 (CTRL1) and a controller (CTRL2) are edited in parallel as shown in each drawing, the variable mapping is updated so that the editing includes an active controller name (controller 1 (CTRL1) in each drawing). Accordingly, a sequence program and a UI program in which variables are mutually matched can also be easily created even if a plurality of controllers is edited in parallel.
In addition, although a case in which the variable is an array is not described in the above description, when the variable is an array, the elements of the UI program can be displayed by array corresponding to the array number of the elements of the sequence program based on the above process. Accordingly, the sequence program and the UI program can be mutually matched and easily created even for the arrayed variables.
In addition, an aspect in which drag and drop from the sequence program or variable setting to the UI program are performed is shown in the above description, but drag and drop from the UI program to the sequence program can also be performed using the same principle.
In addition, in the above description, an aspect is shown in which the sequence program editing area 141, the UI program editing area 142, and the variable setting editing area 4111 are displayed on the display screen 140 at the same time. However, for example, the above-described process can also be applied to an aspect in which the sequence program editing area 141, the UI program editing area 142, and the variable setting editing area 145 are respectively set in full screen display on the display screen 140 and are switched to be displayed by a tab operation and the like for each area. In this case, for example, it is sufficient to switch the editing area of a current (an editing object) by overlapping the mouse on the tab and execute the drag and drop using the mouse. In addition, 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 hereto, and can be appropriately set using various methods in which a plurality of areas is displayed on the display screen.

Claims (8)

What is claimed is:
1. A program development support device, comprising:
a display configured to display an editing screen of a controller program and an editing screen of a user interface program; and
a processor, coupled to the display, configured to:
perform an editing of the controller program;
perform an editing of the user interface program;
receive an operation input of selection and movement of an element of the controller program displayed in the editing screen of the controller program; and
reflect, on the editing screen of the user interface program, an element of the user interface program that correspond to the element of the controller program that is selected and moved from the editing screen of the controller program to the editing screen of the user interface program,
wherein the processor determines type of the element of the user interface program according to type of the controller program, and
if the elements of the controller program are global variables and there is no element of the user interface program at a movement destination of the element of the controller program, the processor causes the elements of the user interface program corresponding to the element of the controller program being moved to be newly displayed on the editing screen of the user interface program,
wherein the processor updates a variable mapping when the element of the controller program is dragged and dropped to a movement destination in the editing screen of the user interface program having the element of the user interface program corresponding to the element of the controller program, and there are elements of the user interface program corresponding to the elements of the controller program at the movement destination,
wherein the variable mapping represents a relation between each of a plurality of elements of the user interface program and each of a plurality of elements of the controller program,
wherein the elements of the user interface program are graphical interface indicators for operator to perform settings on a sequence control device, and the elements of the controller program are used to program the operation of the sequence control device,
wherein the user interface program and controller program are associated by the global variables.
2. The program development support device according to claim 1,
wherein the processor updates the variable mapping if the elements of the controller program are global variables, and
the variable mapping is not updated if variables of the elements of the controller program are not global variables.
3. The program development support device according to claim 1,
wherein the processor detects a data type of the variable of the selected element of the controller program, and determines a display mode of the elements of the user interface program corresponding to the data type of the variable.
4. The program development support device according to claim 1,
wherein the processor is capable of editing a plurality of controller programs in parallel, and
detects the selected controller program to perform a variable mapping for the detected controller program.
5. The program development support device according to claim 1,
wherein the controller program is a ladder program or a ST program.
6. The program development support device according to claim 5, wherein
when the controller program is an ST program, shapes of elements of the user interface program are determined according to positions of ST elements.
7. A program development support method, comprising:
a controller editing process for performing an editing of a controller program;
a UI editing process for performing an editing of a user interface program;
a display process for displaying an editing screen of the controller program and an editing screen of the user interface program;
an operation input process for receiving an operation input of selection and movement of an element of the controller program displayed in the editing screen of the controller program; and
a copy function process for reflecting, on the editing screen of the user interface program, an element of the user interface program that correspond to the element of the controller program that is selected and moved from the editing screen of the controller program to the editing screen of the user interface program,
wherein in the copy function process,
type of the element of the user interface program is determined according to type of the controller program, and
if the elements of the controller program are global variables and there is no element of the user interface program at a movement destination of the element of the controller program, the program development support method causes the element of the user interface program corresponding to the element of the controller program being moved to be newly displayed on the editing screen of the user interface program,
wherein a variable mapping is updated when the element of the controller program is dragged and dropped to a movement destination in the editing screen of the user interface program having the element of the user interface program corresponding to the element of the controller program, and there are elements of the user interface program corresponding to the elements of the controller program at the movement destination,
wherein the variable mapping represents a relation between each of a plurality of elements of the user interface program and each of a plurality of elements of the controller program,
wherein the elements of the user interface program are graphical interface indicators for operator to perform settings on a sequence control device, and the elements of the controller program are used to program the operation of the sequence control device, wherein the user interface program and controller program are associated by the global variables.
8. A non-transitory storage unit storing a program development support program, the program development support program causing an information processing device to execute:
a controller editing process for performing an editing of a controller program;
a UI editing process for performing an editing of a user interface program;
a display process for displaying an editing screen of the controller program and an editing screen of the user interface program;
an operation input process for receiving an operation input of selection and movement of an element of the controller program displayed in the editing screen of the controller program display process; and
a copy function process for reflecting, on the editing screen of the user interface program, an element of the user interface program that correspond to an element of the controller program that is selected and moved from the editing screen of the controller program to the editing screen of the user interface program,
wherein in the copy function process,
the information processing device is caused to determine type of the element of the user interface program according to type of the controller program, and
if the elements of the controller program are global variables and there is no element of the user interface program at a movement destination of the element of the controller program, the information processing device causes the element of the user interface program corresponding to the element of the controller program being moved to be newly displayed on the editing screen of the user interface program,
wherein a variable mapping is updated when the element of the controller program is dragged and dropped to a movement destination in the editing screen of the user interface program having the element of the user interface program corresponding to the element of the controller program, and there are elements of the user interface program corresponding to the elements of the controller program at the movement destination,
wherein the variable mapping represents a relation between each of a plurality of elements of the user interface program and each of a plurality of elements of the controller program,
wherein the elements of the user interface program are graphical interface indicators for operator to perform settings on a sequence control device, and the elements of the controller program are used to program the operation of the sequence control device, wherein the user interface program and controller program are associated by the global variables.
US16/605,214 2017-05-31 2018-02-28 Program development support device, program development support method, and non-transitory computer-readable recording medium Active 2038-06-03 US11320976B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017-107429 2017-05-31
JPJP2017-107429 2017-05-31
JP2017107429A JP6922431B2 (en) 2017-05-31 2017-05-31 Program development support device, program development support method, and program development support program
PCT/JP2018/007411 WO2018220921A1 (en) 2017-05-31 2018-02-28 Program development support device, program development support method, and program development support program

Publications (2)

Publication Number Publication Date
US20210141513A1 US20210141513A1 (en) 2021-05-13
US11320976B2 true US11320976B2 (en) 2022-05-03

Family

ID=64455381

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/605,214 Active 2038-06-03 US11320976B2 (en) 2017-05-31 2018-02-28 Program development support device, program development support method, and non-transitory computer-readable recording medium

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220198113A1 (en) * 2019-02-27 2022-06-23 Mitsubishi Electric Corporation Design support device and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022139090A (en) * 2021-03-11 2022-09-26 オムロン株式会社 Development support device, development support method, and development support program

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075614A (en) 1999-08-31 2001-03-23 Digital Electronics Corp Editor device and recording medium recording editor program
JP2002140107A (en) 2001-07-23 2002-05-17 Digital Electronics Corp Editor system, and recording medium recorded with editor program
JP2003044105A (en) 2001-07-31 2003-02-14 Digital Electronics Corp Editor device, editor program, and recording medium where the same is recorded
US20060089728A1 (en) * 2004-10-21 2006-04-27 Fanuc Ltd Sequence program editing apparatus
US7603183B1 (en) * 1999-08-31 2009-10-13 Digital Electronics Corporation Editor device and recorded medium on which editor program is recorded
EP2146259A2 (en) 2008-03-26 2010-01-20 Fisher-Rosemount Systems, Inc. Method and apparatus to create process control graphics based on process control algorithm information
JP2011192088A (en) 2010-03-15 2011-09-29 Omron Corp Plc program development support apparatus
US20120084664A1 (en) * 2010-09-30 2012-04-05 Mathworks, Inc. Method and system for binding graphical interfaces to textual code
US8694959B2 (en) * 2008-09-30 2014-04-08 Ics Triplex Isagraf Inc. Multi language editor
US20150094829A1 (en) * 2012-03-19 2015-04-02 Mitsubishi Electric Corporation Sequence program creation device
US20150261872A1 (en) * 2012-12-26 2015-09-17 Mitsubishi Electric Corporation Electronic-manual browsing apparatus and system
US9176734B2 (en) * 2012-01-12 2015-11-03 Yokogawa Electric Corporation Ladder program creation apparatus
US10719643B2 (en) * 2016-09-14 2020-07-21 Mitsubishi Electric Corporation Ladder program editing support apparatus and ladder program editing method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW541447B (en) * 1999-08-31 2003-07-11 Digital Electronics Corp Editor device and recording medium for storing an editor program
JP2003330126A (en) * 2002-05-15 2003-11-19 Noritsu Koki Co Ltd Image processor
WO2007086102A1 (en) * 2006-01-24 2007-08-02 Toshiba Mitsubishi-Electric Industrial Systems Corporation Plant control system control program creation/display device
JP2012038068A (en) * 2010-08-06 2012-02-23 Mitsubishi Heavy Ind Ltd Program creation device and image control system
JP5521889B2 (en) * 2010-08-19 2014-06-18 富士電機株式会社 Automatic program generator
JP6483507B2 (en) * 2015-04-07 2019-03-13 株式会社東芝 Control program creating apparatus and control program debugging method

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603183B1 (en) * 1999-08-31 2009-10-13 Digital Electronics Corporation Editor device and recorded medium on which editor program is recorded
JP2001075614A (en) 1999-08-31 2001-03-23 Digital Electronics Corp Editor device and recording medium recording editor program
JP2002140107A (en) 2001-07-23 2002-05-17 Digital Electronics Corp Editor system, and recording medium recorded with editor program
JP2003044105A (en) 2001-07-31 2003-02-14 Digital Electronics Corp Editor device, editor program, and recording medium where the same is recorded
US20060089728A1 (en) * 2004-10-21 2006-04-27 Fanuc Ltd Sequence program editing apparatus
EP2146259A2 (en) 2008-03-26 2010-01-20 Fisher-Rosemount Systems, Inc. Method and apparatus to create process control graphics based on process control algorithm information
US8694959B2 (en) * 2008-09-30 2014-04-08 Ics Triplex Isagraf Inc. Multi language editor
JP2011192088A (en) 2010-03-15 2011-09-29 Omron Corp Plc program development support apparatus
US20120084664A1 (en) * 2010-09-30 2012-04-05 Mathworks, Inc. Method and system for binding graphical interfaces to textual code
US9176734B2 (en) * 2012-01-12 2015-11-03 Yokogawa Electric Corporation Ladder program creation apparatus
US20150094829A1 (en) * 2012-03-19 2015-04-02 Mitsubishi Electric Corporation Sequence program creation device
US20150261872A1 (en) * 2012-12-26 2015-09-17 Mitsubishi Electric Corporation Electronic-manual browsing apparatus and system
US10719643B2 (en) * 2016-09-14 2020-07-21 Mitsubishi Electric Corporation Ladder program editing support apparatus and ladder program editing method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"International Search Report (Form PCT/ISA/210) of PCT/JP2018/007411," dated May 29, 2018, with English translation thereof, pp. 1-3.
"Search Report of Europe Counterpart Application", dated Jan. 27, 2021, pp. 1-8.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220198113A1 (en) * 2019-02-27 2022-06-23 Mitsubishi Electric Corporation Design support device and storage medium
US11809796B2 (en) * 2019-02-27 2023-11-07 Mitsubishi Electric Corporation Support device and storage medium

Also Published As

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

Similar Documents

Publication Publication Date Title
CA2795183C (en) Temporary formatting and charting of selected data
JP4303311B2 (en) Operation support computer program, operation support computer system
US9208138B2 (en) Range adjustment for text editing
US8219922B2 (en) Dynamic point and extend user interface
US10976725B2 (en) User interface widget modeling and placement
JPWO2015151619A1 (en) Car information system
US9910643B2 (en) Program for program editing
JP6006399B2 (en) Programmable display, its program
JP2014032529A (en) Plc system, drawing editor device thereof, and programmable display
US11320976B2 (en) Program development support device, program development support method, and non-transitory computer-readable recording medium
JP2015156063A (en) Ladder program creation device, computer program, and computer readable information recording medium
JP6068758B2 (en) Programmable display
JP2015036930A (en) Display device, display method and program
JP2000020213A (en) Apparatus and method for information processing and computer-readable recording medium where program for allowing computer to implement the same method is recorded
US20150032419A1 (en) Plc designing apparatus
JP2013196414A (en) Information processing program, information processing device, information processing system and display control method
KR101498877B1 (en) Program-producing device and image control system
CN110073298A (en) Mapping software, storage medium and plotting unit
US11709584B2 (en) User interface development assistance device, user interface development assistance method, and non-transitory computer-readable recording medium
JP7093294B2 (en) Drawing system and program
JPWO2015129245A1 (en) Information processing apparatus, information display method, and program
US11268226B2 (en) Sewing data processing system, terminal, sewing machine, and program
JP2016042253A (en) Information processing apparatus and program
JP2017157046A (en) Information processor, information processing program and information processing method
JP2007010891A (en) Display device, control program, and recording medium having the program recorded therein

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: OMRON CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IWAMURA, SHINTARO;REEL/FRAME:050724/0001

Effective date: 20190822

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE