The present invention is directed to programmable logic controllers (PLCs), and the monitoring of PLC controlled operations.
Conventional programmable logic controllers (PLCs), also referred to as programmable controllers, are hardened computers are often configured for control of manufacturing processes, assembly lines, order fulfillment systems, or automated devices, etc. Such PLCs include controllers communicatively coupled to input/output modules that are wired to electromechanical devices carrying out, and/or monitoring, those processes. The electromechanical devices transmit signals to the associated PLC (received by the PLC as input signals), via the input/output modules. In response to those input signals received from the electromechanical devices, the PLC controller is configured to output control signals to those electromechanical devices. That is, via the input/output signals communicated by the input/output modules to/from the PLC and the electromechanical devices, the PLC is able to monitor and control the processes carried out.
An exemplary electronic device of the present invention is configured to communicatively couple to a programmable logic controller (PLC). The electronic device includes a controller and a graphics processing unit (GPU). The electronic device is configured to communicatively couple the controller to the PLC. The controller is configured to receive data signals from the PLC via a communications line. These data signals are forwarded by the controller to the GPU. The GPU is configured to arrange the received data as visual and/or graphical data, with the GPU then processing the graphical representation of that data. The GPU is further configured to select portions of the graphical representation and compress that selected portion for transmission to a cloud-computing environment.
An exemplary electronic device of the present invention is configured to communicatively couple to a programmable logic controller (PLC). The electronic device includes a controller and a graphics processing unit (GPU). The controller is configured to receive signals from the PLC. The electronic device is configured to couple the controller to the PLC via a communications line. The received signals are extracted from the PLC by the controller. The GPU is configured to sample the received signals and to arrange the sampled signals as a graphical signal representation. The GPU is configured to process the graphical signal representation and prepare the processed graphical signal representation for transmission to a cloud-computing environment.
An exemplary method of the present invention for sampling and processing input/output signals extracted from a programmable logic controller (PLC) includes coupling a controller of an electronic device to the PLC via a communications line. The method includes receiving, with the controller of the electronic device, signals from the PLC. A graphics processing unit (GPU) of the electronic device is used to sample the received signals and arrange the sampled signals as a graphical signal representation. The method also includes processing, with the GPU of the electronic device, the graphical signal representation and preparing the processed graphical signal representation for transmission to a cloud-computing environment.
In an aspect of the present invention, the GPU may be configured to process the graphical signal representation to detect errors in the graphical signal representation which are indicative of errors in the process. The GPU may also be configured to compare at least portions of the graphical signal representation to stored, previously recorded graphical signal representations to detect current errors based on previously discovered errors in the previously recorded graphical signal representations.
According to one aspect of the present invention, the communications line may be read only. In a further aspect, the communications line may couple to a backplane of the PLC.
According to another aspect of the present invention, the electronic device may include a memory configured for storing the data signals for later analysis.
According to yet another aspect of the present invention, the PLC includes a controller and a plurality of input/output modules. The controller and the plurality of input/output modules are communicatively coupled together via a backplane of the PLC. Each input/output module is configured to at least one of: receive signals from an electromechanical device and transmit control signals to the electromechanical device.
In still another aspect of the present invention, the GPU may be configured to compress the processed graphical signal representation before transmission to the cloud-computing environment.
In a further aspect of the present invention, the GPU may be configured to select a plurality of portions of the graphical signal representation. The GPU may also be configured to select the portions in parallel. The GPU may also be configured to individually compress each of the plurality of portions of the graphical signal representation.
These and other objects, advantages, purposes and features of the present invention will become apparent upon review of the following specification in conjunction with the drawings.
Referring now to the drawings and the illustrative embodiments depicted therein, a programmable logistics cloud computational controller (PLCCC) 102 communicatively coupled to a backplane 122 of a programmable logic controller (PLC) 120, which is communicatively coupled to electromechanical devices (E/M1-n), are illustrated in
The PLCCC 102 of
The exemplary PLC 120 of
An exemplary PLCCC 102 is a logistics controller with the capability of translating and transmitting input/output data (124) in a reliable form for simulations/modeling carried out in a cloud-computing environment 310. As discussed herein, and illustrated in
General Purpose Computing with GPUs:
While conventional GPUs are usually considered to be functional components of video game systems, software simulation designs, including (but not limited to) video game cloud computing, console/client/cloud networks, machine learning, and artificial intelligence (AI) applications, GPUs can be alternatively configured for the parallel processing of data. When a typical GPU is used for such general-purpose computing, that is “GPGPU” computation, the data received by the GPU is analyzed as if it were in an image format or in some other graphical format. Because of their architecture, typical GPUs are capable of processing images and graphical data at a rate far greater than typical central processing units (CPUs) of conventional computers. Therefore, as discussed herein, the data extracted and sampled from a PLC's inputs/outputs may be migrated by the GPU into a graphical form and then scanned and analyzed as if that signal data was conventional visual/graphical data (see
A high sampling rate of the input/output data and control signals 124 provides a dependable time scale for data regeneration and provides for precise measurements beyond the capabilities of a traditional PLC design (i.e., beyond what any error detection and monitoring system in the PLC can accomplish). In an exemplary PLCCC 102, the GPU 104 can be configured to run at a speed that exceeds the PLC CPU clock cycle and so is able to take multiple measurements of the sensors and hardware outputs that the PLC 120 is connected to (e.g., the electromechanical devices E/M1-n). Thus, at a hardware level, the processors are “asynchronous,” but with a GPU sampling rate sufficiently high enough to ensure that each rising and/or falling edge of the sampled incoming/outgoing signals are reliably captured. When a designer and/or manufacturer of a PLCCC 102 also designs and/or manufactures the PLC programs that run on the PLC's CPU 126, they would know the precise clock cycle that the program is expected to have. A response time to input changes is a combination of the firmware on the PLC 120 and of the software on the PLC 120. Thus, a sampling rate (for the GPU 104) may be selected based upon a known or estimated clock rate of the PLC's CPU 126 and thus of the speed at which the input/output signals 124 rise and fall. That is, the sampling rate is fast enough to sample each signal change (e.g., rising/falling edges) carried upon the backplane 122 (see
A “synchronization” between the GPU 104 and the PLC's CPU 126 occurs during the running measurements (graphical representation) of the inputs to the GPU 104 (see
For example, standard motor control programming blocks used in typical PLC logic behave in the same way and fashion at all times. Thus, errors are specific (e.g., a “motor fault,” a “jam,” and an “Estop”). The typical PLC can only tell what it knows about a program. However, if all the PLC inputs/outputs were sampled and evaluated, and not just the fault data, it would be possible to see what other variable(s) might have contributed to the problem. For example, a variety of different questions could be asked and answered. “Was a large amount of product passing along a belt?” “After counting the photo eye input pulses leading to the event, were they higher than normal?” “Is the equipment being used properly?” “Was the PLC program altered?” “Did an AUX signal return high initially and then trip the overload?” The answers to these questions can be used to identify the error and its source or cause. Embodiments of the present invention allow for such questions to be asked. As discussed herein, such questions (and possible answers) can be facilitated by the GPU scanning and selecting portions of the incoming and outgoing control and data signals that have been migrated into a graphical representation. Thus, as illustrated in
In combination with the GPU's high sampling rate, an exemplary two-step data compression method for compressing the processed data before transmission to the cloud-computing environment 130 is also used. A fast transfer (i.e., lossy compression (203)) may be used for visualization and predictive calculations. However, the addition of lossless compression (204) of just rising and/or falling edges (205a,b) of the input/output signals 124 lets the cloud implemented software compute runtime errors. Lossy compression 203 includes data compression methods that use approximations and data discarding of some of the data of an original file to represent the original file content. While the size of the data in the file can be reduced for transmission, the discarded data is permanently lost and cannot be restored. Meanwhile, lossless compression 204 includes data compression methods that compress a file size while maintaining picture quality of the graphics file. A lossless compressed file can also be decompressed back to its original quality.
Because the GPU 104 is continually running graphical representations to make its calculations, that graphical data can be captured periodically in “frames” of video data (such as the frame of data 202 in
For example, even if an exemplary resolution loss of a graph of signal traces causes rising/falling edges to slightly shift a millisecond or two, the resolution would be enough for PLC signals 124, such as “jam,” “motor fault,” and “estop,” etc. to be read (even if slightly delayed). The reduced detail is still sufficient for the real-time movement of boxes and such to be projected on a map of a fulfillment system. Even if the movement (of the boxes in the fulfillment system) is slightly skewed, it is a highly advanced data handling technique. This would theoretically enable the possibility of providing real time streaming of fulfillment system movement. For example, phones and smart watches of operators could be enabled to detect jams before the operators noticed the jams were there themselves. That is, the “high utilization and low utilization” of the fulfillment system, for a next hour, could be simulated and updated by the lower resolution of I/O data from previous days. Multiple pictures or “frames” (202) can be taken in a second, but each frame 202 contains repetitive measurements taken over the course of time the PLCCC 102 spends monitoring the fulfillment system behavior. Therefore, the compression is adaptive to the needs of the system. For example, in an exemplary automated system, to capture the high performance needs of a high-speed automation environment, 10-20 frames-per-second may be needed to capture the latest inputs/output signals 124 of the PLC 120. In an alternative slower moving automation system, a capture rate of only 1-5 frames-per-second may be acceptable in terms of providing a level of detail required to make real-time analytics possible.
In an exemplary second stage of the data transfer, the lossless compression 204 of the rising edges and critical data points (205a,b) are passed onto the cloud-computing environment 130. Depending on the file size and the network constraints of the automation system in question, this lossless compression method 204 can be scheduled to transfer (208) at optimal time intervals to minimize network impact or even passed on to a separate data storage facility on site. Therefore, the critical data evaluations of materials on site can be maintained even in non-optimal network circumstances.
Upon reaching the cloud-computing environment 130, the lossless compression transfer 204 (of the selected compression points 205a,b) is used to recursively “check” the “frames” of lossy compressed data in the cloud-computing environment 130. This creates a digital record of the detailed equipment behavior for post-processing of frame data. It ensures that the final stored information is accurate and maintains the detail required for analysis of the system. In short, this two-step calibration method combines the worlds of “real-time streaming” technology for immediate results as well as fine-grained metric data for calculations.
Such cloud computing environment 130 can also provide a storage program (e.g., a local memory 110 on the PLCCC 102, or a remote memory in the cloud-computing environment 130) to enable the analysis of long-term usage of the manufacturing system or process. Such is the basis for how AI techniques may be used (in the selection and evaluation of portions of graphical visualizations of the input/output signals carried on the backplane 122). For example, a full day's run of PLC inputs/outputs (previously recorded/stored in memory 110) can be run through a cloud-computing environment based analysis program (implementing AI techniques) to see how much downtime occurred, and to determine if service personnel performed maintenance if the equipment is throwing more faults than usual, etc.
As illustrated in
As another example, when an engineer observes a behavior in a sensor (e.g., E/M1-n) that is faulty and files a report on the issue, this report can be catalogued. The signal history of the device/system at the time of the error can be used to develop a detection algorithm. The program in the controller 106 of the PLCCC 102 can then be updated to identify these problems in the future and replay them to the cloud computing environment 130 the instant the device/system detects this error, rather than waiting on time consuming processes such as: operational reports, service calls, information retrieval coordination by multiple parties, possible investigations of similar problems by disparate personnel, etc. Such a method can be used such that similar issues across all systems can be identified in a single instance, corrected in a singular instance, and updated across multiple devices which interface with multiple user sites to ensure that any similar problems can be detected and an accurate error report prepared automatically. Such a system and method, in accordance with the present invention, allows for the advancement of detection algorithms beyond industry standards to include new technology and new cloud alert monitoring (notifications) in an automation field.
The resulting data extraction, sampling, graphical representation, evaluative processing, and delivery to cloud computing environments for simulations/modeling, may be considered a feedback loop. As illustrated in
As illustrated in
Because of the use of GPU-based image processing, a variety of different data may be analyzed by embodiments of the present invention. For example, actual images from cameras may be captured and compared to expected results (e.g., camera images can be compressed till the images only show movement vectors, such that different movement vectors may be compared (to determine if an object is moving as expected)). Additional data can include inputs from video cameras, outputs from thermal sensors, hi/low signals from sensors, and others.
Conventional video game collision detection is about creating detection “boxes” or spheres around graphical objects. When the graphical representation is broken on a draw execution, it triggers a reaction in the software. This “box” is tied to the graphical representation of other objects within the game to outline the game's behavior. Note: not all hit boxes are the same, some hit boxes are broad to trigger animation events, while some are by necessity, very small and are responsible for transmittal of critical core pieces of information. By coupling this method with high fidelity signal modeling of equipment movement provided by the PLCCC 102, these “event triggers” can be used to coordinate data manipulations across large scale cloud computational networks with real-time system movement for a wealth of new calculations.
High fidelity simulation systems are used in broad categories of technological innovation and human interaction with complex system variables. The addition of the PLCCC 102 provides speed and minimizes network footprints to ensure that the data is made available for use in high performance mathematical modeling of automation system movement. Furthermore, the cloud hosting of this technology makes replication of the virtual environments simple and cost effective for a wide variety of solutions. Thus, the use of a PLCCC 102 coupled to the input/outputs of a PLC backplane 122 ensures low cost high powered simulation technology that was previously only available in the “gaming” sector can be used to analyze, diagnose, and handle a wide variety of automation processes. Having the simulations hosted in the cloud (e.g., the cloud computing environment 130) and updated via real-time transference of the data processing methods discussed herein as a component of the PLCCC 102, enables a wide variety of users/operators to perform operations digitally that previously required extensive travel costs and overly large human footprints, all without representing risk to the automation facilities themselves. Embodiments of the present invention enable a single company using the PLCCC 102 to access a wider variety of resources using established and proven data handling methods.
The graphical representation of signals (e.g., the sampled input/output signals 124) compiled for running analysis is a “running comparison.” That is to say that the digital recording of these values is optimized to blur the line between digital and analog signal analysis. These comparisons of “snap shot” data to expected operational data representations can be performed with scheduled routine image comparison algorithms in the GPU 104 to preserve information transference rates. Additional graphical representations and image comparison methods can be compounded into the PLCCC processes over time through firmware and software upgrades to improve efficiencies in data handling and error detection in the wide variety of PLC applications. This ensures that while the machine footprint of the automation system is a variable to simulation environments, the fidelity of the mathematical modeling and error detection is maintained in the self-contained PLCCC 102. This exemplary architecture (of the PLCCC 102 and its connections to the PLC backplane 122) ensures that across any automation application that uses PLC controller technology, the PLCCC platform of the present invention is able to effectively operate and perform the full range of its technical services. The only aspect of the PLCCC 102 that changes between PLC manufacturers and companies is the communications cable that is responsible for the initial connection of the PLCCC 102 to the PLC backplane data buss 122. In an aspect of the present invention, the algorithms are executed by the GPU 104, such that the real time input/output signals 124 found on the backplane 122 may be analyzed according to one or more algorithms. In a further aspect of the present invention, those selected portions 205a,b may be placed into a cloud-computing environment 130, where engineers may analyze the data to monitor the signal traces of critical signals to detect error conditions, such that the signal traces may be “rewound” and played back to watch the error condition “reoccur.”
While an exemplary GPU 104 may create and run a continuous model of the sampled real-time input/output signals 124, such that portions 205a,b of the sampled graphical signal representation 202 may be compared or analyzed, those portions 205a,b of data may be stored in the cloud-computing environment 130 for simulation/modeling. Furthermore, based upon the cloud-computing environment based modeling, an algorithm or instruction (which is hardware specific) may be sent to the GPU 104 monitoring the real time input/output signals 124 to sample and compare particular selected portions 205a,b to other portions or to expected results or to previously recorded “error” data. This ensures that the critical performance benchmarks of the PLCCC 102 are maintained in an industrial automation cross platform environment.
Object oriented programming allows for a single central model to process all sortation and routing instructions (seen in an exemplary order fulfillment process) independent of PLC tracking methods which makes higher order software functions possible. Executing a model or simulation in a cloud computing environment can ensure that any patches and updates to the simulation/model can be directly applied to the software to maintain cutting edge software techniques and maximize performance while minimizing design time. Animations engines that are executed in such cloud computing environments may be maintained and carried over to a next generation on every project such that each project uses the same techniques (e.g., the same sorting techniques in an exemplary order fulfillment process). Thus, the vast majority of software applications can be “pre-baked” into the model creation and software developers can invest their time customizing core operational models (e.g., sortation models in an order fulfillment process), providing test patterns and emulation of events directly on the platform that controls the machinery of the manufacturing process or order fulfillment system.
When it comes to visualization display technology, industrial systems often fail to utilize even the most basic graphical technology. Real-time data streams can be harnessed to create, for example, realistic warehouse models that take advantage of real-time simulation efforts. More than just emulation, using virtual environments to display information about the system allows service/repair technicians to playback/rewind the environment (as sampled and recorded as graphical data by a GPU 104) to better diagnose downtime in the live system.
As illustrated in
Note that because the failure map is compiled on digital signals in the PLC backplane 122, it is a direct representation of the underlying mechatronics of the automation system. Therefore, the failure pattern calculated in step 708 is valid for multiple system types, and is independent of the control systems (PLC) operating the mechatronics. The PLCCC 102 computes errors directly affecting the mechatronics and can diagnose system errors without needing to be “reprogrammed” for each system.
Furthermore, embodiments of the present invention enable backwards compatibility for, for example, micro order fulfillment designs (tracking of individual packages moving through the system) on older order fulfillment systems. The 110 interface (the PLC backplane data bus) of even an older system may be tapped by a PLCCC, when the PLCCC and its connections to the PLC backplane are added to the older equipment models. This allows for a tracked package to have its destination changed in the middle of its flow. An exemplary embodiment of the present invention includes a design small and/or flexible enough to fit into a typical control cabinet architecture.
Similarly, future models of PLC technology may be integrated into the PLCCC's adaptability and design through the use of GPGPU computational technology, as described herein. The PLCCC 102 is designed to house any of a variety of GPU designs which are upgradable depending upon the speed and operational capacity of the PLC designs they are intended to monitor. Any interaction of PLC technology representing an increased performance or technological innovation does not require an adaptation of the PLCCC design as long as the PLC 120 contains a readable backplane data buss 122 carrying sensor inputs and outputs that are monitored in a central location. GPUs, such as those described herein, are specialized for performance and are continually updated with commercial designs that fit a singular dimensional space that the PLCCC 102 can house. Therefore, the PLCCC's performance comes from the GPU vs. CPU performance metric which allows GPUs to outpace CPU calculations on widespread recursive mathematical functions.
Therefore, embodiments of the present invention enable PLC logs to be gathered and stored into a cloud computing environment over Internet of Things (TOT). As well as enabling dynamic playback of system simulations and model history to better diagnose system errors and downtime. The embodiments described herein also enable live monitoring of equipment through standardized visual detection of errors directly transmitted to engineering services, a system manager, or a local maintenance team. The 110 signal samples can be visualized and processed by GPU processes as visual data. These embodiments enable graphic movement-oriented applications to unify data collections and allow for new technologies to be unified in a single system control. The exemplary embodiments of the present invention may utilize parallel processing techniques that allow PLC data to bypass PLC peripheral software and connection requires through direct interface reading of sensor I/O data points, and to directly compress and transmit this data to a cloud server with minimal network requirements. In an aspect of the present invention, the PLCCC can act as a client station at the PLC, processing the data and containing it in a buffer until transmitted to the cloud. Thus, data analysis in a cloud computing environment reduces local server requires for on-site equipment. The required cloud computing environment can be updated and modified locally by the controlling entity. Furthermore, new services can be introduced, tested virtually, and finally commission on a single unifying platform. Such cloud computing of the simulation environment allows for independent feedback from external systems that share the environment for data calculations. Thus, many systems that utilize PLC system for manufacturing, order fulfillment, autonomous control, and other systems could benefit from cloud driven computations.
While the foregoing description describes several embodiments of the present invention, it will be understood by those skilled in the art that variations and modifications to these embodiments may be made without departing from the spirit and scope of the invention, as defined in the claims below. The present invention encompasses all combinations of various embodiments or aspects of the invention described herein. It is understood that any and all embodiments of the present invention may be taken in conjunction with any other embodiment to describe additional embodiments of the present invention. Furthermore, any elements of an embodiment may be combined with any and all other elements of any of the embodiments to describe additional embodiments. Changes and modifications in the specifically-described embodiments may be carried out without departing from the principles of the present invention, which is intended to be limited only by the scope of the appended claims as interpreted according to the principles of patent law including the doctrine of equivalents.
This application claims the filing benefit of U.S. provisional application, Ser. No. 62/862,351, filed on Jun. 17, 2019, which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62862351 | Jun 2019 | US |