# US 10,372,107 B2 · Custom properties in an application environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,107 B2
- Document ID: US10372107B2
- Status: Granted
- Kind: B2
- Application number: 14/515,195
- Filed: 2014-10-15
- Published: 2016-04-21
- Granted: 2019-08-06
- Earliest claimed: 2014-10-15
- Assignees: Rockwell Automation Technologies, Inc.
- Applicants: Rockwell Automation Technologies, Inc.
- Inventors: Lorenzo Majewski; Norman Weatherhead; Stephen P. Proctor; Phillip F. Pemberton; Douglas W. Reid; Michael Kalan; Christopher E. Stanek; Daniel DeYoung; Andrew R. Stump; Robert Guenther; Joachim Thomsen; Danie Beckett
- Web page: https://patentgrep.com/patent/US10372107B2

## CPC

- G05B 19/4097: characterised by using design data to control NC machines, e.g. CAD/CAM (G05B19/4093 takes precedence)
- G05B 19/0426: {Programming the control sequence}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G05B 2219/35012: Cad cam
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

The disclosed subject matter comprises a design management component that facilitates managing and storing information, including respective customized information of respective entities and/or relating to objects, projects, controllers, or industrial automation systems within a project file or controller. The design management component facilitates enabling custom data, including custom metadata, to be injected by object into a project file or in a controller associated with the project file. The design management component operates with a data management component that can allow respective entities to view, edit, or delete their respective data on objects associated with a project file or controller in accordance with their respective rules. The design management component facilitates desired library management, version management, virtualization of a system for emulation and testing, data exchange between application, and application development and management in relation to controllers, devices, or components, in connection with control of industrial automation systems.

## Claims

### Claim 1

A system, comprising:
a memory that stores computer-executable components;
a processor, operatively coupled to the memory, that executes computer-executable components, the computer-executable components comprising:
a data store that stores a project file comprising a set of objects that is usable to control of an industrial automation system; and
a design management component that:
embeds a set of metadata within an object of the set of objects, wherein the set of metadata provides contextual information related to the object and is customized according to a particular entity, and wherein the object, including the set of data embedded within the object, is stored in the project file in the data store, and wherein, in response to execution, the object facilitates generation of control information that facilitates the control of at least a portion of the industrial automation system, and
in response to detection of a modification to the object that invalidates a customized portion of the metadata, generates a warning indicating the invalidation of the customized portion of the metadata.

### Claim 2 (depends on 1)

The system of claim 1, wherein the set of objects comprises at least one of a controller, a tag, a member, an add-on instruction, a program, a routine, or a ladder rung in the program.

### Claim 3 (depends on 1)

The system of claim 1, wherein the set of metadata is customized based at least in part on at least one of a preference of the entity or a characteristic of the object.

### Claim 4 (depends on 3)

The system of claim 3, wherein the set of metadata comprises at least one of a set of assistance data that provides assistance to an entity with respect to the object, a set of version data that provides information relating to a version of the object, a set of modification data that indicates a modification made to the object with respect to the version of the object, a set of description data that describes a function or a feature of the object with respect to a project associated with the project file, a set of reminder data that facilitates reminding the entity or another entity of a status of the object or an action to perform with respect to the object or the project, status or alert information relating to the status or an alert associated with an object, a set of progress data that describes an amount of progress that has been made with respect to the object or the project, event-related information associated with the object, or a set of other data relating to the entity preference.

### Claim 5 (depends on 1)

The system of claim 1, wherein the design management component is part of a design platform, and the design management component receives the set of metadata from a data management component that is external to the design platform.

### Claim 6 (depends on 1)

The system of claim 1, wherein the design management component provides a set of mechanisms, components, applications, applets, tools, or interfaces that facilitate at least one of formatting the set of metadata, validating the set of metadata, embedding the set of metadata within the object, creating the object, editing the object, setting a parameter associated with the object, or modifying the parameter associated with the object.

### Claim 7 (depends on 1)

The system of claim 1, wherein the design management component transfers at least a portion of the project file, comprising the object and the set of metadata embedded within the object, to the controller component, wherein the controller component comprises one or more controllers that respectively are online or offline.

### Claim 8 (depends on 1)

The system of claim 1, wherein the design management component facilitates management of version information associated with the project file based at least in part on respective sets of metadata embedded within respective objects of the set of objects, wherein the respective sets of metadata comprise the set of metadata, and the respective objects comprise the object, and wherein the version information indicates at least one of a version of the object or object features associated with the object in the version of the object.

### Claim 9 (depends on 1)

The system of claim 1, wherein the computer-executable components further comprise a virtualization component that virtualizes at least a portion of the industrial automation system based at least in part on the project file comprising the object, including the set of metadata embedded within the object.

### Claim 10 (depends on 9)

The system of claim 9, wherein the computer-executable components further comprise a testing component that facilitates simulated operation of a modified portion of at least the portion of the industrial automation system, based at least in part on the virtualization of the modified portion of at least the portion of the industrial automation system, to test the modified portion, wherein the modified portion relates to the object, and the virtualization of the modified portion is based at least in part on the set of metadata embedded within the object.

### Claim 11 (depends on 9)

The system of claim 9, wherein the computer-executable components further comprise an emulation component that emulates at least the portion of the industrial automation system based at least in part on the virtualization of at least the portion of the industrial automation system.

### Claim 12 (depends on 1)

The system of claim 1, wherein the computer-executable components further comprise:
an application component that provides a set of mechanisms, tools, functions, interfaces, components, or applets that are usable to facilitate design, development, or generation of an application, wherein the application is usable to facilitate design, configuration, or programming of a project represented by the project file to facilitate the control of the industrial automation system; and
an application store component that provides the application or information relating to the application.

### Claim 13 (depends on 1)

The system of claim 1, wherein the design management component facilitates management of a library associated with the design management component, wherein the library comprises the set of objects, the set of metadata, a different version of the set of objects, or a different version of the set of metadata.

### Claim 14 (depends on 13)

The system of claim 13, wherein the design management component is part of a design platform, and wherein the design management component facilitates synchronization of the set of objects and the set of metadata associated with the design management component with information stored by at least one of a data management component that is external to the design platform, a library component that is part of the design platform or external to the design platform, or a controller component associated with the data management component.

### Claim 15 (depends on 1)

The system of claim 1, wherein the set of metadata embedded within the object facilitates an exchange of information relating to a set of project files, comprising the project file, between a first application and a second application, to facilitate design, configuration, or programming of the set of objects or another set of objects associated with another project file of the set of project files to facilitate the control of the industrial automation system.

### Claim 16

A method, comprising:
embedding, by a system comprising a processor, a set of metadata relating to an object within the object, wherein the set of metadata provides contextual information related to the object and is customized according to a particular entity, and wherein the object is associated with a project file that relates to an industrial automation system;
storing, by the system, the object, including the set of metadata embedded within the object, in the project file, wherein information, comprising the object, stored in the project file is usable to facilitate controlling the industrial automation system, and wherein, in response to executing of the object, the object facilitates generating control data that facilitates the controlling of at least a portion of the industrial automation system; and
in response to detection of a modification to the object that invalidates a customized portion of the metadata, generating a warning indicating the invalidation of the customized portion of the metadata.

### Claim 17 (depends on 16)

The method of claim 16, wherein the project file comprises a set of objects, comprising the object, and wherein the set of objects comprises at least one of a controller, a tag, a member, an add-on instruction, a program, a routine in the program, or a ladder rung in the program.

### Claim 18 (depends on 16)

The method of claim 16, further comprising:
facilitating customizing, by the system, the set of metadata based at least in part on at least one of an entity preference of the entity or the object with which it is embedded.

### Claim 19 (depends on 16)

The method of claim 16, wherein the method further comprises:
presenting, by the system, at least one of the set of metadata that is embedded within the object or a link to the set of metadata, in response to accessing the object in the project file.

### Claim 20 (depends on 16)

The method of claim 16, further comprising:
providing, by the system, a set of mechanisms, components, applications, applets, tools, or interfaces that facilitate embedding the set of metadata within the object.

### Claim 21 (depends on 16)

The method of claim 16, further comprising:
communicating, by the system, at least a portion of the project file, comprising the object and the set of metadata embedded within the object, to one or more controllers.

### Claim 22 (depends on 16)

The method of claim 16, further comprising:
managing, by the system, version information associated with the project file based at least in part on respective sets of metadata embedded with respective objects of a set of objects, wherein the respective sets of metadata comprise the set of metadata, and the set of objects comprises the object, and wherein the version information indicates at least one of a version of the object or object features associated with the object in the version of the object.

### Claim 23 (depends on 16)

The method of claim 16, further comprising:
facilitating virtualizing, by the system, at least a portion of the industrial automation system based at least in part on information in the project file, comprising the object and the set of metadata embedded within the object, to facilitate testing of at least a portion of the industrial automation system, testing of a modification to at least the portion of the industrial automation system, or emulation of at least the portion of the industrial automation system.

### Claim 24 (depends on 16)

The method of claim 16, further comprising:
providing, by the system, a set of mechanisms, tools, functions, interfaces, components, or applets that are usable to facilitate designing, developing, or generating an application that is usable to facilitate designing, configuring, or programming a project represented by the project file, to facilitate controlling operation of the industrial automation system; and
presenting, by the system, the application or information relating to the application in an application store.

### Claim 25 (depends on 16)

The method of claim 16, further comprising:
facilitating synchronizing, by the system, respective objects of a set of objects, comprising the object, and respective sets of data, comprising the set of metadata, associated with a design management component with information stored by at least one of a data management component, a library, or a controller, wherein the respective sets of metadata are embedded in the respective objects.

### Claim 26

A non-transitory computer-readable medium storing instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:
integrating a set of metadata relating to an object within the object to generate a data-integrated object, wherein the object is associated with a project file associated with an industrial automation system;
storing the data-integrated object in the project file, wherein information, comprising the data-integrated object, stored in the project file is usable to facilitate controlling the industrial automation system, and wherein the set of metadata integrated with the data-integrated object provides contextual information relating to the data-integrated object and is customized according to a particular entity, and wherein, in response to executing of the data-integrated object, the data-integrated object facilitates generating control information that facilitates the controlling of at least a portion of the industrial automation system; and
in response to detection of a modification to the data-integrated object that invalidates a customized portion of the metadata, generating a warning indicating the invalidation of the customized portion of the metadata.

### Claim 27 (depends on 26)

The non-transitory computer-readable medium of claim 26, wherein the project file comprises a set of objects, comprising the object, and wherein the set of objects comprises at least one of a controller, a tag, a member, an add-on instruction, a program, a routine in the program, or a ladder rung in the program.
