EP2728428B1 - Cloud based drive monitoring solution - Google Patents

Cloud based drive monitoring solution Download PDF

Info

Publication number
EP2728428B1
EP2728428B1 EP13191405.3A EP13191405A EP2728428B1 EP 2728428 B1 EP2728428 B1 EP 2728428B1 EP 13191405 A EP13191405 A EP 13191405A EP 2728428 B1 EP2728428 B1 EP 2728428B1
Authority
EP
European Patent Office
Prior art keywords
data
cloud
manifest
cloud platform
industrial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP13191405.3A
Other languages
German (de)
French (fr)
Other versions
EP2728428A1 (en
Inventor
Juan L. Asenjo
Francisco Maturana
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of EP2728428A1 publication Critical patent/EP2728428A1/en
Application granted granted Critical
Publication of EP2728428B1 publication Critical patent/EP2728428B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/048Monitoring; Safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0297Reconfiguration of monitoring system, e.g. use of virtual sensors; change monitoring method as a response to monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31151Lan local area network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2223/00Indexing scheme associated with group G05B23/00
    • G05B2223/06Remote monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Definitions

  • the present exemplary embodiments relate to remote monitoring. They find particular application in conjunction with industrial devices, such as the POWERFLEX 7000, and will be described with particular reference thereto. However, it is to be appreciated that the present exemplary embodiments are also amenable to other like applications.
  • Industrial devices include, for example, motor drives, such as the POWERFLEX 7000.
  • Motor drives are used to generate and provide alternating current (AC) output power to a motor.
  • AC alternating current
  • Failure to maintain the stability and integrity of industrial devices can affect production and prove costly to entities employing the industrial devices. Further, maintaining the stability and integrity of industrial devices can prove dangerous to those relying upon industrial equipment to, for example, generate power or pump gas to generate heat.
  • industrial devices can be locally or remotely monitored for anomalies and/or patterns indicative of failure.
  • industrial devices have been locally monitored.
  • industrial equipment may not always be easily accessed.
  • those with the technical know how to identify anomalies and/or patterns indicative of failure may not be on-site.
  • Sending maintenance and/or repair personnel to a field installation is costly.
  • Remote monitoring provides a solution to these challenges.
  • the present application provides a new and improved system and method which overcome the above-referenced problems and others.
  • EP 1 672 535 A1 relates to a distributed intelligent diagnostic scheme.
  • a system and/or methodology employ an agent technology logic layer operating in connection with or integral to a controller.
  • the logic layer can be a functional extension of the controller's firmware that facilitates logic reasoning and decision making with regard to individual agent state and/or status.
  • the system can further include a controller component that configures or reconfigures the agent-based network in accordance with an output from the logic engine. Further, a sensing component that facilitates obtaining the information from the plurality of agents can be provided. Monitoring and/or diagnosing a distributed network control component are facilitated via agent-to-agent communication.
  • the distributed network control component can include 1 to M agent components.
  • the agent components can diagnose and/or reconfigure the distributed network control component via agent-to-agent communication.
  • US 2009/171475 A1 relates to a system, method, and computer-readable medium for development and deployment of self-describing controlled device modules in a control system.
  • a self-describing device module' associated with a controlled device provides capabilities of a controlled device both at runtime and before installation.
  • the Module is configured to generate the runtime capabilities object from the self-describing XML file.
  • An integration IDE may access the controlled device module to obtain the self-describing XML file and use the XML file to integrate the controlled device's exposed capabilities into the control system. Thereafter, monitoring and control of the controlled device may then be performed by issuance of suitable commands from the remote monitoring system.
  • US 2005/108453 A1 relates to an integrated multi-agent system employing agents of different types.
  • Different types of agents can have different architectures/infrastructures and consequently may have different capabilities and strengths.
  • a multi-agent system employing agents of multiple different types could better address the needs of some systems to be controlled/monitored.
  • Heterogeneous agent systems could be most effectively and simply implemented if the various agents of such systems shared certain standard characteristics despite being of different types, for example, characteristics relating to the communication protocols and/or communication transport stack by which the agents of the different types intercommunicate with one another, as well as certain functional components that the different agent types may share in common with one another.
  • a cloud-based remote monitoring system for monitoring an industrial facility.
  • the industrial facility includes one or more industrial devices.
  • the system includes a cloud agent located at the industrial facility and configured to, by at least one processor, collect data indicative of a past and/or a present state of the industrial devices according a manifest specific to the industrial facility.
  • the cloud agent is further configured to send the collected data to a remote cloud platform according to the manifest dynamically reconfigure the cloud agent without interrupting the collecting and the sending.
  • the cloud platform processes the sent data to facilitate remote monitoring of the industrial devices.
  • a cloud-based remote monitoring method for monitoring an industrial facility includes one or more industrial devices.
  • the industrial facility includes one or more industrial devices.
  • data indicative of a past and/or a present state of the industrial devices is collected according a manifest specific to the industrial facility. Further, the collected data is sent to a remote cloud platform according to the manifest and the at least one processor is dynamically reconfigured without interrupting the collecting and the sending.
  • the cloud platform processes the sent data to facilitate remote monitoring of the industrial devices.
  • a cloud-based remote monitoring system for monitoring an industrial facility.
  • the industrial facility includes one or more industrial devices.
  • the system includes a cloud agent located at the industrial facility and configured to, by at least one processor, collect data indicative of a past and/or a present state of the industrial devices according a manifest specific to the industrial facility.
  • the cloud agent is further configured to send the collected data to a remote cloud platform according to the manifest.
  • the collected data is sent to corresponding queues of the cloud platform based on data type.
  • the cloud agent is further configured to dynamically reconfigure the cloud agent without interrupting the collecting and the sending.
  • the cloud platform processes the sent data from the queues to facilitate remote monitoring of the industrial devices, data in each queue processed differently.
  • the invention may take form in various components and arrangements of components, and in various steps and arrangements of steps.
  • the drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention.
  • a cloud-based remote monitoring system 10 including one or more industrial facilities 12, 14 is provided.
  • Each industrial facility 12, 14 corresponds to an industrial enterprise.
  • a first industrial facility can correspond to a first industrial enterprise
  • a second industrial facility can correspond to a second industrial enterprise.
  • the first and second industrial facilities can correspond to a common industrial enterprise.
  • the industrial facilities 12, 14 can be fixed (e.g., a plant facility) and/or mobile (e.g., a system contained in a truck or other service vehicle).
  • Each industrial facility 12, 14 includes one or more industrial devices 16, 18, 20, 22, 24, 26.
  • the industrial devices 16, 18, 20, 22, 24, 26 can include one or more of: industrial controllers (e.g., programmable logic controllers or other types of programmable automation controllers); field devices (e.g., sensors and meters); motor drives ( e.g., the POWERFLEX 7000); operator interfaces ( e.g., human-machine interfaces, industrial monitors, graphic terminals, message displays, etc .); industrial robots, barcode markers and readers; vision system devices ( e.g., vision cameras); smart welders; and other such industrial devices.
  • industrial controllers e.g., programmable logic controllers or other types of programmable automation controllers
  • field devices e.g., sensors and meters
  • motor drives e.g., the POWERFLEX 7000
  • operator interfaces e.g., human-machine interfaces, industrial monitors, graphic terminals, message displays, etc .
  • Each of the industrial devices 16, 18, 20, 22, 24, 26 includes one or more memories.
  • the memories include externally readable data (external to the industrial device) indicative of the present and/or past state of the industrial device.
  • the memories can include one or more of: 1) one or more configurable parameters controlling the operation of the industrial device; 2) one or more parameters indicating the status of the industrial device; 3) one or more warning, fault or alarm parameters indicating one or more of warnings, faults and alarms, respectively, with the industrial device; and 4) one or more queues, each with one or more of warnings, faults and alarms with the industrial device.
  • FIGURE 2 an example memory layout of an industrial device is illustrated.
  • FIGURE 3 an example table illustrating the bit layout of a status parameter of an industrial device is illustrated.
  • the industrial devices 16, 18, 20, 22, 24, 26 make up one or more automation systems operating within the respective facilities.
  • exemplary automation systems can include one or more of: 1) batch control systems (e.g., mixing systems); 2) continuous control systems (e.g., proportional-integral-derivative (PID) control systems); and 3) discrete control systems.
  • Exemplary automation systems can include one or more industrial controllers that facilitate monitoring and control of respective processes.
  • the controllers exchange data with field devices using native hardwired input/output (I/O) and/or using industrial facility networks (e.g., Ethernet/Internet Protocol (IP), Data Highway Plus, ControlNet, Devicenet, etc.).
  • I/O input/output
  • industrial facility networks e.g., Ethernet/Internet Protocol (IP), Data Highway Plus, ControlNet, Devicenet, etc.
  • a given controller typically receives any combination of digital and analog signals from the field devices indicating a current state of the devices and their associated processes (e.g., temperature, position, part presence or absence, fluid level, etc.), and executes a user-defined control program that performs automated decision-making for the controlled processes based on the received signals.
  • the controller then outputs appropriate digital and/or analog control signaling to the field devices in accordance with the decisions made by the control program.
  • These outputs can include device actuation signals, temperature or position control signals, operational commands to a machining or material handling robot, mixer control signals, motion control signals, and the like.
  • the control program can comprise any suitable type of code used to process input signals read into the controller and to control output signals generated by the controller, including but not limited to ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.
  • Each industrial facility 12, 14 includes an on-premise data collection system 28, 30 communicatively coupled to the respective industrial devices 16, 18, 20, 22, 24, 26 using one or more associated network connections and any suitable protocol.
  • control interface protocol CIP
  • DPI distributed protocol interface
  • the data collection system 28, 30 is configurable to monitor controlled processes and device status through receipt of information related to the monitored devices and/or associated processes.
  • the data collection system 28, 30 includes a cloud agent 32, 34 configured to collect live data (e.g., status parameter values) and/or historical data (e.g., alarm history, fault history, warning history, status history, trend data, etc .) from the industrial devices 16, 18, 20, 22, 24, 26, directly and/or indirectly by, for example, accessing an optional data historian 36, 38 of the data collection system 28, 30.
  • the data historian 36, 38 monitors one or more industrial devices and stores data in local storage associated with the data historian. This data can include historical data and/or live data read from the monitored devices. It's advantageous to use the data historian 36, 38 as the data source when there are a large number of data points to monitor.
  • the cloud agent 32, 34 is further configured to transmit the collected data to a cloud platform 40 of the cloud-based remote monitoring system 10.
  • the data can be prioritized before transmission to the cloud platform 40. Further, the data can be transmitted with priorities indicating the order with which the cloud platform 40 processes the data.
  • the cloud agent 32, 34 can further specify how transmitted data is to be processed, for example, to allow additional data types to be processed by the cloud platform 40. If an industrial device becomes disconnected, powered off or otherwise unavailable, an alarm is sent to the cloud platform 40.
  • the cloud agent 32, 34 can be, for example, a Windows service that periodically collects and transmits serialized and compressed data into the cloud platform 40 using standard web services over hypertext transfer protocol secure (HTTPS)/secure sockets layer (SSL).
  • HTTPS hypertext transfer protocol secure
  • SSL secure sockets layer
  • the cloud agent 32, 34 is configured by a site-specific manifest 42, 44.
  • the manifest 42, 44 can include a plurality of files and is typically in extensible markup language (XML).
  • the manifest 42, 44 can identify the frequencies with which data should be collected from the respective industrial devices 16, 18, 20, 22, 24, 26. Typically, the frequencies are specific to the industrial devices 16, 18, 20, 22, 24, 26 and/or types of data (e.g., alarms, faults, warnings, status parameters, configurable parameters, historical data, live data, etc .). Even more, the manifest 42, 44 can identify how the data transmitted to the cloud platform 40 is processed by the cloud platform 40. Also, the manifest 42, 44 can specify the priority with which data is processed by the cloud platform 40.
  • the manifest 42, 44 identifies which of the industrial devices 16, 18, 20, 22, 24, 26 to collect live data and/or historical data for, and what data to collect from the industrial devices 16, 18, 20, 22, 24, 26.
  • the data to collect is suitably specified for each industrial device 16, 18, 20, 22, 24, 26 or individual type of device by identifying one or more parameters in the memories of industrial devices and/or by identifying alarms, faults and/or warnings to collect from the memories of industrial devices.
  • the manifest 42, 44 can indicate the ready bit (see FIGURE 3 ) is to be monitored for an industrial device.
  • the manifest can indicate the five most recent alarms in an alarm queue of an industrial device are to be collected.
  • FIGURE 4 illustrates part of an example manifest listing POWERFLEX 7000 drives to monitor.
  • FIGURE 5 illustrates part of an example manifest listing parameters to monitor for POWERFLEX 7000 drives.
  • the manifest 42, 44 can identify the priorities and/or upload rates of the different types of data transmitted to the cloud platform 40. For instance, historical data may be transmitted to the cloud platform 40 for off-site monitoring at a low priority and a low rate, whereas other data can be transmitted at a higher priority and a higher rate.
  • the manifest 42, 44 can also specify that certain data is characterized as "live data", which may be used by an off-site monitoring facility for process monitoring or other monitoring purposes. In such a case, the manifest 42, 44 may define such "live data" as being of high priority ( e.g., lower priority than alarm data, but higher priority than historical data), and may specify a corresponding high upload rate for such "live data".
  • the cloud agent 32, 34 is dynamically configurable to allow changes to be made to the respective manifest 42, 44 during runtime. For example, the number and type of monitored devices can be changed at any time. As another example, the cloud agent 32, 34 allows the priority and upload rate settings for a given type of data to be dynamically set. This, in turn, allows a remote monitor to adjust the upload rate and/or priority for a given device, for example, to facilitate troubleshooting from a remote location. Such adjustments, moreover, may be advantageous in process monitoring applications, for instance, in which a remote user desires higher granularity data with respect to a controlled process at the customer site, and can employ dynamic adjustments to the rate and/or priority settings of the manifest 42, 44 to adjust the speed of data monitoring.
  • the cloud agent 32, 34 can include multi-threading capabilities to facilitate scalability and to prevent failed industrial devices from blocking data collection from other industrial devices. Upon detecting a failed industrial device, the cloud agent 32, 34 can also generate an alarm to the cloud platform 40 indicative of the failure.
  • the cloud agent 32, 34 includes a collection service and a queue processing service.
  • the collection service stores the collected data (e.g., to a working directory), typically in a compressed state.
  • a priority indicating the priority by which the cloud platform processes the data can also be added according to the manifest 42, 44.
  • the queue processing service then creates a data packet from the stored data and uploads the data packet to a temporary storage in the cloud platform 40. The order with which the data packet is uploaded relative to other data packets can be controlled by a priority of the data packet.
  • the cloud agent is configured by the manifest 42, 44 to, for each industrial device 16, 18, 20, 22, 24, 26, read the list of parameters that have been configured for the device and upload data to the cloud platform 40. Further, if there is a fault queue and/or a warning queue, the cloud agent 32, 34, for each industrial device 16, 18, 20, 22, 24, 26, reads the status to determine if there is a fault and/or a warning. If there is a fault, the most recent fault is read from the fault queue and uploaded to the cloud platform 40. Similarly, if there is a warning, the most recent warning is read from the warning queue and uploaded to the cloud platform 40.
  • the cloud platform 40 can be any infrastructure that allows computing services 46 to be accessed and utilized by cloud-capable devices.
  • the cloud platform 40 can be MICROSOFT's AZURE cloud platform.
  • the cloud platform 40 can be a public cloud accessible via the Internet by devices having Internet connectivity and appropriate authorizations to utilize the services.
  • the cloud platform 40 can be provided by a cloud provider as a platform-as-a-service (PaaS), and the services 46 can reside and execute on the cloud platform 40 as a cloud-based service.
  • PaaS platform-as-a-service
  • access to the cloud platform 40 and the services 46 can be provided to customers as a subscription service by an owner of the services.
  • the services can be provided using a software-as-a-service (SaaS) service model.
  • the cloud platform 40 can be a private cloud operated internally by an industrial enterprise.
  • An exemplary private cloud can comprise a set of servers hosting the cloud services 46 and residing on a corporate network protected by a firewall.
  • the cloud services 46 can include one or more of data storage, data analysis, control applications (e.g., applications that can generate and deliver control instructions to industrial devices based on analysis of real-time system data or other factors), visualization applications (e.g., a cloud-based operator interface system), reporting applications, enterprise resource planning (ERP) applications, notification services, and other such applications.
  • control applications e.g., applications that can generate and deliver control instructions to industrial devices based on analysis of real-time system data or other factors
  • visualization applications e.g., a cloud-based operator interface system
  • reporting applications e.g., a cloud-based operator interface system
  • ERP enterprise resource planning
  • notification services e.g., notification services, and other such applications.
  • the cloud services 46 include a diagnostic service monitoring the health of respective automation systems or their associated industrial devices across an entire industrial facility, or across multiple industrial facilities that make up an industrial enterprise.
  • the cloud services 46 include a control application used to track a unit of product through its stages of production and collect production data for each unit as it passes through each stage (e.g., barcode identifier, production statistics for each stage of production, quality test data, abnormal flags, etc.). Even more, in some embodiments, the cloud services 46 include an application monitoring for the unavailability of an industrial facility (e.g., due to a power outage) and generating an alert or notification (e.g., an email notification) in response to such an event.
  • an alert or notification e.g., an email notification
  • the industrial devices 16, 18, 20, 22, 24, 26 suitably interact with the cloud services 46 through the cloud agent 32, 34.
  • this allows the industrial devices 16, 18, 20, 22, 24, 26 to be used with the cloud platform 40 without modification.
  • direct interaction between the cloud services 46 and at least some of the industrial devices 16, 18, 20, 22, 24, 26 is also contemplated.
  • industrial devices having smart configuration capability can be configured to automatically detect and communicate with the cloud platform 40 upon installation at any facility, simplifying integration with existing cloud-based data storage, analysis, or reporting applications used by the industrial enterprise.
  • the cloud platform 40 Upon receiving data from the cloud agent 32, 34, the cloud platform 40 processes the data using the cloud services 46. This can include adding the data in temporary storage for subsequent processing. The order with which the data packet is subsequently processed can be governed by a priority accompanying the data.
  • the processing typically includes: 1) analyzing the data and storing the results of the analysis in permanent storage; and/or 2) storing the data in permanent storage.
  • the results and/or the data can, in turn, be used to generate notifications (e.g., email notifications of potential problems with industrial devices) to users of the cloud platform 40, reports, and/or visualizations. Reports, visualizations, and other service outputs are typically stored in permanent storage.
  • the received data and/or data derived from the received data are made available to one or more clients 48 of the cloud platform 40 for viewing.
  • the clients 48 can also be employed to remotely update the manifest 42, 44 of an industrial facility. For example, a client can initiate selective adjustment to a manifest to change upload speeds, priorities or add monitored devices.
  • the clients 48 can include web clients communicating with the cloud platform 40 using, for example, hypertext transfer protocol (HTTP) or HTTPS.
  • HTTP hypertext transfer protocol
  • the clients 48 can also include clients using specialized software to communicate with the cloud platform 40.
  • the clients 48 allow remote monitoring of the industrial devices 16, 18, 20, 22, 24, 26 without being on-site. Further, problems can advantageously be more easily diagnosed by those with the requisite skill to do so.
  • the clients 16, 18, 20, 22, 24, 26 include a monitoring center.
  • the monitoring center can be managed by an industrial enterprise to monitor its industrial facilities.
  • the monitoring center can be managed by a third party to monitor the industrial facilities of one or more industrial enterprises. In this case, the third party can charge the industrial enterprises a fee for the monitoring.
  • the cloud platform 40 can be easily scaled to accommodate differing amounts of data storage and processing. Further, the cloud platform 40 can be easily extended to increase functionality. For example, the cloud platform 40 can be extended to provide a motor control center (MCC).
  • MCC motor control center
  • the cloud platform 40 also provides a cost effective solution for industrial enterprises to monitor industrial devices.
  • Industrial enterprises do not have to maintain a data center infrastructure or patch software running in the data center infrastructure.
  • the cloud platform 40 does away with high upfront costs and defers costs over a period of time when using a PaaS or SaaS service model. Even more, monitoring and diagnosis are also improved since on-site visits by those with requisite skill to identify future issues and/or diagnosis issues are not required.
  • multiple industrial facilities at different geographical locations can migrate their respective automation data to the cloud for aggregation, collation, collective analysis, and enterprise-level reporting without the need to establish a private network between the facilities.
  • FIGURE 6 a detailed embodiment of the cloud-based remote monitoring system 10 of FIGURE 1 is provided.
  • This embodiment leverages the cloud platform 40 to provide remote monitoring services to an industrial enterprise (i.e., a customer) using, for example, a SaaS service model.
  • a plant facility 50 includes an on-premise data historian 52 collecting live and/or historical data from industrial devices (e.g., data 54 generated by one or more industrial controllers) at the plant facility 50.
  • the data historian 52 monitors one or more parameters in parameters archives 56 received from the industrial devices and stores data in local storage 58 associated with the data historian 52 (e.g., a structured query language (SQL) server database).
  • SQL structured query language
  • This can include both historical data (e.g., alarm history, warning history, fault history, status history, trend data, etc .), as well as live data values read from the industrial devices.
  • An on-premise cloud agent 60 at the plant facility 50 is configured to collect live and/or historical data from the industrial devices, either directly ( e.g., from one or more variable frequency drives 62 ) or indirectly ( e.g., by accessing the data historian 52 ).
  • the process of collecting the data involves intelligent sorting and organizing based on time of occurrence and user-defined priorities.
  • the cloud agent 60 can be, for example, a Windows service that periodically collects and transmits serialized and compressed data to the cloud platform using standard web services over HTTPS/SSL.
  • the data historian 52 is a data source for the cloud agent 60. The use of a data historian is advantageous when there are a large number of data points to monitor.
  • the cloud agent 60 can additionally or alternatively collect data directly from the industrial devices (e.g., through a CIP link), as illustrated with respect to the variable frequency drives 62, or through middleware applications (e.g., open productivity and connectivity (OPC) clients).
  • industrial devices e.g., through a CIP link
  • middleware applications e.g., open productivity and connectivity (OPC) clients.
  • the cloud agent 60 includes a collection service 64 that collects data directly from the industrial devices (e.g ., the variable frequency drives 62 ), and/or indirectly from the industrial devices ( e.g., by way of the data historian 52 ), via a CIP link or other suitable communication protocol.
  • the collection service 64 is controlled by a site-specific manifest, which can specify one or more of what data to be collected, how often to collect the data, how to retrieve data from the industrial devices, and so on.
  • the manifest can specify that the following should be collected for a specific type of motor drive: motor speed; motor power; motor voltage; motor current; drive status; last warning; and last fault.
  • the collection service 64 stores the collected data in a data file 66, typically a compressed data file.
  • a data file 66 typically a compressed data file.
  • reference to the stored data file 66 is added to a queue 68 (e.g., a MICROSOFT Message Queue Server (MSMQ) database).
  • the queue 68 can be prioritized based on priorities specified in the manifest. These priorities can be specific to different parameters, different types of data, different industrial devices, different types of industrial devices, etc.
  • a queue processing service 70 of the cloud agent 60 reads the data file 66 in the order it appears in the queue 68. Based on the manifest, the queue processing service 70 packages the data file 66 into a data packet 72 and pushes the data packet 72 to the cloud platform 40.
  • the data packet 72 includes a header which can include customer-specific data read from the manifest. This customer-specific data can include, for example, a behavioral assembly ID and/or priority for processing the data of the data packet. As discussed hereafter, behavior assemblies implement customer-site capabilities to process monitored data and are typically specific to different types of data.
  • this customer-specific data can at least partially be included in an event data notification, which is generated and pushed to the cloud platform 40 concurrently with the data packet 72 and in accordance with the manifest.
  • the queue processing service 70 can also encrypt and send storage account keys to the cloud platform 40 for user verification.
  • FIGURE 8 An exemplary data packet is illustrated in FIGURE 8 .
  • the data packet includes a header, which includes one or more of a unique customer identifier (ID), a site ID representing a particular industrial facility, a virtual support engineer ID, a data priority for the data in the data file, a message type, and a process ID.
  • ID unique customer identifier
  • site ID representing a particular industrial facility
  • virtual support engineer ID a data priority for the data in the data file
  • message type a message type
  • process ID Packaging the data in this way allows data from diverse data sources to be packaged together using a uniform, generic data packaging schema so that the data can be moved to the cloud infrastructure.
  • the manifest can include one or more of subscription information for the cloud platform 40, how to push data to the cloud platform 40, firewall settings that allow the cloud agent 60 to communicate with the cloud platform 40, and so on.
  • the manifest may can also include associations between data and behavioral assemblies, thus allowing easy scaling to add more customized associations, and dynamic reconfiguration of associations for cloud-side parsing of received data packets.
  • a configuration interface of the cloud agent 60 allows modifications to be made to the manifest of the cloud agent 60. For example, users can assign priorities to respective data parameters or parameter groups at the customer site. Accordingly, when the queue processing service 70 packages the collected data to be moved to the cloud platform 40, the collected data items can be packaged into data packets according to priority (as defined in the manifest), and the respective data packet headers, or respective event data notification packets, can be populated with the appropriate priority level.
  • data will continue to be collected by the collection service 64 and stored locally at local storage associated with the collections service 64.
  • the stored data is forwarded to the cloud platform 40.
  • data is not lost due to a lapse in connectivity with the cloud platform 40.
  • data in the received data packet 72 is intelligently stored in temporary storage 74 (e.g., in cloud blob storage).
  • the infrastructure can use cloud agent reasoning and collective bargaining to determine a data storage locale.
  • a record linking to the stored data is created in a selected one of one or more message queues 76 of the cloud platform.
  • the record suitably includes at least some of the customer-specific data, and the selected queue can be prioritized using a priority of the customer-specific data.
  • the customer-specific data can be received as part of the data packet, a corresponding event data notification, or a combination of the two.
  • the customer-specific data can include or be accompanied by a selection of the one of the message queues 76.
  • the message queues define how the data is processed in the cloud platform 40. In the present example, separate queues have been defined for alarms 78, live data 80, historical data 82, and motor drive data 84.
  • the historical data queue 82 relates to time-series records accessed through, for example, an SQL application programming interface (API).
  • the live data queue 80 relates to substantially real-time monitored data, such as current temperatures, current pressures, etc.
  • the live data values can also be accessed through SQL API.
  • the motor drives queue 84 is specific to motor drive data accessed through a DPI protocol to the respective drives.
  • the motor drive data can relate to alarming and uploading of drive parameter data via a connector that uses the DPI protocol via, for example, a .NET class provided by the drives group.
  • the alarms queue 78 relates to abnormal situations, where the alarm data can also be accessed through SQL API.
  • This alarms queue 78 can comprise multiple queues associated with different priorities to allow for different alarms having different levels of criticality.
  • servers, controllers, switches, etc. can be monitored using a number of protocols, and at a certain point (e.g., at the end of a monitoring cycle) alarms are queued up and the cloud agent 60 sends the alarms to the cloud platform 40.
  • Alarms can be reactive (e.g., alarm when a motor fails, when a central processing unit (CPU) crashes, when an interlock is tripped, etc .) or proactive (e.g., track consumables on a machine and alarm when time to reorder, monitor cycle counts on a machine and determine when to schedule preventative maintenance, alarm when temperatures go out of defined bandwidths, send notification when a computer's memory is 80% full, etc .).
  • proactive e.g., track consumables on a machine and alarm when time to reorder, monitor cycle counts on a machine and determine when to schedule preventative maintenance, alarm when temperatures go out of defined bandwidths, send notification when a computer's memory is 80% full, etc .
  • the cloud agent 60 allows the user to define these queues 76 from the on-site location and to define how data in each queue is handled. For example, the user can define, for each queue, an upload frequency to the queue, a priority level (e.g., which data queues should take processing priority over other data queues), which cloud partitions or databases data from the respective queues should be placed in, and other such information.
  • the configuration of the message queues 76 is suitably stored in the manifest and provided to the cloud platform 40, for example, upon initialization.
  • the live data queue 80 may be defined to process live data values that are to be used by a remote operator interface application to view substantially real-time data from the plant facility 50, while the historical data queue 82 may be used to process historical data for archival storage in a historical database 86 in cloud storage 88. Accordingly, the live data queue 80 may be assigned a higher priority relative to the historical data queue 82, since data in the live data queue 80 is more time-critical than data in the historical queue 82.
  • a worker role 90 processes data referenced in the respective queues 76 according to predefined processing definitions and according to the priorities of the data.
  • the worker role 90 determines how data is to be processed and stored based on a manifest 92, typically a client-specific manifest, stored in the cloud storage 88.
  • the manifest 92 references behavior assemblies 94 (e.g., a dynamic-link library (DLL)) stored in the cloud storage 88.
  • the behavior assemblies 94 implement customer-site capabilities to process monitored data.
  • the behavior assemblies 94 can be dynamically uploaded by a user at the plant facility 50 through the cloud agent 60, which facilitates dynamic extension of the cloud platform 40. Additional roles can be dynamically added as needed.
  • the user can interact with the cloud agent 60 to configure a new behavior assembly for the new queue that defines such aspects as a processing priority for the data, an upload frequency for the data, where the data is to be stored within cloud storage, and other such information.
  • the cloud agent 60 can then upload the new behavior assembly together with the data (or independently of the data).
  • the new behavior assembly is then added to the customer's manifest 92 with the other behavior assemblies defined for the customer, so that the worker role 90 can leverage the new behavior assembly to determine how data in the new queue is to be processed. This new behavior assembly need only be uploaded to the cloud platform once.
  • the manifest 92 may define where the data is to be stored within the cloud storage 94 (e.g., in the historical database 86 or in an alarms and live data database 96 ), and whether processing of the new data queue is to take priority over other data queues.
  • the manifest 92 may only accept a new behavior assembly if the behavior assembly is accompanied by a unique key associated with the client.
  • reporting services 100 can deliver data in the cloud storage 88 (e.g., from the alarm and live data database 96 or the historical database 86 ) to the clients 98 in a defined format.
  • the reporting services 100 can leverage monitored data stored in the cloud storage 88 to provide remote operator interfaces to the clients 98 over the Internet.
  • FIGURE 9 illustrates an example status webpage for a motor drive that can be viewed by a web client of the cloud platform 40.
  • FIGURE 10 illustrates an example historical alarms webpage for a motor drive that can be viewed by a web client of the cloud platform 40.
  • FIGURE 11 illustrates an example motor speed webpage for a motor drive that can be viewed by a web client of the cloud platform 40.
  • cloud agent 60 users can organize the cloud computing infrastructure at the plant facility 50 through the cloud agent 60 without the need to redevelop, recompile, test, and re-upload services.
  • the cloud agent 60 provides a mechanism to integrate industrial devices with the cloud platform 40, where data from the industrial devices can be leveraged by the cloud services 46.
  • the cloud agent 60 can facilitate dynamic allocation of cloud computing data storage and computing resources for plant data.
  • Embodiments, systems, and components described herein can include, and/or be embodied by, computer or network components (e.g., servers, clients, programmable logic controllers (PLCs), communications modules, mobile computers, wireless components, control components and so forth) which are capable of interacting across a network.
  • computer or network components e.g., servers, clients, programmable logic controllers (PLCs), communications modules, mobile computers, wireless components, control components and so forth
  • Computers and servers include one or more processors (i.e., electronic integrated circuits that perform logic operations employing electric signals) configured to execute instructions stored in media (e.g., random access memory (RAM), read only memory (ROM), hard drives, etc .), as well as removable memory devices (e.g., memory sticks, memory cards, flash drives, external hard drives, etc .).
  • processors i.e., electronic integrated circuits that perform logic operations employing electric signals
  • RAM random access memory
  • ROM read only memory
  • hard drives etc.
  • removable memory devices e.g., memory sticks, memory cards, flash drives, external hard drives, etc .
  • PLC can include functionality that can be shared across multiple components, systems, and/or networks.
  • one or more PLCs can communicate and cooperate with various network devices across the network. This can include substantially any type of controller, communications module, computer, I/O device, sensor, actuator, and human machine interface (HMI) that communicate via the network, which includes control, automation, and/or public networks.
  • the PLC can also communicate to and control various other devices (e.g., I/O devices, including analog, digital, and/or programmed/intelligent I/O devices, other programmable controllers, communications modules, sensors, actuators, output devices, and the like).
  • the network can include public networks (e.g., the Internet), intranets, and automation networks (e.g., CIP networks, including DeviceNet, ControlNet, and Ethernet/IP). Other networks include Ethernet, Data Highway (DH), Data Highway Plus (DH+), Remote I/O, Fieldbus, Modbus, Profibus, controller area network (CAN), wireless networks, serial protocols, and so forth.
  • the network devices can include various possibilities of hardware and/or software components. These include components such as switches with virtual local area network (VLAN) capability, local area networks (LANs), wide area networks (WANs), proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.
  • VLAN virtual local area network
  • LANs local area networks
  • WANs wide area networks
  • proxies gateways
  • routers firewalls
  • VPN virtual private network
  • FIGURES 11 and 12 provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter may be implemented.
  • an example operating environment 200 for implementing various aspects of the aforementioned subject matter includes a computer 202.
  • the computer 202 includes a processing unit 204, a system memory 206, and a system bus 208.
  • the system bus 208 couples system components including, but not limited to, the system memory 206 to the processing unit 204.
  • the processing unit 204 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 204.
  • the system bus 208 can be any of several types of bus structure(s) including a memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 8-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
  • ISA Industrial Standard Architecture
  • MSA Micro-Channel Architecture
  • EISA Extended ISA
  • IDE Intelligent Drive Electronics
  • VLB VESA Local Bus
  • PCI Peripheral Component Interconnect
  • USB Universal Serial Bus
  • AGP Advanced Graphics Port
  • PCMCIA Personal Computer Memory Card International Association bus
  • SCSI Small Computer Systems Interface
  • the system memory 206 includes volatile memory 210 and nonvolatile memory 212.
  • the basic input/output system (BIOS) containing the basic routines to transfer information between elements within the computer 202 ( e.g., during start-up), is stored in the nonvolatile memory 212.
  • the nonvolatile memory 212 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), or flash memory.
  • the volatile memory 210 includes random access memory (RAM), which acts as external cache memory.
  • RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
  • SRAM synchronous RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM Synchlink DRAM
  • DRRAM direct Rambus RAM
  • the computer 202 also includes removable/non-removable, volatile/non-volatile computer storage media.
  • FIGURE 11 illustrates, for example, disk storage 214.
  • the disk storage 214 can include a magnetic disk drive, a floppy disk drive, a tape drive, a Jaz drive, a Zip drive, a LS-100 drive, a flash memory card, a memory stick, or a like device.
  • the disk storage 214 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive (e.g., a compact disk (CD) ROM (CD-ROM) drive, a CD recordable (CD-R) drive, a CD rewritable (CD-RW) drive or a digital versatile disk ROM (DVD-ROM) drive).
  • an optical disk drive e.g., a compact disk (CD) ROM (CD-ROM) drive, a CD recordable (CD-R) drive, a CD rewritable (CD-RW) drive or a digital versatile disk ROM (DVD-ROM) drive.
  • a removable or non-removable interface is typically used (e.g., an interface 216).
  • FIGURE 11 describes software that acts as an intermediary between users and the basic computer resources described in the operating environment 200.
  • Such software includes an operating system 218, which can be stored on the disk storage 214, acts to control and allocate resources of the computer 202.
  • System applications 220 e.g., the cloud agent, in some embodiments
  • one or more embodiments of the subject disclosure can be implemented with various operating systems or combinations of operating systems.
  • a user enters commands or information into the computer 202 through one or more input devices 226.
  • the input devices 226 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, television (TV) tuner card, digital camera, digital video camera, web camera, and the like.
  • These and other input devices connect to the processing unit 204 through the system bus 208 via one or more interface ports 228.
  • the interface ports 228 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB).
  • One or more output devices 230 use some of the same type of ports as the input devices 226.
  • a USB port may be used to provide input to the computer 202 and to output information from the computer 202 to an output device 230.
  • Output adapters 232 are provided to illustrate that there are some output devices (e.g., monitors, speakers, and printers) which require special adapters.
  • the output adapters 232 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between these output devices and the system bus 208. It should be noted that other devices and/or systems of devices provide both input and output capabilities (e.g., one or more remote computers 234 ).
  • the computer 202 can operate in a networked environment using logical connections to the remote computers 234.
  • the remote computers 234 can include one or more of a personal computer (PC), a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to the computer.
  • PC personal computer
  • the remote computers 234 are logically connected to the computer 202 through a network interface 238 and then physically connected via one or more communication connections 240.
  • the network interface 238 encompasses communication networks (e.g., LANs and WANs).
  • LAN technologies include fiber distributed data interface (FDDI), copper distributed data interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like.
  • WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like integrated services digital networks (ISDN) and variations thereon, packet switching networks, and digital subscriber lines (DSL).
  • ISDN integrated services digital networks
  • DSL digital subscriber lines
  • the communication connections 240 refer to the hardware and/or software employed to connect the network interface 238 to the system bus 208. While the communication connections 240 are shown for illustrative clarity inside the computer 202, the communication connections 240 can also be external to the computer 202.
  • the hardware and/or software necessary for connection to the network interface 238 includes, for exemplary purposes only, internal and external technologies (e.g., modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards).
  • FIGURE 12 is a schematic block diagram of an example computing environment 250 with which the disclosed subject matter can interact.
  • the computing environment 250 includes one or more clients 252.
  • the clients 252 can be hardware and/or software (e.g., threads, processes, computing devices, etc .).
  • the computing environment 250 also includes one or more servers 254.
  • the servers 254 can also be hardware and/or software (e.g., threads, processes, computing devices, etc .).
  • the servers 254 can house threads to perform transformations by employing one or more embodiments as described herein, for example.
  • One possible communication between a client and a server can be in the form of a data packet adapted to be transmitted between two or more computer processes.
  • the computing environment 250 includes a communication framework 256 that can be employed to facilitate communications between the clients 252 and the servers 254.
  • the clients 252 are operably connected to one or more client data stores 258 that can be employed to store information local to the clients 252.
  • the servers 254 are operably connected to one or more server data stores 260 that can be employed to store information local to the servers 254.
  • the terms (including a reference to a "means") used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the disclosed subject matter.
  • the disclosed subject matter includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the disclosed subject matter.
  • exemplary is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
  • Computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips...), optical disks [ e.g., compact disk (CD), digital versatile disk (DVD)...], smart cards, and flash memory devices (e.g., card, stick, key drive).
  • magnetic storage devices e.g., hard disk, floppy disk, magnetic strips
  • optical disks e.g., compact disk (CD), digital versatile disk (DVD)...
  • smart cards e.g., card, stick, key drive
  • the terms "component,” “system,” “platform,” “layer,” “controller,” “terminal,” “station,” “node,” “interface” are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution.
  • a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removable affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer.
  • affixed e.g., screwed or bolted
  • the components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
  • a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.
  • a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components.
  • interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
  • I/O input/output
  • API Application Programming Interface
  • the terms "to infer” and “inference” refer generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic-that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
  • the term "or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B.
  • the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
  • a “set” in the subject disclosure includes one or more elements or entities.
  • a set of controllers includes one or more controllers; a set of data resources includes one or more data resources; etc.
  • group refers to a collection of one or more entities; e.g., a group of nodes refers to one or more nodes.

Description

    BACKGROUND
  • The present exemplary embodiments relate to remote monitoring. They find particular application in conjunction with industrial devices, such as the POWERFLEX 7000, and will be described with particular reference thereto. However, it is to be appreciated that the present exemplary embodiments are also amenable to other like applications.
  • Maintaining stability and integrity of industrial devices is a high priority. Industrial devices include, for example, motor drives, such as the POWERFLEX 7000. Motor drives are used to generate and provide alternating current (AC) output power to a motor. Failure to maintain the stability and integrity of industrial devices can affect production and prove costly to entities employing the industrial devices. Further, maintaining the stability and integrity of industrial devices can prove dangerous to those relying upon industrial equipment to, for example, generate power or pump gas to generate heat.
  • To maintain stability and integrity of industrial devices, industrial devices can be locally or remotely monitored for anomalies and/or patterns indicative of failure. Traditionally, industrial devices have been locally monitored. However, industrial equipment may not always be easily accessed. Further, those with the technical know how to identify anomalies and/or patterns indicative of failure may not be on-site. Sending maintenance and/or repair personnel to a field installation is costly. Remote monitoring provides a solution to these challenges.
  • Previous remote monitoring implementations involved customized software and infrastructure configurations, which are cumbersome to maintain and update. Further, on-premise data collection required by such remote monitoring systems consumes large amounts of data storage. Moreover, since potentially sensitive plant data is to be transmitted to a remote viewer, secure data transmission channels are required.
  • The present application provides a new and improved system and method which overcome the above-referenced problems and others.
  • EP 1 672 535 A1 relates to a distributed intelligent diagnostic scheme. A system and/or methodology employ an agent technology logic layer operating in connection with or integral to a controller. The logic layer can be a functional extension of the controller's firmware that facilitates logic reasoning and decision making with regard to individual agent state and/or status. The system can further include a controller component that configures or reconfigures the agent-based network in accordance with an output from the logic engine. Further, a sensing component that facilitates obtaining the information from the plurality of agents can be provided. Monitoring and/or diagnosing a distributed network control component are facilitated via agent-to-agent communication. The distributed network control component can include 1 to M agent components. The agent components can diagnose and/or reconfigure the distributed network control component via agent-to-agent communication.
  • US 2009/171475 A1 relates to a system, method, and computer-readable medium for development and deployment of self-describing controlled device modules in a control system. A self-describing device module' associated with a controlled device provides capabilities of a controlled device both at runtime and before installation. The Module is configured to generate the runtime capabilities object from the self-describing XML file. An integration IDE may access the controlled device module to obtain the self-describing XML file and use the XML file to integrate the controlled device's exposed capabilities into the control system. Thereafter, monitoring and control of the controlled device may then be performed by issuance of suitable commands from the remote monitoring system.
  • US 2005/108453 A1 relates to an integrated multi-agent system employing agents of different types. Different types of agents can have different architectures/infrastructures and consequently may have different capabilities and strengths. A multi-agent system employing agents of multiple different types could better address the needs of some systems to be controlled/monitored. Heterogeneous agent systems could be most effectively and simply implemented if the various agents of such systems shared certain standard characteristics despite being of different types, for example, characteristics relating to the communication protocols and/or communication transport stack by which the agents of the different types intercommunicate with one another, as well as certain functional components that the different agent types may share in common with one another.
  • BRIEF DESCRIPTION
  • It is the object of the present invention to improve remote monitoring of industrial devices.
  • This object is solved by the subject matter of the independent claims.
  • Preferred embodiments are defined by the dependent claims.
  • In accordance with one aspect of the present disclosure, a cloud-based remote monitoring system for monitoring an industrial facility is provided. The industrial facility includes one or more industrial devices. The system includes a cloud agent located at the industrial facility and configured to, by at least one processor, collect data indicative of a past and/or a present state of the industrial devices according a manifest specific to the industrial facility. The cloud agent is further configured to send the collected data to a remote cloud platform according to the manifest dynamically reconfigure the cloud agent without interrupting the collecting and the sending. The cloud platform processes the sent data to facilitate remote monitoring of the industrial devices.
  • In accordance with another aspect of the present disclosure, a cloud-based remote monitoring method for monitoring an industrial facility is provided. The industrial facility includes one or more industrial devices. By at least one processor located at the industrial facility, data indicative of a past and/or a present state of the industrial devices is collected according a manifest specific to the industrial facility. Further, the collected data is sent to a remote cloud platform according to the manifest and the at least one processor is dynamically reconfigured without interrupting the collecting and the sending. The cloud platform processes the sent data to facilitate remote monitoring of the industrial devices.
  • In accordance with another aspect of the present disclosure, a cloud-based remote monitoring system for monitoring an industrial facility is provided. The industrial facility includes one or more industrial devices. The system includes a cloud agent located at the industrial facility and configured to, by at least one processor, collect data indicative of a past and/or a present state of the industrial devices according a manifest specific to the industrial facility. The cloud agent is further configured to send the collected data to a remote cloud platform according to the manifest. The collected data is sent to corresponding queues of the cloud platform based on data type. The cloud agent is further configured to dynamically reconfigure the cloud agent without interrupting the collecting and the sending. The cloud platform processes the sent data from the queues to facilitate remote monitoring of the industrial devices, data in each queue processed differently.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention may take form in various components and arrangements of components, and in various steps and arrangements of steps. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention.
    • FIGURE 1 illustrates a cloud-based remote monitoring system;
    • FIGURE 2 illustrates an example memory layout of an industrial device;
    • FIGURE 3 illustrates an example bit layout of a status parameter of an industrial device;
    • FIGURE 4 illustrates part of an example manifest listing motor drives to monitor;
    • FIGURE 5 illustrates part of an example manifest listing parameters to monitor for motor drives;
    • FIGURE 6 illustrates a detailed embodiment of the cloud-based remote monitoring system of FIGURE 1;
    • FIGURE 7 illustrates more detail of the cloud agent of FIGURE 6;
    • FIGURE 8 illustrates an example data packet;
    • FIGURE 9 illustrates an example status webpage for a motor drive that can be viewed by a web client;
    • FIGURE 10 illustrates an example historical alarms webpage for a motor drive that can be viewed by a web client;
    • FIGURE 11 illustrates an example motor speed webpage for a motor drive that can be viewed by a web client;
    • FIGURE 12 illustrates an example computing environment; and
    • FIGURE 13 illustrates an example networking environment.
    DETAILED DESCRIPTION
  • Various aspects of this disclosure are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. It should be understood, however, that certain aspects of this disclosure may be practiced without these specific details, or with other methods, components, materials, etc. In other instances, well-known structures and devices are shown in block diagram form to facilitate describing one or more aspects.
  • With reference to FIGURE 1, a cloud-based remote monitoring system 10 including one or more industrial facilities 12, 14 is provided. Each industrial facility 12, 14 corresponds to an industrial enterprise. For example, a first industrial facility can correspond to a first industrial enterprise, and a second industrial facility can correspond to a second industrial enterprise. As another example, the first and second industrial facilities can correspond to a common industrial enterprise. The industrial facilities 12, 14 can be fixed (e.g., a plant facility) and/or mobile (e.g., a system contained in a truck or other service vehicle).
  • Each industrial facility 12, 14 includes one or more industrial devices 16, 18, 20, 22, 24, 26. The industrial devices 16, 18, 20, 22, 24, 26 can include one or more of: industrial controllers (e.g., programmable logic controllers or other types of programmable automation controllers); field devices (e.g., sensors and meters); motor drives (e.g., the POWERFLEX 7000); operator interfaces (e.g., human-machine interfaces, industrial monitors, graphic terminals, message displays, etc.); industrial robots, barcode markers and readers; vision system devices (e.g., vision cameras); smart welders; and other such industrial devices.
  • Each of the industrial devices 16, 18, 20, 22, 24, 26 includes one or more memories. The memories include externally readable data (external to the industrial device) indicative of the present and/or past state of the industrial device. For example, the memories can include one or more of: 1) one or more configurable parameters controlling the operation of the industrial device; 2) one or more parameters indicating the status of the industrial device; 3) one or more warning, fault or alarm parameters indicating one or more of warnings, faults and alarms, respectively, with the industrial device; and 4) one or more queues, each with one or more of warnings, faults and alarms with the industrial device. Referring to FIGURE 2, an example memory layout of an industrial device is illustrated. Referring to FIGURE 3, an example table illustrating the bit layout of a status parameter of an industrial device is illustrated.
  • The industrial devices 16, 18, 20, 22, 24, 26 make up one or more automation systems operating within the respective facilities. Exemplary automation systems can include one or more of: 1) batch control systems (e.g., mixing systems); 2) continuous control systems (e.g., proportional-integral-derivative (PID) control systems); and 3) discrete control systems. Exemplary automation systems can include one or more industrial controllers that facilitate monitoring and control of respective processes. The controllers exchange data with field devices using native hardwired input/output (I/O) and/or using industrial facility networks (e.g., Ethernet/Internet Protocol (IP), Data Highway Plus, ControlNet, Devicenet, etc.).
  • A given controller typically receives any combination of digital and analog signals from the field devices indicating a current state of the devices and their associated processes (e.g., temperature, position, part presence or absence, fluid level, etc.), and executes a user-defined control program that performs automated decision-making for the controlled processes based on the received signals. The controller then outputs appropriate digital and/or analog control signaling to the field devices in accordance with the decisions made by the control program. These outputs can include device actuation signals, temperature or position control signals, operational commands to a machining or material handling robot, mixer control signals, motion control signals, and the like. The control program can comprise any suitable type of code used to process input signals read into the controller and to control output signals generated by the controller, including but not limited to ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.
  • Each industrial facility 12, 14 includes an on-premise data collection system 28, 30 communicatively coupled to the respective industrial devices 16, 18, 20, 22, 24, 26 using one or more associated network connections and any suitable protocol. In some embodiments, control interface protocol (CIP) and/or distributed protocol interface (DPI) may be used for communication between the industrial devices 16, 18, 20, 22, 24, 26 and the data collection system 28, 30. Using CIP and/or DPI, the data collection system 28, 30 is configurable to monitor controlled processes and device status through receipt of information related to the monitored devices and/or associated processes.
  • The data collection system 28, 30 includes a cloud agent 32, 34 configured to collect live data (e.g., status parameter values) and/or historical data (e.g., alarm history, fault history, warning history, status history, trend data, etc.) from the industrial devices 16, 18, 20, 22, 24, 26, directly and/or indirectly by, for example, accessing an optional data historian 36, 38 of the data collection system 28, 30. The data historian 36, 38 monitors one or more industrial devices and stores data in local storage associated with the data historian. This data can include historical data and/or live data read from the monitored devices. It's advantageous to use the data historian 36, 38 as the data source when there are a large number of data points to monitor.
  • The cloud agent 32, 34 is further configured to transmit the collected data to a cloud platform 40 of the cloud-based remote monitoring system 10. The data can be prioritized before transmission to the cloud platform 40. Further, the data can be transmitted with priorities indicating the order with which the cloud platform 40 processes the data. The cloud agent 32, 34 can further specify how transmitted data is to be processed, for example, to allow additional data types to be processed by the cloud platform 40. If an industrial device becomes disconnected, powered off or otherwise unavailable, an alarm is sent to the cloud platform 40. The cloud agent 32, 34 can be, for example, a Windows service that periodically collects and transmits serialized and compressed data into the cloud platform 40 using standard web services over hypertext transfer protocol secure (HTTPS)/secure sockets layer (SSL).
  • The cloud agent 32, 34 is configured by a site- specific manifest 42, 44. The manifest 42, 44 can include a plurality of files and is typically in extensible markup language (XML). The manifest 42, 44 can identify the frequencies with which data should be collected from the respective industrial devices 16, 18, 20, 22, 24, 26. Typically, the frequencies are specific to the industrial devices 16, 18, 20, 22, 24, 26 and/or types of data (e.g., alarms, faults, warnings, status parameters, configurable parameters, historical data, live data, etc.). Even more, the manifest 42, 44 can identify how the data transmitted to the cloud platform 40 is processed by the cloud platform 40. Also, the manifest 42, 44 can specify the priority with which data is processed by the cloud platform 40.
  • Further, the manifest 42, 44 identifies which of the industrial devices 16, 18, 20, 22, 24, 26 to collect live data and/or historical data for, and what data to collect from the industrial devices 16, 18, 20, 22, 24, 26. The data to collect is suitably specified for each industrial device 16, 18, 20, 22, 24, 26 or individual type of device by identifying one or more parameters in the memories of industrial devices and/or by identifying alarms, faults and/or warnings to collect from the memories of industrial devices. For example, the manifest 42, 44 can indicate the ready bit (see FIGURE 3) is to be monitored for an industrial device. As another example, the manifest can indicate the five most recent alarms in an alarm queue of an industrial device are to be collected. FIGURE 4 illustrates part of an example manifest listing POWERFLEX 7000 drives to monitor. FIGURE 5 illustrates part of an example manifest listing parameters to monitor for POWERFLEX 7000 drives.
  • Moreover, the manifest 42, 44 can identify the priorities and/or upload rates of the different types of data transmitted to the cloud platform 40. For instance, historical data may be transmitted to the cloud platform 40 for off-site monitoring at a low priority and a low rate, whereas other data can be transmitted at a higher priority and a higher rate. The manifest 42, 44 can also specify that certain data is characterized as "live data", which may be used by an off-site monitoring facility for process monitoring or other monitoring purposes. In such a case, the manifest 42, 44 may define such "live data" as being of high priority (e.g., lower priority than alarm data, but higher priority than historical data), and may specify a corresponding high upload rate for such "live data".
  • The cloud agent 32, 34 is dynamically configurable to allow changes to be made to the respective manifest 42, 44 during runtime. For example, the number and type of monitored devices can be changed at any time. As another example, the cloud agent 32, 34 allows the priority and upload rate settings for a given type of data to be dynamically set. This, in turn, allows a remote monitor to adjust the upload rate and/or priority for a given device, for example, to facilitate troubleshooting from a remote location. Such adjustments, moreover, may be advantageous in process monitoring applications, for instance, in which a remote user desires higher granularity data with respect to a controlled process at the customer site, and can employ dynamic adjustments to the rate and/or priority settings of the manifest 42, 44 to adjust the speed of data monitoring.
  • Further, the cloud agent 32, 34 can include multi-threading capabilities to facilitate scalability and to prevent failed industrial devices from blocking data collection from other industrial devices. Upon detecting a failed industrial device, the cloud agent 32, 34 can also generate an alarm to the cloud platform 40 indicative of the failure.
  • In some embodiments, the cloud agent 32, 34 includes a collection service and a queue processing service. The collection service stores the collected data (e.g., to a working directory), typically in a compressed state. A priority indicating the priority by which the cloud platform processes the data can also be added according to the manifest 42, 44. The queue processing service then creates a data packet from the stored data and uploads the data packet to a temporary storage in the cloud platform 40. The order with which the data packet is uploaded relative to other data packets can be controlled by a priority of the data packet.
  • Further, in some embodiments, the cloud agent is configured by the manifest 42, 44 to, for each industrial device 16, 18, 20, 22, 24, 26, read the list of parameters that have been configured for the device and upload data to the cloud platform 40. Further, if there is a fault queue and/or a warning queue, the cloud agent 32, 34, for each industrial device 16, 18, 20, 22, 24, 26, reads the status to determine if there is a fault and/or a warning. If there is a fault, the most recent fault is read from the fault queue and uploaded to the cloud platform 40. Similarly, if there is a warning, the most recent warning is read from the warning queue and uploaded to the cloud platform 40.
  • The cloud platform 40 can be any infrastructure that allows computing services 46 to be accessed and utilized by cloud-capable devices. For example, the cloud platform 40 can be MICROSOFT's AZURE cloud platform. The cloud platform 40 can be a public cloud accessible via the Internet by devices having Internet connectivity and appropriate authorizations to utilize the services. In some scenarios, the cloud platform 40 can be provided by a cloud provider as a platform-as-a-service (PaaS), and the services 46 can reside and execute on the cloud platform 40 as a cloud-based service. In some such configurations, access to the cloud platform 40 and the services 46 can be provided to customers as a subscription service by an owner of the services. For example, the services can be provided using a software-as-a-service (SaaS) service model. Alternatively, the cloud platform 40 can be a private cloud operated internally by an industrial enterprise. An exemplary private cloud can comprise a set of servers hosting the cloud services 46 and residing on a corporate network protected by a firewall.
  • The cloud services 46 can include one or more of data storage, data analysis, control applications (e.g., applications that can generate and deliver control instructions to industrial devices based on analysis of real-time system data or other factors), visualization applications (e.g., a cloud-based operator interface system), reporting applications, enterprise resource planning (ERP) applications, notification services, and other such applications. In some embodiments, the cloud services 46 include a diagnostic service monitoring the health of respective automation systems or their associated industrial devices across an entire industrial facility, or across multiple industrial facilities that make up an industrial enterprise. Further, in some embodiments, the cloud services 46 include a control application used to track a unit of product through its stages of production and collect production data for each unit as it passes through each stage (e.g., barcode identifier, production statistics for each stage of production, quality test data, abnormal flags, etc.). Even more, in some embodiments, the cloud services 46 include an application monitoring for the unavailability of an industrial facility (e.g., due to a power outage) and generating an alert or notification (e.g., an email notification) in response to such an event.
  • The industrial devices 16, 18, 20, 22, 24, 26 suitably interact with the cloud services 46 through the cloud agent 32, 34. Advantageously, this allows the industrial devices 16, 18, 20, 22, 24, 26 to be used with the cloud platform 40 without modification. However, direct interaction between the cloud services 46 and at least some of the industrial devices 16, 18, 20, 22, 24, 26 is also contemplated. For example, industrial devices having smart configuration capability can be configured to automatically detect and communicate with the cloud platform 40 upon installation at any facility, simplifying integration with existing cloud-based data storage, analysis, or reporting applications used by the industrial enterprise.
  • Upon receiving data from the cloud agent 32, 34, the cloud platform 40 processes the data using the cloud services 46. This can include adding the data in temporary storage for subsequent processing. The order with which the data packet is subsequently processed can be governed by a priority accompanying the data. The processing typically includes: 1) analyzing the data and storing the results of the analysis in permanent storage; and/or 2) storing the data in permanent storage. The results and/or the data can, in turn, be used to generate notifications (e.g., email notifications of potential problems with industrial devices) to users of the cloud platform 40, reports, and/or visualizations. Reports, visualizations, and other service outputs are typically stored in permanent storage.
  • Once the cloud platform 40 has processed received data, the received data and/or data derived from the received data are made available to one or more clients 48 of the cloud platform 40 for viewing. The clients 48 can also be employed to remotely update the manifest 42, 44 of an industrial facility. For example, a client can initiate selective adjustment to a manifest to change upload speeds, priorities or add monitored devices. The clients 48 can include web clients communicating with the cloud platform 40 using, for example, hypertext transfer protocol (HTTP) or HTTPS. The clients 48 can also include clients using specialized software to communicate with the cloud platform 40. Advantageously, the clients 48 allow remote monitoring of the industrial devices 16, 18, 20, 22, 24, 26 without being on-site. Further, problems can advantageously be more easily diagnosed by those with the requisite skill to do so.
  • In some embodiments, the clients 16, 18, 20, 22, 24, 26 include a monitoring center. The monitoring center can be managed by an industrial enterprise to monitor its industrial facilities. Alternatively, the monitoring center can be managed by a third party to monitor the industrial facilities of one or more industrial enterprises. In this case, the third party can charge the industrial enterprises a fee for the monitoring.
  • Providing industrial devices with cloud capability can offer a number of advantages particular to industrial automation. The cloud platform 40 can be easily scaled to accommodate differing amounts of data storage and processing. Further, the cloud platform 40 can be easily extended to increase functionality. For example, the cloud platform 40 can be extended to provide a motor control center (MCC).
  • The cloud platform 40 also provides a cost effective solution for industrial enterprises to monitor industrial devices. Industrial enterprises do not have to maintain a data center infrastructure or patch software running in the data center infrastructure. Further, the cloud platform 40 does away with high upfront costs and defers costs over a period of time when using a PaaS or SaaS service model. Even more, monitoring and diagnosis are also improved since on-site visits by those with requisite skill to identify future issues and/or diagnosis issues are not required. Moreover, multiple industrial facilities at different geographical locations can migrate their respective automation data to the cloud for aggregation, collation, collective analysis, and enterprise-level reporting without the need to establish a private network between the facilities.
  • With reference to FIGURE 6, a detailed embodiment of the cloud-based remote monitoring system 10 of FIGURE 1 is provided. This embodiment leverages the cloud platform 40 to provide remote monitoring services to an industrial enterprise (i.e., a customer) using, for example, a SaaS service model.
  • As illustrated, a plant facility 50 includes an on-premise data historian 52 collecting live and/or historical data from industrial devices (e.g., data 54 generated by one or more industrial controllers) at the plant facility 50. For example, the data historian 52 monitors one or more parameters in parameters archives 56 received from the industrial devices and stores data in local storage 58 associated with the data historian 52 (e.g., a structured query language (SQL) server database). This can include both historical data (e.g., alarm history, warning history, fault history, status history, trend data, etc.), as well as live data values read from the industrial devices.
  • An on-premise cloud agent 60 at the plant facility 50 is configured to collect live and/or historical data from the industrial devices, either directly (e.g., from one or more variable frequency drives 62) or indirectly (e.g., by accessing the data historian 52). The process of collecting the data involves intelligent sorting and organizing based on time of occurrence and user-defined priorities. The cloud agent 60 can be, for example, a Windows service that periodically collects and transmits serialized and compressed data to the cloud platform using standard web services over HTTPS/SSL. As illustrated, the data historian 52 is a data source for the cloud agent 60. The use of a data historian is advantageous when there are a large number of data points to monitor. However, the cloud agent 60 can additionally or alternatively collect data directly from the industrial devices (e.g., through a CIP link), as illustrated with respect to the variable frequency drives 62, or through middleware applications (e.g., open productivity and connectivity (OPC) clients).
  • With reference to FIGURE 7, a more detailed illustration of the cloud agent 60 is provided. The cloud agent 60 includes a collection service 64 that collects data directly from the industrial devices (e.g., the variable frequency drives 62), and/or indirectly from the industrial devices (e.g., by way of the data historian 52), via a CIP link or other suitable communication protocol. The collection service 64 is controlled by a site-specific manifest, which can specify one or more of what data to be collected, how often to collect the data, how to retrieve data from the industrial devices, and so on. For example, the manifest can specify that the following should be collected for a specific type of motor drive: motor speed; motor power; motor voltage; motor current; drive status; last warning; and last fault. The collection service 64 stores the collected data in a data file 66, typically a compressed data file. In addition, reference to the stored data file 66 is added to a queue 68 (e.g., a MICROSOFT Message Queue Server (MSMQ) database). The queue 68 can be prioritized based on priorities specified in the manifest. These priorities can be specific to different parameters, different types of data, different industrial devices, different types of industrial devices, etc.
  • A queue processing service 70 of the cloud agent 60 reads the data file 66 in the order it appears in the queue 68. Based on the manifest, the queue processing service 70 packages the data file 66 into a data packet 72 and pushes the data packet 72 to the cloud platform 40. The data packet 72 includes a header which can include customer-specific data read from the manifest. This customer-specific data can include, for example, a behavioral assembly ID and/or priority for processing the data of the data packet. As discussed hereafter, behavior assemblies implement customer-site capabilities to process monitored data and are typically specific to different types of data. Alternatively, instead of including the customer-specific data wholly within the header, this customer-specific data can at least partially be included in an event data notification, which is generated and pushed to the cloud platform 40 concurrently with the data packet 72 and in accordance with the manifest. The queue processing service 70 can also encrypt and send storage account keys to the cloud platform 40 for user verification.
  • An exemplary data packet is illustrated in FIGURE 8. In addition to a data file, the data packet includes a header, which includes one or more of a unique customer identifier (ID), a site ID representing a particular industrial facility, a virtual support engineer ID, a data priority for the data in the data file, a message type, and a process ID. Packaging the data in this way allows data from diverse data sources to be packaged together using a uniform, generic data packaging schema so that the data can be moved to the cloud infrastructure.
  • The manifest can include one or more of subscription information for the cloud platform 40, how to push data to the cloud platform 40, firewall settings that allow the cloud agent 60 to communicate with the cloud platform 40, and so on. The manifest may can also include associations between data and behavioral assemblies, thus allowing easy scaling to add more customized associations, and dynamic reconfiguration of associations for cloud-side parsing of received data packets.
  • A configuration interface of the cloud agent 60 allows modifications to be made to the manifest of the cloud agent 60. For example, users can assign priorities to respective data parameters or parameter groups at the customer site. Accordingly, when the queue processing service 70 packages the collected data to be moved to the cloud platform 40, the collected data items can be packaged into data packets according to priority (as defined in the manifest), and the respective data packet headers, or respective event data notification packets, can be populated with the appropriate priority level.
  • Advantageously, if access to the cloud platform 40 is disconnected, data will continue to be collected by the collection service 64 and stored locally at local storage associated with the collections service 64. When communication to the cloud platform 40 is restored, the stored data is forwarded to the cloud platform 40. Hence, data is not lost due to a lapse in connectivity with the cloud platform 40.
  • Returning back to FIGURE 6, upon receiving a data packet 72, data in the received data packet 72 is intelligently stored in temporary storage 74 (e.g., in cloud blob storage). The infrastructure can use cloud agent reasoning and collective bargaining to determine a data storage locale. Further, based on the corresponding customer-specific data, a record linking to the stored data is created in a selected one of one or more message queues 76 of the cloud platform. The record suitably includes at least some of the customer-specific data, and the selected queue can be prioritized using a priority of the customer-specific data. The customer-specific data can be received as part of the data packet, a corresponding event data notification, or a combination of the two. Further, the customer-specific data can include or be accompanied by a selection of the one of the message queues 76. The message queues define how the data is processed in the cloud platform 40. In the present example, separate queues have been defined for alarms 78, live data 80, historical data 82, and motor drive data 84.
  • The historical data queue 82 relates to time-series records accessed through, for example, an SQL application programming interface (API). The live data queue 80 relates to substantially real-time monitored data, such as current temperatures, current pressures, etc. The live data values can also be accessed through SQL API. The motor drives queue 84 is specific to motor drive data accessed through a DPI protocol to the respective drives. The motor drive data can relate to alarming and uploading of drive parameter data via a connector that uses the DPI protocol via, for example, a .NET class provided by the drives group.
  • The alarms queue 78 relates to abnormal situations, where the alarm data can also be accessed through SQL API. This alarms queue 78 can comprise multiple queues associated with different priorities to allow for different alarms having different levels of criticality. In some embodiments, servers, controllers, switches, etc., can be monitored using a number of protocols, and at a certain point (e.g., at the end of a monitoring cycle) alarms are queued up and the cloud agent 60 sends the alarms to the cloud platform 40. Alarms can be reactive (e.g., alarm when a motor fails, when a central processing unit (CPU) crashes, when an interlock is tripped, etc.) or proactive (e.g., track consumables on a machine and alarm when time to reorder, monitor cycle counts on a machine and determine when to schedule preventative maintenance, alarm when temperatures go out of defined bandwidths, send notification when a computer's memory is 80% full, etc.).
  • Through a configuration interface provided by the cloud agent 60, users at the plant facility 50 can dynamically configure these message queues 76. Namely, the cloud agent 60 allows the user to define these queues 76 from the on-site location and to define how data in each queue is handled. For example, the user can define, for each queue, an upload frequency to the queue, a priority level (e.g., which data queues should take processing priority over other data queues), which cloud partitions or databases data from the respective queues should be placed in, and other such information. The configuration of the message queues 76 is suitably stored in the manifest and provided to the cloud platform 40, for example, upon initialization.
  • In an exemplary scenario, the live data queue 80 may be defined to process live data values that are to be used by a remote operator interface application to view substantially real-time data from the plant facility 50, while the historical data queue 82 may be used to process historical data for archival storage in a historical database 86 in cloud storage 88. Accordingly, the live data queue 80 may be assigned a higher priority relative to the historical data queue 82, since data in the live data queue 80 is more time-critical than data in the historical queue 82.
  • On the output of the message queues 76, a worker role 90 processes data referenced in the respective queues 76 according to predefined processing definitions and according to the priorities of the data. The worker role 90 determines how data is to be processed and stored based on a manifest 92, typically a client-specific manifest, stored in the cloud storage 88. The manifest 92 references behavior assemblies 94 (e.g., a dynamic-link library (DLL)) stored in the cloud storage 88. The behavior assemblies 94 implement customer-site capabilities to process monitored data. The behavior assemblies 94 can be dynamically uploaded by a user at the plant facility 50 through the cloud agent 60, which facilitates dynamic extension of the cloud platform 40. Additional roles can be dynamically added as needed.
  • For example, if new data points are to be added to the cloud-based remote monitoring system 10 that require creation of a new message queue, the user can interact with the cloud agent 60 to configure a new behavior assembly for the new queue that defines such aspects as a processing priority for the data, an upload frequency for the data, where the data is to be stored within cloud storage, and other such information. The cloud agent 60 can then upload the new behavior assembly together with the data (or independently of the data). The new behavior assembly is then added to the customer's manifest 92 with the other behavior assemblies defined for the customer, so that the worker role 90 can leverage the new behavior assembly to determine how data in the new queue is to be processed. This new behavior assembly need only be uploaded to the cloud platform once.
  • Thereafter, data placed in the new message queue of the message queues will be processed by the worker role according to the new behavior assembly stored in the customer's manifest 92. For example, the manifest 92 may define where the data is to be stored within the cloud storage 94 (e.g., in the historical database 86 or in an alarms and live data database 96), and whether processing of the new data queue is to take priority over other data queues. In some embodiments, the manifest 92 may only accept a new behavior assembly if the behavior assembly is accompanied by a unique key associated with the client.
  • Once the cloud platform 40 has processed and stored the data provided by the cloud agent 60 according to the techniques described above, the data can be made accessible to one or more clients 98 for viewing. For example, data analysis on the cloud platform 40 can provide a set of web-based and browser enabled technologies for retrieving, directing, and uncompressing the data from the cloud platform to web clients. To this end, reporting services 100 can deliver data in the cloud storage 88 (e.g., from the alarm and live data database 96 or the historical database 86) to the clients 98 in a defined format. For example, the reporting services 100 can leverage monitored data stored in the cloud storage 88 to provide remote operator interfaces to the clients 98 over the Internet.
  • FIGURE 9 illustrates an example status webpage for a motor drive that can be viewed by a web client of the cloud platform 40. FIGURE 10 illustrates an example historical alarms webpage for a motor drive that can be viewed by a web client of the cloud platform 40. FIGURE 11 illustrates an example motor speed webpage for a motor drive that can be viewed by a web client of the cloud platform 40.
  • Using the cloud agent 60 described above, users can organize the cloud computing infrastructure at the plant facility 50 through the cloud agent 60 without the need to redevelop, recompile, test, and re-upload services. The cloud agent 60 provides a mechanism to integrate industrial devices with the cloud platform 40, where data from the industrial devices can be leveraged by the cloud services 46. By offering users the ability to create and upload behavior assemblies for respective data types, the cloud agent 60 can facilitate dynamic allocation of cloud computing data storage and computing resources for plant data.
  • Embodiments, systems, and components described herein (e.g., the industrial devices, the cloud platform, the data collection system, etc.) can include, and/or be embodied by, computer or network components (e.g., servers, clients, programmable logic controllers (PLCs), communications modules, mobile computers, wireless components, control components and so forth) which are capable of interacting across a network. Computers and servers include one or more processors (i.e., electronic integrated circuits that perform logic operations employing electric signals) configured to execute instructions stored in media (e.g., random access memory (RAM), read only memory (ROM), hard drives, etc.), as well as removable memory devices (e.g., memory sticks, memory cards, flash drives, external hard drives, etc.).
  • Similarly, the term PLC as used herein can include functionality that can be shared across multiple components, systems, and/or networks. As an example, one or more PLCs can communicate and cooperate with various network devices across the network. This can include substantially any type of controller, communications module, computer, I/O device, sensor, actuator, and human machine interface (HMI) that communicate via the network, which includes control, automation, and/or public networks. The PLC can also communicate to and control various other devices (e.g., I/O devices, including analog, digital, and/or programmed/intelligent I/O devices, other programmable controllers, communications modules, sensors, actuators, output devices, and the like).
  • The network can include public networks (e.g., the Internet), intranets, and automation networks (e.g., CIP networks, including DeviceNet, ControlNet, and Ethernet/IP). Other networks include Ethernet, Data Highway (DH), Data Highway Plus (DH+), Remote I/O, Fieldbus, Modbus, Profibus, controller area network (CAN), wireless networks, serial protocols, and so forth. In addition, the network devices can include various possibilities of hardware and/or software components. These include components such as switches with virtual local area network (VLAN) capability, local area networks (LANs), wide area networks (WANs), proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.
  • In order to provide a context for the various aspects of the disclosed subject matter, FIGURES 11 and 12, as well as the following discussion, provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter may be implemented.
  • With reference to FIGURE 11, an example operating environment 200 for implementing various aspects of the aforementioned subject matter includes a computer 202. The computer 202 includes a processing unit 204, a system memory 206, and a system bus 208. The system bus 208 couples system components including, but not limited to, the system memory 206 to the processing unit 204. The processing unit 204 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 204.
  • The system bus 208 can be any of several types of bus structure(s) including a memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 8-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
  • The system memory 206 includes volatile memory 210 and nonvolatile memory 212. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 202 (e.g., during start-up), is stored in the nonvolatile memory 212. By way of illustration, and not limitation, the nonvolatile memory 212 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), or flash memory. The volatile memory 210 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
  • The computer 202 also includes removable/non-removable, volatile/non-volatile computer storage media. FIGURE 11 illustrates, for example, disk storage 214. The disk storage 214 can include a magnetic disk drive, a floppy disk drive, a tape drive, a Jaz drive, a Zip drive, a LS-100 drive, a flash memory card, a memory stick, or a like device. In addition, the disk storage 214 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive (e.g., a compact disk (CD) ROM (CD-ROM) drive, a CD recordable (CD-R) drive, a CD rewritable (CD-RW) drive or a digital versatile disk ROM (DVD-ROM) drive). To facilitate connection of the disk storage 214 to the system bus 208, a removable or non-removable interface is typically used (e.g., an interface 216).
  • It is to be appreciated that FIGURE 11 describes software that acts as an intermediary between users and the basic computer resources described in the operating environment 200. Such software includes an operating system 218, which can be stored on the disk storage 214, acts to control and allocate resources of the computer 202. System applications 220 (e.g., the cloud agent, in some embodiments) take advantage of the management of resources by the operating system 218 through program modules 222 and program data 224 stored either in the system memory 206 or on the disk storage 214. It is to be appreciated that one or more embodiments of the subject disclosure can be implemented with various operating systems or combinations of operating systems.
  • A user enters commands or information into the computer 202 through one or more input devices 226. The input devices 226 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, television (TV) tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 204 through the system bus 208 via one or more interface ports 228. The interface ports 228 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). One or more output devices 230 use some of the same type of ports as the input devices 226. Thus, for example, a USB port may be used to provide input to the computer 202 and to output information from the computer 202 to an output device 230. Output adapters 232 are provided to illustrate that there are some output devices (e.g., monitors, speakers, and printers) which require special adapters. The output adapters 232 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between these output devices and the system bus 208. It should be noted that other devices and/or systems of devices provide both input and output capabilities (e.g., one or more remote computers 234).
  • The computer 202 can operate in a networked environment using logical connections to the remote computers 234. The remote computers 234 can include one or more of a personal computer (PC), a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to the computer. For purposes of brevity, only a memory storage device 236 is illustrated with the remote computers 234. The remote computers 234 are logically connected to the computer 202 through a network interface 238 and then physically connected via one or more communication connections 240. The network interface 238 encompasses communication networks (e.g., LANs and WANs). LAN technologies include fiber distributed data interface (FDDI), copper distributed data interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like integrated services digital networks (ISDN) and variations thereon, packet switching networks, and digital subscriber lines (DSL).
  • The communication connections 240 refer to the hardware and/or software employed to connect the network interface 238 to the system bus 208. While the communication connections 240 are shown for illustrative clarity inside the computer 202, the communication connections 240 can also be external to the computer 202. The hardware and/or software necessary for connection to the network interface 238 includes, for exemplary purposes only, internal and external technologies (e.g., modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards).
  • FIGURE 12 is a schematic block diagram of an example computing environment 250 with which the disclosed subject matter can interact. The computing environment 250 includes one or more clients 252. The clients 252 can be hardware and/or software (e.g., threads, processes, computing devices, etc.). The computing environment 250 also includes one or more servers 254. The servers 254 can also be hardware and/or software (e.g., threads, processes, computing devices, etc.). The servers 254 can house threads to perform transformations by employing one or more embodiments as described herein, for example. One possible communication between a client and a server can be in the form of a data packet adapted to be transmitted between two or more computer processes. The computing environment 250 includes a communication framework 256 that can be employed to facilitate communications between the clients 252 and the servers 254. The clients 252 are operably connected to one or more client data stores 258 that can be employed to store information local to the clients 252. Similarly, the servers 254 are operably connected to one or more server data stores 260 that can be employed to store information local to the servers 254.
  • What has been described above includes examples of the subject innovation. It is not possible to describe every conceivable combination of components or methodologies for purposes of describing the disclosed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the subject innovation are possible. Accordingly, the disclosed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the scope of the appended claims.
  • In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a "means") used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the disclosed subject matter. In this regard, it will also be recognized that the disclosed subject matter includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the disclosed subject matter.
  • In addition, while a particular feature of the disclosed subject matter may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms "includes," and "including" and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term "comprising."
  • In this application, the word "exemplary" is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
  • Various aspects or features described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips...), optical disks [e.g., compact disk (CD), digital versatile disk (DVD)...], smart cards, and flash memory devices (e.g., card, stick, key drive...).
  • As used in this application, the terms "component," "system," "platform," "layer," "controller," "terminal," "station," "node," "interface" are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removable affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components. As further yet another example, interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
  • As used herein, the terms "to infer" and "inference" refer generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic-that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
  • In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless specified otherwise, or clear from the context, the phrase "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, the phrase "X employs A or B" is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles "a" and "an" as used in this application and the appended claims should generally be construed to mean "one or more" unless specified otherwise or clear from the context to be directed to a singular form.
  • Furthermore, the term "set" as employed herein excludes the empty set; e.g., the set with no elements therein. Thus, a "set" in the subject disclosure includes one or more elements or entities. As an illustration, a set of controllers includes one or more controllers; a set of data resources includes one or more data resources; etc. Likewise, the term "group" as utilized herein refers to a collection of one or more entities; e.g., a group of nodes refers to one or more nodes.
  • Various aspects or features will be presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches also can be used.

Claims (12)

  1. A cloud agent (32, 34; 60) for monitoring an industrial facility (12, 14, 50), the industrial facility including one or more industrial devices (16, 18, 20, 22, 24, 26), the cloud agent being a system application located at the industrial facility, wherein the cloud agent utilizes a remote
    cloud platform to process data using cloud services (46) to facilitate remote monitoring of the industrial devices, the cloud agent being configured to:
    collect data indicative of a past and/or a present state of the industrial devices according to a manifest (42, 44) specific to the industrial facility, the cloud agent comprising the manifest, wherein the manifest identifies which data to collect from the respective industrial devices, wherein the manifest identifies the send frequency for different types of data and/or industrial devices, wherein the manifest identifies priorities for sending different types of data, and wherein the manifest identifies how the sent data is processed by the remote cloud platform (40);
    send the collected data to the remote cloud platform (40) according to the manifest, the collected data sent to corresponding one or more queues (76; 78, 80, 82, 84) of the remote cloud platform based on data type, wherein the one or more queues of the remote cloud platform comprise an alarms queue related to abnormal situations, wherein the alarms queue comprises multiple queues associated with different priorities to allow for different alarms having different levels of criticality; and
    dynamically reconfigure the cloud agent without interrupting the collecting and the sending, wherein the reconfiguration is made through a modification of the manifest during runtime, based on commands received remotely through the remote cloud platform.
  2. The cloud agent according to claim 1, wherein the industrial devices being monitored include motor drives.
  3. The cloud agent according to claim 1 or 2, wherein the different types of data include at least two of live data, historical data, and alarm data, and wherein the cloud agent is further configured to:
    send the collected data to the remote cloud platform according to the priorities, and/or
    wherein the manifest identifies how the sent data is processed by the cloud platform.
  4. The cloud agent according to claim 3, wherein the different types of data include live data, historical data, and alarm data,
    wherein the live data is of
    a higher priority than the historical data; and
    a lower priority than the alarm data, and
    wherein the priorities indicate the order with which the cloud platform processes the data.
  5. The cloud agent according to claim 1, wherein the collected data is sent to the remote cloud platform in a data packet; and
    wherein the data packet includes a header containing a site identifier and a virtual support engineer identifier.
  6. The cloud agent according to one of claims 1 to 5, wherein the cloud agent includes:
    a collection service that collects data indicative of the past and/or the present state of the industrial devices and stores the collected data in a queue, the stored data prioritized according to the manifest;
    a queue processing service that sends the stored data to the cloud platform according to the priorities of the collected data.
  7. The cloud agent according to one of claims 1 to 6, wherein the cloud agent is further configured to:
    dynamically reconfigure the cloud agent, to facilitate monitoring of new data parameters of new or existing industrial devices without interrupting the collecting and the sending.
  8. The cloud agent according to claim 7, wherein the cloud agent is further configured to:
    send a behavior assembly controlling the processing of collected data for the new data parameters to the cloud platform, the behavior assembly being added to the manifest,
    wherein the behavior assembly is used by the cloud platform to process data including the new data parameters.
  9. A method to operate a cloud agent (32, 34; 60) located at an industrial facility (12, 14, 50) for monitoring the industrial facility, the industrial facility including one or more industrial devices (16, 18, 20, 22, 24, 26), wherein the cloud agent utilizes a remote cloud platform to process data using cloud services (46) to facilitate remote monitoring of the industrial devices, the method comprising:
    collecting data indicative of a past and/or a present state of the industrial devices according to a manifest (42, 44) specific to the industrial facility, the cloud agent comprising the manifest, wherein the manifest identifies which data to collect from the respective industrial devices, wherein the manifest identifies the send frequency for different types of data and/or industrial devices, wherein the manifest identifies priorities for sending different types of data, and wherein the manifest identifies how the sent data is processed by the remote cloud platform (40); sending the collected data to the remote cloud platform (40) according to the manifest, the collected data sent to corresponding one or more queues (76; 78, 80, 82, 84) of the remote cloud platform based on data type, wherein the one or more queues of the remote cloud platform comprise an alarms queue related to abnormal situations, wherein the alarms queue comprises multiple queues associated with different priorities to allow for different alarms having different levels of criticality; and
    dynamically reconfiguring the cloud agent without interrupting the collecting and the sending, wherein the reconfiguration is made through a modification of the manifest during runtime, based on commands received remotely through the remote cloud platform.
  10. The method according to claim 9, wherein the industrial devices being monitored include motor drives, and/or
    wherein the manifest is adapted to identify features in accordance with claim 3,
    and/or
    wherein the cloud agent includes services in accordance with claim 6, and/or
    wherein the cloud agent is further adapted to perform steps in accordance with any one of claims 7 or 8.
  11. A computer-readable storage medium storing instructions that, when executed by at least one processor, operate a cloud agent (32, 34; 60) located at an industrial facility (12, 14, 50) for monitoring the industrial facility, the industrial facility including one or more industrial devices (16, 18, 20, 22, 24, 26), wherein the cloud agent utilizes a remote cloud platform to process data using cloud services (46) to facilitate remote monitoring of the industrial devices, the operating comprising:
    collect data indicative of a past and/or a present state of the industrial devices according to a manifest (42, 44) specific to the industrial facility, the cloud agent comprising the manifest, wherein the manifest identifies which data to collect from the respective industrial devices, wherein the manifest identifies the send frequency for different types of data and/or industrial devices, wherein the manifest identifies priorities for sending different types of data, and wherein the manifest identifies how the sent data is processed by the remote cloud platform (40);
    send the collected data to the remote cloud platform (40) according to the manifest, the collected data sent to corresponding one or more queues (76; 78, 80, 82, 84) of the remote cloud platform based on data type, wherein the one or more queues of the remote cloud platform comprise an alarms queue related to abnormal situations, wherein the alarms queue comprises multiple queues associated with different priorities to allow for different alarms having different levels of criticality; and
    dynamically reconfigure the cloud agent without interrupting the collecting and the sending, wherein the reconfiguration is made through a modification of the manifest during runtime, based on commands received remotely through the remote cloud platform.
  12. The computer-readable storage medium according to claim 11, wherein the industrial devices being monitored include motor drives, and/or
    wherein the manifest is adapted to identify features in accordance with claim 3,
    and/or
    wherein the cloud agent includes services in accordance with claim 6, and/or
    wherein the cloud agent is further adapted to perform steps in accordance with any one of claims 7 or 8.
EP13191405.3A 2012-11-02 2013-11-04 Cloud based drive monitoring solution Active EP2728428B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261721859P 2012-11-02 2012-11-02
US13/798,430 US9647906B2 (en) 2012-11-02 2013-03-13 Cloud based drive monitoring solution

Publications (2)

Publication Number Publication Date
EP2728428A1 EP2728428A1 (en) 2014-05-07
EP2728428B1 true EP2728428B1 (en) 2018-09-26

Family

ID=49515270

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13191405.3A Active EP2728428B1 (en) 2012-11-02 2013-11-04 Cloud based drive monitoring solution

Country Status (4)

Country Link
US (3) US9647906B2 (en)
EP (1) EP2728428B1 (en)
CN (1) CN103957228B (en)
BR (1) BR102013028304B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110745450A (en) * 2019-10-25 2020-02-04 无锡职业技术学院 Remote automation stereoscopic warehouse monitored control system

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2494702B1 (en) * 2009-10-26 2017-09-20 Sony Corporation Device for use in a power line communication system, power line communication systems and power line communication method
US9019095B2 (en) * 2012-12-07 2015-04-28 General Electric Company Systems and methods for integrating alarm processing and presentation of alarms for a power generation system
US10235385B2 (en) * 2013-04-25 2019-03-19 Siemens Aktiengesellschaft Industrial monitoring system
US10348581B2 (en) * 2013-11-08 2019-07-09 Rockwell Automation Technologies, Inc. Industrial monitoring using cloud computing
US10077810B2 (en) 2014-04-14 2018-09-18 Dynapar Corporation Sensor hub comprising a rotation encoder
US20150334164A1 (en) * 2014-05-14 2015-11-19 Ge Intelligent Platforms, Inc. Apparatus and method for seamless data transfer to a cloud network
US11120371B2 (en) 2014-06-23 2021-09-14 Sensia Netherlands B.V. Systems and methods for cloud-based asset management and analysis regarding well devices
US10443357B2 (en) 2014-06-23 2019-10-15 Rockwell Automation Asia Pacific Business Center Pte. Ltd. Systems and methods for cloud-based commissioning of well devices
US10344567B2 (en) 2014-06-23 2019-07-09 Rockwell Automation Asia Pacific Business Center Pte. Ltd. Systems and methods for cloud-based automatic configuration of remote terminal units
EP2988183B1 (en) 2014-08-14 2020-04-01 Siemens Aktiengesellschaft System for observing and/or controlling a plant
US10320605B2 (en) * 2014-10-15 2019-06-11 Nimbus 9, Inc. Rapid gateway swap
US20160155098A1 (en) * 2014-12-01 2016-06-02 Uptake, LLC Historical Health Metrics
CN104570739B (en) * 2015-01-07 2017-01-25 东北大学 Ore dressing multi-production-index optimized decision making system and method based on cloud and mobile terminal
CN105871951A (en) * 2015-01-21 2016-08-17 上海可鲁系统软件有限公司 Industrial internet of things distributed business voucher processing method
WO2016141998A1 (en) * 2015-03-12 2016-09-15 Siemens Aktiengesellschaft Device and method for providing a digital representation of a physical entity
ES2716127T3 (en) 2015-03-16 2019-06-10 Siemens Ag Procedure, calculation equipment, user unit and system to parameterize an electrical device
CN104850020B (en) * 2015-03-26 2018-04-24 深圳市禾望电气股份有限公司 The collecting method and device of current transformer
US10216744B2 (en) * 2015-05-01 2019-02-26 Microsoft Technology Licensing, Llc Data migration to a cloud computing system
CN104994141B (en) * 2015-06-16 2018-05-25 四川长虹电器股份有限公司 Alleviate Cloud Server storage and calculate the collaboration storage system of pressure
EP3125056B1 (en) * 2015-07-30 2021-04-07 Siemens Aktiengesellschaft System and method for control and/or analysis of an industrial process
KR102046326B1 (en) * 2015-09-02 2019-11-19 엘에스산전 주식회사 Apparatus for processing of data
EP3144842A1 (en) * 2015-09-15 2017-03-22 Siemens Aktiengesellschaft System and method for analysis of an object
EP3144762A1 (en) * 2015-09-15 2017-03-22 Siemens Aktiengesellschaft System and method for controlling and/or analysis of an industrial process by employing an installation-external computing unit and a revision module for the system operator
EP3144763A1 (en) * 2015-09-15 2017-03-22 Siemens Aktiengesellschaft System and method for controlling and/or analysis of an industrial process by employing an installation-external computing unit and a revision module for the system operator
FR3044151B1 (en) 2015-11-23 2017-12-22 Legrand France METHOD FOR TRANSMITTING INFORMATION RELATING TO FAILURE IN AN ELECTRICAL INSTALLATION AND ASSOCIATED SERVER
US10652126B2 (en) 2016-02-26 2020-05-12 Arista Networks, Inc. System and method of a cloud service provider tracer
US10139788B2 (en) * 2016-03-15 2018-11-27 Honeywell International Inc. Remote data analytics to predict system components or device failure
CN105804981B (en) * 2016-05-04 2018-04-24 浙江尔格科技股份有限公司 Motor train unit traction transformer oil pump remote failure monitors and early warning system and its method
EP3454698A4 (en) 2016-05-09 2020-01-08 Grabango Co. System and method for computer vision driven applications within an environment
EP3249481B1 (en) 2016-05-25 2019-10-02 Siemens Aktiengesellschaft System, industrial controller and method configured to execute a closed loop control on data for cloud based applications
WO2018013439A1 (en) 2016-07-09 2018-01-18 Grabango Co. Remote state following devices
CN106357763B (en) * 2016-09-14 2019-12-10 深圳怡化电脑股份有限公司 Self-service terminal state monitoring method and system
CN107885169A (en) * 2016-09-29 2018-04-06 西门子公司 A kind of collection method of field data, device and system
US11039225B2 (en) 2016-12-15 2021-06-15 Microsoft Technology Licensing, Llc Declarative IoT data control
US10917706B2 (en) * 2016-12-15 2021-02-09 Microsoft Technology Licensing, Llc Configurable IoT device data collection
US11132737B2 (en) 2017-02-10 2021-09-28 Grabango Co. Dynamic customer checkout experience within an automated shopping environment
US10880409B2 (en) * 2017-02-20 2020-12-29 Cisco Technology, Inc. Mixed qualitative, quantitative sensing data compression over a network transport
US10721418B2 (en) 2017-05-10 2020-07-21 Grabango Co. Tilt-shift correction for camera arrays
JP6484826B2 (en) * 2017-05-30 2019-03-20 パナソニックIpマネジメント株式会社 Manufacturing device monitoring system and manufacturing device
US20190005479A1 (en) 2017-06-21 2019-01-03 William Glaser Interfacing with a point of sale system from a computer vision system
JP6824121B2 (en) * 2017-07-14 2021-02-03 株式会社東芝 State detection device, state detection method and program
CN109495523A (en) * 2017-09-11 2019-03-19 北京金山云网络技术有限公司 Management instruction delivery method, device, electronic equipment and storage medium
US20190079591A1 (en) 2017-09-14 2019-03-14 Grabango Co. System and method for human gesture processing from video input
WO2019053524A1 (en) * 2017-09-18 2019-03-21 Telefonaktiebolaget L M Ericsson (Publ) Network-assisted scanning of a surrounding environment
US11312392B2 (en) 2017-09-18 2022-04-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing precise driving recommendations based on network-assisted scanning of a surrounding environment
EP3460598A1 (en) * 2017-09-22 2019-03-27 Siemens Aktiengesellschaft Programmable controller
US10963704B2 (en) 2017-10-16 2021-03-30 Grabango Co. Multiple-factor verification for vision-based systems
JP6748054B2 (en) * 2017-11-10 2020-08-26 ファナック株式会社 Control system
CN108196515A (en) * 2017-12-21 2018-06-22 中国电子信息产业集团有限公司第六研究所 Cross-platform real-time data processing method and device
US11481805B2 (en) 2018-01-03 2022-10-25 Grabango Co. Marketing and couponing in a retail environment using computer vision
CN108763970A (en) * 2018-05-07 2018-11-06 苏州德姆斯信息技术有限公司 Embedded device data store system and store method
CN108733016B (en) * 2018-05-31 2020-10-30 中策橡胶集团有限公司 Rubber mixing production line data acquisition and uploading system and method
CN112423943A (en) * 2018-07-13 2021-02-26 Abb瑞士股份有限公司 Diagnostic method and apparatus
US11032367B2 (en) 2018-07-16 2021-06-08 Microsoft Technology Licensing, Llc Long upload time detection and management
US10963333B1 (en) * 2018-08-21 2021-03-30 Cox Communications, Inc. Telematics-based network device troubleshooting and repair
WO2020055863A1 (en) * 2018-09-10 2020-03-19 Aveva Software, Llc Edge hmi module server system and method
EP3629108B1 (en) * 2018-09-28 2022-08-24 Siemens Aktiengesellschaft Planning of an automation system
CN111090264A (en) * 2018-10-23 2020-05-01 富泰华工业(深圳)有限公司 Equipment remote control system and method
US11288648B2 (en) 2018-10-29 2022-03-29 Grabango Co. Commerce automation for a fueling station
CN109491364B (en) * 2018-11-19 2022-04-01 长安大学 Driving robot system for vehicle testing and control method
EP3660611A1 (en) * 2018-11-29 2020-06-03 Siemens Aktiengesellschaft Method, apparatus and system for managing alarms
US10921675B2 (en) 2019-02-13 2021-02-16 Kinestral Technologies, Inc. Cloud-based system for controlling electrochromic devices
WO2020180815A1 (en) 2019-03-01 2020-09-10 Grabango Co. Cashier interface for linking customers to virtual data
WO2020222845A1 (en) * 2019-05-02 2020-11-05 Siemens Aktiengesellschaft External module for network connection to programmable logic controller (plc) backplane
EP3996345A4 (en) * 2019-08-06 2023-01-25 Siemens Aktiengesellschaft Method for configuring priority level, cloud platform, system, computing device, and medium
CN111124335A (en) * 2019-12-10 2020-05-08 山东超越数控电子股份有限公司 Remote-viewer-based cloud desktop multi-window display method and system
US11799736B2 (en) * 2019-12-27 2023-10-24 Digital Guardian Llc Systems and methods for investigating potential incidents across entities in networked environments
WO2021253246A1 (en) * 2020-06-16 2021-12-23 Oppo广东移动通信有限公司 Information processing method and apparatus, device and computer storage medium
CN112290676B (en) * 2020-10-20 2022-06-24 中腾微网(北京)科技有限公司 Photovoltaic power station control system combining field data and cloud storage system
CN112444314A (en) * 2020-11-02 2021-03-05 中国电力科学研究院有限公司 Reactor abnormity alarm system and method based on vibration noise
CN112462671A (en) * 2020-12-02 2021-03-09 杭州和利时自动化有限公司 Configuration modification method, system, equipment and readable storage medium
CN112615833A (en) * 2020-12-11 2021-04-06 上海电气富士电机电气技术有限公司 Multi-unit series connection frequency converter unit data acquisition cloud-up method
US20220303271A1 (en) * 2021-03-19 2022-09-22 Okta, Inc. Integration packaging for a multi-tenant computing environment
US11853100B2 (en) * 2021-04-12 2023-12-26 EMC IP Holding Company LLC Automated delivery of cloud native application updates using one or more user-connection gateways
CN113642843A (en) * 2021-07-09 2021-11-12 北京中日联节能环保工程技术有限公司 Monitoring system and method for desulfurization, denitrification and dry quenching of active coke
US20230102683A1 (en) * 2021-09-24 2023-03-30 Schneider Electric USA, Inc. Method to commission a distributed system
CN114089722A (en) * 2021-11-17 2022-02-25 国家石油天然气管网集团有限公司 Portable diagnosis method for industrial control network communication fault of gas transmission station
CN114338747B (en) * 2021-12-31 2023-07-25 四川启睿克科技有限公司 Cloud scene control system and method supporting device to report data messages in self-defined mode
US11681805B1 (en) 2022-05-26 2023-06-20 Morgan Stanley Services Group Inc. System for analytic data memorialization, data science, and validation

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1410204B1 (en) * 2001-06-22 2016-11-09 Wonderware Corporation Supervisory process control and manufacturing information system application having an extensible component model
US9565275B2 (en) * 2012-02-09 2017-02-07 Rockwell Automation Technologies, Inc. Transformation of industrial data into useful cloud information
WO2004034204A2 (en) * 2002-10-08 2004-04-22 Invensys Systems, Inc. Services portal
US20050108453A1 (en) 2002-12-16 2005-05-19 Maturana Francisco P. Integrated multi-agent system employing agents of different types
US20060168195A1 (en) 2004-12-15 2006-07-27 Rockwell Automation Technologies, Inc. Distributed intelligent diagnostic scheme
CN1794242B (en) * 2005-09-09 2010-04-28 浙江大学 Failure diagnosis data collection and publishing method
US7463935B1 (en) * 2006-03-09 2008-12-09 Rockwell Automation Technologies, Inc. Message queuing in an industrial environment
US20080125877A1 (en) * 2006-09-12 2008-05-29 Fisher-Rosemount Systems, Inc. Process data collection system configuration for process plant diagnostics development
US7822802B2 (en) * 2006-09-29 2010-10-26 Fisher-Rosemount Systems, Inc. Apparatus and method for merging wireless data into an established process control system
US8462793B2 (en) * 2007-05-25 2013-06-11 Caterpillar Inc. System for strategic management and communication of data in machine environments
US20090017145A1 (en) 2007-07-10 2009-01-15 Wayne Gorsek Tri ascorbate formulation
EP2206041A4 (en) * 2007-10-01 2011-02-16 Iconics Inc Visualization of process control data
US8954541B2 (en) 2007-12-29 2015-02-10 Amx Llc Method, computer-readable medium, and system for discovery and registration of controlled devices associated with self-describing modules
US8462681B2 (en) * 2009-01-15 2013-06-11 The Trustees Of Stevens Institute Of Technology Method and apparatus for adaptive transmission of sensor data with latency controls
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
CN101738963B (en) * 2009-12-07 2012-07-04 浙江大学 Vehicle-mounted engineering machinery remote wireless data collection and monitoring system and method
US8819701B2 (en) * 2009-12-12 2014-08-26 Microsoft Corporation Cloud computing monitoring and management system
US8879577B2 (en) * 2010-02-18 2014-11-04 Hitachi, Ltd. Monitoring system, device, and method
US9065800B2 (en) * 2011-03-18 2015-06-23 Zscaler, Inc. Dynamic user identification and policy enforcement in cloud-based secure web gateways
US10129211B2 (en) * 2011-09-15 2018-11-13 Stephan HEATH Methods and/or systems for an online and/or mobile privacy and/or security encryption technologies used in cloud computing with the combination of data mining and/or encryption of user's personal data and/or location data for marketing of internet posted promotions, social messaging or offers using multiple devices, browsers, operating systems, networks, fiber optic communications, multichannel platforms
CN202257235U (en) * 2011-09-20 2012-05-30 朗德华信(北京)自控技术有限公司 Water cooler management control system based on cloud computing
CN202267864U (en) 2011-09-20 2012-06-06 朗德华信(北京)自控技术有限公司 Generator set management control system based on cloud computing
US9477936B2 (en) * 2012-02-09 2016-10-25 Rockwell Automation Technologies, Inc. Cloud-based operator interface for industrial automation
US9843617B2 (en) * 2014-03-26 2017-12-12 Rockwell Automation Technologies, Inc. Cloud manifest configuration management system
US20160132538A1 (en) * 2014-11-07 2016-05-12 Rockwell Automation Technologies, Inc. Crawler for discovering control system data in an industrial automation environment
US10594555B2 (en) * 2016-12-16 2020-03-17 Intelligent Platforms, Llc Cloud-enabled testing of control systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110745450A (en) * 2019-10-25 2020-02-04 无锡职业技术学院 Remote automation stereoscopic warehouse monitored control system

Also Published As

Publication number Publication date
US20180205606A1 (en) 2018-07-19
US10250438B2 (en) 2019-04-02
CN103957228B (en) 2017-06-09
EP2728428A1 (en) 2014-05-07
US9929905B2 (en) 2018-03-27
US20140129688A1 (en) 2014-05-08
US9647906B2 (en) 2017-05-09
CN103957228A (en) 2014-07-30
BR102013028304A2 (en) 2015-09-22
BR102013028304B1 (en) 2021-06-01
US20170214575A1 (en) 2017-07-27

Similar Documents

Publication Publication Date Title
US10250438B2 (en) Cloud based drive monitoring solution
US11470157B2 (en) Cloud gateway for industrial automation information and control systems
EP2704401B1 (en) Remote industrial monitoring using a cloud infrastructure
EP3285127B1 (en) Remote industrial automation site operation in a cloud platform
EP2924574B1 (en) Unified data ingestion adapter for migration of industrial data to a cloud platform
EP3444689B1 (en) Modular control manifest generator for cloud automation
US9253054B2 (en) Remote industrial monitoring and analytics using a cloud infrastructure
EP3037901B1 (en) Cloud-based emulation and modeling for automation systems
EP2660667B1 (en) Cloud gateway for industrial automation information and control systems
EP2924571B1 (en) Cloud manifest configuration management system
US10139811B2 (en) Smart device for industrial automation
US10764255B2 (en) Secure command execution from a cloud monitoring system to a remote cloud agent
EP2801937A1 (en) Industrial device and system attestation in a cloud platform

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20131104

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

17P Request for examination filed

Effective date: 20141106

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

17Q First examination report despatched

Effective date: 20160224

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: G05B 23/02 20060101ALI20180411BHEP

Ipc: H04L 12/24 20060101ALI20180411BHEP

Ipc: H04L 12/26 20060101ALI20180411BHEP

Ipc: G05B 19/048 20060101AFI20180411BHEP

INTG Intention to grant announced

Effective date: 20180509

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1046760

Country of ref document: AT

Kind code of ref document: T

Effective date: 20181015

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602013044129

Country of ref document: DE

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20180926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181226

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181226

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181227

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1046760

Country of ref document: AT

Kind code of ref document: T

Effective date: 20180926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190126

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190126

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602013044129

Country of ref document: DE

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181104

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20181130

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181130

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181130

26N No opposition filed

Effective date: 20190627

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181104

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181130

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181104

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20131104

Ref country code: MK

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20180926

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180926

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230404

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20231019

Year of fee payment: 11

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20231019

Year of fee payment: 11

Ref country code: DE

Payment date: 20231019

Year of fee payment: 11