Tài liệu giới thiệu về PLC (Programable Logic Controller)
Phần 1: giới thiệu chung về điều khiển logic và thiết bị PLC
Phần 2: Giới thiệu họ vi điều khiển MCS-51
Phần 3: Thiết kế mạch điều khiển logic có lập trình
Phần 4: Thiết kế mạch ghép nối với máy tính để lập trình PLC
Phần 5: Thiết kế phần mền lập trình cho PLC
Phần 6: Thuyết minh chung
94 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 1963 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Thiết kế hệ plc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ho c¸c bé nhí ROM, RAM.
- §Öm chèt c¸c d÷ liÖu tõ vi xö lý ra ngoµi.
Trong m¹ch nµy ta sö dông m¹ch ®Öm chèt 74LS373 .
74LS373 lµ vi m¹ch ®Öm cèt 8 bit d÷ liÖu (®Þa chØ) s¬ ®å ch©n cña nã nh−
sau:
D0…D7 lµ 8 bit ®Çu vµo cña vi m¹ch ®Öm chèt ®Þa.
Q0…Q7 lµ 8 bit ®Çu ra cña bé m¹ch ®Öm chèt.
Ch©n E (Enable) lµ ch©n cho phÐp cña 74LS373 khi ®−îc chän ë møc
thÊp. Ch©n OE (Output Enable) cho phÐp ra khi m¹ch lµm viÖc OE ë møc thÊp.
§Ó hiÓu râ ta nghiªn cøu b¶ng tr¹ng th¸i cña vi m¹ch:
OE E Dn Qn+1
1
0
0
0
X
0
1
1
X
X
0
1
Hi-Z
Qn
0
1
B¶ng tr¹ng th¸i 74LS373
74LS373
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Vcc
GND
D0
D1
D2
D3
D4
D5
D6
D7
E
OE
2
5
6
9
12
15
16
19
20
10
2
5
6
9
12
15
16
19
20
10
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 51 [
X: Tr¹ng th¸i bÊt kú (cã thÓ 0 hay 1).
Hi-Z: Tr¹ng th¸i trë kh¸ng cao.
§Ó x©y dùng m¹ch ®Öm chèt ta xÐt cÊu tróc bªn trong cña vi m¹ch
74LS373.
Vi m¹ch ®Öm chèt 74LS373 cã 8 ®Çu vµo d÷ liÖu vµ 8 ®Çu ra t−¬ng øng
®−îc m« t¶ nh− s¬ ®å cÊu tróc trªn. Ho¹t ®éng cña m¹ch ®−îc ®iÒu khiÓn bëi hai
tÝn hiÖu ®−a tíi: OE vµ E (hayOC vµ G). trong ®ã E lµ ch©n cho phÐp (Enable),
ch©n OE lµ ch©n ®iÒu khiÓn ra (Out Enable).
- Khi ch©n OE ®−îc chän ë møc cao cã nghÜa lµ cæng 3 tr¹ng th¸i kh«ng
lµm viÖc vµ ë tr¹ng th¸i trë kh¸ng cao (Hi-Z) mµ kh«ng phô thuéc vµo c¸c tÝn
OE
D0 D
G
D
G
D
G
D
G
D
G
D
G
D
G
D
G
D1
D2
D3
D4
D5
D6
D7
E
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 52 [
hiÖu cho phÐp E ë møc cao th× cæng 3 tr¹ng th¸i lµm viÖc ë chÕ ®é ®Öm d÷ liÖu,
d÷ liÖu ®Çu ra gièng d÷ liÖu ®Çu vµo.
- Khi E ë m¹ch møc thÊp th× ®Çu ra ë m¹ch ®Öm chèt lµ gi÷ nguyªn tr¹ng
th¸i tr−íc ®ã mµ kh«ng phô thuéc vµo d÷ liÖu ®Çu vµo.
3.2.3. ThiÕt kÕ khèi ghÐp nèi.
Khèi ghÐp nèi cã nhiÖm vô ghÐp nèi gi÷a m¸y tÝnh vµ c¸c khèi vi xö lý.
ViÖc truyÒn d÷ liÖu thùc hiÖn qua khèi ghÐp nèi. Khèi ghÐp nèi thùc chÊt lµ mét
cæng giao diÖn nèi tiÕp trong ®å ¸n nµy ta dïng chuÈn truyÒn tin RS232 ®Ó
truyÒn lµ vi m¹ch Max 232. Së dÜ ta dïng cæng giao diÖn nèi tiÕp lµ do truyÒn
nèi tiÕp sÏ tiÕt kiÖm ®−êng truyÒn vµ gi¶m ®−îc nhiÔu trªn ®−êng truyÒn. Khèi
ghÐp nèi theo tiªu chuÈn RS232 sÏ chuyÓn møc tõ TTL thµnh møc RS232 vµ
ng−îc l¹i chuyÓn møc RS232 thµnh møc TTL do vi m¹ch Max RS232 chuyÓn
®æi møc TTL ë nèi vµo thµnh møc +10V hoÆc -10V ë phÝa truyÒn vµ c¸c møc
+3V ®Õn +15V hoÆc -3V ®Õn -5V thµnh møc 0V vµ +5V ë phÝa nhËn.
S¬ ®å ch©n cña Max 232:
16 +Vcc
MAX232
15 GND
14 T1Out
13 R1In
9 R2Out
12 R1Out
11 T1In
10 T2In
C1+ 1
C1- 3
C2+ 4
V+ 2
C2- 5
V- 6
T2Out 7
R2In 8
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 53 [
S¬ ®å cÊu tróc cña Max232:
Vi m¹ch Max232 sÏ ®−îc ®Æt gi÷a cæng nèi tiÕp cña vi xö lý vµ æ c¾m lÊy
ra cña cæng RS232. Ta chän æ c¾m lo¹i DB9 cã s¬ ®å bè trÝ ch©n nh− sau:
æ c¾m DB9 (nh×n tõ ngoµi).
S¬ ®å nguyªn lý m¾c vi m¹ch Max232 víi æ c¾m DB9 vµ vi xö lý nh− sau:
+5V…-5V DTR
+10V…-10V DSRS
+5V
Lèi vµo
Lèi vµo
Lèi ra
Lèi ra
DCD
RXD
TXD
DTR
GND
DSR
RTS
CTS
RI
1
5
6
9
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 54 [
B¶ng chøc n¨ng c¸c ch©n c¾m trong æ c¾m DB9:
Ch©n Chøc n¨ng (Tªn) Lèi (Vµo, Ra)
1
2
3
4
5
6
7
8
9
DCD - Data Carrier Detect
RXD – Read Data
TXD – Transmiter Data
DTR – Data Teminal Ready
GND – Ground
DSR – Data – Set – Ready
RTS – Requert – To – Send
CTS – Clear – To – Send
RI- Ring Indication
Lèi vµo
Lèi vµo
Lèi ra
Lèi ra
Mass
Lèi ra
Lèi ra
Lèi vµo
3.2.4. Khèi ®äc bμn phÝm vμ hiÓn thÞ tr¹ng th¸i.
Khèi nµy cã chøc n¨ng t¹o gi¸ trÞ phÝm ®−îc Ên. Cßn viÖc ®äc gi¸ trÞ vµo
cña bµn phÝm lµ do mét ch−¬ng tr×nh con trong VXL ®äc d÷ liÖu vµo cã tÝnh chu
k× sau khi kÔt thóc mét chu kú lµm viÖc cña PLC. Sau xö lÝ m¹ch hiÓn thÞ nhËn
gi¸ trÞ hiÓn thÞ tr¹ng th¸i tõ vi xö lý lµ kÕt qu¶ cña phÝm ®· Ên vµ t¹o tr¹ng th¸i
míi cho PLC.
C¸c phÝm gåm:
- PhÝm Stop (phÝm dõng).
- PhÝm Run (phÝm ch¹y).
RXD Out
1
5 9
6
RXD
TXD
TXD Out
TXD In
RXD In
VXL MAX232
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 55 [
- PhÝm Term (PhÝm nhËn vµ ch¹y thö ch−¬ng tr×nh trªn PLC khi lÊy ch−¬ng
tr×nh tõ m¸y tÝnh hoÆc m¸y lÆp tr×nh ®Ó kiÓm tra kÕt qu¶).
§ång thêi lµ hiÓn thÞ LED t−¬ng øng víi 3 tr¹ng th¸i cña thiÕt bÞ.
S¬ ®å nguyªn lý cña khèi nh− sau:
S¬ ®å nguyªn lÝ cña khèi ®äc bµn phÝm vµ hiÓn thÞ tr¹ng th¸i PLC.
Nguyªn lÝ ho¹t ®éng cña s¬ ®å:
Gi¶ sö ban ®Çu thiÕt bÞ PLC ®ang ë tr¹ng th¸i ch¹y(Run) th× tr−íc ®ã phÝm
Run ®· ®−îc Ên .C¸c phÝm Ên ë ®©y lµ c«ng t¾c ba vÞ trÝ t¹i mét thêi ®iÓm chØ cã
mét vÞ trÝ ®−îc ®ãng. Khi ®ã PLC ®ang ë chÕ ®éc lµm viÖc,®Ó b¸o tr¹ng th¸i nµy
trªn Bus d÷ liÖu cña PLC cã gi¸ trÞ ®Ó LED Run s¸ng vµ vi m¹ch 74LS373 sÏ
Tõ gi¶i m· ®Þa chØ
Tõ gi¶i m· ®Þa chØ
Stop Run Term
R
R
R
R R
+5V
+5V
OC
GND
GND
G
G
DIR
Ucc
Ucc
+5V
BUS d÷ liÖu
D0
.
.
.
.
D7
Q0
.
.
.
.
Q7
D0
.
.
.
.
D7
Q0
.
.
.
.
Q7
74LS245
74LS373
TERM
STOP
RUN
K
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 56 [
chèt d÷ liÖu nµy trong suèt qu¸ tr×nh lµm viÖc víi gi¸ trÞ 20h. Khi ®ã ®Çu ra Q1 ë
møc cao cßn c¸c ®Çu ra kh¸c ë møc thÊp vµ LED nèi vµo Q2 sÏ ph¸t s¸ng,b¸o
tr¹ng th¸i PLC ®ang lµm viÖc.
Gi¶ sö ta chuyÓn sang vÞ trÝ Stop (cho dõng hÖ thèng). §Õn hÕt chu kú lµm
viÖc VXL sÏ cho ch¹y ch−¬ng tr×nh ®äc bµn phÝm.Khi ®ã VXL sÏ nhËn tr¹ng
th¸i míi cña bµn phÝm(tr¹ng th¸i dõng) VXL®−a hÖ thèng vÒ tr¹ng th¸i dõng.
Khi VXL ch¹y ch−¬ng tr×nh con ®äc bµn phÝm th× d÷ liÖu vµo ®−îc truyÒn qua vi
m¹ch ®Öm 74LS245 vµo Bus ®Ó VXL ®äc vµ xö lÝ, kÕt qu¶ cña qu¸ tr×nh nµy sÏ
®−îc ®−a lªn Bus ®Ó ®Öm chèt 74LS373 nhËn vµ ®−a ra hiÓn thÞ b¸o tr¹ng th¸i .
Víi phÝm Stop gi¸ trÞ ®−a ra lµ 01h, khi ®ã c¶ hÖ thèng sÏ dõng vµ c¸c ®Çu ra cña
PLC ®Òu ë møc Logic thÊp tøc lµ c¸c thiÕt bÞ sau nã sÏ bÞ c¾t .
Nguyªn lÝ ho¹t ®«ng cña khèi nµy hoµn toµn t−¬ng tù khi phÝm Term ®−îc
Ên nh−ng gi¸ trÞ tr¹ng th¸i VXL ®−a ra lµ 04h .
VXL ®äc phÝm víi c¸c gi¸ trÞ :
- PhÝm Stop lµ F1h .
- PhÝm Run lµ F2h .
- PhÝm Term lµ F4h.
Khi lËp tr×nh VXL sÏ biÕt øng víi gi¸ trÞ ®ã th× phÝm nµo ®−îc ®ãng.
3.2.5 Vi m¹ch ®Öm vμo ra hai chiÒu 74LS245.
Vi m¹ch nµy ®¶m nhiÖm viÖc trao ®æi vµo ra hai chiÒu 8Bit cã s¬ ®å ch©n
vµ b¶ng tr¹ng th¸i nh− sau:
20 +Vcc
19 E
18 Q0
17 Q1
16 Q2
15 Q3
14 Q4
13 Q5
12 Q6
11 Q7
DIR 1
D0 2
D1 3
D2 4
D3 5
D4 6
D5 7
D6 8
D7 9
GND 10
74LS245
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 57 [
E DIR ChiÒu tÝn hiÖu
1
0
0
X
1
0
Hi-Z
Q→D
D→Q
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
E
D0
D1
D2
D3
D4
D5
D6
D7
DIR
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 58 [
- D0..D7, Q0..Q7 lµ c¸c ®Çu vµo ra ®÷ liÖu.
- DIR,E lµ c¸c tÝn hiÖu ®iÒu khiÓn .
- C¸c ch©n nguån: GND, +Ucc.
Tõ s¬ ®å cÊu tróc ta thÊy vi m¹ch nµy t¹o nªn tõ c¸c cæng ba tr¹ng th¸i
m¾c ng−îc nhau gåm cã 16 phÇn tö ba trang th¸i vi m¹ch ®−îc chän khi tÝn hiÖu
E (Enable) ë møc thÊp .Khi E ë møc cao th× ®Çu vµo ra cña vi m¹ch 74LS245 ë
tr¹ng th¸i trë kh¸ng cao (Hi-Z). Khi ®ã ®Çu vµo ®−îc t¸ch khái ®Çu ra .
Khi E ®−îc ®Æt ë møc thÊp th× tr¹ng th¸i vµo, ra phô thuéc vµo møc
Logic cña ch©n DIR.
+ NÕu DIR ë møc Logic thÊp th× d÷ liÖu ®−îc truyÒn tõ D sang Q.
+ NÕu DIR ë møc Logic cao th× d÷ liÖu ®−îc truyÒn tõ Q sang D.
Khi thiÕt kÕ m¹ch tuú theo yªu cÇu sö dông mµ vi m¹ch 74LS245 cã thÓ
lµ vµo ra hai chiÒu ,khi ®ã ch©n DIR ®−îc chän ë møc 0 vµ 1. Khi yªu cÇu tÝn
hiÖu vµo ra mét chiÒu th× tuú viÖc chän tÝn hiÖu vµo hay ra mµ ch©n DIR sÏ ®−îc
nèi Mass øng víi møc Logic thÊp vµ nèi d−¬ng nguång øng víi møc Logic cao.
Khi ®ã tÝn hiÖu ®iÒu khiÓn chØ phô thuéc vµo tÝn hiÖu cho phÐp E
(Enable).
Trong ®å ¸n nµy vi m¹ch 74LS245 ®−îc dïng hai tr−êng hîp khi tÝn hiÖu
vµo ra theo 2 chiÒu vµ tÝn hiÖu vµo mét chiÒu .
Nguån cÊp cho IC lµ nguån nu«i +5v vµ nèi Mass ch©n GND .
3.2.6. Bé nhí ch−¬ng tr×nh: ROM.
V× VXL 8031 sö dông trong ®å ¸n kh«ng cã ROM trong nªn ta sö dông
bé nhí ch−¬ng tr×nh bªn ngoµi, v× yªu cÇu cña PLC ®−a ch−¬ng tr×nh ®iÒu khiÓn
vµo b»ng ®−êng truyÒn nèi tiÕp vµ theo yªu cÇu xo¸ vµ ghi ch−¬ng tr×nh ®¬n gi¶n
nªn ch−¬ng tr×nh ®iÒu khiÓn sÏ kh«ng n»m trong ROM .
Mµ ROM chØ l− tr÷ ch−¬ng tr×nh hÖ ®iÒu hµnh. Ch−¬ng tr×nh trong ROM
sö dông khi khëi t¹o hÖ thèng lóc ®ã ROM cã nhiÖm vô ®−a ra ch−¬ng tr×nh
kiÓm tra phÇn cøng vµ t¹o tr¹ng th¸i ban ®Çu cho c¸c ®Çu ra cña hÖ. Xö lÝ ng¾t
khi cã tÝn hiÖu ng¾t th× VXL truy nhËp vµo ROM vµ ch¹y ch−¬ng tr×nh xö lÝ
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 59 [
ng¾t cã c¸c thao t¸c cho VXL tiÕn hµnh. Ngoµi ra ROM chøa ch−¬ng tr×nh t¹o
nªn tr¹ng th¸i dõng vµ ®iÒu khiÓn qu¸ tr×nh n¹p ch−¬ng tr×nh tõ cæng nèi tiÕp vµo
trong RAM ë ®©y ta chän ROM 2764 v× VXL cã thÓ qu¶n lÝ ®−îc bé nhí ch−¬ng
tr×nh ngoµi tíi 64KB, vi m¹ch nµy cã dung l−îng nhí 64KB cÇn 13 ®−êng ®Þa
chØ vµ tÝn hiÖu ®äc ra khi cã tÝn hiÖu chän chip CE (Chip Select) ë møc thÊp, 13
®−êng ®Þa chØ vµ tÝn hiÖu cho phÐp ra OE (Out Enable).
+ A0..A12 lµ c¸c ch©n ®Þa chØ.
+ D0..D7 lµ c¸c ch©n d÷ liÖu.
+ OE (Out Enable) cho phÐp ra.
3.2.7. RAM - Bé nhí d÷ liÖu vμ ch−¬ng tr×nh.
§èi víi VXL viÖc ®äc d÷ liÖu hay ch−ng tr×nh thùc VXL chØ nhËn biÕt
®−îc c¸c møc Logic nh− vËy ch−¬ng tr×nh ®−îc VXL nhËn ®−îc nh− d÷ liÖu.
V× trong PLC yªu cÇu viÖc n¹p vµ xo¸ ch−¬ng tr×nh nhiÒu lÇn mµ thao t¸c
®¬n gi¶n, ®Ó lµm viÖc nµy ta kh«ng thÓ th¸o ROM ®Ó n¹p mµ ta sÏ dïng ROM ®Ó
®iÒu khiÓn VXL n¹p ch−¬ng tr×nh vµo RAM. Khi ®ã ch−¬ng tr×nh n»m trong
Ram ®−îc VXL coi nh− d÷ liÖu. Nhê vËy mµ qu¸ tr×nh ®äc viÕt trë nªn ®¬n gi¶n
. Khi cÇn ®äc ch−¬ng tr×nh th× tiÕn hµnh ®äc b×nh th−êng nh− trong ROM .
Ta chän RAM lµ RAM tÜnh SRAM (Static RAM) 6264 RAM nµy cã dung
l−îng 64KB, cÇn 13 ®−êng ®Þa chØ vµ c¸c tÝn hiÖu ®iÒu khiÓn WE ,OE , 1CE , CE2
cïng 8 ®−êng d÷ liÖu.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
NC
A12
A7
A6
A5
A4
A3
A2
A7
A0
D0
D1
D2
GND
Vcc
WE
CE2
A8
A9
A11
OE
A10
1CE
D7
D6
D5
D4
D3
28
27
26
25
24
23
22
21
20
19
18
17
16
15
SRAM 6264
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 60 [
S¬ ®å ch©n cña SRAM 6264 nh− sau :
- C¸c ch©n A0..A12 lµ c¸c ch©n ®Þa chØ.
- C¸c ch©n D0..D7 lµ c¸c ch©n d÷ liÖu.
- C¸c ch©n 1CE , CE2 (Chip Enable) lµ c¸c tÝn hiÖu chän chip víi 1CE øng
víi møc thÊp vµ CE2 øng víi møc cao. Khi ®ång thêi 2 tÝn hiÖu nµy tho¶ m·n th×
SRAM6264 ®−îc chän.
- Ch©n OE (Out Enable) ch©n cho phÐp d÷ liÖu ra (®äc) tÝch cùc ë møc
thÊp .
- Ch©n WE (Write Enable) ch©n cho phÐp viÕt ë møc tÝch cøc møc thÊp.
- Ch©n Vcc cÊp nguån +5V vµ ch©n GND nèi Mass.
Khi c¸c tÝn hiÖu ®iÒu khiÓn ®· tho¶ m·n th× VXL sÏ ®−a ra gi¸ trÞ ®Þa chØ
tíi ®Çu vµo ®Þa chØ cña SRAM ®Ó lÊy d÷ liÖu .Khi ®äc vµ ®−a ®Þa chØ råi d÷ liÖu
n¹p cho RAM khi ghi.
V× theo yªu cÇu cña PLC mµ RAM ®−îc chia lµm hai vïng mét vïng
32KB cã vïng ®Þa chØ thÊp dïng ®Ó l−u tr÷ ch−¬ng tr×nh ch¹y PLC cßn mét vïng
32KB cã vïng ®Þa chØ cao ®Ó trao ®æi d÷ liÖu trong qu¸ tr×nh xö lÝ d÷ liÖu cña
PLC. B¶n ®å bé nhí RAM ngoµi nh− sau:
Bé nhí cã 13Bit ®Þa chØ vµ vïng ®Þa chØ lµ tõ 0000h…1FFFh. Khi ®ã vïng
®Þa chØ thÊp lµ 0000h…0FFFh vµ vïng ®Þa chØ cao lµ 1000h…1FFFh.
B¶n ®å RAM nh− sau:
1FFFh
0FFFh
0000h
Dïng nhí d÷ liÖu
Dïng nhí ch−¬ng tr×nh
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 61 [
3.2.8. HÖ vi xö lý.
HÖ vi xö lý ®−îc thiÕt kÕ dùa trªn c¬ së cña VXL8031 cã thÓ dïng bé nhí
ngoµi lªn tíi 64KB víi Bus d÷ liÖu 8 bit hÖ thèng giao tiÕp víi m¸y tÝnh th«ng
qua chuÈn truyÒn tin RS 232. Bé phèi ghÐp dïng vi m¹ch Max 232 víi bé ghÐp
nèi nµy hÖ chØ giao tiÕp víi m¸y tÝnh kho¶ng 30m trë l¹i. Khi cÇn truyÒn xa ph¶i
cã bé khuyÕch ®¹i ®−êng truyÒn bæ xung. VXL 8031 cã 16 ®−êng ®Þa chØ víi 8
bÝt ®Þa chØ thÊp vµ 8 bÝt d÷ liÖu truyÒn trªn 1 cæng b»ng dïng bé dån kªnh, ngoµi
ra cßn vi m¹ch gi¶i m· ®Þa chØ chän chip 74LS138 vµ vi m¹ch ®Öm chèt
74LS373.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 62 [
S¬ ®å nguyªn lý cña hÖ VXL.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 63 [
C¸c linh kiÖn trong s¬ ®å ®· ®−îc nghiªn cøu ë c¸c phÇn tr−íc ®©y ta
nghiªn cøu nguyªn lý ho¹t ®éng cña s¬ ®å. §Ó hÖ lµm viÖc tõ qu¸ tr×nh lÊy
ch−¬ng tr×nh bªn ngoµi th× ban ®Çu trong ROM ph¶i cã ch−¬ng t×nh ®iÒu hµnh.
Khi ch−¬ng tr×nh ®iÒu khiÓn ®−îc tõ m¸y tÝnh qua cæng truyÒn nèi tiÕp
vµo VXL vµ ®−îc ROM ®iÒu hµnh ®−a vµo d÷ liÖu trong RAM. §©y lµ ®iÒu kh¸c
c¬ b¶n gi÷a c¸c hÖ VXL v× RAM ngo¹i l−u ch−¬ng tr×nh ë vïng nöa ®Þa chØ cao
th× nöa vïng ®Þa chØ thÊp ®Ó l−u ch−¬ng tr×nh.
Khi ch−¬ng tr×nh l−u trong RAM khi cã yªu cÇu ch¹y th× VXL ph©n biÖt
ch−ong tr×nh ®iÒu hµnh vµ ch−¬ng tr×nh ®iÒu khiÓn ë tÝn hiÖu PSEN kÕt hîp víi
gi¸ trÞ ®Þa chØ cô thÓ khi ®äc ch−¬ng tr×nh ®iÒu hµnh trong ROM th× VXL ®−a ra
tÝn hiÖu PSEN ë møc thÊp vµ gi¸ trÞ ®Þa chØ ë vïng tõ 0000h ®Õn 1FFFh. Khi ®ã
ROM ®−îc chän vµ gi¸ trÞ ®Þa chØ vµo ®Ó ®−a ta ch−¬ng tr×nh ®iÒu khiÓn.
Ch−¬ng tr×nh trong ROM lµ c¸c d¹ng ch−¬ng tr×nh khëi t¹o vµ t¹o tr¹ng
th¸i ban ®Çu ë c¸c ®Çu ra. C¸c ch−¬ng tr×nh xö lý ng¾t vµ ch−¬ng tr×nh nhËn
ch−¬ng tr×nh tõ cæng nèi tiÕp chuyÓn vµo RAM vµ lÊy ch−¬ng tr×nh trong RAM
khi cÇn.
Khi VXL ch¹y ch−¬ng tr×nh chÝnh trong RAM th× VXL còng ®−a ra PSEN
vµ gi¸ trÞ ®Þa chØ nh−ng trong vïng tõ 2000h ®Õn 3FFFh khi ®ã VXL sÏ lµm viÖc
víi ch−¬ng tr×nh trong RAM.
V× 8 bit ®Þa chØ thÊp cïng ®Çu ra víi 8 bit d÷ liÖu theo kiÓm dån kªnh nªn
ph¶i cÇn bé nhí trung gian mµ vai trß nµy do 74LS373 ®¶m nhiÖm ®Ó l−u gi¸ trÞ
8 Bit ®Þa chØ thÊp khi truy nhËp.
3.2.9. ThiÕt kÕ khèi ®Çu vμo vμ khèi ®Çu ra.
Hai khèi nµy lµ c¸c lµ c¸c vÝt ®−a tÝn hiÖu vµo vµ ra d−íi d¹ng 2 møc logic
râ rÖt. V× c¸c møc logic nµy do yªu cÇu nµy do yªu cÇu truyÒn xa, chèng nhiÔu
hay yªu cÇu ®iÒu khiÓn mµ møc ®iÖn ¸p th−êng cao h¬n møc ®iÖn ¸p chuÈn cña
vi m¹ch xö lý bªn trong vµ cßn yªu cÇu c¸ch ly vÒ ®iÖn gi÷a bé xö lý vµ c¸c
®−êng truyÒn tÝn hiÖu bªn ngoµi nh»m b¶o vÖ t¨ng ®é an toµn cho PLC.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 64 [
Ta cã s¬ ®å nguyªn lÝ cña khèi ®Çu vµo vµ khèi ®Çu ra cña hÖ PLC:
S¬ ®å nguyªn lý m¹ch lÊy tÝn hiÖu vµo cã chuyÓn møc ®iÖn ¸p.
S¬ ®å nguyªn lÝ m¹ch d−a tÝn hiÖu ra theo kiÓu ®ãng c¾t R¬le.
Nguyªn lÝ ho¹t ®éng cña khèi lÊy tÝn hiÖu vµo:
Møc Logic 1 ë ®©y th−êng cao víi PLC 57-200 lµ +24V v× vËy mµ cÇn cã
chuyÓn møc vµ c¸ch ly ®iÖn ¸p vµo vµ m¹ch VXL.
Khi ®Çu vµo ë møc 0 (thÊp) lµ 0V khi ®ã ®iÖn ¸p ®Æt lªn LED trong Opto
lµ 0V nªn Opto kho¸ vµ d÷ liÖu ë ®Çu ra lµ 0V øng víi møc thÊp vµ LED1 kh«ng
s¸ng b¸o møc logic lµ møc 0.
3.2.10 ThiÕt kÕ nguån nu«i cho toμn m¹ch.
Trong m¹ch ta sö dông c¸c vi m¹ch:
- Vi m¹ch ®Öm chèt 74LS373.
+ +5V R1
R3
OP
Ru M¹nh ®Öm 3 tr¹ng th¸i
TÝn hiÖu vµo
LED1
TÝn hiÖu vµo
TÝn hiÖu ra
LED
+12V
R1
R2
D
RL
T
R3
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 65 [
- Vi m¹ch vµo ra ba tr¹ng th¸i 74LS245.
- Vi m¹ch gi¶i m· 74LS138.
- Vi m¹ch MAX 232.
- Vi xö lÝ 8031.
- Bé nhí ch−¬ng tr×nh EPROM 2764.
- Bé nhí d÷ liÖu RAM 6264.
- Ngoµi ra cßn cÇn nguån cho c¸c Sensor Logic vµ cuén d©y R¬le .
Nªn toµn bé nguån yªu cÇu lµ: +24V, +12V, +5V vµ -5V.
S¬ ®å nguyªn lÝ cña m¹ch t¹o nguån nu«i nh− sau:
7805
7905
7812
7824
2200μ
2200μ
2200μ
2200μ
2200μ 2200μ
2200μ 2200μ 104 104
104104
104
104 104
104
+5V
-5V
+12V
+24V
~ 220V
~ 9V
~ 9V
~ 15V
~ 27V
S¬ ®å nguyªn lý nguån nu«i cho toµn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 66 [
PhÇn IV:
ThiÕt kÕ m¹ch ghÐp nèi víi m¸y tÝnh
®Ó lËp tr×nh cho plc
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 67 [
HÖ vi ®iÒu khiÓn logic lËp tr×nh PLC cÇn ph¶i thùc hiÖn ®−îc c¸c thao t¸c
tr−íc tiªn lµ giao tiÕp víi m¸y tÝnh hoÆc hÖ VXL kh¸c. HÖ vi ®iÒu khiÓn hiÖn nay
xö dông rÊt nhiÒu lÜnh vùc ®o l−êng vµ ®iÒu khiÓn. Nh− thÕ ®ßi hái ph¶i ghÐp nèi
m¸y tÝnh, toµn bé qu¸ tr×nh ho¹t ®éng ®−îc thùc hiÖn b»ng phÇn mÒm ®iÒu
khiÓn.Víi hÖ ®iÒu khiÓn logic chóng ta cÇn n¹p ch−¬ng tr×nh vµo trùc tiÕp tõ
m¸y tÝnh vµo VXL vµ VXL sÏ l−u gi÷ ch−¬ng tr×nh trong bé nhí. ViÖc trao ®æi
th«ng tin gi÷a PLC vµ m¸y tÝnh ®−îc thùc hiÖn qua cæng nèi tiÕp RS232 (cæng
COM1 hoÆc COM2) cña m¸y tÝnh th«ng qua hÖ thèng c¸p truyÒn. ChÕ ®é nµy
gäi lµ chÕ ®é trao ®æi th«ng tin theo ch−¬ng tr×nh b»ng ph−¬ng ph¸p truyÒn nèi
tiÕp kh«ng ®ång bé.
C¸c chÕ ®é ch−¬ng tr×nh: Sö dông c¸c lÖnh vµo ra (In, Out) c¸c lÖnh chuyÓn
d÷ liÖu gi÷a c¸c thanh ghi (MOV) ®Ó chuyÓn d÷ liÖu cña m¸y tÝnh vµo bé nhí
ngoµi cña PLC hoÆc ng−îc l¹i .
4.1. Giíi thiÖu vÒ truyÒn tin nèi tiÕp cña m¸y tÝnh PC.
4.1.1. TruyÒn tin ®ång bé vμ kh«ng ®ång bé :
Trong kü thuËt truyÒn d÷ liÖu gi÷a hai m¸y tÝnh ng−êi ta sö dông mét
trong hai ph−¬ng thøc truyÒn: §ång bé vµ kh«ng ®ång bé
Víi chÕ ®é truyÒn kh«ng ®ång bé, ký tù ®−îc truyÒn ®i theo tõng khung,
trong mçi khung cã:
- Bit Start
- C¸c bit d÷ liÖu ®−îc truyÒn
- Bit ch½n lÎ ®Ó kiÓm tra lçi ®−êng truyÒn
- Bit Stop
Thñ tôc truyÒn kh«ng ®ång bé chØ cã 2 tr¹ng th¸i 0 vµ 1 hay thÊp hoÆc
cao. Khi kh«ng cã ký tù nµo ®−îc truyÒn, kªnh truyÒn sÏ ë møc cao, nÕu sau ®ã
kªnh h¹ xuèng thÊp th× bªn thu sÏ ph¸t hiÖn r»ng s¾p cã d÷ liÖu ®−îc truyÒn tíi.
Tuú theo quy −íc mµ cã 5..8 d÷ liÖu. NÕu kªnh ë møc thÊp trong khi truyÒn th×
cã nghÜa lµ bit 0 ®ang ®−îc truyÒn, cßn kªnh ë møc cao th× bit 1 ®ang ®−îc
truyÒn. Bit thÊp ®−îc truyÒn tr−íc bit cao ®−îc truyÒn sau.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 68 [
Sau d÷ liÖu cña ký tù lµ bit ch½n lÎ, dïng ®Ó ph¸t hiÖn lçi khi truyÒn.
Ng−êi ta ph©n biÖt bit Parity ch½n vµ bit Parity lÎ. Bit Parity ch½n nghÜa lµ bit
Parity ®−îc thiÕt lËp sao cho tæng sè bit cña mét ký tù vµ bit Parity lµ ch½n. Bit
Parity lÎ nghÜa lµ bit Parity ®−îc thiÕt lËp sao cho tæng sè bit1 cña mét ký tù vµ
bit Parity lµ lÎ.
Cuèi cïng lµ bit STOP, bit nµy th«ng b¸o kÕt thóc viÖc truyÒn d÷ liÖu cña
1 ký tù. Bit Stop cã thÓ lµ 1,1,5, hoÆc 2.
VÝ dô:
Gi¶ sö d÷ liÖu ®−îc truyÒn víi tèc ®é 300 Baud (300 bit/ s) víi 1 bit Stop.
V× cã bit Stop nªn kªnh sÏ ë møc cao trong 1/300s sau khi truyÒn xong 1 ký tù.
Nh−ng nÕu cã 1,5 bit Stop th× kªnh sÏ lªn møc cao trong.
1,5 * 1/300s = 1/200s. ViÖc truyÒn ký tù ®Õn ®©y lµ kÕt thóc kªnh sÏ ë
møc cao cho ®Õn khi cã 1 ký tù míi ®−îc vµo vÞ trÝ truyÒn .Khi ®ã kªnh sÏ h¹
xuèng møc thÊp ®Ó truyÒn bit Start.
Sè l−îng bit d÷ liÖu phô thuéc vµo kiÓu d÷ liÖu cÇn truyÒn. §Ó truyÒn d÷
liÖu ASCII th−êng dïng 7 bit ( v× bé ký tù nµy chØ cã 127 ký tù ) nh−ng nÕu
truyÒn ký tù ASCII më réng th× ph¶i cÇn ®Õn 8 bit d÷ liÖu cho mçi ký tù. Xö lý
truyÒn vµ nhËn trong chÕ ®é kh«ng ®ång bé dïng c¸c vi m¹ch thu ph¸t kh«ng
®ång bé v¹n n¨ng UART. Nh−îc ®iÓm cña truyÒn kh«ng ®ång bé lµ tèc ®é
truyÒn kh¸ chËm v× ph¶i truyÒn thªm c¸c bit kh«ng mang tin (Start bit, Parity bit,
Stop bit ). Muèn lo¹i bá c¸c bit kh«ng mang tin nµy ®Ó tõ ®ã n©ng cao ®−îc tèc
®é hiÖu dông cña ®−êng truyÒn ng−êi ta sö dông ph−¬ng ph¸p truyÒn ®ång bé.
Trong chÕ ®é nµy d·y c¸c ký tù ®−îc truyÒn sÏ kÌm thªm m«t ký tù ®Æc biÖt: Ký
tù ®ång bé SYN ( cã m· ASCII lµ 22). Xö lý truyÒn vµ nhËn ký tù trong chÕ ®é
nµy dïng c¸c vi m¹ch thu ph¸t UART. Vi m¹ch nµy cho phÐp ho¹t ®éng c¶ ë hai
chÕ ®é.
4.1.2. ChuÈn truyÒn nèi tiÕp RS232.
D÷ liÖu ë møc TTL ®−îc biÕn ®æi sang c¸c møc ®iÖn ¸p t−¬ng øng theo
tiªu chuÈn RS232 nh− sau:
Møc 1: Tõ –3V ®Õn –15V ( Tiªu chuÈn lµ -12V )
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 69 [
Møc 0: Tõ +3V ®Õn +15V ( Tiªu chuÈn lµ +12V )
BIOS cña m¸y tÝnh PC cho phÐp nhËn biÕt ®−îc tíi 4 cæng nèi tiÕp :
COM1 cã ®Þa chØ tõ 3F8 ®Õn 3FFh t−¬ng øng víi IRQ1
COM2 Cã ®Þa chØ tõ 2F8 ®Õn 2FFh t−¬ng øng víi IQR2
COM3 cã ®Þa chØ tõ 3E8 ®Õn 3EEh
COM4 cã ®Þa chØ tõ 2E8 ®Õn 2EEh
§iÒu khiÓn viÖc truyÒn d÷ liÖu qua giao diÖn RS232 lµ bé xö lý UART
8250. Sau ®©y lµ c¸ch UART göi vµ nhËn 1 ký tù:
*TruyÒn: §Çu tiªn ký tù ®−îc ®−a vµo thanh ghi ®îi truyÒn vµ n»m ®ã cho
®Õn khi ký tù tr−íc ®ã ®−îc truyÒn xong ,sau ®ã nã ®−îc ®−a ®Õn thanh ghi
dÞch cña bé ph¸t vµ tõng bit cña nã sÏ ®ùoc UART truyÒn vµo kªnh d÷ liÖu.
*NhËn: Khi nhËn ®−îc mét ký tù , ®Çu tiªn c¸c bit cña nã lÇn l−ît ®−îc
n¹p vµo thanh ghi dÞch cña bé thu råi ®−a tíi thanh ghi d÷ liÖu sau khi ®· lo¹i bá
c¸c bit Start, Stop, Parity.
VÝ dô:
Gi¶ sö cÇn truyÒn ký tù A cã m· ASCII lµ 41h ®−îc biÓu diÔn d−íi d¹ng
m· nhÞ ph©n lµ 01000001b, tæng sè bit 1 lµ 2. NÕu ta chän kiÓu kiÓm tra Parity lµ
ch½n th× bit Parity ph¶i ®−îc xo¸ vÒ 0 ®Ó tæng sè c¸c bÝt 1 lµ ch½n. Cßn nÕu ta
chän kiÓu kiÓm tra lµ lÎ th× bit Parity ph¶i ®−îc thiÕt lËp lªn 1®Ó tæng sè c¸c bit 1
lµ lÎ vµ cuèi cïng lµ bit Stop.
Gi¶ sö kªnh truyÒn ®−îc thiÕt lËp víi tèc ®é 9600 Baud th× thêi gian
truyÒn mçi bit sÏ lµ 1/9600s. NÕu ta chän 1,5 bit Stop th× sau khi kÕt thóc truyÒn
c¸c bit cña ký tù A kªnh truyÒn sÏ ë møc cao trong 1,5*1/9600s råi bit Start cña
ký tù tiÕp theo míi ®−îc truyÒn.
Yªu cÇu phÇn cøng: RS232 liªn l¹c víi bªn ngoµi qua ®Çu nèi DB9 Vµ
DB25 th«ng th−êng COM1 lµ DB9 Vµ COM2 lµ DB25 ( nÕu dïng DB25 th×
còng chØ nèi 9 ch©n )
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 70 [
* CD: DCE Ph¸t hiÖn ®−êng truyÒn cã vËt mang tin hay DCE ®· thu ®−îc
dÊu hiÖu cña tin trªn ®−êng truyÒn vµ b¸o ®−êng truyÒn tèt
• RXD: DTE nhËn sè liÖu tõ DCE.
• TXD: DTE truyÒn sè liÖu ra.
• DTR: S è liÖu s½n sµng ë DTE.
• GND: D©y nèi ®Êt .
• DSR: Sè liÖu s½n sµng ë DCE.
• RTS: DTE yªu cÇu göi sè liÖu .
• CTS: TÝn hiÖu tr¶ lêi chÊp nhËn RTS hoÆc ®ã lµ tÝn hiÖu yªu cÇu lµm viÖc.
• RI: B¸o chu«ng.
4.1.3. Bé thu ph¸t kh«ng bé v¹n n¨ng.
Bé thu ph¸t kh«ng ®ång bé v¹n n¨ng UART ®−îc thiÕt kÕ ®Æc biÖt ®Ó xö
lý truyÒn tin kh«ng ®ång bé. Chip UART 8250 lµ chip c¬ b¶n ®−îc thiÕt kÕ cho
CPU 80286. HiÖn nay cã c¸c chÝp th«ng dông UART kh¸c nh− 16450 vµ
16550A t−¬ng øng víi c¸c CPU cã bus d÷ liÖu 32 hay 64 bit. Ngoµi ra cßn cã
c¸c chip UART ®−îc thiÕt kÕ cho xö lý c¶ ®ång bé vµ kh«ng ®ång bé.
CD
RXD
TXD
DTR
GND
DSR
RTS
CTS
RI
S¬ ®å c¸c ®−êng tÝn hiÖu cña giao diÖn RS-232
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 71 [
* Chøc n¨ng cña UART:
ChuyÓn ®æi tÝn hiÖu song song tõ CPU thµnh tÝn hiÖu nèi tiÕp ®Ó ph¸t ra
ngoµi m¸y tÝnh vµ ®æi tÝn hiÖu nèi tiÕp ®Õn m¸y tÝnh thµnh d¹ng song song ®Ó
m¸y tÝnh xö lý. UART bæ xung c¸c bit Start, Stop, Parity ®Õn mçi ký tù ®Ó ph¸t
vµ lÊy ra nh÷ng bit ®ã tõ ký tù thu ®−îc. UART ®¶m b¶o r»ng nh÷ng bit riªng
biÖt ®−îc ph¸t ra ë tèc ®é truyÒn d÷ liÖu thÝch hîp, tÝnh to¸n c¸c bit ch½n lÎ trªn
c¸c ký tù thu vµ ph¸t th«ng b¸o cho hÖ thèng biÕt bÊt kú mét sai sãt nµo ®· ®−îc
ph¸t hiÖn.
* C¸c giao tiÕp cña UART.
+ Giao tiÕp víi hÖ thèng BUS I/O cña CPU
+ Giao tiÕp víi hÖ thèng ®ång hå
+ Giao tiÕp víi hÖ thèng chuÈn RS232
* C¸c ®Þa chØ cña UART 8250.
+ 3F8/2F8: D÷ liÖu nhËn ®−îc hay cÇn göi ®i chøa trong thanh ghi nµy,
khi ghi vµo thanh ghi th× nã chøa d÷ liÖu truyÒn vµ ®äc thanh ghi th× nã chøa d÷
liÖu nhËn ®−îc
+3F9/2F9: Thanh ghi cho phÐp ng¾t
7 6 5 4 3 2 1 0
Bit 7,6,5,4 kh«ng sö dông, thiÕt lËp vÒ 0.
Bit 3 = 1 cho phÐp UART ph¸t ra IQR theo tr¹ng th¸i Modem.
Bit 2 = 1 cho phÐp UART ph¸t ra IQR theo tr¹ng th¸i ®−êng truyÒn.
Bit 1=1 cho phÐp UART ph¸t IQR khi thanh ghi ®îi truyÒn rçng.
Bit 0 = 1 cho phÐp UART Ph¸t IQR khi d÷ liÖu nhËn ®· s½n sµng.
+3FA2A: Thanh ghi ®Þnh danh ng¾t, khi x¶y ra 1 ng¾t th× ®äc thanh ghi
nµy ®Ó xem ng¾t x¶y ra tõ ®©u.
7 6 5 4 3 2 1 0
Bit 7,3 thiÕt lËp vÒ 0
Bit 2,1 : 00 :Tr¹ng th¸i MODEM thay ®æi
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 72 [
01: Thanh ghi ®îi truyÒn rçng
10: D÷ liÖu nhËn ®−îc ®· s½n sµng
11: Tr¹ng th¸i ®−êng truyÒn thay ®æi
Bit 0 =1 : Kh«ng cã yªu cÇu ng¾t cÇn xö lý
Bit 0 = 0: Cã yªu cÇu ng¾t cÇn xö lý
+3FB/2FB: Thanh ghi ®iÒu khiÓn ®−êng truyÒn
7 6 5 4 3 2 1 0
Bit 7: = 1 : §Æt tèc ®é truyÒn
= 0 : B×nh th−êng.
Bit 6: =1: Göi c¸c kho¶ng tr¾ng
= 0: T¾t tÝn hiÖu Breack
Bit 5: = 1: Kh«ng dïng
Bit 4: = 1: Parity ch½n
= 0: Parity lÎ
Bit 3: =1: Cã sö dông parity
= 0: Kh«ng sö dông Parity
Bit 2: =1: Dïng 1,5 bit stop nÕu 5 bit / 1 ký tù
= 0: Dïng 1,5 bit Stop nÕu 5 bit / 1 ký tù
Bit 0-1 : 00: 5 bit/ký tù
01 :6bit/ký tù
10 :7bit/ký tù
11 :8bit/ký tù
+3FD/2FD: Thanh ghi tr¹ng th¸i ®−êng truyÒn
7 6 5 4 3 2 1 0
Bit 7: Kh«ng sö dông ,thiÕt lËp vÒ kh«ng
Bit 6 =1: Thanh ghi dÞch rçng, ph¸t xong 1 byte
Bit 5 =1: Thanh ghi ph¸t rçng, bit nµy tù ®éng b»ng 0 khi CPU göi 1 byte
sè liÖu tiÕp theo ra thanh ghi ph¸t
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 73 [
Bit 4 = 1: Trong khi thu nhËn ®−îc kho¶ng c¸ch trèng lín h¬n 1 ký tù ®Çy
®ñ
Bit 3 = 1: Lçi khung
Bit 2 = 1: Lçi Parity
Bit 1= 1: Mét byte sè liÖu nhËn vÒ ch−a kÞp ®äc bëi CPU ®· bÞ dßng d÷
liÖu kh¸c ®Ì lªn.
Bit 0 = 1: NhËn ®−îc d÷ liÖu.
+3FE/2FE: Thanh ghi tr¹ng th¸i MODEM
D7 D6 D5 D4 D3 D2 D1 D0
Bit 7 = 1: Liªn l¹c víi Modem ®· ®−îc thiÕt lËp
Bit 6 = 1: Chu«ng
Bit 5 = 1:DCE göi tÝn hiÖu DSR tíi DTE b¸o r»ng ®½ s½n sµng nhËn d÷
liÖu
Bit 4=1 : DCE göi tÝn hiÖu CTS vÒ DTE b¸o r»ng ®· s½n sµng nhËn d÷ liÖu
Bit 3=1: Bit 7 võa chuyÓn tr¹ng th¸i
Bit 2=1: Bit 6 võa chuyÓn tr¹ng th¸i
Bit 1=1: Bit 5 võa chuyÓn tr¹ng th¸i
Bit 0=1: Bit 4 võa chuyÓn tr¹ng th¸i
4.2. TRUYÒN TIN NèI TIÕP CñA VI §IÒU KHIÓN 8031.
4.2.1. Giíi thiÖu chung.
HÖ vi xö lý 8031 cã cæng nèi tiÕp n»m trªn chip. Chøc n¨ng quan trong
cña cæng nèi tiÕp lµ biÕn ®æi d÷ liÖu tõ song song thµnh nèi tiÕp ®Ó ®Èy lªn
®−êng truyÒn vµ biÕn ®æi d÷ liÖu vµo tõ nèi tiÕp thµnh song song .
ViÖc truy nhËp phÇn cøng cña cæng nèi tiÕp th«ng qua c¸c ch©n TXD vµ
RXD cña 8031 vµ ®ã còng lµ 2 bit cña Port 3:
P3.1 ( TXD) lµ ch©n sè 11
P3.0 (RXD) Lµ ch©n sè 10
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 74 [
Cæng nèi tiÕp cña 8031 cã thÓ truyÒn 2 chiÒu ®ång thêi vµ ký tù cã thÓ
®−îc nhËn vµ l−u tr÷ trong bé ®Öm trong khi ký tù thø 2 ®· ®−îc nhËn vµ nÕu
CPU ®äc ký tù thø nhÊt tr−íc khi ký tù thø 2 ®−îc nhËn th× d÷ liÖu kh«ng bÞ mÊt
Cã 2 thanh ghi chøc n¨ng ®Æc biÖt ®Ó phÇn mÒm qua ®ã truy nhËp cæng nèi tiÕp
lµ SPUF Vµ SCON.
SPUF cã ®Þa chØ 99h ®−îc xem nh− 2 Buffer .Khi ghi d÷ liÖu vµo SBUF lµ truyÒn
d÷ liÖu cßn khi ®äc d÷ liÖu tõ SBUF Lµ nhËn d÷ liÖu tõ ®−êng truyÒn SCON Cã
®Þa chØ 98h lµ thanh ghi cã thÓ ®¸nh ®Þa chØ theo tõng bit bao gåm bit tr¹ng th¸i
vµ bit ®iÒu khiÓn. Bit ®iÒu khiÓn x¸c lËp chÕ ®é ®iÒu khiÓn cho cæng nèi tiÕp vµ
bit tr¹ng th¸i cho biÕt ký tù ®−îc truyÒn hay ®−îc nhËn. Bit tr¹ng th¸i ®−îc kiÓm
tra b»ng phÇn mÒm hoÆc lËp tr×nh ®Ó g©y ra ng¾t.
4.2.2. Thanh ghi ®iÒu khiÓn cæng nèi tiÕp. (Spesial Post Cobtrol
Register).
C¸c chÕ ®é ho¹t ®éng cña cæng nèi tiÕp ®−îc x¸c lËp b»ng c¸ch ghi vµo
thanh ghi SCON ë ®Þa chØ 99h.
Sau ®©y lµ c¸c bit cña thanh ghi SCON:
BIT SYBOL ADRES DESCRIPTION
SCON.7 SMO 9FH Serial port mode bit 0
SCON.6 SM1 9EH Serial port mode bit 1
SCON.5 SM2 9DH Serial port mode bit 2
SCON.4 REN 9CH Receive enable
§−îc x¸c lËp nhËn ký tù
SCON.3 TB8 9BH Transmit bit 8
Bit thø 9 truyÒn ë chÕ ®é 3
§−îc lËp vµ xo¸ b»ng phÇn mÒm
SCON.2 RB8 9AH Receive bit 8 .Bit 9 ®−îc nhËn
SCON.1 TI 99H Transmit interrut flag
Nã ®−îc lËp khi kÕt thóc truyÒn
ký tù vµ ®−îc xo¸ b»ng phÇn mÒm
SCON.0 RI 98H Receive Interrupt Flag .
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 75 [
Nã ®−îc lËp khi kÕt thóc nhËn 1
ký tù vµ ®−îc xo¸ b»ng phÇn mÒm
Tr−íc khi sö dông cæng nèi tiÕp thanh ghi SCON ph¶i ®−îc khëi t¹o cho
®óng chÕ ®é ho¹t ®éng .
VÝ dô:
MOV SCON ,# 01010010b
Khëi t¹o cæng nèi tiÕp ho¹t ®éng ë chÕ ®é 1, cho phÐp nhËn (REN =1), vµ
®Æt thanh ghi TI = 1 ®Ó cho biÕt s½n sµng truyÒn.
4.2.3. C¸c chÕ ®é ho¹t ®éng :
8031 cã 4 chÕ ®é ho¹t ®éng, viÖc chän chÕ ®é ho¹t ®éng b»ng c¸ch x¸c
lËp c¸c bit SM0 vµ SM1 cña thanh ghi SCON. Cã 3 chÕ ®é ho¹t ®éng truyÒn
kh«ng ®ång bé, mçi ký tù truyÒn hoÆc nhËn theo tõng khung víi bit Start vµ Stop
t−¬ng tù RS232 cña m¸y tÝnh PC. Cßn chÕ ®é thø 4 ho¹t ®éng nh− mét thanh ghi
dÞch ®¬n gi¶n.
4.2.3.1. Thanh ghi dÞch 8 bit (Mode 0).
MODE 0 ®−îc chän b»ng c¸ch ghi 0 vµo bit SM0 Vµ SM1 thanh ghi
SCON, x¸c lËp cæng nèi tiÕp ho¹t ®éng nh− thanh ghi dÞch 8 bit. D÷ liÖu vµo vµ
ra nèi tiÕp qua RXD vµ TXD theo nhÞp ®ång hå, 8 bit ®−îc truyÒn vµ nhËn víi
bit thÊp nhÊt ®−îc truyÒn ®Çu tiªn. Tèc ®é Baud ®−îc ®Æt b»ng 1/12 tèc ®é ®ång
hå .Trong chÕ ®é nµy ta kh«ng nãi ®Õn RXD vµ TXD. §−êng RXD ®−îc dïng
cho c¶ truyÒn vµ nhËn d÷ liÖu cßn ®−êng TXD ®−îc dïng cho tÝn hiÖu Clock
ViÖc truyÒn d÷ liÖu ®−îc khëi ®Çu b»ng c¸ch ghi d÷ liÖu vµo thanh ghi SBUF, d÷
liÖu ®−îc dÞch ra tõng bit ra ngoµi qua ch©n RXD (P3.0) cïng víi xung ®ång hå
®−îc göi ra ngoµi qua ®−êng TXD(P31). Mçi bit ®−îc truyÒn qua RXD trong 1
chu kú m¸y.
ViÖc nhËn d÷ liÖu ®−îc khëi ®Çu khi bit cho phÐp nhËn (REN) ®−îc x¸c
lËp lªn bit 1 vµ bit RI ph¶i xo¸ vÒ 0. Nguyªn t¾c chung lµ x¸c lËp bit REN lóc b¾t
®Çu ch−¬ng tr×nh ®Ó khëi t¹o c¸c tham sè cña cæng nèi tiÕp vµ xo¸ bit RI ®Ó b¾t
®Çu c«ng viÖc nhËn d÷ liÖu. Khi RI ®−îc xo¸, xung ®ång hå ®−îc ghi ra ch©n
TXD, b¾t ®Çu chu kú m¸y tiÕp theo vµ d÷ liÖu ®−îc ®−a vµo ch©n RXD. Mét kh¶
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 76 [
n¨ng cña chÕ ®é thanh ghi dÞch lµ cã thÓ më réng ®−êng racña 8031. Thanh ghi
dÞch chuyÓn ®æi nèi tiÕpthµnh song song cã thÓ kÕt nèi c¸c ®−êng TXD vµ RXD
cung cÊp thªm 8 ®−êng ra.
4.2.3.2. Bit UART tèc ®é Baud cã thÓ thay ®æi ®−îc (Mode 1).
ë Mode 1 cæng nèi tiÕp cña 8031 ho¹t ®éng nh− lµ UART 8 bit víi tèc ®é
Baud cã thÓ thay ®æi ®−îc. UART lµ mét thiÕt bÞ nhËn vµ truyÒn d÷ liÖu nèi tiÕp ,
mçi ký tù ®−îc truyÒn b¾t ®Çu b»ng bit Start (tr¹ng th¸i thÊp) sau ®ã lµ c¸c bit d÷
liÖu ®−îc truyÒn vµ cuèi cïng lµ bit Stop (tr¹ng th¸i cao).
Mét chøc n¨ng quan träng cña UART lµ chuyÓn ®æi d÷ liÖu song song
thµnh nèi tiÕp ®Ó truyÒn vµ chuyÓn ®æi nèi tiÕp thµnh song song ®Ó nhËn.
Trong chÕ ®é nµy, 10 bit d÷ liÖu ®−îc ®−îc truyÒn qua TXD vµ nhËn vµo
qua RXD vµ viÖc truyÒn còng t−¬ng tù nh− chÕ ®é 0, bit Start lu«n b»ng 0 sau ®ã
®Õn 8 bit d÷ liÖu (LSB ®Çu tiªn ) vµ cuèi cïng lµ bit Stop. Bit TI cña SCON ®−îc
lËp b»ng 1 khi bit Stop ë ch©n TXD. Trong qu¸ tr×nh nhËn bit Stop ®−îc ®−a vµo
bit RB8 cña thanh ghi SCON vµ tèc ®é truyÒn ®−îc ®Æt bëi Timer 1. ViÖc ®ång
bé thanh ghi dÞch cña cæng nèi tiÕp ë chÕ ®é 1,2,3 ®−îc ®iÒu khiÓn bëi Counter
víi ®Çu ra Counter lµ nhÞp ®ång hå ®iÒu khiÓn tèc ®é Baud cßn ®Çu vµo cña
Counter ®−îc chän b»ng phÇn mÒm .
4.2.3.3. 9 Bit UART víi tèc ®é Baud cè ®Þnh.
ChÕ ®é ®−îc chän b»ng c¸ch ®Æt bit SM1 = 1 Vµ SM0 = 0, cæng nèi tiÕp
cña 8031 sÏ ho¹t ®éng nh− UART 9 bit cã tèc ®é baud cè ®Þnh, 11 bit sÏ ®−îc
truyÒn vµ nhËn qua TXD vµ RXD: 1 bit Start, 9 bit d÷ liÖu vµ mét bit Stop
.Trong khi truyÒn bit thø 9 sÏ ®−îc ®Æt vµo TB8 cña thanh ghi SCON cßn khi
nhËn bit thø 9 sÏ ®−îc ®Æt vµo RB8. Tèc ®é baud cña chÕ ®é 2 cã thÓ lµ 1/32
hoÆc 1/64 xung nhÞp ®ång hå.
4.2.3.4. 9 Bit UART víi tèc ®é Baud cã thÓ thay ®æi ®−îc.
Mode 3 t−¬ng tù nh− Mode 2 nh−ng tèc ®é Baud ®−îc lËp tr×nh vµ ®−îc
cung cÊp b»ng Timer. Trong thùc tÕ c¶ 3 mode 1,2,3 lµ t−¬ng ®−¬ng nhau chØ
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 77 [
kh¸c nhau ë chç tèc ®é Baud ë chÕ ®é 2 lµ cè ®Þnh cßn chÕ 1 vµ 3 cã thÓ thay ®æi
®−îc vµ sè l−îng bit d÷ liÖu cña Mode 1 lµ 8 bit cßn Mode 2 vµ mode 3 lµ 9 bit.
4.2.4. Khëi t¹o vμ truy nhËp cæng nèi tiÕp.
* Cho phÐp nhËn
Bit cho phÐp nhËn (REN) cña thanh ghi SCON ph¶i ®−îc lËp b»ng phÇn
mÒm ®Ó cho phÐp nhËn d÷ liÖu. ViÖc nµy ®−îc tiÕn hµnh lóc b¾t ®Çu ch−¬ng
tr×nh khi cæng nèi tiÕp, Timer, Counter ®−îc khëi t¹o. Cã hai c¸ch x¸c lËp bit
nµy:
SETB REN hoÆc MOV , SCON , #XXX1XXXXB
( Trong ®ã x cã thÓ lµ 0 hay 1 tuú theo yªu cÇu cña ch−¬ng tr×nh ).
* Cê ng¾t (Interrupt Flag).
Hai bit RI vµ TI trong thanh ghi SCON ®−îc lËp lªn 1 b»ng phÇn cøng vµ
ph¶i ®−îc xo¸ vÒ 0 b»ng phÇn mÒm.
RI ®−îc x¸c lËp khi bit cuãi cïng cña d÷ liÖu ®−îc nhËn mµ nã cho biÕt
r»ng ®· kÕt thóc truyÒn 1 byte d÷ liÖu nã ®−îc Test b»ng ch−¬ng tr×nh ®Ó g©y ra
ng¾t. NÕu ch−¬ng tr×nh muèn nhËn d÷ liÖu tõ 1 thiÕt bÞ nèi víi cæng nèi tiÕp nã
ph¶i chê cho ®Õn khi RI ®−îc lËp sau ®ã xo¸ RI vµ ®äc d÷ liÖu tõ SBUF
VÝ dô:
WAIT : JNB RI, WAIT; test RI vµ chê cho ®Õn khi ®−îc lËp
CLR RI ; xo¸ RI
MOV A , SBUF ; §äc d÷ liÖu tõ SBUF
T−¬ng tù bit TI ®−îc lËp khi bit cuèi cïng cña d÷ liÖu ®−îc truyÒn vµ nã
cho biÕt r»ng ®· truyÒn xong. NÕu ch−¬ng tr×nh muèn göi d÷ liÖu ®Õn thiÕt bÞ nèi
qua cæng nèi tiÕp nã ph¶i kiÓm tra xem ký tù tr−íc ®ã ®· göi ch−a, nÕu ch−a göi
nã ph¶i chê ®Õn khi göi xong míi ®−îc göi.
VÝ dô:
WAIT: JNB TI, WAIT; KiÓm tra khi TI Set
CLR TI ; NÕu set th× xo¸ TI
MOV SBUF, A; Göi d÷ liÖu vµo SBUF ®Ó truyÒn.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 78 [
4.3. GhÐp nèi m¸y tÝnh víi hÖ vi xö lý.
4.3.1. S¬ ®å ghÐp nèi hÖ vi xö lý vμ m¸y tÝnh.
ViÖc ghÐp nèi gi÷a hÖ vi xö lý vµ m¸y tÝnh ®iÒu khiÓn hÖ thèng c©n
mÎ ®−îc thùc hiÖn ë kho¶ng c¸ch gÇn, cho nªn ghÐp nèi ta kh«ng cÇn sö dông
modem , vÒ phÝa m¸y tÝnh ta sö dông 3 d©y lµ TxD, RxD vµ GND ë cæng nèi tiÕp
RS232. V× kh«ng cã Modem nªn khi sö dông cæng nèi tiÕp cña m¸y tÝnh ph¶i cã
sù ng¾n m¹ch gi÷a RTS vµ CTS , DTR vµ DSR. §Ó ®¶m b¶o cã sù ®−a lÖnh DTR
vµ RTS ®Ó ®äc tr¹ng th¸i vµ ®¶m b¶o ch©n CTS xuèng thÊp (khi truyÒn - nhËn)
vµ trë vÒ cao (khi kÕt thóc truyÒn – nhËn).
H×nh vÏ sau ®©y minh ho¹ hÖ vi xö lý ®−îc ghÐp nèi víi m¸y tÝnh nh− thÕ
nµo :
4.3.2. §¶m b¶o ch−¬ng tr×nh cho cæng nèi tiÕp.
Trong m¸y tÝnh, ho¹t ®éng víi DOS (tõ Version 3.0) cã 4 cæng nèi tiÕp
RS232 víi c¸c vïng ®Þa chØ (cho c¸c thanh ghi néi ) vµ c¸c møc ng¾t sau :
Cæng nèi tiÕp §Þ¹ chØ Ng¾t
COM1 03F8H÷03FFH IRQ4
COM2 02F8H÷02FFH IRQ3
RxD
R1IN
GND
R1Out
RxD
TxD
TxD
VXL
MAX232
COM2 - PC
T1In T1Out
S¬ ®å nguyªn lý ghÐp nèi vi xö lý vµ m¸y tÝnh.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 79 [
COM3 03E8H÷03EFH IRQ4(hoÆc hái vßng)
COM4 02E8H÷02EFH IRQ3(hoÆc hái vßng)
COM1 vµ COM3 ®−îc thiÕt kÕ sö dông ng¾t sè 4, COM2 vµ COM4 sö
dông ng¾t sè 3. Trong m¸y tÝnh c¸c cæng nèi tiÕp nµy ®−îc nèi song song víi æ
c¾m DB-25 vµ DB-9 ®Ó dÔ sö dông.
§Ó ®¶m b¶o viÖc sö dông ghÐp nèi cæng nèi tiÕp cña m¸y tÝnh víi hÖ vi
xö lý 8031 th× ta ph¶i lËp tr×nh cho cæng nèi tiÕp , ®Ó khëi t¹o (ghi c¸c th«ng sè
ban ®Çu nh−: Tèc ®é truyÒn, ®é dµi tin, sai sè ch½n /lÎ ...) cho cæng nèi tiÕp cña
m¸y tÝnh ta cã thÓ.
Ghi trùc tiÕp b»ng lÖnh d¹ng ng«n ng÷ ASSEMBLER.
Sö dông lÖnh MODE cña DOS vµ c¸c tham sè thªm vµo cña DOS.
4.3.2.1. Sö dông lÖnh MODE cña DOS.
Víi DOS 3.3 trë vÒ tr−íc dïng lÖnh :
MODE COM1 : 9600 ,N, 8, 1, P
⇒ Tèc ®é 9600 baud, N = kh«ng kiÓm tra tÝnh ch½n / lÎ, 8 bit d÷ liÖu, mét
bit Stop, víi c¸c lÇn thö l¹i liªn tôc.
Víi DOS 3.3 trë vÒ sau, dïng lÖnh :
MODE COM1: Baud = 9 600 Parity = n Data = 8 Stop = 1 Retry = B
(B ) thay cho (p) kÓ tõ DOS . 5
4.3.2.2. Sö dông ng¾t INT 14 h cña BIOS .
BIOS truy cËp tíi khèi ghÐp nèi nèi tiÕp cña mÊy tÝnh nhê ng¾t INT 14h
víi cÊp hµm sau:
Hµm : Vai trß :
00h Khëi ph¸t khèi ghÐp nèi cña cæng nèi tiÕp
01h Göi mét ký tù
02h NhËn mét ký tù
03h §äc tr¹ng th¸i cña khèi ghÐp nèi cña cæng nèi tiÕp
04h Khëi phÊt cæng nèi tiÕp më réng
05h §iÒu khiÓn truyÒn th«ng cña cæng nèi tiÕp më réng
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 80 [
BIOS cã thÓ ®iÒu hÇnh tèi ®a tíi 4 cæng nèi tiÕp cña m¸y tÝnh tõ COM1 ®Õn
COM4 víi cÊc ®Þa chØ :
Khèi ghÐp nèi §Þa chØ c¬ së Ng¾t cøng IRQ
COM1 3F8 IRQ4
COM2 2F8 IRQ3
COM3 3E8 IRQ4 ( hay hái vßng )
COM4 2E8 IRQ3 ( hay hái vßng)
ë møc ®é ch−¬ng tr×nh, ta cã thÓ chän mét khèi ghÐp nèi nèi tiÕp cña
cæng nèi tiÕp nµo ®ã b»ng c¸ch g¸n m· t−¬ng øng vµo thanh ghi víi gi¸ trÞ:
00H cho COM1
01H cho COM2
02H cho COM3
03H cho COM
*Phôc vô 00h: Khëi ph¸t khèi ghÐp nèi nèi tiÕp. Phôc vô 00h Ên ®Þnh
nh÷ng th«ng sè kh¸c nhau cña khèi ghÐp nèi cña cæng nèi tiÕp RS232. §ã lµ c¸c
th«ng sè:
Tèc ®é Baud: Tøc tèc ®é trao ®æi tin
TÝnh ch½n lÎ
Sè bit Stop
KÝch th−íc ký tù hay sè bit tin nèi tiÕp
Nh÷ng th«ng sè nµy ®−îc tæ hîp trong m· 8 bit ®−îc ®Æt vµo thanh ghi
cña khèi ghÐp nèi cña cæng nèi tiÕp theo thø tù c¸c bit nh− sau:
D7, D6 , D5: M· cña vËn tèc (tÝnh b»ng Baud )
D4, D3: M· cña tÝnh ch½n tÝnh ch½n lÎ
D2: M· cña bit Stop
D1,D0: M· cña kÝch thø¬c ký tù.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 81 [
C¸c m· trªn nh− sau:
D7 D6 D5 VËn tèc(bit/s)
0 0 0 110
0 0 1 150
0 1 0 300
0 1 1 600
1 0 0 1200
1 0 1 2400
1 1 0 4800
1 1 1 9600
D4 D3 TÝnh ch½n lÎ D1 D0 KÝch th−íc ký tù
0 0 Kh«ng cã 0 0 Kh«ng dïng
0 1 TÝnh lÎ 0 1 Kh«ng dïng
1 0 Kh«ng cã 1 0 7 bit
1 1 TÝnh ch½n 1 1 8 bit
D2 = 0: 1 Bit stop , D2 = 1 : Hai bit stop.
*Phôc vô 01h: Göi mét ký tù. Hµm nµy göi mét ký tù ra thiÕt bÞ ngoµi
nèi víi khèi ghÐp nèi nèi tiÕp cña cæng nèi tiÕp. Muèn vËy ta lµm nh− sau:
§Æt sè liÖu cña khèi ghÐp nèi vµo thanh ghi d÷ liÖu .
Göi m· ký tù vµo thanh ghi tæng (nöa cao)
Göi 01h vµo thanh ghi tæng (nöa thÊp)
Gäi INT14 h
*Phôc vô 02h: NhËn mét ký tù tr×nh tù thùc hiÖn còng nh− trªn :
§Æt sè liÖu cña khèi ghÐp nèi vµo thanh ghi d÷ liÖu
§Æt gi¸ trÞ 02h vµo thanh ghi tæng
Gäi INT14 H
KÕt qu¶ cña ch−¬ng tr×nh con lµ ký tù ®−îc göi vµo khèi ghÐp nèi nèi tiÕp
vµ ë trong thanh ghi tæng, thanh ghi tæng còng chøa kÕt qu¶ cña viÖc thùc hiÖn
ch−¬ng tr×nh.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 82 [
*Phôc vô 03h: §äc tr¹ng th¸i cña khèi ghÐp nèi nèi tiÕp.Tr×nh tù còng
nh− trªn:
§Æt sè liÖu khèi ghÐp nèi vµo thanh ghi d÷ liÖu
§Æt 03h vµo thanh ghi tæng
Gäi INT14H
KÕt qu¶ cña ch−¬ng tr×nh con lµ tr¹ng th¸i cña khèi ghÐp nèi nèi tiÕp
Bit7 - V−ît qu¸ ®é trÔ
0: Kh«ng cã sai sè
1: Cã sai sè
Bit 6 – Thanh ghi dÞch chuyÓn
0 : Thanh ghi bËn
1: Thanh ghi rçi
Bit 5 – Thanh ghi ®îi
0 : Thanh ghi bËn
1: Thanh ghi rçi
Bit 4 – Ng¾t bëi tÝn hiÖu Breack (®øt)
0: Kh«ng biÕt
1: Cã tÝn hiÖu Breack
Bit 3 – Giao thøc
0: Kh«ng cã lçi
1: Cã lçi
Bit 2 – TÝnh ch½n lÎ
0: «ng cã lçi
1: Cã lçi
Bit 1- Sè liÖu
0: kh«ng cã trµn
1: BÞ trµn
Bit 0 - Sè liÖu ®· s½n sµng
0: Kh«ng cã sè liÖu s½n sµng
1: Sè liÖu s½n sµng
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 83 [
4.3.3. Khëi t¹o thiÕt lËp cæng nèi tiÕp cña m¸y tÝnh b»ng
ch−¬ng tr×nh.
§Ó dïng cæng nèi tiÕp cña m¸y tÝnh trao ®æi th«ng tin víi hÖ vi xö lý
ngoµi th× ta ph¶i lËp tr×nh cho cæng nèi tiÕp cña m¸y tÝnh.Trong ®ã cæng nèi tiÕp
®−îc trao ®æi hÇu hÕt theo c¸ch lËp tr×nh trùc tiÕp cho c¸c thanh ghi cña bé thu
ph¸t kh«ng ®ång bé UART 8250. UART nµy cã 10 thanh ghi ®Ó ®iÒu khiÓn tÊt
c¶ c¸c chøc n¨ng cña viÖc nhËp vµo vµ xuÊt ra d÷ liÖu theo c¸ch nèi tiÕp. LËp
tr×nh cho cæng nèi tiÕp cña m¸y tÝnh ta cã thÓ dïng nhiÒu lo¹i ng«n ng÷ lËp
tr×nh kh¸c nhau. Tr−íc tiªn viÖc thiÕt lËp cÊu h×nh cho cæng nèi tiÕp lu«n lu«n
®−îc tiÕn hµnh tr−íc khi cã nhu cÇu cÇn truyÒn. Khi cã nhu cÇu cÇn truyÒn th×
kiÓm tra tr¹ng thÊi ®−êng truyÒn, nÕu ®−êng truyÒn rçi th× vïng ®Öm ®−îc
kiÓm tra vµ d÷ liÖu ®−îc truyÒn tõ vïng ®Öm nµy, vïng ®Öm khi l−u tr÷ d÷ liÖu
theo nguyªn t¾c hµng ®îi, d÷ liÖu cã yªu cÇu göi tr−íc th× ®−îc göi ra hµng ®¬Þ
tr−íc vµ ng−îc l¹i. NÕu kiÓm tra ®−êng truyÒn ®ang bËn th× tÝn hiÖu kh«ng ®−îc
phÐp truyÒn v× vËy kh«ng x¶y ra tranh chÊp ®−êng truyÒn .
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 84 [
PhÇn V:
thiÕt kÕ phÇn mÒm lËp tr×nh cho plc
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 85 [
5.1. C¬ së thiÕt kÕ phÇn mÒm.
Mét hÖ xö lÝ muèn ho¹t ®éng ®−îc th× ph¶i cã phÇn mÒm ®iÒu khiÓn. PhÇn
cøng vµ phÇn mÒm lµ hai yÕu tè h×nh thµnh nªn mét hÖ xö lÝ hoµn chØnh. NÕu
thiÕu mét trong hai yÕu tè th× hÖ vi xö lÝ sÏ kh«ng ho¹t ®éng ®−îc.
ThiÕt kÕ phÇn mÒm thùc chÊt lµ ta viÕt mét tËp lÖnh cho vi xö lÝ lµm viÖc
víi nh÷ng lÖnh ®ã .
Víi hÖ vi xö lÝ 8031 øng dông ®iÒu khiÓn hÖ PLC cã c¸c phÇn mÒm ®iÒu khiÓn
nh− sau:
- ThiÕt kÕ phÇn mÒm hÖ thèng .
- ThiÕt kÕ phÇn mÒm øng dông .
- ThiÕt kÕ phÇn mÒm truyÒn tin gi÷a m¸y tÝnh PC vµ hÖ vi xö lÝ.
Trong hÖ PLC nhiÖm vô cña vi xö lÝ thu thËp d÷ liÖu tõ c¸c ®Çu vµo Logic
sau ®ã xö lÝ theo ch−¬ng tr×nh råi ®−a ra ®iÒu khiÓn. TÝn hiÖu ®iÒu khiÓn ë ®Çu ra
dïng ®Ó ®ãng, c¾t c¸c thiÕt bÞ: §éng c¬ m¸y s¶n xuÊt, c¸c van ®iÖn tõ. C¸c tr¹ng
th¸i ®Çu ra øng víi møc 0 lµ c¾t øng víi møc 1 lµ ®ãng, ë ®Çu vµo tÝch cùc ë møc
1.
§Þa chØ cña c¸c cæng logic, bé nhí, s¬ ®å bé nhí vµ c¸c gi¸ trÞ d÷ liÖu bµn
phÝm, gi¸ trÞ d÷ liÖu tr¹ng th¸i ®· ®−îc tÝnh trong thuyÕt minh nguyªn lÝ.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 86 [
5.2. ThuËt to¸n cña mét sè ch−¬ng tr×nh ®iÒu khiÓn.
- KiÓm tra, tÝnh to¸n c¸c
tham sè lµm viÖc.
- §Þnh chÕ ®é, gi¸ trÞ ®Õm
cho Timer1 (tèc ®é Baud).
- Xö lý c¸c sù kiÖn trong
vïng Event_Buffer.
- KiÓm tra lçi, chÕ ®é lµm
viÖc trong System_Data
- KiÓm tra tr¹ng th¸i cña
chuyÓn m¹ch ®iÒu khiÓn.
START
STOP ? RUN ? TERM ?
ChuyÓn ®iÒu khiÓn ®Õn
vïng Code_Buffer.
§äc c¸c kªnh sè liÖu ®Çu vµo
vµ l−u kÕt qu¶ vµo vïng
Input_Data.
- Xö lý sè liÖu ®Çu vµo vµ
tÝnh to¸n ®iÒu khiÓn ®Çu ra.
- L−u gi÷ kÕt qu¶ tÝnh to¸n
vµo vïng Output_Data.
- QuÐt sè liÖu ra c¸c kªnh
®Çu ra t−¬ng øng tõ vïng
Output_Data
§äc byte tr¹ng th¸i
nèi tiÕp Serial_Status
trong vïng
Para_Buffer.
Status =1 ?
True
False
L−u ®å thuËt to¸n ch−¬ng tr×nh ®iÒu khiÓn PLC
True True True
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 87 [
§äc byte tr¹ng th¸i
(STB)
Nèi tiÕp
STB = 0 STB = 1
§äc byte tiÕp theo vµ ®−a
vµo vïng Code_Buffer.
T¨ng con trá vïng
Code_Buffer
lªn 1 ®¬n vÞ
T¨ng con trá vïng
Para_Buffer
lªn 1 ®¬n vÞ
§äc byte tiÕp theo vµ ®−a
vµo vïng Para_Buffer.
L−u ®å thuËt to¸n ch−¬ng tr×nh con xö lý ng¾t nèi tiÕp
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 88 [
§äc tr¹ng th¸i
c¸c phÝm vµ ®−a
vµo vïng
Event Buffer
INT 0
END
Ph¸t tèc ®é Baud
cho cæng nèi
tiÕp.
TIMER 1
END
M¹ch
ph¸t xung
tèc ®é cao.
TIMER 0
END
Ng¾t ngoµi
dïng cho c¸c
tr−êng hîp
xö lý ®Æc biÖt
INT 1
END
L−u ®å thuËt to¸n c¸c ch−¬ng tr×nh con
xö lý ng¾t ngoµi vµ ng¾t bé ®Õm.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 89 [
PhÇn VI:
thuyÕt minh chung
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 90 [
S¬ då nguyªn lý ®· vÏ
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 91 [
HÖ PLC øng dông bé vi ®iÒu khiÓn. Mäi thao t¸c trong PLC ®Òu do vi ®iÒu
khiÓn kiÓm so¸t.
§Çu tiªn cÊp nguÇn cho PLC khi ®ã PLC khëi t¹o b»ng c¸c thao t¸c kiÓm
tra ROM, RAM c¸c thanh ghi vµ ®Æt tr¹ng th¸i cho c¸c ®Çu ra ë møc logic thÊp
sau ®ã VXL cña hÖ ë tr¹ng th¸i s½n sµng lµm viÖc.
§Ó ®−a tr¹ng th¸i ®Çu ra xuèng møc thÊp th× VXL ph¶i ®−a d÷ liÖu lªn Bus
víi gi¸ trÞ 00h vµ gi¸ trÞ ®Þa chØ 8003h trªn Bus ®Þa chØ.
Khi ta chuyÓn c«ng t¾c ë mét vÞ trÝ bÊt kú. Gi¶ sö ë vÞ trÝ Stop khi ®ã VXL
lµm viÖc khi hÕt chu kú sÏ ®i ®äc ch−¬ng tr×nh ®äc bµn phÝm tõ ROM khi ®ã sÏ
xÈy ra c¸c thao t¸c.
- VXL ®−a lªn Bus ®Þa chØ gi¸ trÞ ®Þa chØ cña vi m¹ch 74LS245 trong m¹ch
bµn phÝm lµ 8001h vµ ®äc d÷ liÖu tõ bµn phÝm qua IC nµy vµ ®−a lªn Bus d÷ liÖu
®Æt vµo VXL.
- VXL nhËn gi¸ trÞ bµn phÝm FEh khi ®ã VXL biÕt víi gi¸ trÞ ®ã lµ bµn
phÝm Stop ®−îc Ên. Sau ®ã VXL ®−a tr¹ng th¸i Stop ta ®Ìn b¸o b»ng thao t¸c.
+ §−a ®Þa chØ cho vi m¹ch 74LS373 trong m¹ch b¸o tr¹ng th¸i víi ®Þa chØ
8000h vµ ®ång thêi ®−a lªn Bus d÷ liÖu gi¸ trÞ 01h råi ®−a tr¹ng th¸i dõng vµ s½n
sµng cho c¸c lÖnh vµo kh¸c.
Gi¶ sö ta Ên phÝm Run.
Khi ®ã còng cã tÝn hiÖu ng¾t vµ c¸c thao t¸c ®äc phÝm, ®äc ch−¬ng tr×nh
®iÒu hµnh vµ b¸o tr¹ng th¸i ra víi phÝm Run gièng nh− c¸c thao t¸c VXL lµm
khi phÝm Stop ®−îc Ên chØ kh¸c ë gi¸ trÞ cña phÝm Run lµ: FDh vµ gi¸ tri cña ®Ìn
b¸o Run trªn Bus d÷ liÖu lµ 02h.
Sau thao t¸c nµy VXL ®i ch¹y ch−¬ng tr×nh chÝnh trong RAM ®Ó ®äc
ch−¬ng tr×nh trong RAM VXL ph¶i tiÕn hµnh c¸c thao t¸c:
- §−a ch©n PSEN xuèng møc thÊp vµ ®−a ra gi¸ trÞ ®Þa chØ ®Ó ®äc RAM
víi ®o¹n ®Þa chØ 2000h ... 3FFFh. V× khi ®ã RAM ®−îc chia ta 2 phÇn vïng ®Þa
chØ thÊp dïng l−u tr÷ ch−¬ng tr×nh. Khi ghi ch−¬ng tr×nh trong RAM ngoµi tÝn
hiÖu ®Þa chØ 2000h ... 2FFFh cßn cÇn xung WR ë møc thÊp.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 92 [
Trong qu¸ tr×nh lµm viÖc cã tËp hîp VXL ph¶i l−u tr÷ hay ®äc d÷ liÖu tõ
ROM. Khi ®ã vïng cho d÷ liÖu trong RAM lµ vïng ®Þa chØ cao 3000h ... 3FFFh
khi ®äc cÇn thªm xun RD vµ khi ghi cÇn xung nµy tÝch cùc møc thÊp.
Khi ch¹y ch−¬ng tr×nh chÝnh ch−¬ng tr×nh sÏ yªu cÇu VXL ®äc gi¸ trÞ cña
cæng vµo khi ®ã VXL sÏ ®−a ra gi¸ trÞ ®Þa chØ ®Ó chän vi m¹ch 74LS245 ë cæng
®Çu vµo víi c¸c thao t¸c ®−a ®Þa chØ ra trªn Bus ®Þa chØ cã ®Þa chØ sau ®ã gi¸ trÞ
®Çu vµo ®−îc ®−a lªn Bus d÷ liÖu vµ VXL lÊy vµo.
Sau khi kÕt thóc qu¸ tr×nh xö lý VXL sÏ ®−a ra c¸c gi¸ trÞ ®Çu ra c¸c gi¸
trÞ ®Çu ra. Thao t¸c nµy ®−îc tiÕn hµnh b»ng viÖc VXL ®−a ra gi¸ trÞ ®Þa chØ cña
vi m¹ch ®Öm chèt ë cæng ra víi gi¸ trÞ vµ sau ®ã ®−a ra d÷ liÖu lªn Bus d÷ liÖu.
Khi ®ã d÷ liÖu sÏ ®−îc ®−a ra ®Çu ra cña vi m¹ch nµy.
Khi tÝn hiÖu chän tõ gi¶i m· ®Þa chØ lªn møc cao th× vi m¹ch ®Öm chèt nµy
chèt d÷ liÖu sau m¹ch ®Öm chèt lµ m¹ch ®ãng c¾t R¬le vµ b¸o møc sÏ ®ãng c¾t
c¸c thiÕt bÞ qua tiÕp ®iÓm R¬le vµ §ièt ph¸t quang sÏ b¸o cho ng−êi vËn hµnh
biÕt tr¹ng th¸i Logic ë cæng ra. V× VXL8031 cã cæng P0 dïng kiÓm dån kªnh
võa mang gi¸ trÞ ®Þa chØ vµ gi¸ trÞ d÷ liÖu lªn khi lµm viÖc cÇn cã m¹ch ®Öm chèt
d÷ liÖu v× sau khi VXl ®−a gi¸ trÞ ®Þa chØ 8 bit thÊp ra th× VXL dïng cæng nµy
cho vµo ra d÷ liÖu nªn cÇn bé nhí trung gian l−u gi÷ gi¸ trÞ ®Þa chØ nµy. Vi m¹ch
74LS373 ë d©y ®Öm khi xung ALE (Address Latch Enable) xuèng 0 vµ chèt l¹i
gi¸ trÞ nµy khi xung lªn møc 1.
Ngoµi ra cßn vi m¹ch vµo ra 2 chiÒu phôc vô cho qu¸ tr×nh vµo ra d÷ liÖu
gióp cho viÖc më réng Modul c¬ së nµy víi gi¸ trÞ ®Þa chØ cha ®−îc sö dông th×
vi m¹ch lµm viÖc víi ngo¹i vi (Modul phô).
Khi phÝm Term ®−îc Ên th× qu¸ tr×nh ®äc bµn phÝm vµ hiÖn thÞ tr¹ng th¸i
hoµn toµn gièng nh− víi phÝm Stop hoÆc Run nh−ng gi¸ trÞ phÝm Term lµ FBh vµ
gi¸ trÞ LED b¸o Term s¸ng khi gi¸ trÞ trªn Bus d÷ liÖu lµ 04h.
Sau khi b¸o s¸ng tr¹ng th¸i VXL ch¹y ch−¬ng tr×nh nhËn truyÒn nèi tiÕp
tõ cæng nèi tiÕp qua Max 232 ®−a d÷ liÖu vµo thanh ghi trong VXL vµ ROM sÏ
chuyÓn ch−¬ng tr×nh nµy vµo RAM.
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 93 [
Sau khi nhËn song ch−¬ng tr×nh sÏ tiÕn hµnh ch¹y thö nh− c¸c thao t¸c khi
ch¹y phÝm Run.
§ã lµ nguyªn lý ho¹t ®éng cña toµn bé s¬ ®å nguyªn lý cña hÖ PLC.
KÕt luËn: Trong hÖ PLC nghiªn cøu ë ®å ¸n nµy ®−îc thiÕt kÕ lµm viÖc
víi c¸c tÝn hiÖu sè. Tuy nhiªn kh«ng gian nhí vµ vïng ®Þa chØ còng nh− kh¶
n¨ng lµm viÖc cña vi xö lý cßn rÊt nhiÒu nªn chóng ta cã thÓ tËn dông hÕt kh¶
n¨ng cña thiÕt bÞ v× vËy tr¸nh g©y l·ng phÝ trong ®Çu t−. Trong lÜnh vùc ®iÒu
khiÓn ta cã thÓ l¾p thªm c¸c Modul phô phôc vô cho xö lý vµ ®iÒu khiÓn c¸c tÝn
hiÖu t−¬ng tù.
C¸c tÝn hiÖu t−¬ng tù cã thÓ ®−îc lÊy tõ c¸c Sensor t−¬ng tù sau ®ã chuyÓn
®æi A/D ®Ó vi xö lý cã thÓ xö lý. C¸c ®èi t−îng cÇn ®iÒu khiÓn t−¬ng tù nh−
trong thiÕt bÞ chØnh l−u, trong thiÕt bÞ æn ®Þnh nhiÖt ®é … mµ tõ ®Çu ra sè ta cÇn
1 Modul phô chuyÓn ®æi D/A ®Ó t¹o ra tÝn hiÖu t−¬ng tù tõ tÝn hiÖu sè ë ®Çu ra
PLC.
§Ó ®¸p øng më réng cho PLC ta cã thÓ thiÕt kÕ c¸c Modul phô kÕt hîp víi
PLC nh− s¬ ®å sau:
Khi ®ã ch−¬ng tr×nh sÏ ®−a vµo PLC qua cæng nèi tiÕp vµ c¸c Modul Phô
lµm viÖc ë c¸c kh«ng gian ®Þa chØ cßn laÞ khi ®ã hÖ PLC kh«ng chØ lµm viÖc ®iÒu
khiÓn Logic mµ cßn cã kh¶ n¨ng xö lý tÝn hiÖu t−¬ng tù ®· ®−îc sè ho¸ vµ ®−a
tÝn hiÖu ®iÒu khiÓn t−¬ng tù ra.
Cæng më réng.
PLC
A/D
D/A
§Çu vµo t−¬ng tù.
§Çu ra t−¬ng tù.
Modul më réng
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Lª Thμnh S¬n \ 94 [
Tμi liÖu tham kh¶o
1. Bµi gi¶ng vi xö lý NguyÔn TiÕn H−ng
2. Vi xö lý trong ®o l−êng vµ ®iÒu khiÓn Ng« Diªn TËp
3. Kü thuËt ®iÖn tö §ç Xu©n Thô
4. Kü thuËt ®iÖn tö sè §Æng V¨n ChuyÕt
5. Kü thuËt ghÐp nèi m¸y tÝnh Hμ M¹nh Giang
6. Kü thuËt ghÐp nèi m¸y tÝnh Ng« Duyªn TËp
7. §iÒu khiÓn logic vµ kü thuËt PLC NguyÔn V¨n LiÔu
8. Kü thuËt vi ®iÒu khiÓn Lª V¨n Doanh - Ph¹m Kh¾c Ch−¬ng
9. ThiÕt bÞ ®Çu cuèi th«ng tin Vò §øc Thä
10. MCS 51 MicroController Family User’s Manual Intel
11. Micro System SIMATIC S7-200 SIEMENS
Các file đính kèm theo tài liệu này:
- Thiết Kế Hệ PLC.pdf