You are on page 1of 165

ControlDraw Manual

ControlDraw Manual.

ControlDraw Ltd, 2010

p1
ControlDraw Ltd

ControlDraw Manual

Table of Contents
Overview Introduction About the Help Diagrams and Symbols Hierarchies and Models Classes Symbols Words and Text Pictures Specifications Reference models Version Controls The Database Matrices Tag Naming Update Policy Support Printing Diagrams Signals and Connections Child Links Polymorphic Diagrams Associated Matrices SFC / Grafcet Phase PFC Procedure Function Chart SAMA Diagrams Logic Diagram Process Flow Diagram - PFD Process Flow Diagam (P & I D) Unit Diagram Equipment Module Diagram State Transition Forms Forms By Function Login Form Tip of the Day The Main Screen The Main Toolbar The Diagram Mode Toolbar Diagram List and Toolbar The Diagram Window The Page Text form Project Details Project Words Project Options Project Users View The Palette Page Browser The Outline form Symbol Controls Tag Balloons Text Control Tool Link Page Selector
p2
ControlDraw Ltd

7 7 8 8 9 10 10 11 12 12 13 14 15 15 16 17 17 17 18 18 19 19 21 21 22 22 23 24 24 26 27 27 27 28 29 29 30 30 31 31 32 33 34 34 35 35 36 37 38 39 40 41 42

ControlDraw Manual

Connection Controls Group controls Symbol Details Form Diagram Details Form Paste Properties Data Design Classes and Data Build Data Views Favorites Object and Instance Data Show Symbol Data Compare and Import Data Query Design form Shared Instance Query Builder The File Manager Tools Utilities Fonts Form Signal Styles Line Styles form Line Edit Form Arrows Matrix form Matrix Types Matrix State Rows Matrix Columns tab Run Mode controls State Matrix Run Controls The History view Compare models form Compare Form Tree Signal dynamics Picture Selector Shape Selector Paste Special Database Tagging and Numbering Custom Tagging Diagram Sorter Model Review Configure Rules Model Review Heirarchy Re-assign Links Form Global Find and Replace Registration Sequence Numbering About Publishing and Backing up View text only List View Find Symbols Embedded Picture Manager Global Find and Replace Set States Symbols Calculation symbols Tagging Scripts Data Management Understanding the ControlDraw Database
p3
ControlDraw Ltd

42 43 44 45 46 46 47 48 49 49 50 50 51 52 53 54 55 56 57 57 57 58 60 61 61 62 63 63 64 65 65 65 66 67 68 69 70 71 72 73 74 74 75 75 76 77 78 79 79 80 81 82 83 83 84 84

ControlDraw Manual

Objects and Instances Data rich models Object Tags RealTag Using SQL with ControlDraw models Data Entry and Display Methods Symbol Data Dynamics and Simulation Dynamic Simulation Run Mode Symbol Scripting Symbol dynamic types Scripting Symbol Wizard Signal Dynamics Set Symbol Selector AutoSFC What Happens in Run Mode Procedures Procedure Charts How to Start a Model Create Diagrams Edit Diagrams Make Connections Drop objects into connections Swap two symbols on a diagram Paste Special Import as Pages and Symbols Import a Matrix Importing Diagrams from Another Model Publish a revision Draw using a P&ID Rapid Model building In at the Deep End Navigate the model Change the Diagram Order Build and update the Data tables Create Recipe and Link their Procedures to Equipment Control Linking Recipe Procedures to Equipment Procedures RTF Editor RTF editor Form Guidelines Getting Started Creating Diagrams Guidelines for Diagrams General Modeling Guidelines Numbering systems S88 Models Publishing and Making Backups Managing ControlDraw Files S88 Modeling Guidelines Tips and Tricks Don't Cut and Paste, Move Reference LICENSE AGREEMENT Licences - Types, Updates and Renewals Special Symbols
p4
ControlDraw Ltd

85 86 87 87 88 88 88 89 89 89 90 92 92 93 94 94 95 95 95 96 96 97 98 98 99 100 100 100 101 102 102 103 103 104 104 104 104 105 106 106 107 107 107 107 108 108 109 109 110 110 111 112 112 112 113 114

ControlDraw Manual

Menus File Menu Edit Menu Navigate Menu View Menu Show Menu Tools Menu Database Menu Model Menu Window Menu Help Menu Menu Guide Sample Models ControlDraw Origins Conversion from Controldraw1 to ControlDraw2 Conversion from Controldraw1 to ControlDraw3 Quick Keys Text edit keys Import / Export Data Automatically Filling Instance Fields Number Automatically Sometimes Asked Questions Multi-User and Single User Modes Updating Models Reference model Updating Test Sheets Variant Tagnames External Tag Undo Changes Clipboard support Class Settings Complete Update Shrinking a model. Emergency Recovery Importing Pictures from another model Importing from another model Microsoft LDBView Error Messages Adding Text Lists to diagrams User Query Special Objects Clones Cross Referencing Options Defer Symbol Links display PFC Options Recipe Defer Functions Descended object linker Autoname connections Signal States Dynamics Diagram background Simulation AutoGenerate Scripts Process Flow Diagrams Piping and Instrument Diagrams Split Tagnames SAMA Model Review Reference Page 1 checks
p5
ControlDraw Ltd

116 116 117 117 117 118 118 118 118 119 119 120 120 121 122 123 123 124 124 124 125 125 126 127 127 128 128 129 129 129 130 130 131 131 133 133 134 134 135 135 136 137 138 139 139 141 142 142 143 143 143 144 145 145 145 145

ControlDraw Manual

Model Advisor Parent <> Class Object Class <> Symbol Class Classes in Parents Not allowed in Page Class Non Included Parent Classes Model File Structure Lost References Clones and Cross References Number Root and Number Exclude Hierarchical Tags Messages Cannot find Reference Model Missing Referenced Child diagrams SFC Draw Sequential Function Charts Overview Basic Step and Transition structure Chart Arrangement Options Chart Editing Start a Chart Add a Step Add Selection branch Add/Extend Parallel Step Deleting Parts of a Chart Arranging charts by dragging Links Arranging charts with Right Clicks Dragging between Steps Copying, Cutting and Pasting Logical consistency Recursive Links

146 146 146 146 147 147 147 147 147 147 148 148 148 149 149 149 150 150 151 152 153 153 154 155 155 156 156 156 156 157 158 158

p6
ControlDraw Ltd

ControlDraw Manual

Introduction
ControlDraw is a diagram processor. It provides drawing tools, text handling functions and an integrated database for the design, specification and documentation of Process Control Systems. With ControlDraw, hundreds of diagrams can be related each other through hierarchical links. Diagrams become reusable objects in a model of a process. ControlDraw provides the means to add data to the objects on the diagram s, for example instrument details or equipment parameters for each instance of each object on a diagram. All of the model is kept in one database file. ControlDraw is a database so all this data is available for use in other packages - for example to generate a database of instruments, or to build an Input output List or SCADA database derived from the drawings of the controlled process, or to create diagrams and statistics that you can use in documents such as management reports or presentations during the project. With ControlDraw you can: Draw diagrams by dragging and dropping sym bols and connecting them together. Note that these diagrams can be rich in data, so that they are meaningful, not just pictures. Build Models - hierarchically linked diagrams which you can 'drill down' from a high level overview to the smallest level of detail. Produce Specifications for any component in the model Interactively build state matrix tables to define the dynamic behaviour of objects in your model Draw a diagram once and then create multiple instances of the data associated with the diagram. Use Dynamic Simulation to illustrate and test your model Build libraries of re-usable modules or objects by using a Reference model. Store everything your project needs in a database that is tightly integrated with the diagrams. Keep a precise record of all changes as you develop the model through the Version Controls Create S88 Designs for Equipment Control of Units, Equipment Modules and Control Modules Define S88 Equipment Independent Recipes Link your S88 Recipes to the Equipment at the Phase, Operation or Unit Procedure Level ControlDraw provide a comprehensive and customisable database. It also includes a built in word processor, in the Project Overview, the Project Description and the Class and Diagram Descriptions where you can enter unlimited formatted RTF text. Sample models are provided, to illustrate modelling and also as a basis for reusable objects for your application The companion Print and Review programme provides tools for printing models and for recording comments during model development. Click to see the Forms you use to operate ControlDraw Learn about the Sample Models www.urswriter.com is web site that provides information on specifying Process Control Systems

This Manual has been produced in part with ControlDraw itself, and a ControlDraw model contains the master copies of all diagrams used in this manual. Fast-Help is used order to be able to generate the online, offline and old style help, and the manual from one source. -o-

About the Help


p7
ControlDraw Ltd

ControlDraw Manual

This is the Help file for ControlDraw 3 1 This help file is relevant to ControlDraw version 3.6.1193 , but If you find any deficiencies please email comments@controldraw.co.uk 2 Most of the documentation effort goes into this Help file, the Manual, the Start templates and the Samples. In case of updates you may find additional help in >Help >Version >History 3 4 You can use Use the Browse buttons above right to the read chapters of the help file. The page you are reading is the page after the main contents Use Search to obtain a detailed alphabetically sorted list of contents

ControlDraw is designed to support ongoing development and indeed is often updated and improved. When you receive a new version, the changes from the last version are listed by using Help Version History Are there any features you would like to add and do you have any General comments? And PLEASE report any bugs you find. Please let us know by email to support@controldraw.co.uk Also please check the Version history and the Known Issues page before reporting a problem.

Visit ControlDraw -o-

Diagrams and Symbols


With Control Draw you can draw many types of diagram by using drag and drop methods in the Drawing Screen. A single file can include many hundreds of diagrams. And each diagram many have Variants to make it multipurpose All diagrams are made of Symbols that are connected by Signals. Symbols can also have a links to other diagrams Each Symbol has associated text: A Tagname - up to 32chr User Text - unlimited ObjectTag - up to 32chr - provides a link to a data set for each object and instance

The connections to a symbol have a number of properties: They may have direction (They flow from an output of one Symbol to an Input of another) Each connection has a Signal Type, such as analog or digital. Inputs may only connect to one Source Outputs may connect to many Destinations The connections between Symbols must be compatible - for example an Analog output must connect to an Analog Input Connections can be modified using the Connections Control Panel Like symbols, diagrams have properties, many of which are similar or identical. In fact a diagram can be viewed as symbol, which is a container for other symbols, and a diagram has similar modeling properties to a symbol. ControlDraw includes symbols and styles for the following types of diagram. Type Grafcet / Sequential function charts(SFC) SAMA Loops Typical Use Sequential Logic, Modulating Control schemes p8
ControlDraw Ltd

ControlDraw Manual

Logic Ladder Procedure Function Charts (PFC) Process Flow State Transition System Flowchart diagrams Entity Relationship Equipment Module

On/Off Control, Interlock Logic On/Off Control, Interlock Logic S88 Recipe Procedures Small schematic diagrams of the controlled plant Unit State logic Control system network diagrams Software Design Systems Analysis, Software Design S88 Equipment Module graphics and states

ControlDraw is not limited to this set of diagrams, since you can create your own sym bols to use as you wish, and you can define your own Drawing Types. You can also mix the types in one page. In fact Control Draw makes no distinction between the diagram types - they are just a convenient way of selecting the set of symbols you want to put into a diagram. The easiest way of seeing the available standard symbols is to use the Symbols Palette. Using the Model Validation functions, the class of a page can be used to determine the class of objects that are allowed on the page. See also Special Symbols -o-

Hierarchies and Models


A Control Draw model is collection of diagrams with meaningful relationships between the various objects on the diagrams, combined with a database. For example a model may comprise a hierarchy of objects, with one to m any relationships between Parent objects and their children. In Control Draw, models can be established and validated by using parent - child relationships and by using the class of an object. See a diagram showing S88.01 Modelling with ControlDraw

Parent - child relationships


A model can have many pages, and relationships between symbols and pages can be established to build hierarchical sets of objects. Each Symbol can be linked to another diagra. This can be a Parent- Child link where a symbol has a diagram underneath it and the contents of that diagram are added to the symbol. In other words you can have an entire diagram underneath each symbol. Another way of looking at this is that symbols can be containers for more symbols, recursively. Each symbol and diagram has a Class property When a child page is created, the page inherits the class of the parent symbol. (Note however that classes are easy to change you may need to change parent or child later - the model review functions help to resolve this)

Jump Links
ControlDraw does not restrict your model to a hierarchical structure however, you can use it as well to produce flat models. And even to combine the two Links do not need to be parent child, jump links proved a way of linking diagrams to be able to follow through a process or to see relevant information that is defined on another page. Hierarchical models support Instances flat models do not. You can also define polymorphic diagrams to show generic objects which have variants in each instance. p9
ControlDraw Ltd

ControlDraw Manual

ControlDraw includes model menu options which can be used to configure and validate a m odel. Data in a model can be divided into sections such as Process Cells or Units by using Streams Please note Model templates can be developed on a specific basis for individual clients. -o-

Classes
All ControlDraw diagrams and symbols are given a class. Class identifies the type of information a page or symbol represents and is significant in models, and the database. A number of classes, heavily influenced by S88.01, are provided with the standard Control Draw library. You can see and modify the classes from the Data Views form. The class of a diagram is set when you first create a diagram, but can be changed in the Diagram Details The class of an object is established originally by the Symbol that is first dropped onto a drawing, but can be changed in the Symbol Controls. Each Class has a large number of properties, described in the section Class Settings. Class is used for: Determining what data should be stored for the object and instances associated with a symbol Establishing validation rules for the model Setting hierarchical tag numbering rules Setting Test Sheet options Determining the drawing right click quick draw options The Class of an object or page is an important aspect of a model, and so ControlDraw supports many additional features to help to manage the classes. A toolbar button toggles the display of the classes of each object on the diagrams. Model rules that check the consistency of diagrams and links are based on the classes. Sequential Function chart numbering and dynamics are based on the classes Class names must be unique. In order for data to be stored with classes they must be Included in Tables in the Data Design

-o-

Symbols
Symbol are objects which are connected to each other by Signals. A Symbol represents an Action, an Event, a State, a Physical item or a Processing function - or your own idea. Symbols have a number of properties: Those which identify the symbol Tagname Object tags User text Those which affect their Appearance: Picture Colours Size and Position Text settings - format Those which affect their position in Models Link page Link Type Class Control Draw includes a large set of standard symbols. These can be dragged from the symbols palette onto a diagram and of course copied and pasted. When a new symbol is added to a diagram the symbol gets the values for the following attributes from p10
ControlDraw Ltd

ControlDraw Manual

the palette: Class Fill colours Text style Text alignment Border style Shape Picture Then you may alter the.position, the size and all attributes of the symbol using the Symbol Controls The Symbol details form provides a view of an object and it's connections. The Symbol Dynamics form allows you to enter and test the object expression, and to set the dynamic appearance of a symbol. Multi selection You can select several symbols by clicking them with the mouse by clicking them whilst simultaneously holding down the the shift or control key. Then you can change any or all of the properties of the selected objects or connections with a few mouse click See also Special Symbols -o-

Words and Text


ControlDraw provides many places where you can use words to describe and specify your model. The Project Properties includes Tabs for the Overview Words and the Detailed Text. This provides two documentation areas for the entire project. These can be printed when selected in the print options form. These areas are stored in the ControlDraw model as RTF text. ControlDraw includes an RTF text editor - this is accessed from the File menu or the page text or project details forms. Note - you cannot save all the formatting that full scale word processor can apply into an RTF compatible format, notably tables. However most table are better defined using matrices or queries so that is not a problem. In addition each Page, Drawing Object, Generic Object and Matrix has a User text field where you can enter as much text as you like. The fonts for the object text are defined in the Font Styles form. ControlDraw objects have text fields. The Page Tagnames and the Object Tagnames are the most important Tag naming schemes are very important to engineers, and Control Draw supports these in a number of ways. You can give a 32 character Tag Name is given to each Symbol which appears on the normal page. When you first drop an object on a page this is taken from the palette. A 32 character ObjectTag name is also given to each symbol, you use this to define the generic attributes of the symbol. Additionally, vast amounts of User Text can be entered for each symbol. The text can be displayed as either the Tagname only or the Tagname plus a number of lines of the User Text. The Toolbar or view menu give you control over how much text is displayed and printed. The Drawing Controls or Symbol Details let you position the text relative to each sym bol, or you can drag and size the text independently of the Symbol location The Text Control Panel is where you can set the justifcation object text. Finally a 128 character Instance tagname can be given to each instance of each object in your model. Suppose you have 3 identical process streams, and all are tagged differently. You can draw the stream once and then assign the equivalent tagnames to the parallel streams to the instance tags. If you have p11
ControlDraw Ltd

ControlDraw Manual

a suitable tag naming scheme ControlDraw can (in future) automatically derive these tagnames from the model and your tagging schemes logic. Drawing Objects also have two Captions field. These provides extra 32 Ch text properties for each object. It can be entered from the Data Views or the View text only forms. This could be used for example to define a Step message for each step in an SFC.

-o-

Pictures
Diagrams are not pictures, but they often contain them. A Symbol can contain a picture. The picture that is used for a Symbol is initially determined by the object you select to put on a drawing. However, you can change this to any other picture or to one of many shapes. Use the Picture Selector to select a picture. ControlDraw provides a large collection of useful pictures in the Pictures Folders, if you need other ones then you can copy them from another application or create your own using the Windows Paintbrush program or any drawing package that can create Windows graphics files (bitmaps, gifs, metafiles, jpg files, icons) You can also obtain the Symbol Factory which includes a wide range of professionaly designed pictures that are also compatible with several SCADA package. See www.reichard.com Paste Special includes Paste Picture into selected Object. If you have just one symbol selected then you can paste a picture into it. As soon As you select a picture file or paste one in it is stored In the ControlDraw file. You can change the Standard, User, and dynamic picture paths when you are in the picture browser. If you open the picture browser to change an Object picture you can change the Standard or User picture path. If you browse For a dynamic picture from the Object expressions form you can change the dynamic path. Note - If Embed pictures is Set (As per default) In File Properties Options then you can freely change directories and browse for any picture from anywhere On your PC. You can make the picture in a symbol the Child Page Diagram (or Icon if one has been set) by checking "Use Child Diagram" In the symbol Details. ControlDraw stores a copy of each picture that is used in a model within the ControlDraw file. If you delete objects from a model their associated pictures are not deleted, since they may be needed by another object. Also pasting pictures in can produce excessive files sizes. The Embedded Picture Manager can be used to resolve this. -o-

Specifications
ControlDraw is intended to be used for writing specifications for Process Control systems. Control systems have many diverse and complex aspects, and specifying them can involve many things. So of course it can produce many types of specifications. Requirements Specifications Functional Specifications Control System Software Specifications Instrument Specifications Validation Specifications Specifications have no value if you cannot test whether or not they have been achieved. An provided that the specification was for a meaurable thing then a Spec written in CD should be able to generate all the measurable values you need for the 'tick box' test record. And a container that can alos hold the necessary words and templates The makeup of all specifications comprises some or all of the following elements in the model: Words p12
ControlDraw Ltd

ControlDraw Manual

Diagrams Matrices Object Specifications

-o-

Reference models
Reference models are modular standards. They do most of the hard work of ensuring standard designs are followed. A model can be linked to a reference model in the Project Details form. When linking an area model to a reference model : The referenced diagrams and matrices are imported into the Area model The Area model classes classes, queries etc are synchronised to the reference model Subsequently, changes in the reference model are automatically reflected in the area model. The use of reference models enables large projects to be spit into several area models, and one reference model With a reference model you can manage a distributed project with a collection of separate ControlDraw 'area' models files and a single ControlDraw 'reference' models. The reference model contains the definitions of the Classes and shared modules, such as valves, motors, and generic mechanisms. Each model then contains a pointer to the reference m odel (in project options) so that shared pages get their diagrams and matrices from the reference model. In addition, all queries and pctures defined in a reference model are imported to the area model

When an Area model has a reference model and you open the model you are prompted to update the model from the reference model. This checks versions of the diagrams and updates newer ones. Referenced diagrams have links to a diagram in the reference model. The link is made by selecting 'use reference page' in the diagram details form and then selecting from the list. These links are by page ID, so if you change the order of the pages in the reference model there is no problem, the links retain their integrity. When you make an external reference to a page then the page is replaced by a copy of the page in the reference model. This is done by copying the objects from the reference model to the current model. p13
ControlDraw Ltd

ControlDraw Manual

This ensures that the related data is stored in the current model and that the current model retains it's integrity should it lose it's links with the reference model. When you open the page it is also checked against the reference model and updated if the reference model page has been updated. If you make a page link to a reference model but then deselect use reference page, the page then becomes a normal page in the model, which you can edit. NOTES Another way to add a referenced diagram is to import it using the File Manager. If a model has ever been used as a Reference model then a tab appears in Project Properties, 'Area Models'. This lists all the files that have ever been synchronised with the model. You can clear this list and then it will be rebuild one at a time when you synchronise an area model. A reference diagram can contain links to other diagrams in the reference model. This means that these diagrams should in general also be referenced in the area model. When you run a complete Synchronisation this can be done automatically. When synchronising referenced diagrams and the diagram has a child and that diagram is not is the model, as well as removing the link, ControlDraw now warns that it has done so and lists the m issing child pages. SetSymbol and CheckSymbol special objects that are in a Reference model do not work in the area model. Workaround. Since these symbols do not instantiate, there is no loss if data. Look at the reference model instead. Exclude reference diagrams when printing and print the reference model separately. How it works Each Diagram, Symbol and Martrix in a model has a unique ID, and can also have a Reference ID which is used to point to the relevant diagram or object in the reference model. In addition they also have a reference version which is the version of the referenced object when last synchronised. A similar technique is used for classes When an area model is synchronised the referenced diagrams are copied from the reference model to the area model. The version numbers are used to detect whether the classes, referenced diagrams and objects have changed and need updating. See also Reference model Updating

-o-

Version Controls
A considerable range of version management and tracking options are provided automatically by ControlDraw ControlDraw also provides a Publishing facility whereby you can raise the Issue of a model and then archive it for subsequent comparisons. The Version History form provides a view on the history of changes and easy access to the Compare form.

Model Version
Each Control Draw file has an overall version number. This is automatically incremented each time the file is opened for editing, then changed then closed. Note - this means that if you open and close a file several times during an editing session, the version will increment several times.

Issue Number
A ControlDraw file has an Issue number, having two parts, Major and Minor. The Major Issue is a number and Minor Issue is a letter, so a model has an Issue like 2C. Issue is printed on all printouts. Diagram and Object Version Numbers ControlDraw keeps a Version number for each diagram. This is the version number of the model when the last change was made. It is incremented once each time a new user edits the model.

p14
ControlDraw Ltd

ControlDraw Manual

Control Draw keeps track of the users of the system. When starting ControlDraw you are prompted to enter your name. This name is then stored with each diagram or object that you create or edit. The same applies to individual symbols and database records

Comparing Models
ControlDraw provides a compare facility with which you can see all the differences between two models

Dates and Users


The model itself and each diagram and object remembers the date when it was last changed The name of the user who first creates a diagram is stored. The name of the user who last edited a diagram is also stored The Print 'Changed after' function allows you to print only those Diagrams that have changed after a given date. -o-

The Database
A ControlDraw model is an Access database. ControlDraw2 models are Access 97, CD3 uses Access2000, but can still edit CD2 (Access 97) Models. The model is populated with records automatically as you draw diagrams, and then can then be enriched with further data with a few clicks in the the Database forms, and of course some data entry. This contains the diagrams, the matrices and everything else. The Instances table records all of the occurrences of a particular Generic Symbol. This procreates the parent_child relationships in a drawing file to produce a record for all of the Parent children paths. The Instances table provides the interface to the real world of instrumentation and operators and system testing. For example you can generate lists of all of the points in a system as a test schedule. See also Understanding the ControlDraw Database And Data Designer -o-

Matrices
Control Draw provides extensive support for the generation, editing and saving of Matrix tables, for example Equipment State Matrices. Matrices can be used in many ways. For example to define the states of a module, or to map the procedural elements in your model into the physical elements. A matrix has Rows and Columns that can be derived from objects on the pages of a m odel, or manually entered. You can select which objects are included from the Columns and Rows Tabs in the matrix form. You can also manually add new rows and columns. You can set the cells of a matrix using interactive State matrix run controls form. Matrices can be printed independantly, or they can be place on a diagram by using the Special Object Symbols matrix type. If placed on a diagram the matrix reflects the current variantPolymorphicDiagrams The rows and columns for an empty matrix can be generated from objects on a drawing.

p15
ControlDraw Ltd

ControlDraw Manual

Matrix cells can show the dynamic states of the connected objects in drop down lists. Typically the Columns are Control Modules on an Equipment module page and the Rows are the states on the page but many more configurations are possible. When showing a matrix, if a tag name of a symbol that is used in a row or column has changed ControlDraw prompts and optionally changes the Row or column header to match the diagram tagname. Matrices can be used in many ways. For example to map the procedural elements in your model into the physical elements. You can select which diagram objects are included from the Cols/Rows Tab in the matrix form. You can also manually add new rows and columns The rows and columns that are connected to symbols in the model are highlighted by colouring the background of their tagnames. Green indicates that the tagname has not changed, yellow indicates the object is present but has a different tagname, and white indicates that the row or column is disconnected You can also re-connect symbols or change the symbol to which a row or column is connected. This is done by using the edit menu, or right clicking. and choosing Row Symbol or Column Symbol. You can also use this to find what page the symbol is one, or its class. You must first select a single column or row by clicking the column or row header to enable the Row or Column Symbol menus

Each matrix is stored in an Access table named tblMx# where # is an automatically assigned number which means that the column names should follow Access field naming rules. object-naming rules They can include any combination of letters, numbers, spaces, and special characters except a period (.), an exclamation point (!), an accent grave (`), and brackets ([ ]). Note that you also can't use leading spaces or control characters (ASCII values 0 to 31). -o-

Tag Naming
Each object in the system is identified by a collection of tagnames. All tagnames are optional. The more you use them the more powerfull the model and the more structure you need.

These are The Symbol Tag This is the tagname as it appears for each symbol on a diagram. t Note that some text positioning allows for splitting the tag name as is often seen on P&I Diagrams The Instance Tag Instance tagname provide a means of identifying each instance of the objects in a m odel An S88 oriented structure might be p16
ControlDraw Ltd

ControlDraw Manual

Area.Unit.Equipment Module.Control Module. See also RealTags The Object Tag See Object Tags Page Tags do not have to be unique even on one diagram. Object Tag have to be unique, Globally, so one object tag can only exist in one Class. See also Tagging and Numbering -o-

Update Policy
ControlDraw software is intended to improve continuously. There are frequent updates and these are made available to all licensed users. The updates are made available when a new feature has been added or improved - these releases are rolled up with bug fixes. Reverse and forward compatibility between versions and models is maintained over a 1 year reverse period and 3 year forward. That means that a model can be edited with a 1 year old version of the software and with the current version of the software in 3 years time. Please note however that an older version of the software will not support newer features, and a model that has been created with a newer version and then edited with an old version may not retain settings that were created with a newer version. At some point it may be that a new version is released that does not maintain reverse compatibility, so Previous versions of the software may not work with models edited with the new version. If that happens: ControlDraw will inform users in advance, typically via statem ents on the Web site. ControlDraw will continue to maintain the last version for licensed customers. In this case maintain means fix bugs, and this will only be done for 15 months after the release of the new version See also complete update

-o-

Support
You can obtain free support by email for ControlDraw for one year after registration or as covered by your support contract You can email any questions/suggestions to: questions@controldraw.co.uk Please visit our web site where the latest updates are available to licensed users www.controldraw.co.uk -o-

Printing
Everything in ControlDraw can be printed. This is done with a separate program, Print and Review. (New help file and manual on the way) There are a number of printing options that you can select to determine the content of your project publication. These are set from the Print Layout options form.Here you can choose: The fields of data in the model that you want to print What text to print What diagrams to print What matrices to print p17
ControlDraw Ltd

ControlDraw Manual

What data to print In addition there are several options that control how each section is printed, and page breaks.

-o-

Signals and Connections


Connections in ControlDraw are represented on the page as a line connecting two symbols, however they are much more than just lines they are Signals. When you move a symbol the line moves to keep its connection to a sym bol. You can choose the Connections style for each connection. In dynamic mode, signals can carry data from one object to another and may have their appearance determined by the value of a signal. Signal have a data type. Signals define the initial way these connections are drawn. Each signal is assigned a Line style, arrows and a connection routing method from the Signals Form Note - you can change these appearance aspects after you have created a connection, using the Connections Toolbox, but the signal remains the same unless you change it using th Symbols form. Two connected symbol can be on separate diagrams. If this is the case a Connection pointer is automatically created, containing the text Symbol tagname / Connectionname and 'On Page' Page no. Double click a line and if it has more that two segments each segment that is not at an end of the line shows a number in the middle. You can drag this to move the connection segment. Also there is a button in the line controls to make a line orthogonal. If a segment is nearly horizontal or nearly vertical then click this to make the segments line up. You can change the symbol to which a connection is made by dragging an end point onto another symbol See also Connection Controls

p18
ControlDraw Ltd

ControlDraw Manual

-o-

Child Links
Symbols on a diagram can be linked to other diagrams as parents. Child pages are diagram which are linked to a parent Symbol. Symbols on Child diagram may themselves have further diagram underneath them. One child diagram may belong to several parents. This is done by attaching the parent symbols to the particular diagram - this uses no extra file space and provides Control Draw with the ability to subsequently count and populate the database with all instances of the Symbols objects. Thus, for example, if an object such as a Control Module occurs many times, the Control Module need be drawn once only. The presence of a child diagram under a symbol is indicated by a rectangle next to the sym bol, and a number (the child diagram number). Note - in fact a page is just the same whether it is a child or not. It is only the child property of symbol in a page that makes a child page instance exist. Setting the parent child link This can be done at various time with Control Draw. It is possible to draw all the pages and then link them with the Link page selector , or to create each new child page from the Link page selector The line colour and style of the child highlight box are set in the Preferences Optionally the actual child drawing name can also be displayed, by selecting View Child Name from the menus It is possible to nest drawings under drawings almost indefinitely, subject to overall Windows memory limitations. However, the Control Draw is limited to 8 levels in certain functions such as the D atabase instance class fields. It is highly recommended that you do not exceed this number of levels in your drawings

-o-

Polymorphic Diagrams
Each diagram has a 'Polymorphic' property. This is optional, it is set in the Diagram Details form. When set then a Selector panel appears at the top left of the diagram. As you select a variant it is shown on the diagram window,in both ControlDraw and the Reviewer.

Polymorphic diagrams are diagrams that have Variants - diagrams that do not have all the contents of the master version or that have different tagnames. An exclusion variant of a diagram is a subset of the master diagram, a Tagname variant uses different names for the objects. The two variant types can be mixed in one variant on a diagram, but a single symbol is either excluded or has a different tagname. Parts of the contents of the master diagram can be switched off in a Variant. For example some of the equipment modules in a Unit may not exist in a particular instance of the Unit. You can define a diagram Variant to show this. This means that you can draw a 'superset' diagram that covers all the alternative configurations of the particular type of object that you are drawing and then define via Variant tables the alternative versions of the unt. Also a symbol can have a different tagname in a variant. Variants cascade into the database build functions. p19
ControlDraw Ltd

ControlDraw Manual

In the parent objects of a Polymorphic diagram you can select which variant of the diagram to use. If you select a Child diagram that is polymorphic then ControlDraw prompts with a list of the page variants. You have to enter the variant number that you wish to use, or 0 to use the master, which has no objects excluded.

Exclusion, Tagname or Child Var Variants


There are three types of Variant object Tagname Variant Tagnames are alternative tagnames to be used for the symbols on a variant. Exclusion A Variant not not contain the object Note A Variant cannot be excluded if is has a Tagname, so in order to exclude a variant that already has a tagname you must clear the tagname first. Child Var You set the variant that is linked to an object in a variant. This option lists only objects that have linked pages. If the page is polymorphic then you can choose from a drop down list in the cell which variant in the child page is used in the variant of the parent page. If the child page is not polymorphic then you cannot edit the cell. You do not need to make diagrams with multiple copies of objects in order to be able to select different child page setting for objects.

When in Tagnames mode, you can use "." to hide the Tag and child link, or "," to hide just the child link, so you can create a variant without all the clutter of links and tagnames, for example for Graphics. The list in variant tagnames shows these by colour. You can use Variants Special Symbols to display all the settings on the diagram

-o-

Associated Matrices
p20
ControlDraw Ltd

ControlDraw Manual

A ControlDraw diagram can be associated with a matrix in one of two ways The First is the Page matrix - each row of this matrix contains dynamic values of selected diagram symbols. The Second is the Set State matrix. this is used by the Special Object, SetMxState. This is a special sort of Transition for use in Grafcet and PFC Phase diagrams. When this object is dropped onto a diagram or double clicked, you are prompted with a list of the states in the Set State matrix that is associated with the page. Typically you would use this when drawing an equipment phase diagram. You build the Equipment module and then animate it, or at least create a state object or a row in the Equipm ent module matrix. Then you can make the steps of a sequence set the EM into EM states by picking from a list. These associations are set in the Diagram Details -o-

SFC / Grafcet Phase Features


See also SFC Draw, a more advanced way of drawing SFC's

SFC diagrams have a special right click menu

p21
ControlDraw Ltd

ControlDraw Manual

These greatly speed up SFC development. Right Clicking a step in an SFC shows a SFC item in the right click popup menu. In the SFC sub menu you can "Insert Step/Trans Below "- this adds a step and transition between the selected step and it's subsquent transition, and moves the subsequent steps and transitions down to make room. "Insert Branch Step" - this adds a branched step and transition "Delete Step and Preceding trans" removes the step and it's preceeding transition. If no page set state matrix is selected the next menu shows "No Page Set State Matrix, Click to set one" Otherwise the menu shows "Set State Matrix step" with a tick if the step is a set state type one. Clicking then prompts "Change this to a Set State Step?" or "Change this to a Normal Step?" "Sequence Numbering" calls up the Sequence Numbering form

-o-

PFC Procedure Function Chart


This is a type of diagram that represents an S88 Recipe procedure Symbols are explained in the S88Reference.cnd model. PFC editing functions are similar to the SFC functions If you select and right click on a phase then Choose 'insert below', a new phase is inserted in the chart For the PFC menu to appear the class of the object should have Test Table Type set as Step/Trans in the class design for the objects class.

-o-

SAMA Diagrams
p22
ControlDraw Ltd

ControlDraw Manual

SAMA diagrams are used to represent control loops and logic The standard presents symbols and a diagramming format for use in representing, primarily, control loops. SAMA types in ControlDraw do not strictly follow the standard, but it could by adding new symbols, some are provided in the sample models They are similar to Function Block Diagrams

-o-

Logic Diagram
Logic diagrams show typically logic using symbols for boolean operators such as AND, OR etc In ControlDraw such diagrams can be run in simulation mode to test the logic.

In Run mode the logic can be seen executing

p23
ControlDraw Ltd

ControlDraw Manual

-o-

Process Flow Diagrams - PFD


You can use ControlDraw to produce Process Flow diagrams that include data such as materials, min and max pressures etc. There are at least 2 ways to do the, by using Symbol Data or a Matrix. The PFDExample.cnd model shows how it can be done. Using Symbol Data

Using a matrix

-o-

Process Flow Diagrams ('P & I D')


Process Diagrams with ControlDraw are generally a simplified P&ID type diagram, suitable for a PCS Graphic See Also Unit Diagram and Equipment Module Diagram and Process Flow Diagram - PFD

p24
ControlDraw Ltd

ControlDraw Manual

This is another type, in this case using typical P&ID symbols but showing something that P&ID's never do - the states of the equipment and their settings.

Most Real P&ID's are much more intricate and have many things shown on them that are not important in the context of controlling and operating the plant, for example contruction details, pipe codes, vessle nozzle sizes and so on. And they cover a larger part of the process, for example one may contain the physical equipment for one or more units and resources. They have their place, but when it comes to a modularity they are too big. They are also too big for operating graphics - you need a huge screen for a start. And within one typical P&ID there will be several Equipment modules, Control Modules etc and little apart from notes about the functionality. One typical P&ID translates to 5 or more ControlDraw process flow type diagrams (20 may only require 50 or less). ControlDraw also supports higher level Process Flow diagrams that are more like Process Flowsheets, they show only the major equipment items that are often on one P&ID.

p25
ControlDraw Ltd

ControlDraw Manual

-o-

Unit Diagram
This is a type of diagram that represents an S88 unit, it's Equipment modules, Control Modules and the phases it can run. Symbols are explained in the S88Reference.cnd model.

-o-

Equipment Module Diagram


This is a type of diagram that represents an S88 Equipment modules, it's Control Modules and (if p26
ControlDraw Ltd

ControlDraw Manual

allowed) the phases it can run. Symbols are explained in the S88Reference.cnd model.

-o-

State Transition Diagram


These provide a very clear represention of the behaviour of simple state oriented systems. In ControlDraw these diagrams are animated in Run mode

-o-

Forms By Function
p27
ControlDraw Ltd

ControlDraw Manual

Diagrams and Objects


The Login Form Set user name, startup and basic operating mode The Main Screen the main operating form Diagram List and Toolbar Shows all the diagrams in a model in list form. The Page Browser shows thumbnail images of the diagrams and can be used for navigation and sorting. The Palette Symbols are dragged from the symbols palette onto a diagram. The Diagram Details form is where you can set all the properties of a diagram and write a detailed description Object Details Form the details for a single object The Page Text form enter formatted text about diagrams, classes and the model itself. Project Details Form to view and edit information on the project. The List View shows diagram symbols in a list and allows undeleting View Text Only lists and allows editing or text and Captions for objects in a model The Matrix Form provides the means to define tabular data such as state matrices for units and equipment.

Toolbars and Popups


The Main Toolbar This toolbar contains the short cuts to frequently used functions. The Diagram Mode Toolbar Controls how the mouse works on a diagram, display and sizing Symbol Controls is where you can set the appearance and content of a diagram object. Connection Controls is where you can quickly set the appearance and signal type for connections. Group Controls align and set the properties of groups of symbols Link Page Selector add, remove or change the Symbol to Page links Picture Selector with this you can select pictures for objects Shape Selector Choose a shape for an object Fonts All fonts used in diagrams and tables must be defined in styles, this is where you set them Signal Styles define and select from as many different line styles as you need, Paste Special Import pictures, text, groups or tables of data from another Windows program. Or copy objects from the open model as clones. Global Find and Replace Copy the setting of one object to other objects anywhere in the model. Text Control tool is used to set fonts and text justification Descended object Linker is used to set links between higher level parameters and lower level ones

Database Forms
Data Designer allows you to define data to store beyond that which is shown on a diagram. Classes and Data Build provides tools to populate the database Data Views provides tools several tabular views of the data in the model. Show Symbol Data shows the data stored with a particular symbol and it's instances. Database Tagging and Numbering automatically sets Tagnames and Instance 'Real Tag's for the objects in the model Object Specifications shows the Object and Instance data associated symbol on a diagram.

Revision management
Publish and Backup Raise a revision or make day to day backups, as this also compacts the morel Compare Show the difference between models

Maintenance
About This shows the version of the program and the user data. The File manager maintain your models and import from one model to another. Model Review provides several ways of looking at the structure of your model and some correction facilities p28
ControlDraw Ltd

ControlDraw Manual

Tools Utilities Set the default modes, by removing unused pictures and connection points etc Embedded Picture Manager Shrink embedded pictures, delete unused ones and create rotated versions. Diagram Sorter Re-order all the diagrams in a model by various methods Registration How to obtain a license. Global Find and Replace

States, Dynamics and Procedures


Matrices provides the means to generate tables such as unit state matrices. Sequence Numbering SFC step and transition numbering SetSymbols and CheckSymbols Set up Special Objects that refer to other symbol states Run Mode controls provides control when running a diagram dynamically Object Dynamics set the dynamic properties of a symbol Expression Builder set the VB Sript for an object Signal Dynamics control the dynamics appearance of the connections when running diagrams dynamically. State Matrix run controls set or save the state if the symbols to a row in the matrix. Procedure Charts provides the means to generate tables such as unit state matrices Calculation Symbols have an editor for writing and testing calculations Calculation

-o-

Login Form
When you start ControlDraw you have to provide a user name. This is then used to track the developers of the model. Each object (diagram, symbol, data design record, matrix) records the name of the user who first created it and last edited it. See also Version Controls The first time the user name defaults to your Windows Logon name but then remembers the last entry. You can choose to start in the file manager or reload the last project. Simple Menus This provides a reduced set of menus and functions for beginners and stops some messages. Show Training Tips Causes informative messages to be shown as the user works with ControlDraw

-o-

Tip of the Day


The Tip of the Day form loads at start-up but you can disable this with the Show At Start-up checkbox. You can also show the tips by selection from the help menu. Once you have seen all the tips, they start again. You can reset them too so that they start again. In addition, if you have Training m essages then these are also reset to show again. p29
ControlDraw Ltd

ControlDraw Manual

-o-

The Main Screen


This is the main operating form, with a model loaded. It is a multi window form with a Diagram list window, a diagram window if one is open and the text window. Click an area for more help

Window styles
Using the window Menu there is a choice of Multiple and Single window styles. In Single Style (Default): ControlDraw fixes the list of diagrams on the left of the workspace, and sizes the diagram to fit the space between the list and the right hand side of the workspace When this is selected you only have to click once on the list to open a diagram. If you do not select this then you m ay have several diagram opens at once, this is useful for working on a collection of sim ilar or related diagrams In Multiple Style You can open many diagrams at the same time. Diagrams appear in the same position they did last time -o-

The Main Toolbar


This toolbar contains the short cuts to frequently used functions. Click on a description for more help p30
ControlDraw Ltd

ControlDraw Manual

-o-

The Diagram Mode Toolbar


The Drawing mode toolbar Controls how the mouse works on a diagram, display and sizing

You can move single symbols or groups with the cursor keys. Hold down shift and a cursor key to move the objects in larger steps. With a single object hold down Ctrl and a cursor key to change the size of the object. Note - Escape hides the Symbol Toolbox if it is showing Note Creation Mode is set by clicking the Drag to Create Note button, then afer you drag across the diagram you can enter the tagname and text.

-o-

Diagram List and Toolbar


Whenever a model is open, the List of pages window is open. You can navigate your model and see the diagram class and Tagnames here along with whether the diagram is Polymorphic and it's status. p31
ControlDraw Ltd

ControlDraw Manual

You can open up a number of diagram pages in the model by double clicking in the page list or by clicking the Open Button When you add a new page from the List of pages it is inserted after the current page and it adopts the class of the current page. If running multi user and another person is also editing the model then you can only insert at the end and you cannot delete diagrams. Click an area for hepl

The form has a right click menu Replicate Diagram makes a copy of the currently selected diagram Synch Referenced Diagrams Prompts to synch all or only changed diagrams. Synch Referenced from here Synchronise diagram starting with the current diagram, so for example if you have Synchronised diagram up to 50, then stopped, you can continue from diagram 50. Find Diagram This does a forward search for diagrams whose name includes the string you enter. If a diagram is both locked and referenced this is shown in the list of diagrams by having the relevant colours in the first and second columns. Also if a diagram is read only it is now shown 100% size and not scrolled, if not read-only the last zoom and scroll are used. See also the Diagram sorter which provides a more powerful way of setting the order of the diagrams -o-

The Diagram Window


See The Diagram Mode Toolbar Click an area for help

p32
ControlDraw Ltd

ControlDraw Manual

Shortcuts You can move single symbols or groups with the cursor keys. Hold down shift and a cursor key to move the objects in larger steps. Note - presss Escape to hide the symbol controls first With a single object hold down Ctrl and a cursor key to change the size of the object. You can swap two symbols by dragging one onto another. If the symbols are of a different class, start dragging then hold down shift before dropping. -o-

The Page Text form


You can use this to enter formatted text about diagrams, classes and the model itself. Buttons on the form is position it above or below the diagram or below the list of diagrams You can also change the setting in Tools Utilities where you also hide the text form The text is stored as RTF (Rich Text Format), compatible with Wordpad. You can alternatiively use the RTF Editor to edit the text.

p33
ControlDraw Ltd

ControlDraw Manual

-o-

Project Details
This form provides a number of tabs to select different aspects. Click on the screen shot for m ore information.

Base model is the version number of the Default ControlDraw model when the model was created. If this is less than that of the current start database then when you open the model you are only prompted to ask if the model should be updated. Watermark is printed diagonally across the page when printing with the reviewer. You can select or de-select a Reference model from this form. -o-

Project Words
In the Overview and Detailed words tabs there is a field where you can enter unlimited formatted RTF text. This provides two documentation areas. these can be printed when selected in the print options form. These areas are stored in the ControlDraw model as RTF and can be edited in place or by using the RTF Editor. You can either edit the text in Situe as shown below or you can click RTF Editor button to open the text in the built in word processor. You can copy and paste the text to and from your word processor, with limitations (no tables).

p34
ControlDraw Ltd

ControlDraw Manual

-o-

Project Options
This is where you can select a reference mode You can also set many settings that determine the appearance of diagrams etc See also Cross Referencing Clones and PFC Options

Note Some optional settings, such as Show Clones can now be set for each diagram. The Page Details form now has a new tab Page Settings where you can set them -o-

Project Users View


This view provides a way to see information on who has edited the model, with options to see summaries and details.

p35
ControlDraw Ltd

ControlDraw Manual

Note A diagram is flagged as open or closed in the model itself. If the program is unexpectedly terminated then a page may appear to be open when it is not. To recover from this a command is available from the Users tab of the project options to reset the page open flags. This is rarely needed. -o-

The Palette
The Palette Form is a library of objects that you can use in your diagrams by dragging and dropping In a way it is just a short-cut - once you have placed a symbol from the palette on a diagram then the original is almost irrelevant. But CD maintains a pointer to the original symbol. Drag Mode (not yet on picture) With Drag Mode on you do not have to drag from the palette for each symbol, you just select one in the palette and then when you drag on the diagram the selected symbol is placed where you dragged. If the symbol has a picture it is sized to the palette settings otherwise it is sized to match the area you dragged in.

Can you define your own symbols? p36


ControlDraw Ltd

ControlDraw Manual

Whilst this is possible (using the menu's in the Palette) this is not recommended at present (a future revision may allow this.) The reason is that the Palette, which is stored in cdPallette.mdb, gets updated with some new releases of ControlDraw and so if you changed it then a new release would lose your new symbols. However it is no problem. Just create a model, then make a symbol that has the properties that you want. Then you can run two instances of ControlDraw and copy and paste between them. In fact you can use such a model as a reference model as well. Take a look at Milkshake3.cnd or MPPH3.cnd sample models and you will find a diagram called Standard Symbols, at the end of the list of diagrams. These are defined in the reference model (S88Reference.cnd) for those projects. You can in fact change the palette in Tools Utilities so you could copy the standard one and point to your copy, and then change it. See also Special Symbols and Number Automatically

-o-

Page Browser
You can now force the diagams when doing a complete rebuild to show or hide the classes, object tags and captions, overriding the settings for each page. (new buttons not yet on image below) Printing - prints the diagrams at the size you have selected in the drop down list, previewing first.

p37
ControlDraw Ltd

ControlDraw Manual

Reference diagrams are now shown with a green border in the Page Browser. View Zoom Scale Drop Down list Sets the size of the thumbnail images Drag to change Order You can select a single diagram or a contiguous group and drag to change the page order Right Click a Diagram To view full size, or to open or delete a page. Rebuild When using the Reviewer ControlDraw uses Cached images of the diagrams. Some actions, such as global changes may require that the image be loaded and redraw. Page Browser Rebuild forces all the diagrams to redraw by opening each page redrawing and then closing. Sometimes this may be necessary after you have made global changes but not opened and closed every page. It also puts all diagrams to 100% unscrolled

-o-

The Outline form


Each page in the model is shown with it's descendant pages indented. You can click on the + and - icons to expand or collapse a level. Icons for the objects on each page are shown provided Include Objects is checked. you can double click on to go straight to the object details page. When Include repeated pages is checked all pages are searched down the hierarchy. Otherwise a page is enumerated only the first time it is encountered and subsequent instances are shown with a * prefix. Include jumps makes the view also include pages that have Jump links Clicking on a page name will open that page. This form remains open so you can hop between diagrams

If Parents is checked the form shows the Parent diagrams

p38
ControlDraw Ltd

ControlDraw Manual

-o-

Symbol Controls
When a symbol is clicked an the Object Controls are On. See also Symbol Details You have complete control over the position of text that is associated with each object. If you just select one of the nine standard positions then ControlDraw will work out the positions You can select text positioning mode from the diagram mode tolbar and then drag and drop the text to anywhere you like. It is generally not recommended to have objects that have no tagname but do have user text. The only time this should be used is for notes, when the text is inside the symbol.

p39
ControlDraw Ltd

ControlDraw Manual

Notes on Text sizing The Size to content on the Object Control panel works as follows If there is a picture in the object then the object is sized to the picture If the tag and text are inside the object then the object is sized for the tagname and the user text. If the text is user positioned the button has no effect There is an option in Tools Utilities to control the text sizing - "Text Height Correction" and "Text Width Correction". These values (in twips) are the amount by which to increase the size of text boxes beyond that needed on the screen to account for scaling differences with printers that could cause some of the text to be hidden. If you find that parts of text are missing then increase the values. See also Tag Balloons See also Text edit keys

-o-

Tag Balloons
You can set the tagname to appear separately from the object in a variety of shapes. You can then drag the tagname to position it relative to the object. Tag balloons are auto sized and split the first letters before the number part and the remainder. Tag balloons are set from the object controls, using the menu from the bottom right button or by Ctrl-T. (Replicate copy object and instance data has been moved to the object controls menu) When you use a balloon tag the symbol text is then set to the right of the balloon and auto sizes, but will stop autosizing if you manually set the text position. The position of the tag balloon is stored relative to the object so you can use Copy and Paste Object properties to set other tag balloons the same - just click the Appearance button in Paste Object properties. p40
ControlDraw Ltd

ControlDraw Manual

-o-

Text Control Tool


When in Allow text placement mode the single text toolbar is shown when you click on a text field (Tag or User text) You can align the text, change the font and size the object to fit the text

When you have selected a symbol then the double text toolbar appears. You have to choose whether to apply the changes to the Tag or the User text.

p41
ControlDraw Ltd

ControlDraw Manual

-o-

Link Page Selector


This form is where you add, remove or change the Symbol to Page links. A parent child link in ControlDraw 2 work's in exactly the same way as it did in ControlDraw1. That is to say that every reference in ControlDraw one to another page would cause an instance of that page and all the objects in a page. An extension link will include the objects on the extension page in the database for the page and it's descendants. Effectively it is just makes the original page bigger. A jump link does nothing in the model, but you can use jump links to make navigation easier for the user. When a page is created as a child of a symbol it inherits the class of the parent symbol. The same form, but with the buttons changed, is used for other Page selection functions Note - until you have chosen the link type (parent, jump or extension) the link select and create new buttons are disabled. You can also use the Symbol Controls and Group Controls instead of Add New

-o-

Connection Controls
Connections in ControlDraw are represented on the page as a line connecting two symbols, however they are much more than just lines they are Signals. When you move a symbol the line moves to keep its connection to a sym bol. You can choose the Connections style for each connection. Signals define the initial way these connections are drawn. Each signal is assigned a Line style, arrows and a connection routing method from the Signals Form

p42
ControlDraw Ltd

ControlDraw Manual

You can change these appearance aspects after you have created a connection, using the Connections Toolbox, but the signal remains the same unless you change it using the Symbols form. Two connected symbol can be on separate diagrams. If this is the case a Connection pointer is automatically created, containing the text Symbol Tagname / Connectionname and 'On Page' Page no. NOTE - In order to select and move connection points you must have selected the right mode - see Drawing Modes You can move connection ends by dragging them with the mouse. If you move the end of an auto-routed connection, then ControlDraw calculates a new route depending on the side of the object and the position along that side If an auto routed connection is changed by dragging and dropping the points in the line (not those at the ends,) ControlDraw automatically registers the link as a manual polyline connection. With a manual link the position of the points can be individually moved, except that end points still must be on one side of or inside the object they connect to. You can delete points in a manual connection by dragging one and dropping it on an adjacent one. You can add points to a manual connection by dragging one of the points that is half-way along a segment

In dynamic mode, signals can carry data from one object to another and may have their appearance determined by the value of a signal. Signal have a data type. Vertical - Horiz -Vertical and similar types, these now longer revert to manual if you edit them. And you can drag the corners and the entire segment moves. Another new Style, "Auto Route avoiding objects"

-o-

Group controls
This form appears when you select more than one symbol You can use it to set the properties, such as appearance or class, of many symbols with a few clicks. Pressing delete when the group toolbar is shown deletes all selected objects. Undo from the main toolbar restores them Tiip: Press excape to close the form and then the Left/Right/Up/Down keys move the entire group, and holding down shift at the same time increases the movement by a factor of 10

p43
ControlDraw Ltd

ControlDraw Manual

When using the Group form to space evenly in the vertical plane the size, the user text is accounted for, improving for example SFC steps and transitions where the text is outside the object. The form also includes a menu, Arrange in Rows or Columns This simply puts the selected symbols in rows and columns. The spacing is set to the widest and tallest symbol plus a bit and the with the top left set to the leftmost symbol and the topmost symbol . You are prompted for the number of rows or columns, with a default that makes the number of rows and columns about equal. You are also prompted for the order. Centre all connections If the group includes connection links, this will place all the connection points at the mid point of the side they are on. Change Clones to Masters and Change Clones Normal If there are any clones in the group you can make them the master, making the existing master into a clone, or make them normal, so disconnecting from the existing master Hide and Unhide All Text Affect the User Text visibility Create/Link Child Diagrams This will create child links to pages that have the same name as the selected symbol, and if necessary creating new pages. This is much faster than using the Select Link form. Change Class to You can now set the class of objects from a popup menu for Included and Non included classes.

-o-

Symbol Details Form


This form shows the details for a single object In the Object Data tab you can seen the first and last authors, version number and the type. The Connections tab shows the connections to the object in a table as boxes around the symbol. The symbol can be viewed at a number of different sizes for convenience.The Align to Grid button forces all the connections to the grid. You can move connection points by drag and drop You can add and delete connections When you try to delete an object connection from the symbol details if the connection is used in the Symbols Script you are prompted that the connection is used in a script and can back out. Multi line connection names can be created in the Symbol Details Connect points grid. Ctrl_Enter creates a line break Order by Posn sets the order of connections in the Connection points grid according to the position p44
ControlDraw Ltd

ControlDraw Manual

rather than Dirn, Name, Type. See also Symbol Data

-o-

Diagram Details Form


This form shows the details for a single diagram. Details include the first and last authors, version number and the diagram type. Each diagram can be associated with a specific matrix. This matrix is then automatically selected in the Matrix form. You can make a diagram polymorphic by setting the polymorphic checkbox You can lock pages so that they cannot be edited. The change history option shows the changes made to the page after page locking was started. You can delete all the unused connections the symbols on a diagram.. Change Tracking - Lock Diagram Once you have locked a diagram then if you unlock it ControlDraw asks "Do you want to track the changes and then relock " If you answer Yes, then the diagram is unlocked and opened immediately. Right clicking will show a menu option "Show Changes since UnLock ". This brings up a form where you can enter a description of the changes. You can also get ControlDraw to list the main changes to objects by clicking the List Changes button. When you close the diagram the same form appears, but closing it gives the option to add the change description to the model history. The diagram is also relocked.

p45
ControlDraw Ltd

ControlDraw Manual

-o-

Copy and Paste Properties


You can copy the settings of a single symbol using the button in the symbol controls. Once you have done this you can make any other symbol or group of symbols the same by using Paste Symbol Properties in the symbol or group controls otr with Global Find and Replace. Then you will see the Paste Properties form where you can select which to paste. The Appearance, Class/Object, Link and Dynamics buttons provide short cuts to select the relevant settings, Paste with connections also copies the connection points into the target symbols. The Paste data button will paste the Symbol data from the copied object. You can see the saved values as you move the mouse over a field

-o-

Data Design
When a model is first created the database is minimal. You have to use Build the Tables in the Data Design form below. This creates all the tables and queries that are need for a data rich model. The Fields tab is where you define the data to be associated with objects and instances

p46
ControlDraw Ltd

ControlDraw Manual

Build the tables Update the database tables to the design. The Numbering and Rules tab is where you can define rules for each class Note - the standard ControlDraw reference model has a good collection of rules and field that you can us

The check box 'Extend Parent' makes a class transparent so objects with that class create no instances and any child instances ignore the object thus making them tag as it they are on the sam e page as the object. Note - if this is set then all other options are greyed out as they will have no effect See also Test Sheets -o-

Classes and Classes and Data Build


Lists all classes and provides buttons to populate the database object and instance tables The form provides tools to populate the database and to set the values of Derived fields. It also provides the ability create and edit classes. See the Data Designer for details on this Selecting a Class and then clicking Class Data shows the Object and Instance Data for the class.

p47
ControlDraw Ltd

ControlDraw Manual

Note - in general hierarchical tags are not required provided good RealTag rules are established. Using hierarchical tags increases the model size.

-o-

Data Views
This form provides views of the data in the model, and some views that cross reference objects in the model. You choose which data you want to view or change with the tab selector. In general you can click a column header to sort by that column. In some views can use the Filter by selection button to reduce the displayed data to just that where the column contains the same value as the last cell you click on before filtering. Double clicking on a diagram number opens that diagram.

You can use the Filter by selection button to reduce the displayed data to just that where the column contains the same value as the last cell you click on before filtering. Tab ObjectTags Instances Connections by Page All Connections Effect Lists all the ObjectTags in the model. Displays all the Instances in the model with their RealTags and External Tag Lists all the Connections page by page in the model Lists all the Connections in the model p48
ControlDraw Ltd

ControlDraw Manual

Objects and Symbols Queries Diagrams Calculations and Set Symbols Set Matrix Steps Clone XRef Inherited Fields

Summarises Generic Objects and Page Tagnames More views including user defined queries, counts and summaries List all the diagrams, you can also set their Locks and Review status all at once Shows the Locations for Calculations and Set States Symbols This lists all the Set Matrix Steps and the diagrams they are on. Shows a table of all clones identifying the Page containing the master and the pages containing the clones See the dependencies - the fields that are set by values Inherited from their parent instances

-o-

User Queries (Favorites)


Favourites are queries into the model, listed in the Data Views queries tab

Some come as standard with the master database. Any Favourites in a reference model are imported when the model is synchronised. And you can add your own using the Query Design form, which appears when you click New or Edit -o-

Object and Instance Data


This form shows the data in the model. You can also use it to Compare and Import data from another model

You can in DataDesign define Special Default values for the fields, these are explained in Automatically Filling Instance Fields You can select a number of rows by dragging and then fill the field with a string of value. Add %n for a incrementing fill of n characters Add /m for start at one after m entries, \m for increment after m entries Start with [Hex] for hex, [Oct] for Octal The fill format is remembered for each column heading p49
ControlDraw Ltd

ControlDraw Manual

Examples c%1\8 One digit number, Increment after 8 - eg 8 channel PLC IO Card [Hex]%2/16 Two digit number, Increment each, hex number - eg 16 channel PLC IO channels

-o-

Show Symbol Data


>Database >Show Symbol Data shows the data associated with the symbols that you click on. You can show the Symbol Data, the generic data (Object data) or that which is associated with each instances of the selected symbol.

Provide you have navigated down to the symbol from the first page by selecting symbols and going down to the child (double clicking,choosing View Child, using the Page Down key or clicking the link page number all do this) then the data for the single instance is shown. If you navigated to the page another way then ControlDraw shows all the possible instances.

-o-

Compare and Import Data


Click the Compare button in Object and Instance Data and select the model that contains the new data. You are then asked "Use RealTag for Matching?" Answer No if the model has not changed structured (eg Object Deleted and then Reinserted, or a level removed) - and the compare will be done using the InstanceID If you answer Yes the compare is done using the RealTag. This provides a way to import data from a model that has been restructured but still produces the same RealTags The Instances table will then be updated to show the changes data, with the current value in [] underneath. After comparing clicking the Import button shows a list of the changed fields with which you can select p50
ControlDraw Ltd

ControlDraw Manual

which fields to import the data from. Imports are recorded in the model history

-o-

Query Design form


This form is invoked from the Queries tab of the Data Views form. You can show plain SQL or a version that parses the SQL (in a limited way) into clauses, but only supports queries into the drawing objects, and does not support Unions (See also Shared Instance Query Builder which does) or other advanced SQL functions. You can design a query outside ControlDraw, in Access for example, and then paste it into the form. Then you can save it in the model. A query is not actually stored as query in the database, it is text in a table field. You can however then save a query directly in the model with the button provided With the Levels set above one you can create multi level queries on the drawing objects, for example all the Recipe Formula Values on diagrams that are childs of Phase objects.

p51
ControlDraw Ltd

ControlDraw Manual

An example is

Note When editing a query in an area model that is from a reference model you are prompted. -o-

Shared Instance Query Builder


If you have instance data that is common across more than one class you can use this form to build the queries to display this data. For example if you have a class for flow transmitters and one for other transmitters this will allow you to build a (read only) query containing the data each has in common, eg Scale and Range. Note - these are read only Union queries To invoke this form select multiclass instances from the Query designer. The shared fields - those that are used in more than one class are listed on the left As you select shared fields, the classes that contain your selections are then listed in the middle. You can choose which classes to include in the middle and include the fields on the right "Multi Class Instances" in the Query Design form calls up the Shared Instance Query Builder. p52
ControlDraw Ltd

ControlDraw Manual

Add ClassName puts the name of the class as the first colum n.

-o-

The File Manager


You can use the File manager to view information about models, import from other models, carry out updates, repair and compact the model. You can change folders by double clicking the folder list or clicking the folder name button. The File Manager remembers the last path you selected in the file manager and restores it when started again. If the model is from and older version, or is read only this is indicated When you click a model in the list of model files the list of pages and matrices are listed, and you can also see if the model is open and if it needs updating. When a Diagram is Referenced it is indented in the list. View Model opens the model in the Reviewer. When you select a page it is previewed - you can click on the diagram preview and it will expand while you hold down the mouse button, making it easier to see the diagram. Use Shift click to see the entire diagram. With the copy button above the diagram,or a right click you can copy the diagram to the windows clipboard. See also shrinking a model Importing from another model Compare Models Complete Update

p53
ControlDraw Ltd

ControlDraw Manual

-o-

Tools Utilities
This form lets you Choose single or multiuser mode Set the default drawing modes Name diagram pages as Page or Figure or whatever Choose the location of the palette database Choose the position of the Page Text Window Copy the class and signal settings to or from the defaults to the current model. Import the class and signal settings from another model To Set the default drawing modes associated with the three mode buttons: Click one of the master mode buttons(the three on the left and then set the appropriate Draw options buttons then click Save.

p54
ControlDraw Ltd

ControlDraw Manual

There is an option to control the text sizing - "Text Height Correction" and "Text Width Correction". These values (in twips) are the amount by which to increase the size of text boxes beyond that needed on the screen to account for scaling differences with printers that could cause some of the text to be hidden. If you find that parts of text are missing then increase the values. Also, symbols with no tag but some user text were not autosizing . ControlDraw carries out checks on the integrity of a model when opening or selecting in the File manager. Specifically it now checks that all the table fields, queries and relationships in the model are up to date with the latest structure. This can be switched off by deselecting "Check Model Structure on Opening" in Tools Utilities, but this is not recommended. -o-

Fonts Form
ControlDraw allows many fonts to be used. All fonts used in diagrams and tables must be defined in styles, a number are provided, and you can add as many styles as you like. Each type of object is initially set to it's default font. Certain fonts are predefined in the default ControlDraw model, and certain font numbers are always used. For example style number 1 is always used to provide the font for a new symbols tagnames and style 4 is initially used to provide the font for the user text. You can add to these from the font styles form, and you can change a Font by clicking on the font button or the colour button, or by typing values into the list.

p55
ControlDraw Ltd

ControlDraw Manual

-o-

Signal Styles
The Signals form is where the default connection properties for signals are set. See also Line Styles Form and the Arrows Form When a connection is first created, it's appearance is that defined for the Signal type for the new connection. The Signal for a new connection is dependent on how that connection was created. If it was made by Linking connection points then the signal is the "Iam" signal for the output at the origin of the connection. If the connection was made by Dragging from one symbol to another then the signal is the default signal for the class of the symbol at the origin of the connection, as defined in the Class Table.

-o-

Line Styles form


p56
ControlDraw Ltd

ControlDraw Manual

Here you can select and define lines styles for connections and symbol borders. You can use the Line Editor to change the style, colour and widths of lines. Unfortunately you can only have dotted line styles with single width lines.

-o-

Line Edit Form


All lines used in diagrams and tables must be defined in styles, a number are provided, and you can add as many styles as you like. You can click the mouse on two areas, one for the line style and one for the width. Click the colour button to call up the colour selector

-o-

Arrows
All connections may have an arrow at each end and in the middle of each segment. A range of arrow styles is provided. They are selected using the Arrows form. You can select with the mouse or by Ctrl_Up/Down to choose the arrow style and Ctrl_Left/Right to select start, middle or end arrows Double Click or enter selects the chose combination, Escape cancels selection.

p57
ControlDraw Ltd

ControlDraw Manual

Example Lines

-o-

Matrix form
ControlDraw matrices are small tables that are typically used to represent the state behaviour of diagrams. These tables contain rows and columns that can be linked to symbols in ControlDraw diagrams and cells that show the required state of a symbol. Matrices can be shown on diagrams with the MatrixColour special symbol Please note - Matrices can also be used to contain data that has been pasted into a model (or even linked into a model) from as database such as InTools, see Imported Matrices See also Matrix Types When showing a matrix, if a tag name of a symbol that is used in a row or column has changed ControlDraw prompts and optionally changes the dynamic type of a Symbol you can transpose twice to re-establish the column types. A button on the Matrix form, Dereference matrix appears if the matrix is from the reference model. When dereferencing a diagram it's matrix is also dereferenced >View > Matrix Data Table >Matrix as Boolean (or Boolean Comma Sep or Integer, Hex or Octal) This provides a list of the values of the rows in the matrix the required format along with the mapping of the bits to the device settings. This assists with the generation of the bit mapping code and data for efficiently programming equipment state matrices in, for example PLC's. Comma Sep causes the boolean table to be separated by commas for each device setting Use Dynamics When this is on, (default) the matrix cells show the state names of their connected symbols in a drop down list, as shown here When this is off you see the underlying data. This is very useful, for example it can make it quicker to fill in large matrices. Colours The colour by value checkbox provides you with the ability to change the colours of cells p58
ControlDraw Ltd

ControlDraw Manual

according to their values. For example if you have an equipment state matrix where the cells correspond to the open and close or run and stop then you can make those cells green for the running or open state and red for the stopped or closed state of the individual items. The colours are set from the Colours tab. Each colour applies to a cell value. At present this is limited to less than 0 (True), 0,1,to 15 and > 15

In the matrix form, when the Check Connections checkbow is set, the rows and columns that are connected to symbols in the model are highlighted by colouring the background of their tagnames. Again, the colours are set from the Colours tab. You can also reconnect symbols or change the symbol to which a row or column is connected. This is done by using the edit menu, or right clicking. and choosing Row Symbol or Column Symbol. You can also use this to find what page the symbol is one, or its class. You must first select a single column or row by clicking the column or row header to enable the Row or Column Symbol menus You can set the font for each matrix from the Matrix form or the symbol controls The Matrices remember their Row heights as well as the column widths You can select several rows and size them all by then resizing one row. The fit to Width button only sizes the selected columns The size and fonts is also used in Special Matrix objects on diagrams, and, optionally in the Printer and Reviewer. The Matrix information Row and Col Link tab shows the connected symbols and allow you to add to them

You can find out all the places where a SetState step in an SFC references a matrix in the Set States tab, and the states that are not referenced p59
ControlDraw Ltd

ControlDraw Manual

The Matrix information tab includes list boxes that show the pages that the matrix is referenced by. The Used By list shows all the diagrams that have the current matrix in their Default Matrix field and the Set State list shows all the diagrams that have the current matrix in their Set State State field. Double click a row to open the diagram.

-o-

Matrix Types
With ControlDraw, matrix row and columns can be linked to symbols on diagrams Up to ControlDraw version 3.3, When a column was connected to a symbol, the column data type and the cell states in the column reflected the dynamics of the connected symbol. This has been improved to better support other types of matrix, such as those that require a few states but a long list of settings, and in addition for setting the symbols contained in a symbols child diagram. Version 3.4 introduced new matrix types. Note - when creating a new matrix you are asked whether it shold be Type 0 or 1, but you can always change later by transposing the matrix 0 Look up Col This is the original type where the column data type (if selected by Use sym bol dynamic type in the Columns tab when the column was added) and the cell states in any cell in the colum n reflect the dynamics of the symbol connected to the column. 1 Look up Row This is like the original type but transposed. The cell states in a cell in the row reflect the dynamics of the symbol connected to the row. All column data types are text. Allow Childs Here the you can create a row or column for a child of a symbol, for example the alarm attributes of a measurement, eg FT123.AHH. This facilitates matrices that go down into the the objects on diagrams that individual symbols have parent links to. p60
ControlDraw Ltd

ControlDraw Manual

-o-

State matrix rows


State matrix rows (or cols, in fact the dimension that is not the lookup source) can be referenced by special SFC Phase/Op Step symbols. For example a step might set an equipment module or unit to a state defined in a matrix row. When a matrix row name is changed ControlDraw checks if there is a Set State SFC Step that is affected (based on the text and the page - matrix links, set in the diagram details) and after prompting changes the step text. The 'Set States' Tab shows all the Set State steps that are associated with the current matrix. They are coloured Green if the State exists, Yellow if it does not or Grey if there is no Set State statement in the step text.

-o-

Matrix Columns tab


Note - this applies to Look up Col type matrices, but is the same in most respects as making Rows. When Look up Child Col type is selected the list shows TagName1.TagName2, where the selected objects are in the child symbols of objects on the selected pages having a class that is in the class list selections.

p61
ControlDraw Ltd

ControlDraw Manual

-o-

Run Mode Controls


See also Run Mode Provided the page is not in Static run mode, the following sequence is performed periodically, at the rate determined by the Simulation Timer setting on the main toolbar. By default this is two seconds. The values of all Symbol inputs are updated from their input connections Each Symbol performs the calculation that has been defined in the Sym bol Dynamics form The values of all outputs are passed through their connections to the downstream Symbol inputs When you click a Symbol a popup list relevant to the Dynamics of the object appears If the object is multi state then a list of the possible states of the object is popped up and you can set the object to any of it's states or enter a value for single data type symbols. See also AutoSFC You can take a snapshot of a collection of object states and save them in a State Matrix, and you can then reload the state from the state matrix.

See also Dynamic Simulation -o-

State Matrix Run Controls


p62
ControlDraw Ltd

ControlDraw Manual

You can save the current state of symbols on a diagram into to a row in a matrix. And you can set the state of the symbols from a row in a matrix. A matrix is associated with a diagram when you first use the form or if you set it up in the page details. Click on Save State to save the dynamic values of the symbols on a diagram into a row of a matrix, and to replay the matrix settings back into a diagram. The form is displayed by clicking on the snapshot button in the main toolbar when a diagram is in Run mode. Apply by Selecting When set the page is set to the state as soon as the state is selected. When not set then you can set the associated Matrix state with the Set button and also copy the current state the selected one.

See also State Matrix Run Controls -o-

The History view


The Version History form provides a view on the history of changes and easy access to the Publish function and the Compare form. There are two tabs, Issue History shows the minor and major issues Issue History

Each Control Draw file has an overall version number. This is automatically incremented each time the file is opened for editing, then changed then closed. Note - this means that if you open and close a file several times during an editing session, the version will increment several times. Issue Number A ControlDraw file has an Issue number, having two parts, Major and Minor. The Major Issue is a number and Minor Issue is a letter, so a model has an Issue like 2C. When you select Minor issue the numeric part is incremented. When you select Major issue the Letter is incremented. and the numeric part is reset to 1 Each Issue or Backup is recorded in the model history. If a previously archived model still exists you can Compare it with the current You can use Reset Version Data to set the version of all the diagrams, pages and matrices in a model back to Zero p63
ControlDraw Ltd

ControlDraw Manual

The Version History tab shows all the records in the history and you can select items that should be stored You can choose to include: Database Builds Database Populated Link Re-Assignments Page Imports Page Order Changes Pages Added Pages Deleted

-o-

Compare models form


The model compare form provides two levels of comparison. The basic level, which appears when you select two files, shows a few key points in respect of the file changes. Then the Compare Button provides a more detailed comparison. You can choose to display the details of the Page, Symbol, Connection and Data changes.

-o-

Compare Form Tree


p64
ControlDraw Ltd

ControlDraw Manual

-o-

Signal dynamics
The Signal dynamics Form lets you control the dynamic appearance of the connections when running diagrams dynamically.

-o-

Picture Selector
This form is used to select a picture to show in a symbol, or to choose not to show one. It shows thumbnail s of the pictures that are available in the model or in the picture paths. ControlDraw stores copies of all the Symbol pictures in the model, provided Embed Pictures has been selected in the Project Options. this is the default, but de-select this option then the pictures are taken p65
ControlDraw Ltd

ControlDraw Manual

from the paths you have defined also in the Project Options form each time the diagram is drawn. Whe embedded, these pictures are stored with a name, that of the original picture file, or if the pictures were pasted into the model with a name like Paste######NN where ######NN is the date plus a sequential number. Each picture must have a unique name in one model (or set including a reference model) The image that is used for a Symbol is initially determined by the object you select to put on a drawing. However, you can change this to any other picture or to one of many shapes. You can easily create your own picture using the Windows Paintbrush program or any drawing package that can create Windows graphics files (bitmaps, gif's, metafiles, jpg files, icons) Paste Special includes Paste Picture into selected Object and paste as new object. If you have just one symbol selected then you can paste a picture into it. You can change the Standard, User, and dynamic picture paths when you are in the picture browser. If you open the picture browser to change an Object picture you can change the Standard or User picture path. If you browse For a dynamic picture from the Object expressions form you can change the dynamic path. Note - If Embed pictures is Set (As per default) In File Properties Options then you can freely change directories and browse for any picture from anywhere On your PC. As soon As you select a picture file it is stored In the ControlDraw file. You can also make the picture in a symbol the Child Page Diagram by checking "Use Child Diagram" In the symbol Details. Tip - an easy way to make a small image with Paintbrush is to use the Edit Copy function - this will create a Bitmap out of the selected area - see Windows Paintbrush Help for further details. Another Paintbrush tip is to set the image attributes to 1 pixel wide and high before pasting, then the bitmap sizes to the image that you pasted. This is very useful when editing ControlDraw pictures. See also Embedded Picture Manager

-o-

Shape Selector
Some shapes but not all can be rotated Shapes do not apply to obects that contain a picture You can select two shapes. After you select the first shape hold down Ctrl and select second shape. The second shape is then overlaid on the first shape, so you can have Diamonds in Circles and other compound shapes. You can also have a double line in a symbol. This combined with the Split tag text placement provides for tags that look very much like those on typical P&IDs.

p66
ControlDraw Ltd

ControlDraw Manual

-o-

Paste Special
This provides the means to copy pictures, text, groups of objects and tables of data from another Windows program into a ControlDraw model. You can also paste copied objects from the open model as clones. If pasting as symbols, you choose what type of symbol the new object(s) should be pasted as using the drop down list in the Paste Special form. If you have a list of objects in the clipboard and select Text in Rows, Paste Special shows the list in a grid and you can choose to paste them as Symbols in Rows or in Columns or as a matrix. If you choose columns then the objects are pasted in columns so that each column fits the available vertical space on the diagram If you want the columns to have more objects then you need to increase the height of the diagram before pasting. Pasting in rows is similar except the rows are sized to the horizontal space on the diagram. If there are more objects than will fit the page the page is expanded vertically if you pasted in Rows, and horizontally if you pasted in Columns If you have just one symbol selected then you can paste a picture into it or turn it into a clone If the data in the clipboard is formatted correctly you can use Paste Special Import as Pages and Symbols

p67
ControlDraw Ltd

ControlDraw Manual

See also Paste Properties

-o-

Database Tagging and Numbering


You can use this powerful form to provide unique tags for all the objects in your diagrams, via their Object and Instance Tagnames. With this form in the Classes tab you can automatically set Object Tagnames and Instance 'Real Tag's for the objects in the model. You define the rules for the Object Tags and instance Real Tags for each class of symbol. Real Tag is used to provide a shorter unique name for an instance than the Hierarchical Tagname. For example, if you have a number of Units, and each has a number of equipment module child pages containing valves then you can make a Tagname like the examples below by selecting Root Tag dot ChildTag with Exclusions - result U1350A.V202 instead of P1350.U1350A.EQB011.V202 Short Hierarchical Tags - result RPB18.UPB46.OPB49.PHB_F.pBuffer instead of RPB18_BUFFER_P1.UPB46_BUFFER_P1.OPB49_PREPARE_3SS.PHB_FILL_PIPE.pBuffer

Object Tag Rules The rules set the object tag as follows Do nothing The Object tag is not changed Default ObjectTag The Object tag is set to the value in Default ObjectTag for the class * Child page name The Object tag is set to the name of an objects Child page Drawing Symbol Tagname ObjectTag is set to the same as the tag on the diagram Drawing Tag Stripped of numbers Drawing tag skipping numbers at the end Class Name Uses the class as the object tag. * Default ObjectTag+Drawing Tag Stripped of numbers Default Object Tag + Drawing Tag Stripped of numbers Child Variant Name The Object tag is set to the value in Default ObjectTag for the class * One per symbol The Object tag is set the abbreviated class name followed by the Symbol ID p68
ControlDraw Ltd

ControlDraw Manual

Child Page Name/Variant Name Gets the name from the child diagram and it's variant Note- if this exceeds 32 chrs it will be truncated. *These settings only result in one object tag for the class

Instance RealTag Rule and External tag Rule These rules set the Real Tag or the External Tag as follows No Tag Tag is set blank Serial Number Sequential number ObjectTag and Serial Number Sequentially number based on the object Tagname ParentTag dot PageTag The Tagname of the parent object Dot the Tagname on the diagram ParentTag The name of the Parent object ParentTag dot PageTag dot Child The Tagname of the grand parent object Dot parent object Dot Tagname on the diagram Root Tag dot ChildTag with Exclusions The Tagname starts with the tag of the lowest Root Class (eg Unit) and includes all the subordinate hierarchy except those where Number Exclude is true Short Hierarchical Tags This sets the RealTag to shortened versions of the hierarchical tag. Each part if reduced in length to the length defined in the (new) ShortTagLen in the Class properties Root Tag dot ChildTag dot Child The Tagname starts with the tag of the topmost Root Class (eg Unit) and includes all the subordinate hierarchy Captions hierarchy sets the RealTag to the Captions version of the hierarchical tag. TagLetsDotRootNumDotTagNum Puts the tagname letter part at the begining of the tag and the tagname number after the unit number part of the tag. Custom Tagging A user definable system. each part (the whole page tag) of the full hierarchical tag can be included in full, excluded or parsed into the number part, the string part or a slice of the page tag. And you can change the order of the component parts of a Custom RealTag, so that for example, the Letters of the primary element precede the Unit number. Tagging Script A user definable system using VB Scripts to get a tag based on each part of the full hierarchical tag -o-

Custom Tagging
With Custom tagging you can define the construction of RealTags and External Tags based on your selections of the contents of each tagname in the hierarchy of an instance. This is used for example to generate tagnames that match typical P&ID tags. They work by parsing the tagnames into parts and then joining selected parts in any order. See also Tagging Scripts - these are more flexible and powerful, but run slower.

p69
ControlDraw Ltd

ControlDraw Manual

Custom Rule Strings RootTag: The tagname of the symbol at the lowest level of the hierarchy whose class is a root EndTag: The tagname of the symbol at the end of the hierarchy For the rest, the number selects the level in the hierarchy Tag Part splitting: NumberPart - the first numeric part of the - tag eg 123 in UN123A NonNumberPart - the first non numeric part of the - tag eg UN in UN123A TextSliceMid :Start#:Len# - Characters as fixed position eg - TextSliceMid:5:1 returns B in "F12ABC", LastLetters - the last letters found after a number, eg B in FT01B :-: puts a - between sections, :-: puts a space etc -o-

Diagram Sorter
The Diagram Sorter, under the Tools menu provides an the fastest way to set the order of the diagram s in a model, and to delete diagrams. A table shows all the pages in the model, their class, whether they are unique (only one instance) and (in the Root column) the Diagram number of the first Parent symbol. These are just for guidance. Reordering is done by selecting a sort option - this creates a new sequence of numbers into the Order column. You can also manually type numbers in. You can preview the new order by choosing the New order option. Sorting does not actually take place until you click the 'Sort Now' button

Sort by Class In this case diagrams are sorted by their class names then Page name Sort by ClassSort In this case diagrams are sorted so that they are in Class Sort order - this is defined in the Classes and p70
ControlDraw Ltd

ControlDraw Manual

Data build form, and only displayed in this form. Hierarchy Sort When this is selected, page ordering follows the hierarchy of the model. If a class has a KeepwithParent setting and you use Hierarchy with keeps then diagram s with the class come next after their parent diagram. Peer child diagrams are sorted according to the LoopID and then the class sort. The 'Unique with parent' and 'Only Unique with parent' sub options determine how the class rules are interpreted. If 'Unique with parent' is selected then a diagram is always placed after it's parent page if is the only child of the parent page or it's class has KeepwithParent true. If 'Only Unique with parent' is selected then a diagram is only placed after it's parent page if is the only child of the parent page. Mark Orphans and Delete now Mark Orphans will set the delete column check box for all diagrams that have no parent or link jumps to them. Delete now will delete all diagrams that have the delete column checked. You may need to repeat this several times to remove all orphans Referenced at Start/End You can put Referenced diagrams at the end or start (ie starting on page 2.) Note - You cannot change the position of the first diagram with the diagram sorter, as this would destroy all instance data. If you really want to change the first diagram use the Diagram List -o-

Model Review
The ability to set classes and to make parent links from symbols to pages makes it easy to quickly build a model. However you can also build models without them being consistent. For example you may have added diagrams or objects without setting their classes. Model review provides the means to check and to a degree automatically make the model consistent It is loaded through the menu >Model >Review in the main menu Tabs select different type of review criteria. Note - in general if you see a page number in Model Review you can double click it to open the diagram. (See also Model Advisor) Parent Class <> Child Shows all objects whose class is different from that of it's child diagram. Generally you would not want that, although there may be exceptions. You can correct these by dragging a Child Class cell to a Parent class cell in the same Row and visa versa to change classes. You are prompted first. Or you can make all Parent Symbol Classes match their child pages with the All Parents to Child button Not allowed in Page Class Shows all objects whose class is not allowed on the class of diagram it is on, according to the Model Rules that you set in Configure Rules Object Class <> Symbol Class Shows all objects whose class is different from the class of the generic object. See Object Tags Orphan Pages Shows all diagrams that have no parent or jump links to them. Page Links Provides a means to see quickly what parent symbols each page. Model Hierarchy See Model Review Hierarchy Non Included Parent Classes Provides a way to find if there are parent objects with classes that do not populate the object and instance tables. Generally you would not want that, although there may be exceptions. You should you link a symbol to a page by a jump link if the link is not intended to produce objects and instances, for example to expand on an explanatory note. Fix Connections It is possible to change connection signals at one end only, so yuo may get the situation that the ends p71
ControlDraw Ltd

ControlDraw Manual

do not match. This will show such casesw and allow you to fix them. Duplicate Tagnames If tagnames for objects that are intended to produce objects and instances duplicated then it will not be possible to generate unique RealTags for them. This will quickly find the obvious case of having the same tag more than one on a diagram. In addition, >Model >Highlight Duplicate Tagnames shows a red line to all objects with the sam e tagname as the one under the mouse. Only objects whose class creates instances are included. Classes in their Parents This will find structural errors such as having a Unit contain a Unit Duplicate Tag in Parent This will find cases where a tagname exists at a higher level in the hierarchy, wich may also prevent RealTag from being unique Lost References Some special objects such as Calculations, SetStates and Clones contain references to others. If you have deleted the original object then the special object will become invalid. Most times you are prompted before deleting objects that have references to them but sometimes this can happen. Lost references also checks all User Queries that are on diagram Class Contents This shows counts of the objects in each class, how many levels down the hierarchy they are and how many there are in each top level (ie the page where you started the review or the first page depending on what you chose) class. It is a useful view on the complexity of a model. (Another view on complexity is provided as a standard Query)

-o-

Configure Rules
This form provides a mean to determine the classes of symbols that are allowed on each diagram according to the class of the diagram. This does not stop you from making diagram that have disallowed classes of symbol on them, but it does provide the means to check, via the model review form, whether there are any symbols that should not be there. Furthermore, if you set your palette to Select by Model Rules then only those p72
ControlDraw Ltd

ControlDraw Manual

symbols that are permitted will appear in the palette.

-o-

Model Review Hierarchy

-o-

Re-assign Links Form


p73
ControlDraw Ltd

ControlDraw Manual

If you find that you have two diagrams that can be combined into one you may need to Re Assign the child page Links. This form makes that possible. Normally this is not required though because Page Importing general prevents duplicate.

For example if you append a model that contains a second set of drivers that were not the same as your original ones then you may get duplicated. You can then use this to m ake the imported symbols use the original driver pages before then deleting the surplus pages. Click Twice on the Pages that are linked to list first on the diagram that you want to keep then the other one and then ReAssign.

-o-

Global Find and Replace


You can use this to Copy the setting of one object to other objects anywhere in the model. Beware as a mistake could seriously damage your model, ensure that you have backups. See also Find Symbols and Paste Properties

p74
ControlDraw Ltd

ControlDraw Manual

-o-

Registration
See Also Licences - Types, Updates and Renewals This is how to obtain a license. Note - if your license has expired and you then install a new version the Registration form opens automatically. If you do not have your order number to hand just put a very short message, or your company name or project name

-o-

Sequence Numbering
Tools Sequence Numbering With this you can: Set the order that the objects will be printed out in Test Tables. Number Sequence Steps and Transitions The changes are previewed on the diagram before you commit them, which is done on closing the form. The Sequential numbering style numbers objects by working through each branch before doing the next branch, the branches are selected according to the order they were made in. The Count increases at each new object. The count then overrides the Tagname sorting in the objects on test sheet tables. The Sequential numbering by position style numbers objects in a similar way, but when a branch is found it works through the branches left to right or top to bottom. With Number before Branching the numbers at a branch are assigned before the branches are calculated SFC numbering is the only option that can change the Tagnames on a diagram. With SFC numbering the Count increases at every transition and the subsequent step has the same number. The SFC numbering style supports one level of parallel branching. Steps within branches are numbered A-B where A is the preceding transition number and b increments from left to right across the branch. The new number is substituted for the old number in the original tagname, so S03_Stepname becomes S##_Step name where ## is the automatically computed number. The old number is the first numbers (including "-") in the original tagname. In order to be recognised as a Step the Class TestTableType should be Step (or the class number 55, the default PhaseOp Step) Similarly for transitions.

p75
ControlDraw Ltd

ControlDraw Manual

If a Step follows a Step or a transition follows a transition then it is highlighted in red.

Setting Normal

Effect on test sheet table Table is derived from the Instance Table for the class, and is in the order of the sequence numbers on the diagram. The table is derived just from the objects on the diagram, and parsed into rows for each line of text in the UserText for the transition. When included on a test sheet table then the table is derived just from the objects on the diagram, and parsed into rows When included on a test sheet table then the table is derived just from the objects on the diagram, and parsed into rows

Numbering The diagram objects are not visibly changed, however the test table is in the order of the sequence numbers The step number increments before each transition, and the numeric part of the tagname is replaced with the step number. The step number is the same as the preceding transition, and the numeric part of the tagname is replaced with the step number. The step number increments and the numeric part of the tagname is replaced with the step number.

Transition

Step

Trans_Step

-o-

About
This form shows the version of the program and the user data.

p76
ControlDraw Ltd

ControlDraw Manual

-o-

Publishing
ControlDraw provides a Publishing facility whereby you can raise the Issue of a model and then archive it for subsequent comparisons. Publishing a CD project is a means of archiving and then setting Issue information in one go. It is accessed from the Files menu or the History form You can also use for day to day backups, as this also compacts the morel The Publish Function, accessed from the File menu or the history view, does the following: Compresses the file and copies it to the Archive Path and sets it to read only. ControlDraw prompts with a file name like Modelname.cnd### where ### is the model version number. You should accept the proposed filename, only changing it if you are using the publish facilities to make a copy with a new name, should you wish to do that. (This might be when starting a new project and making an archive of source material) Records in the History table in the model where the archived copy was made for subsequent comparisons to be made. Increments the Issue number.Increments the Issue number. You can also use the Publish form to just make a back up without incrementing the issue number The Major Issue and Minor Issue option selector lets you choose whether to increment the Major or Minor Issue from the last time you published. The model (and not just the archive) is compacted in the backup/publish process.

p77
ControlDraw Ltd

ControlDraw Manual

-o-

View text only


View text only is partly intended to help with translating a model in one language to another language. View text only is the only place where you edit the Alternate Caption. You can edit the caption in the Symbol Controls or here. includes the option to just show the objects on the current diagram, and only those with captions.

Captions can be up to 128 characters and can be positioned and sized by dragging and dropping. Note that Alternate and Regular captions cannot be shown at the same time (they can be listed in View Text Only) and must be the same size and position. The caption is initially positioned above the symbol.

p78
ControlDraw Ltd

ControlDraw Manual

-o-

List View
This shows the objects on a diagram in list form, where you can select/deselect, change tagnam es, delete, undelete, and also change the front-back order of the symbols on the current diagram. You can select and deselect symbols so when you go back to the diagram they are selected. Note - even if an object has been deleted and there were subsequent actions so that Undo would not undelete the object, the object can be recovered until the diagram is closed. The zOrder is the front to back order. Highest numbers at the front.

See also View Text Only -o-

Find Symbols
When you select Edit Find in Model (Ctrl-G) the find form appears. You can search the model for strings in tags, user text and variant tags using wildcard expressions You can also add the class and picture to the search

p79
ControlDraw Ltd

ControlDraw Manual

This form is also used when copying an objects dynamics -o-

Embedded Picture Manager


If you are developing large models or you want a rotated version of a picture then you may need to use this form. ControlDraw stores a copy of each picture that is used in a model within the ControlDraw file. If you delete objects from a model their associated pictures are not deleted, since they may be needed by another object. However, after a while the file can grow very large, especially if you have pasted pictures from other windows applications. You can use this form to: Find and delete these unused pictures. Rename pictures Rotate pictures Shrink large pictures by changing their file format to GIF or JPG or reducing the jpg quality. Large pictures can arise by using paste special as picture. The BMP format is not compressed and so uses a large amount of data, which makes files larger and slower to process

p80
ControlDraw Ltd

ControlDraw Manual

Shrink button - all pictures that would be smaller are converted, for for example JPG might be converted to GIF. Recommendation - always start by converting to JPG since the quality loss is less. When you click Shrink you have a choise of Test only - this will scan the pictures and advise how much will be saved. You can also export the picutures in the model to a folder -o-

Global Find and Replace


This allows you to see a list of all the symbols in the model filtered according to your selection criteria. It also allows you to change the properties the selected symbols to previously saved values. Take extreme care when using it. When first shown it shows the symbols that match the last symbol that you saved using the camera button in the symbol controls. Enter some criteria and then click List. CD will generate a Tree View of the selected sym bols. This shows each page where a symbol was found and you can click on + to expand the tree to see the tagnames of the symbols on that page. Double click a page to open it Paste then allows you to Paste Saved Properties to the selected objects.

p81
ControlDraw Ltd

ControlDraw Manual

Preview When you click on an item in the tree view of filtered symbols it is displayed here. Saved Symbol Image displayed here. This is the last symbol that was selected when the camera button in the Symbol Toolbox was clicked -o-

Set States Symbols


Steps and Transitions can be set to comprise a list of symbols in the model and their associated settings

p82
ControlDraw Ltd

ControlDraw Manual

See also Calculation symbols -o-

Calculation symbols
Calculation Symbols are special objects with which you can define calculations. They can be used for calculations that refer to symbols by Tagname. The Calculation form is shown when you double click a Calculation Symbols. Once saved, where the text matches a Tagname in the model then that will change if the Tagname changes.

A calculation can be treated as an Expression or a Function. An Expression returns a single value for each line, for example 1 + 1 would return 2. (note - a transition should only have one line) Functions can set symbols in the model - the results are shown in the variable table You can make any symbol a calculation symbol by settings it's ObjectTag to '_Calculation' With SFC steps and transitions you can do this with the right click menu. If there is more than one symbol that matches a word in the text then the priority for finding them is, First look on the page that contains the symbol, then look in the entire model, in the order of the diagrams. Tagnames cannot contain more than two spaces and must be at least 2 characters Tag Dot ChildTag is also supported. The Check button colours the text to indicate operators and Tagnames that exist. If a Tagname is on the same page as the Calculation it is underlined. It also build the list of variables, taking the value from the symbol. The Test button runs the logic, either as an Expression or a Function. With Expression the evaluation runs each line independently and Displays the Result, otherwise the entire calculation is run. You can enter values for testing with. These are then saved with the symbol and become the value of the symbol when running a diagram, and are restored in the value column in the variables table when you next open the calculation. Where there is Tag Dot ChildTag such as XV01.Open the compound tag get the value from the child symbol. An example might be where you want a calculated transition. En expression of (Val1 > SP1 AND Val2 > SP2) OR Override could be used If Val1, SP1, Val2 and Override are objects on the page the simulation should work. It should even work if they are on other pages and you are running multi page. Note - Calculation Symbols are not designed for working with the symbols inputs and outputs, do this in Symbol Scripts.

-o-

Tagging Scripts
With Tagging Scripts you can build a Calculated tag based on the parts of the full Heirarchical Tagname The script is a Visual Basic so you can use complex expressions, using Program Logic such as Case Statements, string functions etc Tagging Scripts can apply to the RealTag and the External Tag when the Tagging Script rule is selected in Custom Tagging. Tagging Scripts return the CalcTag in the script p83
ControlDraw Ltd

ControlDraw Manual

You can refer to the parts of each level of the full Heirarchical Tagname FirstTag - the Top level tag LastTag - the bottom level tag RootTag - the lowest level tag part whose class is a number root RootPrefix - The letters before any number in the RootTag RootNum - The number in the RootTag TagPart# TagPrefix# TagNum# work similarly where # is the level in the heirarchy with 0 at the lowest level. Similarly you can use the captions and classes of the object hierarchy You can also get the name of the parent Instance Real or External tags using ParentRealTag and ParentExtTag There is also a calculation editor that shows when you click the button in Custom Tagging. This provides drag and drop for tag parts and a sm all collection of function - but you can use any VBS code. Tagging Scripts can include the current value so you can leave existing values unchanged using IF CurrentTagValue ="" THEN 'code for new entries ELSE CalcTag = CurrentTagValue END IF

-o-

Understanding the ControlDraw Database


The database contains a large number of tables. The most important table defines the Classes Some define the diagrams; *One table lists them, one record per page *Another related table contains a record for each object on each diagram. *Two more tables define the connections between object, one for the connection points another for the connection route and appearance Some tables define general things *The Fonts *The Line Styles Some tables are specific to the class of an object #The Class Object Data tables #The Class Instance Data tables Data can be stored with each symbol and/or with the Object or Instance The data associated with Object or Instance is stored in tables for the Object or Instance as shown p84
ControlDraw Ltd

ControlDraw Manual

below.

You can customise this part of the database to add any fields that you want using the Data Designer Form See also Objects and Instances You can also store data with each diagram object, see Symbol data Some tables are related only to matrices *The list of Matrices @ The matrices themselves each use a table The Model also has queries (which are automatically built by ControlDraw) for each class of object and Instance. these are Named qryClassNNObjects and qryClassNNInstances where NN is the Class number. @The fields in these tables are entirely created specifically in the model. *The fields in these tables are permanently fixed by ControlDraw #These tables can be customised You can open it in Access if you want to. Do not update older models to a newer Microsoft Access version, let ControlDraw do that, for Access97 (ControlDraw2) models -o-

Objects and Instances


In ControlDraw models data associated with each type of symbols (Object) can be stored in the Object table for the class, and data for each instance can be stored in the Instance table for the class The diagram below shows the organisation of the tables that store the Object and Instance records

p85
ControlDraw Ltd

ControlDraw Manual

-o-

Data rich models


You can store a huge amount of data in the Control Draw database, and there are tools to populate the database on the basis of the objects on pages and the drawing hierarchy. The Database Design form allows you to add fields for storing additional data beyond that which is shown on a diagram and the Data View form lets you populate the data tables based on the objects on the diagrams. You can create records which are linked to individual objects on Control Draw pages. These Object records are created by scanning the objects in a Control Draw file - you can then add data to these object records. You can also create a record for each instance of an object. You have a range of methods Each Control Draw symbol can have a unique Object Database record Control Draw symbols share database records Variants in between these two Object tagname are used to link into the database Object table. This tagname can be manually or automatically generated using the Tag generation functions. This means that you can create a record for each type of object. How far you want to take this is up to you. You can for example create a fairly simple database where for example all measuring elements are defined in one object record. Or you could have a record for each make and model no of the measuring element. In addition, you can create an Instance table. This contains a record for each unique instance of an object record. For example to generate a complete list of equipment, IO, alarms etc. By using the 'Streams' you can assign data to each instance according to its hierarchical position in a p86
ControlDraw Ltd

ControlDraw Manual

model. For example to assign the IO to controllers. The database in an Access database, which can be opened from or linked to from outside Control Draw so you can use your expertise in Access to further enhance you model. -o-

Object Tags
What do object tags do? Object Tags allow symbols and their Instances to be grouped into types within their class. Class Sub Type might be a better name, or SubClass. They provide a means to sub divide the data associated with a class and to make the data that is common to types of objects store with the type rather than each instance, so that the data is entered and stored once, making a more efficient database. Another way of looking at this is to see a class as containing any number of 'generic objects', and instances of those objects. If in Data Design, the field 'Apply to Instance' is not set then when ControlDraw builds the data tables, the field is stored with the Object Tag. So this data becomes Type data applying to the 'generic objects' Are object tags needed? It is not essential to use them at all, and for simpler models they do not add much. However, they are required by the database structure. It is recommended that the object tag rule be set to Text Value unless there is a need to store such type data. This will make sure that only one object tag is created for the class. How many object tags? Object Tags are created by scanning all the symbols on all the pages in the model and adding a record for each unique object tag that is found with a symbol whose class is included. Special Symbols are excluded. So the total number is at least as many as there are included classes. And any of the objects in a class have different object tags then more. NOTE - Object Tags must be unique - even across classes. So it is best to have a rule starting with the SymbolDefault Tag for the class, as this is always unique How are object tags assigned? In general they are automatically assigned using a rule for the class defined in Data Design or Database Tagging and Numbering. They can be manually entered if the rule permits. >Edit >Select Similar >Object tag With this you can select all the objects on the current page that have the same object tag. this is useful for reviewing the model and for making changes to all the objects of the sam e type, for example, you could then make them all the parent of the same object. Examples Measurement Analog Class This class is typically used for Transmitters, Flow, Level, Pressure etc. By using the Page Tag stripped of numbers rule with a model containing FT01, FT02 etc and PT01, PT02 etc two objects are created, FT and PT so you have an object record for each measurement type -o-

RealTags
Each instance can have a RealTag. This is a compound tagname made from the tagnames of objects in the hierarchy of sym bols according the RealTag rule defined for the class. RealTags must be unique. You can set them using different rules for each class or define your own with Tagging Scripts and Custom Tagging See also Database Tagging and Numbering and Hierarchical Tags p87
ControlDraw Ltd

ControlDraw Manual

-o-

Using SQL with ControlDraw models


You can manipulate CD models, and get data from them using SQL. if you look at a CD model in Access you will find many queries already there. Most of these are essential for CD to operate so do not change them. You can however add your own, from ControlDraw or from Access. You can add queries to the Favourites View in the Data View You can show Queries on ControlDraw diagrams with UserQuery special objects You can also use a Front End database. To use a front end Access database it is necessary to link to the tables in the model. For example to replicate a Class Instance view in Access Look up the number for the class in the classes form in Access or the Data Views in ControlDraw Link to the tables tblDrawingObjects tblClasses tblSymbolInstances tblClass##Instances where ## is the number Import the Query qryClass##Instances -o-

Data Entry and Display Methods


There are many ways of adding data to the model and of displaying the data Data can be stored with Individual symbols as Name-Value Pairs - see Symbol Data The Instances of symbols in the hierarchy of the model The Generic Types of symbols - (see Object Tags for a definition) Data can be shown on the diagrams by using Special Symbols Object Specifications show and allow entry of the Object and Instance data. Right click a symbol and select Object Data to quickly call this form -o-

Symbol Data
With the Data tab in the Symbol Details form or from Database Show Symbol Data, you can store a collection of data with each symbol. To show this data on a diagram set the Display checkbox.

If a symbol has symbol data that has the same name as a field in the instances or objects for the class of the symbol then when building objects and instances, the value of the instance (or object) data is set to the symbol data value. The fields are also coloured in the Symbol Data tab of the Symbol Details form. p88
ControlDraw Ltd

ControlDraw Manual

Another special object, SymdolData2, shows the data for that symbol and whether it is in the instance or object tables. There is also Special Objects PageData - this shows all the Symbol data for a diagram in a single list PageData CrossTabTagCol and PageData CrossTabTagRow form tabulated lists from the data -o-

Dynamic Simulation
ControlDraw symbols can be given a formula to relate outputs with to inputs. The values of outputs are sent through the connections to the inputs to which they connect. In addition the object itself has a value - this is then used to animate the object. The Symbol Dynamics form provides a drag and drop interface for defining the objects script and testing it. When a page is in run mode or static run mode then each symbol executes the logic, clicking a Symbol calls up the Dynamics Popup Menu. If the diagram contains steps and transitions then AutoSFC functions are executed so the the SFC can Run with no code. If a page has an associated matrix you can use the matrix in simulations to store and replay the states of those objects on the diagram that form columns in the matrix. This provides unlimited simulation capabilities. Symbol code is programmed in VBScript. Copy to clipboard in the Run form can be used to get a copy of this VBS programme into the clipboard. It is possible to introduce script errors, see Simulation Error Handling for a guide to removing the errors

Global Variables
You can create Global Variables that apply anywhere by declaring them in the Globals Tab of the Symbol Scripting form

Displaying Dynamics
ControlDraw Objects can display their dynamic state in a run mode diagram. A drop down list in the Symbol Type Tab on the Dynamics form allows selection of None Select picture Display Value Height to value Width to Value Highlight if True Display State Name And combinations The selection depends on the Symbol Dynamic Type When you give a symbol Dynamic States using it's Child Page states then these are now ordered according to their layout, working Top to bottom and then Left to Right. See also What Happens in Run Mode See also Calculation Symbols -o-

Run Mode
Run Mode provides a means of simulating real time behaviour of symbols and developing and testing the diagrams. Run Mode is toggled on or off from the main toolbar. p89
ControlDraw Ltd

ControlDraw Manual

The dynamics of Diagram Objects (such as steps in State Transition diagrams) can set entire objects to their states and input-output calculations can set values. When a ControlDraw page is in run mode: The objects have a different right click menu. The Run Mode Control form is shown. Provided the page is not in Static run mode, the following sequence is performed periodically, at the rate determined by the Simulation Timer setting on the main toolbar. By default this is two seconds. The values of all Symbol inputs are updated from their input connections Each Symbol performs the calculation that has been defined in the Sym bol Dynamics form The values of all outputs are passed through their connections to the downstream Symbol inputs When you click a Symbol a popup list relevant to the Dynamics of the object appears If the object is multi state then a list of the possible states of the object is popped up and you can set the object to any of it's states or enter a value for single data type symbols. See also AutoSFC You can take a snapshot of a collection of object states and save them in a State Matrix, and you can then reload the state from the state matrix run form. In order for a symbols script to be valid the following conditions apply: Al the inputs and outputs of a symbol must have unique names. You can use auto-naming to achive this. The script must be valid There is a test function in the Run form. This causes each symbol that has any dynamics in turn to be highlighted in red, tested and then, if it does not fail, changed to green. This is a good way to test page dynamics and find out which symbols have expressions and if any of them have an error. By default this is run the first time you run a page, but it can be switched off by deselecting Run on Startup in the Run form. See also What Happens in Run Mode -o-

Symbol Scripting
Simulation
With ControlDraw you can animate the diagrams by giving objects and connections dynamic properties Objects can be programmed in VBScript to calculate their outputs from their inputs. You can trace the flows of material through a Process Diagram, data flows through a logic diagram etc

Variables
A CD2 object can support a number of variables: IO Variables are the inputs and outputs of the object Any Input that is derived from an object's output that in turn gets it's values from preceding objects is read only. It may be written during the execution of the expression, however it will be subsequently overwritten by the preceding objects output. The outputs are related to the inputs by the expression you enter You can also use local variables within the objects expression. these are not saved between executions of the object expression. If you need to save a variable make it an output or declare it with a Dim statement at the start of the script And you can use the tagnames of objects on the diagram the symbol is on by enclosing them in {braces}- these are listed in the menu You can make a CD object that can drive the other objects on a page to a defined state number from a Matrix. The Expression editor includes a button to make the states of a symbol the same as the rows in a matrix. You can then within a symbols script set the states all of the symbols corresponding to the columns of a matrix to the state given in Row n by using the command. GetRowState(n) Note - the signal type does nothing in scripts, all variables are set as variant type. he Simulation language is Microsoft Visual Basic Scripting. p90
ControlDraw Ltd

ControlDraw Manual

There is Script Editor a button to open the formula in a Script editor. ControlDraw includes the freeware Koan VBScript editor, but you can use any other editor by selecting it from the utilities form. Using the Script editor provides: Visual Basic syntax colouring for (.VBS) Bookmarks Find / Replace Undo / Redo Note that after you enter the Script Editor, you must shut it down to return to ControlDraw The Link and States Wizard makes it easy to create common types of dynamics Global tab : Here you can declare variables and enter code so that Variables can be created that apply to all symbols. You can even set objects so that you could for example manipulate Excel from within ControlDraw In the Globals Tab you can include Dim statements to create Global Variables (these apply across m ore than one page) and also Functions and Subroutines that you can call from your Symbol Script. See the Dynamics demo for examples. See also What Happens in Run Mode

p91
ControlDraw Ltd

ControlDraw Manual

-o-

Symbol dynamic types


Symbols have a data type that is set using the Symbol Type tab in the Symbol Dynamics form

-o-

Scripting Symbol Wizard


The 'Links and States Wizard' button in the Symbol Formula Editor, brings up a display that shows the symbol and its connections along with the script. It there is code in the script that relates input to outputs or 'TheValue' then connections are shown between them. When you click one of these connections the relevant line in the code is highlighted. You can also edit the code and immediately see the effect. This greatly help to visualise what the code does in. The 'Links and States Wizard' parses states into individual sections. When adding states to a diagram whose parent uses Child Page States dynamics the new states are now added after existing states. The Wizard places connection points that are in the same position next to each other rather than on top, making it easier to draw connections. Flow Switch makes a script according to the inputs and outputs of the object. If there is one input and one output it makes an on off flow. If there is more than one input it makes a many In 1 Out switch, conversely a 1 In Many out switch if there is more than one output and one input. Flow Source makes a script for a symbol that has no inputs and one output, such as a material source Flow Join makes a script that sets the outputs to the maximum of the inputs On closing the form, if you choose to accept the changes and the object dynamic type does not match, you are prompted to change it.

p92
ControlDraw Ltd

ControlDraw Manual

-o-

Signal Dynamics
You can apply dynamics to each type of signal. If a signal type has dynamic states then the signal is set to the style associated with the types of signal - you set this using the Signal Dynamics form. This is invoked by clicking the Signal Dynamics button in the signals form. You can copy the dynamics from one signal type to another. First you must delete all the states of the signal, then the Copy Button appears. A list of signal types is shown, and an index number, which you must enter to select the signal to copy from .

-o-

Set Symbol Selector


p93
ControlDraw Ltd

ControlDraw Manual

SetSymbols and CheckSymbols are Special Objects that refer to other symbol states They are set up in this form

The matrix row button converts a matrix row into individual settings, making a row in the symbols for each column in the matrix. -o-

AutoSFC
Automatic Run mode behaviour of SFC and State transition diagrams. In AutoSFC mode the chart logic works thru the states and transitions using the connections in the diagram and standard SFC rules. Steps are activated when a preceding Step is active and the transition between the steps is true. Active Steps are set to - TheValue = True and should do things when TheValue is true. Transitions should evaluate a condition and set TheValue Note - The scripts for these functions are autogenerated by Calculation, Symbol State and Set Matrix objects. ControlDraw decides whether each object is a Step or a Transition as follows Transition definition An object whose class has the Trans setting in Test Sheet Render type or from the standard ControlDraw pallete SFC transition Step definition An object whose class has the Step setting in Test Sheet Render type or from the standard ControlDraw pallete SFC Step Starts, Parallel branches are also recognised but only by their Palette index, ie the Palette object number that was set when dragged and dropped (You can still change it using Paste poperties/ Right click run mode menu options - these are enabled in response to the selected object Force Transition - Causes the SFC to move onto the step after the transition, regardless of the transition's Value Force Active or Force Inactive - Toggle the Active status of the selected step Reset all Transitions. If you have manually set the transitions this resets them without changing the active steps. Reset in the Run form resets the entire chart, deacting all the states and switches the transitions off p94
ControlDraw Ltd

ControlDraw Manual

(although code may switch them on later) AutoSFC is on by default but can be switched off in the run form or in project options. -o-

What Happens in Run Mode


When you Run a diagram, First, or when you click the Reset button ControlDraw generates a complate Visual Basic Script for the page. This includes: Declarations from the Globals in the Script form Declarations from each Symbol A subroutine for each symbol containing the script determined by the Symbol Script but converted to use VBS Dictionary objects A subroutine for to build the the associated matrices A page level subroutine is then generated that calls each symbol in turn. The order that is used depends on the connections on the between the objects, with upstream objects being called before the downstream ones. Note that if there is a loop this may not produce the fastest result.

VBS Dictionary objects - these are data arrays that map to the symbols on the diagram into the script using the unique id of the diagram object. The Symbol and matrix scripts are translated by by changing names to their dictionary values Each Symbol becomes an entry in Dictionary ObjVals eg TheValue maps to ObjVals("Obj+Symbol ID") Each Symbol input or output becomes an entry in Dictionary Params ("Sig+Connection point ID") Each Connection becomes an entry in Dictionary LinkStates ("Lnk+Connection ID") For SFC's: Each Step becomes an entry in Dictionary dicTokens ("tok+Symbol ID") Each Transition becomes an entry in Dictionary dicTransitions ("tra+Symbol ID") Each Transition becomes an entry in Dictionary dicSFCBranches ("bra+Symbol ID") Note - For SFC Steps, the code is only executed when the step is active -o-

Procedure Charts
>View >Procedure Charts There are many ways of using Procedure Charts. The original intent was to provide a means of producing a step table of the procedural elements mapped to their equipment. And this is exactly what you can do. In the URSWriter (where the charts first started) that is all you can do with them at present. Procedure charts are tables that have Pages as columns and object tagnames in the cells. For example if a Unit has three operations that it can perform, and the Unit diagram has these operations as objects on the unit diagram then the procedure editor can provide a list of operations to run on each step. In edit mode it provides a drop down list to select the operation to run on each step. However, with ControlDraw, there are other things you can do with them. They provide a quick way of defining for example Unit States mapped into child Equipment states. Procedures charts are very much easier to produce than PFCs, or even state matrices. You can select what goes in the cells for a given column as either RCP/UP/OP or by class. If you select the procedural objects then those that appear in the drop downs when you click a cell are the objects on the diagram whose class type is Step-Trans. By default ControlDraw models set this for those objects that behave as if they have both a step and a transition, for example phases, operations and unit procedures. This same property by the way is what makes the PFC right menu functions recognise them. p95
ControlDraw Ltd

ControlDraw Manual

Procedure charts have no way of showing synchronisation between equipment, however there is a workaround means of adding notes. Create a diagram for step notes and then give them a class such as MemoryString.

At present procedure charts do not have any dynamic functionality and cannot be used for simulations. -o-

Start a Model
OK, you have to write a complete specification for a project. You need to: List, specify and procure all the instruments Define all the control loops Define all the Procedural Logic Define all the Safety Logic List and allocate the Control System IO. Get the end user to agree with all the user interface aspects Deliver quality, auditable documents to your customer Of course you could start by purchasing an introductory model from ControlDraw Ltd. We can introduce you to the product by modeling your process and delivering the promise of ControlDraw. But if you want to do it yourself, you can use a ControlDraw Start Template as a starting point, and the examples as references. You can even import parts of the samples into your application. And this is a good place to start in getting into CD quickly but in some depth. If you really do not want to spend a few minutes then go to In at the Deep End. If you do do that then please revisit the sample files occasionally. When you start a new model, CD offers to start with a template. Templates are small CD models that include sample objects and 'To Do' notes to guide you through the production of a model. Some start models also includes starting points for the instance and object databases. Note - Since the start models are standard CD files, this means that you can design your own start models for use as project standards. This is recommended rather than standardising the palette. You choose a template and enter the project details with the Template Selection form

p96
ControlDraw Ltd

ControlDraw Manual

-o-

Create Diagrams
When you first start a diagram, it is empty. You can then use a predefined template or just draw the diagram by drag and drop from the Palette To use a predefined type Right Click You can choose from various types of diagram.

Contents Notes When you create a diagram from empty using the Right Click menu, it also sets the diagram class and type - which otherwise you have to set in the diagram details form You can also insert a predefined template from the Collections tab in the Palette , even when the diagram is not empty. This does not affect the page class -o-

Edit Diagrams
p97
ControlDraw Ltd

ControlDraw Manual

Adding symbols to a diagram Use drag and drop from the Palette Copy from other symbols. These can be on another page or from another model. (you can run two instances of ControlDraw and copy from one and paste in the other.) To add notes you can select Note Creation Mode

Make connections between symbols Drop objects into connecting lines -o-

Make Connections
There are 3 ways of making connections 1 Connecting predefined points In this case you must select Line mode. When you move the mouse over a symbol, all of it's predefined connection points appear. Click on one of these and then as you move the mouse the connections for other symbols are made visible. Provided they are compatible you can make the connection. 2 Add New from one end This starts the same as when connecting predefined points however you can then click on a symbol and make a new connection to match the one you have started. ControlDraw will prompt to make sure this is what you want to do. 3 Drag from centre to centre of symbols In this case, a new connection is made. this adopts the default signal for the class of the symbol at the origin of the connection, as defined in the Class Table. Note With methods 1 and 2 you can also connect from a symbol on one diagram to a symbol on another. Open two diagrams and you can start from a connection point for a symbol on the first diagram and end on a symbol in the second diagram. You must be in multi window style to do this. See also Signals and Connections, Drop objects into connections and Connection Controls

p98
ControlDraw Ltd

ControlDraw Manual

-o-

Drop objects into connections


You can drop objects into connecting lines. It works with symbols that are already on the diagram or when dropping new symbols from the palette. If the symbol has 1 or more inputs and outputs with the same signal as the line then the Insert in Line option becomes available. The default signal type for the class of the object must match the signal for the connection. You are prompted when the symbol is released and the cursor is above a connection

p99
ControlDraw Ltd

ControlDraw Manual

-o-

Swap two symbols on a diagram


You can drag an object onto another. If they are the same class and not class None then you are prompted "Swap the Objects", if you choose yes then the two objects are swapped with each other. If you choose No then the moved object is left where you dropped it. If you select Cancel then the move is undone You can also force the Objects to swap even if they are a different class. To do this start dragging then hold down shift before dropping.

-o-

Import as Pages and Symbols


It is possible to import a complete collection of symbols and child linked pages . You can set the tagnames, classes, pictures, positions and sizes of the symbols, and you can set child page links too. The data must be in a defined format, this is provided with examples in the Excel file ImportSamples.xls included in the ControlDraw Samples folder. When you copy such data into the clipboard and then Select Paste Special a button appears named "Paste As Pages and Symbols" There are many cases where this might be useful. To import a sequence of steps and transition. When reverse engineering from an existing system. When you have a suitable data export from a PID package

-o-

Import a Matrix
p100
ControlDraw Ltd

ControlDraw Manual

You can Import a Matrix as shown below

-o-

Importing Diagrams from Another Model


You can import not just pages but whole models as the import proces retains the page links that exist between imported pages. It is done using the Import button in the file manager. First open the model that you want to import into. Then go the the File Manager and point to the model that contains the top level diagrams you want to import, and select them. Then click Select Child Pages so that all the child pages of your selection are included too. Then Click Import - you are prompted to select the model to import into, this is preselected to the last model you had open. Now, if ControlDraw finds that a page being imported already exists in the model being imported to, it detects this and then provides a dialog where you can choose to: Use Current Diagram Replace Current Diagram Import as New Diagram Use Existing Diagram Cancel importing. If you choose to Use Existing Diagram then all the links between objects in the imported diagram and child pages that already exist in the model are assigned to the existing pages. For example if you import an Equipment model and its child pages and the child pages include valves, motors etc that already exist in the model you are importing to then these will be used. Replace Current Diagram updates the model with the version of the diagram in the imported from model. This depends on the GUID field for a diagram - the globally unique Identifier, a new field that is unique for every new diagram created anywhere. If the model you are importing from uses the same reference model, then referenced diagrams are automatically shared you do not get duplicates. p101
ControlDraw Ltd

ControlDraw Manual

When importing a diagram any associated Matrix can also be imported. The Import Associated Matrices check box on the File Management form determines whether the matrix in the source model is also imported. Provided all the symbols that are referenced in the original matrix are on the same diagram then the linking between rows and columns in the matrix and symbols on the diagram is retained in the imported matrix. At present, if your matrix is not associated with a page or if a row or column references a symbols on a pages other than the one that is associated with the diagram you are importing then the row or column will become disconnected. If you do find that you have duplicates after an import then Re-Assign links, available from the Tools menu, allows you to change all the links from symbols to diagrams in one go. For example if you append a model that contains a second set of drivers then you can use this to make the imported symbols use the original driver pages before then deleting the surplus pages. The Re-Assign Links form in the model menu now has an option to sort by page name so that if you have for example imported another model that also contains the same driver pages then provided they are named the same (eg On/Off Valve with ZSO) the diagrams are listed one after the other. -o-

Publish a revision
Who is it for? See The Publish Function, accessed from the File menu or the history view -o-

Draw using a P&ID


A way of starting a model is to use the existing diagrams (such as P&ID's) as background images and then overlay objects. For example, you can put a P&ID into the background of a diagram (using Paste Special) and then place objects on the diagram. This has the advantage that you do not have to connect the objects. (This is a mixed blessing however since the connections between objects can be used to add value to the model and for simulation.) Typically, the P&ID is used temporarily and subsequently the symbols are moved into other diagrams with a better structure that the P&ID has - as P&ID's are flat and rarely S88 based for example with one for each Unit If you also have an Instrument index (some P&ID CAD packages provide this) then you can copy from that and paste the onto the diagram using Paste Special. Once it has served it's purpose the P&ID background can be deleted. Tip if you want to keep your original P&ID based diagram but have the objects shown in a different structure (for example a page for each Equipment Module) you can use clones of the sym bols on the P&ID overlay. (Copy and Paste Special as Clones) You can then make those in other page the masters (Right Click Make this clone the Master) so then P&ID overlay has the clones. This can provide a graphical cross reference from the P&ID to the System Modules. It can also be used as a means of defining the Graphics in the target control syste,. Linking to P&ID data You can use External tag so that the tags on the P&ID can be related to the instances in the model. ControlDraw provides a variety of methods to generate an External Tag that matches the P&ID tags If you have a Tag Database such as an Instrument List or IO List you can use this tag to link between a CD Model and Tag Database. An Import Export tool is available from ControlDraw Ltd that allows you to import, export or compare the data in the two. -op102
ControlDraw Ltd

ControlDraw Manual

Rapid Model building


If you have a lot of data in other files it is possible to greatly accelarate the process of building a model. You can use diagrams from other models You can import pictures from other programs You can import lists to create the symbols on a diagram. For example, you have an equipment list in Excel. Then go through the list in Excel to get just the items you want in the model. Then sort the rows into the different types of equipment. Then copy each set of the same equipment type from the spreadsheet and use paste special , selecting an appropriate symbol to import each type as. Then you can move the symbols onto the various diagrams Don't worry about getting it right first time, you can easily rearrange the model at any time. For example, you can : Change objects including their classes, links, appearance etc using Copy and Paste Object Properties Move objects to other Diagrams Change Diagram classes Tips - Use Model Review to check your model without having to look at each diagram Frequently use Database Build and see if the results make sense

-o-

In at the Deep End


Instant modelling! Get the flowsheets, P&ID's and source material. Electronically if possible. File New Start a new model. Show the Palette Drag a few objects onto the page to recreate the important parts of the flowsheets. Give them tagnames. Use alpha-numerics ones such as U123 (a unit) or V325 ( valve in a unit) You already have an equipment list? Great. Load it into Excel, a Word processor table or whatever and Copy it. Then choose Paste Special in CD. You should see a list much like the table you started with, but only the first 2 columns. Choose a symbol type (eg Unit) to import the objects as. If you don't they will be imported as notes. You can now paste all the objects into the model. They can all be placed on one page, or a whole new set of pages can be created. What next? Try to draw on page 1 a very simple block diagram of the process. Then make more detailed a diagram for each block on page 1, by adding child pages to the objects.

p103
ControlDraw Ltd

ControlDraw Manual

Do you have a specification from your client? OK, import it into one of ControlDraws RTF text fields.Perhaps the project details. Run the RTF Editor to edit the File Wordy bits You can spend time building completely new pages or you can use the ones in the sample models and then modify them to your requirements Or start with a template - providing a start model with helpful notes and predefined classes and diagrams -o-

Navigate the model


There are several ways of navigating around the diagram pages in a model: The Navigate Menu allows you to move quickly between the diagrams in a model First Shift F1 Previous Shift F2 Next Shift F3 Last Shift F4 Diagram List Go to Diagram Shift F6 By Class Shift F5 -select diagrams according to their class Up to Parent PageUp Down to Child PageDown Show Outline Ctrl-T Pick from the List of diagrams in the PageList Window Double Clicking a parent object or single click it's link to open it's child page Use the The Outline form to go to any of the objects child pages or parent page Use the Page Browser which shows all the diagram pages as thumbnails images -o-

Change the Diagram Order


All the diagrams in a model are numbered sequentially, starting at 1. As you develop a model you will find that you want to change the page order, on order that prints are in a coherent order. You can change the order of the diagrams in a model in several ways Change one Diagrams position by using the up/down keys in the list of diagrams Change a group by dragging and dropping in the Page Browser Change the entire model by using the Diagram sorter, where you can use smart functions to make the order follow the contents of the model -o-

Build and update the Data tables


Use the Data Designer to set up the fields you require. Then click Build the tables Then use Make objects and Instances from the Data Views Then you may need to run Database Tagging and Numbering -o-

Create Recipes and Link their Procedures to Equipment Control


In ControlDraw a Master Recipe Design can be defined by having a Top Level Recipe Object containing Objects such as Master Parameters, a Header and a Recipe Procedure with in it's Child Hierarchy a Recipe Procedure diagram containing Unit Procedures, containing Operations containing Phases. p104
ControlDraw Ltd

ControlDraw Manual

At no point in ControlDraw do you have to link it to the equipment. But if the Recipe is to use automated functions in the Equipment (ie EPE's such as Phases ) then the Recipe should show how this happens. With ControlDraw you can link your S88 Recipes to the Equipment at the Phase, Operation or Unit Procedure Level You can do this as follows: For the Recipe Formula parameters such as the Set Points, Material Quantities etc use Descended Object Links to link the master recipe value to the Parameter in the Phase that actually Sets it. (> Tools >Custom Tools >Defer Functions can make use of this to help extract data for Batch Managers) For the Procedure, you can use 'SymbolCopy' Special symbols for the Equipment Procedural Element that the Recipe Procedural Element uses, and/or Link the Recipe Procedure Phase to the Child Diagram for the EPE ControlDraw can can do this as you draw! in Project >Options >XRef and PFC Options >When Adding PFC Steps Prompt to use existing Equipment Procedural Entities When this option is set and you add a step to a PFC diagram by Right Clicking a step then your are asked "Use existing Equipm ent Procedural Element?". If you answer Yes then all the EPE Child Pages are listed and you can pick one from them. Then the new step will be a parent of the same EPE and have the same name. "When Adding Equipm ent Procedural Elements, use SymbolCopy" In this case the EPEs are listed even where they do not have child diagram s and the new step is made as a SymbolCopy. This provides a closer link to the Equipm ent Control. Note- the souce object must have approprate connection pointS for the added EPE to connect into the chart A standard User Query, Equipm entProceduralElements lists all operations and phases that are on Unit and Equipment Module diagrams (Actually those on diagrams for classes that have the CanAcquire flag set) See Linking Recipe Procedures to Equipment Procedures for a diagram explaining this

-o-

Linking Recipe Procedures to Equipment Procedures


The diagram shows how you can build recipe procedures by using the equipment procedural elements, and use special symbols to deduce the equipment that the recipe procedures refer to

The Recipe EPE Requirements Special Symbol produces a list of all of the Procedural Elements (typically Phases and Operations) on Equipment Diagrams (typically Units and EM's) that are referred to by the p105
ControlDraw Ltd

ControlDraw Manual

Procedure on the diagram. The Recipe Equipment Requirements Special Symbol show just the equipment without the EPE's An EPE (Equipment Procedural Element) is a an object whose class has the Type set as Procedural that is contained on a diagram where the diagram class Has the Type set as Normal. If the EPE is also shown on a diagram whose class has the Type set as Procedural eg Recipe Procedure, Unit Procedure, Operation or Phase then it is deduced that it is a Referred or Shared EPE An RPE (Recipe Procedural Element) is a an object whose class has the Type set as Procedural that is contained on a diagram where the diagram class Has the Type set as Procedural If the EPE is directly referred to by using a SymbolClone or a SymbolCopy special object in the Recipe Procedure and it's Descendants then it is shown as (Referred) If the EPE is not directly referred to but is the parent of an EPE that is also the child of an EPE on an equipment diagram then is is shown as (# Sharing) where # is the number of equipment diagrams that have the EPE. -o-

RTF editor Form


You can edit the all the RTF text with the ControlDraw RTF text editor. RTF text is used for the Page Details, the Overview and Description text and the Class Text This is accessed from File RTF Editor in the main menu or from buttons on the Diagram details and Project details forms. The RTF text editor Supports Font name, size & colour. Bold, italic, underline, strike-out, super & subscript text. Page breaks (visible text that is replaced by a break when printed) Indents, tabs, Left, right, centre & bulleted paragraphs Pictures. RTF text editor does not support: Drag & drop editing Line & paragraph spacing Tables (you can use tabulated columns) Ctrl-Shift-> Enlarges the selected text and Ctrl-Shift-< makes it smaller

p106
ControlDraw Ltd

ControlDraw Manual

-o-

Getting Started
When you start ControlDraw you are presented with the Login Form. Here you can choose Simple Menus, which is recommended for novice users. The first time that you run ControlDraw this is set by default. However this hides some menu options and is only intended for a short period of use. Creating a Diagram Create a new model using a template -o-

Creating a Diagram
When you first start a diagram, it is empty. You can then use a predefined template or just draw the diagram by drag and drop To use a predefined type Right Click

. To draw by drag and drop, Display the Palette -o-

Guidelines for Diagrams


Try to keep the size within the paper size
ControlDraw reduces the size of diagrams to fit the printable area, however, scaling problems with Mr Gates software can cause the text to be truncated if a diagram is scaled down. This is made worse by some inherent limitations with scaling in Windows, which can cause text to be truncated if a diagram is scaled down. In order to see how much the diagram will be shrunk the Diagram Toolbar has a button to size the diagram window to the printer. Try to keep the diagram proportions similar to the paper orientation. When shrinking to fit, ControlDraw looks at the diagram width and height and then shrink so that both fit on the paper. So it is best to organise the diagram to occupy the maximum area possible accounting for the page orientation, with the same height to width ratio

Limit the number of Objects in early stages


- up to 10 major and 50 minor objects per diagram is a reasonable guide, as detail increases you can go higher than this. No more than 6 instantiating object classes per diagram class is another guide. See also S88 Modelling Guidelines p107
ControlDraw Ltd

ControlDraw Manual

-o-

General Modeling Guidelines


Use the Classes, consistently, use Model Review to make sure that you have been consistent, if you get a problem think about using a new class to solve it. Ensure that there is a single path down the hierarchy to each single entity that you need to specify or record data about.

Use Two Models


Have one purely Hierarchical Model (the detailed analysis). Have another model, the methodology model that defines the analysis definition principles for demonstrating the general methods to be used. You can also use this as the reference model. Start the Rules and the detailed models at the same time (they can even be in the same file, but eventually you will want to split them). In the early stages you can concentrate on the rules, using the 'detailed' model as an estimator, test bed and demonstration. As the rules become sufficiently detailed you can concentrate on the detailed model. Rules models have a first page Table of Contents that is linked to the other pages by 'Jump Links' Detailed models have a first page that contains objects that are linked to the other pages by 'Parent Links'

Hierarchical Models
The first page is the Root. Only objects that are descended from objects on the first pages are included in the Instance tables. So at it is essential that page 1 is the top of the hierarchy. Do not have unnecessary levels. For example a page one that has one object called Procedural Model and one called Physical model. You can easily have a number of each type of object on page one. Use Class and data build frequently, from day one. Do not worry about redoing it later. Only start populating the Class Generic and Instance tables when you have firm information. Once you have, you can still regenerate the tables, but it is slower. See also S88 Modelling Guidelines -o-

Numbering systems
Try to keep instantiated tag names short. Remember that not so long ago printers were limited to 80 characters across a page! The limit on a page tag is 32 characters For a 'RealTag' it is 128 characters For a hierarchical tag it is 255 characters For an External tag it is 50 characters With 16ch tag names the Real Tag the limit is 5 levels. And the hierarchical limit is 15 levels. (The InstanceID, which is the actual limit is 200, so the maximum number of levels is 40 or so. The RealTag tagging will fail first, so you will need to reduce the levels if you use long very long tags) For objects that are not instantiated (for example notes) there is no reason to limit the tag length below this number. For Instantiated objects the shorter the tag name in the object and it's parents the shorter it's Unique Instance tag will be. See also Database Tagging and Numbering Custom Tagging Tagging Scripts -o-

S88 Models

p108
ControlDraw Ltd

ControlDraw Manual

-o-

Publishing and Making Backups


Make back-ups often. This may be weekly, daily or even Lunchtime and evenings. It depends on the level of work being done on the model A general rule is to backup (which also compacts the file) at least once a week, or if the model doubles in size. Before publishing lock the pages that are included in the issue so that they cannot be accidentally edited. In order to edit a locked diagram you must unlock it, this will record that in the version history (unless you have de-selected the option). To Lock pages so that they cannot be edited, go to Page details and change the lock status by clicking the Locked check box. Note - If you change a page lock status, all open diagrams are immediately closed. In the project details Users tab you can see which pages are locked. If you change a lock status this is recorded in the project history. Notes See Publish The History view The History view shows the major changes to the model and the issued versions and allows you to go to the compare form where you can see the differences between a previous version and the latest one. When upgrading a model to the latest structure version, the History also records the details of what was added in the Model version history. The History form provides simple facilities for maintaining your backups of previous versions of a model. You can delete files from the archive and store a reference to when and what was deleted. You can from the View History (Issue tab) completely reset the version of all the diagram pages and matrices in a model back to Zero. -op109
ControlDraw Ltd

ControlDraw Manual

Managing ControlDraw Files


Note - Path and Folder are used inter-changeably. See The File Manager Recommended Procedure Use the Standard .cnd extension Set the Archive path to the same location for all models. If running multi-user make it a network path that is shared by all users. Before distributing a model (For example before an Issue for Client Review, or Issue for Coding) Raise the issue of the model using the ControlDraw Publish function. ControlDraw prompts with a file name like Modelname.cnd### where ### is the model version number. This is to ensure that you have a unique name and to be able to keep a historical archive of files. Normally all you need to do is accept the file name that ControlDraw offers you. When Printing or distributing a model Print from and send copies of the Archived Model (not the current model.) Before Review Meetings Make a minor issue of the model. Then conduct the review meeting using the Print and Review program with the Archived model. Then all comments made (assuming you use Print and Review to record comments) will be referenced to the version of the model against which the review was conducted. (You can also generate most of the minutes of the review meeting this way) Use the ControlDraw backup regularly. Normally if you are just backing up, all you need to do is click the Backup button and then accept the file name that ControlDraw offers you. Compact your models ControlDraw regularly. As you add and delete symbols, matrices and data your file can become fragmented and use disk space insufficiently. This is particularly acute when running Multi-User. Compacting the file rearranges how the file is stored on disk to shrinks and speed up the file. Compacting can take a long time - but not normally more than a minute or two. You can compact a file from the File manager. Or you can set in Tools Utilities to compact on Exit. Use Tools utilities to clean up your models. As you add symbols (other than plain shapes) their picture files are stored in the ControlDraw file. If you then delete the symbols or change their pictures, the old pictures, which may no longer be used, are kept in the model. You can remove them using Tools Utilities Delete Unused Embedded Pictures. Archives The Archive path is where you can set a folder for storing copies of the model when you made and issue. You can see the current Archive path in project options or when making a backup or publishing Ensure your network or system's normal daily back-ups back up your Archive folder. Note - making the Archive Folder 'compressed' is good idea if your system supports compressed folders. (ControlDraw models generally shrink considerably when compressed.) See also Publishing and Making Backups -o-

S88 Modelling Guidelines


See a diagram showing S88.01 Modelling with ControlDraw This shows one example of how pages and symbols can be arranged to match the S88 phsysical and procedural models. Notes Operations may belong to units or they may only exist in the Batch manager. p110
ControlDraw Ltd

ControlDraw Manual

This is a typical design decision. Most batch manager support either approach. In ControlDraw you can choose for yourself whether to instantiate the operations in the Units or in the Recipes. Phases nearly always belong to Units or Equipment Modules Most batch managers assume the phase logic is in the Controller, be it PLC or DCS. And so Phases should be instantiated in the Units or Equipment Modules, not in the Unit Procedures. The Units should have Parent links whereas the Unit Procedures should have Jump Links (IE referenced by rather than owned by.) Note however that you may have phases in the batch manager that are not in the Controller, these are generally called soft phases. Observations from commercial procucts From DeltaV Batch Control Software Spec "Delta-V's Batch control software provides full analog, discrete and sequencing control within a single Delta-V controller. In addition, Phase Logic Modules make creation of multi-state phases integrated with recipe management and execution a breeze. ... The Phase Logic Module, included with the Batch controller, manages multiple states of a batch phase. The Batch Executive handles phase co-ordination and communication with basic control functions processed in the M3 or M5 controller." IE the Phase control is part of the Controller, Not the Batch Manager This is why I put the phases in the Units, specifically under the units in the Physical model. The Unit procedure is part of the Recipe. Phases do not care what recipe they are working with. From Wonderware InBatch spec "Equipment Processing Capabilities: Units that have the same processing capabilities are in the same Process Class. Each Process Class, and therefore each unit in the Process Class, has processing capabilities that are defined by Phases. Each Process Phase defines a process action, such as: mix, heat, cool, cook and agitate." IE the Phase capabilities of the Unit determine the Unit Class, And so instantiating the phases in the Unit diagrams ensures that you can easily identify the Unit Classes. Furthermore the method means that recipes are generic. You can even make a matrix to define specific recipes -o-

Tips and Tricks


Use short automatic Tagnames, and Variant Tagnames You can draw an equipment module or unit and not care about the actual Tagnames. Later you can add the Tagnames as Variant tags. This means that you can start to write the detailed descriptions using Tagnames even before the P&ID or instrument people have defined them and still keep the integrity or your description by adding a lookup table (you can use a Variants Table special object) as a cross reference. Use Page change tracking. Do you need to manage small changes under heavy version control? With page change tracking you can lock a diagram, and then record and add notes to every change you make to the diagram. Once a diagram is locked then unlocking it from the page details form prompts: "Do you want to track the changes and then relock?" If you answer Yes, then the diagram is unlocked and opened immediately. Right clicking will show a menu option "Show Changes since Unlock ". This brings up a form where you can enter a description of the changes. You can also get ControlDraw to list the main changes to objects by clicking a List Change button. Creating Pictures An easy way to make a small image with Paintbrush is to use the Edit Copy function - this will create a Bitmap out of the selected area - see Windows Paintbrush Help for further details. Another Paintbrush p111
ControlDraw Ltd

ControlDraw Manual

tip is to set the image attributes to 1 pixel wide and high before pasting, then the bitmap sizes to the image that you pasted. This is very useful when editing ControlDraw pictures. Use Sequence numbering You can use Tools Sequence numbering to automatically number the steps and transitions in SFC and PFC diagrams. In order for this to work, the Class of the Steps and transitions should have an appropriate setting for the Test Sheet Render Type: field in the Data Designer. Note - this field was first introduced to determine how to represent different classes on test sheets, but has grown to be even more useful than that. Dont Cut and Paste - Move

Tip - Build an IO List


Why build an IO List? After all, you may already have P&ID's and an instrument dept to do that. Because: You can only relate procedural objects to the physical plant in a computer model if the model includes the physical plant. The IO list in ControlDraw takes much less time to do than the instrument index based list, so the cost is low compared with the instrument based one. If the counts in the model are close to those someone else has produced then the model is far more likely to be physically accurate. Cross checking the two is an early test that takes time but save the time that would occur later at far greater cost, for example during testing. It makes sure that the modellers understand the plant in detail. -o-

Don't Cut and Paste, Move


The Group and Symbol Toolboxes include a button to move selected objects to another page. Note - this is much quicker than cut and paste and also better, because Cut then Paste will cause a Removed and then an Added record in the list of Symbol Changes when doing a compare, whereas when moving objects this way a compare shows the change as a page number changed. If you have a model containing a lot of data, moving objects to antoher diagram it destroys all instances that are related to the object. (if you have a recent backup and good RealTags the lost data can be reimported using the Object instance data form) cutting and pasting an object on the same diagram is even worse, as it destroys all instances that are related to the object. Do copy and paste to create new object of course. -o-

LICENSE AGREEMENT
See also Licences - Types, Updates and Renewals Please note - if you do not have a prior agreement with ControlDraw Ltd, you may not use sequential sessions with the ControlDraw evaluation license on commercial projects. Neither may you use ControlDraw evaluation licenses to increase the number of people working on a commercial model. This is a legal License Agreement between you and ControlDraw Ltd. Carefully read all the terms and conditions of this agreement prior to using ControlDraw 2. By using this product, you are agreeing to be bound by the following terms and conditions: 1.OWNERSHIP p112
ControlDraw Ltd

ControlDraw Manual

ControlDraw (the "SOFTWARE") and accompanying written materials are owned by ControlDraw Ltd (the "LICENSOR") and are protected by copyright law and international treaties. 2. LICENSE FOR EVALUATION VERSION When you install a copy of the SOFTWARE without providing the appropriate license (which may be contained in a file obtained from ControlDraw Ltd, or previously a "Key number"), the SOFTWARE will be installed as an Evaluation Version. When you use an Evaluation version, you may be prompted by a the ControlDraw About box explaining that you are using an Evaluation Version of the SOFTWARE. You may use the Evaluation Version of the SOFTWARE for evaluation purposes for 45 days. You may copy and distribute it freely as long as all the files in the package, including the sample files are distributed with it and no changes or additions of any kind are made to the original package. You may not use sequential sessions with the evaluation license to use ControlDraw on commercial projects.

3.FULL LICENSE To get a full license of the SOFTWARE you have to order a full license of the SOFTWARE. If you pay the license fee and if you agree to the terms of this agreement, the LICENSOR grants to you a license to: - use the SOFTWARE on a single terminal connected to a single computer by one person at a time. - have the right to a technical support vial Email for a period of 12 months or whatever other period has been agreed from the date of purchase of the license. - have the right, during the support period to download from LICENSOR's Internet site all releases of the SOFTWARE, without having to pay any additional fees. Licenses for the SOFTWARE are issued to individuals, even if it has been sold as part of an order for more than one users. Any company wishing to purchase the SOFTWARE needs to purchase one license for each named person using it. 4.OTHER RESTRICTIONS You may not reverse engineer, decompile, or disassemble the SOFTWARE. You are not allowed to rent or transfer the SOFTWARE.. You may not repackage the SOFTWARE for sale as a competing product. 5.DISCLAIMER OF WARRANTY THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Good data processing procedures dictate that any program be thoroughly tested with non-critical data before relying on it. The user must assume the entire risk of using the program. ControlDraw ltd will Fix faults in the software if they are reported and are clearly faults in important functions in the software. Fix includes providing workarounds. -o-

Licences - Types, Updates and Renewals


See Also How to obtain a license. Types Licenses vary depending on what package was purchased. Size Limited: These have limits on the size of certain certain aspects of the models that can be produced, specifically the numbers of Classes, Diagrams and Instances that the model may contain. Watermarked: These have add watermarking of reports generated from the models. Using >Help >About will reveal this information. Licenses other than Time Limited include all releases of the software for whatever period has been paid p113
ControlDraw Ltd

ControlDraw Manual

for, one year if not stated otherwise. After this period you can continue to use your latest version of ControlDraw if you have a full license. If you update to a newer version the software ceases to work. Time Limited Licenses include use of the software and all minor releases of the software for whatever period has been paid for. After this period you cannot continue to run ControlDraw without a new license. The License system works with a license file that is sent to the user. This has to be copied to the ControlDraw folder on the users machine. If run from a network, each user has to have a licence file. License files are specific to the users PC. If your license has less than 30 days to run then you will be prompted "Your free upgrade period ends on thedate" The prom pt repeats once per day. If your licence has expired then you will be prompted appropriately. If you install an update after this then the program states "You are using a version more recent that your license permits, please contact ControlDraw Ltd". You can only show the Apply for Key form before it stops. If you have a Full License, you must either revert to the last version you had whilst the software was under the support agreement or purchase a license renewall from ControlDraw Ltd. If you make major changes to your Windows installation, such as re-installing Windows, or replace you PC your license will cease to work. Replacement licenses are available when for such cases. Evidence of de-installation is normally required - an Unlicense program is sent on request, There may be a small cost if you do this more times than was specified when the license was purchased. Up to 12 months after your full license expires, ControlDraw Ltd will provide a replacement, valid only for the version of ControlDraw that you last had a working license for. To obtain a new license use Help Apply for Key It is your responsibility to have the necessary backups. To do this you must keep a copy of the controldraw3.exe file, the cdstart3.mdb file and the cdpalette3.mdb file. These are all included in the Update files that you can download from the Support Web. Make sure that you have this before upgrading in order to ensure that you can revert. Better still contact ControlDraw ltd for an upgrade licence quotation. See also Update Policy -o-

Special Symbols
Special symbols show data from the model on a diagram. Some are never needed in diagrams if the Reviewer is being used since the Reviewer can automatically show these fields anyway. These are in this colour You can see all the special symbols in the Palette You can also change some special symbols to others from the Symbol Controls ObjectTag UserText Acquire Creates a PFC Acquire object CDLicense ControlDraw License number CDRegUser ControlDraw Registered user name CheckSymbols Creates an SFC transition symbol that contains a list of settings for other symbols cInstanceData Shows the instance data that is associated with an object ClassFieldObjects Forces an object to be shown on the diagram for each class property of the diagrams class

p114
ControlDraw Ltd

ControlDraw Manual

ClassFieldsInst

ClassFieldsObjs

ClassIFields ClassOFields ClassTestFields

ClassTFields Client cObjectData CrossReference CrossReferencewithPos

FileName HyperLink JumpSymbols Matrix MatrixColour ModelVersion MXDescriptions PageID PageNumber PagesList PageStateMatrix PageTitle PageXofY Parameter Pass thrus ParentPages ParentSymbols PFCAcquire

ProjectName ProjectNo Recipe EPE Requirements

Recipe Equipment Requirements ReviewStatus SetMxState SetStateMatrix SetSymbols SymbolClone SymbolDotChild

Forces an object to be shown on the diagram for each class property of the diagrams class that is in the instances table Forces an object to be shown on the diagram for each class property of the diagrams class that is in the objects table Shows the fields that are associated with instances of the objects of the pages class Shows the fields that are associated with objects of the pages class Forces an object to be shown on the diagram for each class property of the diagrams class that is a Test field Shows the Test sheet only fields that are associated with instances of the objects of the pages class The client name in Project Data Shows the data that is associated with an object Lists the other pages in the model that has clones of objects on the diagram Lists the other pages in the model that has clones of objects on the diagram, including the left and top coordinates The File name Makes an object that you can click to open a file. List of the pages and symbols with jumps to the page Displays a matrix Displays a matrix with coloured cells The version number of the model Lists the names of the associated Page and Set State matrices The ID number of the diagram - Unique within the model Prints the Figure Number Table of Contents Displays the name of the associated State matix for the diagram The Name of the diagram the symbol is on Returns the page and page count Shows what parameters are linked from a level above to a level below a diagram List of the parent pages List of the parent pages and symbols Create an object linked to Acquirable objects in the model. Acquirable objects have the Can Acquire setting in the class of the object The project name in Project Data The project no in Project Data Lists the page number, name and and tag name for all the the Equipment Procedural Entities(pages) the recipe and descendants refer to with the Equipment Procedural Entities Lists the page number and and name for all the equipment types (pages) the recipe and descendants refer to Shows the review status of a diagram Make an SFC/PFC Phase Step symbol to set a state in the associate Set State diagram Displays the name of the associated Set State matix for the diagram Creates an SFC/PFC Phase Step symbol that contains a list of settings for other symbols Use to make the same object appear on two or more diagrams Similar to a clone, but provides applies to an object in the child, of a symbols, eg PT112.MV p115
ControlDraw Ltd

ControlDraw Manual

SymDotChildDotChild UserQuery VariantExclusions VariantsTable

VariantsTable2 VariantsTable3

Similar to a SymbolDotChild, but goes one level more. User can enter sql - rows of data are returned into the user text field Lists the variants and the symbols that are excluded for each Lists the variants and the symbols that are excluded for each and the variant tagnames, 1 Row per Variant Lists the variants and the symbols that are excluded for each and the variant tagnames 1 Col per Variant Same as VariantsTable2 but includes the object class names

For a UserQuery special object, if the text is positioned in the centre then the this query string is hidden. Also in a UserQuery you can now use clauses like Where Page ={CurrentPage} For example a UserQuery with Select Tagname, Class FROM qryPageObjects where Page ={CurrentPage} will produce a list of the objects on the diagram and their classes -o-

Menus
See Printable Menu Guide

File Menu

The normal file things, but with some specific things about CD Edit Menu Edit, Copy etc and selecting objects Navigate Menu Rapid access to diagrams View Menu Go to various forms etc Show Menu Control what is displayed on a diagram about each object. Tools Menu Special CD things Database Menu View and modify the structure of a model using Database related forms Model Menu View the structure of a model and find and fix problems Window Menu The normal windows things, plus View Single Window Syle Help Menu Help functions, ControlDraw web links, updates and registration -o-

File Menu
Under construction still New Start a new model Open Open an existing model Close Closes the model RTF Editor Runs the RTF Editor program Publish or backup Saves a copy of the file and raises the issue number Files manager Shows the File manager Running multi-user/ Save As Saves the model under a new file name (Single User only) Printer Setup Select and set up the printer Print Runs the Print and Review program Print diagram Prints the current diagram Save Diagram as Metafile Creates a windows enhanced metafle of the diagrams image. p116
ControlDraw Ltd

ControlDraw Manual

Recently Used list Exit

0 is most recent, max is 9 Selecting >File 0 re-opens the current model. Ends the session

-o-

Edit Menu
Under construction still Undo Undo All changes Find on Page Find in Model Copy Paste Paste Special Cut Delete Select All Select Similar same Class Select Match Tag Object Tag Select None Global Find and Replace Undo the last action (If model opened exclusive) Select by string match Select by string match + Copy selection to the clipboard Pastefrom the clipboard Import, make clones etc Copy and delete in one go Delete the selection Select everything Select based on last clicked object

-o-

Navigate Menu
Under construction still First {Shift + F1} Previous {Shift + F2} Next {Shift + F3} Last {Shift + F4} List of Diagrams By Class {Shift + F5} Go to Diagram {Shift + F6} Up to Parent {PageUp} Down to Child PageDown Show Outline {Ctrl-T] Go to Diagram 1 Go to Previous Diagram Go to Previous Diagram Go to Last Diagram Show Diagram List Window - you can also search from this list Select diagrams by class Go to Diagram number Go to Last Parent Go to the diagram linked to the symbol Show the hierarchical window -o-

View Menu
Under construction still Fonts Status Bar Text Only Page Browser Matrix Redraw {F5} Signals Options History Run {F9} Set the font styles View or hide the information panel A view of the text fields on the diagrams in the model View thumbnail images of the diagrams State Matrices or imported tables Refresh the diagrams Set the line styles View the project options View the model history and backup and issuse the model See the diagam running -o-

Show Menu
p117
ControlDraw Ltd

ControlDraw Manual

Under construction still Toolbar Tooltips Captions {Ctrl-B} Alternate Captions Normal Instance Tags Normal Object Links Link Tagnames Symbol Object Tagnames All Connection Names All Object Versions Versions greater than Highlight Changes Toggle the Main toolbar on/off Shows context sensitive info in the tooltip Toggle the Captions on/off Shows the caption from second set Shows the instance RealTag or External Tags

-o-

Tools Menu
Under construction still Import From another CD File Compare Models Diagram Sorter Re-Assign Links Utilities Sequence Numbering {Ctrl-Q} MS LDBViewer Send Message to other users Prompt for Tagnames -o-

Database Menu
Functions related to the model database. Show Symbol Data Page Instances Build! Table Views Object Specifications Tagging and Numbering Data Designer {Ctrl-D] -o-

Model Menu
Review Configure Rules HighlightSym <> Object c lass Highlight Sym <> Child class Highlight Class not allowed Highlight non included classes Find if Tagname in Parent Open Reference Model View Reference Model - Highlights symbols on the diagram in red - Highlights symbols on the diagram in red - Highlights symbols on the diagram in red - Highlights symbols on the diagram in red - Lists parent diagrams that have a symbol with the same tagname - Switches to the reference model - Opens the reference model in the Reviewer -o-

Window Menu
p118
ControlDraw Ltd

ControlDraw Manual

Tile Horizontal Tile Vertical Cascade Close all diagrams Single Diagram Style Page Text -o-

Help Menu
Under construction still Contents Search For Help On... Tip of the Day ControlDraw Web Site ControlDraw Support - Updates Email ControlDraw ControlDraw Version History Apply for Key About ControlDraw2 Displays version number etc S88 Definitions Selecting this shows the S88 definitions and paragraph numbers, and some notes on ControlDraw models in the context of the relevant definitions. It also provides a web link to the ISA online purchase web. This is linked to the class of the selected object so that it can look up the standard in context. -o-

Menu Guide

p119
ControlDraw Ltd

ControlDraw Manual

-o-

Sample Models
ControlDraw includes several sample files. These illustrate many of the functions and facilities that ControlDraw can be used for. There are examples of diagrams and classes and examples of many types of modules that you can use in your own models. Most include a populated database with an S88 based model structure. Note - the models are not 100% complete, the intention is to provide illustrations and perhaps diagrams that you can adapt for your own applications Presentation3.cnd This is a collection of diagrams for showing the basic principles and capabilities of ControlDraw. It is not really a model, it is a presentation. HygenStore3.cnd A portion from a real model - contains complete definitions of a Hygenic liquids storage and supply process area with CIP S88Reference3.cnd There are several models that use the S88Reference3.cnd model as a reference model. S88Reference3.cnd includes within it a small model that you can use to rapidly try out the functions and see the effects on the database. It includes variants and special objects and explanatory notes, and even some programming guidelines. S88Reference3small.cnd This is a version of S88Reference3.cnd that has the non essential diagrams removed so that users with page limited license can still edit it. p120
ControlDraw Ltd

ControlDraw Manual

Milkshake3.cnd A typical dairy/food process, the milkshake plant was originally developed by European Batch Forum (EBF) but has been extended considerably to illustrate how ControlDraw can be used to define Semi batch and CIP functional requirements MPMP3.cnd The Miracle Cure plant. A multi-product organic chemicals plant incuding primary and finishing processes. It make miracle cures for everything. This model was originally developed by EBF WG3 but has been extended considerably to illustrate how ControlDraw can be used to define batch and continuous functional requirements ISA506demo.cnd This model shows how ControlDraw can be used to generate Functional Requirements Documentation covering the contents of the ISA S5.06 standard Dynamics3.cnd This demonstrates many of the simulation capabilities of ControlDraw. It is not really a model, but a collection of diagrams that have simulations Try this! Select Run then step look at each page. Continuous3.cnd Examples of Continuous Control schemes Distillation Tower SBC Shows how to define State based Control for a Distillation tower FRP3.cnd Functional Requirements Principles - not a model, but a file that explains how the models are used to define Functional Requirements PFDExample.CND Demonstrates two alternative ways - Symbol Date and Matrices - to produce Process Flow diagrams with Process Data safetyLogic3.cnd An example showing Boiler Safety Shutdown systems ncluding a Cause and Effect matrix VesselTempCtrl3.cnd This simple model shows Various Vessel Temperature Control Schemes made using variants. -o-

ControlDraw Origins
Many years ago, in the mid 70's, I began working with Process Control System. It was about the time that the first PLC and DCS systems were coming into use in the Process Industries. I was an instrument engineer for a major contractor I was responsible for specifying these systems for many plants. Typically I worked for weeks or months with a pen and a sketch-pad to produce the diagrams and the lists that were needed to specify the systems. Eventually I was spending up to a year on-site following up my designs. Then the first computers became available to engineers, and I began to use a computer (a Univac) to produce the lists. Some time later the first PC's began to arrive in the office (at this time the term PLC was about to be replaced by PC - Programmable Controller, dropping the Logic bit since they had by now become much more than Logic machines.) Soon after, I was using the PC to produce the specs: MSDos Graphics like Freelance for diagrams Manuscript for the Words Smart (!) for the database and spreadsheets. I had been using the Univac system for the Instrument and IO Lists for some time, and it was a great p121
ControlDraw Ltd

ControlDraw Manual

improvement to find that I could do all I needed on a 286 in my office rather than having to go to the DP centre to submit and collect batch jobs. I developed a database that was much more than the simple flat table that most people were using at the time. It even included Functional aspects, such as list of the operations related to the Units, Recipes and so on. However I could not get everything into the database, I still needed diagrams to express things efficiently. Also, controlling the various files and keeping them in step began to be a big problem, especially with large fast changing project. When I originally started work on what became ControlDraw with Visual Basic 2 it was going to be a database, with table and text based interface. At the time integrating Databases with VB was not half as easy as it is now, let alone producing diagrams.. The idea of producing any graphics was not in my mind at the time - apart from including a few references in the database to some externally produced diagrams. It started when I wanted to produce some simple Sequence definitions, and I had the idea of using a few Icons to represent sequence steps, and then it just grew from there. I spent a lot of time thinking about diagrams and came up with a generic model for diagrams, and with a long and hard struggle, including a lot of calls the to Windows API, I managed to get my VB2 program to produce them something like they way that I wanted. That is now ControlDraw1 (Cdraw) - it was finished in VB4. Since then VB6 has arrived, and component technology has greatly improved. One wonderful OCX control, Addflow3 from Lassalle has made a great difference. It handles all the diagramming graphics, and more, mostly eliminating the need for the API calls and greatly improving on the diagram user interface. Francis

-o-

Conversion from Controldraw1 to ControlDraw2/3


Note To convert from ControlDraw1 to ControlDraw3 you must first use ControlDraw2 to convert the model to ControlDraw2 then run a complete update with ControlDraw3 In general the converted file looks very similar to the original, however due to the fact that som e scaling faults in CD1 have been corrected in CD2 there may be some differences. If the lines do not route properly just move the ends slightly and the routes should re-establish CD2 files are Access97 databases,CD3 files are Access2000. The database structure can be seen by opening up a CD (*.CND) file in Access or later. CD1 files have a number of immutable restrictions. These were originally introduced in order to achieve penrformance - and to make the programming easier. Faster PC's, developments in VB such as component technology and improved object orientation, and experience gained working with the database aspects of CD1 have made it possible to take the limits off, so CD is now a much more powerfull system. ControlDraw1 files can be converted to Controldraw2 by File Open, or Tools Convert CD1 file The process of converting from CD one to CD2 involves some significant data processing. Specifically this conversion carries out the following operations: An Access database is created tosore the model. A table is built for each object on every page in the model. Another table is built for each possible connection to an object Another table is built for each made connection Several other Tables are built for things like Fonts When you import using Tools Convert CD1 file you can choose whether to use the filenam e for the original CD1 file, the Project Title or the Page title for page 1 as the default name for the new File. The default extension for CD2 files is CND.

Limitations
The Matrices and original CD1 database are not converted. If this is important to you please contact ControlDraw Ltd. p122
ControlDraw Ltd

ControlDraw Manual

It is possible to save a CD2 file in CD1 format but all the new features will be lost, and if you have used anything other than autorouted signals and simple shapes and tagnames no more than 24 characters the result may be unexpected. Use File Save As CD1 file -o-

Conversion from Controldraw1 to ControlDraw3


To convert from ControlDraw1 to ControlDraw3 you must first use ControlDraw2 to convert the model to ControlDraw2 then run a complete update with ControlDraw3 -o-

Quick Keys
Note - Look at the Menu's for Quick Key commands See also Text edit keys Escape Ctrl+A Ctrl+N Ctrl+C Ctrl+V Ctrl+X Ctrl+R Delete Ctrl+F Ctrl+G Ctrl+O Ctrl+N Ctrl+P Ctrl+Q F5 Ctrl+PageUp/Down F6 F7 F8 F9 Ctrl+B Shift-F8 Ctrl+D Ctrl+Z Navigation: Shift-F1 Shift-F2 Shift-F3 Shift-F4 Shift-F7 Shift-F7 PageUp PageDown Ctrl+T Backs out of the current operation Selects all symbols Select none Copy selected symbols Paste symbols Cut selected symbols Replicate selected symbols (copy and paste in one) Delete selected symbols (When Symbol Controls not showm) Find and select symbols on the current diagram Find symbols anywhere in the model Open a model Start a new model Print - run Print and Review Sequence Numbering Redraw diagram Cycles through the tabs in a form Symbol mode Text mode Connection mode Run Toggles Show Captions Toggles Show Symbol Class Database Design Undo Last change

First Diagram Previous Previous Next Previous (or * Change Case) Last Diagram Go to diagram number Go to diagram ID Goes back to the Parent Diagram Goes to the child Diagram of the selected symbol Show Outline

In Data Grids (Diagram list, DataViews etc) F2 Edit the current field, selecting all of the existing text Space Edit the current field, starting at the end of the existing text Tab Move to next cell Ctrl-Home Go to Start Ctrl-End Go to End p123
ControlDraw Ltd

ControlDraw Manual

Windows: F11 F12

Full Screen Hide Borders

You can cycle through symbols on a diagram by using Ctrl-Up and Crtl_Down whilst the cursor is in the tag or text field in the Symbol Controls. This selects each symbol in turn, working top to bottom and left to right. * Change Case When the cursor is in a tag or text field such as in the symbol controls, Shift-F3 toggles the case of the selected text.

-o-

Text edit keys


Use F2 to edit table cells The usual windows keys work in ControlDraw text fields. Double click selects the word under the mouse Delete one character to the left BACKSPACE Delete one word to the left CTRL+BACKSPACE Delete one character to the right DELETE Delete one word to the right CTRL+DELETE Cut selected text to the Clipboard CTRL+X

Select text by holding down SHIFT and pressing the key that moves the insertion point. To extend a selection Press One character to the right SHIFT+RIGHT ARROW One character to the left SHIFT+LEFT ARROW To the end of a word CTR L+SHIFT+RIGHT ARROW To the beginning of a word CTRL+SHIFT+LEFT ARROW To the end of a line SHIFT+END To the beginning of a line SHIFT+HOME One line down SHIFT+DOWN ARROW One line up SHIFT+UP ARROW When the cursor is in a tag or text field such as in the symbol controls, Shift-F3 toggles the case of the selected text.

-o-

Import / Export Data


You can map instance tags in a model to the different tags in other systems. The External Tag is a field in the instances table that you can use for that. A tool is available from ControlDraw ltd that can import and export and compare data in a model with data in CSV or Excel.

-o-

Automatically Filling Instance Fields


It is possible to set up rules that ControlDraw uses to automatically populate instance data. This can be done in two primary ways, Symbol Data values and Special Defaults Special Defaults are entries that are made into the Default value when defining the fields in the Data Designer p124
ControlDraw Ltd

ControlDraw Manual

Options are: !Left PTag # !Left UserText # !Caption !AltCaption !Inherit !Script string value to enter Use the left #letters of the Symbol Tagname Use the left #letters of the Symbol User Text Use the Symbol Caption Use the Symbol AltCaption Obtain the value from the same named field in the parent instance Calculate a tag using a tagging script. This can use complex rules to work out a

Symbol Data values are values set in in the Symbol Details - these set the value in the same named field in the symbol instances, overriding an other settings such as the Default value This shows how it all works

-o-

Number Automatically
When Number Automatically is set in the Palette then when new objects are added (whether by dragging fom

the palette or by pasting them then their tagnames are given trailing numbers according to the rules for the class. These rules are defined in the Data Design in the Auto Tag nmbering section

If number Globally is set then the numering applies across all diagrams, otherwise it applies within each diagram. If number of digits is set to -1 then the objects are not numbered If set to 0 then the objects are numbered with no leading zeros it greater then leading zeros are applied if required to the number. The number of digits can be up to 6 For example if you have a diagram with XV01 and XV02 on it then the next one youu add wil be XV03

-o-

Sometimes Asked Questions


Why is there no Save command?
In fact there is, buit this is only available in Single User mode. ControlDraw 2 is a database, and changes you make are immediately made in the database. There is no Save as facility. If you want to copy a file to another name then use the File Copy command from the file manager. You can also open a file Read Only if you want to just look at it without making any changes or changing the file date.

p125
ControlDraw Ltd

ControlDraw Manual

Does ControlDraw support UML?


UML stands for Unified Modelling Language, and is a standard that is being developed with the support of many Software design oriented groups . ControlDraw is investigating this. It would appear that UML is aimed at similar targets to ControlDraw, although more generally. ControlDraw is mostly aimed at control engineering in the process industries. This appears to be an area that is not very significant in the development of UML, although it must be said that UML is used in S88 part 2 and S95. ControlDraw has been developed without any pre-conceived ideas, or standards committees, so like an untrained musician it is possible that this is an advantage. Comments please.

How does ControlDraw work with other Windows Programs


The Model itself is an Access database. You can import and export pictures and data view the Windows Clipboard

When I change a field type in a Class Data Table will I lose the existing data?
It depends on the old and new field type. ControlDraw will try to coerce the old data into the new field type. But for example if you change a Single to a Boolean, all non zero values become true and all zero values bcome false.

When I change a field Name in a Class Data Table will I lose the existing data?
No

-o-

Multi-User and Single User Modes


ControlDraw supports two operating modes, Single and Multi User The default is multi user. This option is available from Tools Utilities Deselecting Multi User enables you to open a model in exclusive mode. Exclusive mode is best for building the class data table or running DB Tagging and numbering. The file and edit menu's depend on this choice. When operating in single user mode: When a model is opened, other user are prevented from opening it. An Undo All changes option appears in the main Edit menu Save As appears in the File Menu When operating in multi-user mode Every change but the last one is permanent You can simultaneously open a model in Access You can open the same model in a second instance of ControlDraw It is possible for several users to use a CD model at the same time. Regular File maintenance is essential When opening a file that another user currently has open, a message is displayed advising who has the page open and then the page is then opened read only. The page is flagged as open or closed in the model itself. If the program is unexpectedly terminated then a page may appear to be open when it is not. To recover from this a command is available from the Users tab of the project options to reset the page open flags. Note - this will not warn if other users have the file open. Yet. ControlDraw has been tested with 12 simultaneous user sessions, 6 read only and 6 active. Under intensive activity the Jet database under ControlDraw may often need to be repaired, see recovery p126
ControlDraw Ltd

ControlDraw Manual

The Project Properties User tab will show who is currently logged on in ControlDraw.This does not include users who are just viewing the model with the reviewer or have it open any other program that can open Access databases, however the user Count when you open a model, or select Track Users in > Tools Utilities does show all users including non ControlDraw ones. ControlDraw checks the users logged onto a model. This detects all users including those who have opened the model in the Print and Review program (which only reads the model and cannot change it) or in Access. ControlDraw advises if other users are logged on when running the database build functions. Note that it is best to do this when there is only one user. You can select Tools Utilities whether to run multi user. Deselect this to obtain exclusive access. Doing this ensures the fastest and safest build. >Tools >Send Message to other users. This sends a message to all other users of the Controldraw model that you have open. Users of ControlDraw, the RTF Editor or the Reviewer who have the model open will reciver the message. Typically you would use this to request the users to close the model so that you can get exclusive control to do a rebuild. Tools MS LDBViewer runs the Microsoft Access LDB Viewer - with this you can see who is logged on to the model. You must have LDBView.exe in your ControlDraw folder tor this to work. See also Reference model Updating Guide: If running Multi-user then compact and back-up frequently.

-o-

Updating Models
When you first start a new model, the basic database structure is provided automatically by copying the master database - the cdStartdb3.mdb file.To support ongoing impovements ControlDraw provides the means to update a model to the latest structure version. So a new release of ControlDraw often has a new version of cdStartdb3.mdb When opening a model that was built on an earlier version of the standard model, CD prompts the user to ask if the model should be updated to the latest version. ControlDraw prompts to ask if there is a backup and if you say no it makes a copy of the model (named 'Backup of modelname') before the update is performed. The update process scans and compares the structure of the master database and the model, and adds any missing items such as tables, fields, queries and relationships. It also adds any favourites that are in the master database. These updates are recorded in the model history. Some developments in database structure cannot be updated this way and require a Complete Update.

When opening a ControlDraw2 model for the first time in ControlDraw 3 you will be prompted "This model Access 97, Do you want to prevent Automatic model updates?" You can change this setting in >Project >Options If you are working with a ControlDraw model 2 and you have to keep to version 2 then this stops the model from prompting to update each time you open it in CD3.

-o-

Reference model Updating


Synchronising: When you open a model that has a reference model ControlDraw prompts to ask whether to proceed to update the reference diagrams. if you decide not to then this stops all reference model checking until you re-open the model, even if other users all log off. All the time there are other users and you have elected to continue you will be asked each time that you open a reference page or when you select Synchronise All. p127
ControlDraw Ltd

ControlDraw Manual

When opening a model the reference model is checked for class changes as well as diagram changes. When synchronising referenced diagrams and the diagram has a child and that diagram is not is the model, as well as removing the link, ControlDraw warns and lists the missing child pages. When synchronising, Fonts in the Area model are updated to match those in the reference model. Note that you can have more fonts in the area model and the higher numbered ones will be unchanged ControlDraw checks that a model has only one user before it carries out the checking and updating of models from their reference models, and asks. It is recommended that you avoid updating when running a model multi user, as it has been found that models that are under intensive multi user development and that have reference models may develop database faults that require a Repair.

-o-

Test Sheets
Test Sheets can be printed for each diagram in the model. You decide, by configuring the classes in Database Table Views whether a class of digram has a test sheet. In the Classes view - IncludeInTest, when set the reviewer can print a testsheet for pages with the class. Class Data Designer, fields checkbox TS. When set then the test sheet will include the relevant field in the table of objects of the class on the Page test sheet.There is alo a field type Test Sheet only, when set the field is printed on the test sheet but does not add a field to the class tables. For example for signature fields If you create a test only class field for an object whose class is not included in the tables - or if you have not yet built the tables, the test sheet is built from the diagram only, rather than the instance data. So if you want, for example, an EM test sheet to list the states then you can do this by just adding a test sheet only field to the State class - even though you do not include the states in the tables. If there is data for the instance of the class then the data is derived from the tables. The test sheet table is named "Class name Page objects" if there is no instance data for the class, or "Class name Instances" if there are instances See also >Tools >Sequence numbering

-o-

Variant Tagnames
Why Variant Tagnames? 1 Many control system support them, often they are named Aliases. They are used mostly to make one graphic that covers several similar equipment entities. ControlDraw variants are the best way known to S88 and science of making the lookup tables that relate the Alias tags to the real ones. You can define alternative tagnames and immediately see them on the diagram (or call it the graphic design) 2 The split of a plant into P&ID's does not often match the S88 physical model.

For example, most projects have a P&ID for each 'process entity' - if you are lucky it will nearly be a unit, but often it will be part of a unit or a few parts of several units. When it comes to applying tagnames to the instruments on the PID the Instrument engineer will try to use parallel numbering so that the instruments in the 'streams' are all similarly numbered. However this does not cascade into the S88 object numbering if the modularisation for S88 is not the same as that for the P&ID's. 3 In the ideal world no mistakes are made. In the simpler world of instrument tag naming mistakes are often made. This is one more reason why ControlDraw includes Variant Tagnames. Given 4 P&ID's each with 50 tagnames, and one hour, there are 200 tagnames to be assigned. That is 18 seconds for each. Mistakes happen, even (especially :-) ) with a computer instead of a pen and p128
ControlDraw Ltd

ControlDraw Manual

paper. In that 18 seconds you have to which decide pattern the number should follow, find the corresponding value and then commit it. Over the course of such 200 decisions and m anual actions mistakes will happen, maybe just in the typing. It can take long time before such typo's are evident. It may be cheaper to leave the 'hard' tags as they are and use ControlDraw Variant tags. -o-

External Tag
A tagname in the instances table that you can use to map standardised soft tags to the tagnames in other systems such as Instrument tags in In-house databases, Intools or such like. You can set them using different rules for each class or define your own with Tagging Scripts and Custom Tagging The External Tag can be used to import or compare data in the external system with the data in the Instances for an object by using the ControlDraw Import tool, this is available on request for Licensed users. See also Database Tagging and Numbering

-o-

Undo Changes
If showing a group use the Group Controls undo Ctrl-Z if a diagram has the focus If you add or paste objects, the Undo button removes them If you add, delete or change connections undo changes them back If you have deleted objects whilst a diagram is open then made other changes, you can still recover the deleted objects with the List View The matrix form has an undo button and also Undo All Changes. You can undo most major actions delete rows or columns, add columns and rows.

Producing a decent undo function has been a big problem whilst developing ControlDraw. It would be good if undo worked like it does in Word etc, with multiple levels. However, this is a major task, essentially because Controldraw is a database and one action generally affects several tables. For example Access does not do it at all well either. Controldraw generally provides a single level of undo and warns if an action cannot be undone. Remember - ControlDraw is a database, not a drawing package.

-o-

Clipboard support
ControlDraw's Internal Clipboard provides copy and paste within ControlDraw. You can also use Paste Special to import pictures and text from other Windows programs. See Rapid Model building You can copy ControlDraw Diagrams to other Windows programs via Enhanced Metafiles Then you may paste to Powerpoint, Word, etc. For instance, you may paste the metafile into Powerpoint, double-click on the picture, adjust the margins so that there's room for other drawing objects, use the drawing tools to add some lines, circles, etc. Nearly all the diagrams in this current help file have been made with ControlDraw then pasted into DotHlp, the help program this was written with. You can also copy the data in the data forms and then paste this into other applications such as a spreadsheet. p129
ControlDraw Ltd

ControlDraw Manual

-o-

Class Settings
Here are most of the settings for a class. See them in the Data Design form. Class A textual name for the class. Class_no The unique class number, this number is used rather that the name inside ControlDraw IncludeInTables Determines if a class should be included in the instance and object tables DefaultSignal If a connection is made from a symol then the DefaultSignal for the class of that sym bol this detremines the signal style. This also sets the dynamics for an object if the dynamic type is Signal States. DefaultObjectTag The default unique string prefix for an object of the class, used when automatically setting the ObjectTag for a symbol, see tagging and numbering SetObjectTagRule Used when automatically setting the ObjectTag for a symbol. See tagging and numbering. SetInstanceTagRule As above but with different rule choices NumDigits The number of digits from the object name to include in the Short hierarchical tag. IncludeInStreams Determines if a page of class should generate a Stream S88 Def You can group sub classes in one S88 Def, for to classify according to S88 recursive levels.Control Modules containing Conrol Modules for example. ClassSort You can use this to set the overal diagram order according to the class of the diagram using Tools Diagram Sorter KeepWithParent This makes diagrams with the class come next in the list after the parent diagram. Peer child diagrams that also have this class setting are sorted according to the LoopID and then the class sort. ShortTagLen The number of character to use when generating Short Tag IncludeInTest Used in the Reviewer to determine if a diuagram of the class generates test sheets TestTableType Determines if a class is a Step, Transition or both (as in Equipment Procedral Entities)

-o-

Complete update
The Complete update function rebuilds a model from the latest version of the start m odel. Hence you can get updates that involve changed field sizes and for example the latest Access form s and reports. Complete Update is a small stand alone program, you can invoke it from the Complete Update button in the File manager. You can also use Complete Update to export CD2 models from CD3 ones but losing newer features such as lines jumping each other etc.

p130
ControlDraw Ltd

ControlDraw Manual

You select the model to update, provide a new file name and if the source file exists and the destination file does not the update button is enabled. The complete update program has an option for exclude the Diagram images. This is on by defaults and speeds up conversion and may help to recover problem files. Another option excludes the Void tables these are tables that contain data that has been found to be orphaned during Database generation As it runs Complete Update generates a list of the tables and queries that it updates. If there errors these are shown in the list. Note - the complete update program wll fail if there are Dots and Spaces in a file name.

-o-

Shrinking a model.
After ControlDraw displays a diagram it stores an image of the each diagram in the model, so that next time it is shown it does not need to redraw the entire diagram from scratch, and so that the reviewer can show them. These images can more than double the size of a model. Shrinking a model removes them. During a complete update these images may also be removed. After shrinking a model then it will automatically rebuild page by page as pages are opened. You can force them all to rebuild, so making the entire model available in the reviewer by >View >Page browser or by clicking the button in the list of diagrams

-o-

Emergency Recovery
Sometimes ControlDraw will produce a message saying "The model needs to be repaired" This can be caused by network faults or intensive multi sessions. You should be aware of these recommendations. Make sure that you have a recent backup. If it is very recent then you can skip the ! cautious steps and go straight to the File manager and try a repair. Mostly it works. It is very unlikely in single user mode, but can be frequent with large models with several users. Do not panic, just be aware of these recommendations. ! means only if cautious. Make sure that all users have shut down ControlDraw. p131
ControlDraw Ltd

ControlDraw Manual

! Copy the file (even if you cannot do the above) and then set the copy read only. Save this file and send it to ControlDraw Ltd if the following does not recover your file. Get every user to check whether ControlDraw is still running (even if they have shut it down) by using the task manager. If they find ControlDraw in the applications list then terminate it. Then do the same with the reviewer, and with Access. Ideally, get all users to restart Windows. ! Copy the file again. Start go to the CD file manager on one workstation. !Choose Yes to backup the file first If this does not work then decide whether it is quicker to restart the server that the model is on or to restore your most recent backup. If you can restart the server then do so and try repair again. If this does not work then restore your most recent backup. If you want then send the originally backed up file to ControlDraw Ltd. Note - ControlDraw uses the MS Access Jet engine in multi user mode. ControlDraw checks the status of the model by checking the Jet engine error records and by checking the 'ldb' file, which controls multi user sessions. If the LDB indicates a suspect session or the Jet engine reports a serious error the above message is displayed.

p132
ControlDraw Ltd

ControlDraw Manual

You can see the status of the LDB file by using Tools MS LDB Viewer. You can check for serious errors by selecting the model in the ControlDraw file manager. See File Management

-o-

Importing Pictures from another model


ControlDraw stores copies of all the Symbol pictures in the model, provided Embed Pictures has not been de-selected in the Project Options Embed Picture is the default, if you de-select this option, which is not recommended, then the pictures are taken from the paths you have defined also in the Project Options form These pictures are stored with a name, that of the original picture file, or if the pictures were pasted into the model with a name like Paste###### where ###### is a compbination of Paste and the time/date. Each picture must have a unique name When you import the pictures from another model if Controldraw finds that a picture in the model you are importing from has the same name but is different to the one in the m odel you are importing to, you will be prompted to: Replace - Import the picture replacing the picture of all symbols with the same picture name. Append - Import the picture without linking to any symbols. Ignore - Do not import the picture. An option is provided to repeat what you choose - this applies to all the same named but different pictures in the current import. If you select another file to im port from you are prom

-o-

Importing from another model


First open the model that you want to import into. Then go to the File Manager and point to the model that contains the diagrams you want to import, and select them, you need only select the top level ones. Then click Select Child Pages so that all the child pages of your selection are included too. Then Click Import - you are prompted to select the model to import into, this is preselected to the last model you had open. When Importing diagrams, if ControlDraw finds that a page being imported already exists in the model being imported to, it detects this and then provides a dialog where you can choose to: Use Current Diagram Replace Current Diagram Import as New Diagram Use Existing Diagram Cancel importing. If you choose to Use Existing Diagram then all the links between objects in the imported diagram and child pages that already exist in the model are assigned to the existing pages. For example if you import an Equipment model and its child pages and the child pages include valves, motors etc that already exist in the model you are importing to then these will be used. Replace Current Diagram updates the model with the version of the diagram in the imported from model. If the model you are importing from uses the same reference model, then referenced diagrams are automatically shared you do not get duplicates. If you do find that you have duplicates after an import then Re-Assign links, available from the Tools menu, allows you to change all the links from symbols to diagrams in one go. For example if you append a model that contains a second set of drivers then you can use this to make the imported symbols use the original driver pages before then deleting the surplus pages. p133
ControlDraw Ltd

ControlDraw Manual

The Re-Assign Links form in the model menu now has an option to sort by page name so that if you have for example imported another model that also contains the same driver pages then provided they are named the same (eg On/Off Valve with ZSO) the diagrams are listed one after the other. When importing a diagram any associated Matrix can also be imported. The Import Associated Matrices check box on the File Management form determines whether the matrix in the source model is also imported. Provided all the symbols that are referenced in the original matrix are on the same diagram then the linking between rows and columns in the matrix and symbols on the diagram is retained in the imported matrix. If your matrix is not associated with a page or if a row or column references a symbols on a page other than the one that is associated with the diagram you are importing then the row or column will become disconnected.

-o-

Microsoft LDBView
This is a Microsoft DLL that is used in ControlDraw to check the status of the m odel. A debugging option in Tools Utilities, disable LDB Checking, stops this. Tools MS LDBViewer runs the Microsoft Access LDB Viewer - with this you can see who is logged on to the model. You must have LDBView.exe in your ControlDraw folder tor this to work.

-o-

Error Messages
Page Under development Controldraw may produce messages as a model is being developed. These include

Cannot Connect Messages


In order to make a connection between two Connection points they must be compatible, an error message will be displayed to indicate this.

File Import/Export Messages Model Synchronisation Messages


Child diagrams of referenced parent diagrams are missing

Database Build Messages


See Database Tagging and Numbering

Model Needs Repair


see Emergency Recovery

-o-

Adding Text Lists to diagrams


p134
ControlDraw Ltd

ControlDraw Manual

Importing Text tables from Excel or similar. The illustration below shows how this is done.

A parent object of class none can be used to link to a diagram containing the table if there is no space or if the design rules enforce this. Suggested Matrix Naming : xxxxtblText Where xxxx is the name of the unit or relevant object .

-o-

User Query Special Objects


A UserQuery special object produces a table on a diagram where the rows and columns are derived from the ControlDraw database by a query that is written into the UserText field of the symbol In a UserQuery you can use clauses like Where Page ={CurrentPage} For example a UserQuery with Select Tagname, Class FROM qryPageObjects where Page ={CurrentPage} will produce a list of the objects on the diagram and their classes You can use {CurrentSymbolID} to get the IDD of the connected symbol so that you can link to and display data from other related tables. For example "Select Stateno, Name as State from tblDynamics where SymbolID={CurrentSymbolID}" You can use a Query from the Favourite User Queries by prefixing the name with FAV: p135
ControlDraw Ltd

ControlDraw Manual

Use {CurrentSymbolTag} to get the Tagname of the connected symbol and {CurrentSymbolChildPage} to get the child page number. {CurrentPageClass} returns the class number of the current page {CurrentInstance} returns the instanceID of the currently selected page. So you can use InstanceID Like "{CurrentInstance}.*" in a user query, this make it possible to show data for each instance of a diagram. For example the IO addresses for each instance of a valve. To see this in ControlDraw, select a page instance and then redraw. This works even better in the Reviewer where you can now Print All Instances or a diagram with Real or External tags and data. Example Query (it needs attaching to an IO Object) Select Card, Channel from qryClass17Instances where InstanceID Like "{CurrentInstance}.{CurrentSymbolID}" For a UserQuery special object, if the text is positioned in the centre then the this query string is hidden, otherwise it is shown in the selected position. With User Query special objects, if the resulting table has more than one record, and a field contains Line Feeds these are replaced with ' : ' in order to keep the lines aligned. If there is only one record (eg Select Formula from tblDrawingObjects Where IDD={CurrentSymbolID}) then the complete text is shown. Many Examples of User Queries are contained in the standard reference and sample models provided with ControlDraw.

-o-

Clones
Clones are special objects that create an image of an object without necessarily creating the data for that object. Typically they are used to produce a connection or reference between objects on two different diagrams. There are several types of clone SymbolClone This creates an object with class none that is otherwise identical to another symbol in the model. SymbolCopy This creates an object that is identical to another symbol in the model. This Does produce data. SymbolDotChild is like a SymbolClone but applies to a child object. SymbolDotChildDotChild is similar You can create clones by dragging from the Palette but it is easier to use Paste Special as Symbol Clones which is enabled when symbols have been copied. You cannot drag links to or from clones and most editing functions on clones are disabled, but you can position the text, connect points and the linkpage location and resize them. Symbol clones can have the page number (or name - this is set in the Project Cross Reference options) of their master symbol shown above their tagname inside brackets. You can double click this to go the the diagram The {Clone Page} reference is positioned depending on the Text position. If text is below the symbol it is placed alongside the tagname, otherwise above. This is to avoid the clone reference obstructing the symbol. p136
ControlDraw Ltd

ControlDraw Manual

Cloned objects change their link types to Jump. This means that a Cloned object cannot create instances. If you want an identical object that does create instances then you should not being using SymbolClones, as that is not their purpose. A special symbol, CrossReference Lists the other pages in the model that have clones of objects on the diagram" A Tab in >Database >Views, Clone XRef shows a table of all clones identifying the Page containing the master and the pages containing the clones Symbol Clones support dynamics. Notes If you delete an object that is cloned somewhere else in the model there is a warning and you can cancel the deletion. Right clicking a clone offers "Make this Clone the master". This changes a clone to the master and makes the original a clone of the new master. Any other clones of the original are updated to be clones of the new master "Make this Clone a normal symbol". "Go to clone master" - opens the diagram containing the master Here is one way of using clones. Suppose that you want a single Unit Graphic, with all the valves and motors shown on it but where the valves etc actually belong to equipment modules contained in the unit. Well, you can use clones for that. First draw the Unit Graphic and then clone the symbols into each Equipment module. Then you can change the symbols in the EM diagram into masters. The result is that you can show the Unit diagram with the EMs that each valve etc belongs to. Reverse Engineering with Clones Many times you will already have some lists of the objects (most often the instrumentaton, but if you are reverse engineering an actual system you should be able to get much moree, such as lists of parameters If you have such these then you can use Paste Special to place them on a diagram that you use as a Workspace. You can then copy these as clones onto diagrams that fit the structure you want, and then change the clones to masters.

-o-

Cross Referencing Options


Some objects on diagrams such as Clones can be cross referenced, so that you can see where the master of a Clone is and where Clones exist. The XRef tab in the Project options controls whether and how they are displayed.

p137
ControlDraw Ltd

ControlDraw Manual

You can also display the page name rather than the page number for clones, and even truncate that to a selected number of letters. Some of these settings, such as Show Clones can also be set for each diagram in the Diagram Details form See also Defer Symbol Links display

-o-

Defer Symbol Links display


These are set in the Project XRef and PFC Options tab

Example showing a link from a Recipe (diagram 13) above and a phase (diagram 35) below Show Descend Link Arrows: This is on by default and makes an object that has 'Descendant links' to or from it show a vertical line to the left of symbol. If the symbol links to a descended object (see Defer functions) then the line has an arrow at the bottom end, if it is linked to from a parent diagram there is an arrow at the top end. This is particularly useful when using models with Defer functions, for example to assign recipe parameters at a top level that are passed down to a lower level Show Link Class Abbrev - causes the page number for a descendant link to be prefixed with the abbreviated class name of the page it is on. So if you link a parameter on a recipe procedure to a parameter on page ## and page ## is a phase the link will show as ph##. In addition if there are more than one links they are all indicated

p138
ControlDraw Ltd

ControlDraw Manual

-o-

PFC Options
These are set in the Project XRef and PFC Options tab

"When Adding PFC Steps Prompt to use existing Equipment Procedural Entities" (In S88 terms this corresponds with defining the Link between your Recipe Procedure and Equipment Control.) Equipment Procedural Elements are Phases, Operations or Unit Procedures that are child's of an Acquirable class such as a Unit or EM When this option is set and you add a step to a PFC diagram by Right Clicking a step then your are asked "Use existing Equipment Procedural Element?". If you answer Yes then all the EPE's are listed and you can pick one from them. Then the new step will be a parent of the same EPE and have the same name. Plus "When Adding Equipment Procedural Entities, use SymbolCopy" In this case the EPE's are listed even where they do not have child diagrams and the new step is made as a SymbolCopy (a type of Clone that includes data) . This provides a closer link to the Equipment Control. Note- the source object must have appropriate connection point for the added EPE to connect into the chart Also added a new standard User Query, EquipmentProceduralElements. This lists all operations and phases that are on Unit and Equipment Module diagrams (Actually those on diagrams for classes that have the CanAcquire flag set) You can also set this option by Clicking on Prompt for EPE in the PFC Menu

-oThis is all about defining the Master value of a recipe param eter setting. In a model, as with most batch package you can put a Recipe Parameter on a Phase, Operation, UP or the RP. Now, typically the value of the parameter in a higher level (such as a UP) is passed down to a lower level - typically an operation or a phase. Ultimately this should set the product specific value in a unit or equipment module phase. If the parameter is used in a Phase, but you want to define it at the UP level for example then you can link (Right Click Descended object linker ) the parameter in the UP down to the one in the phase. Then using >Tools >Custom Tools > Defer functions , 'Defer Level' of the phase parameter is set to UP and the instances of the Phase parameter get updated with the values of the one in the UP. Now, in, for example, DeltaV Batch the parameter has to pass through any intermediate level, in our example though any operations. The Recipe Defer functions also generate both a diagram (the parameter map) and a list showing which parameters pass though intermediate levels on the way down to the phase or lower level. The Parameter Map This shows the paths from each recipe parameter down to the lowest level, typically an equipment phase. When first shown, all these paths are shown but you can select the top level from the drop down list. The links must be created using the Descended Object Linker You can double click an object to open the diagram p139
ControlDraw Ltd

ControlDraw Manual

You can also delete objects links by clicking on one then pressing the D elete key

The Set Defer fields tab When the Set Defers button is clicked, ControlDraw scans the Defer links in the model and for all recipe parameters instances that are in child pages descended from the page containing the 'Master Recipe parameter': Sets the Defer Level field to the Abbreviated version of the Class name (you can see this is Data Design) Sets the Defer Tag to the tag of the 'Master Recipe parameter': Sets the Defered field true. It also looks at the Instance of the Link Master in the same path and Increases Max if the lower level is too low Reduces Min if the lower level is too high If a recipe parameter is Linked to the Master parameter but not in the child pages of the m aster then the Defered field is still set to true, but the Defer Tag and Defer Level are set to '???' This means that if you defer from the Recipe level then all the instances are set, but if you defer from , say, a UP the only those descended from that UP are set. It means that if you defer from the UP level once then you should also defer from all the other UP. Review facilities are provided to help to track down results, User Queries can show the 'Implied

Parameters and links on the diagrams. The Implied Defers tab Implied Defers are those where a link passes down through a diagram level without there being a corresponding parameter on the diagram. Running Scan and build creates a table of all these so that they can be displayed on the diagram using a "Parameter Pass thrus" special symbol

p140
ControlDraw Ltd

ControlDraw Manual

The Configure tab The Recipe Parameter fields must be configured correctly, generally clicking the "Set Defer Initial Settings" button will do this.

See also Defer Symbol Links display

-o-

Descended object linker


This form allows you to link symbols to symbols in the pages descended from the current page in order to establish parameters that are passed down the hierarchy to lower level elements. For example you can create recipe formula parameters in master recipe and establish how these connect to parameters in the phases that the recipe runs

This form is available from the menu when you right click a diagram. If you invoke the form with a single object selected on a diagram, you can link or unlink it. If you invoke the form with a no objects selected you can use this to make new objects on the current diagram at the same time creating the links. The Count shows if there are several paths to the same parameter, this is indicative that you may want to create new parameters on the child pages, so as to end up with just one. For example if you call the same phase several times but from different operations then you should create parameters on the operations. p141
ControlDraw Ltd

ControlDraw Manual

The Go to Parameter Map button calls up the Recipe Defer Functions Note - if you have several calls to the same procedural element and you want to set different values for each then you can connect the parameters to the objects as shown below

-o-

Autoname connections
For scripting to work without errors the connection names for an object should be unique. Autoname connections generates such names in the form prefixIn# or prefixOut# where # is an incrementing number and prefix is the prefix defined for the signal type. Autoname connections is provided in the symbol details and symbol scripting forms. When this button is click ControlDraw prompts "Preserve compliant names" when selected the names are not changed if their first letters match the default for the connection type. When Auto-renaming connections from the Symbol Dynamics Form ControlDraw attempts to rename the variables in the symbol script. This works provided by substituting the old connection names with the new ones in the entire script. -o-

Signal States Dynamics


You can set the dynamics of a symbol in the Symbol Dynamics Form Symbol Variable tpes can be set to ---None Boolean Integer Single --Page Matrix Row Child Page State Signal States Child Matrix Row -op142
ControlDraw Ltd

ControlDraw Manual

Diagram background
A diagram can have a background colour or a picture. The colour is set in Page Details. You can paste a picture into a diagram background using Paste Special Another way is in Diagram Details form, where you can select a picture file to use as the background for a diagram. This means that you can now use project P&ID's as background. To do this, use your P&ID software to export a picture as a Windows Picture file (emf, gif,bmp, jpg are supported) to and then point to the file from page details. If the picture has been changed ControlDraw will produce a message when you open the page, and record the changes in the page history. Also the page keeps a local copy of the picture so that if the picture file is removed the background is retained. You can switch the background picture on and off with the right mouse butten and clear the picture from the Diagram Details form See also Draw using a P&ID -o-

Simulation Auto Generated Scripts


Some special symbols automatically generate the required Symbol Script, specifically the Set State steps and the Check State transitions. The script is regenerated every the the symbol is set in the the Set States List. blnManual is a Global variable, each Symbol State type transition uses to check whether to evaluate the rows in the transitions table.

-o-

Process Flow Diagrams


A Process flow diagram (PFD) is a diagram to indicate the general flow of plant processes and equipment. The PFD displays the relationship between major equipment of a plant facility and does not show m inor details such as piping details or minor instrumentation.

PFD's are sometime called flowsheets p143


ControlDraw Ltd

ControlDraw Manual

Typically, process flow diagrams will include: Primary Process piping Major equipment items Control valves and other major valves Connections with other systems Major bypass and recirculation streams Operational data (temperature, pressure, flow, density, etc.), often by stream references to a mass balance. They generally cover a single part of the process and several are required for a complete process. These can easily be produced with ControlDraw and a sample model is provided. Tip - in order to create the table of stream data you can use, Process Material symbols (for example) and add the data in the Symbol Data. See Process Flow Diagram Type

-o-

Piping and Instrument Diagrams


You can use ControlDraw to : Draw Simple Piping and Instrument Diagrams Derive Lists of All the equipment on the diagrams All the process materials The Control System Inputs and Outputs Making P&ID type diagrams with ControlDraw. From a blank diagram, right click and select Start new D iagram, Process Flow You can then drag symbols from the palette to the diagram, and connect them. Set the palette to Select by diagram type Process Flow

One point to understand is that the palette does not contain all the pictures that you can use in a diagram. However it does provide a number of examples of equipment symbols that you can put in a diagram then change to be the one that you want. Most typically this involves changing the picture. To change the picture for a symbol, click the symbol then select the Picture button in the Symbol Controls. Make sure to deselect embedded then you can select from the hundreds of pictures that come with ControlDraw but are not yet stored in the model. Full P&ID's are schematic drawings, typically done with AutoCAD, showing equipment, instrumentation, piping, valves and other components and associated information incudling that required for construction, operation and maintenance.

p144
ControlDraw Ltd

ControlDraw Manual

It is often asked by ControlDraw users whether they can import from their existing P&IDs. This is not directly possible but the P&ID is still very useful and can be deployed in a model. Then in each Diagram, paste the P&ID into the diagram background, again using Paste Special To do this you need to get a copy of the P&ID as for example a JPG, or PDF, then Copy it into the Windows Clipboard. (You can also set the diagram background file name in the Page details provided it is JPG, BMP or GIF ) Then I overlay the instruments (Control Modules) of the diagram before moving them to the relevant equipment modules.(or still better first Cloning them then making the EM versions the clone masters) I generally eventually remove the background. The cloning method allows you to keep the original P&ID whilst also having the Equipment Modules containing the control modules. Furthermore, if you can get a list from the P&ID database of the instruments then you can use paste special to import those. Paste Special, can also import a complete set of diagrams containing symbols and child pages from a simple list. You can set the tagnames, classes, pictures, positions and sizes of the symbols, and you cab set child page links too. The data must be in a defined format, this is provided with examples in the excel file ImportSamples.xls included in the ControlDraw Samples folder.

-o-

Split Tagnames
Some text positions separate the first letters from the first number part so that they are displayed in two lines, one above the other. The split happens at the first number (0 to 9) that follows a letter (a to z, Ato Z) If there is no such split then the tag is not divided into two lines A Space does not count as a letter, so for example R 123 does not split but R123 does. Numbers at the start do not cause a split, so 10R123 splits into 10R and 123 -o-

SAMA
The Scientific Apparatus Makers Association (SAMA) no longer exists, you can still find the standard SCOPE AND PURPOSE "Functional Diagramming of Instrument and Control System s" 1.1 This standard presents both symbols and diagramming format for use in representing measuring, controlling and computing systems.

-o-

Page 1 checks
In all ControlDraw models, Page 1 should follow certain rules if the model is to be used for data storage as well as just diagrams: Page 1 is the Contents page and so it should p145
ControlDraw Ltd

ControlDraw Manual

Have Parent Links to child pages. Contain Top level Classes, IE the classes of the objects on this page should be at the top of the hierarchy The Classes of Symbols that are connected to child pages should be Included in Tables Page 1 check also checks that there are no objects with the same class as those on page 1 in the rest of the model See also Non Included Parent Classes -o-

Model Advisor
The form provides a step by step method to check a model.

It lists a number of essential checks that should be carried out. You can select each step and then click "Check" to invoke the required funtion. If 'Record and Confirm reviews' is set then after each check a form appears where you can record the result of each check. -o-

Parent <> Class


In general, an object that has a parent link to a child diagram should have the same class as the child. For example a symbol representing a Measurement - say a pressure transmitter - would have a child page that represents the function of that trransmitter. -o-

Object Class <> Symbol Class


There is only one ObjectTag for all classes, ie you cannot have the same ObjectTag for more than one class. Each symbol with the same object tag should have the same class. If somehow (after changes to tags or classes) a Symbol has a class that does not match the correstponding ObjectTag then these show up in the Object Class <> Symbol Class tab in the reviewer. To resolve this problem, first click "Remove OTags from non included" and rebuild. If that does not work then you may have to set the Symbols that have wrong object tags. Note - this problem mostly occcurs with models built in earlier versions of ControlDraw -o-

Classes in Parents
This lists all the pages where a page of the same class is in the parent hierarchy. So, for example if you have a Process cell, containing a Unit which then contains a Process cell then this will be listed. Note that while S88 and ControlDraw permit Control Modules in Control Modules and other recursive levels in practice it is recommended that in such cases a new class should be created. -o-

Not allowed in Page Class


p146
ControlDraw Ltd

ControlDraw Manual

This lists all the Objects whose class is not allowed on a diagram according to the model rules. -o-

Non Included Parent Classes


This lists all the Classes where their Include in Tables setting is false If Include in Tables is false then no object or instance data will be recorded for the class and also for any objects on child pages and their child pages So in general, if an object is a parent then one would expect it's class to be included so that the child instances are included. If you just want to link to, say, a notes page then use a Jump Link rather than a parent. Note - sometime it may be handy to switch off a classes tables, for testing. Backup first as this may lose data. -o-

Model File Structure


ControlDraw carries out checks on the integrity of a model when opening or selecting in the File manager. Specifically it now checks that all the table fields, queries and relationships in the model are up to date with the latest structure. This can be switched off by deselecting "Check Model Structure on Opening" in Tools Utilities, but this is not recommended. You can update a model using the Complete Update program. You can also run this from the Model Advisor. (At present this is in the early stages of development, but eventually it is intended to provide both step by step and (future) background methods to check the model.) -o-

Lost References
This checks if the source objects for all Clones and Cross References type symbols exist and lists those where it does not. Note when deleting objects that are refered to by a SetState in the model there is now a warning and you can cancel the deletion. If you do delete them the clone tagname is not completely wiped out, !Ref not found! is appended instead. This is truncated if needed to a total length of 32ch. Backup on close is now disabled if the model is open elsewhere, eg in the reviewer. In Complete Update, after updating a button appears, Rename as Original, which will rename the old file as oldname.cndOld and the Updated file with the origiinal name -o-

Clones and Cross References


There are several Special Symbols that create objects that refer to another symbol in the model. For example, SymbolClones are objects that are otherwise identical to a source symbol. These symbols contain pointers to the other symbols. If these other symbols get deleted (for example by removing a page that contains a source object) then there will be lost references. -o-

Number Root and Number Exclude


A Root Class is a class that is defined as a Root in the Class rules When Number Root is set it indicates that the tagname of the symbol parent/grandparent etc symbol with the Root Class is to be used as the Top level in symbols whose class RealTag uses Root based tagging methods. For example you may have several process cells, containing many Units. All the tagging can then be made based on the units tagnames

p147
ControlDraw Ltd

ControlDraw Manual

When Number Exclude is set it indicates that the tagname is excluded from the RealTag of descendent symbols whose class RealTag has 'with exclusions' Typically, and in the standard ControlDraw models, S88 Units are number roots. This generally works well. See Also Hierarchical Tags -o-

Hierarchical Tags
In ControlDraw, Hierarchical Tags are tags/names for symbols that are made up from the names that appear on the diagrams for each level of the model Hierarchical. They should provide a unique name for each instance of a symbol. For example say the first diagram has a unit named u1123 on it, with a parent link to page 2. Page 2 has en equipment modules named em001 on it, linked to page 3 And page 3 has a valve, v01 on it Then the Hierarchical Tags of v01 on page 3 is then u1123.em001.v01 Now, Page 1 might have another unit on it, u1124 u1124.em001.v01 is another instance of v01 on page 3 So, Hierarchical Tags this is a tag that applies to an instances. They are unique to each instance provided there are no duplicate symbol names on a diagram. But in large models this can be cumbersome and for other reasons a better (shorter) tagnames could be used. That is the reason for RealTags. -o-

Cannot find Reference Model


This message applies when you open a model that has a Reference model which does not exist in the exact path and file defined in the Project Options for the Area model. If ControlDraw found a model with the same name in the Parent or or sibling folders to the one that the Area model is in then the message will also say Using *** where *** is the full path to the reference model it found and will say "Do you want to change the Reference model to this one?", with Yes and No buttons When finding the reference model, CD first looks at the exact path and file defined in the Project Options If it is not there then the search go up one level to the parent folder of the folder containing the area model and looks for the file there. If it is not there then the search goes down into all all sub folders of the parent folder and uses the first one it finds Tips To make it easy to share models with users who have different drive mappings, put the reference model in the parent folder of your area models, or in one sub folder of the parent folder of the folder containing the area model. If you want to stop the 'Can't find - Using" message then you can answer Yes. This will change the setting in Project Options to point to the Found area model so that the message will stop appearing. If you do not have access to the Reference Model and you want to prevent these messages switch on Disable Automatic Synchronising in the Login form when you start ControlDraw. That will stop all synchronsing except when you conciously decide to by the Right Click menu in the List of diagrams or the Synch button in the Page details, classes etc. Do not keep multiple copies of your reference model in you project folders p148
ControlDraw Ltd

ControlDraw Manual

-o-

Missing Referenced Child diagrams


When synchronising you may see the message "The following child diagrams of referenced parent diagrams are missing in this model" This indicates that a reference diagram has child pages that are not present in the area model, and offers to import them. Notes If you import them only those pages that were listed are imported. If they themselves have missing child pages then they will not be imported. You can synchronise each page one at a time from the Page Details to add them, of or Synchronise All, but this is slow. The best way to add a reference model page is to use the File Manager From the area model, go to File Manager, then select Last Ref. Then import the diagrams you want to add. Select Child Pages to ensure that the entire child hierachary is also imported When importing from a reference model the diagrams are added as referenced diagrams. -o-

Sequential Function Charts


Sequential Function Charts describe control sequences in graphical form. With SFC Draw you can easily produce these charts Originally, Grafcet was developed in France in the late 70s and it became the basis for the definition of the international standard IEC 848 (Preparation of function charts for control systems). SFC's comprise a number of steps and transitions connected to each other by directed links. Steps: Every step can execute one or more actions. A step can be either active or inactive. When it becomes active, it's actions are executed (but see action types) Transitions: There are transitions between every step. When a Step is active and the following transition become true the successor step becomes active and the preceding step becomes inactive. Each transition has associated events which are called transition conditions. The transition conditions must combine to makea simple Boolean result, True or False. Step Actions: Every action is associated with a step. The step can have none or several actions associated. If there is no associated action to the step, it will be considered as a WAIT function. Each step/action association shall have an associated action qualifier. The action qualifier can have values according to IEC 61131-3 Program Flow A step becomes active when it's preceding transition activates (that is the transition is true, while the step before that transtion is active.) A step becomes inactive when it's subsequent transition becomes true In Parallel branches, all the initial steps become active when the precending transition activates A parallel branch end when all the steps before the branch end are be active, and the subsequent transition becomes true

-oSFC Draw Overview p149


ControlDraw Ltd

ControlDraw Manual

SFC Draw is an editor for Sequential Function charts that provides a more powerful alternative to the original SFC functions in ControlDraw A diagram can be set as a Special SFC Draw type in the Page Details If this is done then An SFC Draw button appears on the diagram. clicking this will invoke the SFC Draw editor The steps and transitions have an extra SFC Tag number that is separate from the normal tag. This is in addition used instead of incrementing letters when a connection is splti. Even if a diagram is not set as special, the SFC Draw editor can be invoked by right clicking an element in an SFC and selecting Arrange in SFC Draw from the SFC Menu. This will then attempt to load the diagram into SFC Draw editor. First the chart is checked to ensure that it follows SFC rules, if it does not then no changes are made but a message indicates what problems were found (eg No transition after Start) and the offending elements are shown in Red. If the checks are passed the SFC Draw form is shown. You can then use SFC Draw functions to edit the chart.

SFC Draw provides many features to make chart editing quick and effective. Features include Quick and easy chart editing Automatic chart layout Configurable chart level of detail - see Options SFC rules enforced whilst drawing - you cannot draw an illegal chart Multi level Undo Redo Menu and/or mouse clicks are used for chart editing. Using SFC Draw ensures logical consistency at all times preventing the production of Illegal charts. Note - no changes are made to the diagram until you save the chart and confirm that you want to update the diagram -o-

Basic Step and Transition structure


Steps and Transitions are objects that have: A number, prefixed S for Steps and T for transitions. Numbers can be manually entered or (recommended) automatic. (Note - these are only shown when the diagram containing a chartr is set as a Special SFC D raw type) A textual description (optional) A table if detailed actions or conditions (optional)

p150
ControlDraw Ltd

ControlDraw Manual

-o-

Chart Arrangement
SFC Draw provide many different ways of displaying a chart, depending on the settings in Options Standard The text for a step can be shown to its right. This is set in the Options form.

p151
ControlDraw Ltd

ControlDraw Manual

Test Inside Steps or inside with the step box size set be the amount of text Select "Step text inside step" in the options form to select this mode.

Hide Details Shows the chart Sructure Only Text apart from step and transition numbers can be hidden. This is a useful mode for arranging large charts, and performing some actions such as dragging between states to create a transition This button in the toolbar toggles between the Select "Hide Details" in the options form to select this mode.

-o-

Options
This form provides control over the appearance of a chart. Note - settings here are generally saved as default, and also in the Chart file. There are three tabs, as below Layout: Many options, see Chart Arrangement You can also control the fonts and colours used for the various parts of a chart

p152
ControlDraw Ltd

ControlDraw Manual

-o-

Start a Chart
You can create and SFC in a Blank Diagram with >Right Click >Star New Diagram?SFC Draw When starting SFC Draw an initial chart is drawn. This has a start, a transition, one step, another transition and an end.

p153
ControlDraw Ltd

ControlDraw Manual

You can then add steps and transitions and branches to build the chart. Selection Branches can be added around a step or below a step Steps can be split into parallel branches You can drag connection ends to re-arrange a chart You can use Right Clicks to change the order of branches You can drag from step to step to create a new transition if it is legal As your chart progresses you may want to hide the details so that you can re-organise the chart quickly. The details can be quickly hidden or restored using the toolbar burrons. -o-

Add a Step
You can add a step almost anywhere in a chart. You can only add a step with a transition. Remember that every transition must go to one and only one destination. Select a step and right click to see the options available for the step. These respond to the logical context of the step.

You can also select a link and add a step (and transition) into the link. If the link is below a step the transition is added first and visa versa -o-

Add Selection branch


p154
ControlDraw Ltd

ControlDraw Manual

You can add a selection branch around or below a step. Select a step and right click and select Add Select Branch Here or Add Select Branch Below If you chose here then the an alternative path is created around the selected step.

If Insert below then the new branch starts below the selected step and terminates at the End

-o-

Add/Extend Parallel Step


If you select a step and right click, one option is Add/Extend parallel step. This should only appear if the option is relevant to the selected step. You can change a single step that has one transition before and one after to a pair of parallel steps

p155
ControlDraw Ltd

ControlDraw Manual

If the step is already in a parallel branch then you can Extend a parallel branch -o-

Deleting Parts of a Chart


You can delete single steps and their associated transition from the the right click menu. You can also select a group of objects and use the delete button in the toolbar. When you click the delete button, the selected objects are deleted. The chart is then checked for logical consistency. Either way, Undo recovers the chart before delete. Deleting also removes the parallel branches around a single chain between parallel branches See also Copying, Cutting and Pasting

-o-

Arranging charts by dragging Links


You can drag the end of a link and drop it onto another object. Provided this is legal then the chart will be re-arranged. This may remove objects as shown below. If the re-connection is not allowed a message will advise why *

* for example you cannot connect a step to a step or link into a parallel branch. -o-

Arranging charts with Right Clicks


When you right click a transition after a selection branch, or a step after a parallel branch then you can select Move Branch Left Move Branch Right Move Branch To Left End Move Branch To Right End You can also add column breaks, which cause the chart to move up and to the right of the step or transition where you set the column break You can only set column break where there is no branch. -o-

Dragging between Steps


You can create a transition between one Step and another by dragging from the centre of the first Step and releasing the mouse over another step. In the example belowe we have created a Recursive Link by dragging from a step (S2) to an earlier step, S2.

p156
ControlDraw Ltd

ControlDraw Manual

-o-

Copying, Cutting and Pasting


You can copy a selection of a chart, provided it starts with a transition and ends with a step, by right clicking the selection. You can then past after selecting a single step, and the copied selection will be pasted between the selected step and the transition that followed it. You can also Cut a selection and later paste it elsewhere in the chart. (Under development) For example

-o-

Logical consistency
p157
ControlDraw Ltd

ControlDraw Manual

SFC Draw Charts must be complete. That is they must conform to the rules, so you cannot draw illegal charts, for example have a transition that goes nowhere or jumps into or out of parallel steps. SFC Draw renders the chart complete by: Deleting Steps and Transitions that do not connect back to the start. Connecting transitions that go nowhere to the the End Step. Putting a Transition connected to the End step after Steps that go nowhere.

-o-

Recursive Links
Recursive Links are connections from a transition back to a previous step in the chart, as below. SFC Draw automatically detects if a link is recursive.

You can click the link and toggle between showing it or showing connectors

If you break a link the link is redirected to the End.

p158
ControlDraw Ltd

ControlDraw Manual

-o-

p159
ControlDraw Ltd

ControlDraw Manual

Index -AAbout 76 About the Help 8 Adding Text Lists to diagrams 135 Animate 90 Arrange symbols 43 Arrows 57 Associated Matrices 21 Automatically Filling Instance Fields 124 Autoname connections 142 AutoSFC 94

-BBackups 77 Block Change 43 Build and update the Data tables 104

-CCalculation 83 Calculation symbols 83 Cannot find Reference Model 148 Change the Diagram Order 104 Classes 10 Classes and Data Build 47 Classes in Parents 146 Clipboard support 129 Clone 136 Clones 136 Clones and Cross References 147 Code 90 Colors 35 Compact 53 Compare 77 Compare and Import Data 50 Compare Form Tree 65 Compare models form 64 Complete Update 130 Configure Rules 72 Connection Controls 42 ControlDraw 7 ControlDraw Origins 121 Conversion from Controldraw1 to ControlDraw2 122 Conversion from Controldraw1 to ControlDraw3 123 Convert 130 Create Diagrams 97 Create Recipe and Link their Procedures to Equipment Control 104 Creating Diagrams 107 Cross Reference 137 Cross Referencing Options 137 Custom 69 Custom Tagging 69

-DData Design 46 Data Entry and Display Methods 88 Data rich models 86 Data Type 61 Data Views 48 Database Menu 118 Database Tagging and Numbering 68 Defer Symbol Links display 138 Descended object linker 141 diagram 8 p160
ControlDraw Ltd

ControlDraw Manual

Diagram background 143 Diagram Details Form 45 Diagram List and Toolbar 31 Diagram Sorter 70 Diagrams and Symbols 8 Disable Automatic Synchronising 148 documentation 11 Don't Cut and Paste, Move 112 Draw using a P&ID 102 Drop objects into connections 99 Duplicate 68, 71, 74 Dynamic Simulation 89 Dynamics 89

-EEdit Diagrams 98 Edit Menu 117 Embedded Picture Manager 80 EPE 104, 105, 148 Equipment Control 104 Equipment Independent Recipes 104 Equipment Module 27 Equipment Module Diagram 27 Equipment Modules 110 Equipment Phase 21 Equipment Procedural Element 104, 105 Equipment Procedural Entity 104, 148 Error Messages 134 Example 120 Expression 83 External Tag 69, 129, 68

-FFavorites 49 Fields 46 File Menu 116 Find Symbols 79 Fonts Form 55 Forms By Function 28 Formula 104 Function 83, 90 Function Block diagrams 22

-GGeneral Modeling Guidelines 108 Getting Started 107 Global Find and Replace 74, 81 Grafcet 150, 149, 21 Group controls 43 Guidelines for Diagrams 107

-HHeader 104 Help Menu 119 Hierarchical Tags 148 Hierarchies and Models 9 hierarchy 9

-IImport 67, 100, 53 Import / Export Data 124 Import a Matrix 100 Import Matrix 135 Importing Diagrams from Another Model 101 Importing from another model 133 p161
ControlDraw Ltd

ControlDraw Manual

Importing Pictures from another model 133 In at the Deep End 103 Inherit 124, 46 Instance 16 Instance Tag 69 Instances 104 Instrument List 102 InTools 102 Introduction 7 IO List 102, 111 ISA S88.01 Unit 26 ISA8.01 Equipment Module 27 ISA889.01 Phase 21

-LLicences - Types, Updates and Renewals 113 License 75 LICENSE AGREEMENT 112 Line Edit Form 57 Line Styles form 57 Link Page Selector 42 Linking Recipe Procedures to Equipment Procedures 105 List View 79 Lock and Unlock 48 Locking 31 Logic Diagram 23 Lost References 147

-MMake Connections 98 Managing ControlDraw Files 110 Master Recipe 104 Matrices 15 Matrix 58, 61, 61, 67 Matrix Columns tab 61 Matrix form Matrix State Rows 61 Matrix Types 60 Menu Guide 120 Menus 116 Missing Referenced Child diagrams 149 model 9, 7 Model Advisor 146 Model File Structure 147 Model Menu 118 Model Review 71 Model Review Heirarchy 73 Model Review Reference 145 Mouse Buttons 31, 30 Multi-User and Single User Modes 126

-NNavigate Menu 117 Non Included Parent Classes 147 Not allowed in Page Class 147 Number Automatically 125 Number Root and Number Exclude 147 Numbering systems 108

-OObject and Instance Data 49 Object Class <> Symbol Class 146 Object Tag 68 Object Tags 87 Objects and Instances 85 p162
ControlDraw Ltd

ControlDraw Manual

Operating mode 31

-PP&ID 102, 24 Page 1 checks 145 Page Browser 104, 37 Page Tag 68 Parent <> Class 146 Paste Properties 46 Paste Special 67 Paste Special Import as Pages and Symbols 100 PFC Options 148, 139 PFC Procedure Function Chart 22 PFD 24 Phase 104, 150 Picture 67, 65 Picture Selector 65 Polymorphic Diagrams 19 Printing 17 Procedure Charts 95 Procedures 104 Process Automation 7 Process Flow Diagam (P & I D) 24 Process Flow Diagram 24 Project Details 34 Project Options 35 Project Users View 35 Project Words 34 Publish a revision 102 Publishing and Making Backups 109

-QQueries 48, 49 Query 67 Query Design form 51 Quick Keys 123

-RRapid Model building 103 Re-assign Links 74 RealTag 69, 68, 87 Recipe Defer Functions 139 recipe parameter 139 Recipe Procedure 104, 105 reference model 148 Reference model Updating 127 Reference models 13 Registration 75 Repair 53 reusable objects 7 Review Status 48 Root 69 RPE 104 RTF editor Form 106 Run 89, 63 Run Mode 89 Run Mode controls 62

-SS88 10, 109 S88 Modeling Guidelines 110 S88 Models 109 SAMA 145 SAMA Diagrams 22 sample 103, 120 p163
ControlDraw Ltd

ControlDraw Manual

Sample Models 120 Save Symbol Properties 39 Script 124 Scripting Symbol Wizard 92 Sequence Numbering 75 Set States Symbols 82 Set Symbol Selector 94 SFC 94, 150, 75, 149, 21 SFC / Grafcet Phase 21 SFC Draw 150 Shape 66 Shape Selector 66 Shared Instance Query Builder 52 Show Menu 118 Show Symbol Data 50 Shrinking a model. 131 Signal dynamics 65, 93 Signal States Dynamics 142 Signal Styles 56 Simulate 90 Simulation 89, 92, 92, 90 Simulation AutoGenerate Scripts 143 Sometimes Asked Questions 125 Special Default 46 Special Defaults 124 Special Symbols 114 Specifications 12 Split Tagnames 145 Start a Model 96 state 89, 58, 61, 89 State Matrix Run Controls 63 State Transition 94, 27 Step 150 Support 17 Swap two symbols on a diagram 100 Symbol Controls 39 Symbol Data 88 Symbol Details Form 44 Symbol dynamic types 92 Symbol Scripting 90 Symbols 8, 10

-TTag Balloons 40 Tag Database 102 Tag Naming 16 Tagging Scripts 83 Tagname 8 Test Sheets 128 Text Text edit keys 124 Text Table 135 The Database 15 The Diagram Mode Toolbar 31 The Diagram Window 32 The File Manager 53 The History view 63 The Main Screen 30 The Main Toolbar 30 The Outline form 38 The Page Text form 33 The Palette 36 Tip of the Day 29 Tips and Tricks 111 Tools Menu 118 Tools Utilities 54 p164
ControlDraw Ltd

ControlDraw Manual

Transition 150 Translate text 78 transpose 60

-UUnderstanding the ControlDraw Database 84 Undo Changes 129 Unit 26 Unit Diagram 26 Unit Phase 21 Update 53 Update Policy 17 User Query Special Objects 135 Using SQL with ControlDraw models 88

-VVariables 89, 90 Variant Tagnames 128 version 8 Version Controls 14 View Menu 117 View text only 78

-WWhat Happens in Run Mode 95 Window Menu 119 Words and Text 11

p165
ControlDraw Ltd

You might also like