Method and Apparatus for Automatic Programming
20230236804 · 2023-07-27
Assignee
Inventors
Cpc classification
B25J9/1656
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/23258
PHYSICS
International classification
Abstract
Various embodiments include a method for automatic programming. The method may include: receiving a user's request to create a first global parameter of a specific type by detecting the user's dragging a control corresponding to the specific type from a first user interface and dropping the control on a second user interface; displaying a first popup window for editing the first global parameter on the second user interface; receiving the user's editing operations on the first global parameter in the first popup window; creating the first global parameter according to the user's editing operations; and displaying a new added first card of the first global parameter in a list of global parameters on a third user interface.
Claims
1. A method for automatic programming, the method comprising: receiving a user's request to create a first global parameter of a specific type by detecting the user's dragging a control corresponding to the specific type from a first user interface and dropping the control on a second user interface; displaying a first popup window for editing the first global parameter on the second user interface; receiving the user's editing operations on the first global parameter in the first popup window; creating the first global parameter according to the user's editing operations; and displaying a new added first card of the first global parameter in a list of global parameters on a third user interface.
2. The method according to claim 1, further comprising: receiving the user's request of setting relation of a second global parameter with a first function block displayed on the second user interface by detecting the user's dragging of a second card of the second global parameter from the third user interface and dropping on the second user interface if a predefined condition is met; displaying a second popup window for editing the second global parameter on the second user interface; receiving the user's editing operations on the second global parameter in the second popup window; and setting the first function block according to the user's operations on the second global parameter.
3. The method according to claim 2, wherein: the user's editing operations include changing the second global parameter into a local parameter; and setting the first function block according to the user's operations on the second global parameter comprises: creating a first local parameter and inheriting values of data items of the second global parameter to the first local parameter.
4. The method according to claim 2, wherein the user's editing operations include changing a second local parameter into a third global parameter; and the method further comprises: creating the third global parameter and inheriting values of data items of the second local parameter to the third global parameter; and displaying a new added third card of the third global parameter in the list of global parameters on a third user interface.
5. The method according to claim 1, further comprising: detecting the user's selecting a fourth card of a fourth global parameter; displaying at least one function block using the fourth global parameter in a highlighted way on the second user interface.
6. The method according to claim 1, further comprising: receiving the user's modification request on a fifth global parameter by detecting the user's clicking on a first button on a card of the fifth global parameter; displaying a third popup window for editing the fifth global parameter on the second user interface; receiving the user's editing operations on the fifth global parameter in the third popup window; updating all function block referring to the fifth global parameter when detecting the user's clicking on a second button in the third popup window; closing the third popup window and displaying the updating status of all FBs referring to the fifth global parameter.
7. The method according to claim 1, wherein types of a global parameter comprise at least one of the following items: a motion path including at least one position group, each position group corresponds to a point on a motion path, data items of each position group include position coordinates, speed and acceleration; a position coordinate; an I/O channel; and a value.
8. An apparatus for automatic programming, the apparatus comprising: a user interaction module configured to receive a user's request on creating a first global parameter of a specific type by detecting the user's dragging a control corresponding to the specific type from a first user interface and dropping the control on a second user interface; a displaying module configured to display a first popup window for editing the first global parameter on the second user interface; and a processing module configured to receive the user's editing operations on the first global parameter in the first popup window and create the first global parameter according to the user's editing operations; wherein the displaying module is further configured to display a new added first card of the first global parameter in a list of global parameters on a third user interface.
9. The apparatus according to claim 8, wherein the user interaction module is further configured to receive the user's request of setting relation of a second global parameter with a first function block displayed on the second user interface by detecting the user's dragging of a second card of the second global parameter from the third user interface and dropping on the second user interface if a predefined condition is met; the displaying module is further configured to display a second popup window for editing the second global parameter on the second user interface; the user interaction module is further configured to receive the user's editing operations in the second popup window; and the processing module further configured to set the first function block according to the user's operations.
10. The apparatus according to claim 9, wherein: the user's editing operations include changing the second global parameter into a local parameter; and the processing module is further configured to create a first local parameter and inheriting values of data items of the second global parameter to the first local parameter, when setting the first function block according to the user's operations on the second global parameter.
11. The apparatus according to claim 9, wherein: the user's editing operations include changing a second local parameter into a third global parameter; the processing module is further configured to create the third global parameter and inherit values of data items of the second local parameter to the third global parameter; and the displaying module is further configured to display a new added third card of the third global parameter in the list of global parameters on a third user interface.
12. The apparatus according to claim 8, wherein: the user interaction module is further configured to detect the user's selecting a fourth card of a fourth global parameter; and the displaying module is further configured to display at least one functional block using the fourth global parameter in a highlighted way on the second user interface.
13. The apparatus according to claim 8, wherein the user interaction module is further configured to receive the user's modification request on a fifth global parameter by detecting the user's clicking on a first button on a card of the fifth global parameter; the displaying module is further configured to display a third popup window for editing the fifth global parameter on the second user interface; the user interaction module is further configured to receive the user's editing operations on the fifth global parameter in the third popup window; the processing module is further configured to update all function blocks referring to the fifth global parameter when detecting the user's clicking on a second button in the third popup window; and the user interaction module is further configured to close the third popup window and display the updating status of all FBs referring to the fifth global parameter.
14. The apparatus according to claim 8, wherein types of a global parameter comprise at least one of the following items: a motion path including at least one position group, each position group corresponding to a point on a motion path, data items of each position group include position coordinates, speed and acceleration; a position coordinate; an I/O channel; and a value.
15. An apparatus for automatic programming, the apparatus comprising: a processor; and a memory coupled to the processor and storing a set of instructions; wherein the set of instructions, when executed by the processor, causes the processor to: receive a user's request to create a first global parameter of a specific type by detecting the user's dragging a control corresponding to the specific type from a first user interface and dropping the control on a second user interface; display a first popup window for editing the first global parameter on the second user interface; receive the user's editing operations on the first global parameter in the first popup window; create the first global parameter according to the user's editing operations; and display a new added first card of the first global parameter in a list of global parameters on a third user interface.
16. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The above mentioned attributes and other features and advantages of the present technique and the manner of attaining them will become more apparent and the present technique itself will be better understood by reference to the following description of embodiments of the present technique taken in conjunction with the accompanying drawings, wherein:
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
REFERENCE NUMBERS
[0038] 10, an apparatus for automatic programming [0039] 101, at least one memory [0040] 102, at least one processor [0041] 103, an input interface [0042] 104, an output interface [0043] 105, a communication module [0044] 20, an automatic programming program [0045] 201, a user interaction module [0046] 202, a displaying module [0047] 203, a processing module [0048] 301, 302, input devices [0049] 40, an output device [0050] 50, a robot [0051] 60, global parameters used in the automatic programming program 20 [0052] 100, a method for automatic programming [0053] S101-S119, steps of method 100 [0054] 701, a first user interface [0055] 702, a second user interface [0056] 703, a third user interface [0057] 801, Function library [0058] 802, a card of a global parameter [0059] 802′, a list of cards of global parameters [0060] 803, control of a global parameter in the function library 801 [0061] 804, a popup window for editing a global parameter [0062] 805, button for changing a local parameter into a global parameter
DETAILED DESCRIPTION
[0063] With the dragging-dropping-editing-listing steps, a global parameter of a desired type can be easily added and the adding result is also shown user-friendly and intuitively. Also, With the dragging-dropping-editing-listing steps, a global parameter can be easily referenced by one or multiple FBs. Use and editing of a global parameter in a FB can be much more easily and conveniently. What's more, FBs referring to a specific global parameter can be easily viewed. And, with the easy operations “Expand All” and “Save to all”, a global parameter's modification can be easily expanded to each FB, saving programming time and results of synchronization be viewed intuitively.
[0064] Hereinafter, above-mentioned and other features of the present technique are described in detail. Various embodiments are described with reference to the drawings, where like reference numerals are used to refer to like elements throughout. In the following description, for purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be noted that the illustrated embodiments are intended to explain, and not to limit the scope of the disclosure. It may be evident that such embodiments may be practiced without these specific details.
[0065] When introducing elements of various embodiments of the present disclosure, the articles “a”, “an”, “the” and “said” are intended to mean that there are one or more of the elements. The terms “comprising”, “including” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. Now the present disclosure will be described hereinafter in details by referring to
[0066]
[0067] Computer-executable instructions are stored in the at least one memory 101, and when executed by the at least one processor 102, can cause the at least one processor 102 to perform the steps described herein. The at least one processor 102 may include a microprocessor, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a central processing unit (CPU), a graphics processing unit (GPU), state machines, etc. embodiments of computer-readable medium include, but not limited to a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read instructions. Also, various other forms of computer-readable medium may transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired and wireless. The instructions may include code from any computer-programming language, including, for example, C, C++, C#, Visual Basic, Java, and JavaScript.
[0068] The at least one memory 101 shown in
[0069] The automatic programming program 20 can include: [0070] a user interaction module 201, configured to interact with a user, such as receiving the user's operation request during programming; [0071] a displaying module 202, configured to display user interfaces; [0072] a processing module 203, configured to process parameters, including global parameters and optionally local parameters, and optionally to process function blocks and other items during programming.
[0073] As shown in
[0074] A Function library 801 can be displayed on the first user interface 701. There can be multiple groups of functions in the
[0075] Function library 801, such as “Action”, “Logic Tools”, “Math Tools”, “Parameter” and “Skills”. when the control “parameter” is selected, types of global parameters will be displayed on the first user interface 701. Types of global parameters include but not limited to: “Motion path”, “Position coordinate”, “I/O channel” and “Value” (details of the types are shown in
[0076] With such a design, users can easily and clearly get to know what types of global parameters can be used and what global parameters have already been added. With the separate area of editing data items of a global parameter, users can focus on details of global parameter. Such separate user interfaces design can also make adding, editing and viewing use of global parameters become more easily.
[0077] Now referring to
[0078] As shown in
[0083] As shown in
[0084] As shown in
[0085] In some embodiments, the following operations can be made on a global parameter:
[0086] 1) creating a global parameter (shown in
[0087] 2) editing a global parameter in an FB (function block) (shown in
[0088] 3) highlighting FBs using a global parameter (shown in
[0089] 4) modifying a global parameter and expanding the modification to FBs (shown in
[0090] As shown in the upper figure in
[0091] Now referring to
[0092] Now referring to
[0093] Now referring to
[0094] With the dragging-dropping-editing-listing steps, a global parameter can be easily referenced by one or multiple FBs. Use and editing of a global parameter in a FB can be much more easily and conveniently. As shown in
[0095] Referring to
[0096] A global parameter is different than local ones, modification on a global parameter will influence all FBs referring it. Here, with the easy operations “Expand All” and “Save to all”, a global parameter's modification can be easily expanded to each FB, saving programming time and results of synchronization be viewed intuitively.
[0097] The user interaction module 201, the displaying module 202, and the processing module 203 are described above as software modules of the automatic programming program 20. In some embodiments, they can be implemented via hardware, such as ASIC chips. They can be integrated into one chip, or separately implemented and electrically connected. The architecture above is merely exemplary and used to explain the exemplary method 100 shown in
[0098] One exemplary method 100 incorporating teachings of the present disclosure includes steps S101 to S118, which correspond respectively to above mentioned operations:
[0099] 1) creating a global parameter
[0100] Following steps are included as to the operations of creating a global parameter: [0101] S101: receiving a user's request on creating a first global parameter of a specific type by detecting the user's dragging a control corresponding to the specific type from a first user interface 701 and dropping the control on a second user interface 702; [0102] S102: displaying a first popup window 804 for editing the first global parameter on the second user interface 702; [0103] S103: receiving the user's editing operations on the first global parameter in the first popup window 804; [0104] S104: creating the first global parameter according to the user's editing operations on the first global parameter; [0105] S105: displaying a new added first card 802 of the first global parameter in a list 802′ of global parameters on a third user interface 703.
[0106] 2) editing a global parameter in an FB
[0107] Following steps are included as to the operations of editing a global parameter: [0108] S106: receiving the user's request of setting relation of a second global parameter with a first FB displayed on the second user interface 702 by detecting the user's dragging of a second card 802 of the second global parameter from the third user interface 703 and dropping on the second user interface 702 if predefined condition is met; [0109] S107: displaying a second popup window 804 for editing the second global parameter on the second user interface 702; [0110] S108: receiving the user's editing operations on the second global parameter in the second popup window 804; [0111] S109: setting the first FB according to the user's operations on the second global parameter.
[0112] In some embodiments, for changing a global parameter into a local one, in the step S109, a first local parameter can be created and values of data items of the second global parameter inherited to the first local parameter.
[0113] In some embodiments, for changing a local parameter into a global one, further steps can be executed after the step S109: [0114] S110: creating the third global parameter and inheriting values of data items of the second local parameter to the third global parameter; and [0115] S111: displaying a new added third card 802 of the third global parameter in the list 802′ of global parameters on a third user interface 703.
[0116] 3) highlighting FBs using a global parameter
[0117] Following steps are included as to the operations of creating a global parameter: [0118] S112: detecting the user's selecting a fourth card 803 of a fourth global parameter; [0119] S113: displaying at least one FB using the fourth global parameter in a highlighted way on the second user interface 702.
[0120] 4) modifying a global parameter and expanding the modification to FBs
[0121] Following steps are included as to the operations of modifying a global parameter and expanding to FBs: [0122] S114: receiving the user's modification request on a fifth global parameter by detecting the user's clicking on a first button on a card 802 of the fifth global parameter; [0123] S115: displaying a third popup window 804 for editing the fifth global parameter on the second user interface 702; [0124] S116: receiving the user's editing operations on the fifth global parameter in the third popup window 804; [0125] S117: updating all FBs referring to the fifth global parameter when detecting the user's clicking on a second button in the third popup window 804; [0126] S118: closing the third popup window 804; and [0127] S119: displaying the updating status of all FBs referring to the fifth global parameter.
[0128] In some embodiments, a computer-readable medium stores computer-executable instructions, which upon execution by a computer, enables the computer to execute any of the methods presented in this disclosure. A computer program, which is being executed by at least one processor and performs any of the methods presented in this disclosure.
[0129] An automatic programming enhancement solution is provided in the present disclosure, which allows:
[0130] 1) Using different parameter types to distinguish value reuse scenario. Each parameter type has a fixed structure and friendly interface to identify. UI elements can be distinguished with data input usage (e.g. “motion path”, “value”, etc.).
[0131] 2) User can quickly save, reference and copy reusable global parameters and data output values. On one hand, frequently used parameters can be referenced by and copied to different FBs; on the other hand, global parameters can also be dragged and dropped for reference by FBs.
[0132] 3) Global parameters can be visually identified and modified in referenced FBs. Global parameters' modification can be applied to all referring FBs. And global parameters and local parameters can also be distinguished during editing in FBs. For quickly getting a view of global parameter's usage in FBs, FBs related can be highlighted when a global parameter is selected.
[0133] While the present technique has been described in detail with reference to certain embodiments, it should be appreciated that the present technique is not limited to those precise embodiments. Rather, in view of the present disclosure which describes exemplary modes for practicing the teachings herein, many modifications and variations would present themselves, to those skilled in the art without departing from the scope and spirit of this disclosure. All changes, modifications, and variations coming within the meaning and range of equivalency of the claims are to be considered within their scope.