You are on page 1of 178

ControlDraw Manual

ControlDraw Manual.

ControlDraw Ltd, 2014

p1
ControlDraw Ltd
ControlDraw Manual

Table of Contents
Overview 7
Introduction 7
About the Help 8
Diagrams and Symbols 8
Hierarchies and Models 9
Classes 10
Symbols 10
Words and Text 11
Pictures 12
Specifications 12
Reference models 13
Version Controls 14
The Database 15
Matrices 15
Tag Naming 16
Update Policy 17
Support 17
Printing 17
Diagrams 18
Signals and Connections 18
Child Links 19
Polymorphic Diagrams 20
Associated Matrices 21
SFC / Grafcet Phase 22
PFC Procedure Function Chart 23
SAMA Diagrams 23
Logic Diagram 24
Process Flow Diagam (P & I D) 25
Process Flow Diagram - PFD 26
Unit Diagram 27
Equipment Module Diagram 28
State Transition 29
Forms 29
Forms By Function 29
Login Form 30
Tip of the Day 31
The Main Screen 32
The Main Toolbar 32
The Diagram Mode Toolbar 33
Diagram List and Toolbar 33
The Diagram Window 34
The Page Text form 35
Project Details 36
Project Words 36
Project Options 37
Project Users View 37
The Palette 38
Page Browser 38
The Outline form 40
Symbol Controls 41
Tag Balloons 42
Text Control Tool 43
Link Page Selector 43
p2
ControlDraw Ltd
ControlDraw Manual

Connection Controls 44
Group controls 45
Symbol Details Form 46
Diagram Details Form 46
Paste Properties 47
Data Design 48
Classes and Data Build 49
Data Views 49
Favorites 50
Object and Instance Data 51
Show Symbol Data 51
Compare and Import Data 52
Query Design form 53
Shared Instance Query Builder 54
The File Manager 55
Tools Utilities 56
Fonts Form 60
Signal Styles 61
Line Styles form 62
Line Edit Form 62
Arrows 62
Matrix form 63
Matrix Types 65
Matrix State Rows 66
Matrix Columns tab 66
Run Mode controls 67
State Matrix Run Controls 68
The History view 68
Compare models form 69
Compare Form Tree 70
Signal dynamics 70
Picture Selector 70
Shape Selector 71
Paste Special 72
Database Tagging and Numbering 73
Custom Tagging 74
Diagram Sorter 75
Model Review 76
Configure Rules 77
Model Review Heirarchy 78
Model Class Hierarchy and Field Inherits Map 78
Re-assign Links Form 80
Global Find and Replace 80
Registration 81
Sequence Numbering 82
About 83
Publishing and Backing up 83
View text only 84
List View 85
Find Symbols 85
Embedded Picture Manager 86
Global Find and Replace 87
Set States Symbols 88
Calculation symbols 89
Tagging Scripts 89
The Internal Web Browser. 90

p3
ControlDraw Ltd
ControlDraw Manual

Hover Mode Popup Menu 91


ListandDraw 91
Export to Web Form 92
Data Management 93
Understanding the ControlDraw Database 93
Objects and Instances 94
Data rich models 95
Object Tags 96
RealTag 96
Using SQL with ControlDraw models 97
Data Entry and Display Methods 97
Symbol Data 97
Dynamics and Simulation 98
Dynamic Simulation 98
Run Mode 99
Symbol Scripting 99
Symbol dynamic types 101
Scripting Symbol Wizard 102
Signal Dynamics 103
Set Symbol Selector 104
AutoSFC 104
What Happens in Run Mode 105
Procedures 105
Procedure Charts 105
How to 106
Start a Model 106
Create Diagrams 107
Edit Diagrams 108
Make Connections 108
Drop objects into connections 109
Swap two symbols on a diagram 110
Paste Special Import as Pages and Symbols 110
Import a Matrix 111
Importing Diagrams from Another Model 111
Publish a revision 112
Draw using a P&ID 112
Rapid Model building 113
In at the Deep End 113
Navigate the model 114
Change the Diagram Order 114
Creating Hyperlinks to documents and web pages 114
Build and update the Data tables 116
Create Recipe and Link their Procedures to Equipment Control 116
Linking Recipe Procedures to Equipment Procedures 117
Don't be afraid to play 118
RTF Editor 118
RTF editor Form 118
Guidelines 119
Getting Started 119
Guidelines for Diagrams 119
General Modeling Guidelines 119
Numbering systems 120
S88 Models 121
Publishing and Making Backups 121
Managing ControlDraw Files 122
S88 Modeling Guidelines 122
p4
ControlDraw Ltd
ControlDraw Manual

Tips and Tricks 123


Don't Cut and Paste, Move 124
Reference 124
LICENSE AGREEMENT 124
Licences - Types, Updates and Renewals 125
Special Symbols 126
Menus 128
File Menu 128
Edit Menu 129
Navigate Menu 129
View Menu 129
Show Menu 130
Tools Menu 130
Database Menu 130
Model Menu 130
Window Menu 131
Help Menu 131
Menu Guide 132
Sample Models 132
ControlDraw Origins 133
Conversion from Controldraw1 to ControlDraw2 134
Conversion from Controldraw1 to ControlDraw3 135
Quick Keys 135
Text edit keys 136
Import / Export Data 136
Automatically Filling Instance Fields 137
Number Automatically 137
Sometimes Asked Questions 138
Multi-User and Single User Modes 138
Updating Models 139
Reference model Updating 140
Test Sheets 140
Variant Tagnames 140
External Tag 141
Undo Changes 141
Clipboard support 142
Class Settings 142
Complete Update 143
Shrinking a model. 143
Emergency Recovery 144
Importing Pictures from another model 145
Importing from another model 145
Microsoft LDBView 146
Error Messages 146
Adding Text Lists to diagrams 147
User Query Special Objects 147
Clones 148
Cross Referencing Options 149
Defer Symbol Links display 150
PFC Options 151
Recipe Defer Functions 151
Descended object linker 153
Autoname connections 155
Signal States Dynamics 155
Diagram background 156
Simulation AutoGenerate Scripts 156

p5
ControlDraw Ltd
ControlDraw Manual

Process Flow Diagrams 156


Piping and Instrument Diagrams 157
Split Tagnames 158
SAMA 158
Model Review Reference 158
Page 1 checks 159
Model Advisor 159
Parent <> Class 159
Object Class <> Symbol Class 159
Classes in Parents 159
Not allowed in Page Class 160
Non Included Parent Classes 160
Model File Structure 160
Lost References 160
Clones and Cross References 160
Number Root and Number Exclude 160
Hierarchical Tags 161
Messages 161
Cannot find Reference Model 161
Missing Referenced Child diagrams 162
SFC Draw 162
Sequential Function Charts 162
Overview 163
Basic Step and Transition structure 163
Chart Arrangement 164
Options 165
Chart Editing 166
Start a Chart 166
Add a Step 167
Add Selection branch 168
Add/Extend Parallel Step 168
Deleting Parts of a Chart 169
Arranging charts by dragging Links 169
Arranging charts with Right Clicks 170
Dragging between Steps 170
Copying, Cutting and Pasting 170
Logical consistency 171
Recursive Links 171

p6
ControlDraw Ltd
ControlDraw Manual

Introduction to ControlDraw
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.
and all this data is available for use in other packages

With ControlDraw you can:

Draw diagrams by dragging and dropping symbols 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 - you can use it for example to
generate a database of instruments, or to build an Input output List or SCADA database.
The data can be automatically derived from the drawings of the controlled process.

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 program help, online help and the manual from one
source.

-o-
About the Help
p7
ControlDraw Ltd
ControlDraw Manual

This is the Help file for ControlDraw 3


The page you are reading is the page after the main contents

This help file is relevant to ControlDraw version 3.7.1269 , but If you find any deficiencies please email
comments@controldraw.co.uk
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
You can use Use the Browse buttons above right to the read chapters of the help file.
Use the Index to obtain a detailed alphabetically sorted list of contents
Use Search to obtain information on specific topics

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 Typical Use


Grafcet / Sequential function Sequential Logic,
charts(SFC)
SAMA Loops Modulating Control schemes

p8
ControlDraw Ltd
ControlDraw Manual

Logic On/Off Control, Interlock Logic


Ladder On/Off Control, Interlock Logic
Procedure Function Charts (PFC) S88 Recipe Procedures
Process Flow Small schematic diagrams of the controlled
plant
State Transition Unit State logic
System Control system network diagrams
Flowchart diagrams Software Design
Entity Relationship Systems Analysis, Software Design
Equipment Module S88 Equipment Module graphics and states

ControlDraw is not limited to this set of diagrams, since you can create your own symbols 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 many 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.

p9
ControlDraw Ltd
ControlDraw Manual

You can also define polymorphic diagrams to show generic objects which have variants in each instance.
ControlDraw includes model menu options which can be used to configure and validate a model.
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
p10
ControlDraw Ltd
ControlDraw Manual

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
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 m odel.
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 symbol, or you can

p11
ControlDraw Ltd
ControlDraw Manual

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 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

p12
ControlDraw Ltd
ControlDraw Manual

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
Diagrams
Matrices
Object and Instance Data

-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 model (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

p13
ControlDraw Ltd
ControlDraw Manual

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.
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 missing
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 diagram s 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.

p14
ControlDraw Ltd
ControlDraw Manual

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.

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 model, 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 model

p16
ControlDraw Ltd
ControlDraw Manual

An S88 oriented structure might be


Area.Unit.Equipment Module.Control Module.

See also RealTags


The Object Tag
See Object Tags

Symbol Tags do not have to be unique even on one diagram, but if they generate data then a unique
name is.
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 statements 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
The Print and Review program can be run by selecting Print in the main toolbar or View model in the File
manager and elsewhere.

p17
ControlDraw Ltd
ControlDraw Manual

Print and Review can also be used for making detailed comparisons between model versions.

-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 run 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 symbol, 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 Database
instance class fields.
It is highly recommended that you do not exceed this number of levels in your drawings

p19
ControlDraw Ltd
ControlDraw Manual

-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.
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.

p20
ControlDraw Ltd
ControlDraw Manual

Hiding Text and Links


When in Tagnames mode, you can use "." to hide the Tag, User text 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

Paste Variants - For Quickly Setting or adding Variants


You can easily set large numbers of variants by using the Paste Variants button.
If you have a list of variants names in the clipboard then with Paste Variants you can create a new
variants for each line in the clipboard.
You can also use it to set all the variant cells:
First use Copy Table
Then paste into a spreadsheet, setting the cells then copying the same area of the spreadsheet and then
using Paste Variants.

-o-
Associated Matrices
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.
p21
ControlDraw Ltd
ControlDraw Manual

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

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.

p22
ControlDraw Ltd
ControlDraw Manual

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

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

p23
ControlDraw Ltd
ControlDraw Manual

-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 Run mode to test the logic.

In Run mode the logic can be seen executing

p24
ControlDraw Ltd
ControlDraw Manual

-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

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-
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

p26
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.

p27
ControlDraw Ltd
ControlDraw Manual

-o-
Equipment Module Diagram
This is a type of diagram that represents an S88 Equipment modules, it's Control Modules and (if
allowed) the phases it can run.
Symbols are explained in the S88Reference.cnd model
.

p28
ControlDraw Ltd
ControlDraw Manual

-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
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
The Outline form allows you to navigate the hierarchy, top down or bottom up.
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.
With the Export to Web form you can create a web site version of a ControlDraw Model

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

p29
ControlDraw Ltd
ControlDraw Manual

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
The Hover Mode Popup Menu provides quick access to useful functions

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
Model Class Hierarchy and Field Inherits Map provides more on the structure and inherited data
fields
Tools Utilities Set the default modes and those settings that are not stored in models
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 can be used for global changes

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.

p30
ControlDraw Ltd
ControlDraw Manual

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.

Fast Mode
In fast mode diagrams load and unload much faster however changes made outside of the diagram do
not generally appear until the diagram is redrawn.

Show Training Tips


Causes informative messages to be shown as the user works with ControlDraw

Disable Automatic Synchronising


Prevent automatic checking of reference model versions, see Reference model Updating for explanation.

Prevent Model updates


Prevent alll updates to the structure of all models, see Updating Models for explanation.

Screen Resolution
You can choose when starting up whether to have larger windows and fonts.
This fixes a problem on some PC's that have higher resolution screens and larger standard fonts where
the text would not fit the buttons and labels etc

-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 messages then these are also reset to show again.

p31
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 may have
several diagram opens at once, this is useful for working on a collection of similar 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.
p32
ControlDraw Ltd
ControlDraw Manual

Click on a description for more help

-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.
You can also set the Object, Connection, Drag or Hover mode with the menu that appears when you
right click the diagram

-o-
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.

p33
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

p34
ControlDraw Ltd
ControlDraw Manual

The Right click menu provides quick access to common functions


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
The text is stored as RTF (Rich Text Format), compatible with Wordpad.
You can alternatively use the RTF Editor to edit the text.

p35
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).

-o-
p36
ControlDraw Ltd
ControlDraw Manual

Project Options
This is where you can select a reference model
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.

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-

p37
ControlDraw Ltd
ControlDraw Manual

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?


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)

p38
ControlDraw Ltd
ControlDraw Manual

Printing - prints the diagrams at the size you have selected in the drop down list, previewing first.

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-

p39
ControlDraw Ltd
ControlDraw Manual

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

Keyboard actions:
+ Expand all
- Collapse All
Number - expand to level, for example 1 - Expand First Level, 2 - Expand Second Level etc
Escape - close the outline view

If Parents is checked the form shows the Parent diagrams

Outline Numbering
It is possible to produce Outline numbers, based on the hierarchy.
p40
ControlDraw Ltd
ControlDraw Manual

Page 1 = 1
First Child page = 1.1
First Child of a Child Page = 1.1.1
You can also use this to set the diagram order, after you run Outline numbering you are prompted how
to do this.

Site Map
This generates an XLM Site Map (suitable for an ASP web) to the clipboard

-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.

Notes on Text sizing


The Size to content on the Object Control panel works as follows

p41
ControlDraw Ltd
ControlDraw Manual

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.

p42
ControlDraw Ltd
ControlDraw Manual

-o-
Text Control Tool
With this you can set the font and justification for the Tag and UserText
This appears when you have selected a symbol then clicked on "Tag or Text Font and justification" in the
Object or Group toolbar. It closes when you select a different font or alignment or press Escape
You have to choose whether to apply the changes to the Tag or the User text.
To change the font click the ABC icon to go to the Font Styles

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 text object to fit the text

-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
You can use Ctrl-F to find text in the list
You can also use the Symbol Controls and Group Controls instead of Add New

p43
ControlDraw Ltd
ControlDraw Manual

-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

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

p44
ControlDraw Ltd
ControlDraw Manual

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

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.

p45
ControlDraw Ltd
ControlDraw Manual

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
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
p46
ControlDraw Ltd
ControlDraw Manual

Matrix form.

You can make a diagram polymorphic by setting the polymorphic checkbox.

Note - You can also set a diagram's Tagname or set it as Polymorphic or not from the Right Click
diagram menu without having to show this form.

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.

-o-
Copy and Paste Properties
You can copy the settings of a single symbol using the button in the symbol controls,the Right Click
menu or the hover menu.
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

p47
ControlDraw Ltd
ControlDraw Manual

-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

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 same page as the
object.
Note - if this is set then all other options are greyed out as they will have no effect

p48
ControlDraw Ltd
ControlDraw Manual

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.

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.

p49
ControlDraw Ltd
ControlDraw Manual

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 Effect
ObjectTags Lists all the ObjectTags in the model.
Instances Displays all the Instances in the model with their RealTags and External Tag
Connections by Page Lists all the Connections page by page in the model
All Connections Lists all the Connections in the model
Objects and Symbols Summarises Generic Objects and Page Tagnames
Queries More views including user defined queries, counts and summaries
Diagrams List all the diagrams, you can also set their Locks and Review status all at
once
Calculations and Set Shows the Locations for Calculations and Set States Symbols
Symbols
Set Matrix Steps This lists all the Set Matrix Steps and the diagrams they are on.
Clone XRef Shows a table of all clones identifying the Page containing the master and
the pages containing the clones
Inherited Fields 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

p50
ControlDraw Ltd
ControlDraw Manual

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
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.

p51
ControlDraw Ltd
ControlDraw Manual

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
which fields to import the data from.
Imports are recorded in the model history

p52
ControlDraw Ltd
ControlDraw Manual

-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.

p53
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.
p54
ControlDraw Ltd
ControlDraw Manual

Add ClassName puts the name of the class as the first column.

-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

p55
ControlDraw Ltd
ControlDraw Manual

-o-
Tools Utilities
Note - These user setting are retained for each users, they are not saved with models
Program Settings

Run Multi User


Set this option if you want to share access to ControlDraw models with other users, run multiple sessions
or open in the reviewer at the same time as ControlDraw. Deselect it to open models exclusively shutting
out other users

Logout if idle
p56
ControlDraw Ltd
ControlDraw Manual

Close the model if no activity after the time. Recommended even for one user to keep time spent counts
accurate.

Prompt User Changes


Set this option if you want to see when other users log in and out

Check Model Structure on Opening


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 it.

Compact Last model on Exit


When closing ControlDraw the last open model is compacted

Prompt before Compact


Ask before compacting

Backup Last model on Exit


When closing ControlDraw the last open model is backed up

Diagrams

Name to use for diagram titles the diagrams as pages as Page or Figure or whatever

"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.

Remember Show Captions


Diagrams remember the settings of Show Captions, Classes, Object Tags.
When this is set they restore this when a diagram is opened.

Enable Internal Browser for XML and HTM Links.


When set double clicking objects with a web or file name in the first line of the text will open the Internal
Web Browser.

Show in Diagram Caption


Review status and Class - Default is off, switch on to show the review status and/or class after the
diagram name in the diagram window

Highlight split connections under the mouse


p57
ControlDraw Ltd
ControlDraw Manual

When set (default) if you have connections that are split a red line shows the connections when the
mouse is over a split end

Show hidden text with mouse move"


When moving the mouse over a symbol that has hidden text then the text is shown under the symbol in
grey.

Always add new diagrams at the end.


Keeps the existing diagram order.

Use User Text rather than tagnames for new child diagrams.
When set, When creating a diagram as a new child page the tagname will be taken from the symbol text
rather than the symbol Tagname.
Tagname will be used if the User Text is blank
Additionally the User Text will always be used if the Tagname is blank
Remember Scroll and Zoom in Tools Utilities determines whether diagrams remember their last viewed
state.

Drawing Mode and display

Print Button
Selects whether clicking the print button in the main toolbar runs the Reviewer, Prints the current
diagram, or shows a sub menu.

Fold main toolbar


When set and the main window is too narrow the main toolbar is shown in rows, otherwise it is truncated

Drawing Mode Defaults sets 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.

Move Diagram Down for vars panel


When set, when the variants or instances are shown the diagram is moved down to make space

Pages in view history


The maximum number in the recently viewed diagram list

When creating by dragging only create a note


These apply when the Allow Insert by Dragging as set in the Drawing model toolbar,
When this option is set it is always a note that is created.
When not set, the symbol created is the last one selected in the Palette.

After creating by dragging cancel drag mode


p58
ControlDraw Ltd
ControlDraw Manual

Most useful for adding occasional notes to a diagram.

Locations

Symbols Library The file containing the Palette


You should rarely if ever need to change this. However it may be relevant for workgroups sharing a
library.

The Script Editor


You may change this to you favourite script editor. ControlDraw includes the Koan editor

The Picture Editor


You may change this to your favourite, ControlDraw initially uses the standard Windows Paint program.

Logging
You can choose to use another folder. note - this folder is used in ControlDraw and the Reviewer for
logging purposes and in the Reviewer for a backup of the comments database.

Advanced
Here you can set whether LDB Checking runs, see also MS LDBViewer.

p59
ControlDraw Ltd
ControlDraw Manual

Max User Query Rows (initial value = 120) and Max User Query Cols (initial value = 30)
These limit the size that user queries can be when shown on a diagram, if truncated the last row will say
show how more there are.

Simulation

-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
p60
ControlDraw Ltd
ControlDraw Manual

button or the colour button, or by typing values into the list.

-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-

p61
ControlDraw Ltd
ControlDraw Manual

Line Styles form


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.

p62
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
p63
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

p64
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 symbol dynamic type in
the Columns tab when the column was added) and the cell states in any cell in the column 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.

p65
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.

p66
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 Symbol 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

p67
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
p68
ControlDraw Ltd
ControlDraw Manual

back to Zero
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
Please note - most times the compare using the Reviewer is superior to this compare.

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-

p69
ControlDraw Ltd
ControlDraw Manual

Compare Form Tree

-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

p70
ControlDraw Ltd
ControlDraw Manual

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
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. See also Tag Balloons
p71
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

p72
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 *

p73
ControlDraw Ltd
ControlDraw Manual

One per symbol


The Object tag is set the abbreviated class name followed by the Symbol ID
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.

p74
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

p75
ControlDraw Ltd
ControlDraw Manual

In this case diagrams are sorted so that they are in Class Sort order - this is defined in the Classes and
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 diagrams 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

p76
ControlDraw Ltd
ControlDraw Manual

It is possible to change connection signals at one end only, so yuo may get the situation that the ends 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)
Note - the counts as if all the links select the master. It does not depend on having run Database Build.

-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 symbols that are
permitted will appear in the palette.

p77
ControlDraw Ltd
ControlDraw Manual

-o-
Model Review Hierarchy

-o-
Model Class Hierarchy and Field Inherits Map
The Model Class Hierarchy and Field Inherits Map provide a way to look at the structure of a model.
They depend on having an up to date Data Build
p78
ControlDraw Ltd
ControlDraw Manual

The Field Inherits Map


This shows each field name where it's Special Default is !Inherit and the classes that the field value will
pass through.
A drop down box lists all the inherited fields so you can pick one.

The Model Class Hierarchy

Unlike the Hierarchy in >Model Review it It reflects variants correctly

You may see a message like


"Classes in classes and the Other way round between the following:
X and Y"
This indicates that a diagram of class X has an object of class Y on it but also that a diagram of class Y
has an object of class X on it. This is not logical but is not prevented.

Find Pages appears when you click first on a node and then Ctrl-Click a node that is connected to the
first one.
Find Pages will find the first page that is responsible for generating the relationship

You can click on a node to highlight it's descendants, or right click for parents.
If the node it at the end it will always show the parents.
You can click a node and move the mouse away from the node before releasing the button to leave the
p79
ControlDraw Ltd
ControlDraw Manual

highlight.

You can also delete a node - this does not affect the model. If you delete a node and it leaves a node
behind that has no connections then those nodes are also deleted

-o-
Re-assign Links Form
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

p80
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

p81
ControlDraw Ltd
ControlDraw Manual

-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.

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

Setting Effect on test sheet table Numbering


Normal Table is derived from the The diagram objects are not
Instance Table for the class, visibly changed, however the
and is in the order of the test table is in the order of
sequence numbers on the the sequence numbers
diagram.

p82
ControlDraw Ltd
ControlDraw Manual

Transition The table is derived just The step number increments


from the objects on the before each transition, and
diagram, and parsed into the numeric part of the
rows for each line of text in tagname is replaced with the
the UserText for the step number.
transition.
Step When included on a test The step number is the same
sheet table then the table is as the preceding transition,
derived just from the objects and the numeric part of the
on the diagram, and parsed tagname is replaced with the
into rows step number.
Trans_Step When included on a test The step number increments
sheet table then the table is and the numeric part of the
derived just from the objects tagname is replaced with the
on the diagram, and parsed step number.
into rows

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

-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
p83
ControlDraw Ltd
ControlDraw Manual

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.

-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.

p84
ControlDraw Ltd
ControlDraw Manual

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.

-o-
List View
This shows the objects on a diagram in list form, where you can select/deselect, change tagnames,
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

p85
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

p86
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 symbols. 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.

p87
ControlDraw Ltd
ControlDraw Manual

Preview
When you click on an item in the tree view of filtered symbols it is displayed here.
Saved SymbolImage 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

See also Calculation symbols

p88
ControlDraw Ltd
ControlDraw Manual

-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
You can refer to the parts of each level of the full Heirarchical Tagname

p89
ControlDraw Ltd
ControlDraw Manual

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 small 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-
The Internal Web Browser
ControlDraw has a built in Web browser. It is not intended to replace your standard web browser, and
provides a limited set of functions, sufficient to view many web pages and xml files. It uses the your
default Windows settings.
It also provides the Help Check for Updates function.

p90
ControlDraw Ltd
ControlDraw Manual

The browser has the usual Back, Forward, Stop, Refresh and Home buttons, plus Open in Your Default
browser.
There is also a drop down list showing the addresses that were opened from the Follow Hyperlinks
menu.

-o-
Hover Mode Popup Menu
The Hover mode menu appears only when Hover Mode is selected by right clicking a diagram
It appears as you move the mouse over an object and provides quick access to common functions
without having to click the symbol.
It also provides some information including the count of instances of the objects and the number of
Symbol data items stored with the symbol.
The relevant menu items are only enabled if they are relevant

Click on a menu for more

-o-
List and Draw
This is under development
List and Draw is available from Start New Diagram when a diagram is empty or from >Tools>List and
Draw
You can create diagrams just by entering a list of tags.
You can type Tags into the list on the left of the form, in the From and To fields.
You can also paste these from Excel for example.
Each tag will create a node, and the From tags are connected to theTo Tags
There is a choice of style for automatically arranging the diagram.
At present this is very much in development, however even now it can be used for quickly creating a
diagram that you can subsequently edit in the main diagram form.
You can drag connections from node to node, change the order by dragging one node onto another, and
add connections between nodes by right clicking a link.
Notes - Duplicate tagnames are not allowed

p91
ControlDraw Ltd
ControlDraw Manual

Menus:
>Data >Paste Paste the list of From's and To's
>Data >Copy Copy the list of From's and To's
>Data >Get from Current Diagram Gets the objects and connections from the current diagram. Note - if
no objects are selected then all diagram objects are included, otherwise only selected objects are include

Save to diagram
If you have used Get From Diagram then this will update existing objects and connections and creates
new objects and connections for items that were added.

-o-
Export to Web Form
You can Export a ControlDraw model as a web site using this form, it is available from >Files >Export to
Web

The process of generating a web takes master files and then create the web pages by copying the Page
master and then substituting information from the model into fields defined in the Master file
You can generate a Contents web page containing a list of Diagrams using a Contents master page
(which you can name this using the Destination Contents File field), or if the Page master is the same as
the Contents Master then the list of diagrams is shown on each page

Each web page is a diagram page in the ControlDraw model.


Each ControlDraw diagram page is saved as a png file including automatic generation of the hot spots as
an HTML ImageMap .
The page text is generated from the page RTF text, preserving the formating and any pictures that are
embedded in the RTF.
Be aware that picture in the RTF can make the export process very slow.

The menu structure can also be exported as an XML file using the ControlDraw Outline form

Fields in the Master:


[PageTitle] - will be replaced with the Diagram Tagname
[PageText] - will be replaced with an HTML version of the RTF text
[PageStatus] - will be replaced with the review status and diagram version
CD_PageImage_Master.png - will be replaced with the Image of the diagram
Each link to another page will be used to create a hot spot link
Each URL in first line of a diagram object will also create a hot spot link

p92
ControlDraw Ltd
ControlDraw Manual

[ContentPageList] - will be replaced by the list of diagrams


The link [First][Previous][Next] - will also be replace by the relevant page

You can choose the make the images of the Diagram and RTF pictures as BMP, GIF, PNG or JPG. PNG
gives the best result
ControlDraw provides two Template files that you can customise. You can find them in the
ControlDraw/WebTemplate folder

Use \Pages Sub Folder for Pages after first


When set this put all the pages other than the first one in their own path, /Pages under the web
destination.
(Images for those pages are in /Pages/Images)
This makes it much cleaner as it puts only one file in the destination web root.

-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
below.

p93
ControlDraw Ltd
ControlDraw Manual

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

p94
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
p95
ControlDraw Ltd
ControlDraw Manual

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
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 same 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 symbols according
the RealTag rule defined for the class.

RealTags must be unique.

p96
ControlDraw Ltd
ControlDraw Manual

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

-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.

p97
ControlDraw Ltd
ControlDraw Manual

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.

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

p98
ControlDraw Ltd
ControlDraw Manual

-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.
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 Symbol 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

p99
ControlDraw Ltd
ControlDraw Manual

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.

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 more
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

p100
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

Boolean
If the Object Variable Type is Boolean then you can or rename from the default True/False to
other pairs such as Run/Stop.
Integer
If the Object Variable Type is Integer then you can add, delete or rename states. Use F2 to edit
the state name.
Child page states
If the Object Variable Type is Child page states then the state names are derived from the child
diagram. You can either change the states on the child page or change the Object Variable Type
to Integer. Note - If you change the states on the child page then it will affect all symbols that
are also parents of the same page and have Child page states dynamics. However this will not
take effect until you have run the diagram or else gone into and out of the 'Symbol Script and
Dynamics' form for each such symbol.
Signal States.
If this is selected, the states of a symbol correspond to the states of the default signal for the

p101
ControlDraw Ltd
ControlDraw Manual

class of the symbol!


Signal States
If this is selected, the states of a symbol correspond to the states of the default signal for the
class of the symbol!
Page Matrix Row
If this is selected, the states of a symbol correspond to the rows of the matrix associated with the
diagram.
Single
These are displayed as numbers formatted according to the 'Value Format' setting.

Use F2 to edit the names.

-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
p102
ControlDraw Ltd
ControlDraw Manual

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.

-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-
p103
ControlDraw Ltd
ControlDraw Manual

Set Symbol Selector


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.
p104
ControlDraw Ltd
ControlDraw Manual

Reset in the Run form resets the entire chart, deacting all the states and switches the transitions off
(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.

p105
ControlDraw Ltd
ControlDraw Manual

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.
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

p106
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.
To draw by drag and drop, Display the Palette
To use a predefined type Right Click

You can choose from various types of diagram.

p107
ControlDraw Ltd
ControlDraw Manual

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
When you open a diagram you can edit it provided it is not locked or referenced. If a diagram is locked
then you need to unlock in the diagram details form.
You can then Add, Edit or Delete symbols, and make and edit the connections between them.
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 from the Diagram Mode Toolbar and then drag
where you want the note.

Editing Symbols
Subject to the diagram mode, you can move symbols with the mouse or keyboard or use the
Symbol Controls to set symbol tagnames and text, link pages etc.

Deleting Symbols
When any symbols are selected you can press the Delete button in the Main toolbar
If one symbol is selected and the Symbol controls is showing press Escape to hide the Symbol
controls then press Delete
If a Group is showing press the Delete key

Make connections between symbols


Drop objects into connecting lines
Swap two symbols on a diagram

-o-
Make Connections
There are 3 ways of making connections
1 Connecting predefined points

p108
ControlDraw Ltd
ControlDraw Manual

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

-o-
Drop objects into connections
You can drop objects into connecting lines.

p109
ControlDraw Ltd
ControlDraw Manual

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

-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

p110
ControlDraw Ltd
ControlDraw Manual

-o-
Import a Matrix

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
p111
ControlDraw Ltd
ControlDraw Manual

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.

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 symbols 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.

p112
ControlDraw Ltd
ControlDraw Manual

An Import Export tool is available from ControlDraw Ltd that allows you to import, export or compare the
data in the two.

-o-
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 item s
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.

p113
ControlDraw Ltd
ControlDraw Manual

What next?

Try to draw on page 1 a very simple block diagram of the process. Then make more detailed diagrams
for each block on page 1, by adding child pages to the objects.

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-
Create Hyperlinks to documents and web pages
When you are specifying or designing a system it is generally necessary to keep a collection of
documents, such as the P&ID's, Process descriptions and so on. Often these documents can become
superseded by a model, but it is always useful to be able to refer back to them, to ensure traceability
and to be able to check back. Keeping track of these can be tedious.
When you are first starting a model it is helpful as it makes it qquick to show the source documents.
With ControlDraw it is very easy to create objects that contain links to all these other documents and

p114
ControlDraw Ltd
ControlDraw Manual

you can open by clicking a diagram.


If an object contains in it's user text a single line that has the address of a file on your computer or an
internet web link then , Follow Hyperlink appears in the Right click menu. And in the Object Controls
Follow Hyperlink appears in the object controls menu.
If the object has multiple lines containing addresses then they are listed in a sub menu in the object
controls.
If you want you can set ControlDraw so you can double click to open the link. This is done in Tools
Utilities
In Project Options , you can set a path that contains all your linked documents so that you can easily
relocate all the documents in one go.
If you want to open an XML file at a specific line you can use FilePathandName#linenumber

When a file reference contains "!Docs" at the start, this is replaced with the Linked Documents Path as
defined in Project Options so you can keep a collection of documents in an easily relocated folder."

You can also copy lists of files in Windows Explorer - after you copy then and switch to ControlDraw it
recognises the files and gets list of their names that you can paste as text.
If you are running ControlDraw and have a diagram open you can then paste their names into any
program.

See below an example of copying a list of files and then being able to open them from the object
controls

Copy the files

Switch to ControlDraw and use Paste Special as note

This will then create a symbol with the tagname Note and the file list in the user text
Now when you select the symbol you can open any file with the object controls menu

p115
ControlDraw Ltd
ControlDraw Manual

Note, you may see this when you click on the symbol.

If the files are contained within your Documents path, when you say yes the references are changed to
ones relative to that path, prefixed by "!Docs"

Note also that you can mix normal text and file names provided they are on separate lines.
In addition, the files will only appear in the menu if they exist.

-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.
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

p116
ControlDraw Ltd
ControlDraw Manual

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 Equipment 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 Equipment Procedural Elements, use SymbolCopy"


In this case the EPEs are listed even where they do not have child diagrams and the new step is made as
a SymbolCopy. This provides a closer link to the Equipment Control.
Note- the souce object must have approprate connection pointS for the added EPE to connect into the
chart
A standard User Query, EquipmentProceduralElements 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
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

p117
ControlDraw Ltd
ControlDraw Manual

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-
Don't be afraid to play
You might be wondering what if you change something about the model.
It can be a small thing like a small change to an object class or a bigger thing like merging or splitting
diagrams or even major structural changes.
ControlDraw is designed to support making such changes quickly.
Backups are easily made so that you can easily restore a previous version if the changes do not achieve
what you want
Things you can do to make changes
Draw a p&id. Take selected parts, copy, make a new page, paste as clones. Then make those clones the
master.

-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

p118
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-
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

-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'

p119
ControlDraw Ltd
ControlDraw Manual

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

p120
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.
p121
ControlDraw Ltd
ControlDraw Manual

-o-
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

p122
ControlDraw Ltd
ControlDraw Manual

procedural models.

Notes
Operations may belong to units or they may only exist in the Batch manager.
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.
p123
ControlDraw Ltd
ControlDraw Manual

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 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.

p124
ControlDraw Ltd
ControlDraw Manual

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

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.
PC/User dedicated:

p125
ControlDraw Ltd
ControlDraw Manual

Each user has to obtain a license specific to their PC


Team licenses:
A single license is provided and installed on a server, users who are connected to the server can then
run ControlDraw

Using >Help >About will reveal the license information.

License Duration
Licenses include all releases of the software for whatever period has been paid for, one year if not stated
otherwise.
After this period you can continue to use your latest version of ControlDraw if you have a PC/User
dedicated license. If you update to a newer version the software ceases to work. (You can go back to a
previous version to renable the license)

Time Limited Licenses are also available - these 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 PC/User dedicated 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.
These License files are specific to the users PC.
Team Licenses work with a network based license

If your license has less than 30 days to run then you will be prompted
"Your free upgrade period ends on thedate" The prompt 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 replacing
your PC, your PC/User dedicated 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

p126
ControlDraw Ltd
ControlDraw Manual

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
ClassFieldsInst Forces an object to be shown on the diagram for each
class property of the diagrams class that is in the
instances table
ClassFieldsObjs Forces an object to be shown on the diagram for each
class property of the diagrams class that is in the
objects table
ClassIFields Shows the fields that are associated with instances of
the objects of the pages class
ClassOFields Shows the fields that are associated with objects of
the pages class
ClassTestFields Forces an object to be shown on the diagram for each
class property of the diagrams class that is a Test
field
ClassTFields Shows the Test sheet only fields that are associated
with instances of the objects of the pages class
Client The client name in Project Data
cObjectData Shows the data that is associated with an object
CrossReference Lists the other pages in the model that has clones of
objects on the diagram
CrossReferencewithPos Lists the other pages in the model that has clones of
objects on the diagram, including the left and top
coordinates
FileName The File name
HyperLink Makes an object that you can click to open a file.
JumpSymbols List of the pages and symbols with jumps to the page
Matrix Displays a matrix
MatrixColour Displays a matrix with coloured cells
ModelVersion The version number of the model
MXDescriptions Lists the names of the associated Page and Set State
matrices
PageID The ID number of the diagram - Unique within the
model
PageNumber Prints the Figure Number
PagesList Table of Contents
PageStateMatrix Displays the name of the associated State matix for
the diagram
PageTitle The Name of the diagram the symbol is on
PageXofY Returns the page and page count
Parameter Pass thrus Shows what parameters are linked from a level above
to a level below a diagram
ParentPages List of the parent pages
ParentSymbols List of the parent pages and symbols
PFCAcquire Create an object linked to Acquirable objects in the
model. Acquirable objects have the Can Acquire
setting in the class of the object
ProjectName The project name in Project Data
ProjectNo The project no in Project Data
Recipe EPE Requirements 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
Recipe Equipment RequirementsLists the page number and and name for all the
equipment types (pages) the recipe and descendants
refer to
ReviewStatus Shows the review status of a diagram
p127
ControlDraw Ltd
ControlDraw Manual

SetMxState Make an SFC/PFC Phase Step symbol to set a state in


the associate Set State diagram
SetStateMatrix Displays the name of the associated Set State matix
for the diagram
SetSymbols Creates an SFC/PFC Phase Step symbol that contains
a list of settings for other symbols
SymbolClone Use to make the same object appear on two or more
diagrams
SymbolDotChild Similar to a clone, but provides applies to an object in
the child, of a symbols, eg PT112.MV
SymDotChildDotChild Similar to a SymbolDotChild, but goes one level more.
UserQuery User can enter sql - rows of data are returned into
the user text field
VariantExclusions Lists the variants and the symbols that are excluded
for each
VariantsTable Lists the variants and the symbols that are excluded
for each and the variant tagnames, 1 Row per Variant
VariantsTable2 Lists the variants and the symbols that are excluded
for each and the variant tagnames 1 Col per Variant
VariantsTable3 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

p128
ControlDraw Ltd
ControlDraw Manual

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.
Recently Used list 0 is most recent, max is 9
Selecting >File 0 re-opens the current model.
Exit Ends the session

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

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

-o-
View Menu
Under construction still
Fonts Set the font styles
Status Bar View or hide the information panel
Text Only A view of the text fields on the diagrams in the model
Page Browser View thumbnail images of the diagrams
Matrix State Matrices or imported tables
Redraw {F5} Refresh the diagrams

p129
ControlDraw Ltd
ControlDraw Manual

Signals Set the line styles


Options View the project options
History View the model history and backup and issuse the model
Run {F9} See the diagam running

-o-
Show Menu
Under construction still

Toolbar Toggle the Main toolbar on/off


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

-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 class - Highlights symbols on the diagram in red
Highlight Sym <> Child class - Highlights symbols on the diagram in red
Highlight Class not allowed - Highlights symbols on the diagram in red

p130
ControlDraw Ltd
ControlDraw Manual

Highlight non included classes - Highlights symbols on the diagram in red


Find if Tagname in Parent - Lists parent diagrams that have a symbol with the same tagname
Open Reference Model - Switches to the reference model
View Reference Model - Opens the reference model in the Reviewer

-o-
Window Menu

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

p131
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.

p132
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

p133
ControlDraw Ltd
ControlDraw Manual

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
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 some 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 filename for the
original CD1 file, the Project Title or the Page title for page 1 as the default name for the new File.
p134
ControlDraw Ltd
ControlDraw Manual

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.

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 Backs out of the current operation


Ctrl+A Selects all symbols
Ctrl+N Select none
Ctrl+C Copy selected symbols
Ctrl+V Paste symbols
Ctrl+X Cut selected symbols
Ctrl+R Replicate selected symbols (copy and paste in one)
Delete Delete selected symbols (When Symbol Controls not
showm)
Ctrl+F Find and select symbols on the current diagram
Ctrl+G Find symbols anywhere in the model
Ctrl+O Open a model
Ctrl+N Start a new model
Ctrl+P Print - run Print and Review
Ctrl+Q Sequence Numbering
F5 Redraw diagram
Ctrl+PageUp/Down Cycles through the tabs in a form
F6 Symbol mode
F7 Connection mode
F8 Text mode
F9 Run
Ctrl+B Toggles Show Captions
Shift-F8 Toggles Show Symbol Class
Ctrl+D Database Design
Ctrl+Z Undo Last change

Navigation:
Shift-F1 First Diagram
Shift-F2 Previous Previous
Shift-F3 Next Previous (or * Change Case)
Shift-F4 Last Diagram
Shift-F7 Go to diagram number
Shift-F7 Go to diagram ID
PageUp Goes back to the Parent Diagram
PageDown Goes to the child Diagram of the selected symbol
Ctrl+T Show Outline

p135
ControlDraw Ltd
ControlDraw Manual

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

Windows:
F11 Full Screen
F12 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 CTRL+ 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-

p136
ControlDraw Ltd
ControlDraw Manual

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
Options are:

!Left PTag # Use the left #letters of the Symbol Tagname


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

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

!Inherit allows you to set a field in an instance and have the value cascade down into the same named
fields in any child objects. To do this use '!Inherit' as the default value for the field for the lower level
object.

-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-

p137
ControlDraw Ltd
ControlDraw Manual

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.

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.

p138
ControlDraw Ltd
ControlDraw Manual

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
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 sometimes 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.

Preventing Model Updates


You can prevent models from being updated either for a particular model or for all.
To prevent a model from updating Set "Prevent Automatic model updates" in the Project Details
To prevent a model from updating Set "Prevent Model updates" in the Login form

ControlDraw2 models

p139
ControlDraw Ltd
ControlDraw Manual

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.
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

p140
ControlDraw Ltd
ControlDraw Manual

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
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 manual 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
p141
ControlDraw Ltd
ControlDraw Manual

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.

-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 symbol 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)

p142
ControlDraw Ltd
ControlDraw Manual

-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 forms 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.

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-

p143
ControlDraw Ltd
ControlDraw Manual

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.


! 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.

p144
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 model 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 import 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.

p145
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 model. This is used in
ControlDraw to continually check the status of the model,
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-

p146
ControlDraw Ltd
ControlDraw Manual

Adding Text Lists to diagrams


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.

p147
ControlDraw Ltd
ControlDraw Manual

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:

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


{CurrentPageName} returns the tag name 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

p148
ControlDraw Ltd
ControlDraw Manual

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.

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.

Clones of Clones
Note - Cloning clones is possible and may be useful if you have moved connection points on the original
clone however after that it is better to point the new clone to the original master - ControlDraw handles
this as follows:
New >Model >Check For Cloned Clones
This will tell you if there are any Clones of Clones in an entire model and provides an option to fix them
This will also happen on a page basic when you open a page.
>Project >XREF and PFC Options a new checkbox
Silently Fix Cloned Clones - When a clone has been cloned, point new clone to original master without
prompting.

-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.

p149
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

p150
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

-o-
Recipe Defer Functions
This is all about defining the Master value of a recipe parameter 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 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

p151
ControlDraw Ltd
ControlDraw Manual

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 master 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 thru" special symbol

The Configure tab

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

p152
ControlDraw Ltd
ControlDraw Manual

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
You can also delete objects links by clicking on one then pressing the Delete key

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.

p153
ControlDraw Ltd
ControlDraw Manual

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.
With All selected the list shows all the objects in the child page hierarchy and whether they are linked.
With All Linked selected you can see only those that are linked and you can also de-link by unsetting the
Linked column and then clicking De-Link.
(You can also de-link from the Parameter Map)

With Not Linked selected you can make new objects on the current diagram at the same time creating
the links.
This is a quick way to generate Master Recipe parameters that link down to for example phase
parameters. To add these set 'Add Link' for each parameter to be included then click 'Create and link
objectts for selected rows'

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.
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

p154
ControlDraw Ltd
ControlDraw Manual

-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

-o-
Diagram background

p155
ControlDraw Ltd
ControlDraw Manual

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 minor
details such as piping details or minor instrumentation.

PFD's are sometime called flowsheets


Typically, process flow diagrams will include:
p156
ControlDraw Ltd
ControlDraw Manual

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 Diagram, 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. Another way is to copy the image from whereever
and then use Paste Special as picture

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.

p157
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:
You can 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 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)
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.
With 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 Systems"
1.1 This standard presents both symbols and diagramming format for use in representing measuring,
controlling and computing systems.

-o-

Page 1 checks
p158
ControlDraw Ltd
ControlDraw Manual

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
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
p159
ControlDraw Ltd
ControlDraw Manual

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
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.

-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.

p160
ControlDraw Ltd
ControlDraw Manual

For example you may have several process cells, containing many Units. All the tagging can then be
made based on the units tagnames

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 model to point 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

p161
ControlDraw Ltd
ControlDraw Manual

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

-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

p162
ControlDraw Ltd
ControlDraw Manual

-o-
SFC Draw Overview
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 Draw
type)
A textual description (optional)
A table if detailed actions or conditions (optional)

p163
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.

p164
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

p165
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.

p166
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 buttons.

-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

p167
ControlDraw Ltd
ControlDraw Manual

-o-
Add Selection branch
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

p168
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
p169
ControlDraw Ltd
ControlDraw Manual

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.

-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

p170
ControlDraw Ltd
ControlDraw Manual

-o-
Logical consistency
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.

p171
ControlDraw Ltd
ControlDraw Manual

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.

-o-

p172
ControlDraw Ltd
ControlDraw Manual

Index

-A-
About 83
About the Help 8
Adding Text Lists to diagrams 147
Animate 99
Arrange symbols 45
Arrows 62
Associated Matrices 21
Automatically Filling Instance Fields 137
Autoname connections 155
AutoSFC 104

-B-
Backups 83
Batch Recipe 105
Block Change 45
Build and update the Data tables 116

-C-
Calculation 89
Calculation symbols 89
Cannot find Reference Model 161
Change the Diagram Order 114
Classes 10
Classes and Data Build 49
Classes in Parents 159
Clipboard support 142
Clone 148, 112, 72
Clones 148, 149
Clones and Cross References 160
Code 99
Colors 37
Compact 55
Compare 83
Compare and Import Data 52
Compare Form Tree 70
Compare models 17
Compare models form 69
Complete Update 143
Configure Rules 77
Connection Controls 44
ControlDraw 7
ControlDraw Origins 133
Conversion from Controldraw1 to ControlDraw2 134
Conversion from Controldraw1 to ControlDraw3 135
Convert 143
Create Diagrams 107
Create Recipe and Link their Procedures to Equipment Control 116
Creating Hyperlinks to documents and web pages 114
Cross Reference 149
Cross Referencing Options 149
Custom 74
Custom Tagging 74

-D-
Data Design 48
Data Entry and Display Methods 97
Data rich models 95
Data Type 66
Data Views 49
Database Menu 130
Database Tagging and Numbering 73
Defer Symbol Links display 150
Descended object linker 153

p173
ControlDraw Ltd
ControlDraw Manual

diagram 8
Diagram background 156
Diagram Details Form 46
Diagram List and Toolbar 33
Diagram Sorter 75
Diagrams and Symbols 8
Disable Automatic Synchronising 161
documentation 11
Don't be afraid to play 118
Don't Cut and Paste, Move 124
Draw using a P&ID 112
Drop objects into connections 109
Duplicate 73, 76, 80
Dynamic Simulation 98
Dynamics 98

-E-
Edit Diagrams 108
Edit Menu 129
Embedded Picture Manager 86
EPE 116, 117, 161
Equipment Control 116
Equipment Independent Recipes 116
Equipment Module 28, 66, 63
Equipment Module Diagram 28
Equipment Modules 122
Equipment Phase 22
Equipment Procedural Element 116, 117
Equipment Procedural Entity 116, 161
Error Messages 146
Example 132
Export 92
Export to Web Form 92
Expression 89
External Tag 74, 141, 73

-F-
Favorites 50
Fields 48
File Menu 128
Find Symbols 85
Font 43
Fonts Form 60
Forms By Function 29
Formula 116
Function 89, 99
Function Block diagrams 23

-G-
General Modeling Guidelines 119
Getting Started 119
Global Find and Replace 80, 87
Grafcet 163, 162, 22
Group controls 45
Guidelines for Diagrams 119

-H-
Header 116
Help Menu 131
Hierarchical Tags 161
Hierarchies and Models 9
hierarchy 9, 40
Hover Mode Popup Menu 91
Hyperlinks 114

-I-

p174
ControlDraw Ltd
ControlDraw Manual

Import 72, 110, 55


Import / Export Data 136
Import a Matrix 111
Import Matrix 147
Importing Diagrams from Another Model 111
Importing from another model 145
Importing Pictures from another model 145
In at the Deep End 113
Inherit 137, 48, 78
Instance 16
Instance Tag 74
Instances 116
Instrument List 112
Internet 92
InTools 112
Introduction 7
IO List 112, 123
ISA S88.01 Unit 27
ISA8.01 Equipment Module 28
ISA889.01 Phase 22

-J-
Justification 43

-L-
Licences - Types, Updates and Renewals 125
License 81
LICENSE AGREEMENT 124
Line Edit Form 62
Line Styles form 62
Link Page Selector 43
Linking Recipe Procedures to Equipment Procedures 117
List View 85
ListandDraw 91
Lock and Unlock 49
Locking 33
Logic Diagram 24
Lost References 160

-M-
Make Connections 108
Managing ControlDraw Files 122
Master Recipe 116
Matrices 15
Matrix 63, 66, 66, 72
Matrix Columns tab 66
Matrix form
Matrix State Rows 66
Matrix Types 65
Menu Guide 132
Menus 128
Missing Referenced Child diagrams 162
model 9, 7
Model Advisor 159
Model Class Hierarchy and Field Inherits Map 78
Model File Structure 160
Model Menu 130
Model Review 76
Model Review Heirarchy 78
Model Review Reference 158
Mouse Buttons 33, 32
Multi-User and Single User Modes 138

-N-
Navigate Menu 129
Non Included Parent Classes 160
Not allowed in Page Class 160
p175
ControlDraw Ltd
ControlDraw Manual

Number Automatically 137


Number Root and Number Exclude 160
Numbering systems 120

-O-
Object and Instance Data 51
Object Class <> Symbol Class 159
Object Tag 73
Object Tags 96
Objects and Instances 94
Operating mode 33

-P-
P&ID 112, 25, 157, 156
Page 1 checks 159
Page Browser 114, 38
Page Tag 73
Parent <> Class 159
Paste Properties 47
Paste Special 72
Paste Special Import as Pages and Symbols 110
PFC Options 161, 151
PFC Procedure Function Chart 23
PFD 26
Phase 116, 163
Picture 72, 70
Picture Selector 70
Polymorphic Diagrams 20
Printing 17
Procedure Charts 105
Procedures 116
Process Automation 7
Process Flow Diagam (P & I D) 25
Process Flow Diagram 26
Project Details 36
Project Options 37
Project Users View 37
Project Words 36
Publish a revision 112
Publishing and Making Backups 121

-Q-
Queries 49, 50
Query 72
Query Design form 53
Quick Keys 135

-R-
Rapid Model building 113
Re-assign Links 80
RealTag 74, 73, 96
Recipe Defer Functions 151
Recipe Parameter Map 151
Recipe Parameters 151
Recipe Procedure 116, 117
reference model 161
Reference model Updating 140
Reference models 13
Registration 81
Repair 55
reusable objects 7
Review Status 49
Root 74
RPE 116
RTF editor Form 118
Run 98, 68
Run Mode 99
p176
ControlDraw Ltd
ControlDraw Manual

Run Mode controls 67

-S-
S88 10, 121
S88 Modeling Guidelines 122
S88 Models 121
SAMA 158
SAMA Diagrams 23
sample 113, 132
Sample Models 132
Save Symbol Properties 41
Script 137
Scripting Symbol Wizard 102
Sequence Numbering 82
Set States Symbols 88
Set Symbol Selector 104
SFC 104, 163, 82, 162, 22
SFC / Grafcet Phase 22
SFC Draw 163
Shape 71
Shape Selector 71
Shared Instance Query Builder 54
Show Menu 130
Show Symbol Data 51
Shrinking a model. 143
Signal dynamics 70, 103
Signal States Dynamics 155
Signal Styles 61
Simulate 99
Simulation 99, 102, 101, 99
Simulation AutoGenerate Scripts 156
Sometimes Asked Questions 138
Special Default 48
Special Defaults 137
Special Symbols 126
Specifications 12
Split Tagnames 158
Start a Model 106
state 98, 63, 66, 99
State Matrix Run Controls 68
State Transition 104, 29
Step 163
Support 17
Swap two symbols on a diagram 110
Symbol Controls 41
Symbol Data 97
Symbol Details Form 46
Symbol dynamic types 101
Symbol Scripting 99
Symbols 8, 10

-T-
Tag Balloons 42
Tag Database 112
Tag Naming 16
Tagging Scripts 89
Tagname 8
Test Sheets 140
Text
Text edit keys 136
Text Table 147
The Database 15
The Diagram Mode Toolbar 33
The Diagram Window 34
The File Manager 55
The History view 68
The Internal Web Browser. 90

p177
ControlDraw Ltd
ControlDraw Manual

The Main Screen 32


The Main Toolbar 32
The Outline form 40
The Page Text form 35
The Palette 38
Tip of the Day 31
Tips and Tricks 123
Tools Menu 130
Tools Utilities 56
Transition 163
Translate text 84
transpose 65

-U-
Understanding the ControlDraw Database 93
Undo Changes 141
Unit 27
Unit Diagram 27
Unit Phase 22
Update 55
Update Policy 17
User Query Special Objects 147
Using SQL with ControlDraw models 97

-V-
Variables 98, 99
Variant Tagnames 140
version 8
Version Controls 14
View Menu 129
View text only 84

-W-
Web 92
What Happens in Run Mode 105
Window Menu 131
Words and Text 11

-X-
XML 40

p178
ControlDraw Ltd

You might also like