The present disclosure relates to a system and associated methodology for implementing feedback for factory automated devices.
The “background” description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present invention.
Factory automation has become increasingly sophisticated in replacing difficult physical and/or monotonous work, performing tasks in hazardous environments, and performing tasks beyond human capabilities with faster production and cheaper labor costs. The factory automation can be performed by factory automated devices, and manufacturing data is typically analyzed to provide feedback to the factory automated devices. The data analysis site and the manufacturing site are typically in different locations, and the results of the complex data analysis can be difficult to implement at the manufacturing site due to a disconnect in location, as well as a disconnect between people with different skill sets.
The foregoing paragraphs have been provided by way of general introduction, and are not intended to limit the scope of the following claims. The described embodiments, together with further advantages, will be best understood by reference to the following detailed description taken in conjunction with the accompanying drawings.
According to embodiments of the disclosed subject matter, a system for implementing factory automated device feedback includes a factory automated device and a translation server communicably coupled to the factory automated device by a network. Additionally, the translation server includes processing circuitry configured to receive data analysis results from a data analysis server, translate the data analysis results to a programming language of the factory automated device, generate one or more function blocks based on the translation of the data analysis results, wherein the one or more function blocks are generated in the programming language of the factory automated device, and Output the one or more function blocks, wherein the one or more function blocks are configured to be implemented in the factory automated device.
A method for implementing factory automated device feedback, including receiving, via processing circuitry, data analysis results from a data analysis server; translating, via the processing circuitry, the data analysis results to a programming language of a factory automated device; generating, via the processing circuitry, one or more function blocks based on the translation of the data analysis results, wherein the one or more function blocks are generated in the programming language of the factory automated device; and outputting, via the processing circuitry, the one or more function blocks, wherein the one or more function blocks are configured to be implemented in the factory automated device.
A non-transitory computer-readable storage medium that, when executed by a computer, causes the computer to perform a method for implementing factory automated device feedback, including receiving data analysis results from a data analysis server; translating the data analysis results to a programming language of a factory automated device; generating one or more function blocks based on the translation of the data analysis results, wherein the one or more function blocks are generated in the programming language of the factory automated device; and outputting the one or more function blocks, Wherein the one or more function blocks are configured to be implemented in the factory automated device.
A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
The description set forth below in connection with the appended drawings is intended as a description of various embodiments of the disclosed subject matter and is not necessarily intended to represent the only embodiment(s). In certain instances, the description includes specific details for the purpose of providing an understanding of the disclosed subject matter. However, it will be apparent to those skilled in the art that embodiments may be practiced without these specific details. In some instances, well-known structures and components may be shown in block diagram form in order to avoid obscuring the concepts of the disclosed subject matter.
Reference throughout the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, characteristic, operation, or function described in connection with an embodiment is included in at least one embodiment of the disclosed. subject matter. Thus, any appearance of the phrases “in one embodiment” or “in an embodiment” in the specification is not necessarily referring to the same embodiment. Further, the particular features, structures, characteristics, operations, or functions may be combined in any suitable manner in one or more embodiments. Further, it is intended that embodiments of the disclosed subject matter can and do cover modifications and variations of the described embodiments.
It must be noted that, as used in the specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. That is, unless clearly specified otherwise, as used herein the words “a” and “an” and the like carry the meaning of “one or more.” Additionally, it is to be understood that terms such as “left,” “right,” “top,” “bottom,” “front,” “rear,” “side,” “height,” “length,” “width,” “upper,” “lower,” “interior,” “exterior,” “inner,” “outer,” and the like that may be used herein, merely describe points of reference and do not necessarily limit embodiments of the disclosed subject matter to any particular orientation or configuration. Furthermore, terms such as “first,” “second,” “third,” etc., merely identify one of a number of portions, components, points of reference, operations andlor functions as described herein, and likewise do not necessarily limit embodiments of the disclosed subject matter to any particular configuration or orientation.
Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views,
More specifically, in the factory automated device feedback workflow 100, arrow 115 indicates that manufacturing data 120 can be transmitted from one or more factory automated devices 110 to a data analysis site 105 for data analysis 125. In one implementation, the data analysis 125 is performed by Statistica from TWO and/or RapidMiner Studio from RapidMiner, which are incorporated by reference herein in their entirety. Arrow 130 indicates data analysis 125 can generate data analysis results 135. Arrow 140 indicates that the data analysis results 135 can be transmitted to the translation server 142. Arrow 144 indicates that the translation server 142 can output translation results 145 corresponding to output function blocks that have been translated into the factory automated device's 110 programming language. Arrow 150 indicates that the translation results 145 corresponding to the function blocks can be installed into the factory automated devices 110.
The factory automated device 110 can represent one or more factory automated devices connected to the database 210, the data analysis server 215, and the translation server 142 via the network 220. The factory automated device 110 can be any device for factory automation (e.g., industrial robot, industrial machine, etc.). The factory automated device 110 can include a PLC which can receive control programs as function blocks that are configured to implement feedback from data analysis results.
The database 210 can represent one or more databases connected to the factory automated device 110, the data analysis server 215, and the translation server 142 via the network 220. The database 210 can be configured to store look up tables and/or libraries for translating the data analysis results into function blocks of the factory automated device's 110 programming language. Additionally, the database 210 can be configured to store customized interfaces, control programs, and/or function blocks which can be implemented in response to predetermined manufacturing situations (e.g., anomaly detection), as further described herein.
The data analysis server 215 can represent one or more data analysis servers connected to the factory automated device 110, the database 210, and the translation server 142 via the network 220. For example, the data analysis server 215 can be used by data scientists to analyze the manufacturing data 120 (e.g., operation status, operation data, etc.). More specifically, the data analysis server 215 can be configured to perform data analysis on the manufacturing data 120 received from the factory automated devices 110, and output the data analysis results. The data analysis server 215 can also be configured to transmit the results of the data analysis to the translation server 142 at the manufacturing site 155. In other words, the data analysis server 215 can represent any analysis and processing performed by the data scientists when analyzing the manufacturing data 120 received from the factory automated devices 110.
The translation server 142 can represent one or more translation servers connected to the factory automated device 110, the database 210, and the data analysis server 215 via the network 220. The translation server 142 can include processing circuitry to perform various processing for the system 200 including receiving data analytics results from the data analysis server, identifying syntax from the data analysis results, translating the data analysis results into the factory automated device's 110 programming language, generating function blocks, and outputting the function blocks that can be easily integrated into the factory automated devices (e.g., in control programs of the PLC). In other words, the translation server 142 can be a bridge between the complex data analysis and the manufacturers at the manufacturing site 155. The translation server 142 can be located at the manufacturing site 155 such that manufacturers at the manufacturing site 155 can interact with (e.g., via a display) the translation server and customize the fiinction blocks according to various manufacturing scenarios, as will be further described herein.
For example, if there is manufacturing data indicating that there is a relationship such that when a parameter “A” is greater than 50, then the products being manufactured will not be of sufficient quality, then data analysis can provide algorithms (e.g., data analysis results) for resolving the manufacturing issue. Manufacturers need to implement the data analysis results into the factory automated devices, as well as incorporating alarms and setting a threshold to prevent low quality products from being manufactured. Further, these manufacturing remedies may he different for different manufacturers including different thresholds, how the alarm occurs, the specific messages displayed, what recommended measures the manufacturer should take, and the like. The translation server 142 can provide a solution to the complexity of implementing the data analysis results by providing function blocks in the factory automated device's 110 programming language which can provide easy installation for the manufacturers. Additionally, the function blocks can monitor parameters relating to quality, as well as alert andior notify the manufacturers when the parameters exceed predetermined thresholds. Further, the translation server 142 can be configured to receive input from the manufacturer to configure the monitoring parameters, the alarms, and the messaging via an interface, for example, and the translation server 142 can generate function blocks based on the manufacturer's configuration.
The network 220 can represent one or more networks connecting the factory automated device 110, the database 210, the data analysis server 215, and the translation server 142. The network 220 can be a public network, such as the Internet, a private network such as a local area network (LAN) or a wide area network (WAN) network, or any combination thereof and can also include a public switched telephone network (PSTN) or integrated services for digital network (ISDN) sub-networks. The network 220 can also be wired, such as an Ethernet network or a USB port, or can be wireless such as a cellular network including EDGE, 3G 4G, and LTE/LTE-A wireless cellular systems. The wireless network can also be Wi-Fi, Bluetooth, or any other wireless form of communication that is known.
In one embodiment,
Referring again to
It should be appreciated the interfaces depicted in
In S505, results of analytics can be received at the translation server 142 from the data analysis server 215. The results of analytics can correspond to the data analysis results from analyzing the manufacturing data 120 from the factory automated device 110.
In S510, the data analysis results can be translated into the factory automated device's 100 programming language (e.g., Ladder, function block diagram (FBD), etc.). The data analysis results can be translated by recognizing the syntax of the algorithms that correspond to the data analysis results, and using a look up table and/or libraries to translate the data analysis results to the factory automated device's 110 programming language.
In S515, the function blocks can be generated. Generating the function blocks can include receiving input from the manufacturers (e.g., via the interface 315) and generating a control program based on the received input corresponding to a function block that can be easily implemented into the factory automated device's 110 PLC.
In S520, the function blocks can be output from the translation server 142. The output function blocks can then be integrated into the factory automated device 110, for example. After the function block is output from the translation server 142, the process ends.
In S610, the translation server 142 can compare the identified syntax with translation look up tables and/or libraries stored in the database 210. For example, the following syntax may be recognized:
First, the translation server 142 can recognize the “if” statement and parameter in S605, and second, the translation server 142 can refer to look up tables and/or libraries in S610 to translate the algorithm into the factory automated device's 110 programming language in 5615.
In 5615, translation server 142 can translate the identified syntax (e.g., programming language of algorithm corresponding to the data analysis output of the data analysis server 215) to a factory automated device's 110 programming language. After the identified syntax is translated, the process can end.
In S705, the translation server 142 can receive input via the interface (e.g., interface 315 and/or interface 405). The input can include relevant configuration information including the monitor parameter settings (
In S710, the translation server 142 can generate a control program integrating the received input into the previously translated factory automated device's 110 programming language.
In S715, the translation server 142 can generate the function blocks based on the control program generated in S710. The function blocks (e.g., anomaly detection, predictive diagnosis, etc.) having been translated into the factory automated device's 100 programming language and configured using manufacturer's input can be easy to implement into control programs of the factory automated device 110.
In S805, it can be determined if expansion input was received. Expansion input can include customizing the interface based on a template to fit what the manufacturer wants to configure. For example, the default interface may not be sufficient for the needs of the manufacturer, so the manufacturer can integrate expansion input into the control program by customizing the interfaces. If no expansion input was received, the process can continue to generate function blocks in S515 and output function blocks in S520. However, if expansion input was received, then the translation server 142 can integrate the expansion input into the control program of the factory automated device 110 in S810.
In S810, the translation server 142 can integrate the expansion input into the control program. For example, the manufacturer can create a custom interface, and input received from the custom interface can correspond to a custom control program.
In S815, the translation server 142 can store the control program in the database 210.
In S820, the translation server 142 can generate customized function blocks based on the expansion input integrated into the control program. For example, because the customized function block (e.g., <FB001>) was stored in the database 210, the customized function block can be used in response to predetermined identified syntax. For example, the following syntax can be recognized and the stored customized function block can be implemented in response:
The customized function block can be implemented automatically in response to recognizing predetermined syntax from the data analysis results. In other words, the one or more customized function blocks based on the expansion input can be stored, and the one or more customized function blocks based on the expansion input are automatically implemented when predetermined syntax from the data analysis results is recognized.
The customized function blocks can then be output in S520.
In the above description of
Next, a hardware description of a server (e.g., the translation sever 142) according to exemplary embodiments is described with reference to
Further, the claimed advancements may be provided as a utility application, background daemon, or component of an operating system, or combination thereof, executing in conjunction with CPU 900 and an operating system such as Microsoft Windows, UNIX, Solaris, LINUX, Apple MAC-OS and other systems known to those skilled in the art.
The hardware elements in order to achieve the translation server 142 may be realized by various circuitry elements. Further, each of the functions of the above described embodiments may be implemented by circuitry, which includes one or more processing circuits. A processing circuit includes a particularly programmed processor, for example, processor (CPU) 900, as shown in
In
Alternatively, or additionally, the CPU 900 may be implemented on an FPGA, ASIC, PLD or using discrete logic circuits, as one of ordinary skill in the art would recognize. Further, CPU 900 may be implemented as multiple processors cooperatively working in parallel to perform the instructions of the inventive processes described above.
The translation server 142 in
The translation server 142 further includes a display controller 908, such as a graphics card or graphics adaptor for interfacing with display 910 (or display 310), such as a monitor. A general purpose I/O interface 912 interfaces with a keyboard and/or mouse 914 as well as a touch screen panel 916 on or separate from display 910. General purpose I/O interface also connects to a variety of peripherals 918 including printers and scanners.
A sound controller 920 is also provided in the translation server 142 to interface with speakers/microphone 922 thereby providing sounds and/or music.
The general purpose storage controller 924 connects the storage medium disk 904 with communication bus 926, which may be an ISA, EISA, VESA, PCI, or similar, for interconnecting all of the components of the translation server 142. A description of the general katures and functionality of the display 910, keyboard and/or mouse 914, as well as the display controller 908, storage controller 924, network controller 906, sound controller 920, and general purpose I/O interface 912 is omitted herein for brevity as these features are known.
The exemplary circuit elements described in the context of the present disclosure may be replaced with other elements and structured differently than the examples provided herein. Moreover, circuitry configured to perform features described herein may be implemented in multiple circuit units (e.g., chips), or the features may be combined in circuitry on a single chipset.
The functions and features described herein may also be executed by various distributed components of a system. For example, one or more processors may execute these system functions, wherein the processors are distributed across multiple components communicating in a network. The distributed components may include one or more client and server machines, which may share processing, in addition to various human interface and communication devices (e.g., display monitors, smart phones, tablets, personal digital assistants (PDAs)). The network may be a private network, such as a IAN or WAN, or may be a public network, such as the Internet. Input to the system may be received via direct user input and received remotely either in real-time or as a batch process. Additionally, some implementations may be performed on modules or hardware not identical to those described. Accordingly, other implementations are within the scope that may be claimed.
Having now described embodiments of the disclosed subject matter, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Thus, although particular configurations have been discussed herein, other configurations can also be employed. Numerous modifications and other embodiments (e.g., combinations, rearrangements, etc.) are enabled. by the present disclosure and are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the disclosed subject matter and any equivalents thereto. Features of the disclosed embodiments can be combined, rearranged, omitted, etc., within the scope of the invention to produce additional embodiments. Furthermore, certain features may sometimes be used to advantage without a corresponding use of other features. Accordingly, Applicant(s) intend(s) to embrace all such alternatives, modifications, equivalents, and variations that are within the spirit and scope of the disclosed subject matter.