Trong phần này chúng ta đi tìm hiểu về khái niệm điều khiển lôgic và các
kiến thức về PLC.
1.1. Khái niệm điều khiển logic.
Trong thực tế công nghệ có nhiều đại l−ợng vật lý cần điêù khiển và quan tâm
đến giá trị của nó tại một thời điểm có thể là lớn hay nhỏ quá trình điều đó gọi là
điều khiển qúa trình. Nh−ng ngoài ra còn có một điều khiển khác trong quá trình
sản xuất cần quan tâm tới đó là việc đồng bộ quá trình làm việc của toàn bộ hệ
thống. Khi đó ta chỉ quan tâm đến trạng thái của các thiết bị đang làm việc hay
nghỉ quá trình này gọi là điều khiển lôgic.
Điều khiển lôgic xuất phát từ thực tế ngoài việc thiết bị làm việc nh− thế nào
ng−ời ta còn phải quan tâm tới việc khi nào cho thiết bị làm việc, khi nào cho
thiết bị nghỉ để đạt đ−ợc hiệu quả cao trong quá trình điều khiển.
95 trang |
Chia sẻ: phuongt97 | Lượt xem: 591 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Thiết kế PLC - Lê Thành Sơn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
Các file đính kèm theo tài liệu này:
- bai_giang_thiet_ke_plc_le_thanh_son.pdf