Thiết kế hệ plc

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

pdf94 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 1843 | Lượt tải: 1download
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:

  • pdfThiết Kế Hệ PLC.pdf