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.
94 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 464 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Giáo trình Thiết kế hệ Logic PLC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng phần mềm để quyết định trạng
thái của Timer 1.
TR1: Đóng mạch Timer 1: Timer/Counter 1 không hoạt động khi bit này
bị xoá, bit này cần thiết đ−ợc lập nh−ng không đủ để cho phép Timer/Counter
hoạt động. TR1 điều khiển hoàn toàn bằng phần mềm.
TF0: Cờ tràn dùng cho Timer 0.
TR0: Đóng mạch Timer 0.
IE1: Ngắt ở INT1 với kích chuyển bằng s−ờng xung. Đ−ợc thiết lập bằng
phần mềm khi ngắt ngoài đ−ợc xác định, bit này sẽ bị xoá khi lệnh Return đ−ợc
thực hiện ( Return From Interrupt).
IT1: Cờ ngắt dùng cho INT1. Ngắt 1 ở ngoài nhận qua chân P3.3 của
cổng 3. Xóa IT1 thì ngắt sẽ phát ra khi tín hiệu ngoài là thấp. Nếu tín hiệu ngoài
vẫn ở mức thấp INT1 sẽ đ−ợc phát ra nếu INT1 bị xoá và sẽ không phát ra nếu
INT1 đ−ợc lập. INT1 đ−ợc điều khiển bằng phần mềm.
IE0: Ngắt ở INT0 với kích chuyển bằng s−ờn xung.
IT0: Cờ ngắt dùng cho INT0.
2.6.7. Điều khiển ngắt.
8031 có 5 ngắt: TF0, TF1, INT0, INT1 và kết quả của cổng nối tiếp. TF0
và TF1 của các thanh ghi TCON tạo ra 2 ngắt, Timer/Counter tạo ra ngắt khi bộ
đếm bị tràn. INT0 và INT1 tạo ra 2 ngắt ngoài, những ngắt đó do tín hiệu ngoài
nhận đ−ợc qua 2 chân P3.2 và P3.3 của cổng 3. Phần cứng điều khiển ngắt có thể
lập trình để trả lời mỗi khi có s−ờn xuống của tín hiệu ngoài hoặc mức thấp của
tín hiệu ngoài. Sự lự chọn này sẽ quyết định bởi bit điều khiển INT0 và INT1 của
SFR TCON. Ngắt cuối cùng là từ cổng nối tiếp, cờ ngắt RT và TI của SCON 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 \ 33 [
hợp bởi cổng OR do đó cờ thấp có thể phát ra ngắt. Đó là nhiệm vụ của 2 cờ TI
và RI để xác định nguyên nhân gây ra ngắt.
Có 2 SFR điều khiển ngắt: Thanh ghi cho phép ngắt IE dùng để che các
ngắt riêng lẻ và thanh ghi −u tiên ngắt IP định ra những ngắt có −u tiên. Khi có 2
ngắt cùng đ−ợc lập trình cùng một mức −u tiên thì mức −u tên sẽ nh− sau:
IE0 là ngắt có −u tiên cao nhất sau đó là TF0, IE1, TF1 và RI, TI là thấp
nhất. Với điều kiện à không đ−ợc chắn( Not Masked). VXL chấp nhận ngắt và rẽ
nhánh ch−ơng trình đến nơi trong bộ nhớ ch−ơng trình đ−ợc gọi bởi lệnh Lcall.
Trong tr−ờng hợp này từ trạng thái ch−ơng trình không đ−ợc cất vào Stack. Sau
đây là địa chỉ các Vectơ ngắt:
Interrupt Service Rountine Address Defal Priority
IE0 3h 1 ( Highest)
TF0 3Bh 2
IE1 13h 3
TF1 1Bh 4
RI or TI 13h 5( Lowest)
IE Register:
7 6 5 4 3 2 1 0
EA ES ET1 EX1 ET0 EX0
EX0 (Enable Extenal Interrupt 0): Đ−ợc thiết lập bằng phần mềm để cho
phép ngắt 0 ngoài, xoá về 0 là không cho phép.
ET0 ( Enable Timer/Counter Interrupt 0): Thiết lập bằng phần mềm cho
phép Timer/Counter tràn Interrupt 0, xoá về 0 là không cho phép.
EX1: Đ−ợc thiết lập bằng phần mềm để cho phép ngắt 1 ngoài, xoá về 0 là
không cho phép.
ET1: Thiết lập bằng phần mềm cho phép Timer/Counter tràn Interrupt 1,
xoá về 0 là không cho phép.
ES: (Enable Serial Port Interrupt ): Đ−ợc thiết lập bằng phần mềm cho phép
cổng nối tiếp ngắt 1, xoá về 0 không cho phép.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 34 [
EA( Enable All): Khi bit này bị xoá tất cả các ngắt này đều bị xoá và khi
đ−ợc lập sẽ cho phép phụ thuộc vào bit điều khiển.
IP Register:
7 6 5 4 3 2 1 0
PS PT1 PX1 PT0 PX0
PX0 ( Priority of Enable Interrupt 0): Khi đ−ợc thiết lập ngắt 0 ngoài nhận
đ−ợc sẽ ở mức −u tiên cao.
PT0 ( Priority of Timer/Counter Interrupt 0 ): Khi bit này lập ngắt 0 ở ngoài
Timer/Counter nhận đ−ợc sẽ ở mức −u tiên cao.
PX1: T−ơng tự PX0 nh−ng cho ngắt 1 ngoài.
PT1: T−ơng tự PT0 nh−ng cho ngắt 1 ngoài nhận đ−ợc.
PS: ( Priority of Serial Port Interrupt ): Ngắt cổng nối tiếp nhận đ−ợc ở mức
−u tiên cao khi bit này đ−ợc lập.
2.6.8. Bộ phát dao động.
8031 có một bộ phát dao động dùng thạch anh bên ngoài. Bộ tạo dao
động tần số giống nh− tần số của tinh thể thạch anh và đ−ợc chia cho 12, nó có
thể đ−ợc dùng làm đầu vào của Timer.
Dùng bộ phát dao động 12 MHz thì đầu vào của Timer sẽ là 1 MHz. 8031
có 12 chu kỳ dao động trên một chu kỳ máy. Nó có 255 thao tác những nhóm
mã lệnh, t−ơng đ−ơng 111 chỉ thị.
Ví dụ:
Có 15 mã thao tác cụ thể phụ thuộc vào byte đích, byte nguồn và chế độ
địa chỉ. Thêm vào đó, có 2 lệnh dịch chuyển bit và một lệnh dịch chuyển Word,
lệnh đó dịch chuyển 16 bit vào con trỏ dữ liệu ( Data Poiter). Trong 255 mã thao
tác đó,159 thao tác hết một chu kỳ máy, 51 thao tác cần 2 chu kỳ máy, 43 thao
tác cần 3 chu kỳ máy và 2 thao tác cần 4 chu kỳ máy. Trừ khi có nhiều thao tác
chỉ cần có một chu kỳ máy, 8031 đã xem xét đến khả năng có thể thực hiện hàng
triệu lệnh trong một giây. Rất nhiều hệ thống 8031 dùng dao động tinh thể thạch
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 35 [
anh 11,0582 MHz, Sở dĩ có sự lựa chọn này vì thực tế nó có thể phát ra tốc độ
Baud rất cao. Dao động tinh thể 11,0592 MHz tốc độ có thể lên tới 19200 Baud.
Sau khi xung Reset tác động, vi xử lý đ−ợc khởi tạo lại ta có nội dung của
các thanh ghi đặc biệt (SFR) nh− sau:
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 36 [
2.6.9. Bản đồ của bộ nhớ.
Khối nhớ trong khoảng {20h...2Fh} gồm 16 byte = 128 bit có thể đánh địa
chỉ theo từng bit. Một bit có một địa chỉ từ 0h đến 7Fh. Bit 0 của 20 là bit địa chỉ
0 và bit 7 của byte 2Fh là bit địa chỉ 7Fh.
STT Tên Ký hiệu Nội dung
1 Accumulator A 00h
2 B Register B 00h
3 Program Status Word PSW 0000 0000b
4 Stack Pointer SP 07h
5 Date Pointer Low byte DPL 00h
6 Date Pointer High byte DPH 00h
7 Program Counter PC 0000h
8 Port 0 Latch P0 1111 1111b
9 Port 1 Latch P1 1111 1111b
10 Port 2 Latch P2 1111 1111b
11 Port 3 Latch P3 1111 1111b
12 Interrupt Priority IP xxx0 0000b
13 Interrupt Enable IE 0xx0 0000b
14 Timer/Counter Mode TMOD 0000 0000b
15 Timer/Counter Control TCON 0000 0000b
16 Timer/Counter 0 Low Byte TL0 00h
17 Timer/Counter 0 High Byte TH0 00h
18 Timer/Counter 1 Low Byte TL1 00h
19 Timer/Counter 1 High Byte TH1 00h
20 Serial Date Buffer SBUF Không XĐ
21 Serial Control SCON 00h
22 Power Control PCON 0xx0 0000b
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 37 [
Ví dụ:
Mov C,13h chuyển nội dung boolean của bit 13h vào thanh ghi cờ. Bit 13h
là bit số 3 của byte ở vị trí 22h của Ram trong. Ta cũng có thể viết nh− sau:
Mov C,22.3h cũng cho một kết quả. Các SFR khác cũng có thể đánh địa
chỉ theo từng bit, những bit địa chỉ đó nằm trong khoảng từ { 80h... FFh}.
2FH
2.7. các chế độ địa chỉ vμ bộ lệnh của 8031.
2.7.1. Chế độ địa chỉ.
- Chế độ địa chỉ tức thì ( Immediate Addressing Mode). Trong chế độ này
toán hạng đích là 1 thanh ghi, toán hạng nguồn là một hằng số.
Ví dụ:
Mov a, # 1; Chuyển 1 vào thanh ghi a.
Mov PSW, # 0; Chọn Regiser Bank 0.
Mov 0,# 1; Chuyển 1 vào thanh ghi 0 của thanh ghi Bank 0.
- Chế độ địa chỉ trực tiếp ( Direct Addressing Mode). Trong chế độ này
toán hạng nguồn và đích là các thanh ghi hoặc các SFR.
80h
7Fh
FFh
Địa chỉ của các SFR.
30h
2Fh
Sử Dụng tự do và ngăn xếp
00h
20h
1Fh
16 BYTE đánh địa chỉ theo bit
4 Bank thanh ghi 32 byte
Bản đồ bộ nhớ RAM trong 8031.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 38 [
Ví dụ:
90h là địa chỉ của cổng 1 ( Port1), ghi vào địa chỉ 990h có nghĩa là gửi dữ
liệu ra Port 1.
Mov a, 70h; chuyển nội dung của thanh ghi địa chỉ 70h vào thanh ghi a.
Mov 90h, a; Chuyển nội dung thanh ghi a vào Port 1.
- Chế độ địa chỉ thanh ghi (Register Addressing Mode). Toán hạng nguồn
hoặc toán hạng đích là 1 trong 8 thnh ghi của Bank thanh ghi đ−ợc chọn.
Ví dụ:
Mov PSW,#2 : Chọn thanh ghi Bank 2.
Mov R0, a: Chuyển nội dung thanh ghi a vào R0.
Mov R2,b: Chuyển nội dung thanh ghi B vào R2.
- Chế độ địa chỉ gián tiếp thanh ghi. Trong chế độ này toán hạng nguồn
hay là đích là một ô nhớ có địa chỉ chứa trong một thanh ghi của thanh ghi Bank
đ−ợc chọn.
Ví dụ:
Mov PSW, #0: Chọn thanh ghi Bank 0.
Mov R0, #a:
Mov @ R0,#1: Chuyển 1 vào ô nhớ có địa chỉ chứa trong R0.
- Chế độ địa chỉ số thanh ghi (Register Indexed Addressing Mode). Trong
chế độ này toán hạng nguồn hay toán hạng đích đ−ợc lấy bằng cách cộng giá trị
của thanh ghi a với địa chỉ cơ sở. Địa chỉ cơ sở có thể là DPTR ( Data Poiter)
hoặc PC (Progam Counter).
Ví dụ:
Mov DPTR, # 800h: Chuyển địa chỉ bảng cơ sở vào data.
Mov a, #0 : Pointer.
Mov a, @ + DPTR : a:= ( a+ DPTR),ROM.
Ngoài những chế độ địa chỉ trên 8031 còn có các chế độ địa chỉ làm việc
với Stack, làm việc theo từng bit và có lệnh hoán đổi từng bit của 1 byte.
Ví dụ:
Mov SP, #SFR: Khởi tạo Stack Pointer.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 39 [
Mov a, # 45h :
Push acc : Cất thanh ghi a vào Stack.
Mov b, # 0 : Xoá thanh ghi B.
Pop B : Chuyển nội dung từ định Stack (45h) vào thanh ghi B.
Các lệnh hoán đổi của 8031 rất tiện lợi khi làm việc với các số BCD. Nội
dung của thanh ghi a, Các thanh ghi khác có thể hoán đổi cho nhau mà không
cần biến trung gian.
Ví dụ :
Mov a, # 0ah: Khởi tạo thanh ghi a.
Mov b, # 0bbh: Khởi tạo thanh ghi a.
Xch a,b : Hoán đổi a,b.
Xch a,b : Trả lại giá trị cho thanh ghi a,b.
Xch a,b : Hoán đổi 4 bit thấp của a,b
+. Tất cả các bit trong khoảng 20h đến 2Fh có thể đ−ợc xử lý đồng thời
từng byte hay từng bit và ta cũng có thể xử lý từng bit của cổng.
Ví dụ:
Mov C,P1.0
Mov P1.1,C.
2.7.2. Bộ lệnh 8031.
2.7.2.1. Lệnh nạp trực tiếp.
Lệnh Mã gợi nhớ Nhịp Chức năng
14 CLR A 1 A: = 0
74 Mov A, # Data 2 A: = dữ liệu
78...7F Mov R, # Data 2 R0...R7: = dữ liệu
76,77 Mov @R, # Data 2 R0,R1: = dữ liệu, bộ nhớ
Ram trong.
75 Mov adr, # Data 2 adr: = dữ liệu, bộ nhớ
Ram trong.
90 Mov DPTR, adr 16 2 DPTR: = adr 16.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 40 [
2.7.2.2. Lệnh di chuyển dữ liệu.
Lệnh Mã gợi nhớ Nhịp Chức năng
E8EF Mov A,R 1 A: = R0...R7
F8FF Mov A,R 1 R0...R7: = A
E6,E7 Mov A,@R 1 A: = (R0,R1), Ram trong
D6,F7 Mov @R,A 1 R0,R1: = A, Ram trong
F5 Mov adr,A 1 Adr:= A, Ram trong
E5 Mov A,adr 1 A: = Adr , Ram trong
A8AF Mov A,adr 2 R0...R7: = adr, Ram trong
888F Mov R,adr 2 adr: = R0...R7, Ram trong
86 87 Mov adr,@R 2 adr: = (R0,R1), Ram trong
A6AF Mov @R,adr 2 R0,R1: = adr, Ram trong
86 Mov adrl, adr2 2 adrl: = adr2, Ram trong
C0 PUSH adr 2 Stack: = adr, Ram trong
D0 Pop adr 2 adr: = stack, Ram trong
E2,E3 Mov A, @R 2 A: =(R0,R1), Ram ngoài
F2,F3 Mov @R,A 2 (R0,R1): = A, Ram ngoài
E0 Mov A, @DPTR 2 A: = DPTR, Ram ngoài
F0 Mov @DPTR,A 2 DPTR: = A, Ram ngoài
93 MovC A@A+DPTR 2 A: = ( A+ DPTR), Rom
E3 Mov P3 A@A+PC 2 2 A: = (A + PC), Rom
- Lệnh hoán vị ( trao đổi dữ liệu):
C8...CF XCH A,R 1 A ( R0....R7)
C6,C7 XCH A,@R 1 a (R0....R1),bộ nhớ Ram trong.
D6,D7 XCHDA,@R 1 a(1..3), R0,R1(1..3),bộ nhớ
Ram trong, 4bit d−ới.
C4 SWAp A 1 A(1..3) A (4...7).
2.7.2.3.Quản lý Bit (Manipulation).
Lệnh Mã gợi nhớ Nhịp Chức năng
58..5F ANL A,R 1 A: = A and R0..R7.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 41 [
48..4F ORL A,R 1 A: = A or R0..R7.
68..6F XRL A,R 1 A: = A EX0R R0..R7.
56,57 ANL A,@R 1 A: = A and (R0,R1),Ram trong
46,47 ORL A,@R 1 A: = A or (R0,R1),Ram trong
66,67 XRL A,@R 1 A: = A EX0R (R0,R1),Ram trong
54 ANL A,# data 2 A: = A and data
44 ORL A,# data 2 A: = A or data
64 XRL A,# data 2 A: = A EX0R data
55 ANL A,adr 2 A: = A and (adr)
45 ORL A,adr 2 A: = A or (adr)
65 XRL A,adr 2 A: = A EX0R (adr)
52 ANL adr,A 2 A: = (adr) and A
42 ORL adr,A 2 A: = (adr) or A
62 XRL adr,A 2 A: = (adr) EX0R A
53 ANL adr, #data 2 A: = (adr) and data
43 ORL adr, #data 2 A: = (adr) or data
63 XRL adr, #data 2 A: = (adr) EX0R data
F4 CPL A 1 A: = Not A
2.7.2.4.Các lệnh của phép cộng.
28...2F ADD A,R 1 A: = A+ R0...R7
38...3F Addc A,R 1 A: = A+ R0...R7 + C
26,27 Add A, @R 1 A: = A + ( R0,R1), Ram trong
36,37 Addc A, @R 1 A: = A + ( R0,R1) + C, Ram trong
24 ADD A,# data 1 A: = A + data
34 ADDC A,# data 1 A: = A + data + C
25 ADD A, adr 1 A: = A + (adr), Ram trong
35 ADDC A, adr 1 A: = A + (adr) + C, Ram trong
57 DA A 1 Hiệu chỉnh thập phân.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 42 [
2.7.2.5. Các lệnh của phép trừ.
98..9F SUBB A,R 1 A: = A R0...R7 C
96,97 SUBB A,@R 1 A: = ( R0,R1) C, Ram trong
94 SUBB A, # data 1 A: = A data C
95 SUBB A, adr 1 A: = ( adr) C, Ram trong
2.7.2.6. Phép nhân và chia.
A4 MUL AB 4 A: = A*B;B: = Byte cao
84 DIV AB 4 A: = div B,B: = Rest
2.7.2.7. Tăng và giảm giá trị.
08...0F INC R 1 R0..R7: = R0...R7 + 1
18...1F DEC R 1 R0..R7: = R0...R7 - 1
04 INC A 1 A: = A+1
14 DEC A 1 A: = A-1
06,07 INC,@R 1 (R0,R1): = (R0,R1)+1, Ram trong
16,17 DEC,@R 1 (R0,R1): = (R0,R1)-1, Ram trong
05 INC adr 1 (adr): = ( adr) +1
15 DEC adr 1 (adr): = ( adr) -1
03 RR A 1 Dịch chuyển bit Acc sang phải
33 RLC A 1 Dịch chuyển bit sang trái qua C
13 RRC A 1 Dịch chuyển bit sang phải qua C
2.7.2.8. Xử lý Bit.
C3 CLR C 1 C: = 0
B3 CPL C 1 C: = Not C
D3 SET BC 1 C: = 1
C2 CLR bit 1 ( bit): = 0
B2 CPL bit 1 ( bit): = Not ( bit)
D2 SET B bit 1 ( bit): = 1
A2 Mov C, bit 1 C: = (bit)
92 Mov bit,C 1 (bit): =C
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 43 [
82 ANL C, bit 1 C: = C and ( bit)
82 ANL C,/ bit 1 C: = C and not( bit)
72 ORL C, bit 1 C: = C or ( bit)
A0 ORL C,/ bit 1 C: = C or not ( bit)
2.7.2.9. Lệnh nhảy.
02 MP adr 2 Nhảy tới adr( 16 bit)
01...E1 MP adr 2 Nhảy tới adr( 11 bit)
80 SJMP rel 2 Nhảy t−ơng đối (± 127 bytes)
73 JMP@A+ DPTR 2 Nhảy sau khi ( A+ DPTR)
60 JZ rel 2 Nhảy t−ơng đối, Khi A= 0
70 JNZ rel 2 Nhảy t−ơng đối, khi A> 0
B4 CJNEA,# data,rel 2 Nhảy t−ơng đối khi A data
B5 CJNEA,adv ,rel 2 Nhảy t−ơng đối khi A Adr
B8...BF CJNE,# data,rel 2 Nhảy t−ơng đối khi R0..R7 data
B6,B7 CJNE@R,#data,rel 2 Nhảy t−ơng đối khi (R0,R1) data
D8...DF DJNZ R,rel 2 R0...R7 - 1, Nhảy khi 0
D5 DJNZ adv,rel 2 ( adv) -1, Nhảy khi 0
12 LCALL adv 2 Gọi C.trình conadv ( 16-bit)
11...F1 ACALL adv 2 Gọi C.trình conadv ( 11-bit)
22 RET 2 Nhảy trở lại ch−ơng trình con.
2.7.2.10. Điều khiển bộ xử lý.
00 N0P 1 Lệnh chờ một nhịp
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 44 [
Phần III:
Thiết kế mạch điều khiển logic
có lập 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 \ 45 [
3.1. Xây dựng sơ đồ khối của hệ PLC.
Quá trình xây dựng sơ đồ khối của hệ PLC hoàn toàn phụ thuộc vào các
yêu cầu kỹ thuật và các yêu cầu chức năng của hệ .
Với hệ PLC có các yêu cầu cụ thể nh− sau:
- Có một bộ xử lí tín hiệu theo ch−ơng trình làm việc độc lập với ch−ơng
trình đã đ−ợc l−u trong bộ nhớ .
- Việc đổ ch−ơng trình đ−ợc thực hiện bằng cổng nối tiếp theo tiêu chuẩn
truyền RS232 với máy tính PC hay máy lập trình cầm tay .yêu cầu đọc ra và l−u
lại ch−ơng trình một cách rễ ràng .
- Có khả năng mở rộng việc điều khiển và giao tiếp với máy tính hay các
Modul phụ qua cổng mở rộng.
- Có các phím điều khiển trạng thái dừng (Stop), chạy (Run) và chạy thử
(Term)cùng các LED báo trạng thái ứng với ba trạng thái trên.
- Có khả năng lấy tín hiệu vào mức Logic cao, rồi chuyển trạng thái và đệm
đầu vào.
- Đầu ra đóng, cắt tiếp điểm Rơle.
Ngoài ra còn có khối tạo nguồn nuôi đ−ợc lấy trực tiếp từ l−ới điện với yêu
cầu dải làmviệc rộng với điện áp và tần số .
Đó là những yêu cầu chính của hệ PLC từ các yêu cầu này ta đi xây dựng sơ
đồ khối
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 46 [
Thuyết minh hoạt động của sơ đồ khối và chức năng của các khối.
Để PLC làm việc thì tr−ớc hết phải có phần mềm điều khiển các thao tác khởi
tạo và quá trình vào ra dữ liệu cũng nh− tạo trạng thái dừng ngoài ra còn ch−ơng
trình chính .
Tất cả các ch−ơng trình đ−a vào PLC qua cổng truyền nối tiếp RS232.
Khối
Đầu
Vào
Đệm
Đệm
Chốt
Khối
Đầu
ra
Cổng
Mở
Rộng
D7
D0
D0..D7 D0..D7 D0..D7
Rom
64K
VXL
RAm
64K
A0..A12 A0..A12 INT0 A0..A15 RXD TXD
Bàn
Phím
MAX
Mạch
Giải m∙
địa chỉ
Sơ đồ khối toàn bộ hệ thống.
Khối
Nguồn
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 47 [
Khi có ch−ơng trình PLC đã sẵn sàng làm việc. Ban đầu PLC đọc ch−ơng
trình điều hành từ ROM để khởi tạo sau đó quét bàn phím để xác định trạng thái
có thể là Stop, Run hay Term.
Nếu phím Stop thì PLC ngừng mọi thao tác và chờ tín hiệu điều khiển từ
bàn phím khi có phím Run thì vi xủ lí đọc ch−ơng trình chính trong RAM và lấy
tín hiệu vào theo yêu cầu ch−ơng trình .
Sau khi xử lí, vi xử lí sẽ đ−a tín hiệu lên Bus đệm chốt và đ−a tín hiệu ra
ngoài để đóng, cắt thiết bị đ−ợc điều khiển .
Ngoài ra có yêu cầu làm việc với ngoại vi qua cổng mở rộng thì tín hiệu
đ−ợc trao đổi với vi xử lí qua cổng vào ra hai chiều 74LS245.
Khối giải mã địa chỉ nhận địa chỉ từ vi xử lí để ứng với một giá trị địa chỉ có
một vi mạch đ−ợc chọn làm việc tránh ngắn mạch Bus .
Khối tạo nguồn nuôi cho hệ vối các mức yêu cầu điện áp: +5v; -5v; +12v;
+24v.
3.2. Thiết kế chi tiết từng khối.
3.2.1. Vi mạch giải mã 74LS138:
Hệ vi xử lý là sự phối ghép giữa CPU vối các bộ nhớ và các thiết bị ngoại vi
ghép nối với CPU phải đ−ợc CPU kiểm soát một cách chặt chẽ khi thực hiệncác
thao tác đọc ghi , điều đó có nghĩa là thành phần trên phải đ−ợc cho môt địa chỉ
hay một vùng đại chỉ xác định nằm trong không gian địa chỉ tổng thể của CPU
việc truy nhập đén thành phần nào đó thực chất của việc gán địa chỉ cho một
thành phần (vi mạch) cụ thể nào đó nằm trong mạch nghĩa là với địa chỉ nhất
định sẽ đ−a ra tín hiệu chọn vỏ từ bộ giải mã đến chân chọn vỏ (CS ) của vi
mạch.
Tại một thời điểm thì VXL chỉ có thể truy cập đến một địa chỉ cụ thể nào đó
.Do đó vi mạch giải mã cũng cần thoả mãn tại một thời điểm chỉ có một đầu ra
đ−ợc chọn. Trong mạch ta sử dụng vi mạch giải mã địa chỉ 74LS138 là vi mạch
giải mã địa chỉ có 8 đầu ra, 3 đầu vào chọn và3 đầu vào điều khiển.
Sơ đồ chân của vi mạch này nh− sau:
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 48 [
Trong đó:
0Y .. 7Y là các đầu ra của74LS138. Khi đầu ra đ−ợc chọn ở mức thấp. Còn
các đầu ra không đ−ợc chọn ở mức cao .
A,B,C là 3 đầu vào chọn việc thay đổi các giá trị này sẽ thay đổi các đầu
ra đ−ợc chọn.
G1, AG2 , BG2 là các đầu vào điều khiển chọn chip của vi mạch. IC này
chỉ làm việc khi các tín hiệu:G1=1, AG2 = 0 và BG2 = 0. Còn một trong các
điều kiện trên không thoả mãn thì vi mạch không đựơc làm việc. Khi đó các đầu
ra đều ở trạng thái trở kháng cao. Để hiểu rõ nguyên lý hoạt động của vi mạch
74LS138 ta xét bảng trạng thái của74LS138.
/Y0
/Y1
/Y2
/Y3
/Y4
/Y5
/Y6
/Y7
A 1
2
3
B
C
G1
/G2B
/G2A
74LS138
4
5
6
15
14
13
12
11
10
9
7
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 49 [
Điều khiển Đầu vào chọn Các đầu ra của bộ giải mã
G1 G2 G2B C B A
0 x x x x x HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ
X 1 x x x x HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ
X x 1 x x x HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ
1 0 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 0 0 1 1 1 1 0 1 1 1
1 0 0 1 0 1 1 1 1 1 1 0 1 1
1 0 0 1 1 0 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
Bảng trạng thái của 74LS138.
X: Trạng thái bất kỳ (có thể 0 hay 1)
HiZ: Trạng thái trở kháng cao (hở mạch).
Trong sơ đồ của chúng ta mạch giải mã dùng cho các bộ nhớ, các vi mạch
vào ra dữ liệu. Do đó mạch giả mã sẽ hoạt động trong suốt quá trình làm việc
của vi xử lý tức là từ khi hệ thống đ−ợc cấp nguồn thì 74LS138 sẽ chờ vi xử lý
điều khiển. Để thoả mãn đ−ợc điều kiện làm việc đó ta xây dựng đ−ợc mạch giải
mã địa chỉ.
Để 74LS138 hoạt động đ−ợc ngay khi cấp nguồn cho hệ thống thì ta phải
thoả mãn các điều kiện của đầu vào điều khiển, G1 mức cao, AG2 , BG2 ở mức
thấp.
ở đây 3 đầu vào chọn lấy từ các bit địa chỉ A13, A14, A15 từ vi xử lý.
Các đầu ra của vi mạch giải mã địa chỉ đ−ợc đ−a tới để chọn bộ nhớ và các
vi mạch khác.
Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC
Lê Thμnh Sơn \ 50 [
3.2.2. Vi mạch đệm chốt.
ở trong mạch của chúng ta cần sử dụng các vi mạch đệm chốt để đệm chốt
dữ liệu ra của vi xử lý. Trong sơ đồ của chúng ta vi mạch đệm chốt đ−ợc dùng
cho các chức năng sau.
- Đệm chốt các bit địa chỉ cho 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:
D0D7 là 8 bit đầu vào của vi mạch đệm chốt địa.
Q0Q7 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
Các file đính kèm theo tài liệu này:
- giao_trinh_thiet_ke_he_logic_plc.pdf