INDUSTRIAL AUTOMATION SEQUENCE

LOGIC

X1

X3 X4 .....................

X5

Output Signals

CIRCUIT

Fixed Automation Relays Electronic Gates Microprocessors Pneumatic Valves Moving-Part Logic (MPL)

X2

Xn

Data Processing

Semi-Flexible Automation Programmable Counters Drum Programmers Fixed Automation Programmable Controllers (PLC) Microprocomputers

TYPICAL OUTPUT DEVICES Pneumatic or Hydraulic Cylinders Pneumatic or Hydraulic Motors Solenoid Valves Electric Motors - Pumps - Conveyor Belts - Lifting Devices - Robot Arms Heaters Timers Lamps Audioble Signals (Bells, Buzzers, Sirens) Numerical Displays

Y1 Y2 Y3 .....................

Sensor Inputs

CONTROL

Y4

Ym

0546-484-231 04-8712774 ! "

3 5

1 2

Ladder Diagram PLC - Programmable Controllers

10

3

Relays MPL

5,6 "

!

5 6

#

Emergency

!

% Hardware Programmers % Drum Programmers Programmable Counters, Step

$

STOP

Counters !

'

(

( ' Trigger Flip-Flops Timers Binary Counters Shift Register '' Schmitt Triggers Encoders Binary Codes Iterative Systems

( *

% #

, ,

$

)

1

+ ,

7

&

%

'

%

+

$#

, #

%

Motion Actuators Sensors # #

GRAFCET

$

$ % Industrial Automation, by D. Pessen, John Wiley & Sons, 1989 ' ( ( # $ # ' $ # ) ' $ # ) ' + &! ! + # # %

! %

$ $

#

#

$

%

)

!& ! ! ! !* '

!

)$ #$

#

!

% $

! #

#

"

$

!

)

#

! $

#

#

% $ .

# %$ # "

#

! !(

# #

!#

$

#

# ,

(

!#

"

!

-

$ !

! " #

!#

$

#

( !

# !

# $

#

n, n-2 , n-2 ) $

$ & /

'# ! ! 25%$

# # # (

#

$

# $

(

$ $

%

$ $

$ $

! /

# $ $ !

000000000000 #

1

!

!

#

$

) 00000000000000000 #

!1

!

#

(15%)

& / $ $

$ #

# #

Meeng.technion.ac.il

studies

here

*

INTRODUCTION

Analog/Digital Differences Switches and Relays Pneumatic Switching Valves Cylinder Control and Sensing Other Switching Elements

0-1

INDUSTRIAL AUTOMATION

START

Automation of Mechanical Industrial Production Systems Control Section On-Off (Binary) Elements and Information Various Methodes to Obtain Low-Cost Systems

S? S?

SW SPDT SW DPDT

a. Electrical Switches K? K?

Fig. 0-1 Subject Definition

RELAY SPST RELAY DPDT

Value

b. Electro-Mechanical Relays

Value

2-Input AND Gate

3-Input NAND Gate

2-Input OR Gate Time

2-Input NAND Gate

2-Input NOR Gate

INVERTER

Time

a. Analog c. Electronic Gates Value

Value

+

-

+

Time

-

+

+

-

+

Time

b. Digital Value

d. Pneumatic Valves

Value

a1,a2 = 00

A+ Time

a2

-

+

a1

A-

(open)

(open)

Time

c. Binary (Logic, "Digital")

Fig. 0-2 Information Types

e. Electrical Limit Switches

Value

LOGIC IMPLEMENTATION

"High"

-

+

Signal

A+

A-

"Unspecified"

"Low" Time

a. Logic Levels

f. Pneumatic Limit Valves

Logic

In

Element

BINARY SENSORS : Out

Relay SPDT b. Self Correction

Fig. 0-3 Logic-Levels

Flow Switches

Interruptabel-Jet Sensors

Temperature Switches

Ultrasonic Sensors

Level Switches (Height)

Reed Switches

Photoelectric Sensors

Threshold Sensors

Pressure Switches

Magnetic Proximity Sensors

Back-Pressure Sensors

Inductive Proximity Sensors

Annular Back-Pressure Sensors

Inductive Proximity Sensors

g. Various Elements

Fig. 0-4 Binary (Switching) Elements

CHAPTER 1 BOOLEAN ALGEBRA Binary Basic Basic Boolean Operations Truth Table De-Morgan Functions Algebric Minimization Karnaugh Map Minimization

1-1

BOOLEAN ALGEBRA Logic Theory Implementation in Switching George Boole False and True replaced by 0 and 1 Binary Items and Variables Logic , Boolean , Binary , Digital Switch or Relay ON/OFF Position : Contacts : Open / Closed Net : Connected / Not-connected Binary sensors (Temperature, Pressure, etc) Representations : "0 / "1" "ON" / "OFF" "HIGH" / "LOW"

a. Basic Definitions AND

OR

NOT

0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 1 {*}

0.0 = 0 0.1 = 0 1.0 = 0 1.1 = 1

0' = 1 1' = 0

b. Basic Operators

NAND (NOT AND) :

X nand Y = (X.Y)'

NOR (NOT OR) :

X nor Y = (X+Y)'

XOR (Exlussive OR)

X xor Y = X'Y+XY'

INHIBITION

X.Y'

IMPLICATION

X+Y'

f. More Useful Operators (A.B)' = A'+B' (A+B)' = A'.B' Implementations : (A.B+A'.C)' = (A'+B').(A+C') (AB(C'+DE'))' = A'+B'+C(D'+E)

g. DeMorgan Theorem AND , OR , NOT AND , NOT

A+B = (A'.B')'

OR , NOT

A.B = (A'+B')'

NAND

A' = (A.A)' = (A NAND A) A+B = (A'.B')' = ((A.A)'.(B.B)')' = = (A NAND A) NAND (B NAND B)

X+0 = X X+1 = 1 X+X = X X+X' = 1

X.0 = 0 X.1 = X X.X = X X.X' = 0

A' = (A+A)' = (A NOR A)

NOR

A.B = (A'+B')' = ((A+A)'+(B+B)')' = = (A NOR A) NOR (B NOR B)

X+X.Y = X X+X'.Y = X+Y X(Y+Z) = XY+XZ (X+Y).(X+Z) = X+YZ XY+X'Z+YZ = XY+X'Z

h. Universal Systems

c. Basic Relations

XY+X'Z+YZ = XY+X'Z F2 = XY+X'Z

F1 = XY+X'Z+YZ X

Y Z

F1

F2

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 0 1 1

0 1 0 1 0 0 1 1

0 1 0 1 0 1 0 1

d. Minimization - Truth Table

A

B C

D

F

0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 1 1 1 1 0 1

1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 1 1 0 0 1 1

1. Universal Sum-of-Products : 2. Universal Products of Sum : 3. Minimal Sum-of-Products : 4. Minimal Products of Sum :

1. Universal Sum-of-Products : f(A,B,C,D) = A'B'CD'+A'B'CD+A'BC'D'+A'BC'D+A'BCD+ + AB'CD'+AB'CD+ABCD'+ABCD 2. Universal Products of Sum :

XY+X'Z+YZ = XY+X'Z F1 = XY+X'Z+YZ

F2 = XY+X'Z

If Z=0 then : F1 = XY+X'.0+Y.0 = XY

F2 = XY+X'.0 = XY

If Z=1 then : F1 = XY+X'1+Y.1 = = XY+X'+Y = X'+Y

F2 = XY+X'.1 = = X'+XY = X'+Y

f'(A,B,C,D) = A'B'C'D' + A'B'C'D + A'BCD' + AB'C'D' + + AB'C'D + ABC'D' + ABC'D f(A,B,C,D) = (A+B+C+D)(A+B+C+D')(A+B'+C'+D)(A'+B+C+D). .(A'+B+C+D')(A'+B'+C+D)(A'+B'+C+D') 3. Minimal Sum-of-Products : f(A,B,C,D) = A'BC'+AC+B'C+CD 4. Minimal Products of Sum : f(A,B,C,D) = (A'+C)(B+C)(A+B'+C'+D)

e. Minimization - Math Operations

i. Functions Basic Representations

Fig. 1-1 : Boolean Algebra Concepts

1-2 Karnaugh Maps

INSURANCE COMPANY REQUIREMENTS AN INSURANCE COMPANY SELECTS CLIENTS ACCORDING TO THE FOLLOWING CRITERIA : NATIONALITY, GENDER, AGE AND HAVING DRIVING-LICENSE. CLIENT MUST SATISFY AT LEAST ONE OF THE FOLLOWING CONDITIONS : and/or ISRAELI and/or NON-ISRAELI UNDER 50 WITH DRIVING LICENSE NON-ISRAELI MAIL 50 OR ABOVE and/or

NON-ISRAELI UNDER 50 WITHOUT DRIVING LICENSE

FIND THE MINIMAL REQUIRED CONDITIONS

a. System Definition

CRETERIA

VARIABLE

NATIONALITY GENDER AGE

A B C D

LICENSE

1

0

ISRAELI MALE 50 OR ABOVE HAS LICENSE

* Visual method for boolean functions minimization * Each variable occupies half map * n variables split map into 2^n basic cells, named map Elements * Each element is represented by a n-variable boolean product, named "Minterm" * Any two adjacent elements are represented by two "Adjacent" minterms * Merging two adjacent elements produces a 2-elements cell, represented by a product of (n-1) variables

NON-ISRAELI FEMAIL UNDER 50 DOESN'T HAVE LICENSE

b. Boolean Variables Assignment

* Two adjacent 2-element cells may be merged Into a 4-elements cell, represented by a product of n-2 variables, and so on

T = A+A'C'D+A'BC+A'C'D' = A+A'(C'D+BC+C'D') = A+C'D+BC+C'D'= A+C'(D'+D)+BC= A+C'+CB= A+B+C'

a. Map Concepts and Basic Properties

c. Direct Minimzation

B

T = A+A'B'C'D'+A'B'C'D+A'BC'D'+A'BC'D+A'BCD'+A'BCD = A+A'(B'C'D'+B'C'D+BC'D'+BC'D+BCD'+BCD)' = = A+B'C'D'+B'C'D+BC'D'+BC'D+BCD'+BCD' = = A+B'C'(D'+D)+BC'(D'+D)+BC(D'+D)' = A+B'C'+B.C'+BC = A + B'C' + B(C'+C) = = A + B'C' + B = A + C' + B

e. Truth Table Minimzation SIMPLIFIED RESULT : and/or ISRAELI and/or UNDER 50 MALE

A

B

C

D

T

0

0

0

0

0

0

0

1

1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1

0

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

1

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

A

B A

B

A

0

B

1

0 1

d. Truth Table

f. Minimal Requirements

B'

A'

A

b. 2-Variables Map Representations

Fig. 1-2 : Algebric Minimization (1) AN OCTAL NUMBER IS DEFINED BY THE BINARY COMBINATION X2,X1,X0

BC 11

10

A'B'C' A'B'C

00

A'BC

A'BC'

AB'C'

ABC

ABC'

A

WHERE N(X2,X1,X0)=4.X2+2.X1+1.X0

0

A COMBINATIONAL SYSTEM DETECETS IF THE NUMBER IS DIVIDABLE BY EITHER 2 OR 3

1

a. System Definition X2

X1

X0

T

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

X1 X1 X1

AB'C

B

A

C c. 3-Variables Map Representations CD

COMBINATIONAL CIRCUIT

T

b. Block Diagram

00

AB

01

11

C

10

00 01

T = X2'X1'X0'+X2'X1.X0'+X2'X1.X0 + + X2.X1'X0'+X2.X1.X0'= =X0'(X2'X1'+X2'X1+X2X1'+X2X1)+X2'X1X0= =X0'(X2'(X1'+X1)+X2(X1'+X1))+X2'X1X0= =X0'(X2'+X2)+X2'X1X0= =X0'+X2'X1X0= =X0'+X2'X1

0

c. Truth-Table

01

d. Minimization Steps

Fig. 1-3 : Algebric Minimization (2)

B 11

A 10

D d. 4-Variables Map Representations

Fig. 1-4 : Karnaugh Maps Concept

1-3

GROUPS SELECTION - ESSENTIAL AND NON-ESSENTIAL CANDIDATES An international company has to hire employees that will be available, as a group, to support the following 6 languages : Hebrew , English , Russian , Arabic , Rumanian , French Of course, the company target is to hire the minimal number of employees, and get the required support. 5 candidates look for that job. Next table specifies the language knowledge of each candidate : Candidate A Hebrew English Russian Arabic

Candidate B Hebrew English Romanian

Candidate C

Candidate D

Candidate E

Russian Arabic

Hebrew French

Arabic Russian

There are many available combibations, but we can make the selection easier : 1. Check if there are ESSENTIAL candidates, that is to say candidate that support at least a single language, that none of the others does. These candidates are called ESSENTIAL, since are non-replacable by any of the other candidates. 2. Since all ESSENTAIL candidates (if there are any) must be a part of any selection option, we first identify them and select them. 3. NON_ESSENTIAL candidates doesn't mean that they will not be selected. NON_ESSNTIAL. Since any of them may be replcaed by others, no one can decide - on first glance - which of them must be selected,or not. 4. Actually, some (or all) NON_ESSENTIAL will have to be selected in case that the ESSENTIAL candidates do support all required languages. 5. We can see easily that French is suppoter by candidate D only, and Romanian is supported by candidate B only. This maked D and B ESSNTIAL. Each of all other languages is supported by al least 2 candidates, so all those candidates are NON_ESSENTIAL.TIAL. 6. Selection of candidates B and D (ESSENTIAL) cover more than the 2mentioned languages; they also support Hebrew and English, so we don't have to worry about support of thse 4 langages. 7. Selecting all ESSENTIAL candidates, don't cover the left languages Arabic and Russian. So, we must look for the minimal additional candidates that will completed the.This selection is simpler. 8. In this case, either A or C complete the required support, so the minimal selected group contains 3 candidate (2 ESSENTAIL and 1 ON_ESSENTIAT). 9. There is no other option to the support Arabic and Russian by a single candidate, so there two minimal available selections : a. { A , B , D} b. { B , C , D} 10. Principally, both selections are minimal. On the other hand candidate A has higher priority than C since he support 4 labguages and may be ore helpful, and a backup to the other languages that had been covered by the ESSENTIAL candidates. 11. Thsi means that first minimal selction (a) is preferable, which leaves a single minimal solution.

Fig 11-5 : ESSENTIAL and NON_ESSENTIAL concept

A

A

A

A

A

A

1

D

A

A

C

1

I

D

I

1 1 1

1 1

D

1 1

B

A

C

II

D

C

1

II

1 1

D

II

1 1 1

1 1

1

D

1 1

1 1

1 1 1

1 1

B

1 1

1 1 1

1 1

C

I

1 1

1 1

1 1 1

1 1

D

B

C

II

1 1

D

C

I

1

1 1

1 1 1

1

B A

C

F = AD + C'D + A'CD'

B

B

B

A

A

A

C

III

D

C

1

III

1 1

D

III

1 1 1

1 1

1

1 1 1 1

1 1 1

1 1

1 1

D

C

III

1 1

D

1 1 1

1

1 1 1 1 1

C

II

B

1 1 1 1 1

2

D

1 1

1 1

B

B

B

B

Essential cells : 3 Non-Essential cells : 0 Minimal solutions : 1

1 1 1 1 1

A

1 1

1

B

B

1 1

Fig. 1-6 : Example 1

1

C

I

1 1

C

1

D

1 1

1 1

1 1

C

C

D

1 1

1 D

IV

1 1 1 1 1

1

1 1

B

I

A

A D

C

1

IV

1 1

D

IV

1 1 1

1 1

1

1 1 1

1 1

1 1

C

B

B

D

1 II

A

D

V

1 1

B A

B

F1 = ABC + BC'D + A'BD' F2 = BCD' + ABD + A'BC'

Essential cells : 0 Non-Essential cells : 6 Minimal solutions : 2

Fig. 1-11 : Example 6

1

1 1 1

1 1

1 1

C

F1 = BC + B'C'D + A'BD F2 = BC + B'C'D + A'C'D

Essential cells : 2 Non-Essential cells : 2 Minimal solutions : 2

F = AC + B'C + A'BC' + CD

Essential cells : 3 Non-Essential cells : 2 Minimal solutions : 1

A

C

1 1 1 1 1 1

1

Fig. 1-8: Example 3

B

Fig. 1-9 : Example 4

A

A

C

1 1 1

1

1

D

VI

1 1

1 1 1

1 1

1 1

C

B

I II III IV V

F1 = A'C' + AC + ABD + AB'D' F2 = A'C' + AC + ABD + B'C'D' F3 = A'C' + AC + BC'D + AB'D' F4 = A'C' + AC + BC'D + B'C'D'

Essential cells : 2 Non-Essential cells : 4 Minimal solutions : 4

Function "Area" All (Maximal) Cells Minimal Solution 1 Minimal Solution 2 Minimal Solution 4

Maps Definitions

Fig. 1-10 : Example 5

F = A'C'D + ACD + A'BC + ABC'

Essential cells : 4 Non-Essential cells : 1 Minimal solutions : 1

Fig. 1-7 : Example 2

1-4

A

A

A

A

A

A

0

D

D

0

I

C

C

I

1 1

D

D

C

C

C

I

-

1

1

I

-

1

1

I

-

D

1

I

1 1 - 1 1 1

1

1 1 1 -

D

1 1 1 1 -

1 -

- 1

1

1

1 1 -

1 1 - 1

1

1 1 1 1

1 1 1 1 1 1 1

C

B

B

B

B

B

B

A

A

A

A

A

A

0 D

D

D

II

1

1

-

D

1

C

C

II

-

1

1

II

1 1 - 1 1 1

D

1 1 1 -

1

D

1 1 1 1 -

C

II

-

1

1 1 -

1 -

- 1

1

1

0

II C

C

II

1 1

1 1 -

1

1 1 1 1

1 1 1 1 1 1 1

C

B

B

B

B

B

B A

-

A

A

A

A

A

1

D

0

D

B

D

C

1

III

-

A

D

1 1 III

1 1

-

C

C

III

D

1 III

1 1 - 1 1 1

1 1

1

- 1 - 1 1 1 1

- 1

1

1

1 1 -

C

III

C

III

B

1 1 - 1

0

D

1 1

1 1 1 1

1 1 1 1 1 1 1

C

B

B

B

B

1 IV

B A

C

1 D

B

A

C

-

D

1 IV

1 - 1 1 1

1 -

F = AD + A'D'

B

Essential cells : 2 Non-Essential cells : 1 Selected Don't Cares : Partial Minimal solutions : 1

Fig. 1-17 : Example 10

F = AC' + C'D + A'CD'

Essential cells : 0 Non-Essential cells : 3 (+5) Selected Don't Cares : None Minimal solutions : 1

Fig. 1-16: Example 9

F = AD' + A'B' + BCD

Essential cells : 2 Non-Essential cells : 1 (+2) Selected Don't Cares : All Minimal solutions : 1

Fig. 1-14 : Example 8

D

C

0 B

D

VI

1 1

A

Fig. 1-18 : Example 11

I

0 0 0 -

-

1

1 1 1 1

1 1 1 1 1 1 1

C

B

C

D

II

0 0 0 0 -

0 0

B A

D

-

C

0

III

0 0 -

0 0 0

F1 = A'C' + B'D'+ AB + CD F2 = BD+ AC + A'B'+ C'D' F3 = AD'+ BC'+ CD + A'B' F4 = A'D + B'C + AB+ C'D' F5 = F6 =

Essential cells : 0 Non-Essential cells : 12 Minimal solutions : 6

Fig. 1-12 : Example 7

F1 = ACD + AB + A'C' F2 = ACD + AB + A'D' Note : F1 and F2 are equivalent but not identical

Essential cells : 1 Non-Essential cells : 5 Selected Don't Cares : Partial Minimal solutions : 2

A

A

0 0

F = (A + B' + C' + D).(A' + B + C + D')

F' = A'BCD' + AB'C'D

Essential cells : 2 Non-Essential cells : 0 Minimal solutions : 1

V

1 1

1 1 1 1

1 1 1 1 1 1 1

Fig. 1-13 : Example 7.1

D

1 1

1 1 1 1

1 1 1 1 1 1 1

C

B

Function "Area" All (Maximal) Cells Minimal Solution 1 Minimal Solution 2 Minimal Solution 4

F = (A'+B+D').(A+B'+D).(B'+C+D')

F' = AB'D + A'BD' + BC'D

Essential cells : 0 Non-Essential cells : 8 Selected Don't Cares : None Minimal solutions : 1

Fig. 1-15 : Example 8.1

I II III IV V

Maps Definitions

1-5

X

Y

Z

1-6

M

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

BCD to 7-SEGMENTS CONVERTER Design a combinational circuit that gets a BCD input, and converts it to 7-Segment display. BCD is short form of Binary-Coded-Decimal. It Represents 10 decimal digits (0-9) in 4-bit binary code (0000-1001). Binary combinations 1010-1111 (above decimal 9) may not appear as inputs, and are refered as don't-care.

a. System Definition

Y,Z 00

01

11

10

0

0

0

1

0

1

0

1

1

1

X

b. 7-Sigments Arrangement

M = XY+XZ+YZ

b. Karnaugh-Map

a. Truth-Table

A G B C B A E D E C F F D G

D3 D2 D1 D0

Fig. 1-19 : Majority Function

c. Block Diagram

Y,Z X

Y

Z

A

B

C

0

0

0

0

0

0

0

0

1

1

0

0

0

1

0

1

0

0

0

1

1

1

1

0

1

0

0

1

0

0

1

0

1

1

1

0

1

1

0

1

1

0

1

1

1

1

1

1

00

X 0 1

0

01

1

1

1

11

10

1

1

1

D3 D2 D1 D0

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1

A=X+Y+Z Y,Z 00

X

01

11

10

0

0

0

1

0

1

0

1

1

1

B = XY + XZ + YZ

0

00

01

11

10

0

0

0

0

0

a. Truth-Table

0

1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

A B C DE F G

0 0 1 1 1 1 1 0 1 1

1 1 1 1 1 0 0 1 1 1

-

-

D3,D2 00

01

11

10

00

1

1

-

1

01

1

0

-

1

11

1

1

-

-

10

1

0

-

-

D1,D0

1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

d. Truth-Table (Partial)

Y,Z X

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0

C = XYZ

b. Karnaugh-Maps X Y

A

Z X

E=D2'+D1'D0'+D1.D2

e. Karnaugh Map of "E"

Y X

Z

B

Y

D3,D2

D3,D2 X

Y

Z

D1,D0

C

00

c. Contact Circit Realization

01

X Y Z X

10

Y Z

Y

SWITCH X

01

11

10

D1,D0

0

1

-

1

00

0

*

1 1

*

1 0

1

-

*

1

-

01

11

10

00

01

11

0

1

-

1

0

1

-

1

Y

SWITCH Y

Z

1

0

-

-

1

-

-

A=D3+D2.D1'+D2'D1+D1.D0'=

C

SWITCH Z

=D3+D2.D1'+D2'D1+D2.D0'

f. Karnaugh Map of "A"

d. Electrical Diagram

Fig. 1-20 : Motor Operation Control (Exer 1-7)

10

1

B

X

X

A

11

00

Fig. 1-21 : BCD to 7-Segments

1-7 LAMP

SW PUSHBUTTON SW DPST

RELAY SPST SW SPST RELAY 4PST

M1 SW DPDT

SW SPDT

M2

RELAY SPDT

A

M3

B

RELAY DPST

RELAY 4PDT

M4

RELAY DPDT

C

M5

Fig. 1-22 : Various Switches and Relays Types

M6 T = AB + AC + BC = AB + (A + B)C

M7

a. Majority Boolean Function COMMON

A

L = A'B'C' M1 = A'B'C M2 = A'BC' M3 = A'BC

B C M

a. Block-Diagram

-

+

b. Switches-Operated Circuit A A B

M4 = AB'C' M5 = AB'C M6 = ABC' M7 = ABC

L=A'B'C' M1=A'B'C M2=A'BC' M3=A'BC M4=AB'C' M5=AB'C M6=ABC' M7=ABC

B C A

c. Contacts Circuit

B

C

b. Switches-Operated Circuit A

-

B'

+

B

A' B

M

C B'

A

d. Switches Remote Operation 9 Long Lines, Carrying High Current

B

C'

L=A'B'C'

C

M1=A'B'C

C'

M2=A'BC'

C

M3=A'BC

C'

M4=AB'C'

C

M5=AB'C

C'

M6=ABC'

C

M7=ABC

Long lines, high power dissipation -

c. Contacts Circuit

+

A A

B

M

B

C

B

C

C

A -

+

A B

e. Relays Remote Operation 3 Long Lines, Carrying Low Current

COMMON C

d. Relays-Operated Circuit

Fig. 1-23 : "MAJORITY" Function Circuit Fig 1-24 : 3-TO-8 DECODER CIRCUIT

L=A'B'C' M1=A'B'C M2=A'BC' M3=A'BC M4=AB'C' M5=AB'C M6=ABC' M7=ABC

Y1 Y2 Y1 Y2

1-8

X2 X1'

Y1

X2'

CR1

X1'

CR1=Y1.X2+Y2.X2'+Y1.X1'+Y2.X1 8 Contacts , 16 Springs

CR1

2 Contacts 4 Springs

X1'

X1

1 Contact 3 Springs

Y1

Y1

X1

CR1

Y2

X2

CR1

X1

X1'

X1

c. Saving Contact Springs

b. Saving Contacts

X2

X1

X1'

X2'

CR1=Y1(X1'+X2)+Y2(X1+X2') 6 Contacts , 12 Springs

a. Original Function

X1'

X1

X1

Y2

X1

X1'

X2

Y2

X2'

CR1=Y1(X1'+X2)+Y2(X1+X2') 6 Contacts , 12 Springs

CR1=Y1(X1'+X2)+Y2(X1+X2') 4 Contacts , 10 Springs

d. Changing circuit schema

e. Saving Contact Springs

Fig. 1-25 : Saving Contacts and Contacts Springs Y2 Y3

Y2 T

Y1

Y3 T

Y1 Y1

Y2

Y3

Y2

T=Y2.Y3+Y1.Y3+Y1.Y2.Y3'

a. Original Function

Y3

T=Y2.Y3+Y1.Y3+Y1.Y2.Y3'+(Y2.Y3') = Y2 + Y1.Y3

b. Sneak Path Y2.Y3'

Fig.1-26 : Sneak Path Creation Exitation Function (Y)

Output Variables (y,y')

Y

RELAY

Output Function (T)

Input Variables (x')

y y y

x1 x2 x3 x4

y' y' y'

a. Use of Relay

T GATE

b. Use of Gates

Fig. 1-27 : Devices Outputs (fan-out) NOT

AND

OR

EXCLUSIVE OR

NOR

NAND

IMHIBITION

Old European Symbols

FLIP-FLOP S

Y

R

Y'

Old USA Symbols

S

New Symbols Recommended by ISO

Q FF

R

1

&

>1

=1

>1

&

Fig. 1-28 : Logic Gate Symbols

&

Q'

S

Y

R

Y'

1-9

C

- - - 0 - 1 - 0 0 0 0

A

1

A'

A

B+A'D

A'D D

D

D

C'(B+A'D)

B

B

B

C'

C

C

b. Gates Implementation of (a) - 5 Gates

T=BC'+A'C'D= =C'(B+A'D)

a. Prime Cells Selection C

A

D

- - - 0 - 1 - 0 0 0 0

1

C

C B

B

A

C'

B A

D

(B+A')C'D B+A'

A'

d. Gates Implementation of (c) - 4 Gates

D T=BC'D+A'C'D= =(B+A')C'D

c. Non-Prime Cells Selection

Fig. 1-29 : Minimize by Selecting Non-Prime Cells Input Variables

Xn

.....

Multiple Output System

.....

X1 X2 X3

Output Variables

Input Variables

T1 T2 T3

A B C D

Tm

a. General Case

Output Variables Multiple Output System

T1 T2

b. Specific Case

Fig. 3-30 : Multiple Output System

C

0

0

0

-

1 A

1

0 1 1

1 1

0

C

0

1

0 0 0

D T1=AC'+BCD (Instead of A'C+BD)

a. Function T1

0 B A

1

1

0

1

1

A

0

1

0

0

0

0

0

D

AC'

C'

0

0

A

B

C D B

T1=AC'+BCD

C D B B

BCD

T2=A'B+BCD A'B

A'

T2=A'B+BCD

b. Function T2

C. Gates Implementation

Fig. 1-31 : Minimize by Selecting Non-Prime Cells, in Multiple-Ourtut System

CHAPTER 2 RELAYS CASCADE SYSTEMS Ladder Diagram Relays, Cylinders, Valves Symbols Sequential Sequences Relays Cascade Implementation Huffman Method Flow Diagram Primitive and Merged Flow Tables State Assignment Output and Excitation Functions

2-1 "YES"

Switching Circuit-1

Load-1

Switching Circuit-2

Load-2

Switching Circuit-3

Load-3

"YES"

Switching Circuit-4

Load-4

"XOR"

| | |

| | |

Switching Circuit1-n

Load-n

"YES"

"YES"

"AND"

"OR"

a. General Schematics 220V

Fig. 2-1 : Ladder Diagram START

b. Example - Home Electric Ladder Network

STOP CR1

CR1 a2

a1

STOP

A-

-

+

A+ START

a2

a1

-

+

a. Basic Circuit

A+

CR1

CR1

a. Valve Without Return Spring

b. Basic Contacts Circuit

b. Valve With Return Spring

Fig. 2-4 : Cylinder Actuation Valves Set Circuit

Reset Circuit

CR1

CR1

c. General Circuit a1,a2 = 00

a1,a2 = 10

Fig. 2-2 : Set-Reset Relay Flip-Flop

a1

a2

A+

START

(Closed)

A-

(open)

-

A+

A-

CR1

(open)

b. Position "Moving"

a. Position "-"

STOP

CR1 CR1

Red Lamp

a1,a2 = 01

Green Lamp

A+

a2

-

+

a1 CR1

A-

(open)

(Closed)

a. Example - Schematic Circuit

c. Position "+" START

STOP

Voltage 8

6

2

RELAY CR1 5

Red Lamp

Fig. 2-5 : Positions of Cylinder Limit Switches

1

7

3

4

Green Lamp

b. Example - Wiring Diagram

Fig. 2-3 : Flip-Flop Implementation Example

a2

-

+

+

a1

a. Normally Open

b. Normally Closed

Fig. 2-6 : Graphic Symbols of Limit Switches

(open)

2-2

A Sequence of Drilling Two Holes in a Wodden Plate B

+

+

+

A

C

Cylinders States Cylinder "A" fastens/reases the wooden plate. Cylinder "B" lowers and lifts a driller..

5. Cylinder "B" lowers the driller thus performing drilling action 6. Cylinder "B" lists the driller thus disconnecting it from the plate 5. Cylinder "C" returns the driller to its initial position, and cylinder "A" releases the wooden plate.

2

3

4

5

6

7

8

START

a. Process Mechanical Representation

Process starts by pressing START pushbotton 1. Cylinder "A" fastens the wooden plate 2. Cylinder "B" lowers the driller thus performing drilling action 3. Cylinder "B" lists the driller thus disconnecting it from the plate 4. Cylinder "C" shifts the driller to next hole location.

1

+ A + B + C -

-

A. Cylinders Position Chart

1

+ A + B + C -

Cylinders States

2

3

4

5

6

7

8

a1 a2 b1 b2 c1 c2

Limit Switches

START

b. Sequence Description

B. Cylinders Position Chart & Contacts START , A+ , B+ , B- , C+ , B+ , B- , AC-

c. Sequence Short Representation

Cylinders States

+ A + B + C -

1

2

3

4

5

6

7

8

Cylinders States

Limit Switches

START

d. Cylinders Sequence Process Chart

Fig. 2-7 : Process Sequence Representations

VALVE

+ A + B + C -

1

2

3

4

5

6

7

a1 a2 b1 b2 c1 c2

+ A + B + C -

C. Cylinders Position Chart, Contacts & Valves Position

Fig. 2-8 : Sequence Chart Diagram

Fig. 2-2 : "Intuitive" Design Problems

8

2-3 START,A+,A-,B+,10 Sec delay,B(STEPS :

1

2

3

4

5)

a. Process Sequence (No Return Springs) START

b1

A+

b. Step 1 : Actuate A+

START

b1

cr1

a2

b2

A+

CR1

cr1

START

b1

A+

a2

A-

A-

cr1

cr1 PROBLEM Long Start causes Actuation of A+ and A- simultaneously

B+

a1

b2

c. Step 2 : Actuate A-

TMR B-

tmr Add reset (b2') to CR1

START

b1

cr1

A+

f. Correct problems of (e)

A-

a2 cr1

CR1 B+

a1

START

b1

cr1 CR2

PROBLEM B+ is also actuated before cycle starts

A+

cr2 a2

b2

d. Step 3 : Correct and Actuate B+

CR1

cr1 A-

cr1 cr1

START

b1

A+ cr1

a2

a1

CR3

CR1 cr3

cr1 cr1

A-

cr1

B+

b2 a1

TMR tmr

b2

B+

B-

TMR tmr

B-

g. Isolate Limit Swithes from Solenoids Current

PROBLEM B+ and B- are actuated simultaneously. CR1 is actuated infinitily

e. Steps 4-5 : Correct and Actuate TMR and B-

Fig. 2-9 : "Intuitive" Design Problems

2-4

RELAYS CASCADE SYSTEMS * Avoid conflicting actuation of a cylinder

START , A+ , A- , B+ , C+ ,

* Distinguish between situations where a cylinder performs more than a single cycle

I

II

CA+ III

, A- , BIV

Fig. 2-12 : Typical Groups Partitioning * Maximal size groups (to obtain minimum number of group relays) * Same "Letter" may appear no more than once in a group (to avoid conflicted commands to a cylinder) * Except for specific cases, groups Partitioning doesn't depend on having or not having valves return springs

START

cr3'

cr4'

cr2' CR1

cr1 cr1

Fig. 2-10 : Cascade Method Target & Rules

cr3' Group 1 Termination

CR2

cr2 cr2

cr4'

Group 2 Termination

CR3

cr3

START , A+ , A- , B+ , C+ ,

CA+

, A- , B-

cr3

a. Sequence List Representation

1

2

3

4

5

6

7

Group 3 Termination

Group 4 (Last) Termination

CR4

cr4

8

9

Group(s)

cr

A+ Condition(s)

A+ A-

Group(s)

cr

ACondition(s)

B+ BC+

Group(s)

cr

B+ Condition(s)

CSTART Group(s)

a2

cr

BCondition(s)

a1 b2

Group(s)

b1

cr

C+ Condition(s)

c2 c1

Group(s)

b. Sequence Chart Representation

Fig. 2-11 : Typical Process Definition

cr

CCondition(s)

Fig. 2-13 : Typical Initial Cascade Circuit, of 3-Cylinder / 4-Groups Process

B+

A-

, C+ , A+

C, A- , B-

cr3

cr2 cr4 cr2 cr3

B+ BC+ C-

cr

cr

cr

III

A+

C-

a1

a1 b2

b1

cr4'

cr3'

Fig. 2-14 : Relay Cascade Design Process 1 (No Return Springs)

C-

C+

B-

B+

A-

A+

CR4

CR3

CR2

CR1

IV

, A- , B-

cr2'

d Complete Circuit

cr4

cr2

cr3

cr1

cr4

a2

c2

cr2

a2

cr1

c1

cr

c. Total Initial Circuit

II

, C+ ,

cr3' cr4'

A-

cr3

cr2

cr1

START

cr

CR4

CR3

CR2

CR1

A+

cr4

cr4'

cr3'

cr2'

B+

A-

b. Groups Partitions

I

START , A+ ,

cr

cr3

cr3

cr2

cr1

cr3' cr4'

cr2

cr1

START

a. Process Sequence Information

2. Valves are actuated electrically (solenoids).

return springs.

1. Cylinders are actuated by 5/2 valves without

START , A+ , B+

A, C+ , A+

C, A- , B-

cr4

cr4'

cr3'

cr2'

C+

B+

A+

CR4

CR3

CR2

CR1

c1

cr4

cr3

cr2

cr3

cr1

cr4

II

, C+ ,

a1

a1

a2

b2

b1

cr4'

cr3'

cr2'

d. Complete Circuit

cr2

cr3

cr3

c2

cr2

a2

cr1

cr3' cr4'

cr2

cr1

START

B+

A-

III

A+

C-

b. Groups Partitions

I

START , A+ ,

B+ duration

C+

B+

A+

CR4

CR3

CR2

CR1

IV

, A- , B-

Fig. 2-15 : Relay Cascade Design Process 1 (With Return Springs)

c. Total Initial Circuit

cr

cr

cr

cr3

cr3

cr2

cr1

cr3' cr4'

cr2

cr1

START

a. Process Sequence Information

2. Valves are actuated electrically (solenoids).

return springs.

1. Cylinders are actuated by 5/2 valves with

START , A+ ,

2-5

cr4'

cr3'

cr2'

III

D-

D+

C-

C+

B-

B+

A-

A+

CR4

CR3

CR2

CR1

b. Groups Partition

II

c2

a2

a1

b2

d1

a2

c1

cr4

b1

cr3

d2

cr2

a1

cr4'

cr3'

cr2'

d. Complete Circuit

cr3

cr2

cr2

cr1

cr3

cr1

cr4

cr2

cr3

cr1

cr3

cr2

cr1 cr1

cr1

START cr3' cr4'

(IV)

Fig. 2-16 : Relay Cascade Design Process 2 (Without Return Springs)

c. Total Initial Circuit

cr

cr

cr

cr

cr

cr

cr

cr

cr4

cr3

cr2

cr1

cr3' cr4'

cr3

cr2

cr1

START

I

START , A+ , B+ , C+ , C- , A- , D+ , A+ ,D- , B- , A- ,

a. Process Sequence Information

1. Cylinders are actuated by 5/2 valves without return springs. 2. Valves are actuated electrically (solenoids).

START , A+ , B+ , C+ , C- , A- , D+ , A+ , D- , B- , A- ,

D-

D+

C-

C+

B-

B+

A-

A+

CR4

CR3

CR2

CR1

cr3

cr2

cr3'

cr2'

I

D+

C+

II

III A+

a2

a1

b2

d1

a2

c1

cr3

d2

cr2

c2

a1

(IV)

b1

cr3'

cr2'

Fig. 2-17 : Relay Cascade Design Process 2 (With Return Springs)

d. Complete Circuit

cr3

cr2

cr2

cr3

cr2

cr1

cr3

cr3

cr1

cr2

cr1

cr1

START cr3'

Notes : CR4 been canceled (useless). Rset CR3 been corrected Contact a1 been added to Set CR1

D+

C+

B+

A+

CR3

CR2

CR1

b. Groups Partition

c. Total Initial Circuit

cr

cr

cr

cr

cr2

cr1

cr1

START cr3'

cr2'

B+ START , A+ , B+ , C+ , C- , A- , D+ , A+ , D- , B- , A- ,

A+

a. Process Sequence Information

1. Cylinders are actuated by 5/2 valves with return springs. 2. Valves are actuated electrically (solenoids).

START , A+ , B+ , C+ , C- , A- , D+ , A+ , D- , B- , A- ,

D+

C+

B+

A+

CR3

CR2

CR1

2-6

2-7

"ON-DELAY" TIMER DEFINITION As long as input is "0", output is also "0". When input changes from "0" to "1", output change to "1" is delayed by T sec. When input changes from "1" to "0", output changes to "0" immediately, and time count resets to 0. Note : Element behaves as a slow activated relay : it changes to active state only T sec after been energized, but returns to rest state as soon as energizing terminates.

IN

"ON-DELAY" TIMER

OUT

IN

OUT

5 Sec

4 Sec

5 Sec

TIME Timing chart of a 5-Sec delay timer (example)

Fig. 2-17 : "On-Delay" Timer Definition

CHAPTER 3 PLC (Programmable Logic Controller) PLC Definition PLC Hardware Control System PLC Programming Programming LIFO Stack Implementation Timers and Counters Modified Programming Commands Standard I/O

PLC - Programmable Logic Controller

3-1

Micro-computer for controlling industrial processes First applied at 60th-70th Implement binary and analog signals, PID Eliminate need to implement relays and its wiring Cost economical, requires small space Contains timer' counters and more Perfect reliability Solution to the design of complex systems Easy to program and easy to change it Input/output are adapted to high voltage/current devices Reliable operation under industrial conditions Built in self diagnostics May be controlled and monitored by central computer Not economic for small control processes Slow but OK for industrial timimg

a. General

Programming Unit

Central Processing Unit (CPU) Memory

Input Modules Output Modules

Controlled System

PLC

b. Block Diagram of PLC

3-1. Programmable Controller (PLC) Representation

Limit Switches Proximity Switches Photoelectric Switches Sensor Switches (Level, Pressure, Temperature etc) Push-Button Switches Selector Switches Relay Contacts

a. Discrete Input Devices to PLC

Contact Relay Coils Valve Solenoids Pneumatic or Hydraulic Cylinders and Motors Lights Audible Alarms (Bells,Buzzers,Sirens) Fans Heaters Motor Starters

b. Discrete Output Devices Actuated by PLC 12, 24, 48, 120, 230 Volt AC 12, 24, 48, 120, 230 Volt DC 5V DC (TTL Level) Conract Relay Output

c. Standard Discrete I/O Interface Modules

3-2. PLC Interfaces

Field signal may not be connected directly to PLC Converts field signals to logic level, and vica versa Adapted to implement DC and AC signals Contains protection from voltage transients and noise Contains protection from oposite polarity connectios Electrical common isolation Expensive Adapted to work in industrial conditions

3-3 Input/Output Modules

m

004

003

n

PLC Program Coding

002

001

000

007

006

005

004

003

002

CR

b. Remote-Mounted I/O

PLC

..........

Fig. 3-5 : Different I/O Connection Location

a. PLC-Mounted I/O

PLC

I/O Modules (PLC Mounted)

..........

I/O Modules (Field Mounted with Multiplexer)

..........

Controlled System

Fig. 3-4 : General I/O Connection Diagram

Controlled System

Level FS5

Level FS4

Temp TS3

STOP

START

Limit Switch 2

001

000

.........

Limit Switch 1

Output Modules

................

Switch

Input Modules

Relay

Solenoid

Bulb

Solenoid

Motor

PROCESS 2

PROCESS 3

PLC 2

PLC 3 HOST

STAR

a. PLC Typical Network

PROCESSOR

PLC 7

RING

PROCESS n

PLC n

b. Several Possible LAN Topologies

PROCESS 1

PLC 1

PLC 4

PLC 6

PLC 6

Fig. 3-6: PLC Macro Networks

BUS

PROCESS 4

PROCESS 6

PROCESS 5

PLC 9

PLC 8

PROCESS 9

PROCESS 8

PROCESS 7

3-2

INPUT DEVICES

3-3

INPUT MODULES

OUTPUT MODULES

CPU SENSOR 1

HIGH/LOW VALUES

INPUT MODULE 1

LOGIC LEVEL

X1

SENSOR 2

HIGH/LOW VALUES

INPUT MODULE 2

LOGIC LEVEL

X2

PLC

OUTPUT DEVICES

Y1

LOGIC LEVEL

OUTPUT MODULE 1

HIGH/LOW VALUES

LOAD 1

Y2

LOGIC LEVEL

OUTPUT MODULE 2

HIGH/LOW VALUES

LOAD 2

Ym

LOGIC LEVEL

OUTPUT MODULE M

HIGH/LOW VALUES

LOAD m

CR1

HIGH/LOW VALUES

SENSOR n

CRk

LOGIC LEVEL

INPUT MODULE N

Xn (LOGIC LEVEL)

Fig. 3-7 : PLC General Configuration

PLC SYSTEM

INPUT MODULE 1

a1

X0

CPU a2

INPUT MODULE 2

a1

INPUT MODULE 3

X1 X2

Y1

Y2

OUTPUT MODULE 1

OUTPUT MODULE 2

A+

a2

-

Start

+

START

CYLINDER SYSTEM

+

-

A-

Fig. 3-8 : Typical PLC Control System Example

C-

D+ START , A+ ,

C+

Input Modules

, C- , A- ,

B+ , A+ , C+ , B- , D- ,

AStart

a. Process sequence

X0 X1 X2 X3 X4 X5 X6 X7 X8

START

a1 a2 b1

b2 c1 c2 d1 d2

b. Input Table

Y1

A+

Y2

AB+ BC+ CD+ D-

Y3

Y4 Y5 Y6 Y7 Y8

Y1 Y2 Y3 Y4

c. Output Table no return springs

Output Modules

A+ B+ C+ D+

X0

a1

X1

Y1

A+

a2

X2

Y2

A-

b1

X3

Y3

B+

b2

X4

Y4

B-

c1

X5

Y5

C+

c2

X6

Y6

C-

d1

X7

Y7

D+

d2

X8

Y8

D-

d. Output Table with return springs

PLC (no return springs) e. PLC and I/O System

Fig. 3-9 PLC I-O Variables Assignment

3-4 Typical air-condition system is operated by two push-botton switched : START button that operates the system STOP button that deactivate the system System is turned-on by pressing STARTbutton, and remains activated after releasing the button System is tuened-off by pressing STOP button, and remains de-activated after releasing the button A red LED is illuminated as long as the system in on

Air Condition Control Panel

On LED Off

In addition, control circuit is also equipped with a temperature sensor, that protects the system from over-heat (by turns it off)

Start

ACS

System

Stop T.S.

LED

b. Block Diagram a. Air-Condition System (ACS) representation

(Temperature Switch) START

T.S.

STOP

CR1

CR1

ACS

CR1

Start Stop T.S.

X17

X17 X18 X19

ACS LED

Input Module

X18

X19

Y13 Y15

PLC Y13

Y15 Input Module

X18

(No isolation problem since all I/O are isolated by modules)

f. Simplified Ladder Diagram

d. I/O Assignment Table

X17

Y15

Y13

Y13 Y15

Input Module

Y13

CR1

e. PLC "Internal" Ladder Diagram

OUTPUT INPUT MODULE MODULE

T.S.

CR1

CR1

LED

c. Relay Ladder Diagram for ACS

Stop

X19

CR1

(ACS supply must be isolated from sensors)

Start

X18

X17

CR1

Output Module Output Module

X19

d. PLC Ladder Diagram Fig. 3-10 PLC Control for Air-Condition System (ACS)

ACS LED

STORE

X17

OR AND

NOT

Y13 X18

AND

NOT

X19

OUT

Y13

OUT

Y15

g. PLC Program

cr6

cr2

cr1

cr3

b2

d2 C+

B+

Y12 Y13

Output Module

b. I/O Assignment

Input Module X3 X4 X5

cr8

x3

x3

x3

cr3

cr3

X4

X5

cr3 X5

Y13

Y12

CR8

Y13

Y12

e. Simplified Ladder Diagram

cr6

x4

cr2

cr1

c. PLC Ladder Diagram

cr6

cr2

cr1

cr2

cr1

Fig. 3-11 : Simplification of PLC Ladder Diagram

Connected to a2 b2 d2 B+ C+

a. Partial Ladder Diagram of a Control System

a2

0 1 2 3 4 5 6 7 8 9 10

12

0 1 2 3 4 5 6 7 8 9 10 11 Y13

x3 cr1 cr2 cr3 x5 Y12 x3 cr1 cr2 cr3 x4 cr6

x3 cr1 cr2 cr3 CR8 X5 Y12 cr8 X4 cr6 Y13

f. PLC Program (simplified)

STORE AND OR AND NOT OUT AND OUT STORE AND OR OUT

d. PLC Program

OUT

STORE AND OR AND NOT AND OUT STORE AND OR AND NOT AND OR

3-5

3-6

Command STORE first stores current value in a stack, while "pushing down" previous stack elements, and then clears latest calculated value. Action is similar to loading weapon stack. Commands that refer to stack - such as "AND STORE" , "OR STORE" etc - perform operation on current "upper" stack element (the one that been last entered), and deletes that element from stack, while "Pushing up" previous eelements. Action is similar to unloading a weapon stack, or shooting.

WEAPON STACK

Empty

1st

2nd 1st

3rd 2nd 1st

2nd 1st

1st

4th 1st

1st

WEAPON STACK

WEAPON STACK

WEAPON STACK

WEAPON STACK

WEAPON STACK

WEAPON STACK

WEAPON STACK

Load

Load

Load

Shoot

(1st in)

(2nd in)

(3rd in)

(3rd out)

Shoot

Load

(2nd out)

(4th in)

Shoot (4th out)

WEAPON STACK

Shoot (1st out)

3-12 PLC LIFO Stack concepts X2

cr10

X4

cr11

Y5

STORE NOT AND STORE NOT AND OR OUT

CR5

CR10

CR11

X2

CR6

CR2

CR3

CR1

a. Ladder Diagram

a. Ladder Diagram

0 1 2 3 4 5

X1

STORE NOT AND STORE NOT AND NOT OR STORE NOT AND NOT STORE AND NOT OR AND OUT

X2 CR10 X4 CR11 STORE Y5

b. PLC Programming of (a)

Fig. 3-13 : Use of LIFO Memory Stack

X1 CR5 X2 CR6 STORE CR10 CR11 CR2 CR3 STORE STORE CR1

b. PLC Programming of (a)

Fig. 3-14 : Multiple Use of LIFO Stack X2

cr10

X4

cr11

X1

x3

Y4

a. Ladder Diagram

0 1 2 3 4 5 6 7 8

STORE NOT AND STORE NOT AND OR STORE NOT AND OR OUT

0 1 2 3 4 5 6 7 8

X2 CR10 X4 CR11 STORE X1 X3 STORE Y4

b. PLC Programming Option 1

STORE NOT AND STORE NOT AND STORE NOT AND OR OR OUT

X2 CR10 X4 CR11 X1 X3 STORE STORE Y4

c. PLC Programming Option 2

3-15 : LIFO Use Oprions

cr3

b. Relays Cascade Circuit

cr4

cr2

cr3

C-

C+

cr1

b2

B-

cr4

a2

B+

cr1

CR4

CR3

A-

c1

b1

cr4'

CR2

CR1

cr2

a1

c2

c1

cr3'

cr2'

A+

cr4

cr3

cr4'

c2

cr2

cr1

cr3'

cr1

cr2

cr1

START

I

B+

A+ C+

AII

CIII

C+ IV

C-

B-

x5

c1

Y3

B+

Y6

C-

cr3

X6

X2

cr4

cr3

X5

cr2

X6

X1

x4

X5'

X3'

y4'

cr3'

y2'

d. PLC Cascade Circuit

cr4

cr2

cr3

cr1

cr4

cr1

cr2

cr1

cr2

cr1

cr1

cr3' cr4'

Fig. 3-16 : PLC Cascade System Design

c. PLC Variables Assignment

Y5

C+

Y4

Y2

A-

B-

Y1

A+

x6

x4

b2

c2

x3

b1

x2

x1

a1 a2

x0

START

a. Process sequence Groups partitining

START

X0

Y6

Y5

Y4

Y3

Y2

Y1

CR4

CR3

CR2

CR1

cr2 Y2 STORE OUT

cr2 x1 cr4 Y6

cr4 Y4 cr1 x2 x4 cr3 Y5

e. PLC Program

STORE AND OR OUT

STORE OUT STORE AND AND OR OUT

cr1 Y3

cr1 Y1

STORE OUT

STORE OUT

x6 cr4 x3 x5 STORE CR4

x5 cr3 cr4 CR3 AND OR STORE NOT OR NOT AND OUT

CR2 AND OR AND NOT OUT

x0 cr3 cr4 cr1 cr2 CR1 x6 cr2 cr3 AND OR AND NOT OUT

STORE AND NOT AND NOT OR AND NOT OUT

3-7

cr3

b. Relays Cascade Circuit

cr4

cr2

cr3

C-

C+

cr1 b2

B-

cr4

a2

B+

cr1

CR4

CR3

A-

c1

b1

cr4'

CR2

CR1

cr2

a1

c2

c1

cr3'

cr2'

A+

cr4

cr3

cr4'

c2

cr2

cr1

cr3'

cr1

cr2

cr1

START

x3 x4 x5

b1 b2 c1

Y6

C+

AII

CIII

C+ IV

C-

B-

d. Optimize CR Relays

Y4 = CR4

Y2 = CR2

Y1 = CR1

y4

y2

cr3

y1

y1

X5

X2

X6

cr3

y4

X1

y4'

X6 y2

y1

cr3'

x4

X5'

X3'

y4'

cr3'

y2'

e. PLC Cascade Circuit

cr3

y2

y1

X0

Fig. 3-17 : PLC Simplified Cascade of Fig. 3-16

c. PLC Variables Assignment

C-

Y5

C+

Y3

B+ Y4

Y2

A-

B-

Y1

A+

x6

x2

x1

a1 a2

x0

START

c2

I

B+

A+

a. Process sequence Groups partitining

START

Y6

Y5

Y3

Y4

CR3

Y2

Y1

Y1 Y3 X2 X4 CR3 Y5 Y2 X1 Y4 Y6

STORE OUT AND AND OR OUT STORE AND OR OUT

f. PLC Program

X6 Y4 X3 X5 STORE Y4

X5 CR3 Y4 CR3

Y2 Y1 X6 Y2 CR3 Y2

X0 CR3 Y4 Y1

AND OR STORE NOT OR NOT AND OUT

AND OR AND NOT OUT

AND OR AND NOT OUT

STORE AND NOT AND NOT OR AND NOT OUT

3-8

3-9 1. Read & store status of all external inputs (Xi) 2. Run program commands in its written order 3. Wait until end of scan time (*) 4. Return to (1) and start new cycle

a. PLC Scan Cycle Order

1. Input variables (Xi) status cannot be changed by program commands, and remains unchanged until next cycle 2. Output variables (Yi) and internal variables (CRi) status are controlled by PLC program. They are updated once during each cycle 3. Program commands refer to latest update of the variables.

b. Variables Status During Scan Cycle

I/O Update

Variables States

at Beginning of Scan

y7 cr4 x4 x4 y7 cr6

This Scan

Next Scan

CR2

Y7=0 , CR2=0

Y7=1 , CR2=1

CR6

CR4=0 , CR6=0

CR4=1 , CR6=1

Y7

X4=1 , Y7=1

CR4

X4=1 , CR4=1

CR5

Y7=1 , CR5=1

Y8

CR6=0 , Y8=0

CR6=1 , Y8=1

c. Effect of Scanning Action on Relay States

Fig. 3-18 : Effect of Scanning Action in PLC

X1

cr1 Y1

X1 CR1

STORE AND NOT OUT STORE OUT

X1 CR1 Y1 X1 CR1

X1 Y1

a. Proper Rung Order

X1 CR1 X1

cr1 Y1

STORE OUT AND NOT OUT

X1 CR1 CR1 Y1

X1 Y1

b. Improper Rung Order

Fig. 3-19: Importance of Proper Rung Order (Pulse Shaper)

Scan Period

3-10 RIGHT

cr1

WRONG

cr1

Y1

cr2

Y1

cr2

STORE OR OUT

cr1 cr2 Y1

SCHEMATIC DRAWING

Y1

STORE OUT STORE OUT

cr1 Y1 cr2 Y1

PLC PROGRAM

CR1=1 CR2=0

CR1=1 CR2=0

STORE OR OUT

cr1 cr2 Y1

1 1+0=1 Y=1

STORE OUT STORE OUT

SPECIFIC CASE

cr1 Y1 cr2 Y1

1 Y=1 0 Y=0

PROGRAM FLOW

END-LOOP RESULT

Y=0

Y=1

a. NEVER SPLIT OUTPUT FUNCTION INTO 2 (OR MORE) OUTPUT SUB-FUNCTIONS

WRONG

RIGHT START

STOP

START

CR1

CR1 CR1

STOP

CR1

CR1

MOTOR

MOTOR

MOTOR

MOTOR

Motor current flows through separate contact, thus isolated from input sensors

Motor current flows through sensors)

b. LOAD MUST BE ISOLATED FROM SENSORS

Fig. 3-20 : Right/Wrong Cases

3-11

X1

X2 X3

cr1

X1

CR1

X2

X4 cr1

X2 STORE STORE STORE AND OR AND OUT STORE AND

X4

X3

CR1

X1 X2 X3 X4 STORE

X2

STORE AND OR AND OUT STORE AND

STORE

CR1 cr1 X2

X3 X4 X2 X1 CR1 cr1 X2

b. Programmable Simplified Circuit

a. Original Circuit

X3

X4

X1

CR1

X2 cr1

X2

c. Ladder Sub-Circuit STORE AND OR AND OUT STORE AND

X3 X4 X2 X1 CR1 cr1 X2

d. PLC Program

STORE AND OR AND OUT AND

X3 X4 X2 X1 CR1 X2

e. Simplified Program

Fig. 3-21 : PLC Program Simplification

3-12

TIMERS AND COUNTERS The following implement PLC timers and counters of two companies : General Electrinc (GE) Texas Instruments (TI) Note : Examples refer to specific PLCs. Actually there exist a lot of different timers and counters.

Fig. 3-22 : PLC Timer And Counter Models

delay

delay

delay

TMR1 (in) Time

tmr1 (out)

a. "On-Delay" Definition

X1

TMR1

COUNT

OUT

F1

(120) tmr1

TMR1

COUNT

OUT

(120)

tmr1

X1=1 Timer Enabled and counting time X1=0 Timer is Reset

b. Specific Case

c. General Case

Fig. 3-23 : PLC "On-Delay" Timer Model (GE)

3-13

Flash Control

Switch

Flash Light

a. Flash Block Diagram

Flash light is actuated while switch is on Switch Flash

b. Flash Timing Diagram

x1

tmr2 tmr1 tmr1

TMR1 TMR2

Y1

(0.5 Sec) (0.5 Sec) (Light Valve)

c. PLC Ladder Diagram

x1 TMR1 tmr1=Y1 TMR2 tmr2

d. Detailed Timing Diagram

Fig. 3-24 : Design Flash-Light system using "On-Delay" timers

3-14

X1 TMR1 (200)

X2

X1=1 Timer Run X2=1 Timer Enabled

empty

F1

CR1

F2

X1=0 Timer Stops X2=0 Timer is Reset

STORE STORE TMR1 200

X1 X2

OUT

CR1

a. Specific Case

TMR (n)

CR1

F1=1 Timer Run F2=1 Timer Enabled

F1=0 Timer Stops F2=0 Timer is Reset

b. General Case

5

2

1

2

Count Reset Out 5

10

20

15

25

30

c. Timing Diagram (Delay=0.5 Sec)

Fig. 3-25 : 2-Input PLC Timer (TI - Texas Instruments)

X1

CR2

X1

CR2

TMR1 (5)

Y1

empty

y1 TMR2 (5)

y1

CR2

empty

a. Ladder Diagram

X1

(5)

empty Y1

y1 y1

TMR (5)

X1 CR2 X1 CR2

y1 y1 y1

CR2

b. Programming of (a)

CR2 TMR

STORE AND NOT STORE AND NOT TMR1 5 OUT STORE STORE TMR2 5 OUT

CR2

c. Simplified Ladder Diagram

empty

STORE NOT STORE TMR1 5 OUT STORE STORE TMR2 5 OUT

CR2 X1

Y1 y1 y1

CR2

d. Programming of (c)

Fig. 3-26 : Design Flash-Light system using TI timers

35

3-15 A security lock is to be opened only on confirmation of two managers, simultaneously. Each manager confirms by turning on a personal switch (A and B). In order to make sure that a single manager will not be able to turn on both switches, the switches been located far from each other, and lock is to be opened only if the two switches are turned on within 0.5 Sec. If one switch is turned on at least 0.5 Sec before second switch is turned on, the security lock is disabled, and may later be open after releasing the pressed switch and repeat the process. After being opened, the lock is closed as soon as any of the switches is turned off. a. Security Lock Specifications

Switch A Switch B

X1 X2

Lock

Y1

b. PLC I/O table TMR (5)

x1

CR1

(0.3 Sec)

x2

Y1

Y=1 when both switches are operated Missing timing dependence

x2

CR1

x2

Y1

Y=1 when both switches are operated, and timer output tmr1 is off Missing timer actuation

c. Solution Step 1

d. Solution Step 2

x1

x1

TMR

x2

(5)

x1

CR1

(0.3 Sec)

x2

x2

TMR

x2

(5)

x1

CR1

(0.3 Sec)

x2

x2

CR1

Y1

x1

x2

CR1

Y1 y1

Timer is actuated by either of the two switches. If timeout occurs before seconad swithced been turned, lock is diabled

If Y1 been set to "1", it keeps be connected by by-passing cr1 contact (acts as flip-flop).

Timer output always is set to "1" after 0.5 Sec. This disables lock even if it had been opened correctly.

e. Solution Step 3

f. Solution Step 3 - Complete Solution

Fig. 3-27 : Two-Hands Circuit Using PLC

3-16

X1

F1

CTR (25)

X2

CTR (n)

CR1 F2

X1= O-->1 One count X2=1 Counter Enabled

X2=0 Counter is Reset

CR1

F1= O-->1 One count F2=1 Counter Enabled

a. Specific Case

F2=0 Counter is Reset

b. General Case

empty

STORE STORE CTR1 25

X1 X2

OUT

CR1

c. Programming of (a)

Fig. 3-28 : PLC Two-Input UP Counter (TI)

X1 (Up/Down) X2

(Event)

X3

(Reset)

CTR3

F1 CTRi

F2

(120)

F3

(Up/Down) (Event)

CTRi (n)

(Reset)

CTRi

Y2

X1 determines UP or DOWN mode X2= O-->1 One count X3=1 Counter Enabled X3=0 Counter is Reset

Y2

F1 determines UP or DOWN mode F2= O-->1 One count F3=1 Counter Enabled F3=0 Counter is Reset

a. Specific Case

b. General Case LOAD NOT LOAD NOT LOAD NOT OUT 120 LOAD OUT

X1 X2 X3 CTR3 CTR3 Y1

c. Programming of (a)

Fig. 3-29 : 3-Input UP/DOWN Counter (GE)

3-17 START,(D+,D-) repeat 6 times,D+,10 Sec DELAY,Da. Required Sequence D

Input Modules

d2

D-

Output Modules

Connected to

Y1 Y2

START d1 d2 D+ D-

X0 X1 X2

-

+

d1

D+

b. Cylinder Type

c. PLC I/O Table

x1 (d1)

Y1

Infinite cycles

x2 (d2)

Y2

d. Solution Step 1

x1 (d1)

cr1

x2 (d2)

cr1

Y1

Y2

x1 (d1) x0 (Start)

COUNTER 1 (6)

CR1

e. Solution Step 2

x1 (d1)

cr1

x2 (d2)

cr1

Y1

Y2

cr2 x1 (d1) x0 (Start)

x2 (d2) cr1

COUNTER 1 (6)

TIMER 1

(100)

Circuit performs 6+1/2 Cycles, and stops

CR1

CR2

(10 Sec)

f. Solution Step 3 - Complete Circuit

STORE AND NOT OUT

x1 cr1 Y1

STORE NOT OR AND OUT

cr1 cr2 x2 Y2

STORE STORE NOT CTR1 6 (NOT USED) OUT STORE NOT STORE TMR1 100 (NOT USED) OUT

x1 x0

CR1 x2 cr6

CR2

g. PLC Programm

Fig. 3-30 : Step-By-Step Design of Sequence START,(D+,D-) repeat 6 times,D+,10 Sec DELAY,D-

3-18 An elevator exists in a 5-floor building. Elevator runs automatically (without human control), from 1st floor to 5th floor, and vica versa, while stopping for 10 seconds in each floor. Each floor is equipped WITH a unique contact, that is closed when the elevator reaches that floor. These contacts are implemented as input sensroes for PLC control system. a. System Description

1st

2nd

3rd

4th

5th

INPUT MODULE INPUT MODULE INPUT MODULE INPUT MODULE INPUT MODULE

X1

X2

X3

PLC Y1

OUTPUT MODULE

Y2

OUTPUT MODULE

UP

MOTOR

MOTOR

DOWN X4

X5

b. PLC System Configuration

X1 X2 X3

CR0

X4 X5 CR0

COUNT

TMR1

CR0

X1

OUT

(100)

CR1

RESET

X5

CR2

CR2 CR1 CR0 CR1 CR0

CR2

CR2

Y1

Y2

Notes : CR2 control elevator direction Y1 - Up direction Y2 - Down direction

STORE OR OR OR OR OUT AND TMR1 100 (NOT USED) OUT STORE OR AND NOT OUT STORE OR NOT AND OUT STORE OR NOT AND NOT OUT d. PLC Program

c. PLC Ladder Diagram

Fig. 3-31 : "Saturday" Elevator

X1 X2 X3 X4 X5 CR0 CR0

CR1 X1 CR2 X5 CR2 CR1 CR0 CR2 Y1 CR1 CR0 CR2 Y2

3-19

Property

Relays System

a. Signal Flow

PLC System

Parallel

Serial

b. Number of Contacts

Limitted

Unlimitted

c. Adding Relay

Expenssive

NO cost

d. Timers / Counters

Expenssive

e. Reliability

Limmted

f. Support

Required

X1

g. Races

NO cost

Almost unlimmited

Almost not required

X1

cr1

cr1 Y1

Y1 X1

X1

CR1

CR1

Possible

h. Non Serial Parallel

X1

CR1

X5 X2

(CR1 = X1.X3+X2.X4+ +X1.X5.X4+X2.X5.X3)

i. Sneak Path

X3

Impossible

X4

Possible

X1 X3

X2

CR1

CR2

CR1 = X1.X2 + X3.X4.X2 CR2 = X3.X5 + X1.X4.X5

Possible

X3

X2

X4

X1

X5

X4

X2

X5

X3

CR1

Impossible

X4 X5

X1

X1

X2

X3

X4

X3

X5

CR1 = X1.X2 + X3.X4.X2 CR2 = X3.X5

Impossible

Fig. 3-32 :Differences Between Relay and PLC Ladder Diagram

CR1

CR2

STORE MCR

b. Programming Lines

X6 3

b. Programming Lines

X6 3

Fig. 3-35: Jump (JMP) Command

c. Command Definition

If X6=0, then the next (3) outputs are frozen, and the PLC continues its scan at the rung following the third output

a. Ladder Diagram

JMP(3)

STORE JMP ...

X6

...

Fig. 3-34 : Master Control Relay (MCR) Command

c. Command Definition

If X6=0, then the next (3) outputs are kept at logic "0" (shut off)

a. Ladder Diagram

MCR(3) ...

X6

...

Fig. 3-33 : Support Other Data Types

Byte/Word format (binary groups) Digital to/from Binary Mathematical Operations Matrix Operations Digital/Analog conversion More

Register Y

+ = Register Z

ADD Register X

Overflow Output

Register Y

Register X

COMPARE

> =
2

D

C

Xn "1" An+1 "0" Bn+1

P=1

1

"0" Cn+1 "0" Dn+1

d. General Cell Flow Chart

Xi

X0

An

Ai-1

Ai

A1

A0

Bn

Bi-1

Bi

B1

B0

Cn

Ci-1

Ci

C1

C0

Dn

Di-1

Di

D1

D0

d. Iteratice Block Diagram Pi-1

Xi

Pi

0

0

0

Ai-1

0

1

1

1

1

0

1

1

1

1

0

e. General Cell Truth Table

Pi = Pi-1.Xi' + Pi-1'.Xi = Pi-1 xor X f. General Cell Function Xi

-

Bi-1 Ci-1

Di-1 Xi

Ai

Bi

Ci

Di

0

1

0

0

0

1

0

1

0

0

0

0

1

0

0

1

0

0

1

0

0

0

0

1

0

1 0

0 0

0 0

0 0

1 1

1

0

0

0

1

- - - - 1 - 1 - - 1 - 1 - - 1 - - 1

e. General Cell Truth Table 4

Pi-1

5

6

1

c. General Cell Flow Chart

0

0

1

N=0

A

c. Iterative Block Diagram

P=0

0

0

Pi

g. General Cell Logic Circuit

Fig. 9-4: Iterative Parity Checker

Ai = Ai-1.Xi' Bi = Ai-1.Xi + Bi-1.Xi' Ci =Bi-1.Xi + Ci-1.Xi' Di =Ci-1.Xi +Di-1 f. General Cell Function

Fig. 9-5 : Iterative 2-Out-of-n Checker

*

9-3 DESIGN OF A BINARY COMPARATOR Comparator compares 2 binary numbers X,Y (of equal length), and produces 3 output signals: Line A : A=1 if X>Y Line B : B=1 if X=Y Line C : C=1 if XY) (X=Y) (X