Industrial automation multi-developer control code synchronization
AssigneeRockwell Automation Technologies, Inc.
InventorsAndrew R Stump, Anthony Carrara, Eashwer Srinivasan, Srdjan Josipovic, Adam Gregory, Michael J Coan
Life of this patent
Estimating the term…
Abstract
An industrial integrated development environment (IDE) supports collaborative tools that allow multiple designers and programmers to remotely submit design input to the same automation system project in parallel while maintaining project consistency. The industrial IDE also permits localized development of system projects, and provides an infrastructure for intelligently brokering between conflicting edits submitted to common portions of the system project.
Claims20
A system, comprising:
- a memory configured to store a master version of system project data that, in response to deployment and execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system;
- and
- a processor, operatively coupled to the memory that executes executable components stored on the memory, wherein the processor and memory reside on a cloud platform, and the executable components comprise:
- a user interface component configured to receive, from a first client device, a first edit record defining first modifications made to a first version of the system project data that is stored locally on the first client device;
- and
- a collaboration management component configured to, in response to receipt of the first edit record:
- determine whether the first edit record conflicts with a second edit record defining second modifications made to a second version of the system project data that is stored locally on a second client device, and which have been applied to the master version of the system project data,
- in response to determining that the first edit record conflicts with the second edit record, apply one or more conflict resolution rules to select between the first edit record and the second edit record for application to the master version of the system project data, and
- in response to determining, based on application of the one or more conflict resolution rules, that the first edit record is to be applied instead of the second edit record:
- roll back the second modifications from the master version of the system project data,
- apply the first modifications to the master version of the system project data,
- store the first edit record in association with the master version of the system project data as an applied edit record, and
- store the second edit record in association with the master version of the system project data as an unapplied edit record.
A method comprising:
- maintaining, on a system that executes on a cloud platform and comprises a processor, a master version of system project data that, in response to execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system;
- and
- in response to receiving, by the system from a first client device, a first edit record defining first modifications performed on a first version of the system project data that is stored locally on the first client device:
- determining, by the system, whether the first modifications conflict with a second edit record defining second modifications performed on a second version of the system project data that is stored locally on a second client device, and which have been applied to the master version of the system project data, and
- in response to determining that the first edit record conflicts with the second edit record:
- selecting, by the system based on application of one or more conflict resolution rules, one of the first edit record or the second edit record to be applied to the master version of the system project data;
- and
- in response to determining, based on the application of the one or more conflict resolution rules, that the first edit record is to replace the second edit record:
- undoing, by the system, the second modifications from the master version of the system project data,
- applying, by the system, the first modifications to the master version of the system project data,
- storing, by the system, the first edit record in association with the master version of the system project data as an applied edit record, and
- storing, by the system, the second edit record in association with the master version of the system project data as an unapplied edit record.
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:
- maintaining, on the cloud platform, a master version of system project data that, in response to execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system;
- and
- in response to receiving, from a first client device, a first edit record defining first edits applied a first version of the system project data that is stored locally on the first client device:
- determining whether the first edits conflict with a second edit record defining second edits applied to a second version of the system project data that is stored locally on a second client device, and which have been applied to the master version of the system project data, and
- in response to determining that the first edit record conflicts with the second edit record:
- selecting, based on application of one or more conflict resolution rules, one of the first edit record or the second edit record to be applied to the master version of the system project data;
- and
- in response to determining, based on the application of the one or more conflict resolution rules, that the first edit record is to replace the second edit record:
- undoing the second modifications from the master version of the system project data,
- applying the first modifications to the master version of the system project data,
- storing the first edit record in association with the master version of the system project data as an applied edit record, and
- storing the second edit record in association with the master version of the system project data as an unapplied edit record.
Dependencies are inferred from the claim text.