Tải bản đầy đủ (.pdf) (31 trang)

thiết bị lập trình , chương 9

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (309.24 KB, 31 trang )

8/13/2007
1
Chơng trình con và
chơngTrình xử lý ngắt

Chơng trình con

Chơng trình xử lý ngắt

Chơng trình con

Đặc điểm chơng trình con
)
Thực hiện một nhiệm vụ no đó lặp lại nhiều lần, do
chơng trình chính chủ động gọi.
)
CPU chỉ thực thi những chơng trình con đợc gọi.
)
Một chơng trình con đợc gọi có thể có hoặc
không có tham số truyền.
)
Khi đợc gọi thì ton bộ ngăn xếp đợc lu lại, đỉnh
ngăn xếp có giá trị 1, tất cả các bít còn lại có giá trị
0. Quyền điều khiển trao cho chơng trình con. Khi
chơng trình con kết thúc, ngăn xếp đợc hon
nguyên, quyền điều khiển đợc trả về chơng trình
đã gọi nó.
8/13/2007
2
)
Từ chơng trình chính, ta có thể tạo 8


chơng trình con lồng nhau.
)
PLC cho phép thiết kế chơng trình con đệ
quy.

Gọi chơng trình con kèm tham số
)
Một chơng trình con trong CPU 226, cho
phép truyền vào và ra cùng một lúc 16 tham
số.
)
Địa chỉ các tham số đợc định nghĩa ban
đầu tại bảng biến cục bộ.
)
Mỗi một chơng trình con có một bảng biến
cục bộ.
)
Địa chỉ biến địa phơng: Chơng trình tự
động gán địa chỉ cho các biến cần dùng,
theo nguyên tắc:
Luôn lấy địa chỉ đầu tiên trong bảng
biến để gán cho biến đầu tiên trong bảng
biến.
Tuỳ theo kiểu dữ liệu của biến mà S7-
200 sẽ xác định địa chỉ cho biến.
8/13/2007
3

Một số lu ý trong bảng biến cục bộ
)

Tên biến: Buộc phải có khi chơng trình con
có tham số cần truyền, tên biến dài tối đa
32 kí tự kể cả kí tự trống.
)
Kiểu biến:
Kiểu biến Mô tả
Cho biết tham số này cần truyền vào chơng trình con
Nếu tham số này là địa chỉ trực tiếp, thì giá trị tại địa
chỉ này sẽ đợc truyền vào bên trong chơng trình con.
Nếu tham số này là địa chỉ gián tiếp qua thanh ghi (AC)
thì giá trị đợc chỉ ra trong địa chỉ lu trong thanh ghi
sẽ đợc truyền vào trong chơng trình con.
Nếu tham số là hằng số (16#5C) hoặc địa chỉ (&VB100)
thì hằng số và địa chỉ đợc truyền vào trong chơng
trình con
Cho biết tham số này cần đợc truyền vào và truyền ra
chơng trình con.Giá trị tại địa chỉ chỉ ra trong lệnh gọi
chơng trình con đợc truyền vào, sau khi xử lý, kết
quả đợc trả về chơng trình đã gọi nó tại đúng địa chỉ
cũ. Kiểu biến này không cho phép tham số truyền là
hằng số hoặc địa chỉ.
Giá trị trong chơng trình con đợc trả về tại địa chỉ chỉ
ra trong lệnh gọi chơng trình con. Kiểu biến này không
cho phép tham số truyền là hằng số hoặc địa chỉ.
IN
IN-OUT
OUT

Cú pháp và mối liên hệ với bảng biến cục bộ
)

Cú pháp:
Call Tên chơng trình con, TS1,
TS2,...
Tham số (TS) trong lệnh Call cho biến vùng
biến và kiểu dữ liệu cần truyền.
)
Mốiliênhệv các lu ý:
) Trong bảng biến cục bộ, luôn phải
tuân theo thứ tự kiểu biến nh sau:
IN, IN-OUT, OUT
) Các tham số từ trái qua phải trong lệnh
Call tơng ứng với các biến từ trên xuống
dới của bảng biến cục bộ.
8/13/2007
4
) Các tham số từ trái qua phải trong lệnh
Call tơng ứng với các biến từ trên xuống
dới của bảng biến cục bộ.
) PLC không thực hiện việc chuyển kiểu
dữ liệu tự động.
)
Ví dụ:
Call SBR_0, VD3
Trong bảng biến
LD0 test IN Real
Khi đó giá trị tại địa chỉ LD0 sẽ là kiểu dữ
liệu DW (từ kép)
) Khi chơng trình con đợc gọi, các giá
trị đợc truyền vào thông qua các tham số,
sau đó đợc lu lại tại vùng nhớ địa

phơng. Khi kết thúc chơng trình con, các
giá trị ở vùng nhớ địa phơng đợc gửi ra
chơng trình đ gọi nó, tại địa chỉ đợc chỉ
ra trong lệnh gọi.
8/13/2007
5
Chơng trình xử lý ngắt

Khái niệm về chơng trình xử lý ngắt
)
Sự kiện ngắt:
Làtínhiệubáo ngắt đa đến CPU, để CPU
tạm dừng chơng trình chính và chuyển
sang chơng trình xử lý ngắt. Sự kiện ngắt
xảy ra không báo trớc cho CPU.
Có thể xem chơng trình xử lý ngắt giống
nh một chơng trình con, khi mà CPU
không thể chủ động gọi, mà phải nhờ đến
tín hiệu báo ngắt (sự kiện ngắt) thì đợc gọi
là chơng trình xử lý ngắt.
Với các CPU S7-200 khác nhau thì số lợng
sự kiện ngắt là khác nhau, chúng đợc xác
định thông qua số hiệu ngắt.
)
Bảng sự kiện ngắt
8/13/2007
6
)
Chơng trình xử lý ngắt
Là những đoạn m chơng trình do ngời

dùng soạn ra, nhằm những mục đích cụ thể,
đáp ứng những sự kiện ngắt tơng ứng.
Chơng trình xử lý ngắt trong S7-200 đợc
đánh theo số thứ tự, ví dụ INT0, INT1, v.v.
)
Hoạt động của chơng trình xử lý ngắt
Để CPU thực hiện ngắt, ta cần sử dụng lệnh:
+ ENI: Lệnh cho phép CPU xử lý tất cả
các sự kiện ngắt
Để CPU không thực hiện ngắt ta cần sử dụng
lệnh:
+ DISI: Lệnh vô hiệu hoá các sự kiện ngắt
8/13/2007
7
Khi sự kiện ngắt xảy ra (có tín hiệu báo ngắt)
thì chơng trình xử lý ngắt tơng ứng sẽ đợc
gọi. Khi lệnh cuối cùng trong chơng trình xử
lý ngắt đợc thực thi xong thì quyền điều
khiển đợctrảvềchơng trình chính. Ngoài ra
chơng trình xử lý ngắt có thể đợc kết thúc
sớm nhờ lệnh trở về có điều kiện (CRETI).
Trớc khi chơng trình xử lý ngắt đợc thực
thi, hệ thống sẽ lu lại nội dung ngăn xếp, các
thanh ghi tổng ACC, các bít nhớ đặc biệt.
Gợi ý:
Chơng trình xử lý ngắt tạo ra những
phản ứng nhanh nhạy, kịp thời đáp ứng những
sự kiện ngắt, do đó ta nên viết những chơng
trình xử lý ngắt ngắn gọn, cô đọng.


Các kiểu ngắt trong S7-200
)
Nhóm ngắt truyền thông:
Nhóm có mức u tiên cao, dùng để điều
khiển cổng truyền thông, nhất là trong khi
làm việc với mạng công nghiệp.
)
Nhóm ngắt vo ra:
Nhóm ngắt có mức u tiên trung bình,
nhóm ngắt này gồm có những ngắt liên
quan đến:
Ngắt theo sờn lên và sờn xuống (I0.0; I0.1; I0.2;
I0.3)
Ngắt bộ đếm tốc độ cao (giá trị đếm vợt quá giá trị
đặt, theo hớng đếm)
Ngắt chuỗi xung (thờng dùng trong điều khiển động
cơ bớc)
8/13/2007
8
)
Nhóm ngắt timer:
Nhóm có mức u tiên thấp
Dùng để định thời:
+ Bộ định thời 0, giá trị đếm lu trong ô
nhớ SMB34
+ Bộ định thời 1, giá trị đếm lu trong ô
nhớ SMB35
Xác định thời điểm báo ngắt:
Qua hai bộ timer T32/T96, ngắt xảy ra khi
giá trị đếm hiện tại bằng giá trị đặt. (CT = PT)


Ưu tiên ngắt và hàng đợi ngắt
)
Xảy ra khi có nhiều tín hiệu báo ngắt đến cùng
một lúc. Lúc này CPU S7-200 thực hiện u tiên
những ngắt thuộc nhóm u tiên cao trớc, sau
đó đến nhóm u tiên trung bình và cuối
cùng đến nhóm u tiên thấp.
Khi các ngắt đến cùng từ một nhóm u tiên
thì CPU thực hiện theo nguyên tắc đến
trớc phục vụ trớc. Tại một thời điểm chỉ
có một chơng trình xử lý ngắt đợc thực
hiện và do vậy các ngắt khác phải ở trong
hàng đợi
Trờng hợp hàng đợi bị tràn, CPU sẽ set
một bít đặc biệt lên 1.
8/13/2007
9
Tuy nhiên bit này sẽ tự động xoá về 0 khi,
hàng đợi rỗng và khi quay về chơng trình
chính.
ứng dụng mạng SFC
1/ Mở máy động cơ một chiều 3 cấp R
f
2/ Bài toán cánh tay máy trờng hợp 1
3/ Bài toán cách tay máy trờng hợp 3
4/ Bài toán điều khiển khoan cần
5/ Bài toán cánh tay máy trờng hợp 2
6/ Bài toán điều khiển máy ép
7/ Bài toán điều khiển máy đùn nhựa bọc cáp

Mở máy động cơ
một chiều 3 cấp R
f

Sơ đồ nguyên lý
hoạt động nh sau:

Lựa chọn trang bị
điện:
Ap
Rm
1G
2G 3G
Dg
Rtt
Dg
M
D
Rtt
Rm
Dg
1Rth
1Rth
1G
1G
2Rth
2G
3Rth
2Rth
2G

3Rth
3G
M: Nút ấn khởi động ĐC 1 chiều
D: Nút ấn dừng ĐC 1 chiều
R
m
: Rơle dòng cực đại
R
TT
: Rơle dòng bảo vệ kích từ
8/13/2007
10
)
Dg: C«ng t¾c t¬ chÝnh
)
1G: C«ng t¾c t¬ ng¾n m¹ch ®iÖn trë cÊp 1.
)
2G: C«ng t¾c t¬ ng¾n m¹ch ®iÖn trë cÊp 2.
)
3G: C«ng t¾c t¬ ng¾n m¹ch ®iÖn trë cÊp 3.
)
1R
th
, 2R
th
, 3R
th
: C¸c r¬le thêi gian.

M¹ng SFC

)
M¹ng SFC cho phÇn thao t¸c
8/13/2007
11
)
Mạng SFC
cho phần
điều khiển

Cấu hình đầu vào đầu ra
)
Đầu vo:
Nút nhấn mở máy (NO) M: I0.0
Nút nhấn dừng máy (NC) D: I0.1
Tiếp điểm relay quá dòng điện (NC) R
m
: I0.2
Tiếp điểm relay bảo vệ kích từ (NO) R
TT
: I0.3
)
Đầu ra:
Công tắc tơ chính Dg: Q0.0
Cuộn hút đóng công tắc tơ cấp R
1
1G: Q0.1
Cuộn hút đóng công tắc tơ cấp R
2
2G: Q0.2
Cuộn hút đóng công tắc tơ cấp R

3
3G: Q0.3
8/13/2007
12

Nèi d©y PLC CPU 226 AC/DC/RLY
)
M¹ng SFC
cho ®Çu
vµo, ®Çu ra
PLC

×