Professional Documents
Culture Documents
Bài 1 : Lập trình điều khiển đèn giao thông của 2 đoạn đường giao nhau ở 2 chế độ
1. Chế độ tự động với chu kì T=17sec(như sơ đồ bên dưới)
2. Chế độ tự sử (đèn vàng của 2 đường nhấp nháy) với chu kì T=1sec
CV
170
110
90
Đèn xanh 1 ĐV1 Đèn đỏ 1
7sec 7sec 2s 1s
Đường 2
Phân tích:
1. Sử dụng Timer T1 để xét từng khoảng thời gian ứng với khoảng thời gian từng đèn sáng
2. Đường 1 : Q4.0 điều khiển đèn xanh 1
Q4.1 điều khiển đèn vàng 1
Q4.2 điều khiển đèn đỏ 1
3. Đường 2 : Q5.0 điều khiển đèn xanh 2
Q5.1 điều khiển đèn vàng 2
Q5.2 điều khiển đèn đỏ 2
4. Chế độ tự sử : tạo ra xung vuông với chu kì T=1sec => đèn vàng trên cả 2 đường nhấp nháy
OB1:
// Dieu khien duong 2 (tuong tu nhu duong 1. Chi khac trong khoang thoi gian T=17s duoc
chia lam 4 khoang)
L T 1
L 10
>=I
= L 21.0
TAK
L 30
>=I
= L 21.1
TAK
L 100
>=I
= L 21.2
A I 0.0
A(
AN L 21.0 // Neu T1 <= 1s
O L 21.2 // Hoac T1 >= 10s
)
= Q 5.2 // Bat den do 2
A I 0.0
A L 21.0 // Neu T1 >= 1s
AN L 21.1 // Neu T1 < 3s
= Q 5.1 // Bat den vang 2
A I 0.0
AN L 21.2 // Tuong tu
A L 21.1
= Q 5.0 // Bat den xanh 2
A I 0.0
BEC // Ket thuc chuong trinh de quay lai vong quet tiep theo neu I0.0=1
// chỉ khi I0.0=0 thì lệnh tiếp theo sau nó mới được thực hiện
// Chế độ không tự động (đèn vàng nhấp nháy tuần tự với chu kì 1s trên cả 2 làn đường)
A I 0.1 // Kiem tra che do khong tu dong thong qua cong vao I0.1
AN T 2
L W#16#1010 // Nap gia tri thoi gian tre PV=10 (1s)
SD T 2
L T 2
L 5
>=I
= L 21.3
A I 0.1
A L 21.3
= Q 4.1 // Den vang cua duong 1 sang khi T2 >= 5 (tuong ung 0.5s)
A I 0.1
AN L 21.3
= Q 5.1 // Den vang cua duong 2 sang khi T2 <= 5 (tuong ung 0.5s)
Bài 2 : Lập trình đếm số người có trong phòng nhờ 2 cảm biến I0.0 & I0.1 để xác định
người đi ra-đi vào(hai cảm biến được đắt rất gần nhau) . Nếu số người bằng 100 thì thông
báo ra cổng Q3.0. Hiển thị số người trong từng thời điểm thông qua cổng:QB0, QB1, QB2
trong đó: QB0 (hiển thị hàng trăm), QB1(hàng chục), QB2(hàng đơn vị).
OB1:
A I 0.1
FP M 0.0 // Kiem tra suon len cua cam bien I0.1
A I 0.0 // Kiem tra cam bien I0.0
= M 0.2 // Neu co nguoi vao phong thi set M0.2=1
A I 0.0
FP M 0.1 // Kiem tra suon len cua cam bien I0.0
A I 0.1 // Kiem tra cam bien I0.1
= M 0.3 // Neu co nguoi vao phong thi set M0.3=1
A M 0.2 // Co nguoi vao phong thi M0.2=1
CU C 0 // Tang bo dem C0 khi co nguoi di vao phong
A M 0.3 // Co nguoi ra khoi phong thi M0.3=1
CD C 0 // Giam bo dem C0 khi co nguoi di ra khoi phong
LC C 0
T MD 20 // Dung MD20 de luu gia tri cua bo dem C0
AD DW#16#F // Chi lay byte co trong so thap nhat(hang don vi)
T MD 24 // Gia tri cua hang don vi duoc truyen cho MD24
L MD 20 // Tiep tuc xu ly MD20(C0) de nhan duoc hang chuc
SRD 4 // Dich sang phai 4 bit-> de nhan duoc hang chuc
AD DW#16#F // Chi lay byte co trong so thap nhat(hang chuc)
T MD 28 // Gia tri cua hang tram duoc truyen cho MD28
L MD 20 // Tuong tu cho gia tri hang tram
SRD 8
AD DW#16#F
T MD 32 // Gia tri cua hang tram duoc truyen cho MD32
L MD 24 // Load MD24 trong do byte chua gia tri hdv o byte thap nhat ung MB27
L MB 27 // Load gia tri hang don vi
T QB 2 // Dua ra cong QB2
// Kiem tra : so nguoi trong phong bang 100 thi thong bao ra cong Q3.0
L C 0
L 100
= =D // So sanh gia tri C0 voi 100 , Neu C0=100 thi set bit RL0=1
= Q 3.0 // Q3.0=RL0
Nhận xét: Có thể dùng con trỏ để hiển thị số người trong phòng bằng LED ( như
trong bài tập thầy đã chữa, nhưng sẽ phức tạp hơn)
Bài 3: Lập trình điều khiển dòng chữ nhấp nháy theo chu kì. Biết cứ 100 vòng quét thì dòng
chữ tiếp theo được hiển thị. (chữ “điều” ứng với 1 bit ra Q4.7, chữ “khiển” ứng với 1 bit ra
Q4.6, tương tự cho các chữ còn lại)
Giải thích:
1. Bắt đầu chữ “điều” sáng tức là :Q4.7=1, từ Q4.0 đến Q4.6=0
2. Sau 100 vòng quét thì chữ “điều khiển” sáng tức là : Q4.7=Q4.6=1, từ Q4.0 đến Q4.5=0
3. Tương tự như trên sau 100 vòng quét thì chữ “điều khiển tự” sáng
8. Tắt tất cả các chữ “Điều khiển tự động 2 K 46” tức là từ Q4.0 đến Q4.7 =0(cho dòng
chữ “điều khiển tự động 2 K 46” nhấp nháy với chu kì =100 vòng quét
9. Hiện chữ “điều khiển tự động 2 K 46” (Q4.0->Q4.7=1)
1. Điều
2. Điều khiển
3. Điều khiển tự
4. Điều khiển tự động
5. Điều khiển tự động 2
6. Điều khiển tự động 2 K
7. Điều khiển tự động 2 K 46
8. 0 0 0 0 0 0 0( Tắt tất cả các chữ “Điều khiển tự động 2 K 46” )
9. Điều khiển tự động 2 K 46
10. ( Tắt tất cả các chữ )
11. Điều khiển tự động 2 K 46
12. ( Tắt tất cả các chữ )
Phân tích:
1. Sử dụng biến MW0 để đếm số vòng quét. Nếu MW0=100 thì gán lại cho MW0=0
2. Sử dụng biến MB2 để đếm số lần đèn nhấp nháy, sau khi mỗi chữ đã được hiển
thị (đèn sáng) ta tăng biến MB2 lên 1. Tới khi MB2=12 ta lại gán lại cho MB2=0
để tiếp tục chu kì đèn nhấp nháy tiếp theo
3. Sử dụng cổng QB4 để hiển thị dòng chữ. Mỗi chữ tương ứng với 1 bit (Q4.0)
OB100: nạp giá trị khởi tạo 1 lần khi chuyển từ chế độ STOP sang RUN
L 0
T MB2 // Biến đếm số lần đèn nhấp nháy
T MW0 // Biến đếm số vòng quét
OB1:
ac0: L 2#10000000 // Load 10000000 vào ACCU1 dưới dạng số nhi phân
=> Q4.7=1 => hiển thị chữ “điều”
JU m001 // Luon luon nhay toi nhan m001 ma khong cần kiem tra dieu kien
ac1: L 2#11000000 // Hiển thị chữ “điều khiển”
JU m001
ac2: L 2#11100000
JU m001
ac3: L 2#11110000
JU m001
ac4: L 2#11111000
JU m001
ac5: L 2#11111100
JU m001
ac6: L 2#11111110
JU m001
ac7: L 2#11111111
JU m001
ac8: L 2#0
JU m001
ac9: JU ac7
ac10: JU ac8
ac11: JU ac7
ac12: JU ac8
m001: T QB 4
L MW 0
L 1
+I // Tang bien dem so vong quet them 1
T MW 0
L 100
= =I // So sanh: neu MW0=100 thi RLO=1
JC tang // Nhay toi nhan "tang" neu RLO=1
BEU // Ket thuc vong quet ma khong can kiem tra dieu kien
tang: L 0
T MW 0 // Khi MW0=100 thi nap lai MW0=0
L MB 2
L 1
+I // Tang bien dem MB2 them 1
T MB 2
L 12
<=I // So sanh: neu MB2 <= 12 thi RLO=1
BEC // Ket thuc vong quet neu RLO=1
L 0 // Duoc thuc hien khi MB2 > 12
T MB 2 // Nap lai gia tri MB2=0 de quay lai chu ki den nhap nhay tiep theo
Nhận xét : Có thể dùng Timer để thay cho việc đếm 100 vòng quét
Bài 4 : Lập trình điều khiển tay máy của Robot thực hiện việc gắp & nhả vật : bắt đầu từ
điểm A Robot đi xuống vị trí B để gắp vật rồi quay lại A->C->D (tại D, Robot nhả vật rồi
quay lại C->A->B…). Biết thời gian gắp vật là 3sec, thời gian nhả vật là 2sec.
I0.0 6 I0.2
( Vị trí bắt đầu) A C
3
1 2 4 5
I0.1 I0.3
Phân tích:
1. Bít I1.0 : Khởi động động cơ
2. Bít Q4.0 : điều khiển gắp vật (Q4.0=1: gắp vật, Q4.0=0 : nhả vật)
3. Bít Q4.1 : điều khiển Robot đi xuống
4. Bít Q4.2 : điều khiển Robot đi lên
5. Bít Q4.3 : điều khiển Robot rẽ phải
6. Bít Q4.4 : điều khiển Robot rẽ trái
// Dieu khien Robot di xuong (Robot di xuong khi Robot dang o vi tri A(M0.0=1)& Robot
dang khong co vat
// tren tay(Q4.0=0) hoac Robot dang o vi tri C & dang co vat tren tay(Q4.0=1) )
A M 1.0 // Kiem tra Robot dang hoat dong hay khong
A M 0.0 // Kiem tra Robot dang o vi tri A
AN Q 4.0 // Neu Q4.0=0 thi Robot dang khong co vat->di xuong B de lay vat
O(
A M 1.0
A M 0.2 // Kiem tra Robot dang o vi tri C
A Q 4.0 // Robot dang co vat tren tay -> di xuong D de nha vat
)
= Q 4.1 // Dieu khien cho Robot di xuong
// Dieu khien Robot di len (truoc khi di len thi can kiem tra xem da het thoi gian tre cua viec
gap & nha vat)
A M 1.0
A M 0.1 // Kiem tra Robot dang o vi tri B
A T 1 // Neu T1=0 thi RLO=1; (Kiem tra thoi gian gap vat=3s )
O(
A M 1.0
A M 0.3 // Kiem tra Robot dang o vi tri D
A T 2 // Neu T2=0 thi RLO=1; (Kiem tra thoi gian nha vat=2s)
)
= Q 4.2 // Dieu khien cho Robot di len
// Dieu khien Robot re phai( Robot re phai khi dang o vi tri A(M0.0=1) & dang co vat tren tay(Q4.0=1)
A M 1.0
A M 0.0
A Q 4.0
= Q 4.3 // Dieu khien Robot re phai
// Dieu khien Robot re trai ( Robot re trai khi dang o vi tri C(M0.2=1) & dang khong co vat
tren tay(Q4.0=0)
A M 1.0
A M 0.2
AN Q 4.0
= Q 4.4 // Dieu khien Robot re trai
Bài 5 : Bài toán thông báo về tàu hỏa khi đi qua dường ray thông qua 2 cảm biến I0.0 & I0.1
(2 cảm biến được đặt rất gần nhau):
1. Thông báo tàu chạy từ hướng nào
2. Kiểm tra xem tàu đã chạy qua đường ngang chưa(sau 1000 vòng quét)
3. Kiểm tra lỗi cảm biến
Phân tích:
1. Bit Q4.0 : thông báo tàu chạy theo hướng
2. Bit Q4.1 : thông báo tàu chạy theo hướng
3. Bit Q5.0 : thông báo lỗi cảm biến I0.0
4. Bit Q5.1 : thông báo lỗi cảm biến I0.1
5. Bit Q5.2 : thông báo tàu dừng trên đường ngang
6. Biến MW0 : đếm số vòng quét
7. Biến MW2 : đếm số bánh tàu đi qua đường ngang
OB100:
L 0
T MW0
T MW2
OB1:
A I 0.0
FP M 4.0
JC trai
A I 0.1
FP M 4.1
JC phai
A Q 4.0
O Q 4.1
JC dem
A Q 4.0
O Q 4.1
JC dem
BEU
trai: L MW 0
L 1
+I
T MW 0
JU m001
phai: L MW 0
L 1
-I
T MW 0
JU m002
m001: L MW 0 // Kiem tra de thong bao huong tau chay
L 1
==I
= L 20.0
AN Q 4.0
AN Q 4.1
A L 20.0
S Q 4.0 // Tau chay theo huong ->
JU m003
m002: L MW 0
L -1
==I
= L 20.1
AN Q 4.0
AN Q 4.1
A L 20.1
S Q 4.1 // Tau chay theo huong <-
JU m003
TAK
L -2
<=I
S Q 5.0 // Loi cam bien I0.0
BEU
dem: L MW 2
L 1
+I
T MW 2
L 1000
==I
JC ktra
BEU
ktra: L MW 0
L 0
==I
R Q 4.0 // Tau da chay qua
R Q 4.1
NOT
= Q 5.2 // Tau dung tren duong ngang
Bài 6 : Lập trình điều khiển băng tải (trên băng tải có vật)
chạy đi chạy lại từ: A->C->D->B->D->C->A… Người điều khiển có thể ấn nút yêu cầu vật
tới vị trí mong muốn (I8.1, I8.2, I8.3, I8.4).
Phân tích:
1. Các vị trí A,C,D,B được gắn các cảm biến vị trí tương ứng : I8.5 , I8.6 , I8.7 , I8.0
(trong đó I8.0 là cảm biến quang : bình thường có giá tri logic=1, khi có vật có giá
trị logic=0)
2. Các nút ấn yêu cầu tương ứng : I8.1 , I8.2 , I8.3 , I8.4
OB1:
// Kiểm tra vị trí mà người điều khiển muốn vật trên băng tải tới vị trí mong muốn :1 , 2 , 3 , 4
A I 8.1
S M 8.1 //Yeu cau vi tri 1
A I 8.2
S M 8.2 //Yeu cau vi tri 2
A I 8.3
S M 8.3 //Yeu cau vi tri 3
A I 8.4
S M 8.4 //Yeu cau vi tri 4
// Điều khiển băng tải chuyển động từ A->B theo chiều được quy định bởi Q8.5(do người lập
trình lựa chọn)
A M 8.5
A(
A M 8.2
O M 8.3
O M 8.4
)
O(
A M 8.6
A(
A M 8.3
O M 8.4
)
)
O(
A M 8.7
A M 8.4
)
= Q 8.5
// Điều khiển băng tải chuyển động từ B->A theo chiều được quy định bởi Q8.6(do người lập
trình lựa chọn)
A M 8.0
A(
A M 8.1
O M 8.2
O M 8.3
)
O(
A M 8.7
A(
A M 8.1
O M 8.2
)
)
O(
A M 8.6
A M 8.1
)
= Q 8.6
// Reset yêu cầu (tức là: khi vật đã đến được vị trí mong muốn cần phải reset yêu cầu đó đi)
A I 8.5
A M 8.1
R M 8.1
A I 8.6
A M 8.2
R M 8.2
A I 8.7
A M 8.3
R M 8.3
AN I 8.0
A M 8.4
R M 8.4
Nhận xét: Có thể lập trình điều khiển băng tải như trên nhưng tại mỗi vị trí A, B, C,
D vật dừng lại 1sec, rồi tiếp tục chuyển động .
Bài 7 : Lập trình điều khiển 1 tổ hợp máy bơm với 2 chế độ
1. Nếu I0.0=1 thì từng máy bơm hoạt động luân phiên trong khoảng thời gian 1giờ
(nhưng khi mô phỏng là 1sec).( Tại 1 thời điểm chỉ có 1 máy bơm hoạt động)
2. Nếu I0.1=1 thì cứ 2 máy bơm hoạt động luân phiên trong khoảng trong khoảng 2
giờ(trong mô phỏng là 2sec). Tại 1 thời điểm chỉ có 2 máy hoạt động.
OB1: