Dec 31, 2015
PROGRAMMABLE LOGIC CONTROLLER
POWERSUPPLY
FIELD INPUTS CONTROL
PROCESS/MACHINE
INPUTMODULE
CPU
PROGRAM MEMORYOUTPUTMODULE
PLC
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
CPU
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
.7
.6
.5
.4
.3
.2
.1
.0
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
PLC
AI 0.0
OPRATIONOPRAND
IDENTIFIERPARAMETER
OPRAND
Start scan monitortime
Load process inputimage
Call OB1(scan user program)
Transfer processoutput image
System program
Digital inputs
Digital outputs
:JUPB1:BE
::
:AI0.0::
:=Q4.0:BE
PII
PIQ
OB1
PB1
User program
Software Blocks used in program
PB 0………255
OB 1………255
SB 0……..255
DB 2……..255
FB 0……….255
Program blocks:for plants specific functions
Function blocksfor standardized function,independent of particular plant
Organization Blocksfor organization and supervision of program
execution called by the system program.
Sequence blocks:for programming sequences(sequential control system
Data blocksfor the storage of fixed and variable data
I0.1( )
I0.0 Q4.0
LAD
:AI0.0:AI0.1:=Q4.0
STL
CSF
& Q4.0I0.0
I0.1=
K1
I0.1
Q4.0
I0.0
CIRCUIT DIAG.
S1
K1
24v
S2
0v
INPUT MODUL
PLC
OUTPUT MODUL
Check for 0&Check for 1
NO Contact NC Contact
WhenActuated
When NotActuated
WhenActuated
When NotActuated
1 0 0 1 STL
FBD/CSF
LAD
Representation Check for 1 Check for 0
A…O...
AN..ON..
(1)
Q4.0=>1
I0.5
I0.0
&
&
=
I0.1
I0.2
I0.3
I0.4
CSF
O(AI0.0AI0.1AI0.2)O(AI0.3AI0.4)0I0.5=Q4.0
STL
I0.3
I 0.0
I0.5
Q4.0I0.1 I0.2LADDER
I0.4
K1
I0.3
I0.1
10.4
I0.5
Q4.0
I0.0
I0.2
AND-BEFOREOR-OPERATION
LADDER
( )I0.0 I0.3 I0.5 Q4.0
I0.2 I0.4
I0.2
I0.0
I0.3
I0.4
>=1
>=1&
=
I0.1
I0.2
I0.5
Q4.0
CSF
:A(:OI0.0:OI0.1:OI0.2):A(:OI0.3:OI0.4):AI0.5=Q4.0
STL
I0.5
Q4.0
OR-BEFOREAND-OPERATION
I0.0
I0.3
I0.1
I0.4
I0.2
K1
Contacter K1 on when S1 is operated and S2 is not operated
I0.0 I0.1Programmable
ControllerQ4.0
K1
24v
S1 S2
0v
I0.1( )
I0.0 Q4.0LAD
:AI0.0:ANI0.1:=Q4.0
STL
CSF
& Q4.0I0.0
I0.1=
Contacter K1on when S1 is operated and S2 is not operated
:ANI0.0:AI0.1:=Q4.0
STL
I0.0 I0.1Programmable
ControllerQ4.0
K1
24v
S1 S2
0v
I0.1( )
I0.0 Q4.0LAD
CSF
& Q4.0I0.0
I0.1=
Contacter K1on when S1 is operated and S2 is not operated
I0.1( )
I0.0 Q4.0LAD
:AI0.0:AI0.1:=Q4.0
STL
I0.0 I0.1Programmable
ControllerQ4.0
K1
24v
S1 S2
0v
&
CSF
Q4.0I0.0
I0.1=
Two out of three
Input=I0.0,I0.1,I0.2 Output=Q4.0
STL
:O:(:AI0.0 :AI0.1:):O:(:AI0.1:AI0.2:):O:AI0.2:AI0.0:):=Q4.0
( )
LAD
I0.0 I0.1 Q4.0
I0.1 I0.2
I0.2 I0.0
I0.0
I0.1
I0.2
I0.0
&
&
&
>=1= Q4.0
I0.1
I0.2
CSF
Three inputs are there I 0.0 , I 0.1, I 0.2 .After tripping compressor all inputs have state change .Give the 1st out for above inputs .
S
R Q ( )
S
R Q ( )
S
R Q ( )
Q4.0
Q4.1
Q4.2
Q4.1 Q4.2
Q4.2Q4.0
Q4.1Q4.0
I0.0
I0.3
I0.3
I0.3
I0.1
I0.2
Write a program in STL/LAD/CSF for the given below
TASK:
In the process there are three temperature sensors(e.g. T1,T2,T3)two pressure sensors(e.g.P1,P2)and enable input.
1 All three temperature sensors i.e.T!,T2,T3 should on.2 OR both the pressure transducers should on.3 OR enable input should be activated.
T1
T2
T3
P1
P2
Note:normal condition=NCAbnormal condition=NO
Data1 Temp. input T1=I0.02 Temp input T2=I0.13 Temp input T3=I0.24 Pressure input P1=I0.35 Pressure input P2=I0.46 Enable input=I0.57 Output Q=Q4.0
And before Or
I0.3 I0.4
I 0.0
I0.5
Q4.0I0.1 I0.2LADDER
=>1
I0.5
I0.0&
&
=
I0.1I0.2I0.3
I0.4
Q4.0
CSF
Data1 Temp. input T1=I0.02 Temp input T2=I0.13 Temp input T3=I0.24 Pressure input P1=I0.35 Pressure input P2=I0.46 Enable input=I0.57 Output Q=Q4.0
STL
O(AI0.0AI0.1AI0.2)O(AI0.3AI0.4)0I0.5=Q4.0
Write a program in STL/LAD/CSF for the given below
TASK:
In the process there are three temperature sensors(e.g. T1,T2,T3)two pressure sensors(e.g.P1,P2)and enable input.
1 Any one of three temperature sensors on i.e.T,T2,T3 .2 AND any one of two pressure transducers should on.i.e.P1,P23 AND enable input should be activated.
T1
T2
T3
P1
P2
Note:normal condition=NCAbnormal condition=NO
Data1 Temp. input T1=I0.02 Temp input T2=I0.13 Temp input T3=I0.24 Pressure input P1=I0.35 Pressure input P2=I0.46 Enable input=I0.57 Output Q=Q4.0
OR before AND
LADDER
( )I0.0 I0.3 I0.5 Q4.0
I0.2 I0.4
I0.2
>=1
>=1&
=
I0.0I0.1I0.2
I0.3
I0.4
I0.5
Q4.0
CSF
:A(:OI0.0:OI0.1:OI0.2:):A(:OI0.3:OI0.4:):AI0.5=Q4.0
STL Data1 Temp. input T1=I0.02 Temp input T2=I0.13 Temp input T3=I0.24 Pressure input P1=I0.35 Pressure input P2=I0.46 Enable input=I0.57 Output Q=Q4.0
K1 K1
HOLDON
OFF
ONHOLD
OFF
OFFPRIORITY
ONPRIORITY
SET RESET BLOCK
S
R S
R
Q Q
RESET PRIORITY
SET PRIORITY
I0.0 I0.1Programmable
ControllerQ4.0
K1
24v
S1 S2
0v
ON OFF
SET RESET BLOCK
S
R S
R
Q Q
RESET PRIORITY
SET PRIORITY
I0.0 I0.1Programmable
ControllerQ4.0
K1
24v
S1 S2
0v
ON OFF
S R Q
1
1
1
1
0
0
0
1
0LAST
STATE
PRIORITY
0
RESET PRIORITY
AI0.0SQ4.0ANI0.1RQ4.0
SET PRIORITY
AI0.0RQ4.0AI0.1SQ4.0
CPU AI AQ DI DI DQ DQ AI AI
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 00123456
127
0
64
68 72
76
PIQPII
127
NON-UTILIZABLE
UNUSED AREAS
7 6 5 4 3 2 1 0Byte 2
Byte 12
Byte 102Byte 103
AI2.2
LIB12
LIW102
LOAD FUNCTION
7 6 5 4 3 2 1 0Byte 4
Byte 66
Byte 92Byte 93
Q4.2
TQB 66
TQW 92
TRANSFER FUNCTION
High byte Accum1 Low byte
High byte Accum1 Low byte
PIQ
TASK
OUTPUT SHOULD EXACTALY FOLLOER OF INPUT
L IW 0T QW 3
STARTINPUT
RESETINPUT
PULSEOUTPUT
t t t
I0.0
KT050.1
I0.1 R Q
BIDE
FW6QW5Q4.7
1T1
PULSE TIMER(SP)LAD/CSF STL
A I0.0L KT050.1
SP T1A I0.1R T1A T1
NOP0 NOP0=Q4.7
t
t
t
TV
STARTINPUT
RESETINPUT
PULSEOUTPUT
t t t
I0.0
KT050.1
I0.1 R Q
BIDE
FW6QW5Q4.7
1T1
PULSE TIMER(SP)LAD/CSF STL
A I0.0L KT050.1
SP T1A I0.1R T1A T1
NOP0 NOP0=Q4.7
t
t
t
TV
KT=CONSTANT=KT400.0IW=INPUT WORD=IW1
QW=OUTPUT WORD=QW6FW=FLAG WORD=FW100DW=DATA WORD=DW255
TIME BASE
0=0.01S1=0.1 S2=1 S3=10 S
STARTINPUT
RESETINPUT
PULSEOUTPUT
t t t
I0.0
KT050.1
I0.1 R Q
BIDE
FW6QW5Q4.7
1T1
LAD/CSF STLA I0.0
L KT050.1SE T1A I0.1R T1A T1
NOP0 NOP0=Q4.7
t
t
t
EXENDED-PULSE TIMER
E
t
TV
TASKTWO FLASHING LIGHTS USING TIMER
(1) L1& L2 SHOULD BE FLASHING WHEN SWITCH S1 IS ON.(2)STATUS OF LAMPS L1&L2 MUST BE OPPOSITE OF EACH OTHER(3)THE TIME FOR FLASHING FOR BOTH LAMPS SHOULD BE SAME(4)WHEN SWITCH S1 IS MADE OFF FLASHER SHOULD STOP.
T1
AI0.0ANQ4.8LKT030.1SET1NOP0NOP0NOP0AT1=Q4.7
AI0.0ANQ4.7LKT030.1SET2NOP0NOP0NOP0AT2=Q4.8
I0.0
KT050.1
NOP0 R Q
BIDE
NOP0NOP0Q4.7
1
TV
I0.0
KT050.1
NOP0 R Q
BIDE
NOP0NOP0Q4.8
1
TV
Q4.7
Q4.8
T2
E
E
STARTINPUT
RESETINPUT
OUTPUTt t
I0.0
KT050.1
I0.1 R Q
BIDE
FW6QW5Q4.7
T
T1LAD/CSF STL
A I0.0L KT050.1SD/SR T1
A I0.1R T1A T1
NOP0 NOP0=Q4.7
t
t
t
ON- DELAY TIMER
O
t
TV
STARTINPUT
RESETINPUT
OUTPUTt
I0.0
KT050.1
I0.1 R Q
BIDE
FW6QW5Q4.7
T
T1LAD/CSF STL
A I0.0L KT050.1
SS T1A I0.1R T1A T1
NOP0 NOP0=Q4.7
t
t
t
LATCHING ON- DELAY TIMER
E
TV
STARTINPUT
RESETINPUT
OUTPUTt
I0.0
KT050.1
I0.1 R Q
BIDE
FW6QW5Q4.7
O
T1LAD/CSF STL
A I0.0L KT050.1
SF T1A I0.1R T1A T1
NOP0 NOP0=Q4.7
t
t
t
OFF- DELAY TIMER
T
TV
t t
MERQURY LEVEL SWITCH ACTIVATED IN BETWEENBECAUSE OF VIBRATION SO WE HAVE TO PROVIDE
TIMER.USE PROPER TIMER AND WRITE THE PROGRAMEIN LADDER & IN STL ALSO
I0.0
I0.1 R Q
BIDE
FW6QW5Q4.7
O T
TV
T1
KT100.1
STLA I0.0L KT100.1SF T1A I0.1R T1A T1NOP0 NOP0=Q4.7
OFF DELAY TIMER
+M
M +
CONVEYOR 1
CONVEYOR2
ONOFF
TASK(1)WHEN ON PUSH BUTTON IS PRESSED BELT 2 SHOULD BE STARTED
IMMEDIATELY AND BELT 1 SHOULD BE STARTED WITH A DELAY OF 5 SECONDS.
(2)WHEN OFF PUSH BUTTON IS PRESSED BELT 1 SHOULD STOPIMMEDIATELY BUT BELT 2 SHOULD CONTINUE FOR ANOTHER 10 SECOND
(3)THE LED INDICATING THE BELT STATUS ALSO TURN ON COORRESPONDINGLY
DATAI0.0=S1=START PUSH BUTTON.I0.1=S2=STOP PUSH BUTTON.Q2.0=BELT 1 START/STOPQ2.1=BELT 2 START/STOP
BELT 1
BELT 2
START STOP
R Q
T
I0.0S
R Q ( )F0.0
I0.1
F0.0
NOP0
BIDE
NOP0NOP0Q2.1
O
TV
T2
KT100.1
F0.0
NOP0 R Q
BIDE
NOP0NOP0Q2.0
T O
TV
T1
KT050.1
AI0.0SF0.0AI0.1RF0.0
AF0.0LKT050.1SD T1A T1=Q2.0
AF0.0LKT100.1SF T2A T2=Q2.1
R-S FLIP FLOP BLOCKUSED FOR ON-OFF BY
PUSH BUTTONS
ON DELAY TIMER USED TO DELAY START
BUT STOPS IMMEDIATELY
OFF DELAY TIMERUSED TO DELAYSTOP OF BELT2
I0.0
I1.1
I1.2
KC3
I1.3
BI
DI
Q4.7
COUNTINGUP
COUNTINGDOWN
SET
RESET
[FW2]
[QW6]
CU
CD
S
CV
R
COUNTERBLOCK [1]SET INPUT=SETTING
COUNTER TO CV VALUE[2]OUTPUT Q=0 WHENCOUNTER IS AT ZERO
[3]OUTPUT Q=1 WHENCOUNT IS GREATER THAN ZERO
C1
AI0.0CU C0AI1.2L KC009AI1.3L C1T QW3L C1T FW10A C1=Q4.7
STL
IB2
IB3 Q4.7
Z1
Z2
FQ
IB2
IB3 Q4.7
Z1
Z2
FQ
IB2
IB3 Q4.7
Z1
Z2
FQ
IB2
IB3 Q4.7
Z1
Z2
FQ
IB2
IB3 Q4.7
Z1
Z2
FQ
IB2
IB3 Q4.7
Z1
Z2
FQ
COMPARISON BLOCKS
!=
><
>=
>
<=
<
L IB 2L IB 3!=F=Q4.7
L IB2L B3><F=Q4.7
L IB2L IB3>=F=Q4.7
L IB2L IB3>F= Q4.7
L IB2L IB3<=F= Q4.7L IB2
L IB3<F=Q 4.7
EQUAL TO
NOT EQUAL TO
GREATER THAN OR EQUAL TO
GREATER THAN
LESS THAN OR EQUAL TO
LESS THAN
[1]P1,P2&P3 ARE PUMPS[2]START P1 AS START PUSH BUTTON PUSHED[3]P2 SHOULD START AFTER 10 SEC OF START P1[4]P3 SHOULD START AFTER 10 SEC OF START P2[5]P1,P2&P3 SHOULD RUN FOR 10 SEC THEN STOPS ALL THREE.[6]IF IN BETWEEN STOP PUSH BUTTON PRESS STOPS ALL THE THREE PUMPS.
AI 0.0 - START PUSH BUTTONSF 0.0 - SET FLAG F0.0AI0.1 - STOP PUSH BUTONAF0.0- FLAG IS SET AT 1LKT300.1- LOAD VALUE 30 SEC TO TIMER T 0SPT0 - TIMER IS PULSE TIMERAI0.1 - STOP PUSH BUTTONRT 0 - RESET TIMER T 0LCT0- LOAD VALUE IN ACCUMULATOR1TFW4 - TRANFER VALUE FROM ACC. 1 TO FLG W 4AT 0= Q4.3 - STARRT OUTPUT FOR P1LFW4 LKT 200.1< F= Q 4.2 START OUTPUT FOR P2LFW4LKT 100.1< F= Q4.1 START OUTPUT FOR P3AT 0= RF 0.0
[1] READ FOR ZERO & READ FOR ONE
[2] AND -OR FUNCTION
[3] AND BEFORE OR & OR BEFORE AND
[4] R-S BLOCK &LOAD AND TRANSFER
[5] FIVE TIMER BLOCKS
[6] COUNTER BLOCK
[7] SIX COMPARISON BLOCKS