INTERPRETING FUNCTION BLOCK DIAGRAM Summary Tasks After completing this lesson you will able to: Interpret the Data Flow of Function Block Create BIT Instruction with Function Bl
Trang 1INTERPRETING FUNCTION BLOCK
DIAGRAM
Summary Tasks
After completing this lesson you will able to:
Interpret the Data Flow of Function Block
Create BIT Instruction with Function Block
Create Timer and Counter with Function Block
Solve the basic problem (Exercise)
Section 1: FBD Data Flow
Trang 21.1 Each Output tag must use only one Output Reference
1.1.A Create Routine
1.1.B Create Tag
Trang 3Add These 8 more Tags:
4 Result_Switch_1 BOOL Binary
5 Result_Switch_2 BOOL Binary
6 Analog_Value_1 DINT Decimal
7 Analog_Value_2 DINT Decimal
8 Analog_Value_3 DINT Decimal
1.1.C Create Jump To Subroutine in MainRoutine
Trang 41.1.D Create Instruction example 1
Drag and drop from Instruction Bar
and Create This:
Switch_0
2#0000_0000
OSRI_01
One Shot Rising with Input
0
Result_Switch_1
Instruction example 1 1.1.E Verify Controller
And show error window
IF error is not occur, it means that BFD is correct:
1.1.F Create Instruction example 2 and Verify Controller
Trang 50
10
10
Analog_Value_1
0
Switch_0
ADD_01
ADD
Add SourceA SourceB
Dest 0.0
Analog_Value_2
0
Analog_Value_3
EQU_01
EQU
Equal SourceA SourceB
Dest 0
Instruction example 2
The Error Window should be:
1.1.G Create Instruction example 3 and verify controller
Analog_Value_1
0
ADD_01
ADD
Add SourceA SourceB
Dest 0.0
Analog_Value_2 0
Analog_Value_1
0
Analog_Value_2
0
Analog_Value_3
Analog_Value_3
Switch_0
2#0000_0000
SEL_02
SEL
Select In1
In2 SelectorIn
Out 0.0
Instruction example 3 The error window will show
Trang 6This is because the FBD not allow the instruction to have two or more Output
reference with same Tag
The FBD Data flows from output block to the next wired input
block
1.2 Latching Data
1.2.A Create Instruction example 4 and verify controller
Instruction example 4 1.2.B Download to the controller
Before Download to the controller, make sure that the controller path and controller
slot (in the controller properties) is true
Trang 71.2.C Run Controller
Watch that the Analog_Value_1, both in input reference and in output
reference have the same value
The FBD Latch the data until next scan execute
1.3 Assume Data Available
1.3.A Create Instruction example 5 and verify controller
Analog_Value_1 Analog_Value_1
0
1
1
1
1
ADD_01
ADD
Add SourceA SourceB
Dest 0.0
ADD_02
ADD
Add SourceA SourceB
Dest 0.0
Analog_Value_2
Instruction example 5
1.3.B Download to the controller and then run processor
Trang 8Two instructions give the same mean The assume data available uses an
output that the block produced on the previous scan Or in other word we can
create delay with this
1.3.C Create Instruction example 6 and verify controller
Analog_Value_2
1 1
MUL_01
MUL
Multiply SourceA SourceB
Dest 0.0
ADD_01
ADD
Add SourceA SourceB
Dest 0.0
1 1
1.3.D Download to controller and then run
The Assume data available use above is to produce a one scan delay
between blocks
Trang 9The assume data available can create delay between block
1.2 Exercise 1, BIT Instruction
1.2.A Create Tag
Create this tag
1 Light_0 Local:3:O.Data.0(C) BOOL Binary
1 Light_1 Local:3:O.Data.1(C) BOOL Binary
1 Light_2 Local:3:O.Data.2(C) BOOL Binary
1 Light_3 Local:3:O.Data.3(C) BOOL Binary
1.2.B Create Exercise BIT Instruction, and verify controller
Light_2
BNOT_02
BNOT
Boolean Not
In Out
1
OSRI_04
OSRI
One Shot Rising with Input InputBit OutputBit 0
Light_3
Switch_1
2#0000_0000
Light_1
RESD_02
RESD
Reset Dominant Set
Reset
Out 0 OutNot 1
Switch_2 2#0000_0000
Light_0
OSRI_06
OSRI
One Shot Rising with Input InputBit OutputBit
0
Switch_3
2#0000_0000
Switch_0 2#0000_0000
Light_0 2#0000_0000
When Create Instruction, make sure the tag you use is the same like the tag
you create
1.2.C Download to the controller and then run processor
1.2.D Monitor the value
Monitor from the sheet:
Trang 10BNOT_02
BNOT
Boolean Not
In Out
1
OSRI_04
OSRI
One Shot Rising with Input InputBit OutputBit
0
Light_3
Switch_1
2#0000_0000
Light_1
RESD_02
RESD
Reset Dominant Set
Reset
Out 0 OutNot 1
Switch_2
2#0000_0000
Light_0
OSRI_06
OSRI
One Shot Rising with Input InputBit OutputBit 0
Switch_3 2#0000_0000
Switch_0
2#0000_0000
Light_0 2#0000_0000
From Program Tag Display:
1.2.E Toggle the switch
Trang 11
1.2.E Answer following question:
A Close Switch_0 (By toggle the Tag), When Switch_0 is Close (Bit = 1), which
Tag/Light(s) is turn on?
B Open Switch_0 When Switch_0 is Open what happen to Light_0 and
Light_1?
C Close Switch_1 What happens to the Light_2?
D Open Switch_1 What happens?
E Close Switch_2 What happens?
F Open Switch_2 What happens?
G What must you do to turn the Light_3 off?
H What happens if we close Switch_2 and Switch_3 (Correspond to Light_3)?
Trang 121.3 Exercise 2, Timer/Counter Instruction
1.3.A Open Routine: FBD_OPEN_PROJECT_1
EQU_03
EQU
Equal
SourceA SourceB
Dest 0
EQU_02
EQU
Equal
SourceA SourceB
Dest 0
Light_1
2000
2000
CTUD_01
CTUD
Count Up/Down
CUEnable CDEnable PRE Reset
ACC 0
DN 0
Light_0
EQU_01
EQU
Equal
SourceA SourceB
Dest 0
TONR_05
Timer On Delay with Reset
T imerEnable PRE Reset
ACC 0
DN 0
1
1
1
1
Light_2
3
3
1.3.B Download to the processor, and then run controller
1.3.C Answer following question:
A Which Block Instruction generates a pulse output?
B What is the pulse wave function?
C Describe what is the purpose of that process?