II.GIỚI THIỆU CÔNG NGHỆ CỦA ĐỀ TÀI:Trong phạm vi đề tài này, em thiết kế chương trình điều khiển đèn giao thông ở ngã tư.+ Hệ thống đèn điều khiển các phương tiện lưu thông trên đường..
Trang 1THIẾT KẾ HỆ THỐNG ĐÈN GIAO THÔNG TẠI NGÃ TƯ
Trang 2
Đề tài : ĐIỀU KHIỂN ĐÈN GIAO THÔNG Ở NGÃ TƯ.
Chương I : YÊU CẦU CÔNG NGHỆ
I.TỔNG QUAN VỀ ĐỀ TÀI:
Ngày nay cùng với sự phát triển kinh tế, việc đô thị hoá cũng đang gia tăng nhanh chóng Dẫn đến lượng phương tiện lưu thông trong các đô thị cũng tăng theo
Do đó vấn đề đảm bảo giao thông trong các đô thị , đặc biệt tại các nút giao thông diễn ra thông suốt là rất quan trọng
Để việc đi lại tại các nút giao thông được thông suốt và thuận lợi thì chúng ta có thể nhờ đến sự giúp đỡ của lực lượng Cảnh sát giao thông và các lực lượng khác
Tuy nhiên, với các đô thị lớn có số nút giao thông nhiều thì khó có có đủ lực lượng để đảm nhiệm công việc này Mặt khác việc nhờ đến sự giúp đỡ của Cảnh sát giao thông và các lực lượng khác cũng khó khăn và tốn kém
Ngày nay cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật con người đã biết ứng dụng những thành tựu khoa học kỹ thuật vào trong đời sống
Đèn giao thông là một trong những thành tựu đó Đèn giao thông là một hệ thống đèn tín hiệu hướng dẫn các phương tiện và con người tham gia giao thông tại các nút
Đèn giao thông ra đời từ rất lâu và đã chứng tỏ cho con người thấy rằng việc sử dụng đèn giao thông là không thể thiếu trong thời đại ngày nay
Việc điều khiển đèn giao thông có rất nhiều cách, có thể dùng vi điều khiển, dùng PLC
Sử dụng PLC trong điều khiển đèn giao thông có ưu điểm:
+ Làm việc chắc chắn, liên tục và có tuổi thọ cao
+ Có thể làm việc trong nhiều điều kiện khác nhau
+ Huấn luyện người sử dụng đơn giản
Trang 3II.GIỚI THIỆU CÔNG NGHỆ CỦA ĐỀ TÀI:
Trong phạm vi đề tài này, em thiết kế chương trình điều khiển đèn giao thông ở ngã tư.+ Hệ thống đèn điều khiển các phương tiện lưu thông trên đường
+ Chế độ điều khiển bằng tay
Sơ đồ mô phỏng cách bố trí đèn tại các nút:
X BC
V BC
Đ BC
Trang 4+Chế độ này làm việc vào giờ lưu lượng người tham gia giao thông trên đường với mật
5s Đèn X BC , Đ AC sáng lên.
Đèn V BC , Đ AC sáng
lên 25s
Trang 5Chế độ này sử dụng vào giờ cao điểm khi lưu lương người tham gia lưu thông trên đường lớn Khi ấy nếu để làm việc ở chế độ tự động thì có thể gây ách tắc giao thông và có thể
để lại những hậu quả nặng nề về kinh tế
+ Chế độ này sử dụng 2 nút ấn là N1, N2, N4 Trong đó N4 chọn chế độ điều khiển bằng tay
- Khi ấn nút N1 thì các đèn (XAC,ĐBC) sáng lên Cho phép các phương tiện theo tuyến A lưu thông
Chỉ khi nào ấn N2 thì các đèn (XAC,ĐBC) mới tắt
- Khi ấn nút N2 thì các đèn (XBC,ĐAC) sáng lên Cho phép các phương tiện theo tuyến B lưu thông
Chỉ khi nào ấn N1 thì các đèn (XBC,ĐAC) mới tắt
CHƯƠNG II : GIỚI THIỆU VỀ PLC S7_200.
SVTH: VÕ ĐÌNH BÌNH Trang 5
Trang 6-I.CẤU HÌNH PHẦN CỨNG:
PLC, viết tắt của Programmable Logic Control, là thiết bị điều khiển logic lập trình được, cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình
S7-200 là thiết bị của hãng Simens, cấu trúc theo kiểu modul và có các modul mở rộng.Thành phần cơ bản của S7-200 là khối vi xử lý CPU212 và CPU214
1.Cấu trúc của CPU212 gồm:
+ 512 từ đơn (word) để lưu chương trình thuộc miền bộ nhớ đọc/ghi được và không bị mất dữ liệu nhờ có giao diện với EEPROM Vùng nhớ này gọi là vùng nhớ non-volatile.+ 512 từ đơn để lưu dữ liệu, trong đó có 100 từ nhớ đọc/ghi thuộc miền non-volatile.+ 8 cổng vào logic và 6 cổng ra logic, và có thể ghép nối thêm 2 modul để mở rộng số cổng vào ra
+ Tổng số cổng vào ra cực đại là 64 cổng vào và 64 cổng ra
+ 64 bộ tạo thời gian trễ, trong đó có 2 Timer có độ phân giải 1 ms, 6 Timer có độ phân giải 10 ms và 54 Timer có độ phân giải là 100 ms
+ 64 bộ đếm (Counter) chia làm 2 loại, một loại chỉ đếm tiến (CTU) và một loại vừa đếm tiến vừa đếm lùi (CTUD)
+ 368 bit nhớ đặc biệt dùng làm các bit trạng thái hoặc các bit đặt chế độ làm việc
+ Có các chế độ ngắt: ngắt truyền thông, ngắt theo sườn xung, ngắt theo thời gian và ngắt báo hiệu của bộ đếm tốc độ cao (2kHz)
Dữ liệu không bị mất trong khoảng thời gian 50 giờ kể từ khi PLC bị mất điện
Trang 72.Cấu trúc của CPU214 gồm:
+ 2018 từ đơn (word) để lưu chương trình thuộc miền bộ nhớ đọc/ghi được và không bịmất dữ liệu nhờ có giao diện với EEPROM Vùng nhớ này gọi là vùng nhớ non-volatile + 2018 từ đơn để lưu dữ liệu, trong đó có 512 từ nhớ đầu đọc/ghi thuộc miền non-
volatile
+ 14 cổng vào logic và 10 cổng ra logic, và có thể ghép nối thêm 7 modul để mở rộng số cổng vào ra
+ Tổng số cổng vào ra cực đại là 64 cổng vào và 64 cổng ra
+ 128 bộ tạo thời gian trễ, trong đó có 4 Timer có độ phân giải 1 ms,16 Timer có độ phân giải 10 ms và 108 Timer có độ phân giải là 100 ms
+ 128 bộ đếm (Counter) chia làm 2 loại, một loại chỉ đếm tiến (CTU) và một loại vừa đếm tiến vừa đếm lùi (CTUD)
+ 688 bit nhớ đặc biệt dùng làm các bit trạng thái hoặc các bit đặt chế độ làm việc
+ Có các chế độ ngắt: ngắt truyền thông, ngắt theo sườn xung, ngắt theo thời gian và ngắt báo hiệu của bộ đếm tốc độ cao (2kHz) và (7kHz)
+ 2 bộ phát xung cho dãy xung kiểu PTO hoặc kiểu PWM
+ 2 bộ điều chỉnh tương tự
Dữ liệu không bị mất trong khoảng thời gian 190 giờ kể từ khi PLC bị mất điện
3.Mô tả các đèn báo trên S7-200:
- Đèn đỏ SF: đèn sáng khi PLC đang làm việc báo hiệu hệ thống bị hỏng hóc
- Đèn xanh RUN: đèn xanh sáng chỉ định PLC đang ở chế độ làm việc
- Đèn vàng STOP: đèn sáng thông báo PLC đang ở trạng thái dừng Dừng tất cả chương trình đang thực hiện
- Đèn xanh Ix.x: đèn sá ng báo hiệu trạng thái của tín hiệu theo giá trị của cổng
- Đèn xanh Qx.x: đèn sáng báo hiệu trạng thái của tín hiệu theo giá trị logic của cổng
4.Cổng truyền thông:
SVTH: VÕ ĐÌNH BÌNH Trang 7
Trang 8-S7-200 sử dụng cổng truyền thông nối tiếp RS185 với 9 phích cắm.
- Chân 1: nối đất
- Chân 2: nối nguồn 24VDC
-Chân 3: truyền và nhận dữ liệu
- Chân 4: không sử dụng
- Chân 5: đất
- Chân 6: nối nguồn 5VDC 5 4 3 2 1
- Chân 7: nối nguồn 24VDC
- Chân 8: Truyền và nhận dữ liệu 9 8 7 6
- Vùng chương trình:là miền bộ nhớ được sử dụng để lưu giữ các lệnh chương trình
.Vùng này thuộc kiểu non-volatile
- Vùng tham số: là miền lưu giữ các tham số như: từ khoá, địa chỉ trạm…Nó thuộc kiểu
non-volatile
- Vùng dữ liệu: là miền nhớ động, có thể truy cập theo từng bit, từng byte, từng từ đơn và
từ kép Được dùng để lưu trữ các thuật toán, các hàm truyền thông, lập bảng , các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ
Vùng dữ liệu được chia thành nhiều miền nhớ nhỏ với các chức năng khác nhau
Trang 9* V Variable memory
* I Input image register
* O Output image register
* M Internal memory bits
* SM Special memory bits
Trang 10+ Vùng đối tượng: được sử dụng để lưu trữ cho các đối tượng lập trình như các giá trị
tức thời, giá trị đặt trước của bộ đếm, hay Timer Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer, bộ đếm, các bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các thanh ghi Accumulator(AC)
Vùng đối tượng cũng được phân ra thành nhiều vùng nhỏ
2.Thực hiện chương trình trong PLC S7-200:
15 …… …… 0 CPU212
T0(word) : T63
bit T0
T63
Timer
(đọc/ghi)
C0(word) : C63
C0
C63 AW0(word)
: AW30
T0(word) : T127
bit T0
T127 C0(word)
: C127
C0
C127 AW0(word)
: AW30 AQW0(word)
Trang 11PLC thực hiện chương trình theo chu trình lặp Mỗi chu trình được gọi là một vòng quét (scan) Mỗi vòng quét bắt đầu từ giai đoạn đọc dữ liệu từ các cổng vào vùng đệm ảo, tiếp theo là giai đoạn thực hiện chương trình.
Trong vòng quét chương trình được thực hiện bằng lệnh đầu tiên và kết thúc bằng lệnh kết thúc (MEND)
Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm lỗi Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung từ bộ đệm ảo tới các cổng ra
1.Nhập dữ liệu từ ngoại vi vào bộ đệm ảo
4.Chuyển dữ liệu từ bộ 2.Thực hiện
đệm ảo ra ngoại vi
chương trình
3.Truyền thông nội bộ và kiểm lỗi
+ Trong quá trình thực hiện chương trình nếu gặp lệnh vào ra ngay lập tức thì hệ thống sẽ dừng tất cả mọi công việc đang thực hiện, ngay cả chương trình xử lý ngắt để thực hiện lệnh này một cách trực tiếp với cổng vào ra
+ Các chương trình xử lý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt và có thể xảy ra ở bất cứ điểm nào trong vòng quét
3.Cấu trúc chưong trình trong PLC S7-200 :
Các chương trình trong PLC S7-200 có cấu trúc bao gồm chương trình chính (main
program) và sau đó đến các chương trình con và các chương trình xử lý ngắt
+ Chương trình chính được kết thúc bằng lệnh kết thúc chương trình MEND
SVTH: VÕ ĐÌNH BÌNH Trang 11
Trang 12-+ Chương trình con là một bộ phận của chương trình chính và được viết sau lệnh kết thúc chương trình chính.
+ Chương trình xử lý ngắt là một bộ phận của chương trình chính Nếu cần sử dụng thì chương trình xử lý ngắt phải viết sau lệnh kết thúc chương trình chính
Thực hiện trong một vòng quét
Thực hiện khi chương trình chính gọi
Thực hiện khicó tín hiệu báo ngắt
4.Ngôn ngữ lập trình của S7-200:
Main program
.MEND
SBR 0 Chương trình con thứ nhất
.RET
SBR Chương trình con thứ n
.RETINT 0 chương trình xử lý ngắt thứ nhất
.RET
INT n Chương trình xử lý ngắt n
.
RET
Trang 134.1.Phương pháp lập trình:
S7-200 biểu diễn một mạch logic bằng một dãy các lệnh lập trình
Trong S7-200 có các phương pháp lập trình sau:
+ Phương pháp hình thang (Lader Logic viết tắt LAD)
+ Phương pháp liệt kê (Statement List viết tắt STL)
Các chương trình viết trong LAD thiết bị có thể tự động chuyển sang kiểu STL, ngược lại chương trình viết theo kiểu STL chưa chắc chuyển sang được kiểu LAD
4.1.1 Định nghĩa về LAD:
LAD là ngôn ngữ lập trình đồ hoạ Các thành phần cơ bản dùng trong LAD tương ứng với các thành phần của bảng điều khiển bằng rơle Trong LAD các phần tử cơ bản dùng
để biểu diễn lệnh logic như sau:
+ Tiếp điểm mô tả các tiếp điểm của rơle:
- Tiếp điểm thường mở
- Tiếp điểm thường kín
+ Hộp: biểu tượng cho nhiều hàm khác nhau, nó làm việc khi có dòng điện chạy qua nó.Các hàm được biểu diễn bằng hộp:Timer, Counter và các hàm toán học
+ Cuộn dây , mô tả rơle và được mắc theo chiều dòng điện cung cấp
4.1.2 Định nghĩa về STL:
Phương pháp liệt kê là phương pháp thể hiện chương trình dưới dạng tập hợp các câu lệnh Mọi câu lệnh trong chương trình ,kể cả những lệnh hình thức biến điều một chức năng của PLC
Định nghĩa về ngăn xếp(logic stack)
SVTH: VÕ ĐÌNH BÌNH Trang 13
Trang 14-S0-Bit đầu tiên của ngăn xếp.
S1-Bit thứ hai của ngăn xếp
S2-Bit thứ ba của ngăn xếp
S3-Bit thứ tư của ngăn xếp
S4-Bit thứ năm của ngăn xếp
S5-Bit thứ sáu của ngăn xếp
S6-Bit thứ bảy của ngăn xếp
S7-Bit thứ tám của ngăn xếp
S8-Bit thứ chín của ngăn xếp
Tất cả các thuật toán liên quan đến ngăn xếp chỉ làm việc với bit đầu tiên hoặc bit đầu tiên với bit thứ hai của ngăn xếp
Khi phối hợp hai bit đầu tiên của ngăn xếp,thì ngăn xếp sẽ được kéo lên một bit.
5.Bảng lệnh của PLC S7-200:
Hệ lệnh của PLC S7-200 được chia làm 3 nhóm lệnh:
- Các lệnh khi thực hiện thì làm việc độc lập không phụ thuộc giá trị logic của ngăn xếp
- Các lệnh chỉ thực hiện khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1
- Các nhãn lệnh đánh dấu vị trí trong tập lệnh
Cả phương pháp LAD và STL đều sử dụng ký hiệu 1 để chỉ định việc thực hiện tức thời
*Bảng 1:Các lệnh thực hiện vô điều kiện trong S7-200:
Trang 15A,B<= n1,n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1 nếu giá trị byte n1 không lớn hơn giá trị byte n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
AB n1=n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1 nếu giá trị của hai byte n1 và n2 thoả mãn điều kiện n1=n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
AB >=n1,n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1 nếu nội dung của hai byte n1và n2 thoả mãn điều kiện n1>=n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
AD =n1,n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1 nếu nội dung của hai từ kép n1và n2 thoả mãn điều kiện n1<=n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
AD =n1,n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1nội dung của hai từ kép n1và
SVTH: VÕ ĐÌNH BÌNH Trang 15
Trang 16-n2 thoả mãn điều kiện n1=-n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp.
AD >=n1,n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1 nếu nội dung của hai từ kép n1 và n2 thoả mãn điều kiện n1>=n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
AR =n1,n2
Thực hiện phép tính AND giữa giá trị của bit đầu tiên trong ngăn xếpvới giá trị 1nội dung của hai hai số thực n1và n2 thoả mãn điều kiện n1=n2 Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
*Bảng 2:Các lệnh có điều kiện(chỉ thực hiện khi bit đầu tiên của ngăn xếp bằng 1)
Tên lệnh Mô tả
+D IN1,IN2 Thực hiện phép cộng hai số nguyên kiểu từ kép IN1 và
IN2 Kết quả được ghi lại vào IN2
+I IN1,IN2 Thực hiện phép cộng hai số nguyên kiểu từ IN1 và IN2
Kết quả được ghi lại vào IN2
-D IN1,IN2 Thực hiện phép trừ hai số nguyên kiểu từ kép IN1 và
IN2 Kết quả được ghi lại vào IN2
-I IN1,IN2 Thực hiện phép trừ hai số nguyên kiểu từ IN1 và IN2
Kết quả được ghi lại vào IN2
+R IN1,IN2(5) Thực hiện phép cộng hai số thực (32 bit) IN1 và IN2
Kết quả được ghi lại vào IN2
-R IN1,IN2(5) Thực hiện phép trừ hai số thực (32 bit) IN1 và IN2 Kết
quả được ghi lại vào IN2
*R IN1,IN2(5) Thực hiện phép nhân hai số thực (32 bit) IN1 và IN2
Kết quả được ghi lại vào IN2
/R IN1,IN2 Thực hiện phép chia hai số thực(32 bit) IN1 và IN2
Trang 17Kết quả được ghi lại vào IN2.
ANDD IN1,IN2 Thực hiện toán tử logic AND giữa các giá trị kiểu từ
kép IN1,IN2 Kết quả được ghi lại vào IN2
ANDW IN1,IN2 Thực hiện toán tử logic AND giữa các giá trị kiểu từ
IN1,IN2 Kết quả được ghi lại vào IN2
ATII IN,OUT,LEN
Biến đổi một xâu ký tự kiểu ASCII từ vị trí IN(kiểu byte) với độ dài LEN(kiểu byte) sang mã hexa(cơ số 16) và ghi vào mảng kể từ byte OUT
ATT DATA,TABLE Nối một giá trị kiểu từ DATA(2 byte) vào bảng
TABLE
BCDI IN Biến đổi một giá trị từ mã BCD có độ dài là 2 byte sang
kiểu nguyên Kết quả được ghi vào IN
BMB IN,OUT,N Sao chép một mảng N byte kể từ vị trí IN(byte)vào
mảng có vị trí đầu là OUT(2 byte)
BMW IN,OUT,N
Sao chép một mảng từ (2 byte) vớiđộ dài IN(1 byte) và
vị trí IN(2 byte) vào mảng có vị trí đầu là OUT(kiểu byte)
CALL n(6),(1) Gọi chương trình con được đánh nhãn
CRET (3)(1)(4) Kết thúc chương trình con và trả điều khiển về chương
trình đã gọi nó
CRETI (3)(2)(4) Kết thúc chương trình xử lý ngắt và trả điều khiển về
chương trình chính
DECD IN Giảm giá trị của từ kép IN đi một đơn vị
DECO IN,OUT Giải mã giá trị của 1 byte IN, sau đó gán giá trị 1 vào
bit của từ OUT(2 byte) có chỉ số IN
DECW IN Giảm giá trị của từ IN đi một đơn vị
DISI (1) Vô hiệu hoá tất cả các ngắt
DIV IN1,IN2
Chia số nguyên 16 bit, được xác định là từ thấp của IN2(kiểu từ kép)cho IN1 kiểu từ Kết quả ghi lại vào IN2
DTCII EVENT Vô hiệu hoá một ngắt kiểu EVENT
DTR IN,OUT(5) Chuyển đổi một số nguyên 32 bit IN có dấu sang thành
SVTH: VÕ ĐÌNH BÌNH Trang 17