Log in. Join Us Designer News is where the design community meets. Register now. Login to Comment You'll need to log in before you can leave a comment. Register Today New accounts can leave comments immediately, and gain full permissions after one week. Plant v. Abstract v. Folio All trying to do what LayerVault The reason Designer News exists failed to do in their own way, it's quite interesting seeing these things all evolve and compete.
Haha yeah at first I thought "Oh did Kactus rebrand into Plant? I'm glad I'm not the only one :. I thought this was some sort of version control for plants and I cared for a hot second. Track changes — Easily see who worked on a version and when, and track all the updates from everyone in the project.
Collaborate — Invite as many designers to the project as you want, sync changes between each other, and see the project grow. Sign up for beta. Your email address will not be published. View version history. Plant plugin seamlessly integrates with Sketch for best experience when collaborating on your files.
Plant users enjoy how easy and intuitive it is to version Sketch files. Simply send a new version or load latest. Plant Web app lets you compare differences between two versions of your artboard side by side. To create these numerous control modules and displays, however, a general control module or display module is created and this general control or display module is then copied for each of the different pieces of equipment for which it is applicable.
Of course, after being copied, each of the new control or display modules must be manually altered in the configuration application to specify the particular equipment to which it is attached and all of these control and display modules must then be instantiated and downloaded to the process control system.
Unfortunately, the control modules and displays items discussed above are not modular in any manner. Thus, after being copied, each of the control modules and displays must be manually and individually altered using the appropriate configuration application to specify the equipment within the plant to which they are to be associated. In a plant having many copies of the same type of equipment i. Still further, once programmed, these different control modules and displays are not aware of each other.
Therefore, to make a change to the control modules once created, the engineer or operator must manually make the same change to each of the different control modules for the different replicated equipment which, again, is time consuming and tedious. The same problem applies for the graphical views created for the different sets of replicated equipment within the plant. In other words, once a specific control module or a specific graphical view is created individually or by being copied from a template object and is then tied to a particular set of equipment within the plant, this control module or graphical view exists as a separate entity or object within the system without any automatic awareness of the other control modules or graphical displays that are the same or similar to it.
As a result, changes applicable to every one of the control modules and graphical displays of a particular type must be made individually on those modules and displays.
Still further, because each control module and display is an individual object, it must be open, in the sense that all of its internal parameters, views, function blocks, and other elements must be made available to any user to be changed, viewed, etc.
Currently, there is no manner of controlling what certain operators or other users may see or have access to in these control modules and displays and, thus, there is no ability to hide certain elements of these control modules and displays, such as proprietary software and methods, alarming activities, etc. Referring now to FIG. The controllers 12 are also coupled to devices or equipment within the process plant 10 via sets of communication lines or buses 18 , with only the set of communication lines 18 connected to the controller 12 a being illustrated in FIG.
The workstations 14 which may be, for example, personal computers may be used by one or more configuration engineers to design the process control routines 19 to be executed by the controllers 12 and display routines to be executed by the workstations 14 or other computers, and to communicate with the controllers 12 so as to download such process control routines 19 to the controllers Furthermore, the workstations 14 may execute display routines that receive and display information pertaining to the process plant 10 or elements thereof during operation of the process plant Each of the workstations 14 includes a memory 20 for storing applications, such as configuration design applications and display or viewing applications, and for storing data, such as configuration data pertaining to the configuration of the process plant Each of the workstations 14 also includes a processor 21 that executes the applications to enable a configuration engineer to design process control routines and other routines and to download these process control routines to the controllers 12 or to other computers or to collect and display information to a user during operation of the process plant Still further, each of the controllers 12 includes a memory 22 that stores control and communication applications and a processor 24 that executes the control and communication applications in any known manner.
In one case, each of the controllers 12 stores and executes a controller application that implements a control strategy using a number of different, independently executed, control modules or blocks The control modules 19 may each be made up of what are commonly referred to as function blocks wherein each function block is a part or a subroutine of an overall control routine and operates in conjunction with other function blocks via communications called links to implement process control loops within the process plant As is well known, function blocks, which may be objects in an object oriented programming protocol, typically perform one of an input function, such as that associated with a transmitter, a sensor or other process parameter measurement device, a control function, such as that associated with a control routine that performs PID, fuzzy logic, etc.
Of course hybrid and other types of complex function blocks exist such as model predictive controllers MPCs , optimizers, etc. The workstations 14 may provide a graphical depiction of the process control routines 19 within the controllers 12 to a user via a display screen illustrating the control elements within the process control routines 19 and the manner in which these control elements are configured to provide control of the process plant In the system of FIG.
In the process plant 10 illustrated in FIG. Reactor — 01 includes a reactor vessel or tank , three input valve systems which are equipment entities , and connected so as to control fluid inlet lines providing acid, alkali and water, respectively, into the reactor vessel and an outlet valve system connected so as to control fluid flow out of the reactor vessel A sensor , which can be any desired type of sensor, such as a level sensor, a temperature sensor, a pressure sensor, etc. For the purpose of this discussion, the sensor is assumed to be a level sensor.
Moreover, a shared header valve system is connected on the water line upstream of each of the reactors Reactor — 01, Reactor — 02 and Reactor — 03 to provide a master control for controlling the flow of water to each of those reactors. Similarly, Reactor — 02 includes a reactor vessel , three input valve systems , and , an outlet valve system and a level sensor while Reactor — 03 includes a reactor vessel , three input valve systems , and , an outlet valve system and a level sensor In the example of FIG.
The outlet valve systems , and may be operated to send product out of a flow line directed to the right in FIG. The controller 12 a is communicatively coupled to the valve systems - , , - and - and to the sensors , and via the bus 18 to control the operation of these elements to perform one or more operations with respect to the reactor units, Reactor, Reactor — 02 and Reactor — Such operations, generally called phases, may include, for example, filling the reactor vessels , , , heating the material within the reactor vessels , , , dumping the reactor vessels , , , cleaning the reactor vessels , , , etc.
The valves, sensors and other equipment illustrated in FIG. Still further, other types of devices may be connected to and be controlled by the controllers 12 in accordance with the principles discussed herein. Also, other numbers and types of controllers maybe connected within the plant 10 to control other devices or areas associated with the process plant 10 and the operation of such additional controllers may be coordinated with the operation of the controller 12 a illustrated in FIG.
Generally speaking, the process plant 10 of FIG. To implement different phases, the batch executive routine uses what is commonly referred to as a recipe which specifies the steps to be performed, the amounts and times associated with the steps and the order of the steps.
Steps for one recipe might include, for example, filling a reactor vessel with the appropriate materials or ingredients, mixing the materials within the reactor vessel, heating the materials within the reactor vessel to a certain temperature for a certain amount of time, emptying the reactor vessel and then cleaning the reactor vessel to prepare for the next batch run. Each of the steps defines a phase of the batch run and the batch executive routine within the controller 12 a will execute a different control algorithm for each one of these phases.
Of course, the specific materials, amounts of materials, heating temperatures, times, etc. Those skilled in the art will understand that, while control routines and configurations are described herein for batch runs in the reactors illustrated in FIG.
As will also be understood, the same phases or steps of a batch process can be implemented on each of the different reactor units of FIG. Furthermore, because the reactor units of FIG. For example, to implement a fill phase for Reactor — 01 wherein the reactor unit is filled , a fill control routine will open one or more valves associated with the input valve systems , and for a certain amount of time, for example, until the level meter senses that the vessel is full.
However, this same control routine may be used to implement a fill phase for Reactor — 02 by merely changing the designation of the input valve s to be those associated with the valve systems , and instead of the valve systems , and and by changing the designation of the level meter to be the level meter instead of the level meter As similarly illustrated in FIG.
As further illustrated in FIG. The totalizer for the input valve system , which is illustrated in more detail in FIG. The totalizer has one or more control modules or routines associated therewith that are used to control the input of the acid using the measurements made by the flow meter c. A first such control routine may perform fast flow control through the totalizer using the coarse valve a and the fine valve b while a second such control routine may perform accurate flow control through the totalizer using the coarse valve a and the fine valve b.
As will be understood from FIG. Each of the totalizers , , and has the same type of replicated equipment therein although they are used in different places on the same unit, i.
Likewise, Reactor — 02 and Reactor — 03 also include totalizes at the input valve systems , , and Similarly, the outlet valve system is another piece of replicated equipment including three valves.
As best illustrated in FIG. Of course, one or more control routines are associated with the outlet valve system to control the states of the valves a , b and c to close the tank , to drain the tank or to empty product from the tank In the past, to produce a control routine for controlling the different equipment associated with the reactors Reactor — 01, Reactor — 02 and Reactor — 03 of FIG.
To create a template control module, the engineer graphically connected together different control function blocks to provide a control routine for different elements or loops executed on the reactor.
Once the generic template control modules were created, typically on a valve or a control loop basis, these template control modules could be copied and the copies of the template control modules could be manually bound to particular equipment within the plant 10 , e.
Once bound, either directly or using alias names, as more specifically described in U. However, the bound control modules created from the template control modules had no reference or relationship to the template module from which they were created and were, in effect, stand-alone control modules or objects when used in the process control system. Also, in these systems, configuration had to be performed at a control module level, meaning that a separate control module had to be created for each of the different pieces of equipment or loops within the process plant.
At the control module level, there are typically numerous different types of control modules which must be created for and bound to each of the process entities within the process plant. As a result, the configuration engineer spent a great deal of time simply copying and binding individual control modules to individual pieces of equipment within the plant.
For example, a configuration engineer may have had to create and copy dozens of control modules for a reactor unit in the plant and then bind each of these control modules to particular equipment within that reactor unit. When the reactor unit was replicated in the plant, the configuration engineer's task became much more tedious because the configuration engineer had to perform this copying and binding process for dozens of control modules for each of the replicated equipment, which was time consuming and fraught with human introduced errors.
While, in the past, a configuration engineer could develop a unit module, these unit modules were merely containers for the phases that could be run on a unit and did not include equipment indications associated with the unit or control schemes used to control basic operations of the equipment within the units. Also, while templates could be created for control elements used to control different equipment, there were no packages of control modules that could be used to indicate higher level replicated entities within the plant, such as equipment and unit entities.
In other words, to create control routines for different replicated entities within the process plant 10 , the configuration engineer had to copy control modules for each of the replicated pieces of equipment at the lowest level of control and tailor each one of these control modules to a specific or particular piece of equipment or other entity within the process plant In large plants with a lot of replicated equipment, this task could be time consuming and fraught with configuration errors.
Still further, changes to a control module associated with replicated equipment had to be made manually to each of the different control modules for the different equipment, which was also tedious, time consuming and fraught with operator introduced errors. Likewise, displays for the operator had to be created separate and apart from the control modules and, similar to the control modules, the displays had to be individually created, modified and tied to the equipment within the process plant.
To make the creation and changing of a process configuration easier and less time consuming, a configuration application 50 stored in one of the workstations 14 of FIG. The module class objects are especially useful when configuring a plant with numerous sets of replicated equipment.
Generally speaking, a different module class object 52 can be created for each different type of physical unit or equipment that is replicated or used within the process plant 10 , for each type of control activity that is replicated or used within the process plant 10 , for each different type of display application that is replicated or used in the process plant 10 , etc. Once created, the module class objects 52 can be used to configure elements of the process plant 10 that correspond to module class objects.
The module class objects 52 , which are essentially generic versions of process entities and are not tied to any particular process entity, can have lower-level objects or instances 53 , 54 , 55 and 56 referred to herein as module objects or module blocks associated therewith.
Each module object is created from a module class object and inherits the same structure and properties as the module class object from which it was created. However, each module object is tied to a particular entity within the process plant Thus, a single module class object 52 may be created to represent a particular type of reactor unit no matter how many of those reactor units are present within the plant 10 , while a different module object 53 may exist or be created for each of the different reactor units of that type actually present within the plant The module objects created from a module class object are associated with and owned by the module class object.
As a result, changes made to the module class object can be automatically reflected in or propagated to each of the module objects associated with that module class object. Therefore, when a number of module objects have been created from a particular module class object, with each of the different module objects tied to different process entities, each of the different module objects can be changed by simply changing the module class object and having the changes automatically propagated down to the associated module objects.
Similarly, once the module objects have been created from a module class object, these module objects can be bound to particular equipment within the process plant 10 using a bulk editing method. In particular, because the module objects of a particular module class object are all coupled to or owned by the same module class object, they may all be configured together using, for example, a spreadsheet type application, which makes specification of the particular relationships between the module objects and the particular equipment in the plant 10 associated with those module objects easier and less time consuming.
The module class objects 52 of FIG. As a result, these objects have the ability to own or to refer to other objects. Generally speaking, the module class objects 52 are high level objects which can include indications or definitions of individual elements such as control routines, equipment or other elements associated with a process entity along with a definition or indication of the manner in which those individual elements interact with one another, such as the way in which physical elements are interconnected or the way in which logical elements operate in conjunction with the physical elements.
In other words, a module class object may be an object within, for example, an object oriented programming language, that provides the basis for control and viewing of a particular piece of or group of equipment, a control element, a display, etc. The module class object may represent a process entity of any nature, such as a unit, a piece of equipment, a control entity, a display application, etc. During the configuration of the process plant 10 , the module class object may be used to create configuration instances of the process entity for any number of different process entities that conform to the definition provided by the module class object, with each configuration instance the module object created from the module class object being associated with or tied to a different actual process entity.
However, the larger the scope of the process entity associated with a module class object, the less likely that the process will include replicated equipment at that scope and, thus, the less likely the module class object is to be useful on a large scale. Conversely, the lower the scope of the process entity associated with a module class object, the more likely the module class object is able to be used in various different locations of the plant, but the less amount of configuration is performed when using that module class object in any particular instance.
In any event, the module class objects enable configuration to be performed for different replicated equipment at higher levels of abstraction than at the control module level, which makes configuring a process plant with replicated units and other equipment easier and less time consuming when using module class objects, especially module class objects of a large scope, such as at the unit level.
In one example, when configuring a process control system, a configuration engineer may create a single module class object for the different elements replicated within the process plant, such as for the different reactors of FIG.
Thereafter, the configuration engineer may create instances of the module class object module objects for each of the actual reactors of FIG. Each such created module object will include control routines used by the controller 12 a to operate one of the reactors of FIG. These control routines can then be downloaded to the controller 12 a and used during operation of the process plant However, once created, each of the module objects is still tied to the module class object and can be controlled by the module class object to be changed, to provide or reject access to the module object, etc.
Likewise, module objects from the same module class object can be created and defined together, e. While there are many different possible types of module class objects that can be created or used within a process plant to perform configuration activities within the process plant, four specific types discussed herein as examples include unit module class objects, equipment module class objects, control module class objects and display module class objects.
Generally speaking, each different type of module class object is designed or intended for a different scope of control or use within the process plant A unit module class object is intended to be used to represent and to configure control activities for a broad scope of equipment within a process plant. In particular, a unit module class object is intended to model or be used to configure an inter-related set of equipment typically replicated equipment such as, for example, the reactors of FIG.
An equipment module class object is intended to be used to represent and to configure control activities for a less broad scope of physical equipment within the process plant. The equipment associated with an equipment module class object is generally one or more physical entities, such as valves, flow meters, etc.
Thus, an equipment module class object is aimed at configuring the control of multiple low level components or entities within a unit to provide a basic set of functions on that equipment as used within the unit. As is known, a command driven algorithm command driven control logic is used when the low level components must be coordinated through multiple steps to accomplish a function.
For example, a valve may need to be opened for a particular amount of time and then closed while another valve is opened and then closed. The totalizer of FIG. A state driven algorithm state driven control logic may specify the states of different low-level components which can be manipulated in a single step. Such a state driven algorithm might be used in the outlet valve system of FIG.
A control module class object is intended to be used to represent and to configure individual control elements or control modules within the process plant. A control module class object provides or specifies a particular type of control to be performed on a plant entity, such as a valve, meter, etc. Generally speaking, a control module class object provides a particular type of control programming, such as a set of communicatively interconnected function blocks defining some control module to be executed in a controller, useful to perform replicated control activities within a process plant.
Please try again. No items found. Sign in Try Notebooks. Try Notebooks Sign in. True version control for Sketch files Start Trial Download. No more digging through Dropbox and Google Drive. Explore and iterate in the same file at the same time, without losing the original.
0コメント