Bài giảng Thiết kế PLC - Lê Thành Sơn

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.

 

pdf95 trang | Chia sẻ: phuongt97 | Lượt xem: 591 | Lượt tải: 0download
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:

  • pdfbai_giang_thiet_ke_plc_le_thanh_son.pdf
Tài liệu liên quan