Automation Block Diagram Editor Guide
Automation Block Diagram Editor Guide
User’s Guide
Famic Technologies Inc. All rights reserved.©
REPRODUCTION
ii
1 Introduction
The Block Diagram editor is a specialized math workshop which is used to draw Function
Block Diagrams, following certain rules, using blocks available in the Automation Studio™
library. These diagrams represent mathematical models which can be simulated.
This workshop allows the user to create his own mathematical model based on the real
behavior of a component.
This User’s Guide for Block Diagrams presents the information required to use this workshop
in Automation Studio™. This information includes component descriptions, the method for
the configuration of components, the drawing and simulation of a Block Diagram and
application examples.
Chapter 2 Inserting a new Block Diagram: This chapter describes how to create a Block
Diagram in Automation Studio™.
Chapter 3 Diagnostics: This chapter describes how to run diagnostics in Block Diagrams.
Chapter 4 Block Diagram Types: This chapter presents the different categories of block
diagrams available in Automation Studio™.
Chapter 5 Use case: Position control of a hydraulic cylinder: This chapter presents a usage
example which demonstrates the potential of the mathematical workshop in Automation
Studio™.
Chapter 6 Use case: Custom modeling of a hydraulic pump: This chapter describes how to
create a Custom Component with Blocks.
Once the new Block Diagram is created, it appears in the project explorer, as shown in the
figure below. Right-clicking on the diagram opens the contextual menu and gives access to
the usual diagram commands.
2-2
Inserting a new Block Diagram
Figure 2-3 : Block Diagram appearing under “Project” in the Project Explorer
2-4
Inserting a new Block Diagram
Appearance
Information
As with any other diagram in Automation Studio ™, it is possible to browse the history of the
revisions and modifications in the “History” branch from the properties window of the
diagram which shows, for each modification, the name of the person, the revision date, the
status (revision, verification and approval) and a comment.
These revisions are displayed in the list with revision numbers, comments and creation
dates.
Modify Revision
Select the revision in the list to modify it. Details relative to it are displayed in the section
underneath.
Search Revision
A filer can be used to search a revision from the date, revision number or comment.
Duplicate Revision
The command is used to create a new revision by duplicating the revision currently
selected.
2-6
Inserting a new Block Diagram
2.3.1 Standards
The command opens the Project Properties section where the user can set and manage
Block Standards.
For more details on the categories in the “Edition” Tab, please refer to section 2.3.1.4 Edition
Tab.
The Standards List window presents a list of standards available for a Block Diagram
document and is also where standards can be created, duplicated or deleted.
2-8
Inserting a new Block Diagram
Command Description
New To create a new standard. The standard that is created
contains Automation Studio™ default options.
Paste the To paste the copied standard to the list. The new created
Selection standard will have the same name as the copied one, with a
suffix “Copy”.
Column Description
Displayed Name The name of the block standard available in the project.
Complete Version To identify the version number of the block standard. The
version number is updated automatically every time a
modification is applied in a standard’s field.
Last Modified To identify the date and the hour the block standard was last
modified.
The Standard Identification window identifies the essential information of a standard, and is
used to modify it.
Field Description
Name To modify the name of the selected block standard from the
list.
Date To identify the date and the hour of the last modification of
the block standard. Cannot be modified manually since the
date is updated automatically.
The Standards Option Window lists all of the options managed by the selected standard. This
is where the parameters of the standard are made.
2-10
Inserting a new Block Diagram
The Edition tab is used to set the parameters of the standard during the editing view from
the edit point of view: the drawing options, and the numbering and naming in edition mode.
“Components” Category
The “Components” category contains the options related to the appearance and naming of
block components.
Each line can be activated or deactivated. It is used to create associations between a certain
type of block (see 2.3.3.1) and an appearance (See 2.3.3.2), a code (used in the Naming
Rules by the “Component Code” variable) and a naming rule (See 2.3.2 Naming Rules).
Options Description
Lock automatically the Overrides the naming standard of components. If this
manually modified option is true, then any change will be retained
component Item Identifier or despite a change of standard.
Displayable Number
Display the asterisk (*) Displays the asterisk when the ID is locked. Linked to
indicating that the the previous element, if checked.
component’s Item Identifier
is locked
Identifiers Generation Selects in which order the identifiers will be generated
Direction
Component Displayed To standardize the display format of the component
Properties Typography properties displayed on the diagram.
“Connectors” Category
The “Connectors” category regroups the display options of connection ports and connection
port satellites.
2-12
Inserting a new Block Diagram
Option Description
Free Connector Color To configure the display color of free connectors. This color
refers to the circumference of the circle representing the
connector; the surface of the disk is transparent.
Connector Name To configure the font and format of connection port satellites
Typography in the diagram.
“Links” Category
This category gives a list of the different types of links available with the associated
standards. This list allows the user to completely define a link function and to associate the
different standards to a certain function.
Each line can be activated or deactivated. It is used to create associations between a certain
function (See 2.3.3.1 Link Functions), an appearance (See 2.3.3.2 Link Appearance), a code
(used in the Naming Rules by the “Component Code” variable) and a naming rule (See 2.3.2
Naming Rules).
Options Description
Connecting and Crossing List the available combination for display connecting
Links Appearance and crossing links jumps (bridge or nothing).
Options Description
Black Connection Point
Radius To define the connection point size.
The intersection of more than 2 connectors can be
represented with a black dot (ISO).
Automatically lock the Overrides the naming rule of link item identifiers. If
manually modified link Item this option is true, then any change will be retained
Identifier despite a change of standard.
Display the asterisk (*) Displays the asterisk when the ID is locked.
indicating that the link’s Item
Identifier is locked Linked to the previous element, if checked.
Erroneous Generic Link Color Define the color of the links that are not correctly
connected.
Options Description
Apply Colors to Syntax Color the custom blocks formula.
Elements
Operators Color Define operators color.
2-14
Inserting a new Block Diagram
Options Description
Numbers Color Define numbers color.
Defined Variable Color Define the color of the available variables.
Undefined Variables Color Define the color of variables that haven’t been created
yet.
Then the user will have to create the variable in the
Variable Manager so that simulator can recognize it.
The command opens the naming rules of Block Diagrams and links.
The default naming rule in hydraulic or pneumatic schematics is based on the ISO Code of
the 1219-2 (1996) standard + a number incremented automatically.
It is possible to create a customized naming rule or define the naming rule recommended by
an organization.
To standardize the naming rules, create , duplicate , modify and even delete
Each rule should have a name and a description. A version number is automatically
generated. This number is incremented once the modifications are applied.
Every naming rule is a combination of variables (in green) chosen from a drop-down menu
and user defined descriptions (in orange).
Click on to add a variable or description, and on to delete it. The formula defining
the naming rule is automatically written in the area below.
Drag and move each item in this zone with a left-click on a selected field value.
2.3.3 Links
This window is used to create functions that are not available in Famic Technologies
standards.
The link’s function is defined by its name. When a link is used in a diagram, its function is
accessible via the link’s contextual menu or its technical data.
2-16
Inserting a new Block Diagram
New functions can be added and relative information can be entered in the lower
section:
Item Description
The command opens the window to manage links’ appearance. This dialogue window is
used to define the visual appearance of the connections in Edit mode.
Under the “Name”, “Description” and “Comment” fields, a preview area is provided to verify
changes made to the parameters.
Item Description
Line Begin To select and display a symbol at the beginning of the line.
Line Begin Size To define the size of the symbol at the beginning of the line based
2-18
Inserting a new Block Diagram
Item Description
on a percentage of its original size.
Line End Size To specify the size of the symbol at the end of the line based on a
percentage of its original size.
Highlighting Color To define a highlight color for the line, that only appears when the
“Highlight Links” command is checked in the “View” Tab.
Highlighting Line To define the line width of a highlighting line that is displayed
Width under the line.
2.3.4 Blocks
The command opens the “Block Types” window where the user can create new types
or modify them. Each type of block is defined by its name and can be found via the
component’s contextual menu or project properties.
2-20
Inserting a new Block Diagram
Item Description
The following dialogue, the user can select the block diagram(s) on which the diagnostic
should be made.
Once the dialogue is opened, check the boxes for which to run a diagnostic.
Item Description
Components with Locked Item Detects components having an Item Identifier that could
Identifier not be modified.
The results obtained after the diagnostic are displayed in a list format into the message
explorer window, with hyperlinks on faulty components.
3-2
Diagnostics
Figure 3-4 : Message Explorer after the diagnostic tool was launched
Except for the Joystick and the y(x), all blocks of this type have only one port, the
output signal.
Symbol Name Description
Cursor The cursor is an input signal that can be modified
manually in simulation.
The cursor has only one output port which is the
output signal. This signal can vary between the
minimum and maximum values set in component
properties.
Joystick The joystick simulates a peripheral that can move
within a XY plane.
The “Joystick” block has two ports, the ports X and Y.
Each of them send its coordinate depending on the
position of the point on their axis. Both axes share
the same maximum and minimum values, set in the
component properties.
Wheel The wheel simulates a peripheral turning around an
axis.
The “Wheel” block has only one port, the output
signal. This signal is proportional to the position of
the wheel relative to its starting position and the
maximum number of turns.
4-2
Block Diagram Types
4-4
Block Diagram Types
This block has one input port and one output port. The
“Damping Coefficient 𝜉” and “Pulsation Coefficient 𝜔”
are set in the component properties.
Integrator 1 The integrator returns the signed area of the curve of a
Integrator 2 signal.
The “Integrator” block has an input port and an output
port. The output signal is the integral of the input signal.
Derivator The derivator calculates the variation rate of a signal.
The “Derivator” block has an input port and an output
port. The output signal is the derivative of the input
signal.
PID The “PID” block generates a proportional-integral-
derivative type transfer function.
The “PID” block is defined by the gains of proportional,
derivative and integral types. Those are set in the
component properties and can be adjusted during
simulation.
4-6
Block Diagram Types
Dead Band The “Dead Band” block has an input port and an output
port. If the input signal exceeds the upper or lower limit,
the output signal is equal to the input signal minus the
exceeded limit. If the input signal is between the upper
and lower limits, the output signal is equal to zero.
4-8
Block Diagram Types
1
𝑆𝑛 = 𝑆𝑛−1 + 𝐺 ∙ (𝑇𝑛+1 − 𝑇𝑛 ) ∙ (𝑈𝑛 − 𝑈𝑛−1 )
2
4-10
Block Diagram Types
4-12
Block Diagram Types
Equal to (=) The output signal is TRUE if the values of both input signal are
equal.
Not Equal The output signal is TRUE if the values of both input signal are
to (≠) different.
Inferior to The output signal is TRUE if the input signal A is strictly inferior
(<) to the input signal B.
Sign The output signal is determined by the sign of the input signal,
Detector depending if it is positive, negative or null.
1 𝑖𝑓 𝐴 > 0
𝑠𝑖𝑔𝑛(𝐴) = {−1 𝑖𝑓 𝐴 < 0
0 𝑖𝑓 𝐴 = 0
Logic gates blocks output a Boolean that examines the signal logic state of the inputs with a
truth table.
4-14
Block Diagram Types
AND Gate The output signal S is determined by the logic state of the
inputs according to the following truth table:
A B S=A∙B
0 0 0
0 1 0
1 0 0
1 1 1
For elements with more than two inputs, the general rule is:
For elements with more than two inputs, the general rule is:
NOT Gate The output signal S is determined by the logic state of the
input A according to the following truth table:
A S
0 1
1 0
NOT AND The output signal S is determined by the logic state of the
Gate (NAND) inputs according to the following truth table:
A B S=NOT(A∙B)
0 0 1
0 1 1
1 0 1
1 1 0
For elements with more than two inputs, the general rule is:
4-16
Block Diagram Types
NOT OR Gate The output signal S is determined by the logic state of the
(NOR) inputs according to the following truth table:
A B S=NOT(A+B)
0 0 1
0 1 0
1 0 0
1 1 0
For elements with more than two inputs, the general rule is:
For elements with more than two inputs, the general rule is :
For elements with more than two inputs, the general rule is:
Blocks from the “Truth Table” are used to create a customized logic gate.
4-18
Block Diagram Types
𝐶 = 2𝑛
A flip-flop or a latch circuits retains a logic state. Therefore, these types of components can
store information.
SR Latch The output signals Q and /Q are defined by the logic state of
the inputs S (Set) and R (Reset) according to the following
truth table :
S R Q /Q
0 0 QPrevious /QPrevious
0 1 0 1
1 0 1 0
1 1 0 0
4-20
Block Diagram Types
SR Latch The output signals Q and /Q are defined by the logic state of
with the inputs E (Enable), S (Set) and R (Reset) according to the
Enable following truth table :
S R E Q /Q
0 or 1 0 or 1 0 QPrevious /QPrevious
0 0 1 QPrevious /QPrevious
0 1 1 0 1
1 0 1 1 0
1 1 1 0 0
SR Flip- The output signals Q and /Q are defined by the logic state of
Flop the inputs Clk (Clock), S (Set) and R (Reset) according to the
following truth table :
S R Clk Q /Q
0 or 1 0 or 1 0 QPrevious /QPrevious
0 0 Amount QPrevious /QPrevious
0 1 Amount 0 1
1 0 Amount 1 0
1 1 Amount 0 0
JK Flip-Flop The output signals Q and /Q are defined by the logic state of
the inputs Clk (Clock), J and K according to the following truth
table :
J K Clk Q /Q
0 or 1 0 or 1 0 QPrevious /QPrevious
0 0 Amount QPrevious /QPrevious
0 1 Amount 0 1
1 0 Amount 1 0
1 1 Amount /QPrevious QPrevious
D Latch The output signals Q and /Q are defined by the logic state of
the inputs D and E according to the following truth table :
D E Q /Q
0 or 1 0 QPrevious /QPrevious
0 1 0 1
1 1 1 0
D Flip-Flop The output signals Q and /Q are defined by the logic state of
the inputs D and Clk (Clock) according to the following truth
table :
D Clk Q /Q
0 or 1 0 QPrevious /QPrevious
0 Amount 0 1
1 Amount 1 0
4-22
Block Diagram Types
T Flip-Flop The output signals Q and /Q are defined by the logic state of
the inputs T and Clk (Clock) according to the following truth
table :
T Clk Q /Q
0 Amount QPrevious /QPrevious
1 Amount /QPrevious QPrevious
4.7.4 Detectors
These components allow to detect if the variation rate of a signal is positive or negative
rate.
Rising Edge The output signal is TRUE if the input signal at present
Detector simulation time is strictly superior to the signals value at the
previous step.
Falling Edge The output signal is TRUE if the input signal at present
Detector simulation time is strictly inferior to the signals value at the
previous step.
4-24
Block Diagram Types
4.9 “Output” Category
Blocks from this category receive an output and either display it or assign it to a variable.
Value Display The « Display Value » block allows displaying the current
value at a given location in the diagram.
Blocks from this category allow signal processing with custom functions.
4-26
5 Use case: Position control of a hydraulic cylinder
5.1 Presentation
The following example defines the steps required to develop the position control of a
hydraulic cylinder using the Block Diagram Workshop.
5.2 Instructions
1. Create a new project. In a standard diagram, create the hydraulic circuit shown in
the figure below. Set the properties of the cylinder, the pedal, the solenoids of the
directional valve, the pump and the orifice as shown on the drawing:
3. In the same project, add a Block Diagram. Click on the button in the “New”
group in the “Home” tab of the ribbon then choose “Block Diagram…”;
4. Complete the Block Diagram as shown in the figure below. The blue square is only a
drawing, not a component. Refer to section 4 to find components in the library;
5-2
Use case: Position control of a hydraulic cylinder
Figure 5-3 : Control Block Diagram for the Position Control Example
5. Rename the output variable of the output block (3) to “PID Output”;
6. Assign the output variables (left) to the input variables (right) described in the
following list. The components containing the variables are described in parenthesis.
7. Insert a y(t) plotter by clicking on the button in the “Measuring” group of the
“Simulation” tab in the ribbon;
8. Drag the following components into the plotter:
5-4
Use case: Position control of a hydraulic cylinder
10. Start the simulation and watch the position response of the cylinder when the input
is modified. Change the values of the constants Kp, Ki and Kd of the Block Diagram
and notice the impact on the cylinder’s behavior.
Here, we need to create the simplified behavior of a hydraulic pump, which can later replace
a generic pump from the main library in a hydraulic circuit. The user therefore has the
possibility to create his own model of a technical component to complement those available
in the main library.
The Block Diagram of the pump will have as input values the displacement of the pump and
its driving speed. The real output flow is calculated considering its volumetric efficiency
curve as a function of the output pressure. This pressure will be a measured value coming
from the circuit where the pump will be used. The behavior includes the reservoir at the
pumps suction port.
Use the icon in the components’ properties window to view all their properties
or only the favorites.
2. The upper Cursor will determine the pump displacement in cm3/rev and the lower
one the radial speed in rev/min. To give realistic orders of magnitude to the pump’s
values, open the properties of both cursors and edit the “Maximum Value”
respectively to 300 and 2000.
6-2
Use case: Custom modeling of a hydraulic pump
The output value of this component will now be the theoretical flow in L/min.
5. In the properties of the second “Customizable Component Block”, in the “Equation
Editor” branch, edit the expression field to have the following:
−(𝐼𝑛𝑝𝑢𝑡1 𝑥 𝐼𝑛𝑝𝑢𝑡2) /100
The output value of this component will now be the actual flow in L/min.
0 98
50 95
210 90
350 85
This component contains the volumetric efficiency curve of the pump as a function of the
pressure. So it receives as input the pressure from the circuit and as output produces the
volumetric efficiency of the pump in %, which will allow calculating the output flow.
The Block Diagram is now ready to replicate the behavior of a simplified hydraulic pump
taking into account the volumetric efficiency. This behavior receives as input the
displacement and the radial speed and calculates the output flow using the volumetric
efficiency and a pressure measured value.
What remains now is to make it so that the calculated flow can really be generated in a
hydraulic circuit, and similarly to measure the pressure in this circuit.
7. Insert the component “Fluid Adaptor” from the “Blocks” Library “User-Defined” as
shown:
The Fluid Adaptor is used to ensure the link between the Block Diagram calculations and a
hydraulic circuit, via an associated port on the custom component.
8. Open its properties and change the units of the Output Flow and the pressure
6-4
Use case: Custom modeling of a hydraulic pump
respectively to L/min and bar:
Figure 6-6 : Measurement Units modified in the Properties of the hydraulic Adaptor
The received flow value will then be transmitted in L/min to the associated hydraulic port,
and the pressure measured at this port received in bar, as shown below:
For a step-by-step on how to generate the custom component, refer to the “Custom
Component” section of the Common Features User Guide.
6-6
A Glossary
Active Workshop
Menu regrouping project management commands. It is also used to access the software
configuration dialogue box.
Block Component
Basic element used for creating Block Diagrams. A Block component is defined by its symbol,
Data and Behavior Type. The user can use the predefined types Constant, Input, Gain,
Integrator, PID and Output. He can also create his own types of blocks.
Block Diagram
Schematic consisting of Block components used for creating a specific mathematical model.
This model can be then saved as a custom component in the library.
Component
The basic elements used for creating diagrams. “Technical Data” are used to assess the
component’s behavior during simulation, and catalogue properties are used to generate
reports. Components are included in libraries provided with each workshop.
Connection
A connection binds two components and/or links them together. The connections’ color is
the same as the elements they are linked to, and is specific when not connected to any
element. Two connections from non-compatible technologies cannot be connected together.
For example, a pneumatic line cannot be connected to a SFC component and vice-versa.
Connector
Element represented by a red circle when not linked. It allows the connection of two
components. A connector becomes a connection as soon as it is connected to another
Contact Point
A connection that links a transmitter component to a receptor component and which allows
elements to influence one another’s behavior. A lozenge represents these contacts points.
Contrary to connections, the color of the lozenge is not affected by the connection status.
Contextual menu
Standard windows menu accessible by right-click, its contents depend on the element under
the mouse cursor.
Diagram
A drawing that graphically represents a circuit or a model using elements and components
selected from the Automation Studio™ workshop libraries. Note that only SFC components
can be placed in a SFC diagram.
Display Tools
Designates the design accessories in the Diagram Editor: grid, rulers, connections and
connection numbers. Modify how they are displayed from the View menu.
Document Manager
Displays the contents of one of the project editor's windows. The document manager lists all
of the documents that make up the project.
Edit Mode
A mode of operation in Automation Studio ™ during which project diagrams can be created
and modified. There is another mode of operation, the Simulation mode.
Group
A-2
Use case: Custom modeling of a hydraulic pump
Library Explorer
A window containing the basic elements used for designing circuits or simulation models.
Link
A link connects components. During simulation, it is used to transfer information from one
component to another.
Mechanical Contacts
Mechanical contacts connect a sensor and a receiver making it possible for a component to
modify the behaviour of another component. They are represented by a rhombus that
appears at the point of contact. Contrary to connectors, the color of the rhombuses is not
influenced by the state of the connection.
Project
Project Explorer
The tool used to create, modify and manage “project” files. The Project Explorer includes the
document manager that manages all the documents contained in the project.
Project Label
Properties
Ribbon
The ribbon is a graphic user interface that appears in the upper part of the software window:
it consists of a table regrouping all the software functions, adapted to the data context.
Status Bar
Horizontal bar located at the bottom of all utility windows. It contains various types of
information such as error messages, zoom factor, mouse cursor coordinates, etc.
Title Bar
The horizontal bar located at the top of a window that contains the title of the window.
Toolbar
A bar located under the menu bar that contains buttons for the most frequently used
commands.
Utility
A general designation for the different types of windows in Automation Studio™. The Core
System contains two utilities: the Project Manager and the Diagram Editor.
Worksheet
Workshop
A module that plugs into the Core System. Each workshop contains elements, diagrams and
functions that relate to its own technological specialty and to the type of diagram it can
generate.
Workspace
The part of the window that displays the project information such as graphs, tables, and the
item list of the application.
A-4
B Index
FIR Filter .......................................4-7
Block Diagram
First Order Discrete Filter .............4-7
Creating Document ..........................2-3
Lead Lag .......................................4-7
Document’s Properties ....................2-3
Pole-Zero ......................................4-7
Block Diagram Categories Real Zero ......................................4-7
Continuous .......................................4-4 Sampler ........................................4-7
Discrete.............................................4-7 Filter
Discrete.............................................4-7 Dead Band ....................................4-5
Filter..................................................4-5 Hysteresis .....................................4-5
Mathematical ................................ 4-11 Limiter ..........................................4-5
Output ............................................ 4-25 Threshold .....................................4-5
User-Defined ................................. 4-25 Variable Dead Band .....................4-5
Block Diagram Types Input
Input .................................................4-1 Constant .......................................4-1
Cursor ...........................................4-1
Blocks
Input Variable...............................4-1
Continuous
Joystick .........................................4-1
Derivator ......................................4-4
Signal Generator by Curves .........4-1
First Order Transfer Function .......4-4
Sine Wave Generator...................4-1
Integrator .....................................4-4
Square Wave Generator ..............4-1
PID ................................................4-4
Step ..............................................4-1
Second Order Transfer Function ..4-4
Wheel ...........................................4-1
Discrete
y(x) ...............................................4-1
Delay ............................................4-7
Mathematical
Discrete Derivator ........................4-7
Absolute Value .......................... 4-11
Discrete Difference ......................4-7
Adder 1...................................... 4-11
Discrete Filter z ............................4-7
Adder 2...................................... 4-11
Discrete Filter z-1 .........................4-7
Adder 3...................................... 4-11
Discrete Integrator .......................4-7
Cosine ........................................ 4-11
Discrete PID ..................................4-7
Divide ........................................ 4-11
B-6