Automation control system
By generating and parsing the computer code of the automation model on the computing device, transmitting and executing broadcast parameters, the problem of transmission protocol limitation is solved, the efficiency and security of the automation system are improved, and more efficient automation process execution and verification is achieved.
Patent Information
- Application Number
- CN201980013802.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-01-25
- Filing Date
- 2019-01-18
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2039-05-23
AI Technical Summary
Existing automation systems are limited by transmission protocols when transmitting and executing automation codes and parameters, resulting in complex and time-consuming development and testing processes, and are unable to fully utilize the processing capabilities of automation devices.
The computer code representing the automation model is generated through the computing device, and the parser module is used to parse it into broadcast parameters and transmit it to the automation device. The reverse parser module is used to translate it into an executable automation process to achieve fast and efficient transmission and implement.
Simplifies the development and testing of automation controls, improves the efficiency and safety of automation systems, and allows automation devices to execute automation parameters with minimal processing capabilities, enabling more efficient automation process execution and verification.
Smart Images

Figure CN112204531B_ABST
Abstract
Description
Summary of the invention
[0001] According to various embodiments, a system can provide automation by inputting an automation model into a computing device via a graphical user interface of the computing device. A controller of the computing device converts the automation model into computer code, which is streamlined by a parser module of the computing device to create broadcast parameters. The broadcast parameters are transmitted to an automation device, where the broadcast parameters are translated into an automation process by a reverse parser module of the automation device. The automation process is then executed by the automation device to physically enact the automation model by the automation device. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Figure 1 Shown is a block representation of an example automation system in which various embodiments may be practiced.
[0003] Figure 2 It can be used for Figure 1 A representation of an instance automation device in an automation system.
[0004] Figure 3 Conveys various embodiments of the invention Figure 1 An example computing device in an automation system.
[0005] Figure 4 An example timeline showing operation of an example automation system in accordance with various embodiments.
[0006] Figure 5 An example automation system operating in accordance with some embodiments is described.
[0007] Figure 6 According to some embodiments, Figure 1 A flowchart of an example automation routine implemented by an automation system. DETAILED DESCRIPTION
[0008] As computing devices advance and miniaturize, an increasing number of activities and processes can be partially or fully automated. Such automation can improve efficiency and safety with relatively simple actions. While technologically advanced computing and automation components can handle more complex processes, automation control has been constrained by transmission protocols that limit the automation code and parameters that can be broadcast to automation devices, which results in lengthy and unnecessarily complex development and testing of automation systems.
[0009] Thus, various embodiments of the present invention are directed to methods and associated apparatus for efficiently relating computer models to executed automation actions. By parsing computer code generated by a computing device during modeling, automation controls can be quickly and easily transferred and executed by an automation device. The ability to model various automation aspects using the processing power of a computing device, generate computer code representing the modeled automation, parse the computer code into parameters that can be easily understood and executed by a connected automation device, and transfer the parameters to the automation device allows the automation device to execute the parsed automation parameters as a physical representation of the modeled automation using minimal onboard processing power.
[0010] Figure 1 A block representation of an example automation system 100 that can operate according to various embodiments to optimize the development and testing of automation controls is shown. The automation system 100 can utilize any number of automation devices 102 independently or simultaneously to implement a variety of different tasks, such as manufacturing, construction, downhole exploration, and testing. It is contemplated that the system 100 may have a variety of different automation devices 102 that may be physically separated or interconnected to implement one or more tasks. The automation device 102 may be any assembly of parts that is capable of translating computer-readable code into motion without direct physical or logical manipulation by a user. Thus, the automation device 102 is configured to operate autonomously as directed by pre-programmed instructions without user involvement.
[0011] Regardless of the number, type, and location of the automation devices 102 of the automation system 100, each automation device 102 may be connected to a computing device 104 via a wired or wireless connection. The computing device 104 may be stationary, such as a desktop computer, or mobile, such as a laptop computer, a tablet computer, or a smart phone. The computing device 104 may perform a variety of different computing activities, such as data generation, manipulation, storage, and transmission, via one or more local processing components. Although not limited, the computing device 104 may receive physical input from a user, process the input into computer-readable code (e.g., machine code), and transmit those codes to the automation device 102.
[0012] In some embodiments, the computing device 104 may utilize a wired or wireless network 106 connection to engage one or more remote hosts 108 and 110. The remote hosts 108 and 110 may provide additional processing, data storage, and connectivity that may simultaneously or independently complement the capabilities of the computing device 104 to more efficiently control the automation device 102. For example, a first host 108 may be a remote server that provides additional data storage capabilities, while a second host 110 is a network node that may utilize additional computing capabilities from one or more devices that are physically separate from the computing device 104.
[0013] Figure 2According to some embodiments, the present invention may be constructed and operated as Figure 1 1. An example automated device 120 is a portion of an automated system 100 of FIG. 1. The automated device 120 may have one or more motion components that may simultaneously or independently induce activity in at least one component of the device 120. For example, a motor and solenoid may simultaneously loop an arm while an engine supplies hydraulic and / or pneumatic pressure to be used by the arm at a later time. It should be noted that the automated device 120 may have any number of components that move, spin, and grab as coordinated by a predetermined choreographed automated process and implemented by motion components that may be physically located on or separate from the automated device 120 itself.
[0014] The automation device 120 is adapted to provide computing capabilities with at least one local controller 122 (e.g., a microprocessor or an application specific integrated circuit (ASIC)) physically located on / in the automation device 120. The controller 122 can direct data to and from a local memory 124, which can be a volatile or non-volatile memory, such as a hard drive, a solid-state memory array, or a hybrid data storage device. Temporary or permanent data storage in the local memory 124 allows the automation device 120 to perform various operations without being connected to a control device, such as Figure 1 computing device 104.
[0015] The automation device 120 may employ one or more sensors 126, which may be activated continuously, routinely, or sporadically to monitor operating and environmental conditions in and around various portions of the automation device 120. As non-limiting examples, a temperature sensor may operate continuously, while a proximity sensor may be activated sporadically when a portion of the automation device 120 is within predetermined physical tolerances of an object. Regardless of the number and type of sensors utilized by the automation device 120, the data may be stored locally in the memory 124 and processed by the controller 122, which allows for increased autonomy compared to devices without local computing capabilities.
[0016] Although the automation device 120 can generate, store, and process data locally, various embodiments connect the device 120 to at least one remote host, such as a remote host, via the communication module 128. Figure 1 The communication module 128 may utilize one or more different types of communication means to transmit data, such as cellular, wireless local network, and wired connection protocols. It is contemplated that the automation device 120 employs redundant communication means via the communication module 128 to ensure that the device 120 is in constant communication with the remote host.
[0017] The automation device 120 may employ the reverse parser module 130 to convert the parsed automation information into automation code corresponding to the automation process desired by the user. The reverse parser module 130 may utilize the controller 122 and the non-volatile memory 124 to store and process the received broadcast parameters into automation code that causes the automation process to be performed by the device 120. The ability to reverse parse the transmitted communications locally in the automation device 120 rather than at the computing device 102 that created the automation process allows the broadcast parameters to be logically smaller and more efficiently transmitted than if the entire automation process computer code were transmitted.
[0018] Figure 3 A block representation of an example computing device 140 that may be incorporated into the automation system 100 is shown in accordance with various embodiments. The computing device 140 may be used continuously, but in some embodiments, is utilized during the design, testing, and implementation of automation processes stored locally in one or more automation devices. The computing device 140 has at least one local controller 142 that directs the processing of data entered by a user via a graphical user interface (GUI) 144. A user should be understood to be a human operator who contacts the GUI 144 to generate or manipulate data temporarily and permanently stored locally in a memory 146.
[0019] Various embodiments have software stored in local memory 146 that can be used to model and program automation processes as directed by a user. Local controller 142 can provide a graphical representation of the automation process via GUI 144. In a non-limiting embodiment, computing device 140 allows a user to visually model an automation process without manually inserting lines of computer or machine code. That is, the computing power / capability of computing device 140 can allow visual generation and manipulation of existing or future movements, actions, and processes of one or more automation devices 120 without the user actually typing in lines of code.
[0020] This visual modeling capability can be highly efficient when the computing power of computing device 140 converts the visual model from GUI 144 into a few lines of computer / machine code via code module 148. Code module 148 can operate as part of an already predetermined code database. However, code module 148 can also generate new code that is inserted into the database or updates existing code stored in the database.
[0021] While individual lines of computer / machine code may be distributed to the automation device 120 for execution, longer and / or complex automation processes may be time consuming and dependent upon an uninterrupted communication path between the computing device 140 and the automation 120 device. Therefore, the parser module 150 of the computing device 140 may compress portions of the code or translate portions of the code into parameters important for transmission to the automation device 120. In the past, parsing of automation processes was limited to parameters that conformed to a communication protocol dictated by a third party. Therefore, the full range of capabilities of the automation device 120 may not be utilized. Therefore, the development of open source communication protocols, such as the Open Platform Communications Unified Architecture (OPC-UA), has allowed machine code to be transmitted between the computing device 140 and the automation device 120 via the communication module 152 as dictated by the computing device 140.
[0022] The use of an open source communication protocol for transmitting machine code and / or automation process parameters allows a variety of different automation controls to be sent to the automation device 120. However, the increased control provided by the open source communication protocol has corresponded with a greater development and testing schedule that is expensive in terms of time and resources. Therefore, various embodiments configure the parser module 150 to efficiently transition between visual models presented on the GUI 144 to compress machine code from a local database forming an automation process into broadcast parameters that can be efficiently transmitted to, processed by, and executed by the automation device 120.
[0023] Figure 4 Describe the use Figure 3 The computing device 140 of the example automation system 160 optimizes the logic flow of the transformation from the modeled and encoded automation process to the executed device activities. Initially, the automation process starts with a model in step 162, which can be created or manipulated entirely by a human user on the computing device 140. In step 164, the computing device 140 automatically converts the modeled automation process into a plurality of computer codes (lines of code) as part of a database. Then, in step 166, the computer code is parsed by a parser module into broadcast parameters, which are logically smaller than the entire encoded automation process and are transmitted to one or more automation devices more quickly in step 168.
[0024] In other words, the broadcast parameters replace the entire computer coded automation process with a lighter package that can be transmitted to the automation device more efficiently. In step 170, the broadcast parameters are also processed back into computer code by the reverse parser module of the automation device 120 more efficiently than if the entire code was transmitted or the non-open source communication protocol restricted the broadcast parameters.
[0025] In the event that the automation device 120 has the entire automation process from step 170, the process is executed as part of a well-designed routine in step 172. The execution may be sensed by one or more sensors in and around the automation device to verify accurate and complete execution of the automation process in step 174. The sensed conditions are then reported to a remote host (e.g., computing device 140) in 176. The ability to efficiently go from a model residing on a computing device to a process executed by an automation device allows for testing, refinement, and implementation of increasingly longer and more complex automation processes, which can translate into higher performance and throughput for industries utilizing automation.
[0026] Figure 5 According to some embodiments, Figures 1 to 4 The various aspects of the present invention provide an example automation system 180 for optimizing device automation. A user interface 182 is used by a user to create a complete automation process, which is then converted into a database 184 of code, which can be multiple lines of computer and / or machine code. A code module 186 can translate the database code into a readable format, such as XML code.
[0027] The parser module 188 proceeds to compile the XML code into a group of broadcast parameters, which are transmitted to the automation device via the communication module 190 as an open source protocol (OPC-UA). The communication module 192 of the automation device receives the broadcast parameters as part of the open source protocol and then reverse-parses the broadcast parameters into XML code. It should be noted that the XML code from the reverse parser module of the automation device matches the XML code from the code module 186 and fully represents the automation process modeled in the user interface 182. Next, the XML code is executed via an electronic gateway (e.g., a PLC gateway).
[0028] Figure 6 Provided according to various embodiments can be Figures 1 to 5 2. The example automation routine 200 implemented by the automation system and components of FIG. 200 can be started by connecting at least one automation device to a computing device wirelessly or via a wired path. In step 202, a user models an automation process with a GUI of the computing device. The modeling of step 202 can be code-based, visual-based, or a combination of both. Then, in step 204, the modeled automation process is compiled into computer code by a code module of the computing device, which can be characterized as being synonymous with machine code.
[0029] The computer / machine code may store locally or reference previous automation code with a database, but this is not required. In step 206, the parser module of the computing device continues to parse the computer code into broadcast parameters. The broadcast parameters may consist of any number and type of data that conforms to an open source communication protocol (e.g., OPC-UA). It is expected that the broadcast parameters are logically smaller and contain less data than the entire automation process or computer code compiled in step 204.
[0030] It should be noted that parsing the computer / machine code into previously defined broadcast parameters that conform to the open source communication protocol allows for efficient transmission to one or more automation devices in step 208 and conversion by each automation device into automation code in step 210. If the parser module did not intelligently compress the computer code into broadcast parameters, the transmission and conversion to automation code would be suboptimal and could hinder the development and testing of the automation process modeled in step 202. The automation code may be different from the computer code, such as by being a different type of machine code, but the result of a computer executing the entire computer code or an automation device executing the automation code in step 212 will be the same.
[0031] In some embodiments, execution of the automation code to execute the modeled automation process loops the routine 200 back to step 202, while other embodiments continue to sense the executed automation process activity during or after step 212 in step 214. Step 214 may activate one or more different types of sensors to determine whether the automation process was or is being executed correctly, which is evaluated in decision 216. If the sensed execution is correct, step 218 triggers the next activity to be executed, such as a subsequent event, motion, or series of actions called by the automation process. That is, the automation process may be broken down into stages or activities that may be executed and sensed as correct in decision 216 before proceeding.
Claims
1. A method for providing automation, comprising: inputting the automation model into the computing device via a graphical user interface of the computing device; converting the automation model into computer code with a controller of the computing device, the computer code being executable by an automation device; removing portions of the computer code with a parser module of the computing device to create broadcast parameters, the broadcast parameters being translated from the computer code into a package that conforms to a communication protocol and is not executable by the automation device as the automation model; transmitting the broadcast parameter to an automation device, the broadcast parameter being an open source communication protocol; translating the encapsulated broadcast parameters into an automation process using a reverse parser module of the automation device; and The automation process is performed with the automation device to physically formulate the automation model with the automation device. 2 . The method of claim 1 , wherein the controller converts user input from a user to the graphical user interface into the automation model.
3. The method of claim 2, wherein the controller converts the user input into the automation model by accessing a database of automation operations stored in the computing device.
4. The method of claim 1, wherein the computing device and the automation device are physically separated. The method of claim 1 , wherein the automation model is executed by the automation device without direct physical manipulation by a user. The method of claim 1 , wherein the computing device is connected to a plurality of remote hosts via a network.
7. The method of claim 1, wherein the automation device detects the execution of the automation process using a sensor positioned on the automation device.
8. The method of claim 7, wherein the automation device confirms execution of the automation model with the sensor.
9. The method of claim 7, wherein the automation device deviates from the automation process to compensate for automation deviation operational changes.
10. A method for providing automation, comprising: modeling an automated process using a graphical user interface of a computing device; compiling the automated process into computer code via a controller of the computing device; parsing the computer code into broadcast parameters having a smaller logical size than the computer code and being incapable of being executed by an automated device as the automated process; transmitting the broadcast parameters to an automation device; converting, via a controller of the automation device, the broadcast parameters into the computer code; and The automation process is executed using the automation device, thereby causing the automation process to be carried out. The method of claim 10 , wherein the broadcast parameters are transmitted via an open source machine protocol.
12. The method of claim 11, wherein the open source machine protocol is Open Platform Communications Unified Architecture (OPC-UA).
13. The method of claim 10, wherein the computer code is stored in a non-volatile memory of the computing device.
14. The method of claim 10, wherein the automated process is distinct from the computer code.
15. The method of claim 10, wherein the computer code consists of the automated process and other machine code.
16. The method of claim 10, wherein the automation process involves movement of a plurality of different components of the automation device.
17. The method of claim 10, wherein the computer code is in XML format.
18. An apparatus for providing automation, the apparatus comprising a computing device having a graphical user interface and a controller, the controller being configured to convert an automation model input by a user to the graphical user interface into computer code, a parser module of the computing device being configured to remove portions of the computer code to translate the computer code into an encapsulation of broadcast parameters that conforms to a communication protocol and is not executable by the automation device as the automation model prior to transmission to the automation device via the communication module of the computing device, the automation device comprising a reverse parser module configured to translate the encapsulated broadcast parameters into an automation process, the controller of the automation device being configured to execute the automation process to physically enact the automation model.
19. The device of claim 18, wherein the graphical user interface is a touch screen.
20. The apparatus of claim 18, wherein the automation device is positioned downhole and the computing device is positioned at the surface.
