Escolar Documentos
Profissional Documentos
Cultura Documentos
ControlDraw Manual.
p1
ControlDraw Ltd
ControlDraw Manual
Table of Contents
Overview
Introduction
About the Help
Diagrams and Symbols
Hierarchies and Models
Classes
Symbols
Words and Text
Pictures
Specifications
Reference models
Version Controls
The Database
Matrices
Tag Naming
Update Policy
Support
Printing
Diagrams
Signals and Connections
Child Links
Polymorphic Diagrams
Associated Matrices
SFC / Grafcet Phase
PFC Procedure Function Chart
SAMA Diagrams
Logic Diagram
Process Flow Diagam (P & I D)
Process Flow Diagram - PFD
Unit Diagram
Equipment Module Diagram
State Transition
Forms
Forms By Function
Login Form
Tip of the Day
The Main Screen
The Main Toolbar
The Diagram Mode Toolbar
Diagram List and Toolbar
The Diagram Window
The Page Text form
Project Details
Project Words
Project Options
Project Users View
The Palette
Page Browser
The Outline form
Symbol Controls
Tag Balloons
Text Control Tool
Link Page Selector
7
7
8
8
9
10
10
11
12
12
13
14
15
15
16
17
17
17
18
18
19
20
21
22
23
23
24
25
26
27
28
29
29
29
30
31
32
32
33
33
34
35
36
36
37
37
38
38
40
41
42
43
43
p2
ControlDraw Ltd
ControlDraw Manual
Connection Controls
Group controls
Symbol Details Form
Diagram Details Form
Paste Properties
Data Design
Classes and Data Build
Data Views
Favorites
Object and Instance Data
Show Symbol Data
Compare and Import Data
Query Design form
Shared Instance Query Builder
The File Manager
Tools Utilities
Fonts Form
Signal Styles
Line Styles form
Line Edit Form
Arrows
Matrix form
Matrix Types
Matrix State Rows
Matrix Columns tab
Run Mode controls
State Matrix Run Controls
The History view
Compare models form
Compare Form Tree
Signal dynamics
Picture Selector
Shape Selector
Paste Special
Database Tagging and Numbering
Custom Tagging
Diagram Sorter
Model Review
Configure Rules
Model Review Heirarchy
Model Class Hierarchy and Field Inherits Map
Re-assign Links Form
Global Find and Replace
Registration
Sequence Numbering
About
Publishing and Backing up
View text only
List View
Find Symbols
Embedded Picture Manager
Global Find and Replace
Set States Symbols
Calculation symbols
Tagging Scripts
The Internal Web Browser.
44
45
46
46
47
48
49
49
50
51
51
52
53
54
55
56
60
61
62
62
62
63
65
66
66
67
68
68
69
70
70
70
71
72
73
74
75
76
77
78
78
80
80
81
82
83
83
84
85
85
86
87
88
89
89
90
p3
ControlDraw Ltd
ControlDraw Manual
91
91
92
93
93
94
95
96
96
97
97
97
98
98
99
99
101
102
103
104
104
105
105
105
106
106
107
108
108
109
110
110
111
111
112
112
113
113
114
114
114
116
116
117
118
118
118
119
119
119
119
120
121
121
122
122
ControlDraw Manual
123
124
124
124
125
126
128
128
129
129
129
130
130
130
130
131
131
132
132
133
134
135
135
136
136
137
137
138
138
139
140
140
140
141
141
142
142
143
143
144
145
145
146
146
147
147
148
149
150
151
151
153
155
155
156
156
ControlDraw Manual
156
157
158
158
158
159
159
159
159
159
160
160
160
160
160
160
161
161
161
162
162
162
163
163
164
165
166
166
167
168
168
169
169
170
170
170
171
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-
ControlDraw Manual
Visit ControlDraw
-o-
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
Sequential Logic,
SAMA Loops
ControlDraw Manual
Logic
Ladder
Process Flow
State Transition
System
Flowchart diagrams
Software Design
Entity Relationship
Equipment Module
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-
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-
ControlDraw Manual
-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
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
-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-
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.
p20
ControlDraw Ltd
ControlDraw Manual
-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
-o-
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-
-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.
p24
ControlDraw Ltd
ControlDraw Manual
-o-
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-
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-
p28
ControlDraw Ltd
ControlDraw Manual
-o-
-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
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
-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-
p31
ControlDraw Ltd
ControlDraw Manual
-o-
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-
ControlDraw Manual
-o-
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
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
p34
ControlDraw Ltd
ControlDraw Manual
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).
-op36
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-
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.
-op37
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.
-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
-op39
ControlDraw Ltd
ControlDraw Manual
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
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.
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-
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-
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
-o-
-o-
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-
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
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
-o-
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
ObjectTags
Instances
Connections by Page
All Connections
Objects and Symbols
Queries
Diagrams
Calculations and Set
Symbols
Set Matrix Steps
Clone XRef
Inherited Fields
Effect
Lists all the ObjectTags in the model.
Displays all the Instances in the model with their RealTags and External Tag
Lists all the Connections page by page in the model
Lists all the Connections in the model
Summarises Generic Objects and Page Tagnames
More views including user defined queries, counts and summaries
List all the diagrams, you can also set their Locks and Review status all at
once
Shows the Locations for Calculations and Set States Symbols
This lists all the Set Matrix Steps and the diagrams they are on.
Shows a table of all clones identifying the Page containing the master and
the pages containing the clones
See the dependencies - the fields that are set by values Inherited from their
parent instances
-o-
p50
ControlDraw Ltd
ControlDraw Manual
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-
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-
p52
ControlDraw Ltd
ControlDraw Manual
-o-
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-
ControlDraw Manual
Add ClassName puts the name of the class as the first column.
-o-
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
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
Locations
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
-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.
-op61
ControlDraw Ltd
ControlDraw Manual
-o-
-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
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-
-o-
p66
ControlDraw Ltd
ControlDraw Manual
-o-
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.
-o-
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-
-op69
ControlDraw Ltd
ControlDraw Manual
-o-
Signal dynamics
The Signal dynamics Form lets you control the dynamic appearance of the connections when running
diagrams dynamically.
-o-
Picture Selector
This form is used to select a picture to show in a symbol, or to choose not to show one. It shows
thumbnail s of the pictures that are
p70
ControlDraw Ltd
ControlDraw Manual
-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
-o-
ControlDraw Manual
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
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-
-o-
ControlDraw Manual
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-
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-
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
Numbering
Normal
p82
ControlDraw Ltd
ControlDraw Manual
Transition
Step
Trans_Step
-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-
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.
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
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-
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-
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.
-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
-o-
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-
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-
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
-o-
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-
p94
ControlDraw Ltd
ControlDraw Manual
-o-
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-
-o-
-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-
ControlDraw Manual
-o-
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 .
-op103
ControlDraw Ltd
ControlDraw Manual
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-
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
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-
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-
-o-
p110
ControlDraw Ltd
ControlDraw Manual
-o-
Import a Matrix
You can Import a Matrix as shown below
-o-
ControlDraw Manual
-o-
Publish a revision
Who is it for?
See The Publish Function, accessed from the File menu or the history view
-o-
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-
-o-
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-
ControlDraw Manual
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-
ControlDraw Manual
-o-
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
-o-
Pictures.
RTF text editor does not support:
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-
-o-
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-
ControlDraw Manual
-o-
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-
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
-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-
ControlDraw Manual
-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
Acquire
CDLicense
CDRegUser
CheckSymbols
UserText
Creates a PFC Acquire object
ControlDraw License number
ControlDraw Registered user name
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
SetStateMatrix
SetSymbols
SymbolClone
SymbolDotChild
SymDotChildDotChild
UserQuery
VariantExclusions
VariantsTable
VariantsTable2
VariantsTable3
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
-o-
File Menu
Under construction still
New
Open
Close
ControlDraw Manual
RTF Editor
Publish or backup
Files manager
Running multi-user/ Save As
Printer Setup
Print
Print diagram
Save Diagram as Metafile
Recently Used list
Exit
-o-
Edit Menu
Under construction still
Undo
Undo All changes
Find on Page
Find in Model
Copy
Paste
Paste Special
Cut
Delete
Select All
Select Similar
Same Class
Select Match Tag
Object Tag
Select None
Global Find and Replace
-o-
Navigate Menu
Under construction still
First
{Shift + F1}
Previous
{Shift + F2}
Next
{Shift + F3}
Last
{Shift + F4}
List of Diagrams
By Class
{Shift + F5}
Go to Diagram {Shift + F6}
Up to Parent
{PageUp}
Down to Child PageDown
Show Outline {Ctrl-T]
Go to Diagram 1
Go to Previous Diagram
Go to Previous Diagram
Go to Last Diagram
Show Diagram List Window - you can also search
from this list
Select diagrams by class
Go to Diagram number
Go to Last Parent
Go to the diagram linked to the symbol
Show the hierarchical window
-o-
View Menu
Under construction still
Fonts
Status Bar
Text Only
Page Browser
Matrix
Redraw
{F5}
ControlDraw Manual
Signals
Options
History
Run
{F9}
Show Menu
Under construction still
Toolbar
Tooltips
Captions
{Ctrl-B}
Alternate Captions
Normal
Instance Tags
Normal
Object Links
Link Tagnames
Symbol Object Tagnames
All Connection Names
All Object Versions
Versions greater than
Highlight Changes
-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
Highlight Sym <> Child class
Highlight Class not allowed
ControlDraw Manual
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
-o-
ControlDraw Manual
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-
Quick Keys
Note - Look at the Menu's for Quick Key commands
See also Text edit keys
Escape
Ctrl+A
Ctrl+N
Ctrl+C
Ctrl+V
Ctrl+X
Ctrl+R
Delete
Ctrl+F
Ctrl+G
Ctrl+O
Ctrl+N
Ctrl+P
Ctrl+Q
F5
Ctrl+PageUp/Down
F6
F7
F8
F9
Ctrl+B
Shift-F8
Ctrl+D
Ctrl+Z
Navigation:
Shift-F1
Shift-F2
Shift-F3
Shift-F4
Shift-F7
Shift-F7
PageUp
PageDown
Ctrl+T
First Diagram
Previous Previous
Next Previous (or * Change Case)
Last Diagram
Go to diagram number
Go to diagram ID
Goes back to the Parent Diagram
Goes to the child Diagram of the selected symbol
Show Outline
p135
ControlDraw Ltd
ControlDraw Manual
Full Screen
Hide Borders
You can cycle through symbols on a diagram by using Ctrl-Up and Crtl_Down whilst the cursor is in the
tag or text field in the Symbol Controls. This selects each symbol in turn, working top to bottom and left
to right.
* Change Case
When the cursor is in a tag or text field such as in the symbol controls, Shift-F3 toggles the case of the
selected text.
-o-
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-
-op136
ControlDraw Ltd
ControlDraw Manual
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
-op137
ControlDraw Ltd
ControlDraw Manual
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-
ControlDraw Manual
-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-
-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
-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
-op143
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-
-o-
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.
-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
-op146
ControlDraw Ltd
ControlDraw Manual
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-
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-
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-
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-
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
p152
ControlDraw Ltd
ControlDraw Manual
-o-
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-
-o-
Diagram background
p155
ControlDraw Ltd
ControlDraw Manual
-o-
-o-
ControlDraw Manual
-o-
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-
-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-
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-
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-
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-
-o-
ControlDraw Manual
-o-
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-
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
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
between the
-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-
If Insert below then the new branch starts below the selected step and terminates at the End
-o-
p168
ControlDraw Ltd
ControlDraw Manual
If the step is already in a parallel branch then you can Extend a parallel branch
-o-
-o-
* for example you cannot connect a step to a step or link into a parallel branch.
-o-
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-
-o-
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
-o-
p172
ControlDraw Ltd
ControlDraw Manual
Index
-AAbout 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
-BBackups 83
Batch Recipe 105
Block Change 45
Build and update the Data tables 116
-CCalculation 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
-DData 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
-FFavorites 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
-HHeader 116
Help Menu 131
Hierarchical Tags 161
Hierarchies and Models 9
hierarchy 9, 40
Hover Mode Popup Menu 91
Hyperlinks 114
-Ip174
ControlDraw Ltd
ControlDraw Manual
-JJustification 43
ControlDraw Manual
-QQueries 49, 50
Query 72
Query Design form 53
Quick Keys 135
ControlDraw Manual
-TTag 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
-VVariables 98, 99
Variant Tagnames 140
version 8
Version Controls 14
View Menu 129
View text only 84
-WWeb 92
What Happens in Run Mode 105
Window Menu 131
Words and Text 11
-XXML 40
p178
ControlDraw Ltd