You are on page 1of 13

Name: Shubham Ganesh Rakshe

Roll No: 03
GR.No: 162135

Title of the experiment: To simulate analog and digital function blocks

Date of performance: 24-1-2019

Date of uploading the write-up: 29-1-2019

Aim: To simulate analog and digital function blocks

1. Study various Function Blocks available in DCS.
2. Develop FBD program using basic digital and analog function blocks.

In the previous experiment the hardware and software associated with Distributed Control
System is discussed.
In this experiment the software and programming concept is discussed.
There are several programming languages used for logic development.
The IEC 61131 standard part3 specifies these languages as:
• Ladder Logic (LD)
• Structured Text (ST)
• Instruction List (IL)
• Sequential Flow Charts (SFC)
• Functional Block Diagram (FBD)

Generally in DCS Functional Block Diagram (FBD) is used for programming and Sequential
Flow Charts (SFC) is preferred for batch control applications.

Functional Block Diagram (FBD) Basics:

This language basically is a graphical language wherein the users are allowed to program
elements in the form of blocks. The blocks then can be wired together like electrical circuits. It
describes a function between input and output variables.
It is a graphical method of programming DCS. Functional algorithms and control strategies for a
particular plant can be implemented by FBD. The control modules are treated as unique entity in
DCS system. Each function block contains specific algorithm such as AI, AO, DI, DO, PID and
the parameters required for the algorithm. Function blocks ranges from simple input conversion
block to a complex control strategy.

Generally available Function blocks are:

1. Input/ Output (I/O)
2. Math
3. Logical
4. Timer/ Counter
5. Analog Control
6. Advanced control

A Typical Function block -

The description of the various parameters associated with this block:

· Definition name: This is the name by which the block is identified in the library.
· Usage name: This name can be user defined as per his/her convention.
· Parameters: These are part of the function block available for standard connection.
· Execution number: The number by which the function block is executed.

Following functions blocks are generally available in the libraries.

1. Input Output library

Analog Input
Analog Output
Discrete Input
Discrete Output
Pulse Input
2. Math Library

Absolute value

3. Logical Library

Negative Edge Trigger
Positive Edge Trigger
De multiplexer

4. Timer / Counter Library

On Delay Timer
Off Delay Timer
Retentive Timer
Timed Pulse

5. Analog Control Library

Input Selector
Signal Characterizer
Signal Generator
Signal Selector
Analog Input function Block -

Analog Input (AI) Function Block accesses a single Analog measurement value and its status on
the AI channel. In manual mode, when AI block is configured, input has to be in engineering
units as well as output is indicated in engineering units on the screen. In automatic mode, output
of the block will reflect process variable value. Input to the block could be 4-20mA or digitally
communicated variable from HART based transmitter.

Analog Output function Block -

Analog output (AO) function block assigns any output value to a field devices like control valve
through a specific AO channel. In manual mode, the output parameter value can be set manually.
In automatic mode, OUT is set automatically based on set point and process variable value in
engineering units. A feedback can also be set for the output parameter.
Discrete (digital) Input (DI) Function Block -

The Discrete Input (DI) Function blocks accesses a single digital input value with its status
between two states of the field devices. The block gives processed physical input for other
function blocks. In automatic mode, Process variable is copied to output which can be either 0 or
1. In manual mode, the digital input can be toggled manually and output follows the same.

Discrete (digital) Output (DO) Function Block –

Digital Output block takes value from the process and writes it to specific digital output channel.
One can confirm physical output operation by configuring a hardware discrete input to it. In
automatic mode, when the signal from process changes the output of the block which will be
connected to AO channel which in turn connects to field outputs e.g a solenoid valve, changes.

Logical Library:

Commonly used logical blocks under logical library are described here
AND Function Block:

AND function block is used as an AND operator. For 2 input AND gate if both the inputs are
high the output of the function block is high.

The function block and the truth table is as given below:

Function Block:

OR function block is used as an OR operator. For 2 input OR gate if any one inputs is high, the
output of the functions block is high. The function block and the truth table is as given below:
NOT Function Block:

NOT function block is used as NOT operator, wherein if the input to the block is high or active
the output is opposite i.e. low and vice versa. The function block and the truth table are as given


Part 1: Understanding the operation of AI and AO function block

Step 1: First left click on AI block available under IO tab. Drag this block to required position
preferably left side and vertically at center.
2. Now left click on AO block. Drag it and put it next to AI block.
3. Take the cursor to the color dot at the output side of AI block. Move it by left clicking and
take it to the color dot at the Input side of AO block.
4. Now click on Compile tab. If any compilation errors are there, it will be shown. Otherwise
Run tab gets activated.
5. When user clicks on Run tab, default value of AI will get displayed on wired connection.
To change the input value and observe the output change, right click on the AI block. Select edit
and enter an input value in the range 0-100. You will observe the change at the AO block output.
When you click on the block, the properties of the block gets displayed at left hand bottom
To delete the connection, click on the wire question mark at the output side of the block and
press delete key.
Other options like delete, disable and configure are available on right clicking the block. For
modifying the logic, user need to first press Stop tab and enter into Configure tab.
For clearing the workspace, Clear tab is available.
Part 2: Understanding the operation of DI and DO function block
Follow same procedure as above to get the bolcks in the workspace and connect DI and DO
blocks. In RUN mode, change the digital input value to 0 from1 or vice-versa and observe the

Part 3: Understanding the operation of Logic function block

To configure the logic circuit, first reload the page by clicking Clear tab
1. First left click on digital input (DI) block to get it in the workspace. Repeat this procedure for
getting 2 DI blocks. They will be by default DI1 and DI2. Similarly get 1 DO block in the
2. Left click on any logic function block e.g. AND function from Logic Tab available in the left
hand panel.
3. Connect output of DI1 to one of the inputs of AND block.

Initially only one input connection is available with the logic block. As you make DI
connection with this input, another connection appears for this logic block.
Connect DI2 output to this second AND block input. Connect output of AND block to input of
4. Now click on Compile tab. If any compilation errors are there, it will be shown. Otherwise
Run tab gets activated.
5. Now change one of the inputs to AND gate by toggling DI value from 0 to 1. Observe the DO
6. Change another input to AND gate in the similar manner and observe DO status.
7. Verify the AND gate truth table by changing DI status.
Similarly verify the truth tables for OR and NOT Logic Gates.

1) AND


4) X-OR



In this experiment we study and simulate the various functional blocks of the DCS.


[1] Popovic Bhatkar, “Distributed Computer control for Industrial Automation”.
[2] Gregory K. McMillan, Douglas M. Considine, “Process/industrial instruments and controls
[3] Douglas M. Considine, Glenn D. Considine, “Standard Handbook of Industrial Automation”.
Useful links: