US-20230280992-A1 - INDUSTRIAL AUTOMATION SMART OBJECT INHERITANCE
Abstract
An industrial integrated development environment (IDE) provides a development framework for designing, programming, and configuring multiple aspects of an industrial automation system using a common design environment and data model. Projects creating using embodiments of the IDE system can be built on an object-based model rather than, or in addition to, a tag-based architecture. To this end, the IDE system can support the use of automation objects that serve as building blocks for this object-based development structure. To ensure consistency within and between projects, as well as to ensure that a given industrial project is dynamically updated to reflect changes to an industrial asset's attributes (e.g., control code, visualization definitions, testing scripts, analytic code, etc.), embodiments of the IDE system can use automation object inheritance features to propagate changes made to an automation object definition to all instances of the automation object used throughout a control project.
Inventors
- STUMP ANDREW R
- CARRARA ANTHONY
- SRINIVASAN EASHWER
- JOSIPOVIC SRDJAN
- MAJEWSKI LORENZO P
- Como Christopher Wayne
- STANEK CHRISTOPHER E
- ERICSSON MATTHEW R
Assignees
- ROCKWELL AUTOMATION TECH INC
Dates
- Publication Date
- 20230907
- Application Date
- 20230505
- Priority Date
- 20210219
Claims (20)
- 1 . A system, comprising: a memory that stores executable components and a library of automation objects representing respective industrial assets, the automation objects having respective programmatic attributes associated with the industrial assets; and a processor, operatively coupled to the memory, that executes the executable components, the executable components comprising: a user interface component configured to render integrated development environment (IDE) interfaces on respective client devices and to receive, via interaction with the IDE interfaces, industrial design input that defines aspects of an industrial automation project, the industrial design input comprising at least selection input that adds, to the industrial automation project, an instance of an automation object selected from the automation objects stored in the library; and a project generation component configured to generate system project data based on the industrial design input, the system project data comprising at least one of an executable industrial control program, an industrial visualization application, or industrial device configuration data, wherein the system is implemented on a cloud platform, the user interface component is configured to send a copy of the automation system project to a client device of the respective client devices, and maintain a master copy of the automation system project on the cloud platform, and the project generation component is further configured to, in response to receipt, via the user interface component, of object edit data that defines an edit to an attribute of the automation object, modify the automation object in the library and the instance of the automation object included in the copy of the automation system project in accordance with the object edit data.
- 2 . The system of claim 1 , wherein the project generation component is configured to, in response to the receipt of the object edit data, modify the instance of the automation object included in the copy of the automation system project contingent on receipt of an approval of the edit received from the client device.
- 3 . The system of claim 1 , wherein the project generation component is configured to, in response to the receipt of the object edit data, modify another instance of the automation object included in the master copy of the automation system project.
- 4 . The system of claim 1 , wherein the attribute of the automation object is at least one of control code for monitoring and controlling an industrial asset represented by the automation object, a visualization object that defines a graphical visualization of the industrial asset, an alarm definition for the industrial asset, a security feature of the industrial asset, a security protocol of the industrial asset, a test script configured to validate operation of the automation object within the system project, or an analytic script configured to perform an analysis on data generated by the industrial asset.
- 5 . The system of claim 1 , wherein the system project data defines a hierarchical relationship between an instance of a first automation object and an instance of a second automation object, and the project generation component is configured to integrate, as part of the automation system project, first control logic associated with the instance of the first automation object with second control logic associated with the instance of the second automation object based on the hierarchical relationship.
- 6 . The system of claim 5 , wherein the project generation component is configured to link a first data tag of the first control logic with a second data tag of the second control logic in accordance with the hierarchical relationship defined by the automation system project.
- 7 . The system of claim 1 , wherein the automation objects represent, as the industrial assets, at least one of an industrial process, a controller, a control program, a tag within the control program, a machine, a motor, a motor drive, a telemetry device, a tank, a valve, a pump, an industrial safety device, an industrial robot, or an actuator.
- 8 . The system of claim 1 , wherein the attribute of the automation object is a test script, and the executable components further comprise a project testing component configured to execute the test script to facilitate validation of the automation system project.
- 9 . The system of claim 1 , further comprising a project deployment component configured to translate the system project data to at least two of the executable industrial control program, the industrial visualization application, or the industrial device configuration data, and send the at least two of the executable industrial control program, the industrial visualization application, or the industrial device configuration data to respective industrial assets for execution.
- 10 . A method, comprising: rendering, by a system comprising a processor and executing on a cloud platform, integrated development environment (IDE) interfaces on respective client devices; receiving, by the system via interaction with the IDE interfaces, industrial design input that defines aspects of an industrial control and monitoring project, wherein the industrial design input comprises at least selection input that adds, to the industrial control and monitoring project, an instance of an automation object selected from a library of automation objects representing respective industrial assets and having respective programmatic attributes relating to the industrial assets; generating, by the system, system project data based on the industrial design input, wherein the generating comprises generating at least one of an executable industrial control program, an industrial visualization application, or industrial device configuration data; sending, by the system, a copy of the industrial control and monitoring project to a client device of the respective client devices and maintaining a master copy of the industrial control and monitoring project on the cloud platform; and in response to receiving object edit data that defines an edit to an attribute of the automation object, modifying, by the system, the automation object in the library and the instance of the automation object included in the copy of the industrial control and monitoring project in accordance with the object edit data.
- 11 . The method of claim 10 , wherein the modifying of the instance comprises modifying the instance of the automation object included in the copy of the industrial control and monitoring project contingent on receipt of an approval of the edit received from the client device.
- 12 . The method of claim 10 , further comprising, in response to the receiving of the object edit data, modify another instance of the automation object included in the master copy of the industrial control and monitoring project.
- 13 . The method of claim 10 , wherein the attribute of the automation object is at least one of control code for monitoring and controlling an industrial asset represented by the automation object, a visualization object that defines a graphical visualization of the industrial asset, an alarm definition for the industrial asset, a security feature of the industrial asset, a security protocol of the industrial asset, a test script configured to validate operation of the automation object within the system project, or an analytic script configured to perform an analysis on data generated by the industrial asset.
- 14 . The method of claim 10 , wherein the system project data defines a hierarchical relationship between an instance of a first automation object and an instance of a second automation object, and the method further comprises integrating, by the system as part of the industrial control and monitoring project, first control code associated with the instance of the first automation object with second control code associated with the instance of the second automation object based on the hierarchical relationship.
- 15 . The method of claim 14 , wherein the integrating comprises linking a first data tag of the first control code with a second data tag of the second control code in accordance with the hierarchical relationship defined by the industrial control and monitoring project.
- 16 . The method of claim 10 , wherein the automation objects represent, as the industrial assets, at least one of an industrial process, a controller, a control program, a tag within the control program, a machine, a motor, a motor drive, a telemetry device, a tank, a valve, a pump, an industrial safety device, an industrial robot, or an actuator.
- 17 . The method of claim 10 , wherein the attribute of the automation object is a test script, and the method further comprises executing, by the system, the test script to facilitate validation of the industrial control and monitoring project.
- 18 . The method of claim 10 , further comprising: translating, by the system, the system project data to at least two of the executable industrial control program, the industrial visualization application, or the industrial device configuration data; and sending, by the system, the at least two of the executable industrial control program, the industrial visualization application, or the industrial device configuration data to respective industrial assets for execution.
- 19 . A non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause a system comprising a processor and executing on a cloud platform to perform operations, the operations comprising: rendering integrated development environment (IDE) interfaces on respective client devices; receiving, via interaction with the IDE interfaces, industrial design input that defines aspects of an industrial automation project, wherein the industrial design input comprises at least selection input that adds, to the industrial automation project, an instance of an automation object selected from a library of automation objects representing respective industrial assets and having respective programmatic attributes relating to the industrial assets; generating system project data based on the industrial design input, wherein the generating comprises generating at least one of an executable industrial control program, an industrial visualization application, or industrial device configuration data; sending a copy of the industrial automation project to a client device of the respective client devices and maintaining a master copy of the industrial automation project on the cloud platform; and in response to receiving object edit data that defines an edit to an attribute of the automation object, modifying the automation object in the library and the instance of the automation object included in the copy of the industrial automation project in accordance with the object edit data.
- 20 . The non-transitory computer-readable medium of claim 19 , wherein the modifying of the instance comprises modifying the instance of the automation object included in the copy of the industrial control and monitoring project contingent on receipt of an approval of the edit received from the client device.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of, and claims priority to, U.S. patent application Ser. No. 17/701,853, filed on Mar. 23, 2022, and entitled “INDUSTRIAL AUTOMATION SMART OBJECT INHERITANCE,” which is a continuation of U.S. patent application Ser. No. 17/180,201, filed on Feb. 19, 2021. The entireties of these related applications are incorporated herein by reference. BACKGROUND The subject matter disclosed herein relates generally to industrial automation systems, and, for example, to industrial programming development platforms. BRIEF DESCRIPTION The following presents a simplified summary in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview nor is intended to identify key/critical elements or to delineate the scope of the various aspects described herein. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments, a system for developing industrial applications is provided, comprising a memory that stores executable components and a library of automation objects representing respective industrial assets, the automation objects having respective programmatic attributes associated with the industrial assets; a user interface component configured to render integrated development environment (IDE) interfaces and to receive, via interaction with the IDE interfaces, industrial design input that defines aspects of an industrial automation project; and a project generation component configured to generate system project data based on the industrial design input, wherein the system project data defines a system project comprising at least one of an executable industrial control program, an industrial visualization application, or industrial device configuration data, the system project data further comprises an instance of an automation object selected from the automation objects stored in the library, and the project generation component is further configured to, in response to receipt, via the user interface component, of object edit data that defines an edit to an attribute of the automation object, modify the automation object in the library and the instance of the automation object included in the system project data in accordance with the object edit data. Also, one or more embodiments provide a method for developing industrial applications, comprising rendering, by a system comprising a processor, integrated development environment (IDE) interfaces on a client device; receiving, by the system via interaction with the IDE interfaces, industrial design input that defines aspects of an industrial control and monitoring project; generating, by the system, system project data based on the industrial design input, wherein the generating comprises generating at least one of an executable industrial control program, an industrial visualization application, or industrial device configuration data, and the system project data comprises an instance of an automation object selected from a library of automation objects, the automation objects representing respective industrial assets and have respective programmatic attributes relating to the industrial assets; and in response to receiving object edit data that defines an edit to an attribute of the automation object, modifying, by the system, the automation object in the library and the instance of the automation object included in the system project data in accordance with the object edit data. Also, according to one or more embodiments, a non-transitory computer-readable medium is provided having stored thereon instructions that, in response to execution, cause a system to perform operations, the operations comprising rendering integrated development environment (IDE) interfaces on a client device; receiving, from the client device via interaction with the IDE interfaces, industrial design input that defines control design aspects of an industrial automation project; generating system project data based on the industrial design input, wherein the generating comprises generating at least one of an executable industrial control program, an industrial visualization application, or industrial device configuration data, and the system project data comprises an instance of an automation object selected from a library of automation objects, the automation objects representing respective industrial assets and have respective programmatic attributes relating to the industrial assets; and in response to receiving object edit data that defines an edit to an attribute of the automation object, modifying the automation object in the library and the instance of the automation object included in the system project data in accordance with the object edit data. To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in conn