bai gian plc

138
Bản thảo giáo trình thực hành PLC 5 2009 Biên soạn: Th.s Trần Văn Trinh 1 Bản thảo giáo trình thực hành PLC Phần 1 LÝ THUYẾT THỰC HÀNH

Upload: sinhthai1

Post on 25-Jun-2015

1.282 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 1

Bản thảo giáo trình thực hành PLC

Phần 1

LÝ THUYẾT THỰC HÀNH

Page 2: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 2

Giới thiệu mô hình

Page 3: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 3

Tập Lệnh Trong S7_200:

1. Lệnh về bit:

: tiếp điểm thường hở.

: tiếp điểm thường đóng.

: Cuộn coil, ngõ ra.

: đảo trạng thái bit.

: Set bit

: Reset bit

: Vi phân cạnh lên

: Vi phân cạnh xuống.

Page 4: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 4

Ví dụ: Hãy viết chương trình theo yêu cầu sau:

Bài 1: Hệ thống gồm hai công tắc và 1 bóng đèn chỉ cần 1 trong hai công tắc ON thì

đèn sẽ sáng.

Input: công tắc 1: I0.0 Output: đèn: Q0.0

công tắc 2: I0.1

Bài 2: Hệ thống 2 nút nhấn và 1 motor, 1 nút quy định Start và 1 nút Stop. Khi Start

được nhấn thì motor chạy, Start buông ra motor vẫn chạy và chạy cho đến khi Stop

được nhấn thì motor dừng.

Bài 3: Sử dụng các lệnh về bit,viết chương trình để điều khiển Q0.4 và Q0.5 lên mức

cao trong một chu kì khi có I0.4.

Page 5: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 5

Ý nghĩa Các Network tương ứng.

2. Timer: Có 3 loại Timer : TON, TOF, TONR.

Page 6: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 6

TON: Delay On.

TOF: Delay Off.

TONR: Delay On có nhớ

2.1 TON:

Txxx: số hiệu Timer.

IN: cho phép Timer( BOOL).

PT:giá trị đặt cho timer(VW, IW, QW, MW, SW,

SMW,

LW, AIW, T, C, AC, Constant, *VD, *LD, *AC) .

Trong S7_200 có 256 Timer, ký hiệu từ T0-T255

Các số hiệu Timer trong S7_200 như sau:

Timer Type Resolution Maximum Value Timer Number

TONR 1 ms 32.767 s T0, T64

10 ms 327.67 s T1-T4, T65-T68

100 ms 3276.7 s T5-T31, T69-T95

TON, TOF 1 ms 32.767 s T32, T96

10 ms 327.67 s T33-T36, T97-T100

100 ms 3276.7 s T37-T63, T101-T255

Ví dụ: Sử dụng lệnh Delay ON để tạo thời gian trễ trong 1s.

Page 7: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 7

Khi ngõ vào I0.0 =1 Timer T37 được kích, nếu sau 10x100ms =1s I0.0 vẫn giữ trạng

thái thì Bit T37 sẽ lên 1 ( Khi đó Q0.0 lên 1 ).

Nếu I0.0 =1 không đủ thời gian 1s thì bit T37 sẽ không lên 1.

2.2 TOF:

IN: BOOL: cho phép Timer.

PT: Int: giá trị đặt cho timer(VW, IW, QW, MW, SW,

SMW, LW, AIW, T, C, AC, Constant, *VD, *LD, *AC)

Txxx: số hiệu Timer.

Ví dụ: Sử dụng lệnh Delay OFF để tạo thời gian trễ .

Page 8: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 8

Khi Ngõ vào I0.0 = 1 thì bit T33 lên 1 ( Ngõ ra Q0.0 lên 1)

Khi I0.0 xuống 0, thời gian Timer bắt đầu tính, đủ thời gian 1s = 100x10ms thì bit

T33 sẽ tắt (Q0.0 tắt)

Nếu I0.0 xuống 0 trong khoảng thời gian chưa đủ 1s đã lên 1 lại thì bit T33 vẫn giữ

nguyên trạng thái

Giản đồ thời gian:

2.3 TONR:

Page 9: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 9

IN: BOOL: cho phép Timer.

PT: Int: giá trị đặt cho timer(VW, IW, QW, MW, SW,

SMW, LW, AIW, T, C, AC, Constant, *VD, *LD, *AC)

Txxx: số hiệu Timer.

Ví dụ:Dùng lệnh Delay ON có duy trì để tạo thời gian trễ.

Ngõ vào I0.0 có tác dụng kích thời gian cho Timer, khi ngõ I0.0 =1 thời gian Timer

được tính, khi I0.0=0 thời gian không bị Reset về 0. Khi đủ thời gian thì Bit T1 sẽ

lên1.

Thời gian Timer chỉ bị Reset khi có tín hiệu Reset Timer ( tín hiệu từ ngõ I0.1)

Giản đồ thời gian:

Page 10: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 10

Bài tập:

Điều khiển Đèn xanh đỏ tại ngã tư với yêu cầu sau:

Xanh A : Trong 15s

Vàng A : Trong 3s

Xanh B : Trong 25s

Vàng B : Trong 4s

Ta có thể mở rộng bài toán điều khiển đèn giao thông có thêm đường dành cho người

đi bộ.

Lưu đồ giải thuật:

Page 11: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 11

Xanh A

Vàng A

Xanh B

Vàng B

Đỏ B

Đỏ A

1

1

1

1

start

Đặt thời gianT37 là 15s

Đặt thời gianT38 là 3s

Đặt thời gianT39 là 25s

Đặt thời gianT40 là 4s

01

1

1

1

0

0

0

Page 12: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 12

Page 13: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 13

3.Counter :Có 3 loại Counter.

3.1 Counter Up(đếm lên):

Cxxx: Số hiệu counter (0-255)

CU: Kích đếm lên Bool

R: Reset Bool

PV: Giá trị đặt cho counter INT

PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, Constant,

*VD, *AC, *LD, SW

Mô tả:

Page 14: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 14

Khi có một cạnh lên ở chân CU, giá trị bộ đếm (1 Word) được tăng lên 1. Khi

giá trị hiện tại lớn hơn hoặc bằng giá trị đặt PV(Preset value), ngõ ra sẽ được bật lên

ON.

Khi chân Reset được kích (sườn lên) giá trị hiện tại bộ đếm và ngõ ra được trả

về 0. Bộ đếm ngưng đếm khi giá trị bộ đếm đạt giá trị tối đa là 32767 (216 – 1).

Ví dụ:Dùng counter đếm lên đếm số xung từ I0.0 ,giá trị đặt là 4.

Giản đồ xung:

3.2 Counter Down(đếm xuống):

Cxxx: số hiệu counter (0-255)

Page 15: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 15

CD: kích đếm xuống Bool

LD: Load Bool

PV: giá trị đặt cho counter INT

PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C,

Constant, *VD, *AC, *LD, SW

Mô tả:

Khi chân LD có cạnh lên giá trị PV được nạp cho bộ đếm.

Mỗi khi có cạnh lên ở chân CD, giá trị bộ đếm (1 Word) được giảm xuống 1. Khi giá

trị hiện tại của bộ đếm bằng 0, ngõ ra sẽ được bật lên ON và bộ đếm sẽ ngưng đếm.

Ví dụ :Dùng counter đếm xuống đếm số xung từ I0.0.

Giản đồ xung:

Page 16: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 16

3.3 Counter Up/Down (đếm lên/xuống):

Cxxx: số hiệu counter (0-255)

CU: kích đếm lên Bool

CD: kích đếm xuống Bool

R:reset Bool

PV:giá trị đặt cho counter INT

(PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, Constant,

*VD, *AC, *LD, SW ).

Mô tả:

Khi có cạnh lên ở chân CU, giá trị bộ đếm (1 Word) được tăng lên 1. Khi có

một cạnh lên ở chân CD, giá trị bộ đếm được giảm xuống 1. Khi giá trị hiện tại

lớn hơn hoặc bằng giá trị đặt PV(Preset value), ngõ ra sẽ được bật lên ON.

Khi chân R được kích (sườn lên) giá trị bộ đếm và ngõ Out được trả về 0.

Giá trị cao nhất của bộ đếm là 32767 và thấp nhất là –32768.Bộ đếm ngừng

đếm khi giá trị bộ đếm đạt ngưỡng.

Ví dụ:Sử dụng counter đếm lên xuống.

Page 17: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 17

Giản đồ xung:

Bài tập:

Page 18: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 18

1. Hãy thiết kế và viết chương trình đếm sản phẩm sao cho khi đếm đủ 100 sản phẩm,

băng tải ngưng và chuông reo cho tới khi có tín hiệu Reset.Hệ thống sẽ đếm lại 100

sản phẩm mới,và ngưng khi nút Stop được nhấn.

2. Giống như bài tập 1 nhưng khi đủ 100 sản phẩm băng tải tự động ngừng trong 5s

sau đó tự động chạy trở lại.

Chương trình bài tập 2:

Input: Cảm biến phát hiện sản phẩm: I0.4

Nút nhấn 1: reset: I0.3

Nút nhấn 2: start: I0.0

Nút nhấn 3: stop: I0.1

Nút nhấn 4: auto/manual: I0.2

Output: Chuông: Q0.0

Motor: Q0.1

Lưu đồ giải thuật:

Chương trình:

Page 19: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 19

4. Lệnh MOVE:

Trong S7_200 có các lệnh Move sau:

Page 20: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 20

Move_B: Di chuyển các giá trị cho nhau trong giới hạn 1 Byte

Move_W: Di chuyển các giá trị nguyên cho nhau trong giới hạn 1 Word

Move_DW: Di chuyển các giá trị nguyên cho nhau trong giới hạn 1 DWord

Move_R: Di chuyển các giá trị thực cho nhau trong giới hạn 1 Dint

4.1 Move_B:

EN: ngõ vào cho phép

IN Ngõ vào: VB, IB, QB, MB, SB, SMB, LB, AC,

Constant, *VD, *LD, *AC

OUT Ngõ ra: VB, IB, QB, MB, SB, SMB, LB,

AC, *VD, *LD, *AC

Khi có tín hiệu ở ngõ cho phép, lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô

nhớ trong OUT

4.2 MOVE_W:

EN: ngõ vào cho phép

IN Ngõ vào: VW, IW, QW, MW, SW, SMW, LW,

T, C, AIW, Constant, AC, *VD, *AC, *LD.

OUT Ngõ ra: VW, T, C, IW, QW, SW,

MW,SMW, LW, AC, AQW, *VD, *AC, *LD.

Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô

nhớ trong OUT

4.3 MOVE_DW

EN: ngõ vào cho phép

IN Ngõ vào: VD, ID, QD, MD, SD, SMD, LD, HC,

&VB, &IB, &QB, &MB, &SB, &T, &C, &SMB,

&AIW, &AQW AC, Constant, *VD, *LD, *AC

OUT Ngõ ra: VD, ID, QD, MD, SD, SMD, LD,

AC, *VD, *LD, *AC

Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô

nhớ trong OUT

Page 21: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 21

4.4 MOVE_R

EN: ngõ vào cho phép

IN Ngõ vào: VD, ID, QD, MD, SD, SMD, LD,

AC, Constant, *VD, *LD, *AC

OUT Ngõ ra: VD, ID, QD, MD, SD, SMD, LD,

AC, *VD, *LD, *AC

Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô

nhớ trong OUT

Các tín hiệu ngõ vào cũng như ngõ ra của các lệnh Move phải được chọn đúng loại

theo đã định dạng như vùng Dword đối với Move_R và Move_DW…

Nếu chọn sai định dạng thì chương trình biên dịch sẽ bị sai.

Ví dụ:

Khi I0.0 lên 1 thì chương trình sẽ chuyển nội dung ô nhớ trong VD100 sang ô nhớ

VD200

5. Các lệnh về dịch bit:

Lệnh Dịch trái, phải Byte:

EN : Bit cho phép thực hiện lệnh dịch trái,dịch phải

Page 22: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 22

IN : Byte được dịch

OUT: Kết quả

N : Số bit dịch

Các Bit dịch ra ngoài bị loại bỏ, các số 0 được chèn vào.

Ví dụ:

Sau lệnh dịch VB100= 0001 1011

( 3 Bit 000 mới được thêm vào bit 101 bị đẩy ra)

Lệnh dịch trái:

Lệnh dịch trái chuyển bit thấp sang bit cao tương đương với nhân 2n.

Lệnh dịch phải:

Dịch chuyển bit cao sang bit thấp tương đương với chia 2n

Tương tự có lệnh xoay phải, trái Word, Dword.

Ví dụ:

1. Chương trình dịch trái cho bit thấp dịch chuyển sang bit cao, trước khi thực hiện

dịch trái ta phải đạt giá trị ban đầu cho biến

Carry 0

Carry0

Page 23: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 23

2. Viết chương trình sao led đang sáng tắt dần theo thứ tự từ trái sang phải và chỉ thực

hiện một 1 lần.

Page 24: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 24

3. Viết chương trình sao cho khi nhấn nút Run thì led sáng đơn chạy từ trái sang phải

và từ phải sang trái. Khi nhấn nút Stop thì led dừng chạy và nhấn nút Run thì led chạy

tiếp từ vị trí dừng. Một nút Reset cho phép xóa toàn bộ quá trình.

Page 25: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 25

Input: Run: I0.0 Output: 8 led: QB0

Stop: I0.1 LSB Q0.0: led 0

Reset: I0.2 MSB Q0.7: led 1

Chương trình:

:

Page 26: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 26

6.Các lệnh số học:

Page 27: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 27

6.1 Lệnh cộng trừ:

ADD_I: Cộng hai số nguyên 16 bit

SUB_I: Trừ hai số nguyên 16 bit

EN: ngõ vào cho phép

IN1 + IN2 = OUT

IN1 – IN2 = OUT

Khi ngõ vào cho phép lên 1 chương trình sẽ thực hiện việc cộng ( hay trừ) 2 số

nguyên 16 Bit ở IN1và IN2 ,kết quả đưa vào OUT.

Tương tự, ta có:

ADD_DI: Cộng hai số nguyên 32 Bit .

SUBB_DI: Trừ hai số nguyên 32 Bit .

ADD_R: Cộng hai số thực .

SUBB_R: Trừ hai số thực.

6.2 Lệnh nhân chia:

MUL_I: Nhân hai số nguyên 16 bit

DIV_I: Chia hai số nguyên 16 bit

EN: ngõ vào cho phép

IN1 * IN2 = OUT

Page 28: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 28

IN1 / IN2 = OUT

Nếu kết quả chia có dư thì phần dư sẽ được bỏ.

Khi ngõ vào EN lên 1, chương trình sẽ thực hiện việc nhân ( hay chia) 2 số nguyên 16

Bit, kết quả cất vào số nguyên 16 Bit .

Trường hợp chia: Do OUT là số nguyên 16 Bit, nên phần dư của phép chia sẽ bị bỏ.

Trường hợp nhân: Nếu bị tràn bộ nhớ thì OUT sẽ chứa phần Byte thấp.

Tương tự, ta có:

MUL_DI: Nhân hai số nguyên 32 bit

DIV_DI: Chia hai số nguyên 32 bit

MUL_R: Nhân hai số thực

DIV_R: Chia hai số thực

Lệnh MUL, DIV : Tương tự lệnh nhân và chia, nhưng trong trường hợp này ngõ ra

OUT là 32 Bit.

Ta sẽ sử dụng lệnh MUL hay DIV khi không

biết ngõ ra có bị tràn 16 Bit hay không.

Ví dụ:

Page 29: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 29

Khi I0.0 = ON, chương trình thực thi:

IN1 IN2 OUT

40 + 60 = 100

AC1 AC0 AC0

40 * 20 = 800

AC1 VW100 VW100

4000 / 40 = 100

VW200 VW10 VW200

6.3 Lệnh tăng giảm:

INC_B: Tăng Byte

DEC_B: Giảm Byte

Page 30: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 30

EN:Ngõ vào cho phép

IN1 + 1 = OUT

EN:Ngõ vào cho phép

IN1 - 1 = OUT

Các hàm tương tự:

INC_W: Tăng Word

DEC_W: Giảm Word

NC_DW: Tăng DWord

DEC_DW: Giảm Dword

Ngoài ra còn một số hàm khác như: SQRT(khai căn), SIN, COS, TAN, LN, EXP…

6.4 Các lệnh so sánh: So sánh byte

so sánh bằng: Khi IN1=IN2 thì ngõ ra được tích cực.

so sánh khác.

So sánh lớn hơn hoặc bằng.

So sánh nhỏ hơn hoặc bằng.

So sánh lớn hơn

So sánh nhỏ hơnTương tự các lệnh so sánh cho Byte, ta cũng có các lệnh so sánh

cho số Int, Dint, Real

Khi thực hiện các lệnh so sánh thì IN1, IN2 phải được chọn đúng kiểu dữ liệu.

Page 31: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 31

7. Lệnh về đồng hồ thời gian thực RTC

7.1 Lệnh đọc thời gian thực Read_RTC:

7.2 Lệnh Set thời gian thực Set_RTC:

Khi có tín hiệu EN thì thời gian thực sẽ được

set lại thông qua T

Cách định dạng Byte T hoàn toàn giống ở trên.

8. Lệnh gọi chương trình con:

XXX: 00-99

Khi giá trị điều kiện bằng 1 thì chương trình sẽ gọi chương trình con

Bài tập:

Sử dụng lệnh đọc thời gian thực để ứng dụng trong điều khiển đèn giao thông tự

động, tưới cây tự động.

- Điều khiển đèn giao thông tự động:

Bit EN : Bit cho phép đọc thời gian thựcT ( 8byte): VB,IB,QB,MB,SB,LB,*AC,*VD,*LDĐược định dạng như sau:

T (byte) Giá trị ( định dạng BCD) 0 (năm) 0-99

1 (tháng) 0 -12 2 (ngày) 0 - 31 3 (giờ) 0 - 23 4 (phút) 0 - 59 5 (giây) 0 - 59 6 (00) 00 7 (ngày trong tuần) 1 – 7; 1: Sunday

Page 32: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 32

Thời gian từ 5 giờ đến 23 giờ: hoạt động bình thường

Từ 23 giờ sáng đến 5 giờ sáng ngày hôm sau: Đèn vàng chớp tắt xung 1s.

- Điều khiển tưới cây tự động: Để phục vụ cho việc tưới cây ( trong phòng kiếng),

Lan đòi hỏi nhu cầu tưới nước rất khắc nghiệt, đòi hỏi cách 1 khoảng thời gian

nhất định cho việc tưới cây và còn phụ thuộc theo từng tháng.Tháng mùa nóng

nhu cầu tưới nước nhiều hơn mùa mưa.

- Chương trình bài đèn giao thông tự động:

Input: lấy giá trị của bộ thời gian thực trong PLC.

Output: Xanh A: Q0.0 Xanh B: Q0.3

Vàng A: Q0.1 Vàng B: Q0.4

Đỏ A: Q0.2 Đỏ B: Q0.5

Lưu đồ giải thuật:

Lưu đồ giải thuật chương trình con 1: đèn hoạt động bình thường

Page 33: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 33

Chương trình: Main

0 0

Start

1

Vàng B

Xanh B

Đỏ A

No

No

No

Nuôi T38:38s

Đỏ B

Nuôi T37:35s

Xanh A

1 1

0 0

Vàng A

Vàng A

Xanh A

Đỏ B

No

No

No

Nuôi T39:27s

Đỏ B

Nuôi T40:30s

Xanh A

1 1

0 0

Đỏ B Đỏ A

Vàng B

1

Yes

Yes

Yes

Yes

Yes

Yes

Page 34: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 34

Subroutine 0

Page 35: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 35

Page 36: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 36

Subroutine 1

9. Các lệnh về ngắt:

Page 37: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 37

Lệnh ATCH:

Bit EN : tín hiệu cho phép thực hiện lệnh ATCH

INT : Chương trình ngắt được gọi khi có sự kiện

ngắt xảy ra

EVNT : Số thứ tự sự kiện ngắt

Ví dụ:

Khi gặp sự kiện ngắt số 8 ( Sự kiện ngắt Port nối tiếp ), chương trình sẽ gọi chương

trình ngắt INT_0.

Bảng sự kiện ngắt:

Page 38: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 38

Lệnh DTCH: lệnh cấm ngắt

Bit EN : tín hiệu cho phép thực hiện lệnh

DTCH

EVNT : Số thứ tự sự kiện ngắt, bị cấm

Ví dụ:

Cấm sự kiện ngắt số 8, sự kiện ngắt số 8 chỉ được cho phép trở lại bằng lệnh ATCH

Ngoài ra còn có các lệnh cho phép ngắt (ENI) và cấm ngắt (DISI) và lệnh trở về của

chương tình ngắt (RETI).

10. Xuất xung tốc độ cao

Page 39: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 39

CPU S7_200 có 2 ngõ ra xung tốc độ cao (Q0.0, Q0.1), dùng cho việc điều

rộng xung tốc độ cao nhằm điều khiển các thiết bị bên ngoài.

Việc điều rộng xung được thực hiện thông qua việc định dạng Wizard

Có 2 cách điều rộng xung:điều rộng xung 50% và điều rộng xung theo tỉ lệ .

10.1 Điều rộng xung 50% (PTO):

Để thực hiện việc phát xung tốc độ cao ( PTO) trước hết ta phải thực hiện các bước

định dạng sau:

Reset ngõ xung tốc độ cao ở chu kì đầu của chương trình

Chọn loại ngõ ra phát xung tốc độ cao Q0.0 hay Q0.1

Định dạng thời gian cơ sở ( Time base) dựa trên bảng sau:

PTO/PWM Control Byte Reference

Result of executing the PLS instruction

Control

Registe

r

(Hex

Value)

Enabl

e

Select

Mode

PTO

Segment

Operatio

n

Time

Base

Pulse

Count

Cycle

Time

16#81 Yes PTO Single1

µs/cycleLoad

16#84 Yes PTO Single1

µs/cycleLoad

16#85 Yes PTO Single1

µs/cycleLoad Load

16#89 Yes PTO Single1

ms/cycleLoad

16#8C Yes PTO Single1

ms/cycleLoad

16#8D Yes PTO Single 1 Load Load

Page 40: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 40

ms/cycle

16#A0 Yes PTO Multiple1

µs/cycle

16#A8 Yes PTO Multiple1

ms/cycle

Các Byte cho việc định dạng SMB67 ( cho Q0.0)

SMB77 ( cho Q0.1)

Ngoài ra: Q0.0 Q0.1

SMW68 SMW78 : Xác định chu kì thời gian

SMW70 SMW80 : Xác định chu kì phát xung

SMD72 SMD82 : Xác định số xung điều khiển

Ví dụ : Thực hiện việc điều rộng xung nhanh kiểu PTO tại ngõ ra Q0.0, chương trình

gồm nút nhấn Start, nút nhấn phát xung ra tại Q0.0, một nút nhấn tăng xung và một

nút nhấn giảm xung. Nút nhấn stop được dùng để ngưng việc phát xung.

Input: Output: Q0.0

Start: I0.4

Stop: I0.5

Phát thời gian chu kỳ phát xung: I0.0

Giảm thời gian chu kỳ phát xung: I0.1

Tăng xung: I0.2

Lưu đồ giải thuật:

START

Phát xung?Cài đặt các thông số cho bộ phát xungPTO và cho phép phát xung

Yes

Page 41: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 41

Chương trình chính:

Page 42: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 42

Chương trình con 0: SBR_0 cài đặt các thông số cho việc phát xung PTO

Page 43: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 43

Chương trình con 1: SBR_1: tăng thời gian chu kì phát xung xung(giảm xung)

Định dạng SMB67 = 16#8D : Địnhdạng xung tốc độ cao ở ngõ ra Q0.0,Thời gian cơ sở là 1ms/cycle,cho phépLoad số xung và chu kì thời gian

Nạp chu kì thời gian là 500x1ms =500ms

Nạp số xung là 1

Liên kết với sự kiện ngắt số 19 ( khi sốxung phát ra bằng số xung đặt là 1)

Cho phép ngắt (ENI )

Lệnh xuất xung tốc độ cao ra Q0.0

SMB67 =16#89:thời gian cơ sở1ms/cycle nhưng khi đó chỉ cho phépLoad chu kì thời gian mà thôi.

Page 44: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 44

Chương trình con 2: SBR_2: giảm thời gian chu kì phát xung(tăng xung)

Chương trình ngắt : cho phép phát xung.

10.2 Điều rộng xung theo tỉ lệ (PWM):

Page 45: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 45

Để thực hiện việc phát xung tốc độ cao ( PWM) trước hết ta phải thực hiện các bước

định dạng sau:

Reset ngõ xung tốc độ cao ở chu kì đầu của chương trình

Chọn loại ngõ ra phát xung tốc độ cao Q0.0 hay Q0.1

Định dạng thời gian cơ sở ( Time base) dựa trên bảng sau:

Result of executing the PLS instruction

Control

Registe

r

(Hex

Value)

Enabl

e

Selec

t

Mod

e

PWM Update

Method

Time

Base

Pulse

Width

Cycle

Time

16#D1 YesPW

MSynchronous

1

µs/cycleLoad

16#D2 YesPW

MSynchronous

1

µs/cycleLoad

16#D3 YesPW

MSynchronous

1

µs/cycleLoad Load

16#D9 YesPW

MSynchronous

1

ms/cycleLoad

16#DA YesPW

MSynchronous

1

ms/cycleLoad

16#DB YesPW

MSynchronous

1

ms/cycleLoad Load

Các Byte cho việc định dạng : SMB67 ( cho Q0.0)

SMB77 ( cho Q0.1)

Ngõ ra: Q0.0 Q0.1

SMW68 SMW78 : Xác định chu kì thời gian

SMW70 SMW80 : Xác định chu kì phát xung

Page 46: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 46

SMD72 SMD82 : Xác định số xung điều khiển

Ví dụ: viết chương trình điều xung PWM gồm một nút nhấn Start, một nút nhấn phát

xung, một nút nhấn tăng độ rộng xung, một nút nhấn giảm độ rộng xung và nút Stop

để ngưng điều xung tại Q0.0.

Input: Start: I0.4 Output: Q0.0

Stop: I0.5

Phát xung: I0.0

Tăng độ rộng xung: I0.1

Giảm độ rộng xung: I0.2

Lưu đồ giải thuật:

Chương trình chính:

START

Cho phép phát xung?Cài đặt các thông số cho bộ phát xungPWM và phát xung tại Q0.0

Tăngđộ rộng xung?

Tăng độ rộng xungSMW70 = SMW70 + 1

Giảm độ rộng xungSMW70 = SMW70 - 1

Giảmđộ rộng xung?

Yes

Yes

Yes

No

No

No

Page 47: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 47

Chương trình con 0: SBR_0 cài đặt thông số cho PWM

Page 48: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 48

Chương trình con 1: SBR_1 tăng độ rộng xung

SMB67 = 16#DB : Định dạng ngõ ra xungQ0.0 ,thời gian cơ sở 1ms /cycle cho phépLoad độ rộng xung cũng như chu kì thờigian.

SMW68 = 100 : chu kì thời gian là10000x1ms =100ms

SMW70 = 1 Độ rộng xung on là 1ms

Phát xung ra tốc độ cao ở ngõ ra Q0.0

SMB67 =16#DA :thời gian cơ bản1ms, chỉ cho phép Load độ rộng xungon

Page 49: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 49

Chương trình con 2: SBR_2 giảm độ rộng xung

11. Đọc xung tốc độ cao:

Để đọc xung tốc độ cao, ta cần phải thực hiện các bước cho vệc định dạng Wizard:

Page 50: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 50

Chọn Wizard đọc xung tốc độ cao High Speed Counter:

Page 51: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 51

Chọn Mode đọc xung tốc độ cao và loại Counter nào (HC0,HC1…)

Tuỳ từng loại ứng dụng mà ta có thể chọn nhiều Mode đọc xung tốc độ cao khác

nhau,có tất cả 12 Mode đọc xung tốc độ cao như sau:

Mode 0,1,2 : Dùng đếm 1 pha với hướng đếm được xác định bởi Bit nội

Mode 0: Chỉ đếm tăng hoặc giảm, không có Bit Start cũng như bit Reset

Mode 1: Đếm tăng hoặc giảm, có bit Reset nhưng không có bit Start

Page 52: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 52

Mode 2: Đếm tăng hoặc giảm, có Bit Start cũng như bit Reset để cho phép chọn

bắt đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là

các ngõ Input chọn từ bên ngoài.

Mode 3,4,5: Dùng đếm 1 pha với hướng đếm được xác định bởi Bit ngoại, tức là có

thể chọn từ ngõ vào input.

Mode 3: Chỉ đếm tăng hoặc giảm, không có Bit Start cũng như bit Reset

Mode 4: Đếm tăng hoặc giảm, có bit Reset nhưng không có bit Start

Mode 5: Đếm tăng hoặc giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt

đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các

ngõ Input chọn từ bên ngoài.

Page 53: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 53

Mode 6,7,8: Dùng đếm 2 pha với 2 xung vào, 1 xung dùng để đếm tăng và một xung

đếm giảm

Mode 6: Chỉ đếm tăng giảm, không có Bit Start cũng như bit Reset

Mode 7: Đếm tăng giảm, có bit Reset nhưng không có bit Start

Mode 8: Đếm tăng giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt đầu

đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các ngõ

Input chọn từ bên ngoài.

Mode 9,10,11 : Dùng để đếm xung A/B của Encoder, có 2 dạng:

Page 54: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 54

Dạng 1 (Quadrature 1x mode): Đếm tăng 1 khi có xung A/B quay theo chiều thuận,

và giảm 1 khi có xung A/B quay theo chiều ngược.

Dạng 2 (Quadrature 4x mode): Đếm tăng 4 khi có xung A/B quay theo chiều thuận,

và giảm 4 khi có xung A/B quay theo chiều ngược.

Mode 9: Chỉ đếm tăng giảm, không có Bit Start cũng như bit Reset

Mode 10: Đếm tăng giảm, có bit Reset nhưng không có bit Start

Mode 11: Đếm tăng giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt

đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các

ngõ Input chọn từ bên ngoài.

Mode 12: Chỉ áp dụng với HSC0 và HSC3, HSC0 dùng để đếm số xung phát ra từ

Q0.0 và HSC3 đếm số xung từ Q0.1 ( Được phát ra ở chế độ phát xung nhanh) mà

không cần đấu phần cứng, nghĩa là PLC tự kiểm tra từ bên trong.

Page 55: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 55

Bảng Mô tả chế độ đếm cũng như loại HSC, quy định địa chỉ vào.

Căn cứ vào bảng trên để có thể chọn loại HSC cho từng ứng dụng phù hợp.

Ví dụ: Không thể sử dụng HSC0 cho Mode 5, Mode 8 cũng như Mode 11, vì các

Mode này cần 4 chân Input trong khi đó HSC0 chỉ có 3 chân Input.

1 Số Bit được sử dụng để điều khiển các chế độ của HSC:

HSC0 HSC1 HSC2 HSC4 Description

SM37

.0

SM47

.0

SM57

.0

SM147.

0

Active level control bit for Reset**:

0 = Reset active high

1 = Reset active low

SM47

.1

SM57

.1

Active level control bit for Start**:

0 = Start active high

1 = Start active low

SM37

.2

SM47

.2

SM57

.2

SM147.

2

Counting rate selection for Quadrature

counters:

0 = 4x counting rate

1 = 1x counting rate

SM Control Bits for HSC Parameters

Page 56: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 56

HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 Description

SM37

.3

SM47

.3

SM57

.3

SM137

.3

SM147

.3

SM157

.3

Counting direction

control bit:

0 = count down

1 = count up

SM37

.4

SM47

.4

SM57

.4

SM137

.4

SM147

.4

SM157

.4

Write the counting

direction to the HSC:

0 = no update

1 = update direction

SM37

.5

SM47

.5

SM57

.5

SM137

.5

SM147

.5

SM157

.5

Write the new preset

value to the HSC:

0 = no update

1 = update preset

SM37

.6

SM47

.6

SM57

.6

SM137

.6

SM147

.6

SM157

.6

Write the new current

value to the HSC:

0 = no update

1 = update current

SM37

.7

SM47

.7

SM57

.7

SM137

.7

SM147

.7

SM157

.7

Enable the HSC:

0 = disable the HSC

1 = enable the HSC

Các bit trang thái:

Status Bits for HSC0, HSC1, HSC2, HSC3, HSC4, and HSC5

HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 Description

SM36

.0

SM46

.0

SM56

.0

SM136

.0

SM146

.0

SM156

.0

Not used

SM36

.1

SM46

.1

SM56

.1

SM136

.1

SM146

.0

SM156

.1

Not used

Page 57: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 57

SM36

.2

SM46

.2

SM56

.2

SM136

.2

SM146

.0

SM156

.2

Not used

SM36

.3

SM46

.3

SM56

.3

SM136

.3

SM146

.0

SM156

.3

Not used

SM36

.4

SM46

.4

SM56

.4

SM136

.4

SM146

.0

SM156

.4

Not used

SM36

.5

SM46

.5

SM56

.5

SM136

.5

SM146

.0

SM156

.5

Current counting direction

status bit:

0 = counting down;

1 = counting up

SM36

.6

SM46

.6

SM56

.6

SM136

.6

SM146

.0

SM156

.6

Current value equals preset

value status bit:

0 = not equal;

1 = equal

SM36

.7

SM46

.7

SM56

.7

SM136

.7

SM146

.0

SM156

.7

Current value greater than

preset value status bit:

0 = less than or equal; 1 =

greater than

Ví dụ: Muốn sử dụng HSC0 cho việc đếm xung tốc độ cao, trước hết ta định dạng

Wizard, sau khi định dạng Wizard, chương trình sẽ tạo ra 1 chương trình con,

HSC_INIT, ta phải gọi chương trình này ở chu kì quét đầu tiên

Gọi chương trình HSC ờ chu kỳ quétđầu tiên

Page 58: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 58

Giá trị hiện tại của HSC0 sẽ nằm trong biến HC0

Ngoài ra ta còn có thể định dạng cho HSC với những chế độ ngắt khác nhau như:

Chương trình ngắt sẽ được thực thi khi giá trị HSC bằng với giá trị đặt

Chương trình ngắt sẽ được thực thi khi hướng đếm thay đổi ( thay đổi từ chiều

đếm thuận sang đếm ngược, đếm tăng, đếm giảm)

Chương trình ngắt được thực thi khi Bit Reset được thực thi.

Ứng dụng: Đọc xung tốc độ cao từ Encoder.

Lưu đồ giải thuật chương trình chính:

Định dạng cho HSC ( xem chitiết các Bit ở phần trên)

Load giá trị hiện tại của bộđếm bằng 0

Load giá trị đặt bằng 0

Định dạng chế độ đếm ( Modeđếm)

Cho phép HSC0

Page 59: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 59

Lưu đồ giải thuật HSC:

Sơ đồ kết nối:

START

SMB47 = #0FC

SMD48 = 0

SMD52 = 0

HDEF:HSC =1MODE 9

ENI

CALL HSC

START

Call HSC

AC0 <= HC1

Chuyển AC0 từ số nguyên => thực

Làm tròn AC0 => SMD100 ( xuất lên WinCC)

T37 = 600

RESET HSC

Page 60: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 60

Chương trình chính:

Chương trình con HSC được gọi ngay tại vòng quét đầu tiên của PLC

Page 61: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 61

Dòng lệnh đầu là gán giá trị trong HSC (số xung đọc được) vào thanh ghi AC0,

tiếp theo là đổi số nguyên 32 bit sang số thực.

Câu lệnh thứ 3 là làm tròn số thực trong AC0 sang số DI và gán vào SMD100.

Nạp giá trị ban đầu cho việc update và gọi chương trình HSC, đồng thời nuôi

TIME để reset lại HSC.

Page 62: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 62

I0.2 nút nhấn RESET lại HSC.

Chương trình con HSC

Page 63: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 63

Đây là các dòng lệnh bắt buộc nhập các giá trị vào để có thể đọc được giá trị đưa

vào từ encoder.

Nhập số #FC để chọn chế độ đọc là 1x hay 4x, nhập giá trị 0 vào SMD48, SMD52

là để nạp giá trị hiện tại và đặt cho việc update HSC, nạp giá trị 1 và 9 vào HDEF để

chọn loại HSC và chế độ của nó. Các giá trị như thế nào xem kỹ trong giáo trình

S7200.

Mô phỏng PLC S7-200:

Page 64: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 64

1.Tạo file mộ phỏng:Để mô phỏng PLC S7-200, ta thực hiện việc Export để tạo File mô phỏng:

Tiếp theo đặt tên file mô phỏng:

Chọn Save để kết thúc việc tạo file mô phỏng2.Giới thiếu tổng quát về phần mềm mô phỏng:Các bước mô phỏng bằng phầm mềm S7-200 Simulator:

Page 65: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 65

Để chọn loại PLC mô phỏng: nhấp đôi vào CPU và chọn loại CPU phù hợp

Trường hợp có sử dụng khối mở rộng: nhấp đôi vào các khối mở rộng và chọn khốimở rộng theo yêu cầu, sau đó nhấp chọn Accept:

Trạng thái hoạtđộng PLC

Công tắc ngõInput của PLC

Các khối mởrộng của PLC

Đèn chỉ trạng thái Input PLC

Loại CPUcủa PLC

Đèn trạng thái Output PLC

Page 66: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 66

Sau khi thiết lập khối mở rộng

3.Thực hiện mô phỏng:3.1Load Program: lấy chương trình cần mô phỏngVào Program > Load Program > chọn Accept

Page 67: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 67

Hoặc có thể nhấp vào biểu tượng trên thanh Toolbars

Chọn file cần mô phỏng > chọn open:

Nhấp chọn OK ta thấp có hai chương trình KOP ở dạng Ladder và Program(OB1) ởdạng STL3.2Mô phỏng:

Page 68: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 68

Nhấn nút Run trên thanh Toolbars để chuyển PLC sang trạng thái Run:

Muốn PLC chuyển sạng thái Stop tương tự ta nhấn nút Stop:

Để xem trạng thái các Network ta nhấn vào biểu tượng State program:

Phần 2:

CÁC BÀI TẬP THỰC HÀNH

Page 69: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 69

Tổng quan mô hình

CÁC BÀI TẬP THỰC HÀNH

Bài 1: Đếm sản phẩm trên băng tải.

Page 70: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 70

Nội dung: Dựa vào cảm biến quang trên mô hình đếm số sản phẩm trên băng

tải. Bằng cách cho tín hiệu vào ngõ ra của cảm biến vào ngõ vào của PLC .

1. Lưu đồ chương trình:

2. Sơ đồ kết nối:

Cảm biến quang 3 I0.2

START I0.0

STOP I0.0

3. Chương trình:

VB0 = 0

Cảm biến quang =1

ĐVB0 = VB0 +1

PC <= VB0

Page 71: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 71

4. Giải thích các câu lệnh:

SM0.1 là bit ON ở chu kỳ đầu dùng cài giá trị ban đầu cho VB0=0.

Khi có cạnh lên của cảm biến thì tăng giá trị ô nhớ VB0 lên 1 thông qua lệnh INC

và gởi lên giao diện điều khiển.

Page 72: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 72

Bài 2: Phân loại sản phẩm theo chiều cao.

Nội dung: Dựa vào 2 cảm biến hồng ngoại có trên mô hình ta phân loại các vật

đi qua băng tải theo chiều cao bằng cách nếu chỉ có một cảm biến phát hiện vật thì

cho qua còn cả 2 cảm biến phát hiện vật thì kích PITTONG đẩy vật đó ra.

1. Lưu đồ chương trình:

S

Đ

Đ

Đ

S

S

S

Đ

Đ

START

START=1,STOP=0

Cảm biến 1 =1

Cảm biến 2 =1

M0.1 = 1

T38 =10 (TON)

XILANH =1

T38 >12

T38 = 0

Page 73: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 73

2. Sơ đồ kết nối:

Cảm biến quang 1 I0.3

Cảm biến quang 2 I0.4

Xilanh1 Q0.3

Start I0.0

Stop I0.1

3. Chương trình:

4. Giới thiệu các câu lệnh dùng:

Khi sản phẩm có chiều cao hơn 2 cảm biến thì sẽ dùng PITTONG đẩy sản

phẩm ra nên giá trị vào cần tới 2 tín hiệu cảm biến CAO1, CAO2 và xét mức để set

bit nhớ M0.1.Sau đó dùng M0.1 để nuôi timer ON chờ cho sản phẩm đến PITTONG (

Page 74: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 74

giá trị nuôi timer tùy thuộc vào tốc độ băng tải). Khi đã đầy timer thì PITTONG được

Set để đẩy sản phẩm ra.

Bài 3: Phân loại và đếm số sản phẩm hoàn chỉnh.

Nội dung: Phân loại sản phẩm theo chiều cao,nếu sản phẩm không đạt chiều

cao mong muốn thì loại sản phẩm đó bằng van khí nén đồng thời đếm các sản phẩm

đạt yêu cầu.

1.Sơ đồ kết nối:

Cảm biến I0.3

Xilanh1 Q0.1

Start I0.0

Stop I0.1

2.Chương trình:

Nếu start được nhấn thì

bật M0.0 và M0.0 được

tự giữ cho đến khi stop

được nhấn.

Kiểm tra cảm biến,nếu có

cạnh xuống của cảm biến

thì bật M0.1.

M0.1 nuôi T37 tạo delay

cho vật đến xilanh.

Page 75: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 75

Loại

vật

bằng

van khí

nén.

Đếm vật đạt yêu cầu, đưa số đếm vào VW0

Bài 4: Loại bỏ các sản phẩm có tính kim loại.

Page 76: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 76

Nội dung: Dùng cảm biến từ có trên mô hình ,phân loại các vật đi qua băng tải

là kim loại hay phi kim. Nếu không có tín hiệu từ cảm biến thì cho vật qua còn có tín

hiệu từ cảm biến thì dùng PITTONG đẩy vật đó ra.

1. Lưu đồ chương trình:

2. Sơ đồ kết nối:

Cảm biến từ I0.6

Xilanh1 Q0.4

Start I0.0

Stop I0.1

3. Chương trình:

S

Đ

START

START=1,STOP=0

S

Đ

Cảm biến từ =1

Đ

S

M0.1 = 1

T37 =11 (TON)

XILANH =1

T37 = 0

T37 >13

Page 77: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 77

4. Giải thích các lệnh dùng:

Tương tự như bài tập 2.

Page 78: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 78

Bài 5: Kiểm tra và đếm số sản phẩm không nhiễm kim loại.

Nội dung: Dùng cảm biến kim loại phát hiện sản phẩm có tính kim loại. Đếm

số sản phẩm không nhiễm kim loại và loại các sản phẩm có tính kim loại.

1.Kết nối phàn cứng:

Đếm sản phẩm kim loại: C0

Đếm sản phẩm không có tính kim loại: C1

Cảm biến kim loại: I0.3

Cảm biến quang: I0.4

START: I0.0

STOP: I0.1

2.Chương trình:

Nếu start được nhấn thì bật

M0.0 và M0.0 được tự giữ cho

đến khi stop được nhấn.

Phát hiện sản phẩm có tính kim

loại.

Định thời gian để sp

tới xilanh

Page 79: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 79

Bật xilanh để loại sảnphẩm

Đếm sản phẩmkhông có tính kimloại vào VW4

Bài 6: Kiểm tra mức nước.

Page 80: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 80

Nội dung: Dùng cảm biến dung trên mô hình đo mức nước trong chai. Khi có

tín hiệu từ cảm biến thì dùng pittong đẩy sản phẩm ra khỏi băng tải.

1. Lưu đồ chương trình:

2. Sơ đồ kết nối:

Cảm biến dung I0.5

Xilanh1 Q0.5

Start I0.0

Stop I0.1

3. Chương trình:

S

Đ

S

Đ

Đ

S

START

START=1,STOP=0

Cảm biến dung =1

M0.1 = 1

T37 =7 (TON)

XILANH =1

T37 = 0

T37 >9

Page 81: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 81

4. Giải thích các lệnh dùng:

Tương tự như bài tập 3.

Page 82: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 82

Bài 7: Kiểm tra và đếm số chai đạt yêu cầu.

Nội dung:Dựa vào tín hiệu của cảm biến dung khi có chai đi qua,đếm số chai

đạt yêu cầu

1. Sơ đồ kết nối:

Cảm biến : I0.3

Đếm số chai đạt : C0

Start: I0.0

Stop: I0.1

2.Chương trình:

Khi nhấn Start bậtM0.0, M0.0 tự giữ chođến khi nhấn Stop.

Đếm số chai đạt yêucầu.

Đưa vào VW8.

Bài 8: Đếm xung các encoder.

Page 83: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 83

Nội dung: Dùng tín hiệu từ ngõ ra của encoder đưa vào bộ đếm HSC của PLC

và hiện thị số xung đếm được trên giao diện WinCC.

1. Lưu đồ chương trình:1.1 Main:

1.2 HSC:

2. Các loại ENCODER:2.1 Loại (1000 xung):

START

Call HSC

AC0 <= HC1

Chuyển AC0 từ số nguyên => thực

Làm tròn AC0 => SMD100 ( xuất lên WinCC)

T37 = 600

RESET HSC

START

SMB47 = #0FC

SMD48 = 0, SMD52 = 0

HDEF:HSC =1,MODE 9

ENI

CALL HSC

Page 84: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 84

Sơ đồ dây: + : nâu

- : xanh lục

Kênh A,B : cam, xanh lá cây.

2.2 Loại (400 xung):

Sơ đồ dây:

+ : đỏ.

- : xanh.

Kênh A,B : vàng, trắng.

2.3 Loại (500 xung):

Page 85: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 85

Sơ đồ dây: + : đỏ.

- : đen.

Kênh A,B : vàng, xanh.

Z: trắng.

2.4 Loại 300 xung:

Sơ đồ dây: + : đỏ.

- : đen.

Kênh A,B : trắng, xanh.

Z: vàng.

Page 86: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 86

Sơ đồ dây: + : đỏ.

- : đen.

Kênh A,B : trắng, xanh.

Z: vàng.

Nối vỏ: xám.

3. Sơ đồ kết nối:Kênh A : I0.6

Kênh B : I0.7

Động cơ : Q0.0

4. Chương trình4.1 MAIN:

Gọi chương trình thiết lập cho HSC.

Page 87: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 87

Dòng lệnh đầu tiên là gán giá trị trong HSC (số xung đọc được) vào thanh ghi

AC0, tiếp theo là đổi số nguyên 32 bit sang số thực.

Câu lệnh thứ 3 là làm tròn số thực trong AC0 sang số DI và gán vào SMD100.

Nạp giá trị ban đầu cho việc update và gọi chương trình HSC, đồng thời nuôi

TIME để reset lại HSC.

Page 88: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 88

Tạo nút nhấn RESET lại HSC.

4.2 HSC:

Đây là các lệnh nhập các giá trị dùng để khởi tạo HSC.

Page 89: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 89

Nhập 16#FC để chọn chế độ đọc là 1x, nhập giá trị 0 vào SMD48, SMD52 là để

nạp giá trị hiện tại và đặt cho việc update HSC, nạp giá trị 1 và 9 vào HDEF để chọn

loại HSC và chế độ của nó. Các giá trị xem trong giáo trình S7200.

Bài 9: Đo tốc độ quay từng băng tải (vận tốc).

Nội dung: Đếm số xung phát ra từ encoder trong khoảng thời gian định trước

để tính toán vận tốc và hiển thị tốc độ của động cơ trên giao diện WinCC.

1. Lưu đồ chương trình:

1.1 Main:

1.2 HSC:

S

Đ

Call HSC

AC0 <= HC1

Chuyển AC0 từ số nguyên => thực

Làm tròn AC0 => SMD100 ( SỐ XUNG)

Q0.7 = 1SMD108 = 0

SMD104 = SMD100/100

Làm tròn SMD104 => SMD104 ( SỐ VÒNG/5S)

SMD108 = SMD104 / 6 (SỐ VÒNG/ PHÚT)

T37=50

RESET HSC

START

Page 90: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 90

2. Sơ đồ kết nối:

Kênh A : I0.6

Kênh B : I0.7

Động cơ : Q0.0

3. Chương trình:3.1 MAIN:

START

SMB47 = #0FC

SMD48 = 0

SMD52 = 0

HDEF:HSC =1, MODE 9

ENI

CALL HSC

Page 91: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 91

Page 92: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 92

Page 93: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 93

Số xung encoder đếm được trong khoảng thời gian định trước sẽ được tính toán để

quy đổi ra vận tốc(vòng/phút).

3.2 HSC:

Khai báo dùng HSC 1 hoạt động ở mode 9,chế độ đếm xung encoder hai

pha,không có bit reset và start.

Page 94: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 94

Bài 10: Điều khiển vòng hở băng tải bằng phương pháp PWM.

Nội dung:Dùng modul phát xung có sẵn trong PLC phát xung theo kiểu PWM điều

khiển băng tải.

1.Kết nối phần cứng:

Giảm độ rộng xung: I0.4

Tăng độ rộng xung: I0.3

START: I0.0

STOP: I0.1

2.Chương trình: Main

Reset ngõ ra phát xung ở chu ki đầutiên,gọi chương trình con khai báoPWM.

Gọi chương trình con 1 tăng độ rộngxung khi nhấn I0.3.

Gọi chương trình con 2 giảm độ rộng

xung khi nhấn I0.3.

Page 95: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 95

Chương trình con khởi tạo modul phát xung:

Chương trình con 1:tăng độ rộng xung bằng cách tăng giá trị ô nhớ SMW80

Page 96: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 96

Gọi lại modul phátxung

Chương trình con 2:giảm độ rộng xung bằng cách giảm giá trị ô nhớ SMW80

Bài 11: Điều

khiển tốc động băng tải theo giá trị đặt trước.

Page 97: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 97

Nội dung: Tốc độ đặt được nhập trên giao diện WinCC,dựa vào số xung đọc

được từ encoder,PLC sẽ tính toán PID và đưa ra độ rộng xung nạp vào modul phát

xung Q0.0.

1. Lưu đồ chương trình:MAIN:

HSC:

PID:

START

SMB47 = #0FC

SMD48 = 0, SMD52 = 0

HDEF:HSC =1, MODE 9

ENI

CALL HSC

START

CALL HSCCALL PID

CALL PWMCALL INT

EXIT NGẮT

XUẤT CÁC GIÁ TRỊ OUTPUT:VD24= TỐC ĐỘ ĐẶTVD28= TỐC ĐỘ ĐO

VW32 = ĐỘ RỘNG XUNGVD36 = TỐC ĐỘ TRƯỚC ĐÓ…..

Page 98: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 98

PWM:

INT:

2. Sơ đồ kết nối:Kênh A : I0.6

START

CHUẨN HÓA TỐC ĐỘ ĐẶT.

NẠP CÁC GIÁ TRỊ VÀO BỘ PID

GỌI CHƯƠNG TRÌNH PID.

RET

TÍNH TOÁN TỐC ĐỘ RA DỰA VÀO SỐ XUNG, THỜI GIAN LẤY MẪU..LẤY GIÁ TRỊ XUNG ĐƯA VÀO BỘ PHÁT XUNG RA ĐỘNG CƠ.

CẬP NHẬT CÁC GIÁ TRỊ HIỆN TẠI VÀ TRƯỚC ĐÓ VÀO BỘ ĐIỀUKHIỂN PID.

START

NẠP CÁC GIÁ TRỊ: CHU KÝ XUNG. THỜI GIAN PHÁT MỘT XUNG. Ton

RET

XUẤT XUNG

START

NẠP CÁC GIÁ TRỊ: CHU KÝ XUNG. THỜI GIAN PHÁT MỘT XUNG. Ton

RET

XUẤT XUNG

START

CHUẨN HÓA TỐC ĐỘ ĐẶT.NẠP CÁC GIÁ TRỊ THÔNG SỐ BAN ĐẦU: TỐC ĐỘ THỜI

GIAN LẤY MẪU, Kp, Ki, Kd.XUẤT RA GIÁ TRỊ LÀ XUNG SẼ ĐƯA VÀO ĐIỀU KHIỂN

ĐỘNG CƠ, XUNG TRƯỚC ĐÓ

RET

Page 99: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 99

Kênh B : I0.7

Động cơ : Q0.0

3. Chương trình và giới thiệu các câu lệnh dùng:Khai báo các biến dùng trong chương trình:

a.

3.1 MAIN:

Page 100: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 100

Dùng V48.2 để tạo biến START cho chương trình. Khi có START thì sẽ gọi chương

trình con HSC , PID, PWM, reset ngõ ra Q0.0 ở chu kì đầu tiên và gọi chương trình

ngắt để đưa giá trị xung liên tục vào Q0.0. khi hết ngắt thì gọi lại chương trình HSC

và đưa giá trị ban đầu vào thông số PID.

Page 101: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 101

Đưa giá trị vận tốc đặt vào VD24, chuẩn hóa tốc độ do ra từ 0 = > 1.

Cho phép ngắt timer 0 không cho phép chạy PID và HSC. Tiếp theo gọi chương trình

HSC và đưa vào các giá trị ban đầu cho các thông số PID.

3.2 Chương trình đếm xung ENCODER (HSC):

Page 102: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 102

3.3 Bộ điều khiển (PID):

Page 103: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 103

Cài đặt các thông số ban đầu cho công thức tính toán: tốc độ cài đặt, thời gian lấy mẫu

3.4 Chương trình xuất xung(PWM):

Page 104: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 104

Khai báo thông số PWM: chu ky xung 1000, Ton =0 và thời gian xuất 1 xung mẫu là

16#D3 ứng với 1micros /chu kỳ xuất xung.

Page 105: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 105

3.5 Chương trình ngắt:

Chuẩn hóa tốc độ đặt và cài đặt các thông số và đưa vào ô nhớ sau đó gọi chương

trình PID và sau đó các thông số ngõ ra sẽ được đưa vào các ô nhớ. Để tính toán tốc

độ ra thì từ HC1 là giá trị ENCODER ta chia cho số xung tối đa của ENCODER và

nhân cho thời gian lấy mẫu ta sẽ có được tốc độ thưc tế.

Page 106: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 106

Page 107: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 107

Giá trị ngõ ra của bộ PID sẽ được chuẩn hóa lại và đưa vào thay đổi độ rộng xung ra.4. Thiết lập giao diện và vẽ đồ thị đáp ứng:

4.1 Tạo các biến:

Bảng địa chỉ của các biến :

BIẾN địa chỉ

START1 V48.2

STOP V48.0

DAT VD12

DO VD28

DORONGXUNG VW32

KP VD112

TI VD120

TD VD124

Vào PC ACCESS:

Page 108: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 108

Sau đó đặt tên và địa chỉ:

Cứ thế tiếp tục thiết lập các biến khác như hình:

Page 109: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 109

Sau đó save lại và gán các biến vừa tạo vào WinCC:

Và tiếp tục chọn như hình:

Chọn như hình và nhấn next:

Page 110: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 110

Tiếp tục quét tất cả các biến và chọn Add Items:

Tiếp tục làm theo hình và nhấn Finish:

Page 111: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 111

4.2 Gán biến vào tag logging:

Tiếp theo đặt tên và các giá trị khác như hình:

Page 112: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 112

Tiếp theo:

Tiếp theo chọn next:

Đặt tên và chọn next:

Page 113: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 113

Tiếp theo chọn select:

Và chọn biến cần hiển thị lên đồ thị và nhân OK => finish:

Page 114: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 114

Khi đó sẽ có

Tiếp theo chọn thời gian lấy mẫu:

Page 115: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 115

Và chọn thời gian như hình:

4.3 Thiết lập giao diện:

Trong giao diện để lấy đồ thị thì vào:

Page 116: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 116

Kéo rộng ra và nhấp dúp vào giao diện để cài đặt thông số, nhấp + để thêm giá trị hiển

thị, - để xóa giá trị hiển hiện và đạt tên cho giá trị đó:

Để kết nối với biến thì nhấn vào selection và chọn biến:

Page 117: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 117

Ngoài ra tạo thêm các nút nhấn, các trường I/O để nhập và hiển thị các thông số như

hình:

Để kết nối các trương I/O với biến ta click chuột phải trường đó và chọn:

Và chọn biển tượng hình trong thanh tag:

Page 118: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 118

Và chọn biến kết nối:

Làm tiếp tục với các trường I/O và các biến khác như sau:

+Trường I/O Ki : TI

Page 119: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 119

+Trường I/O Kd : TD

+Trường I/O tốc độ đặt : dat

+Trường I/O tốc độ đo : do

+Trường I/O do rong xung : dorongxung

+Nút nhấn START nối với biến START1, STOP với biến STOP.

5. Một số kết quả mô phỏng:Cài đặt:

Kp : 0.25

Ki : 0.002

Kd : 0.002

Tốc độ : 95

Cài đặt:

Kp : 0.25

Ki : 0.002

Page 120: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 120

Kd : 0.001

Tốc độ : 60

Cài đặt:

Kp : 0.3

Ki : 0.002

Kd : 0.002

Tốc độ : 70

Page 121: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 121

Bài 12: Tổng hợp

Page 122: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 122

Nội dung: Kiểm tra sản phẩm theo các tiêu chuẩn chiều cao,có nhiễm kim loại không

và mức nước trong chai.Nếu sản phẩm cao quá yêu cầu hoặc là bị nhiễm kim loại thì

loại sản phẩm đó.Đếm các sản phẩm đạt 2 tiêu chuẩn trên,sau đó nếu mức nước cao

hơn yêu cầu thì sản phẩm cũng bị loại bỏ.Tốc độ băng tải 1,3 được điều khiển bằng

tay,băng tải 2 điều khiển bằng PID có encoder hỗ trợ.Tạo giao diện giám sát bằng

WinCC.

1. Sơ đồ kết nối:

2. Chương trình:

2.1Chương trình chính:

Page 123: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 123

Gọi các chương trình con khởi tạo HSC,PID và PWM ,reset ngõ ra phát xung ở chu kì đầu tiên.

Page 124: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 124

Đưa tốc độ đo đưa lên WinCC

Đưa giá trị độ rộng

xung lên WinCC.

Page 125: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 125

Page 126: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 126

Page 127: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 127

Page 128: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 128

2.2 Chương trình đọc xung tốc độ cao(HSC):

Page 129: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 129

2.3 Chương trình cài đặt các thông số PID:

Page 130: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 130

2.4 Chương trình phát xung tốc độ cao PWM:

Đưa tốc độ từ PC xuống,chuẩn hóađưa vào tính PID.

Nạp giá trị đặt đã được chuẩn hóa

Cài thời gian lấy mẫu.

Page 131: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 131

2.5 Chương trình ngắt:

Page 132: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 132

Page 133: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 133

3. Chương trình trên WinCC:Giao diện lúc khởi động:

Page 134: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 134

Nút nhấn Start

Nút nhấn mở đồ thị điều khiển tốc độ động cơ dùng PID

Nút nhấn Stop chương trình.

Nút nhấn Close

Giao diện lúc hoạt động:

Page 135: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 135

Đồ thị đáp ứng PID:

Chú thích đồ thị:

Phương pháp kết nối PLC S7-200 với WinCC tương tự các bài trên, kết quả sau khigán biến:

Page 136: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 136

Page 137: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 137

MỤC LỤCPhần 1 .........................................................................................................................................1Giới thiệu mô hình.......................................................................................................................... 2Tập Lệnh Trong S7_200 ................................................................................................................ 3

1. Lệnh về bit............................................................................................................................... 3Bài 1 ......................................................................................................................................... 4Bài 2 ......................................................................................................................................... 4

2. Timer ....................................................................................................................................... 52.1 TON ................................................................................................................................... 62.2 TOF.................................................................................................................................... 72.3 TONR ................................................................................................................................ 8

3.Counter................................................................................................................................... 133.1 Counter Up(đếm lên) ..................................................................................................... 133.2 Counter Down(đếm xuống) ........................................................................................... 143.3 Counter Up/Down (đếm lên/xuống).............................................................................. 16

4. Lệnh MOVE.......................................................................................................................... 194.1 Move_B............................................................................................................................ 204.2 MOVE_W ....................................................................................................................... 204.3 MOVE_DW..................................................................................................................... 204.4 MOVE_R......................................................................................................................... 21

5. Các lệnh về dịch bit .............................................................................................................. 216.Các lệnh số học ...................................................................................................................... 26

6.1 Lệnh cộng trừ ................................................................................................................. 276.2 Lệnh nhân chia ............................................................................................................... 276.3 Lệnh tăng giảm ............................................................................................................... 29

7. Lệnh về đồng hồ thời gian thực RTC ................................................................................. 317.1 Lệnh đọc thời gian thực Read_RTC............................................................................. 317.2 Lệnh Set thời gian thực Set_RTC ................................................................................. 31

8. Lệnh gọi chương trình con .................................................................................................. 319. Các lệnh về ngắt.................................................................................................................... 3610. Xuất xung tốc độ cao .......................................................................................................... 38

10.1 Điều rộng xung 50% (PTO)......................................................................................... 3910.2 Điều rộng xung theo tỉ lệ (PWM) ................................................................................ 44

11. Đọc xung tốc độ cao............................................................................................................ 49Mô phỏng PLC S7-200 ............................................................................................................. 63

1.Tạo file mộ phỏng .............................................................................................................. 642.Giới thiếu tổng quát về phần mềm mô phỏng ................................................................ 643.Thực hiện mô phỏng ......................................................................................................... 66

3.1Load Program.............................................................................................................. 663.2Mô phỏng ..................................................................................................................... 67

Phần 2 ........................................................................................................................................... 68CÁC BÀI TẬP THỰC HÀNH.................................................................................................... 68

Tổng quan mô hình ...................................................................................................................... 69CÁC BÀI TẬP THỰC HÀNH .................................................................................................... 69

Bài 1: Đếm sản phẩm trên băng tải. ....................................................................................... 69Bài 2: Phân loại sản phẩm theo chiều cao. ............................................................................. 72Bài 3: Phân loại và đếm số sản phẩm hoàn chỉnh. ............................................................... 74Bài 4: Loại bỏ các sản phẩm có tính kim loại. ....................................................................... 75Bài 5: Kiểm tra và đếm số sản phẩm không nhiễm kim loại................................................ 78Bài 6: Kiểm tra mức nước. ...................................................................................................... 79

Page 138: Bai Gian PLC

Bản thảo giáo trình thực hành PLC 5 – 2009

Biên soạn: Th.s Trần Văn Trinh 138

Bài 7: Kiểm tra và đếm số chai đạt yêu cầu........................................................................... 82Bài 8: Đếm xung các encoder. ................................................................................................. 82Bài 9: Đo tốc độ quay từng băng tải (vận tốc). ...................................................................... 89Bài 10: Điều khiển vòng hở băng tải bằng phương pháp PWM. ......................................... 94Bài 11: Điều khiển tốc động băng tải theo giá trị đặt trước. ................................................ 96Bài 12: Tổng hợp .................................................................................................................... 122