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ập1như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.
138 trang |
Chia sẻ: tuandn | Lượt xem: 4845 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Bản thảo Giáo trình thực hành PLC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
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
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.
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.
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.
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.
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ễ .
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:
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:
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:
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 gian
T37 là 15s
Đặt thời gian
T38 là 3s
Đặt thời gian
T39 là 25s
Đặt thời gian
T40 là 4s
01
1
1
1
0
0
0
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
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ả:
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)
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:
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.
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:
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:
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:
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
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
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
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.
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.
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:
:
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:
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
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ụ:
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
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ơn
Tươ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.
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ực
T ( 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
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
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
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
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
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:
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:
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
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 Single
1
µs/cycle
Load
16#84 Yes PTO Single
1
µs/cycle
Load
16#85 Yes PTO Single
1
µs/cycle
Load Load
16#89 Yes PTO Single
1
ms/cycle
Load
16#8C Yes PTO Single
1
ms/cycle
Load
16#8D Yes PTO Single 1 Load Load
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 Multiple
1
µs/cycle
16#A8 Yes PTO Multiple
1
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 xung
PTO và cho phép phát xung
Yes
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:
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
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 : Định
dạng xung tốc độ cao ở ngõ ra Q0.0,
Thời gian cơ sở là 1ms/cycle,cho phép
Load 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ép
Load chu kì thời gian mà thôi.
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):
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 Yes
PW
M
Synchronous
1
µs/cycle
Load
16#D2 Yes
PW
M
Synchronous
1
µs/cycle
Load
16#D3 Yes
PW
M
Synchronous
1
µs/cycle
Load Load
16#D9 Yes
PW
M
Synchronous
1
ms/cycle
Load
16#DA Yes
PW
M
Synchronous
1
ms/cycle
Load
16#DB Yes
PW
M
Synchronous
1
ms/cycle
Load 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
Bản thảo g