3. PLCVDK-CSTD

download 3. PLCVDK-CSTD

of 37

Transcript of 3. PLCVDK-CSTD

  • 8/18/2019 3. PLCVDK-CSTD

    1/37

    BỘ ĐIỀU KHIỂN

    Bộ điều khiển được thiết kế dựa trên :  - PLC  - Máy tính : vi xử lý, vi điều khiển, vi tính

    Bài giảng CSTD, LVLang

    1. PLC- ProgrammableLogic Controller

    Bộ điều khiển logic lập trình được (PLC). Được thiết kế theo chuẩn công nghiệp, tiện sử dụng cho người lậptrình.

      Mỗi bộ có những tính năng chuẩn như sau:

    • Vi xử lý và các thiết bị xuất nhập

    • Số lượng ngõ vào, ngõ ra số

    • Ngõ vào, ngõ ra analog

    • Bộ đếm ( counter), bộ định thì ( timer)

    • Các module mở rộng…

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    2/37

    PLC

     Bộ lập trình 

    PLC OMRON

    PLC

    S7-200

    Siemens

    Bài giảng CSTD, LVLang

    Sơ đồ cấu tạo PLC tổng quát

     Bộ lập trình 

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    3/37

  • 8/18/2019 3. PLCVDK-CSTD

    4/37

    PLC – ngõ vào xoay chiều

     

    Bài giảng CSTD, LVLang

    PLC- ngõ vào một chiều

     

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    5/37

    PLC- ngõ ra

    Bài giảng CSTD, LVLang

    PLC- ngõ vào, ra analog

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    6/37

    PLC – relay & contacts

    Bài giảng CSTD, LVLang

    Lập trình PLC

      Sử dụng các phần mềm chuyên dụng cung cấp bởi Nhà sảnxuất PLC. SIEMENS, OMRON, MITSUBISHI, Allen Bradley…

     Có thể lập trình theo kiểu :

    - Ladder Diagram – sơ đồ bậc thang

    - Mnenmonic, statement list – phát biểu, mã gợi nhớ

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    7/37

    PLC – sơ đồ lập trình kiểu ladder

     

    Bài giảng CSTD, LVLang

    PLC – ladder diagram

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    8/37

    PLC – ví dụ kết nối ngõ vào, ra

     

    Bài giảng CSTD, LVLang

    PLC – ví dụ khóa ngân hàng

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    9/37

    PLC – ví dụ robot bốc hàng

    Bài giảng CSTD, LVLang

    Timer

     

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    10/37

  • 8/18/2019 3. PLCVDK-CSTD

    11/37

    Ví dụ ứng dụng PLC 

    Bài giảng CSTD, LVLang

    Ví dụ ứng dụng PLC – điều khiển nhiệt độ

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    12/37

    Ví dụ ứng dụng PLC  - điều khiển nhiệt độ 

    Bài giảng CSTD, LVLang

    DÂY CHUYỀN ĐÓNG THÙNG TÁO 

    Microswitch

    Photosensor 

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    13/37

    SƠ ĐỒ LẬP TRÌNH KIỂU BẬC THANG - PLC OMRON

    Bài giảng CSTD, LVLang

    SƠ ĐỒ LẬP TRÌNH KIỂU STATEMENT LIST 

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    14/37

    Tài liệu tham khảo : MÁY CẮT TÔN .

    •  Máy cắt tôn

    •  

    Bài giảng CSTD, LVLang

    Tài liệu tham khảo : MÁY CẮT TÔN .

    •  

    •  

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    15/37

    2. Điều khiển bằng máy tính

    Máy tính ở đây có thể là :• Vi xử lý•Vi điều khiển•Vi tính

    Bài giảng CSTD, LVLang

    2. Điều khiển bằng vi tính

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    16/37

    2. Điều khiển bằng vi tính

    Bài giảng CSTD, LVLang

    Vi điều khiển 68HC11

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    17/37

    Vi điều khiển 8051

    Bài giảng CSTD, LVLang

    Sơ đồ tổng quát hệ thống điều khiển bằng vi tính

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    18/37

    Điều khiển bằng vi tính

    • Giao tiếp DAC

    Bài giảng CSTD, LVLang

    Điều khiển bằng vi tính

    • Giao tiếp DAC

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    19/37

    Điều khiển bằng vi tính

    • Giao tiếp ADC

    Bài giảng CSTD, LVLang

    Điều khiển bằng vi tính

    • Giao tiếp ADC

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    20/37

    Giao tiếp ADC

    Bài giảng CSTD, LVLang

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    21/37

  • 8/18/2019 3. PLCVDK-CSTD

    22/37

  • 8/18/2019 3. PLCVDK-CSTD

    23/37

  • 8/18/2019 3. PLCVDK-CSTD

    24/37

    Microcontroller 8051, 89C51

    •CÁC ĐẶC TÍNH CHÍNH :

    •4 K Bytes Reprogrammable Flash Memory

    •Tần số xung clock : đến 24 MHz

    •128 bytes RAM nội

    •2 TIMER/COUNTER 16 bit

    •Có khả năng mở rộng bộ nhớ ngoài lên 64 Kbyte

    •Giao tiếp nối tiếp

    Bài giảng CSTD, LVLang

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    25/37

    1. Chân nguồn 5 V : 20-402. Port 0 : 32-39 : vừa dữ kiện vừa địa chỉ (đ/c 80H)3.Port 1 : 1-8 : Xuất nhập (đ/c 90H)4. Port 2 : 21-27 : vừa dữ kiện vừa địa chỉ (đ/c A0H)5. Port 3 : 10-17 ( đ/c B0H)6. Thạch anh dao động 18-197. 16,17 đọc viết bộ nhớ mở rộng8. Timer To, T1 : 14,159. Truyền, nhận thông tin 10,1110. Reset : 1111. Ngắt : 12,1312. Psen : Prog. Store Enable : 29 , cho phépđọc bộ nhớ mở rộng.

    13. ALE (Adress Latch Enable) 30, Khi truyxuất bộ nhớ mở rộng thì cần xuất ra địachỉ, khi có xung ở chân này thì các Port 0 càibytes địa chỉ thấp14. PROG : Lập trình cho 8951, chân 3015.EA (External Access) , 31: Nếu ở mức 1 nósẽ dùng bộ nhớ trong, nếu =0 nó sẽ thi hànhlạnh từ bộ nhớ mở rộng.

    Bài giảng CSTD, LVLang

    Mạch cơ bản 8051/8951

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    26/37

  • 8/18/2019 3. PLCVDK-CSTD

    27/37

    Lập trình hợp ngữ Assembler

    Thường bắt đầu :1.ORG 0000H ;

    2. JMP Main

    3. Main : SETB P1.0

    4.

    5.

    6.END

    Bài giảng CSTD, LVLang

    8051 – tập lệnh

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    28/37

    8051- Tập lệnh

    Bài giảng CSTD, LVLang

    8051-tập lệnh

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    29/37

    MỘT SỐ LỆNH CĂN BẢN

    1. SETB P1.3; Đặt chân P3.3 = 1

    2. MOV R0, # 20; Nạ p vào thanh ghi R0 số 20 BCD (0FFHlà số hex =255 thậ p phân). Các thanh ghi t ừ  R0-R7 

    3. CLR P1.3; xóa chân P1.3 = 0

    4. JNB P0.5, DELAY; Nhảy tới DELAY nếu chân P0.5 bằng0.

    5. JB bit, Rel : nhảy tương đối nếu bit =1

    6. DJNZ R0, $; Giảm R0 đi 1 đơn vị và nhảy tạichỗ nếu R0 khác 0.

    7. CALL Delay ; Gọi chương trình con Delay8. JMP Main ; nhảy đến nhãn Main.

    Bài giảng CSTD, LVLang

    Một số lệnh căn bản

    9. MOV A, P1; Nhập dữ liệu từ Port 1 vào thanh tích lũy Acc

    10. MOV P2, A; Xuất dữ liệu tự Acc ra Port 2

    11. SUBB A,# data; trừ có mượn. Lấy A-(#data) –carry rồi bỏ vào A

    12. SUBB A, Rn; trừ có mượn (A)=(A)-C-(Rn)

      ví dụ : A=C9H, R2=54H, C=1. Sau khi thực hiện SUBB A, R2 thì

    A=74H13. JC, Rel; nhảy nếu cờ carry =1

    14. JNC , rel ; nhảy nếu carry =0

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    30/37

    Mạch cơ bản 8051/8951

    Bài giảng CSTD, LVLang

    Ví dụ :Lưu đồ điều khiển Led chớp tắt

    Ví dụ chương trình đèn LED chớp tắt:start: SETB P1.0

      CALL Delay  CLR P1.0

      CALL Delay  JMP start

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    31/37

    Delays

    • MOV R0, #249; Nạ p thanh ghi R0 số 249DJNZ R0, $; Gi ảm R0 đi 1 và nhảy t ại chỗ nếu R0khác 0

      Như vậy lệnh DJNZ sẽ thực hiện 249 lần. Lệnh nàytốn 2 chu kỳ máy: 249 x 2 = 498 chu kỳ+ 1 chu kỳ củalệnh MOV là 499. Mỗi chu kỳ = 1 microsec suy ra để 

    thực hiện đoạn này cần 499 microsec

    (Số hex : 0AH là 10 ;0FFH là 255)

    Bài giảng CSTD, LVLang

    Delay dài

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    32/37

    twoLoopDelay:

    Delay : MOV R0, # 20

    Loop : MOV R1, #249

    DJNZ R1, $

      DJNZ R0, Loop

      RET

    499 x 20 + 20x2 = 10020 microsec + 1 của MOV R0nữa là 10.001 microsec=10ms

    Bài giảng CSTD, LVLang

    ORG 0000h ; Chương trình khởi đầu từ địa chỉ  là 0000h  START: CLR P1.0 ; Đặt chân P1.0 xuống mức áp thấp, Led sẽ sáng.  CALL DELAY ; Cho gọi trình làm trễ (có tên nhãn là delay).  SETB P1.0 ; Đặt chân p1.0 lên mức áp cao, Led sẽ tắt  CALL DELAY ; Lại cho gọi trình làm trễ (có tên nhãn là delay).

    JMP START ; Cho nhẩy về dòng lệnh với tên nhãn là start, sẽ lặp lại.

    DELAY: MOV R5,#20 ; Nạp trị 50 vào thanh nhớ r5.D1: MOV R6,#20 ; Nạp trị 20 vào thanh nhớ r6.

      D2: MOV R7,#248 ; Nạp trị 248 vào thanh nhớ r7.  DJNZ R7,$ ; Cho giảm r7 theo bước -1 cho đến 0.  DJNZ R6,D2 ; Cho giảm r6 theo bước -1, chưa bằng 0 thì nhẩy về D2.  DJNZ R5,D1 ; Cho giảm r5 theo bước -1, chưa bằng 0 thì nhẩy về  D1.  RET ; Quay lại dòng lệnh sau lệnh lcall.  END

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    33/37

    8051- Timer

    Bài giảng CSTD, LVLang

    8051- Timer Mode -TMOD

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    34/37

    8051-TMOD

    Bài giảng CSTD, LVLang

    Khởi động, dừng Timer

    • MOV TMOD, #10H; chọn mode 1 cho Timer 1

    • MOV TL1, #9CH; nạp trước vào bộ đếm số FF9C

    • MOV TH1, #FFH; khi đếm được 100 xung (100microsec thì bộ đếm sẽ tràn.) (FFFFH-0064H = FF9CH)

    • SETB TR1; khởi động

    • JNB TF1, $; Chờ bộ đếm tràn

    • CLR TR1

    • CLR TF1

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    35/37

    Ví dụ delay 1 sec

    Delay 1s : MOV TMOD, #01H

      MOV R1, #200

      LOOP: DJNZ R1, LOOP1

      SJMP DONE

      LOOP1: MOV TH0, #HIGH(-5000); (5000=1388H;-5000=FFFFH-

    1388H=EC78H)

      MOV TL0, #LOW(-5000)

      SETB TR0

      JNB TF0,$

      CLR TR0

      CLR TF0

      SJMP LOOP

      DONE: RET Bài giảng CSTD, LVLang

    Chương trình asm

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    36/37

    Bài giảng CSTD, LVLang

    Bài giảng CSTD, LVLang

  • 8/18/2019 3. PLCVDK-CSTD

    37/37