Symbols and Schematics
One of the most powerful features of tdct is the support of
schematic hierarchies with user-designed symbols. Using
shapes for user-designed symbols greatly enhances the visual
understanding of a schematic's functionality.
A user-designed symbol represents a user-designed schematic
can be used as a "place-holder" for the schematic on another (higher
level) schematic. The symbol may contain macros and ports. Macros pass
from the higher to the lower level. Ports pass values and
link information in either direction between the hierarchy levels. Each
port on a symbol must correspond to a hierarchical connector with the
same name in the schematic.
Ports can be simple wire ports or bus-ports, which allow the passing of
multiple values through a single port.
Every EPICS run-time database can be presented by the
In the simplest case, the top level schematic is a primitive component
schematic, no symbols are used and the "hierarchy" contains only one
- top level: top level schematic
- next level: component schematics which are
represented by corresponding component symbol instances on the
- bottom component level: primitive component schematics
which contain only
tdct does not impose a limit to the number of hierarchy levels.
The primitive elements of the hierarchy are EPICS records,
hierarchical connectors and "hardware I/O". These are represented by
EPICS symbols which are stored in symbol files. A
base library of
EPICS symbols is provided with tdct. This library is easily
extended to include new EPICS records.
Primitive elements have no associated schematics.
Components consist of a corresponding schematic/symbol pair. The
component schematic may contain primitive elements and component symbol
instances representing other components. In the
component schematic, macros may be used as placeholders in record
record names. Hierarchical connectors are used to link EPICS record
fields to the hierarchy level above. The component symbol instances
must instantiate values for the symbol macros. These instance values
may themselves contain macros.
Top Level Schematics
Top level schematics are schematics from which EPICS
runtime database are
Top level schematics
- may contain macro definitions
- must not contain hierarchical connectors
- do not require a
If an EPICS runtime database is
generated from a top level schematic which contains unresolved macros,
a template database is created. In this case the macro values must be
instantiated when the template database is loaded into an IOC.
Macros and Hierarchy
In order to maintain backward compatiblity with the
e2db system, macro instance values, once defined on a hierarchy level,
are visible at all lower levels of the hierarchy, even if an
intermediate hierarchy layer does not define the macro.
It is discouraged to use this feature and propagate macros, which are
required in a component schematic, by defining the macro on the
Traversing a Hierarchy
If a symbol in a schematic is selected, the corresponding
schematic is opened in a new tab by
- left double-clicking on the selected symbol
- pressing the D key
- using the File
>> Descend hierarchy menu
Three Logic, Beaverton, Ore., USA